/* Horizon: Classic's exact header and motion, with quietly layered work surfaces.
   Surface-only rules deliberately avoid geometry, geographic fills and .hd-top. */
#horizon-booking-demo[data-horizon-theme=horizon]{
 --hz-rim:rgba(194,212,239,.18);
 --hz-panel-shadow:inset 0 1px 0 rgba(224,235,255,.11),inset 0 -1px 0 rgba(3,7,14,.45),0 5px 14px rgba(3,7,15,.22);
 --hz-control-shadow:inset 0 1px 0 rgba(220,231,252,.12),inset 0 -1px 0 rgba(0,0,0,.28),0 2px 4px rgba(2,6,14,.2);
}

/* No selector below applies to the header or its controls. */
#horizon-booking-demo[data-horizon-theme=horizon] :is(.hd-postcode-booking,.hd-heading){
 background-image:linear-gradient(180deg,rgba(207,222,246,.045),transparent 62%,rgba(0,0,0,.055));
 box-shadow:inset 0 1px 0 rgba(207,222,246,.09),inset 0 -1px 0 rgba(3,7,15,.3);
}
#horizon-booking-demo[data-horizon-theme=horizon] :is(.hd-schedule,.hd-map-column,.hd-details,.hd-customer-profile,.hd-settings-card,.hd-report-card,.hd-settings-grid>div,.hs-card,.hd-invoice-preview,.hd-customer-list){
 background-image:linear-gradient(135deg,rgba(205,220,246,.045),transparent 38%),linear-gradient(180deg,rgba(255,255,255,.018),rgba(0,0,0,.025));
 box-shadow:var(--hz-panel-shadow);
}
#horizon-booking-demo[data-horizon-theme=horizon] :is(.hd-schedule,.hs-card,.hd-report-card,.hd-settings-card,.hd-invoice-preview){border-color:#465268}
#horizon-booking-demo[data-horizon-theme=horizon] :is(.hd-sched-head,.hd-times,.hd-eng-label,.hd-engineer){
 background-image:linear-gradient(180deg,rgba(214,227,251,.055),transparent 72%);
 box-shadow:inset 0 1px 0 rgba(216,231,254,.07),inset 0 -1px 0 rgba(0,0,0,.18);
}
#horizon-booking-demo[data-horizon-theme=horizon] .hd-track{
 box-shadow:inset 0 2px 5px rgba(0,0,0,.16),inset 0 -1px 0 rgba(212,227,249,.035);
}

/* Shadows lift the cards without tinting their allocator-owned geographic colours. */
#horizon-booking-demo[data-horizon-theme=horizon] .hd-job{
 box-shadow:inset 0 1px 0 rgba(255,255,255,.6),inset 0 -1px 0 rgba(0,0,0,.13),0 3px 5px rgba(0,0,0,.3);
}
#horizon-booking-demo[data-horizon-theme=horizon] .hd-job[aria-pressed=true]{
 box-shadow:inset 0 1px 0 rgba(255,255,255,.65),inset 0 -1px 0 rgba(0,0,0,.14),0 0 0 4px rgba(239,22,121,.11),0 4px 7px rgba(0,0,0,.32);
}
#horizon-booking-demo[data-horizon-theme=horizon] .hd-job.hd-outside{
 box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 -1px 0 rgba(0,0,0,.4),0 3px 5px rgba(0,0,0,.3);
}

/* Raised controls; keep selection, validation, disabled and semantic colours. */
#horizon-booking-demo[data-horizon-theme=horizon] :is(.hd-secondary,.hd-primary,.hd-date button,.hd-time-navigation button,.hd-map-scopes button,.hd-find-slot,.hs-boundary-buttons button):not(.hd-top *){
 background-image:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.015) 46%,rgba(0,0,0,.07));
 box-shadow:var(--hz-control-shadow);
}
#horizon-booking-demo[data-horizon-theme=horizon] :is(.hd-primary,.hd-find-slot):not(.hd-top *){
 box-shadow:inset 0 1px 0 rgba(255,216,235,.32),inset 0 -1px 0 rgba(108,0,49,.28),0 3px 8px rgba(123,0,54,.18);
}
#horizon-booking-demo[data-horizon-theme=horizon] :is(.hd-secondary,.hd-date button,.hd-time-navigation button,.hd-map-scopes button):hover:not(:disabled):not(.hd-top *){
 box-shadow:inset 0 1px 0 rgba(230,239,255,.2),inset 0 -1px 0 rgba(0,0,0,.24),0 3px 7px rgba(0,0,0,.25);
}
#horizon-booking-demo[data-horizon-theme=horizon] :is(.hd-secondary,.hd-primary,.hd-date button,.hd-time-navigation button,.hd-map-scopes button,.hd-find-slot):active:not(:disabled):not(.hd-top *){
 box-shadow:inset 0 2px 4px rgba(0,0,0,.24),inset 0 -1px 0 rgba(235,241,255,.07);
}
#horizon-booking-demo[data-horizon-theme=horizon] :is(.hd-secondary,.hd-primary,.hd-find-slot):disabled:not(.hd-top *){
 box-shadow:inset 0 1px 0 rgba(225,235,255,.045);
}

/* Inset fields remain the same size; keyboard focus stays clearly visible. */
#horizon-booking-demo[data-horizon-theme=horizon] :is(.hd-field,.hd-postcode-input,.hd-duration-field select,.hd-dialog input:not([type=checkbox]):not([type=radio]),.hd-dialog textarea,.hd-dialog select,.hs-card input:not([type=checkbox]):not([type=radio]):not([type=range]),.hs-card textarea,.hs-card select):not(.hd-top *){
 box-shadow:inset 0 2px 4px rgba(0,0,0,.2),inset 0 -1px 0 rgba(203,220,248,.08);
}
#horizon-booking-demo[data-horizon-theme=horizon] :is(.hd-field,.hd-postcode-input,.hd-duration-field select):focus-within:not(.hd-top *){
 box-shadow:inset 0 2px 4px rgba(0,0,0,.16),0 0 0 3px rgba(239,22,121,.12);
}
#horizon-booking-demo[data-horizon-theme=horizon] :is(.hd-notes,.hd-customer-item,.hd-invoice-item,.hd-price-guide-card,.hd-price-guide-area){
 box-shadow:inset 0 1px 0 rgba(222,234,255,.08),inset 0 -1px 0 rgba(0,0,0,.2),0 2px 6px rgba(0,0,0,.12);
}
#horizon-booking-demo[data-horizon-theme=horizon] :is(.hd-dialog,.hd-price-guide,.hb-settings-dialog,.hd-calendar-popover,.hc-search-list){
 box-shadow:inset 0 1px 0 rgba(225,236,255,.15),0 16px 42px rgba(0,0,0,.4);
}
#horizon-booking-demo[data-horizon-theme=horizon] .hd-map{
 box-shadow:inset 0 1px 0 rgba(218,234,249,.15),0 3px 10px rgba(0,0,0,.22);
}
