
.public-booking{background:#0b0f12!important;color:#f5f5f5!important;font-family:Inter,system-ui,sans-serif}
.public-booking .f3-sidebar,.public-booking .f3-sidebar-backdrop,.public-booking .f3-topbar,.public-booking .f3-mobile-topbar,.public-booking .page-top,.public-booking footer{display:none!important}
.public-booking .f3-shell,.public-booking .f3-workspace{display:block!important;margin:0!important;width:100%!important;max-width:none!important;background:transparent!important}
.public-booking main{max-width:760px!important;margin:0 auto!important;padding:0 16px 35px!important;background:transparent!important}
.public-booking .booking-page{max-width:660px;margin:0 auto}.public-booking .booking-hero{text-align:center;padding:37px 12px 25px;background:radial-gradient(ellipse at 50% 0,rgba(184,119,43,.18),transparent 65%)}
.public-booking .booking-logo{display:flex;align-items:center;justify-content:center;gap:13px;margin-bottom:35px}.public-booking .booking-logo>i{display:grid;place-items:center;width:55px;height:55px;border:2px solid #dca95c;border-radius:14px;color:#e6b666;font-size:26px}.public-booking .booking-logo strong{display:block;font-size:20px;letter-spacing:2px;color:#f3c985}.public-booking .booking-logo small{display:block;color:#a7a9a9;font-size:10px;letter-spacing:4px;margin-top:3px}
.public-booking .booking-kicker{font-size:11px;color:#d7a257;letter-spacing:2px;font-weight:800}.public-booking .booking-hero h1{color:#fff;font-size:clamp(26px,5vw,36px);margin:12px 0}.public-booking .booking-hero p{color:#b5b7bb;font-size:14px}
.public-booking .booking-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:10px 0 25px}.public-booking .booking-step{text-align:center;position:relative;color:#9299a3}.public-booking .booking-step span{display:grid;place-items:center;border:1px solid #5c6269;border-radius:50%;width:37px;height:37px;margin:0 auto 8px;font-weight:700}.public-booking .booking-step small{font-size:11px}.public-booking .booking-step.active,.public-booking .booking-step.done{color:#efc27e}.public-booking .booking-step.active span{background:linear-gradient(135deg,#f5d18b,#c98b39);color:#18120b;border-color:#e4b56b}.public-booking .booking-step.done span{border-color:#c58b3f}
.public-booking .booking-panel,.public-booking .booking-success{background:#141b20!important;border:1px solid #354047!important;border-radius:21px!important;padding:24px!important;box-shadow:0 15px 40px #0004!important;margin:0!important}.public-booking .booking-panel[hidden]{display:none!important}.public-booking .booking-panel h2{color:#fff;font-size:23px;margin:0 0 6px}.public-booking .booking-panel h2 i{color:#e7b461;margin-right:10px}.public-booking .booking-panel>p{color:#aeb4ba;font-size:13px;margin:0 0 24px}
.public-booking .booking-choices{display:grid;gap:10px}.public-booking .booking-choice{display:flex;align-items:center;gap:13px;text-align:left;width:100%;padding:13px!important;border:1px solid #394249!important;border-radius:14px!important;background:#1b2329!important;color:#f5f5f5!important;cursor:pointer;min-height:75px}.public-booking .booking-choice:hover{border-color:#c9954c!important}.public-booking .booking-choice.selected{border-color:#f3bc65!important;background:#2c2923!important;box-shadow:0 0 0 1px #d6a259 inset}.public-booking .booking-choice-icon{width:45px;height:45px;flex:none;display:grid;place-items:center;border-radius:12px;background:#32302b;color:#e8b366;font-size:23px}.public-booking .booking-choice-name{flex:1;min-width:0}.public-booking .booking-choice-name strong{display:block;font-size:15px}.public-booking .booking-choice-name small{display:block;color:#aeb4ba;margin-top:5px;font-size:12px}.public-booking .booking-choice>b{font-size:15px;white-space:nowrap}.public-booking .booking-radio{color:#9ba5ac}.public-booking .booking-choice.selected .booking-radio{color:#edba6b}
.public-booking .booking-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:26px}.public-booking .book-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:15px 24px!important;background:linear-gradient(120deg,#f5d18c,#d18c33)!important;color:#1b1610!important;border:0!important;border-radius:12px!important;font-weight:800!important;font-size:14px!important;text-decoration:none;cursor:pointer}.public-booking .book-btn:disabled{opacity:.35;cursor:not-allowed}.public-booking .book-back{background:transparent!important;border:1px solid #47515a!important;color:#c5cbd0!important;border-radius:12px!important}
.public-booking .booking-label{display:block;color:#d2d5d8;font-size:13px;font-weight:700;margin:18px 0 10px}.public-booking .booking-label input,.public-booking .booking-fields input{display:block;width:100%;margin-top:8px;background:#20292f;color:#fff;border:1px solid #46515b;border-radius:10px;padding:13px;font-size:15px;color-scheme:dark}.public-booking .booking-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;min-height:75px}.public-booking .booking-slots p{grid-column:1/-1;color:#b1bac1}.public-booking .booking-slot{border:1px solid #4b565e!important;background:#222c32!important;color:#fff!important;padding:12px 5px!important;border-radius:9px!important}.public-booking .booking-slot.selected{border-color:#e7b464!important;background:#57412b!important}.public-booking .booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.public-booking .booking-fields label{color:#d2d5d8;font-size:12px;font-weight:700}.public-booking .booking-summary{background:#242b2d;border:1px solid #4c4b43;border-radius:12px;padding:16px;margin:0 0 24px;color:#e8d1ac;font-size:13px;line-height:1.8}.public-booking .booking-optin{display:flex;align-items:flex-start;gap:10px;color:#bec6cb;font-size:12px;margin-top:20px}.public-booking .booking-optin input{width:18px;flex:none}.public-booking .booking-footnote{text-align:center;color:#9ba6ad;font-size:12px;margin:25px 0}.public-booking .booking-footnote i{color:#e0a65d}.public-booking .booking-success{text-align:center;margin:70px auto!important;max-width:600px}.public-booking .booking-success>i{font-size:56px;color:#6fd3a3}.public-booking .booking-success h1{color:white}.public-booking .booking-success p{color:#c0c5c9}.public-booking .booking-success a{margin-top:20px}
@media(max-width:520px){.public-booking main{padding:0 12px 30px!important}.public-booking .booking-hero{padding-top:25px}.public-booking .booking-logo{margin-bottom:25px}.public-booking .booking-logo strong{font-size:17px}.public-booking .booking-panel{padding:18px!important}.public-booking .booking-fields{grid-template-columns:1fr}.public-booking .booking-slots{grid-template-columns:repeat(3,1fr)}.public-booking .booking-actions{justify-content:stretch}.public-booking .booking-actions .book-btn{flex:1}.public-booking .booking-choice>b{font-size:13px}.public-booking .booking-step small{font-size:10px}}

/* Seleção rápida de datas no agendamento público */
.booking-quick-dates{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;padding:5px 2px 12px;margin-bottom:8px;max-width:100%}
.booking-day-card{flex:0 0 72px;min-height:92px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px solid rgba(184,148,91,.35);border-radius:12px;background:rgba(255,255,255,.04);color:inherit;cursor:pointer;scroll-snap-align:start;touch-action:manipulation}
.booking-day-card strong{font-size:23px;line-height:1.1}.booking-day-week,.booking-day-month{font-size:12px;text-transform:capitalize;opacity:.85}
.booking-day-card.selected{border-color:#c49a57;background:rgba(196,154,87,.18);box-shadow:inset 0 0 0 1px #c49a57}
.booking-day-card:focus-visible{outline:2px solid #c49a57;outline-offset:2px}
@media(max-width:480px){.booking-day-card{flex-basis:66px;min-height:86px}}

/* Fotos opcionais de barbeiros e serviços */
.public-booking .booking-choice-icon{overflow:hidden}
.public-booking .booking-choice-photo{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}
.public-booking .booking-quick-dates{padding-bottom:16px}
.booking-client-status{margin:12px 0;color:#d7c6a0;font-size:14px}.booking-client-status:empty{display:none}#bookingNewClient{margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12)}#bookingNewClient[hidden]{display:none}.booking-consent{display:flex;align-items:center;gap:10px;font-size:13px;margin-top:12px}.booking-consent input{width:18px;height:18px}.booking-service-price.booking-included{color:#a8dfad;font-size:13px;white-space:normal;text-align:right}

.public-booking .booking-progress{grid-template-columns:repeat(5,minmax(0,1fr))}

/* Ajustes do agendamento em quatro etapas */
.public-booking .booking-phone-fields{grid-template-columns:minmax(0,1fr)}
.public-booking .booking-phone-fields label,.public-booking .booking-phone-fields input{width:100%;max-width:none;min-width:0}
.public-booking .booking-consent.booking-optin{display:flex;align-items:center;gap:12px;cursor:pointer;margin-top:18px;font-size:13px;line-height:1.5;color:#d1d6d9}
.public-booking .booking-consent.booking-optin input{appearance:auto;-webkit-appearance:checkbox;display:block;width:18px;height:18px;min-width:18px;flex:0 0 18px;margin:0;accent-color:#dfa343}
.public-booking .booking-final-review{margin-top:22px}.public-booking .booking-final-review[hidden]{display:none}.public-booking .booking-final-review h3{font-size:16px;margin:0 0 10px}

/* Centralização das quatro etapas e interruptor WhatsApp */
.public-booking .booking-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;max-width:540px;margin:10px auto 25px;gap:8px;justify-content:center;align-items:start}
.public-booking .booking-step{min-width:0;text-align:center}
.public-booking .booking-step span{margin-left:auto;margin-right:auto}
.public-booking .booking-consent.booking-whatsapp-switch{display:flex;align-items:center;gap:12px;position:relative;cursor:pointer;margin-top:18px;line-height:1.45}
.public-booking .booking-consent.booking-whatsapp-switch input[type=checkbox]{position:absolute;opacity:0;width:1px;height:1px;min-width:1px;pointer-events:none}
.public-booking .booking-whatsapp-switch .booking-switch-track{display:block;position:relative;flex:0 0 44px;width:44px;height:25px;border:1px solid #66727a;border-radius:999px;background:#39434b;transition:background .2s,border-color .2s}
.public-booking .booking-whatsapp-switch .booking-switch-knob{display:block;position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0005;transition:transform .2s}
.public-booking .booking-whatsapp-switch input:checked + .booking-switch-track{background:#d99d48;border-color:#edb867}
.public-booking .booking-whatsapp-switch input:checked + .booking-switch-track .booking-switch-knob{transform:translateX(19px);background:#181b1d}
.public-booking .booking-whatsapp-switch input:focus-visible + .booking-switch-track{outline:2px solid #f1c579;outline-offset:3px}
.public-booking .booking-whatsapp-switch .booking-switch-text{flex:1;min-width:0;color:#d1d6d9}
@media(max-width:520px){.public-booking .booking-progress{max-width:100%;gap:2px}.public-booking .booking-whatsapp-switch .booking-switch-text{font-size:12px}}

/* Cadastro público: campos equilibrados, leitura clara e boa área de toque */
.public-booking #bookingNewClient{margin-top:22px;padding-top:24px;border-top:1px solid #354047}
.public-booking .booking-register-heading{display:flex;align-items:center;gap:13px;margin-bottom:22px}
.public-booking .booking-register-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid #795c37;border-radius:12px;background:rgba(224,165,84,.09);color:#e9b765;font-size:21px}
.public-booking .booking-register-heading h3{margin:0 0 4px;font-size:19px;color:#fff;line-height:1.25}
.public-booking .booking-register-heading p{margin:0;color:#aeb8c0;font-size:12px;line-height:1.5}
.public-booking .booking-register-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}
.public-booking .booking-register-fields label{min-width:0;font-size:13px;line-height:1.5}
.public-booking .booking-register-fields input{box-sizing:border-box;width:100%;min-width:0;height:54px;margin-top:8px;padding:12px 15px;border-radius:12px;font-size:15px;transition:border-color .15s,box-shadow .15s}
.public-booking .booking-register-fields input:focus{outline:none;border-color:#e1ad5c;box-shadow:0 0 0 3px rgba(225,173,92,.16)}
.public-booking .booking-register-fields input::placeholder{color:#84919a;opacity:1}
.public-booking .booking-register-fields .booking-birthday-field{grid-column:1/-1}
.public-booking .booking-register-fields input[type=date]{width:100%;min-height:54px}
.public-booking .booking-whatsapp-switch{margin-top:22px!important;padding:15px 14px;border:1px solid #39454b;border-radius:12px;background:#1b252a;min-height:58px;box-sizing:border-box}
@media(max-width:540px){.public-booking .booking-register-fields{grid-template-columns:minmax(0,1fr);gap:15px}.public-booking .booking-register-fields .booking-birthday-field{grid-column:auto}.public-booking .booking-register-heading{align-items:flex-start}.public-booking .booking-register-heading p{font-size:12px}}
