/* Approved service-first booking direction. Existing scheduler remains authoritative. */
body[data-scena-page=booking]{--paper:#fff;--card:#fff;--ink:#2d1c18;--muted:#716864;--line:#e8e2de;--accent:#b94d40;--accent-dark:#9b3c31;--soft:#fff1e9;background:#fff;color:var(--ink);font-family:Arial,sans-serif}
body[data-scena-page=booking] .block-container{max-width:960px;padding-top:8px}
body[data-scena-page=booking] .scena-top{border-bottom:1px solid var(--line);padding-bottom:8px;gap:6px;background:#fff}
body[data-scena-page=booking] .st-key-booking_flow{max-width:640px;margin-inline:auto;gap:0}
.booking-back{display:flex;align-items:center;min-height:44px;gap:8px;text-decoration:none;color:var(--muted);font-size:14px}
.booking-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0 0 22px;padding:0;list-style:none}
.booking-steps li{min-width:0;border-bottom:5px solid #f7eae3;padding:0 0 8px;font-size:12px;line-height:1.4;color:var(--muted)}
.booking-steps li span{margin-right:6px}
.booking-steps li[aria-current=step]{border-color:var(--accent);color:var(--accent-dark)}
.booking-intro{position:relative;padding:0 0 14px;isolation:isolate}
body[data-scena-page=booking] h1.booking-heading{font:400 clamp(34px,6vw,52px)/1.06 Georgia,serif!important;letter-spacing:-1.1px!important;text-transform:none!important;margin:0!important;padding:0!important;color:var(--ink)!important;max-width:100%;overflow-wrap:anywhere}
.booking-heading em{display:block;font-weight:400;color:var(--accent)}
.booking-intro:has(.booking-brush) .booking-heading{padding-right:82px!important}
.booking-intro p{font-size:16px;line-height:1.45;color:var(--muted);margin:14px 0 0;position:relative}
.booking-brush{position:absolute;right:0;top:-28px;width:130px;height:160px;object-fit:contain;z-index:-1;opacity:.9}
.booking-master{display:flex;align-items:center;gap:12px;border-block:1px solid var(--line);padding:7px 0;margin-bottom:20px}
.booking-master img{width:48px;height:48px;object-fit:cover;object-position:50% 22%;border-radius:50%;flex:none}
.booking-master>div{display:grid;min-width:0;gap:2px}
.booking-master strong{font-size:15px;line-height:1.4;overflow-wrap:anywhere}
.booking-master span{font-size:14px;color:var(--muted)}
.booking-services{border:0;margin:0;padding:0;min-width:0}
.booking-services legend{font-size:20px;font-weight:700;margin-bottom:12px;padding:0}
.booking-service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,96px),1fr));gap:8px}
.booking-service{position:relative;min-width:0;display:block;cursor:pointer}
.booking-service input{position:absolute;top:12px;right:12px;margin:0;width:19px;height:19px;accent-color:var(--accent);z-index:1;cursor:pointer}
.booking-service-content{display:flex;flex-direction:column;min-height:156px;height:100%;padding:38px 12px 12px;border:1px solid #ded7d2;border-radius:11px;gap:5px}
.booking-service:has(input:checked) .booking-service-content{border-color:var(--accent);background:#fff1e9;box-shadow:inset 0 0 0 .5px var(--accent)}
.booking-service:has(input:focus-visible) .booking-service-content{outline:2px solid var(--accent-dark);outline-offset:3px}
.booking-service-content>strong{font-size:16px;line-height:1.2;overflow-wrap:anywhere}
.booking-service-note{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--muted);font-size:13px;line-height:1.4}
.booking-service-content>b{border-top:1px solid #e6d9d0;margin-top:auto;padding-top:9px;font-size:16px;line-height:1.4;color:#8f3127;overflow-wrap:anywhere}
.booking-service-content>small{font-size:13px;color:var(--muted)}
.booking-selection{margin:18px 0 10px}
.booking-selection h2{font:400 28px/1.15 Georgia,serif!important;margin:0!important;text-transform:none!important}
.booking-selection p{font-size:15px;line-height:1.5;margin:9px 0 0;color:var(--muted)}
.booking-total{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.booking-total span{font-size:14px;color:var(--muted)}
.booking-total strong{font-size:26px;line-height:1.25;color:var(--accent)}
.st-key-booking_schedule>.scena-expander{border:0;background:none;padding:0;overflow:visible}
.st-key-booking_schedule>.scena-expander>summary{display:flex;align-items:center;justify-content:center;gap:14px;min-height:52px;padding:14px 16px;margin:0;list-style:none;background:var(--accent);color:#fff;border-radius:11px;font-size:16px;font-weight:700;text-align:center}
.st-key-booking_schedule>.scena-expander>summary::-webkit-details-marker{display:none}
.st-key-booking_schedule>.scena-expander>summary::after{content:'→';font-size:24px;line-height:1}
.st-key-booking_schedule>.scena-expander[open]>summary{margin-bottom:22px}
.booking-confirmation-note{text-align:center;font-size:13px;color:var(--muted);margin:9px 0 20px}
body[data-scena-page=booking] .st-key-booking_calendar{background:#fff;border:1px solid var(--line);box-shadow:none}
body[data-scena-page=booking] .st-key-booking_morning,body[data-scena-page=booking] .st-key-booking_afternoon{background:#fff8f4!important;box-shadow:none!important}
body[data-scena-page=booking] button[data-kind=primary]{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important;box-shadow:none!important}
body[data-scena-page=booking] .scena-form{background:#fff;border-color:var(--line)}
.scena-booking-menu{position:relative;flex:none;z-index:46}
.scena-booking-menu>summary{display:grid;place-items:center;width:44px;min-height:44px;list-style:none;cursor:pointer;font-size:26px;line-height:1}
.scena-booking-menu>summary::-webkit-details-marker{display:none}
.scena-booking-menu nav{position:absolute;right:0;top:100%;display:grid;gap:4px;width:min(300px,calc(100vw - 32px));padding:12px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px #201b1720}
.scena-booking-menu nav a{display:flex;align-items:center;min-height:44px;padding:8px;text-decoration:none;font-size:16px;overflow-wrap:anywhere}
body[data-scena-page=booking] :is(a,summary,button,input):focus-visible{outline:2px solid var(--accent-dark);outline-offset:3px}
@media(max-width:520px){body[data-scena-page=booking] h1.booking-heading{font-size:38px!important}.booking-intro:has(.booking-brush) .booking-heading{padding-right:70px!important}.booking-brush{width:112px;height:145px;right:-6px}.booking-service-content{padding:34px 9px 10px}.booking-service-content>strong,.booking-service-content>b{font-size:14px}.booking-master{margin-bottom:16px}.booking-steps{margin-bottom:18px}}
@media(max-width:359px){body[data-scena-page=booking] h1.booking-heading{font-size:31px!important}.booking-brush{width:93px;height:127px}.booking-service-grid{gap:6px}.booking-service-content{padding-inline:8px}.booking-service input{right:8px}.booking-service-note{font-size:12px}.booking-steps li{font-size:12px}.booking-master strong{font-size:14px}body[data-scena-page=booking] .scene-brand-logo{width:99px}body[data-scena-page=booking] .scene-brand-initials{font-size:21px}body[data-scena-page=booking] .scene-brand-studio{font-size:12px}}
