.booking-shell{max-width:60rem;margin:0 auto;padding:1.5rem 1rem 3rem;position:relative}.preview-badge{position:fixed;top:.75rem;right:.75rem;z-index:10;padding:.25rem .625rem;border-radius:var(--radius-pill);background:var(--color-foreground);color:#fff;font-size:var(--text-label);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.brand-header{display:grid;gap:1.25rem;grid-template-columns:1fr;align-items:start;margin-bottom:2.5rem}.brand-header .identity{display:flex;align-items:center;gap:1rem}.brand-header img{height:var(--logo-height, 80px);width:auto;max-width:100%;object-fit:contain;object-position:left center}.brand-header h1{font-size:1.25rem;font-weight:700}.brand-header .meta{display:grid;gap:1rem;grid-template-columns:1fr;font-size:.875rem;color:var(--color-body)}.brand-header .meta h2{font-size:var(--text-label);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);margin-bottom:.25rem}.brand-header .meta p{white-space:pre-line}.brand-header .meta a{text-decoration:underline;text-underline-offset:2px}@media(min-width:640px){.brand-header .meta{grid-template-columns:1fr 1fr}}@media(min-width:900px){.brand-header{grid-template-columns:1fr 1fr}}.stepper{display:flex;align-items:center;justify-content:center;gap:.5rem;width:min(100%,44rem);margin:0 auto 1.25rem;padding:0;list-style:none}.stepper li{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.stepper li:last-child{flex:0 0 auto}.stepper li:not(:last-child):after{content:"";flex:1;height:1px;background:var(--color-border-strong)}.stepper .pill{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .875rem;border-radius:var(--radius-pill);background:var(--color-surface-3);color:var(--color-muted);font-size:var(--text-label);font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.stepper .pill.active{background:var(--brand);color:var(--brand-ink)}.stepper .pill.done{background:var(--brand-weak);color:var(--brand)}.stepper-mobile{display:none;margin-bottom:1rem;font-size:.875rem;color:var(--color-muted)}.stepper-mobile .bar{height:.375rem;border-radius:var(--radius-pill);background:var(--color-surface-4);overflow:hidden;margin-top:.375rem}.stepper-mobile .bar span{display:block;height:100%;background:var(--brand);transition:width var(--motion)}@media(max-width:639px){.stepper{display:none}.stepper-mobile{display:block}}.booking-card{padding:1.5rem}@media(min-width:640px){.booking-card{padding:2rem}}.booking-empty{text-align:center}.booking-empty h1{font-size:1.125rem;font-weight:600;color:var(--color-body)}.step-title{font-size:1.25rem;font-weight:700;margin-bottom:.25rem}.step-subtitle{color:var(--color-muted);margin-bottom:1.5rem}.step-actions{display:flex;justify-content:space-between;gap:.75rem;margin-top:1.75rem;flex-wrap:wrap}.step-actions .btn.primary{margin-left:auto}.date-layout{display:grid;gap:1.5rem;grid-template-columns:1fr}@media(min-width:700px){.date-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.calendar-head h3{font-size:1rem;font-weight:600}.calendar-head button{width:2.25rem;height:2.25rem;border-radius:var(--radius-pill);border:1px solid var(--color-border-strong);background:var(--color-surface);cursor:pointer}.calendar-head button:disabled{opacity:.35;cursor:not-allowed}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}.calendar-grid .dow{text-align:center;font-size:var(--text-label);font-weight:600;color:var(--color-muted);padding:.25rem 0}.calendar-grid .day{aspect-ratio:1;display:grid;place-items:center;border-radius:var(--radius-pill);border:0;background:transparent;color:var(--color-foreground);font-weight:500;cursor:pointer;transition:background var(--motion)}.calendar-grid .day.free{background:var(--brand-weak);color:var(--brand);font-weight:600}.calendar-grid .day.free:hover{background:var(--brand-weak-border)}.calendar-grid .day.selected{background:var(--brand);color:var(--brand-ink)}.calendar-grid .day.today{box-shadow:inset 0 0 0 1px var(--color-border-strong)}.calendar-grid .day:disabled{color:var(--color-subtle);cursor:default}.calendar-legend{margin-top:.75rem;font-size:var(--text-label);color:var(--color-muted)}.times h3{font-size:1rem;font-weight:600;margin-bottom:.75rem}.times .empty{color:var(--color-muted);font-size:.875rem}.time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(5rem,1fr));gap:.5rem}.time-chip{min-height:2.5rem;border-radius:var(--radius-control);border:1px solid var(--color-border-strong);background:var(--color-surface);font-weight:600;cursor:pointer;transition:all var(--motion)}.time-chip:hover{border-color:var(--brand);color:var(--brand)}.time-chip.selected{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.service-list{display:grid;gap:0;list-style:none;margin:0;padding:0;border-top:1px solid var(--color-border)}.service-list li{border-bottom:1px solid var(--color-border)}.service-row{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:center;width:100%;padding:.875rem .25rem;background:none;border:0;text-align:left;cursor:pointer;color:var(--color-foreground)}.service-row .radio{width:1.25rem;height:1.25rem;border-radius:50%;border:2px solid var(--color-border-strong);display:grid;place-items:center;transition:border-color var(--motion)}.service-row .radio:after{content:"";width:.625rem;height:.625rem;border-radius:50%;background:var(--brand);transform:scale(0);transition:transform var(--motion)}.service-row.selected .radio{border-color:var(--brand)}.service-row.selected .radio:after{transform:scale(1)}.service-row .name{font-weight:500}.service-row .price{color:var(--color-body);white-space:nowrap;font-variant-numeric:tabular-nums}.service-info{padding:0 .25rem .875rem 2.25rem}.service-info button{background:none;border:0;padding:0;color:var(--brand);font-weight:600;cursor:pointer;font-size:.875rem}.service-info p{margin-top:.375rem;color:var(--color-body);font-size:.875rem;white-space:pre-line}.details-form{display:grid;gap:1rem}@media(min-width:640px){.details-form{grid-template-columns:1fr 1fr}.details-form .wide{grid-column:1 / -1}}.summary{display:grid;gap:.5rem;padding:1rem 1.25rem;border-radius:var(--radius-panel);background:var(--brand-weak);border:1px solid var(--brand-weak-border);margin-bottom:1.5rem}.summary div{display:flex;justify-content:space-between;gap:1rem;font-size:.9375rem}.summary dt{color:var(--color-muted)}.summary dd{margin:0;font-weight:600;text-align:right}.done{text-align:center;padding:1rem 0}.done .check{width:4rem;height:4rem;margin:0 auto 1rem;border-radius:50%;background:var(--brand);color:var(--brand-ink);display:grid;place-items:center;font-size:2rem}.done p{color:var(--color-body);max-width:32rem;margin:0 auto 1rem}.booking-footer{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;justify-content:center;align-items:center;margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--color-border);font-size:.8125rem;color:var(--color-muted)}.booking-footer a{text-decoration:none}.booking-footer a:hover{text-decoration:underline}.booking-footer .back{font-weight:600;color:var(--brand)}.booking-footer .sep{width:1px;height:1rem;background:var(--color-border-strong)}.honeypot{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.booking-footer .linklike{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer}.booking-footer .linklike:hover{text-decoration:underline}.consent{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:20;display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;align-items:center;justify-content:space-between;max-width:56rem;margin:0 auto;padding:1rem 1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card-lg);font-size:.875rem;color:var(--color-body)}.consent p{flex:1 1 20rem;margin:0}.consent a{color:var(--brand);font-weight:600}.consent-actions{display:flex;gap:.5rem}.store-grid{display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:640px){.store-grid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}}.store-card{display:grid;gap:.375rem;padding:1.25rem;border:1px solid var(--color-border);border-radius:var(--radius-panel);text-decoration:none;color:var(--color-foreground);background:var(--color-surface);transition:border-color var(--motion),box-shadow var(--motion)}.store-card:hover{border-color:var(--brand);box-shadow:var(--shadow-card)}.store-card strong{font-size:1.0625rem}.store-card span{font-size:.875rem;color:var(--color-body)}.store-card .hours{white-space:pre-line;color:var(--color-muted)}.store-card .cta{margin-top:.5rem;font-weight:600;color:var(--brand)}.store-switch{text-align:center;margin-top:.75rem;font-size:.875rem}.store-switch a{color:var(--color-muted);text-decoration:none}.store-switch a:hover{text-decoration:underline}.done .notice{margin:1rem auto 0;max-width:32rem;padding:.75rem 1rem;border-radius:var(--radius-control);border:1px solid #fde68a;background:#fffbeb;color:#78350f;text-align:left}
