/* Final overrides for the grouped intake and calendar beta. */
.nocs-wizard{max-height:calc(var(--intake-height,100dvh) - 20px)!important;overflow:auto!important}
.nocs-wizard__panel{min-height:0!important;overflow:visible!important;padding:24px!important}
.nocs-wizard:not(.is-started) .nocs-wizard__welcome{position:relative!important;inset:auto!important;min-height:650px;padding:215px 7% 30px!important;overflow:auto!important;align-content:start!important}
.nocs-wizard.is-started .nocs-wizard__welcome{display:none!important}
.nocs-wizard.is-started .nocs-wizard__presence{position:absolute!important;width:100px!important;height:100px!important;top:100px!important;right:15px!important;margin:0!important}
.nocs-wizard__presence canvas{height:100%!important}
.nocs-wizard__dialog{width:100%!important;margin:24px 0 0!important}
.nocs-wizard__dialog h2{font-size:clamp(27px,4vw,38px)!important;padding-right:85px;overflow-wrap:break-word}
.nocs-wizard__dialog footer{position:sticky;bottom:0;z-index:8;display:flex!important;justify-content:space-between;gap:16px;padding:15px 0!important;margin-top:20px;background:#142023;border-top:1px solid #6a7770}
.nocs-wizard__dialog footer button{min-height:48px!important;min-width:100px}
.grouped-intake.is-active{display:grid!important;grid-template-columns:1fr 1fr;gap:18px}
.grouped-intake>fieldset,.grouped-intake>label:has(textarea){grid-column:1/-1}
.nocs-wizard__step label[hidden]{display:none!important}
.nocs-wizard__step fieldset[hidden],.nocs-wizard__step div[hidden],.nocs-wizard__step p[hidden]{display:none!important}
.booking-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px;margin:16px 0}
.booking-slot{padding:14px;min-height:48px;border:1px solid #b0d6d7;border-radius:10px;background:#20383b;color:#fff;cursor:pointer;font:500 14px/1.4 system-ui}
.booking-slot[aria-pressed=true]{background:#7d623b;border-color:#f4d795;outline:2px solid #f4d795}
.booking-slot:disabled{background:#252a2b;color:#a7aaaa;border-color:#626768;cursor:not-allowed}
.booking-notice,.booking-beta{padding:16px;border:1px solid #a48959;border-radius:12px;background:#2b2b23;margin:14px 0!important;color:#f4e3c7!important;font:400 14px/1.6 system-ui!important}
.booking-consent{display:flex!important;align-items:start;gap:12px!important;font:400 14px/1.6 system-ui!important}
.booking-consent input{flex:0 0 20px;width:20px!important;height:20px!important;margin-top:4px}
.nocs-wizard__step p{font:400 14px/1.6 system-ui;color:#e6dccf}
.nocs-wizard__step>label{margin:14px 0}
.world--repair .repair-copy .repair-entry{flex-wrap:wrap!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
.world--repair .repair-copy .repair-entry button span{font-size:clamp(13px,1.1vw,18px)!important;white-space:normal!important;overflow-wrap:normal}
.world--repair .repair-copy .repair-entry button small{white-space:normal!important;line-height:1.5!important;letter-spacing:.02em!important}
.repair-entry>[data-intake-open]{min-width:0!important}
@media(max-width:650px){.grouped-intake.is-active{grid-template-columns:1fr}.world--repair .repair-copy .repair-entry{grid-template-columns:1fr!important}.nocs-wizard{max-height:var(--intake-height,100dvh)!important;width:100vw!important;margin:0 auto!important}.nocs-wizard__panel{padding:20px!important}.nocs-wizard__dialog h2{padding-right:45px}.nocs-wizard.is-started .nocs-wizard__presence{width:60px!important;height:60px!important}}
/* Each header element has its own grid cell. */
@media(min-width:1400px){
 .topbar .topbar-shell,.topbar.is-journey .topbar-shell,.detail-top__shell{display:grid!important;grid-template-columns:minmax(200px,1fr) auto 74px minmax(150px,210px) auto!important;grid-template-rows:auto!important;align-items:center!important;gap:12px!important;padding:10px 16px!important;min-height:76px!important}
 .topbar .topbrand,.detail-top--site .detail-brand{grid-column:1!important;grid-row:1!important;min-width:0!important;gap:12px!important}
 .topbar .topbrand-mark,.detail-brand__mark{width:54px!important;height:54px!important;flex:0 0 54px!important}
 .topbar .topbrand img,.detail-brand__mark img{width:52px!important;height:52px!important}
 .topbar .topbrand-copy strong,.detail-brand__copy strong{font-size:16px!important}
 .topbar .topbrand-copy em,.detail-brand__copy em{font-size:9px!important}
 .topbar .topnav,.detail-world-nav{position:static!important;grid-column:2!important;grid-row:1!important;width:auto!important;display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;justify-content:center!important;gap:6px!important;padding:0!important;margin:0!important;transform:none!important}
 .topbar .topnav>a,.detail-world-nav>a{min-width:0!important;padding:12px 10px!important;font-size:12px!important;white-space:nowrap!important}
 .topbar .topbar-shell>.msk-language-switch,.detail-top__shell>.msk-language-switch{position:relative!important;grid-column:3!important;grid-row:1!important;inset:auto!important;transform:none!important}
 .msk-language-trigger{width:74px!important;height:42px!important;gap:4px!important}
 .msk-language-trigger .msk-language-flag{width:14px!important;height:11px!important}
 .site-search-bar{position:relative!important;grid-column:4!important;grid-row:1!important;inset:auto!important;transform:none!important;width:100%!important;min-width:0!important;margin:0!important;height:42px!important;grid-template-columns:minmax(0,1fr) 36px!important}
 .site-search-bar input{min-width:0!important;font-size:14px!important;padding:0 6px 0 12px!important}
 .site-search-bar button{width:36px!important;height:42px!important}
 .topbar .topbar-cta,.detail-contact-cta{grid-column:5!important;grid-row:1!important;min-width:0!important;min-height:46px!important;padding:8px 12px!important}
 .topbar .topbar-cta span,.detail-contact-cta span{font-size:11px!important}
 .mobile-menu-toggle{display:none!important}
}
.booking-day-controls{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:18px 0}
.booking-day-controls label{flex:1;min-width:170px;margin:0!important}
.booking-day-controls button{min-height:48px;padding:10px 15px;border:1px solid #a48959;border-radius:10px;background:#20383b;color:#fff;cursor:pointer}
.booking-agenda{display:grid;gap:6px;margin:15px 0}
.booking-agenda p{margin:0!important;padding:9px 12px;border-left:4px solid #899998;background:#233032;border-radius:4px}
.booking-agenda .is-open{border-color:#a0d5cb}
.booking-agenda .is-busy{border-color:#c99a7d;background:#332b29}
.booking-choice{padding:14px;border:1px solid #a0d5cb;border-radius:10px;background:#20383b}
.nocs-wizard__step [aria-invalid=true]{border:2px solid #ff9d93!important;box-shadow:0 0 0 2px #ff9d9320}
.detail-section-nav{display:none!important}
.scene-rail__stop .scene-rail__label{opacity:0!important;visibility:hidden!important}
@media(hover:hover){.scene-rail__stop.is-active.is-line-hover .scene-rail__label{opacity:1!important;visibility:visible!important}}
.scene-rail__stop.is-active:focus-visible .scene-rail__label{opacity:1!important;visibility:visible!important}

/* A fixed action row and one scrolling content area keep every step reachable. */
html,.nocs-wizard,.repair-request-dialog,.nocs-wizard *,.repair-request-dialog *{scrollbar-width:thin;scrollbar-color:#b89660 #142123}
::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:#142123}::-webkit-scrollbar-thumb{background:#9e8052;border:2px solid #142123;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#d7b77c}
.nocs-wizard.is-started{height:min(850px,calc(var(--intake-height,100dvh) - 20px))!important;overflow:hidden!important;box-sizing:border-box}
.nocs-wizard.is-started .nocs-wizard__panel{height:100%;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden!important}
.nocs-wizard.is-started .nocs-wizard__progress{flex-shrink:0}
.nocs-wizard.is-started .nocs-wizard__form{display:flex;flex-direction:column;flex:1;min-height:0}
.nocs-wizard.is-started .nocs-wizard__dialog{display:flex!important;flex-direction:column;flex:1;min-height:0;overflow:hidden!important}
.nocs-wizard.is-started .nocs-wizard__field-wrap{flex:1;min-height:0;overflow:auto;padding:2px 5px 12px 0;overscroll-behavior:contain}
.nocs-wizard.is-started .nocs-wizard__dialog>h2,.nocs-wizard.is-started .nocs-wizard__dialog>p,.nocs-wizard.is-started .nocs-wizard__dialog>small{flex-shrink:0}
.nocs-wizard.is-started .nocs-wizard__dialog footer{position:relative!important;flex-shrink:0;flex-wrap:wrap;align-items:center;margin-top:0!important;padding:10px 0 0!important}
.intake-step-feedback{flex:1 0 100%;margin:0!important;color:#ffc2ad!important;font:500 14px/1.45 system-ui!important}
.nocs-wizard .nocs-wizard__dialog[hidden],.nocs-wizard [data-summary][hidden],.nocs-wizard .intake-step-feedback[hidden]{display:none!important}
.nocs-wizard [data-summary]{overflow:auto;min-height:0;overscroll-behavior:contain}
.nocs-wizard.is-planning{width:min(1140px,calc(100vw - 24px))!important;max-width:none!important}
.nocs-wizard.is-planning .nocs-wizard__progress,.nocs-wizard.is-planning .nocs-wizard__presence,.nocs-wizard.is-planning .nocs-wizard__dialog>[data-question-kicker],.nocs-wizard.is-planning .nocs-wizard__dialog>[data-reaction],.nocs-wizard.is-planning .nocs-wizard__dialog>[data-question]{display:none!important}
.nocs-wizard.is-planning .nocs-wizard__dialog{margin-top:0!important}
.booking-planner{font-family:system-ui,sans-serif;color:#f1e7d7;padding:0 5px 10px 0}
.booking-heading{padding-right:35px}.booking-heading small{font-size:10px;letter-spacing:.1em;color:#e3c489}.booking-heading h2{font-family:Georgia,serif!important;font-weight:400!important;padding-right:0!important;margin:10px 0!important;font-size:clamp(25px,3vw,34px)!important}.booking-heading p{margin:6px 0 14px!important}
.booking-controls{display:grid;grid-template-columns:170px minmax(210px,1fr) auto;gap:12px;align-items:end;margin-bottom:14px}.booking-controls label,.booking-details label{display:grid;gap:7px;margin:0!important;font:500 13px/1.4 system-ui!important}.booking-controls input,.booking-controls select,.booking-details input{box-sizing:border-box;min-width:0;width:100%;min-height:44px!important;font:400 15px/1.4 system-ui!important;color-scheme:dark}
.booking-controls button,.booking-week-controls>button{min-height:44px;padding:8px 12px;border:1px solid #977c50;border-radius:10px;background:#203537;color:#f7e8ce;cursor:pointer}
.booking-week-controls{display:flex;gap:6px;align-items:stretch;margin-bottom:16px}.booking-week{display:grid;grid-template-columns:repeat(7,minmax(76px,1fr));gap:5px;flex:1;min-width:0;overflow:auto}.booking-day{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;padding:10px 5px;background:#202b2b;border:1px solid #52605b;border-radius:9px;color:#eee4d5;min-height:64px;cursor:pointer;font:400 11px/1.3 system-ui}.booking-day strong{font-size:12px}.booking-day.has-free span{color:#acdacf}.booking-day[aria-pressed=true]{background:#51462f;border-color:#e3c489;box-shadow:inset 0 0 0 1px #e3c489}
.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:start}.booking-calendar{min-width:0}.booking-calendar h3{font:600 16px/1.4 system-ui;margin:0 0 8px}.booking-legend{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;margin-bottom:12px}.booking-legend span::before{content:'';display:inline-block;width:9px;height:9px;margin-right:5px;border-radius:2px;background:#789082}.booking-legend .is-free::before{background:#91c8b4}.booking-legend .is-busy::before{background:#bc857a}.booking-legend .is-buffer::before{background:#ceab65}.booking-legend .is-selected::before{background:#8bd3dc}
.booking-overview{position:relative;display:flex;height:20px;margin-bottom:20px;border-radius:5px;background:#1c2729}.booking-overview>i{flex:1;min-width:0;background:#263034}.booking-overview>.is-free{background:#527666}.booking-overview>.is-busy{background:#885c56}.booking-overview>.is-buffer{background:#9f8145}.booking-overview>.is-selected{background:#83cad4}.booking-overview-hours{position:absolute;inset:23px 0 auto;display:flex;justify-content:space-between;font-size:10px;color:#c3c9c5}.booking-axis-note{font-size:11px!important;margin:18px 0 10px!important;color:#c6d0cc!important}
.booking-timeline-scroll{max-height:390px;overflow:auto;overscroll-behavior:contain;border:1px solid #4f6560;border-radius:12px;background:#142224}.booking-time-row{display:grid;grid-template-columns:50px minmax(70px,1fr) minmax(150px,auto);gap:6px;align-items:center;min-height:39px;border-top:1px solid #3d50484d;padding:3px 8px;box-sizing:border-box;background:#1a2528}.booking-time-row.is-free{background:#243c35}.booking-time-row.is-busy{background:#3b2c2c}.booking-time-row.is-buffer{background:#3d3625}.booking-time-row.is-selected{box-shadow:inset 4px 0 #9de3e7;background:#244349}.booking-time{font-size:12px;font-variant-numeric:tabular-nums;color:#e7d3ab}.booking-time-status{font-size:11px;line-height:1.3;color:#bcc8c2}.booking-time-row .booking-slot{padding:7px 8px;min-height:32px;border-radius:7px;font-size:12px}.booking-time-row .booking-slot:disabled{opacity:.6}.booking-time-row .booking-slot[aria-pressed=true]{background:#a8874e;color:#fff;outline:1px solid #f1d9a3}
.booking-details{display:grid;gap:12px}.booking-details .booking-choice{font-size:15px;line-height:1.55;border-color:#8fcfd2}.booking-details .booking-notice{margin:0!important;padding:12px;font-size:12px!important}.booking-buffer-note{font-size:12px!important;margin:0!important}.booking-details details{border:1px solid #5c7068;border-radius:10px;padding:12px}.booking-details summary{cursor:pointer;font-size:13px;color:#e6c78c}.booking-details details label{margin-top:10px!important}.booking-details .booking-consent{font-size:13px!important}.booking-accessible-agenda{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.booking-controls button:focus-visible,.booking-day:focus-visible,.booking-slot:focus-visible,.booking-week-controls>button:focus-visible{outline:2px solid #a8e1e4;outline-offset:2px}
.booking-start-options{display:grid;gap:4px}
@media(max-width:760px){.nocs-wizard.is-planning{width:100vw!important}.nocs-wizard.is-started{height:var(--intake-height,100dvh)!important;max-height:var(--intake-height,100dvh)!important}.booking-controls{grid-template-columns:1fr auto}.booking-controls label:nth-child(2){grid-column:1/-1;grid-row:2}.booking-layout{grid-template-columns:1fr}.booking-timeline-scroll{max-height:340px}.booking-time-row{grid-template-columns:42px minmax(45px,1fr) 148px;padding-inline:5px}.booking-time-status{font-size:10px}.booking-week-controls>button{padding-inline:8px}.booking-day{min-width:76px}.booking-controls label input{font-size:16px!important}}
@media(max-height:560px){.nocs-wizard.is-started .nocs-wizard__presence{display:none!important}.nocs-wizard.is-started .nocs-wizard__progress{display:none!important}.nocs-wizard.is-started .nocs-wizard__panel{padding:12px 18px!important}.nocs-wizard.is-started .nocs-wizard__dialog{margin-top:0!important}.nocs-wizard.is-started .nocs-wizard__dialog h2{margin:5px 0!important}.nocs-wizard.is-started .nocs-wizard__dialog footer button{min-height:40px!important}}

/* V10.54: two calm planning steps; the common wizard owns Back / Next. */
.booking-setup{max-width:640px;margin:auto;padding:12px 4px;display:grid;gap:22px}
.booking-setup h2{margin:0;font-size:clamp(24px,4vw,36px)}
.booking-setup p{line-height:1.6;margin:0}.booking-setup label{display:grid;gap:9px}
.booking-setup input,.booking-setup select{width:100%;box-sizing:border-box;min-height:52px}
.nocs-wizard.is-booking-setup .nocs-wizard__progress,.nocs-wizard.is-booking-setup .nocs-wizard__presence,.nocs-wizard.is-booking-setup .nocs-wizard__dialog>[data-question-kicker],.nocs-wizard.is-booking-setup .nocs-wizard__dialog>[data-reaction],.nocs-wizard.is-booking-setup .nocs-wizard__dialog>[data-question]{display:none!important}
.nocs-wizard.is-booking-setup .nocs-wizard__dialog{margin-top:25px!important}
.nocs-wizard.is-booking-setup .nocs-wizard__step.is-active{animation:none}
.booking-setup label{font:500 15px/1.4 system-ui!important;letter-spacing:0!important}
.booking-heading [data-booking-context]{color:#c0e8d5;font-weight:600}
.booking-heading [data-booking-edit]{padding:7px 12px;font-size:13px}
.booking-small-note{font-size:13px;line-height:1.5;color:#bec9c3}
.booking-week-controls>[data-calendar-refresh]{font-size:12px;padding:6px}
@media(max-width:600px){.booking-week-controls{display:grid;grid-template-columns:36px minmax(0,1fr) 36px}.booking-week-controls>[data-calendar-refresh]{grid-column:1/-1;justify-self:start}.booking-layout{gap:12px}.booking-details{gap:8px}}

/* V10.56: one preregistration entry, with an optional appointment. */
.nocs-wizard .nocs-wizard__form[hidden]{display:none!important}
.nocs-wizard.is-merged:not(.is-started) .nocs-wizard__progress,.nocs-wizard.is-merged:not(.is-started) .nocs-wizard__identity{display:none!important}
.nocs-wizard.is-merged:not(.is-started) .nocs-wizard__welcome{display:block;min-height:0;padding:18px 2px!important;text-align:left;background:transparent}
.nocs-wizard.is-merged:not(.is-started) .nocs-wizard__presence{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;transform:none!important;pointer-events:none}
.nocs-wizard.is-merged .nocs-wizard__welcome h2{font-size:clamp(25px,4vw,40px);margin:20px 0 12px;padding-right:0}
.nocs-wizard__start-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0 24px}
.nocs-wizard__start-options>p,.nocs-wizard__start-options>small{grid-column:1/-1}
.nocs-wizard__start-options>p{font-size:18px!important;margin:0 0 4px!important}
.nocs-wizard__start-options button{margin:0!important;display:grid;gap:10px;align-content:center;justify-items:center;padding:22px!important;text-align:center;min-height:115px;border-radius:15px!important;letter-spacing:0!important;line-height:1.4!important}
.nocs-wizard__start-options button strong{font:600 18px/1.3 system-ui}
.nocs-wizard__start-options button span{font:400 14px/1.5 system-ui}
.nocs-wizard__start-options button[data-start-booking]{background:linear-gradient(125deg,#216b4f,#123b2d);border-color:#b9f7d2;box-shadow:0 0 0 2px #97ecbe36,0 0 23px #5cdb973d}
.nocs-wizard__start-options button:hover,.nocs-wizard__start-options button:focus-visible{outline:2px solid #e9d4a4;outline-offset:3px}
.nocs-wizard__start-options>small{font:400 13px/1.6 system-ui!important;letter-spacing:0!important;color:#d3dcd5!important}
.nocs-wizard__about{border-top:1px solid #766549;padding-top:16px;font:400 14px/1.6 system-ui;color:#e9dfce}
.nocs-wizard__about summary{cursor:pointer;padding:8px 0;list-style-position:inside}
.nocs-wizard__about p{margin:14px 0!important}
@media(max-width:600px){.nocs-wizard__start-options{grid-template-columns:1fr;gap:14px}.nocs-wizard__start-options button{min-height:100px!important;padding:18px!important}}

/* Keep both lines centered, with equal room beside the corner arrow. */
.world--repair .repair-copy .repair-entry button{align-items:center!important;justify-content:center!important;text-align:center!important;padding-inline:30px!important}
.world--repair .repair-copy .repair-entry button span,.world--repair .repair-copy .repair-entry button small{box-sizing:border-box;width:100%;padding-inline:0!important;text-align:center!important}
