/* Agenda e ajustes finais de leitura. */
:root { --gold-light:#f5d995; --muted:#e5ddd0; }
.booking { scroll-margin-top:82px; }
.booking-grid { gap:clamp(32px,6vw,110px); }
.booking h2 { font-family:var(--sans); font-size:clamp(36px,4vw,62px); line-height:1.06; letter-spacing:-.035em; }
.booking-grid>div>p { max-width:500px; font-size:clamp(15px,1.2vw,18px); line-height:1.6; }
.booking-legend { display:flex; flex-wrap:wrap; gap:14px; margin:24px 0 10px; }
.booking-legend span { font-size:13px; font-weight:700; }
.booking-legend span:nth-child(1) { color:#a7e6ae; }
.booking-legend span:nth-child(2) { color:#f5a49d; }
.booking-legend span:nth-child(3) { color:#ffdc87; }
.booking-legend span:nth-child(4) { color:#a8d7ff; }
.booking-legend span:nth-child(5) { color:#a9a59e; }
.booking form { align-content:start; }
.booking label { font-size:13px; line-height:1.45; }
.booking input,.booking select { font-size:16px; min-height:48px; }
.booking input[type=date] { color-scheme:dark; }
.booking-status,.booking-note,.booking-result { grid-column:1/-1; margin:5px 0; font-size:14px; line-height:1.5; color:var(--muted); }
.booking-status.error { color:#ffb6a8; }
.booking-slots { grid-column:1/-1; display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:9px; margin:4px 0 16px; }
.slot { min-height:47px; padding:8px 10px; border:1px solid #bad9b4; border-radius:4px; background:#14301d; color:#e9f9e6; font-size:13px; font-weight:700; }
.slot:disabled { cursor:not-allowed; opacity:.83; }
.slot-pending { border-color:#ffdc87; background:#332a13; color:#ffedc0; }
.slot-blocked { border-color:#d39089; background:#321c1c; color:#ffd0ca; }
.slot-confirmed { border-color:#8fb9de; background:#1b2936; color:#d4e9ff; }
.slot-unavailable { border-color:#77736b; background:#272624; color:#c9c4bb; }
.slot[aria-pressed=true] { outline:3px solid var(--gold-light); outline-offset:2px; }
.booking form button[type=submit] { grid-column:1/-1; min-height:48px; font-size:13px; }
.booking form button:disabled { opacity:.55; cursor:not-allowed; transform:none; }
.booking-result { padding:0; }
.booking-result:not(:empty) { padding:15px; border:1px solid var(--gold-light); background:#1d1b13; }
.booking-result p { margin:0 0 12px; }
.booking-result .button { width:auto; }
.nav a,.header-book,.service-card span,.section-heading p,.feature-copy,.bottom-panel p,.recognition p,.social-links a,.footer-content { text-shadow:0 1px 3px #000; }
.service-card span,.work-gallery span { font-size:max(12px, .7vw); }
.overline,.concept-note { font-size:max(11px, .65vw); }
.brand-words small { font-size:10px; letter-spacing:.16em; }
.nav a,.header-book { font-size:12px; }
.hero-overline,.hero-scroll { font-size:11px; }
.hero-index { font-size:10px; }
.hero-actions .button,.button { font-size:12px; }
.feature-heading .overline,.feature-heading>p:last-child,.feature-copy,.feature-prosthesis .button { font-size:12px; }
.prosthesis-images span { font-size:11px; }
.section-heading p,.section-heading a { font-size:12px; }
.visagism .overline,.visagism .button,.work-intro>p,.work-intro .button { font-size:12px; }
.work-intro>span,.recognition p,.bottom-panel p:not(.overline),.place-panel address { font-size:13px; }
.recognition a,.about-panel>a,.school-panel .button,.social-links a,.highlight-display a { font-size:12px; }
.bottom-panel .overline,.work-gallery span,.highlight-photos span { font-size:12px; }
.button-whatsapp { background:#087d30; border-color:#20a04c; color:#fff; }
@media(max-width:700px) { .booking-grid { display:block; } .booking form { margin-top:24px; } .booking h2 { font-size:clamp(34px,10vw,48px); } .booking-slots { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:360px) { .booking-slots { grid-template-columns:1fr 1fr; } .slot { font-size:12px; } }
@media(max-width:700px) { .brand-words small { font-size:8px; } .header-book { font-size:11px; } .hero-overline { font-size:11px; } .hero-actions .button { font-size:11px; } .overline { font-size:11px; } }

/* Three-step booking experience */
.booking-grid{grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);align-items:start}
.booking-intro{position:sticky;top:100px}
.booking form{display:block;min-width:0}
.booking-stage{padding:clamp(18px,3vw,34px);border:1px solid #6c5631;border-radius:14px;background:linear-gradient(155deg,#1d1b16,#101110 70%);box-shadow:0 22px 55px #0007}
.booking-stage[hidden],.booking-result[hidden]{display:none!important}
.booking-step{margin:0 0 18px;color:var(--gold-light);font-size:12px;font-weight:800;letter-spacing:.16em}
.booking-stage h3{margin:0 0 8px;font-size:clamp(25px,3vw,34px);line-height:1.15}
.booking-stage label{display:block;margin:17px 0 8px;color:#f5d995;font-weight:700}
.booking-stage input{width:100%;border:1px solid #8b7651;border-radius:7px;background:#171713;padding:10px 12px;color:#fff}
.booking-stage input:focus-visible{outline:3px solid #f5d995;outline-offset:2px}
.booking-day-choices{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:12px}
.booking-day-choice{min-height:44px;padding:7px 3px;border:1px solid #6f5c3d;border-radius:6px;background:#242116;color:#f2e5c9;font-size:11px;font-weight:700;cursor:pointer}
.booking-day-choice[aria-pressed=true]{border-color:#f5d995;background:#5b431a;color:#fff}
.booking-day-choice:focus-visible,.booking-service-card:focus-visible,.booking-back:focus-visible{outline:3px solid #f5d995;outline-offset:2px}
.booking-slots{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 0}
.slot{border-radius:7px;font-size:12px;cursor:pointer}
.booking-hint{margin:0 0 18px;color:#dfd3bd}
.booking-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.booking-service-card{display:block;overflow:hidden;padding:0;border:1px solid #7c6742;border-radius:10px;background:#1e1c17;color:#fff;text-align:left;cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s}
.booking-service-card:hover{transform:translateY(-3px);border-color:#f5d995}
.booking-service-card[aria-pressed=true]{border-color:#f5d995;box-shadow:0 0 0 2px #f5d995}
.booking-service-card img{display:block;width:100%;height:150px;object-fit:cover;background:#2a251d}
.booking-service-details{display:grid;gap:3px;padding:12px}
.booking-service-details strong{font-size:16px;line-height:1.25}
.booking-service-details small{color:#d7c9ae}
.booking-service-details b{font-size:19px;color:#f5d995}
.booking-ai-note{color:#ffdc87!important;font-size:11px;line-height:1.35}
.booking-style-gallery{margin-top:18px;border-top:1px solid #5c4b32;padding-top:14px}
.booking-style-gallery summary{color:#f5d995;font-size:13px;font-weight:700;cursor:pointer}
.booking-style-gallery>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.booking-style-gallery img{width:100%;height:100px;object-fit:cover;border-radius:6px}
.booking-style-gallery p{font-size:12px;margin-bottom:0}
.booking-back{padding:3px 0 12px;border:0;background:transparent;color:#f5d995;font-size:13px;font-weight:700;cursor:pointer}
.booking-stage .button{width:100%;margin-top:15px}
.booking-stage .button:disabled{opacity:.5;cursor:not-allowed}
.booking-summary{padding:15px 18px;border:1px solid #7c6742;border-radius:8px;background:#282319}
.booking-summary p{margin:4px 0;color:#fff;font-size:16px}
.booking-note{margin:12px 0 0;color:#d7c9ae}
.booking-note a{color:#f4ca77;text-decoration:underline;text-underline-offset:3px}
.booking-note a:focus-visible{outline:2px solid #fff;outline-offset:3px}
.booking-result:not(:empty){margin-top:16px;padding:20px;border-radius:10px}
.booking-result h3{margin:0 0 10px;color:#f5d995;font-size:24px}
.booking-error{color:#ffb6a8}
@media(max-width:900px){.booking-grid{grid-template-columns:1fr}.booking-intro{position:static}.booking-day-choices{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.booking-stage{margin-top:20px}.booking-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-service-card img{height:130px}}
@media(max-width:400px){.booking-services{grid-template-columns:1fr 1fr}.booking-service-card img{height:105px}.booking-service-details strong{font-size:14px}.booking-day-choices{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.booking-service-card{transition:none}}

.booking-catalog-link{display:inline-flex;margin:12px 0 0}
.booking-showcase{padding:clamp(52px,7vw,100px) 0;background:#0e100f;border-top:1px solid #493d29}
.booking-showcase h2{font-family:var(--sans);font-size:clamp(32px,4vw,52px);line-height:1.1;margin:0 0 12px}
.booking-showcase>.wide-wrap>p:not(.overline){max-width:720px;color:#e5ddd0;line-height:1.6}
.booking-catalog-showcase{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:28px}
.showcase-card{display:block;overflow:hidden;padding:0;border:1px solid #7c6742;border-radius:12px;background:#1d1b16;color:#fff;text-align:left;cursor:pointer;transition:transform .18s,border-color .18s}
.showcase-card:hover{transform:translateY(-3px);border-color:#f5d995}
.showcase-card:focus-visible{outline:3px solid #f5d995;outline-offset:2px}
.showcase-card img{display:block;width:100%;height:210px;object-fit:cover;background:#2a251d}
.showcase-details{display:grid;gap:5px;padding:15px}
.showcase-details strong{font-size:17px;line-height:1.2}
.showcase-details small{font-size:12px;color:#d7c9ae;line-height:1.35}
.showcase-details b{font-size:21px;color:#f5d995}
.showcase-details .showcase-action{margin-top:5px;color:#f5d995;font-weight:700}
@media(max-width:900px){.booking-catalog-showcase{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.booking-catalog-showcase{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.showcase-card img{height:145px}.showcase-details{padding:11px}.showcase-details strong{font-size:15px}.showcase-details b{font-size:18px}}
@media(max-width:360px){.showcase-card img{height:120px}}
@media(prefers-reduced-motion:reduce){.showcase-card{transition:none}}
