/*
 * PROJETO: BARBEARIA GUARARAPES
 * V14 — AGENDAMENTO MASTER NEON
 * Reformulação exclusiva da experiência pública de agendamento.
 */

html:has(.public-booking-page),
body:has(.public-booking-page){background:#02050a!important;color-scheme:dark!important}

.public-booking-page{
  --booking-cyan:#42efff;
  --booking-blue:#258cff;
  --booking-violet:#936dff;
  --booking-gold:#f1c66d;
  --booking-text:#f4f9ff;
  --booking-muted:#91a2b8;
  position:relative!important;
  isolation:isolate!important;
  min-height:100vh!important;
  overflow:hidden!important;
  padding:0 0 34px!important;
  color:var(--booking-text)!important;
  background:
    radial-gradient(circle at 76% 10%,rgba(45,150,255,.16),transparent 28rem),
    radial-gradient(circle at 12% 52%,rgba(145,83,255,.10),transparent 30rem),
    linear-gradient(145deg,#020408 0%,#07101b 52%,#03060b 100%)!important;
}
.public-booking-page:before{
  content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.18;
  background-image:linear-gradient(rgba(74,216,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(74,216,255,.08) 1px,transparent 1px);
  background-size:68px 68px;mask-image:linear-gradient(to bottom,#000,transparent 80%);
}
.public-booking-page:after{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;z-index:50;
  background:linear-gradient(90deg,transparent,var(--booking-cyan),var(--booking-violet),var(--booking-gold),transparent);
  box-shadow:0 0 24px rgba(66,239,255,.55);
}

.public-booking-header{
  width:min(1320px,calc(100% - 40px))!important;min-height:96px!important;margin:0 auto!important;padding:0 8px!important;
  background:rgba(3,8,14,.76)!important;border:0!important;border-bottom:1px solid rgba(83,213,255,.16)!important;
  border-radius:0 0 22px 22px!important;box-shadow:0 18px 50px rgba(0,0,0,.28)!important;
  backdrop-filter:blur(24px) saturate(145%)!important;
}
.public-booking-header .brand-logo{transform:none!important;filter:none!important}
.public-booking-header .brand-logo img,.public-booking-header .brand__mark--guararapes{
  border-radius:15px!important;border:1px solid rgba(66,239,255,.42)!important;
  box-shadow:0 0 0 4px rgba(66,239,255,.05),0 0 28px rgba(48,205,255,.17)!important;
}
.public-booking-header .brand-logo strong,.public-booking-header .brand__text strong{color:#edf7ff!important;letter-spacing:.09em!important}
.public-booking-header .brand-logo span,.public-booking-header .brand__text span{color:var(--booking-cyan)!important;text-shadow:0 0 15px rgba(66,239,255,.35)!important}
.client-access-restricted{
  min-height:42px!important;padding:0 16px!important;border:1px solid rgba(66,239,255,.17)!important;border-radius:12px!important;
  background:rgba(10,22,36,.82)!important;color:#a8b9cc!important;box-shadow:inset 0 1px rgba(255,255,255,.04)!important;
}
.client-access-restricted:hover{color:#fff!important;border-color:rgba(66,239,255,.5)!important;transform:translateY(-2px)!important}

.public-booking-page>.install-app--client-entry{
  position:absolute!important;z-index:30!important;top:116px!important;right:max(28px,calc((100% - 1240px)/2))!important;
  width:auto!important;margin:0!important;padding:0!important;
}
.public-booking-page>.install-app--client-entry .install-app__button{
  min-height:44px!important;padding:0 18px!important;border:1px solid rgba(80,238,255,.34)!important;border-radius:13px!important;
  color:#051017!important;background:linear-gradient(115deg,#63f3ff,#48c9ff 50%,#8c7aff)!important;
  box-shadow:0 12px 30px rgba(34,190,255,.23),0 0 24px rgba(66,239,255,.12)!important;font-size:10px!important;font-weight:950!important;letter-spacing:.08em!important;
}
.public-booking-page>.install-app--client-entry .install-app__button:hover{transform:translateY(-3px)!important;box-shadow:0 18px 38px rgba(34,190,255,.31),0 0 34px rgba(66,239,255,.18)!important}
.public-booking-page>.install-app--client-entry .install-app__button svg{width:17px!important;height:17px!important}

.public-booking-hero{
  position:relative!important;width:min(1240px,calc(100% - 40px))!important;min-height:360px!important;margin:28px auto 20px!important;padding:66px clamp(28px,5vw,70px)!important;
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;overflow:hidden!important;text-align:left!important;
  border:1px solid rgba(77,222,255,.18)!important;border-radius:32px!important;
  background:
    linear-gradient(90deg,rgba(2,6,11,.98) 0%,rgba(3,9,16,.94) 42%,rgba(3,9,16,.34) 72%,rgba(3,9,16,.68) 100%),
    url('/assets/barbearia-guararapes-interior-logo-v16.webp') center/cover no-repeat!important;
  box-shadow:0 34px 90px rgba(0,0,0,.5),0 0 65px rgba(40,189,255,.07),inset 0 1px rgba(255,255,255,.06)!important;
}
.public-booking-hero:before{content:"G";position:absolute;right:5%;bottom:-18%;font:500 300px/1 Georgia,serif;color:rgba(255,255,255,.025);pointer-events:none}
.public-booking-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,var(--booking-cyan),var(--booking-violet),transparent 72%);box-shadow:0 0 20px var(--booking-cyan)}
.public-booking-hero>span{
  position:relative!important;z-index:2!important;display:inline-flex!important;align-items:center!important;gap:9px!important;padding:7px 12px!important;
  border:1px solid rgba(66,239,255,.25)!important;border-radius:999px!important;background:rgba(66,239,255,.055)!important;
  color:var(--booking-cyan)!important;text-shadow:0 0 16px rgba(66,239,255,.35)!important;font-size:9px!important;font-weight:950!important;letter-spacing:.2em!important;
}
.public-booking-hero>span:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--booking-cyan);box-shadow:0 0 12px var(--booking-cyan)}
.public-booking-hero h1{
  position:relative!important;z-index:2!important;max-width:760px!important;margin:20px 0 14px!important;color:#fff!important;
  font-family:Georgia,"Times New Roman",serif!important;font-size:clamp(39px,5.2vw,72px)!important;font-weight:500!important;line-height:.98!important;letter-spacing:-.045em!important;
  text-shadow:0 12px 32px rgba(0,0,0,.42)!important;
}
.public-booking-hero p{position:relative!important;z-index:2!important;max-width:610px!important;margin:0!important;color:#9eafc2!important;font-size:14px!important;line-height:1.7!important}

.public-booking-progress{
  position:sticky!important;top:10px!important;z-index:40!important;width:min(1030px,calc(100% - 40px))!important;margin:0 auto 22px!important;padding:7px!important;
  display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:6px!important;border:1px solid rgba(77,221,255,.17)!important;border-radius:18px!important;
  background:rgba(5,11,19,.88)!important;box-shadow:0 20px 50px rgba(0,0,0,.42),0 0 30px rgba(44,194,255,.055)!important;backdrop-filter:blur(22px) saturate(140%)!important;
}
.public-booking-progress button:first-child{display:none!important}
.public-booking-progress button{min-height:54px!important;border:1px solid transparent!important;border-radius:12px!important;color:#627389!important;background:transparent!important;transition:.2s ease!important}
.public-booking-progress button strong{width:28px!important;height:28px!important;border:1px solid rgba(122,157,185,.25)!important;color:#74869a!important;background:#08111d!important}
.public-booking-progress button span{font-size:9px!important;font-weight:900!important;letter-spacing:.1em!important}
.public-booking-progress button.active{color:#eefaff!important;border-color:rgba(66,239,255,.18)!important;background:linear-gradient(130deg,rgba(48,192,255,.15),rgba(137,84,255,.1))!important;box-shadow:inset 0 1px rgba(255,255,255,.04)!important}
.public-booking-progress button.active strong,.public-booking-progress button.done strong{border-color:transparent!important;color:#041014!important;background:linear-gradient(135deg,var(--booking-cyan),#6ea8ff,var(--booking-violet))!important;box-shadow:0 0 18px rgba(66,239,255,.24)!important}
.public-booking-progress button.done{color:#91a7b8!important}

.public-booking-stage{
  position:relative!important;width:min(1180px,calc(100% - 40px))!important;min-height:390px!important;margin:0 auto!important;padding:clamp(24px,4vw,44px)!important;overflow:hidden!important;
  border:1px solid rgba(75,220,255,.16)!important;border-radius:28px!important;
  background:radial-gradient(circle at 100% 0,rgba(47,151,255,.09),transparent 30%),linear-gradient(145deg,rgba(12,23,38,.95),rgba(5,11,19,.97))!important;
  box-shadow:0 34px 85px rgba(0,0,0,.46),0 0 50px rgba(45,199,255,.06),inset 0 1px rgba(255,255,255,.05)!important;
  backdrop-filter:blur(18px)!important;
}
.public-booking-stage:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.26;background:linear-gradient(115deg,rgba(66,239,255,.06),transparent 32%,transparent 74%,rgba(147,109,255,.055))}
.public-booking-stage>.panel__eyebrow{position:relative!important;color:var(--booking-cyan)!important;font-size:9px!important;font-weight:950!important;letter-spacing:.2em!important;text-shadow:0 0 15px rgba(66,239,255,.28)!important}
.public-booking-stage>h2{position:relative!important;margin:9px 0 6px!important;color:#f5f9ff!important;font-family:Georgia,"Times New Roman",serif!important;font-size:clamp(30px,4vw,48px)!important;font-weight:500!important;letter-spacing:-.035em!important}
.public-booking-lead{position:relative!important;margin:0 0 26px!important;color:#8fa0b4!important;font-size:12px!important}

.public-service-grid{position:relative!important;grid-template-columns:repeat(2,1fr)!important;gap:12px!important;margin-top:24px!important}
.public-service-card{
  min-height:92px!important;padding:15px 17px!important;border:1px solid rgba(83,211,250,.13)!important;border-radius:17px!important;
  color:#eaf5ff!important;background:linear-gradient(145deg,rgba(13,27,44,.9),rgba(7,15,26,.94))!important;
  box-shadow:0 14px 34px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.035)!important;
}
.public-service-card:hover{transform:translateY(-3px)!important;border-color:rgba(66,239,255,.48)!important;background:linear-gradient(145deg,rgba(31,112,147,.2),rgba(71,48,131,.15))!important;box-shadow:0 20px 45px rgba(0,0,0,.33),0 0 26px rgba(66,239,255,.08)!important}
.public-service-card__icon{background:linear-gradient(145deg,rgba(66,239,255,.13),rgba(147,109,255,.11))!important;color:var(--booking-cyan)!important;border:1px solid rgba(66,239,255,.14)!important;box-shadow:0 0 20px rgba(66,239,255,.06)!important}
.public-service-card div strong{color:#f4f9ff!important;font-size:14px!important}.public-service-card div small{color:#8092a8!important}.public-service-card>b{color:var(--booking-gold)!important;font-size:15px!important}.public-service-card>svg{color:var(--booking-cyan)!important}

.public-professional-grid{position:relative!important;gap:14px!important}.public-professional-card{
  border:1px solid rgba(83,211,250,.14)!important;color:#edf7ff!important;background:linear-gradient(155deg,rgba(15,30,48,.94),rgba(6,13,23,.97))!important;
  box-shadow:0 17px 42px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.035)!important;
}
.public-professional-card:hover{transform:translateY(-5px)!important;border-color:rgba(66,239,255,.5)!important;background:linear-gradient(155deg,rgba(28,87,120,.26),rgba(68,45,125,.18))!important;box-shadow:0 24px 55px rgba(0,0,0,.38),0 0 28px rgba(66,239,255,.09)!important}
.public-professional-card .avatar{border-color:rgba(66,239,255,.4)!important;box-shadow:0 0 0 6px rgba(66,239,255,.045),0 0 24px rgba(66,239,255,.1)!important}.public-professional-card small{color:#8091a6!important}.public-professional-card>span{color:var(--booking-cyan)!important}

.public-booking-selection>span,.public-booking-date input,.public-slot-grid button{
  border-color:rgba(83,211,250,.15)!important;background:#07111d!important;color:#dceaf7!important;box-shadow:inset 0 1px rgba(255,255,255,.025)!important;
}
.public-booking-selection svg{color:var(--booking-cyan)!important}.public-booking-date{color:#a9b8c8!important}.public-booking-date input{border-color:rgba(66,239,255,.38)!important;box-shadow:0 14px 30px rgba(0,0,0,.26),0 0 0 3px rgba(66,239,255,.045)!important}.public-booking-date input:focus{border-color:var(--booking-cyan)!important;box-shadow:0 0 0 4px rgba(66,239,255,.1),0 16px 34px rgba(0,0,0,.3)!important}.public-booking-date input::-webkit-calendar-picker-indicator{filter:brightness(0) saturate(100%) invert(88%) sepia(71%) saturate(1641%) hue-rotate(145deg) brightness(102%) contrast(102%)!important}.public-slot-head small{color:#71849b!important}.public-slot-grid button:hover,.public-slot-grid button.selected{border-color:#70f5ff!important;color:#041014!important;background:linear-gradient(120deg,var(--booking-cyan),#5eaaff,var(--booking-violet))!important;box-shadow:0 12px 28px rgba(42,196,255,.18)!important}.public-slot-grid button.selected small{color:#17364b!important}
.public-booking-final-summary{border-color:rgba(66,239,255,.3)!important;background:linear-gradient(120deg,rgba(44,187,242,.13),rgba(128,79,221,.08))!important;box-shadow:0 16px 40px rgba(0,0,0,.25)!important}.public-booking-final-summary small{color:var(--booking-cyan)!important}.public-booking-final-summary span{color:#95a5b7!important}
.public-booking-loading{color:var(--booking-cyan)!important}.public-booking-footer{color:#5f7186!important}.public-booking-footer svg{color:var(--booking-cyan)!important}

@media(max-width:900px){
  .public-booking-page>.install-app--client-entry{position:relative!important;top:auto!important;right:auto!important;width:min(100% - 40px,1240px)!important;margin:16px auto 0!important;display:flex!important;justify-content:flex-end!important}
  .public-booking-hero{min-height:330px!important;margin-top:16px!important;background:linear-gradient(90deg,rgba(2,6,11,.97),rgba(3,9,16,.72)),url('/assets/barbearia-guararapes-interior-logo-v16.webp') center/cover no-repeat!important}
  .public-service-grid{grid-template-columns:1fr!important}
}
@media(max-width:620px){
  .public-booking-header{width:calc(100% - 20px)!important;min-height:72px!important;border-radius:0 0 16px 16px!important}.public-booking-header .brand-logo{transform:scale(.78)!important;transform-origin:left center!important}.client-access-restricted{width:42px!important;padding:0!important;font-size:0!important}.client-access-restricted svg{width:17px!important;height:17px!important}
  .public-booking-page>.install-app--client-entry{width:calc(100% - 20px)!important;justify-content:stretch!important}.public-booking-page>.install-app--client-entry .install-app__button{width:100%!important}
  .public-booking-hero{width:calc(100% - 20px)!important;min-height:290px!important;padding:38px 23px!important;border-radius:24px!important}.public-booking-hero:before{display:none}.public-booking-hero h1{font-size:37px!important}.public-booking-hero p{font-size:12px!important;line-height:1.6!important}
  .public-booking-progress{width:calc(100% - 20px)!important;top:6px!important;gap:3px!important;padding:5px!important;border-radius:15px!important}.public-booking-progress button{min-height:47px!important;padding:4px!important}.public-booking-progress button span{display:none!important}.public-booking-progress button strong{width:26px!important;height:26px!important}
  .public-booking-stage{width:calc(100% - 20px)!important;padding:26px 17px!important;border-radius:22px!important}.public-booking-stage>h2{font-size:31px!important}.public-service-card{grid-template-columns:40px 1fr auto!important;padding:12px!important}.public-service-card>svg{display:none!important}.public-professional-grid{grid-template-columns:1fr 1fr!important;gap:9px!important}.public-professional-card{min-height:202px!important;padding:18px 8px 14px!important}.public-slot-grid{grid-template-columns:repeat(3,1fr)!important}.public-booking-footer{width:calc(100% - 24px)!important}
}
@media(max-width:380px){.public-booking-hero h1{font-size:33px!important}.public-professional-grid{grid-template-columns:1fr!important}.public-slot-grid{grid-template-columns:repeat(2,1fr)!important}}
@media(prefers-reduced-motion:reduce){.public-booking-page *{animation:none!important;transition:none!important}}
