/* Agenda online — isolado para não alterar o restante do site */
.booking-section{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fbf9fd 100%);padding:6.5rem 0}.booking-section:before{content:"";position:absolute;width:30rem;height:30rem;border-radius:50%;background:radial-gradient(circle,rgba(189,116,255,.11),rgba(189,116,255,0) 68%);right:-10rem;top:-12rem;pointer-events:none}.booking-wrap{width:min(1120px,calc(100% - 2rem));margin:0 auto;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:4.5rem;align-items:start}.booking-copy{position:sticky;top:7rem;padding-top:1.25rem}.booking-kicker{margin:0 0 .8rem;font-size:.75rem;letter-spacing:.2em;font-weight:700;color:#BD74FF}.booking-copy h2{margin:0;color:#111827;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.25rem,4vw,3.65rem);line-height:1.08;letter-spacing:-.025em}.booking-copy>p{margin:1.4rem 0 0;color:#64748b;font-size:1.03rem;line-height:1.8;max-width:32rem}.booking-points{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:.9rem}.booking-points li{display:flex;gap:.85rem;align-items:flex-start;color:#475569;font-size:.92rem;line-height:1.6}.booking-points li:before{content:"";width:.42rem;height:.42rem;margin-top:.48rem;border-radius:50%;background:#BD74FF;box-shadow:0 0 0 4px rgba(189,116,255,.1);flex:none}.booking-whatsapp{display:inline-flex;margin-top:1.8rem;color:#7e22ce;font-size:.86rem;font-weight:700;text-decoration:none;border-bottom:1px solid rgba(126,34,206,.25);padding-bottom:.18rem}.booking-whatsapp:hover{color:#581c87}.booking-card{position:relative;background:#fff;border:1px solid #eee7f5;border-radius:1.65rem;box-shadow:0 20px 70px rgba(30,41,59,.09);min-height:30rem;padding:2rem}.booking-stepbar{display:flex;align-items:center;gap:.55rem;margin-bottom:1.8rem}.booking-stepbar span{width:.48rem;height:.48rem;border-radius:50%;background:#e2e8f0}.booking-stepbar span.active{background:#BD74FF;box-shadow:0 0 0 4px rgba(189,116,255,.1)}.booking-step-title{font-size:.7rem;color:#94a3b8;letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin-left:.35rem}.booking-state[hidden]{display:none!important}.booking-loading{display:flex;min-height:22rem;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#64748b;gap:1rem}.booking-spinner{width:2rem;height:2rem;border:2px solid #eee7f5;border-top-color:#BD74FF;border-radius:50%;animation:bookingSpin .8s linear infinite}@keyframes bookingSpin{to{transform:rotate(360deg)}}.booking-card h3{font-family:Georgia,"Times New Roman",serif;color:#111827;font-size:1.65rem;line-height:1.2;margin:0}.booking-sub{margin:.65rem 0 1.5rem;color:#64748b;font-size:.9rem;line-height:1.65}.booking-price-line{display:flex;justify-content:space-between;gap:1rem;align-items:flex-end;padding:1rem 0 1.25rem;border-bottom:1px solid #f1edf5;margin-bottom:1.3rem}.booking-price-line span{font-size:.75rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.08em}.booking-price-line strong{font-family:Georgia,"Times New Roman",serif;color:#111827;font-size:1.45rem;font-weight:600}.booking-timezone{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .72rem;border-radius:999px;background:#faf7fd;color:#7c3aed;font-size:.72rem;font-weight:700;margin-bottom:1.2rem}.booking-days{display:flex;gap:.55rem;overflow-x:auto;padding:.15rem .1rem .6rem;scrollbar-width:thin}.booking-day{appearance:none;border:1px solid #e7e2ec;background:#fff;border-radius:.9rem;padding:.72rem .86rem;min-width:5.6rem;cursor:pointer;color:#64748b;text-align:left;transition:.18s ease}.booking-day strong{display:block;color:#1e293b;font-size:.83rem;margin-top:.15rem}.booking-day:hover,.booking-day.active{border-color:#BD74FF;background:#fbf7ff;color:#7e22ce;box-shadow:0 4px 16px rgba(189,116,255,.1)}.booking-day.active strong{color:#6b21a8}.booking-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-top:1rem}.booking-slot{appearance:none;border:1px solid #e7e2ec;background:#fff;border-radius:.72rem;padding:.75rem .4rem;color:#334155;font-weight:700;font-size:.86rem;cursor:pointer;transition:.18s ease}.booking-slot:hover,.booking-slot.selected{background:#BD74FF;border-color:#BD74FF;color:#fff;box-shadow:0 8px 22px rgba(189,116,255,.22)}.booking-empty{padding:3rem 1rem;text-align:center;color:#64748b;background:#fafafa;border:1px dashed #e2e8f0;border-radius:1rem;line-height:1.7}.booking-selected{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:#faf7fd;border:1px solid #eee4f7;border-radius:1rem;padding:1rem 1.1rem;margin:0 0 1.3rem}.booking-selected span{font-size:.72rem;color:#8b5aa7;text-transform:uppercase;letter-spacing:.07em}.booking-selected strong{display:block;margin-top:.2rem;color:#1e293b;font-size:.92rem}.booking-change{border:0;background:none;color:#7e22ce;font-weight:700;font-size:.76rem;cursor:pointer;padding:.4rem}.booking-form{display:grid;gap:1rem}.booking-field label{display:block;color:#475569;font-size:.76rem;font-weight:700;margin:0 0 .42rem}.booking-field input{width:100%;box-sizing:border-box;border:1px solid #ddd6e5;border-radius:.72rem;background:#fff;color:#1e293b;font:inherit;font-size:.9rem;padding:.86rem .92rem;outline:none;transition:.16s ease}.booking-field input:focus{border-color:#BD74FF;box-shadow:0 0 0 3px rgba(189,116,255,.1)}.booking-privacy{display:flex;align-items:flex-start;gap:.7rem;color:#64748b;font-size:.76rem;line-height:1.55}.booking-privacy input{margin-top:.2rem;accent-color:#BD74FF}.booking-primary{width:100%;border:0;border-radius:.72rem;background:#BD74FF;color:#fff;padding:.92rem 1rem;font-weight:700;font-size:.88rem;cursor:pointer;box-shadow:0 8px 24px rgba(189,116,255,.18);transition:.18s ease}.booking-primary:hover{background:#a855f7;transform:translateY(-1px)}.booking-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}.booking-secondary{appearance:none;border:1px solid #e2e8f0;background:#fff;color:#64748b;border-radius:.7rem;padding:.7rem .9rem;font-weight:700;font-size:.78rem;cursor:pointer}.booking-error{margin:.9rem 0;padding:.82rem .95rem;border-radius:.75rem;background:#fff1f2;color:#9f1239;border:1px solid #ffe4e6;font-size:.8rem;line-height:1.55}.booking-error:empty{display:none}.booking-security{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem;color:#94a3b8;font-size:.7rem}.booking-security svg{width:.9rem;height:.9rem}.booking-hold{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1rem;padding:.7rem .8rem;border-radius:.75rem;background:#fffbeb;color:#92400e;font-size:.75rem}.booking-hold strong{font-variant-numeric:tabular-nums}.booking-payment-shell{min-height:18rem}.booking-payment-loading{padding:1rem 0;color:#64748b;text-align:center;font-size:.82rem}.booking-payment-loading:empty{display:none}.booking-status-note{text-align:center;color:#64748b;font-size:.8rem;line-height:1.6;margin:1rem 0}.booking-success{text-align:center;padding:1.5rem .4rem}.booking-success-icon{width:4.4rem;height:4.4rem;border-radius:50%;display:grid;place-items:center;margin:0 auto 1.3rem;background:#f5edff;color:#8b5cf6;font-size:2rem}.booking-success h3{font-size:2rem}.booking-success p{color:#64748b;line-height:1.7;font-size:.9rem}.booking-confirm-details{margin:1.5rem 0;text-align:left;background:#faf7fd;border:1px solid #eee4f7;border-radius:1rem;padding:1rem 1.1rem}.booking-confirm-details span{display:block;color:#8b5aa7;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.booking-confirm-details strong{display:block;color:#1e293b;margin-top:.3rem}.booking-meet{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:#BD74FF;color:#fff;border-radius:.72rem;padding:.88rem 1.2rem;font-weight:700;font-size:.85rem}.booking-failed{text-align:center;padding:2rem .5rem}.booking-failed p{color:#64748b;line-height:1.65}.booking-disabled{padding:3rem 1rem;text-align:center}.booking-disabled h3{margin-bottom:.8rem}.booking-disabled p{color:#64748b;line-height:1.7}.booking-disabled a{display:inline-flex;margin-top:1rem;color:#7e22ce;font-weight:700;text-decoration:none}.mp-spinner{display:none!important}
@media(max-width:900px){.booking-section{padding:5rem 0}.booking-wrap{grid-template-columns:1fr;gap:2.2rem}.booking-copy{position:static;padding-top:0}.booking-copy h2{font-size:2.65rem}.booking-copy>p{max-width:none}.booking-points{grid-template-columns:1fr 1fr}.booking-card{padding:1.4rem;border-radius:1.35rem;min-height:27rem}.booking-slots{grid-template-columns:repeat(4,1fr)}}
@media(max-width:640px){.booking-section{padding:4.4rem 0}.booking-wrap{width:min(100% - 1.15rem,1120px);gap:1.7rem}.booking-copy{padding:0 .45rem}.booking-copy h2{font-size:2.25rem}.booking-copy>p{font-size:.95rem;line-height:1.72}.booking-points{grid-template-columns:1fr;gap:.7rem;margin-top:1.4rem}.booking-whatsapp{margin-top:1.3rem}.booking-card{padding:1.05rem;border-radius:1.15rem;box-shadow:0 12px 38px rgba(30,41,59,.08);min-height:26rem}.booking-stepbar{margin-bottom:1.3rem}.booking-card h3{font-size:1.45rem}.booking-price-line{padding:.75rem 0 1rem}.booking-slots{grid-template-columns:repeat(3,1fr);gap:.5rem}.booking-slot{padding:.72rem .3rem}.booking-selected{align-items:flex-start}.booking-form{gap:.85rem}}
@media(prefers-reduced-motion:reduce){.booking-spinner{animation:none}.booking-day,.booking-slot,.booking-primary{transition:none}}
.booking-origin-choice{margin:.2rem 0 1rem;padding:.8rem .9rem;border:1px solid #eee4f7;border-radius:.85rem;background:#fcfaff}.booking-origin-choice label{display:flex;align-items:center;gap:.65rem;color:#475569;font-size:.8rem;font-weight:700;cursor:pointer}.booking-origin-choice input{accent-color:#BD74FF;width:1rem;height:1rem}.booking-abroad-note{margin-top:.45rem;color:#8b5aa7;font-size:.72rem;line-height:1.5}.booking-abroad-note:empty{display:none}

/* V4 — calendário visual + escolha de contratação */
.booking-state-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.booking-next-slot{appearance:none;border:1px solid #eadcf7;background:#faf7fd;color:#7c3aed;border-radius:.72rem;padding:.72rem .9rem;font-size:.72rem;font-weight:800;cursor:pointer;white-space:nowrap}.booking-next-slot:hover{background:#f3e8ff}.booking-calendar-shell{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(220px,.92fr);gap:1rem;margin-top:.35rem}.booking-calendar,.booking-times-panel{border:1px solid #eee7f5;border-radius:1rem;background:#fff;overflow:hidden}.booking-calendar-head{display:grid;grid-template-columns:2.2rem 1fr 2.2rem;align-items:center;padding:.8rem .85rem;border-bottom:1px solid #f2edf6;background:#fcfaff}.booking-calendar-head strong{text-align:center;text-transform:capitalize;color:#1e293b;font-family:Georgia,"Times New Roman",serif;font-size:1rem}.booking-calendar-head button{width:2rem;height:2rem;border:0;border-radius:50%;background:#fff;color:#7c3aed;font-size:1.35rem;cursor:pointer;line-height:1}.booking-calendar-head button:disabled{opacity:.25;cursor:not-allowed}.booking-weekdays,.booking-month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.booking-weekdays{padding:.65rem .55rem .35rem;color:#94a3b8;font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;text-align:center}.booking-month-grid{padding:.35rem .55rem .7rem;gap:.18rem}.booking-cal-blank{aspect-ratio:1}.booking-cal-day{position:relative;appearance:none;border:0;background:transparent;border-radius:.65rem;aspect-ratio:1;display:grid;place-items:center;color:#cbd5e1;font-size:.78rem;font-weight:700;cursor:default}.booking-cal-day.available{color:#334155;background:#faf7fd;cursor:pointer}.booking-cal-day.available:hover{background:#f3e8ff;color:#7e22ce}.booking-cal-day.active{background:#BD74FF!important;color:#fff!important;box-shadow:0 6px 16px rgba(189,116,255,.22)}.booking-cal-day.today:after{content:"";position:absolute;bottom:.28rem;width:.2rem;height:.2rem;border-radius:50%;background:#94a3b8}.booking-cal-day.active:after{background:#fff}.booking-cal-day i{position:absolute;top:.28rem;right:.28rem;width:.25rem;height:.25rem;border-radius:50%;background:#BD74FF}.booking-cal-day.active i{background:#fff}.booking-calendar-empty{grid-column:1/-1;padding:2rem 1rem;text-align:center;color:#94a3b8;font-size:.8rem}.booking-times-panel{padding:1rem}.booking-times-title{display:flex;justify-content:space-between;gap:.8rem;align-items:baseline;padding-bottom:.75rem;border-bottom:1px solid #f2edf6}.booking-times-title span{font-size:.62rem;text-transform:uppercase;letter-spacing:.09em;color:#94a3b8;font-weight:800}.booking-times-title strong{font-size:.75rem;color:#475569;text-transform:capitalize;text-align:right}.booking-times-panel .booking-slots{grid-template-columns:repeat(2,1fr);margin-top:.8rem}.booking-times-panel .booking-empty{grid-column:1/-1;padding:1.7rem .8rem}.booking-plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin:1.1rem 0}.booking-plan-card{appearance:none;text-align:left;border:1px solid #e7e2ec;background:#fff;border-radius:1rem;padding:1.15rem;cursor:pointer;transition:.18s ease;color:#334155}.booking-plan-card span{display:block;color:#7c3aed;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.booking-plan-card strong{display:block;margin:.5rem 0 .4rem;font-family:Georgia,"Times New Roman",serif;font-size:1.45rem;color:#111827}.booking-plan-card small{display:block;color:#64748b;line-height:1.5;font-size:.72rem}.booking-plan-card.featured{background:linear-gradient(180deg,#fff 0%,#fcf9ff 100%)}.booking-plan-card:hover,.booking-plan-card.active{border-color:#BD74FF;box-shadow:0 8px 24px rgba(189,116,255,.12);transform:translateY(-1px)}.booking-plan-card.active{background:#faf5ff}.booking-coupon{margin:1rem 0;padding:1rem;border:1px solid #eee4f7;background:#fcfaff;border-radius:.9rem}.booking-coupon>label{display:block;color:#475569;font-size:.72rem;font-weight:800;margin-bottom:.45rem}.booking-coupon-row{display:grid;grid-template-columns:1fr auto;gap:.5rem}.booking-coupon-row input{min-width:0;border:1px solid #ddd6e5;border-radius:.68rem;padding:.76rem .82rem;font:inherit;font-size:.82rem;text-transform:uppercase;outline:none}.booking-coupon-row input:focus{border-color:#BD74FF;box-shadow:0 0 0 3px rgba(189,116,255,.1)}.booking-coupon-row button{border:0;border-radius:.68rem;background:#1e293b;color:#fff;font-size:.72rem;font-weight:800;padding:0 .95rem;cursor:pointer}.booking-coupon-feedback{margin-top:.5rem;color:#6b7280;font-size:.7rem;line-height:1.5}.booking-coupon-feedback.error{color:#be123c}.booking-quote{display:grid;grid-template-columns:1fr auto;gap:.8rem;align-items:end;margin:1rem 0;padding:1rem 1.05rem;border-radius:.9rem;background:#faf7fd;border:1px solid #eee4f7}.booking-quote span{display:block;color:#8b5aa7;font-size:.65rem;text-transform:uppercase;letter-spacing:.07em}.booking-quote strong{display:block;margin-top:.22rem;color:#1e293b;font-size:.95rem}.booking-quote>div:last-of-type{text-align:right}.booking-quote>div:last-of-type strong{font-family:Georgia,"Times New Roman",serif;font-size:1.35rem}.booking-quote>small{grid-column:1/-1;color:#7c3aed;font-size:.7rem;text-align:right}.booking-primary[data-continue-contact]{margin-top:.2rem}
@media(max-width:760px){.booking-state-head{display:block}.booking-next-slot{margin:.15rem 0 1rem}.booking-calendar-shell{grid-template-columns:1fr}.booking-times-panel .booking-slots{grid-template-columns:repeat(3,1fr)}.booking-plan-grid{grid-template-columns:1fr}.booking-calendar-head strong{font-size:.95rem}}
@media(max-width:420px){.booking-month-grid{gap:.08rem;padding-left:.25rem;padding-right:.25rem}.booking-weekdays{padding-left:.25rem;padding-right:.25rem}.booking-cal-day{font-size:.72rem}.booking-times-panel .booking-slots{grid-template-columns:repeat(2,1fr)}.booking-step-title{font-size:.58rem;letter-spacing:.07em}.booking-coupon-row{grid-template-columns:1fr}.booking-coupon-row button{padding:.72rem}.booking-quote{grid-template-columns:1fr}.booking-quote>div:last-of-type,.booking-quote>small{text-align:left}.booking-quote>small{grid-column:auto}}

/* V5 — agenda em trilho de datas, mais fluida em desktop e mobile */
.booking-date-shell{margin-top:.3rem}.booking-date-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.booking-date-head>div:first-child span{display:block;color:#94a3b8;font-size:.62rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.booking-date-head>div:first-child strong{display:block;margin-top:.18rem;color:#475569;font-size:.82rem;text-transform:capitalize}.booking-date-controls{display:flex;gap:.4rem}.booking-date-controls button{width:2.25rem;height:2.25rem;border-radius:50%;border:1px solid #eadff2;background:#fff;color:#7c3aed;font-size:1.25rem;cursor:pointer;box-shadow:0 5px 16px rgba(99,64,128,.06);transition:.16s ease}.booking-date-controls button:hover{border-color:#BD74FF;background:#faf5ff}.booking-date-rail{display:flex;gap:.7rem;overflow-x:auto;scroll-snap-type:x proximity;padding:.2rem .15rem .85rem;scrollbar-width:thin;overscroll-behavior-inline:contain}.booking-date-card{scroll-snap-align:center;flex:0 0 7.15rem;appearance:none;border:1px solid #e9e2ef;background:#fff;border-radius:1.15rem;padding:.9rem .8rem .8rem;text-align:center;cursor:pointer;color:#64748b;box-shadow:0 6px 18px rgba(30,41,59,.04);transition:.18s ease}.booking-date-card span{display:block;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#8b5aa7}.booking-date-card strong{display:block;margin:.28rem 0 .12rem;font-family:Georgia,"Times New Roman",serif;font-size:1.65rem;line-height:1;color:#1e293b}.booking-date-card small{display:block;font-size:.68rem;text-transform:uppercase;color:#94a3b8}.booking-date-card i{display:block;margin-top:.55rem;font-style:normal;font-size:.61rem;color:#94a3b8}.booking-date-card:hover{transform:translateY(-2px);border-color:#d8b4fe;background:#fdfaff}.booking-date-card.active{border-color:#BD74FF;background:linear-gradient(180deg,#c98cff 0%,#b468f0 100%);box-shadow:0 12px 30px rgba(189,116,255,.24);color:#fff}.booking-date-card.active span,.booking-date-card.active strong,.booking-date-card.active small,.booking-date-card.active i{color:#fff}.booking-rail-empty{width:100%;padding:1.4rem;border:1px dashed #e2e8f0;border-radius:1rem;color:#64748b;text-align:center}.booking-date-shell .booking-times-panel{margin-top:.6rem;padding:1.1rem 1.1rem 1.2rem;border:1px solid #eee7f5;border-radius:1.05rem;background:#fcfbfd}.booking-date-shell .booking-times-panel .booking-slots{grid-template-columns:repeat(4,1fr);gap:.55rem}.booking-date-shell .booking-slot{display:flex;flex-direction:column;gap:.18rem;align-items:center;padding:.8rem .4rem}.booking-date-shell .booking-slot strong{font-size:.9rem}.booking-date-shell .booking-slot span{font-size:.61rem;font-weight:600;color:#94a3b8}.booking-date-shell .booking-slot:hover span{color:#f3e8ff}.booking-followup{padding-top:.75rem;border-top:1px solid #f0ebf4;margin-top:.15rem}.booking-followup span{color:#7c6b89}
@media(max-width:760px){.booking-date-head{align-items:flex-end}.booking-date-card{flex-basis:6.4rem}.booking-date-shell .booking-times-panel .booking-slots{grid-template-columns:repeat(3,1fr)}}
@media(max-width:460px){.booking-date-card{flex-basis:5.85rem;padding:.78rem .55rem}.booking-date-card strong{font-size:1.45rem}.booking-date-controls button{width:2rem;height:2rem}.booking-date-shell .booking-times-panel{padding:.95rem}.booking-date-shell .booking-times-panel .booking-slots{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){.booking-date-card,.booking-date-controls button{transition:none}.booking-date-rail{scroll-behavior:auto}}

/* V7 — identificação de quem será atendido */
.booking-for{border:0;padding:0;margin:0}.booking-for legend{color:#475569;font-size:.76rem;font-weight:800;margin:0 0 .55rem}.booking-for-options{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.booking-for-options label{display:block;cursor:pointer}.booking-for-options input{position:absolute;opacity:0;pointer-events:none}.booking-for-options span{display:flex;align-items:center;justify-content:center;min-height:46px;border:1px solid #e7e2ec;border-radius:.8rem;background:#fff;color:#64748b;font-size:.8rem;font-weight:800;transition:.16s ease}.booking-for-options input:checked+span{border-color:#BD74FF;background:#faf5ff;color:#7e22ce;box-shadow:0 0 0 3px rgba(189,116,255,.08)}.booking-third-party{display:grid;grid-template-columns:1fr 110px;gap:.8rem;padding:1rem;border:1px solid #eee4f7;background:#fcfaff;border-radius:.9rem}.booking-third-party[hidden]{display:none!important}.booking-third-party p{grid-column:1/-1;margin:0;color:#8b7a94;font-size:.68rem;line-height:1.55}.booking-payer-note{margin-top:.15rem;padding-top:.9rem;border-top:1px solid #f0ebf4;color:#7c3aed;font-size:.68rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}@media(max-width:520px){.booking-third-party{grid-template-columns:1fr}.booking-third-party p{grid-column:auto}.booking-for-options{grid-template-columns:1fr 1fr}}

/* V8 — horários mais limpos */
.booking-date-shell .booking-slot{min-height:42px;justify-content:center;padding:.72rem .45rem}.booking-date-shell .booking-slot strong{font-size:.9rem;letter-spacing:.01em}.booking-date-shell .booking-slot span{display:none}


/* V10 — reserva em etapas, estabilidade visual e pagamento reutilizável */
.booking-card{min-height:620px;overflow:hidden}.booking-calendar-only{margin-top:.45rem;border-radius:1.05rem}.booking-calendar-only .booking-month-grid{padding:1rem 1.05rem 1.25rem;gap:.4rem}.booking-calendar-only .booking-weekdays{padding:1rem 1.05rem .25rem}.booking-calendar-only .booking-cal-day{max-width:48px;justify-self:center;width:100%}.booking-step-head{display:flex;align-items:center;gap:.85rem;padding:.15rem 0 1rem}.booking-step-head>div{display:grid;gap:.12rem}.booking-step-head span{font-size:.62rem;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:#94a3b8}.booking-step-head strong{font-size:.9rem;color:#334155;text-transform:capitalize}.booking-back{appearance:none;width:2.2rem;height:2.2rem;border:1px solid #e9e2ef;background:#fff;color:#7c3aed;border-radius:50%;font-size:1.2rem;cursor:pointer;display:grid;place-items:center;transition:.16s ease}.booking-back:hover{background:#faf5ff;border-color:#d8b4fe}.booking-times-only{border:0;background:transparent;padding:0;margin-top:.35rem}.booking-times-only .booking-slots{grid-template-columns:repeat(3,1fr);gap:.7rem}.booking-times-only .booking-slot{min-height:48px;font-size:.9rem;border-radius:.85rem}.booking-failed{padding:2.5rem .4rem;text-align:center}.booking-failed-icon{width:3rem;height:3rem;margin:0 auto 1rem;border-radius:50%;display:grid;place-items:center;background:#fff1f2;color:#be123c;font:800 1.3rem/1 system-ui;border:1px solid #ffe4e6}.booking-failed p{max-width:31rem;margin:.8rem auto 1.3rem;color:#64748b;font-size:.86rem;line-height:1.65}.booking-failed-actions{display:flex;justify-content:center;gap:.65rem;flex-wrap:wrap}.booking-failed-actions .booking-primary{width:auto;min-width:190px}.booking-failed-actions .booking-secondary{min-width:150px}.booking-payment-shell>div:empty{display:none}
@media(max-width:760px){.booking-card{min-height:590px}.booking-calendar-only .booking-month-grid{padding:.8rem .55rem 1rem;gap:.2rem}.booking-calendar-only .booking-weekdays{padding:.8rem .55rem .25rem}.booking-times-only .booking-slots{grid-template-columns:repeat(2,1fr)}.booking-failed-actions{display:grid}.booking-failed-actions .booking-primary,.booking-failed-actions .booking-secondary{width:100%}}

/* V17.2 — checkout com identidade visual, Pix próprio e contenção mobile */
html,body{max-width:100%;overflow-x:hidden}
@supports(overflow:clip){html,body{overflow-x:clip}}
.booking-section,.booking-wrap,.booking-card,.booking-state,.booking-payment-shell,#paymentBrick_mount,#statusScreenBrick_mount{box-sizing:border-box;min-width:0;max-width:100%}
.booking-payment-shell{width:100%;overflow-x:hidden;contain:inline-size}
@supports(overflow:clip){.booking-payment-shell{overflow-x:clip}}
#paymentBrick_mount,#statusScreenBrick_mount,#paymentBrick_mount>div,#statusScreenBrick_mount>div{width:100%;max-width:100%;min-width:0}
#paymentBrick_mount iframe,#statusScreenBrick_mount iframe{display:block;width:100%!important;max-width:100%!important;border:0}
.booking-pix-card{width:min(100%,30rem);margin:1rem auto 0;padding:1.65rem;border:1px solid #eadff2;border-radius:1.25rem;background:linear-gradient(180deg,#fff 0%,#fcf9ff 100%);box-shadow:0 14px 38px rgba(87,50,116,.08);text-align:center;color:#1e293b}
.booking-pix-icon{display:grid;place-items:center;width:3.1rem;height:3.1rem;margin:0 auto .8rem;border-radius:50%;background:#f5edff;color:#8b5cf6;font-size:1.6rem;font-weight:800;transform:rotate(45deg)}
.booking-pix-kicker{margin:0;color:#8b5cf6;font-size:.65rem;font-weight:800;letter-spacing:.12em}
.booking-pix-card h4{margin:.45rem 0 .4rem;font-family:Georgia,"Times New Roman",serif;font-size:1.65rem;font-weight:600;color:#111827}
.booking-pix-intro{max-width:23rem;margin:0 auto 1rem;color:#64748b;font-size:.82rem;line-height:1.55}
.booking-pix-qr{width:12.5rem;height:12.5rem;margin:0 auto 1rem;padding:.65rem;border:1px solid #eee7f5;border-radius:1rem;background:#fff;box-shadow:0 8px 26px rgba(30,41,59,.06)}
.booking-pix-qr img{display:block;width:100%;height:100%;object-fit:contain}
.booking-pix-code{display:grid;gap:.4rem;text-align:left}
.booking-pix-code span{color:#475569;font-size:.7rem;font-weight:800}
.booking-pix-code input{box-sizing:border-box;width:100%;min-width:0;border:1px solid #ddd6e5;border-radius:.72rem;background:#fff;color:#475569;padding:.8rem .85rem;font:500 .76rem/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;outline:none;text-overflow:ellipsis}
.booking-pix-code input:focus{border-color:#BD74FF;box-shadow:0 0 0 3px rgba(189,116,255,.1)}
.booking-pix-copy{width:100%;margin-top:.7rem;border:0;border-radius:.75rem;background:linear-gradient(135deg,#BD74FF,#9b5de5);color:#fff;padding:.9rem 1rem;font-size:.84rem;font-weight:800;cursor:pointer;box-shadow:0 9px 24px rgba(155,93,229,.2);transition:.16s ease}
.booking-pix-copy:hover{background:linear-gradient(135deg,#ad66f4,#8748d0);transform:translateY(-1px)}
.booking-pix-wait{margin:.85rem 0 0;color:#94a3b8;font-size:.7rem;line-height:1.5}
.booking-copy-toast{position:fixed;z-index:99999;left:50%;bottom:calc(1.25rem + env(safe-area-inset-bottom));max-width:min(90vw,28rem);transform:translate(-50%,1rem);padding:.78rem 1rem;border:1px solid rgba(255,255,255,.16);border-radius:.85rem;background:#1e293b;color:#fff;box-shadow:0 18px 45px rgba(15,23,42,.28);font:700 .78rem/1.4 Inter,system-ui,sans-serif;text-align:center;opacity:0;visibility:hidden;pointer-events:none;transition:.2s ease}
.booking-copy-toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}
@media(max-width:640px){
  .booking-wrap{width:calc(100% - 1rem)}
  .booking-card{width:100%;max-width:100%;padding:.95rem;overflow:hidden}
  .booking-selected{min-width:0;padding:.9rem;gap:.65rem}.booking-selected>div{min-width:0}.booking-selected strong{overflow-wrap:anywhere}
  .booking-hold{align-items:flex-start;font-size:.7rem}.booking-hold strong{white-space:nowrap}
  .booking-payment-shell{margin-inline:0}
  .booking-pix-card{padding:1.15rem .9rem;border-radius:1rem}
  .booking-pix-card h4{font-size:1.4rem}.booking-pix-qr{width:11rem;height:11rem}
  .booking-copy-toast{bottom:calc(.8rem + env(safe-area-inset-bottom));font-size:.72rem}
}
@media(prefers-reduced-motion:reduce){.booking-pix-copy,.booking-copy-toast{transition:none}}

/* Opções de pagamento: cartões separados, sem alterar os campos seguros do Brick. */
#paymentBrick_mount :is(div,fieldset):has(> :is(label,[role="radio"]):has(input[type="radio"])){border:0;background:transparent;box-shadow:none}
#paymentBrick_mount :is(label,[role="radio"]):has(input[type="radio"]){
  box-sizing:border-box;
  display:flex;
  align-items:center;
  column-gap:1.1rem;
  width:100%;
  min-height:4.5rem;
  margin-block:.65rem;
  padding:.85rem 1rem;
  border:1px solid #e5e0ec;
  border-radius:1rem;
  background:#fff;
  box-shadow:0 5px 18px rgba(30,41,59,.035);
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
#paymentBrick_mount :is(label,[role="radio"]):has(input[type="radio"]:checked){
  border-color:#bd74ff;
  background:#fdfaff;
  box-shadow:0 0 0 2px rgba(189,116,255,.12),0 8px 22px rgba(30,41,59,.055);
}
#paymentBrick_mount :is(label,[role="radio"]):has(input[type="radio"]):hover{border-color:#cdb6dd}
#paymentBrick_mount :is(label,[role="radio"]):has(input[type="radio"]) input[type="radio"]{flex:none;margin-inline-end:.25rem}
#paymentBrick_mount :is(label,[role="radio"]):has(input[type="radio"]) :is(svg,img){flex:none;margin-inline-end:.8rem}
@media(max-width:640px){
  #paymentBrick_mount :is(label,[role="radio"]):has(input[type="radio"]){column-gap:1.2rem;margin-block:.85rem;padding:1rem .9rem;min-height:5.1rem}
  #paymentBrick_mount :is(label,[role="radio"]):has(input[type="radio"]) :is(svg,img){margin-inline-end:1rem}
}
