/* Profile rules never override geographical booking colours. */
#horizon-booking-demo{position:relative}
#horizon-booking-demo .hb-profile-controls{grid-column:1/-1;display:flex;gap:5px;align-items:center;justify-content:flex-end;font-size:10px}
#horizon-booking-demo .hb-profile-controls select{background:#151d30;color:#e2eafb;border:1px solid #536486;border-radius:6px;padding:3px 5px;font-size:11px;min-width:112px;max-width:120px}
#horizon-booking-demo .hb-profile-controls button{padding:0 3px;min-height:24px;font-size:16px}
#horizon-booking-demo .hm-logo-wrap{width:190px;max-width:100%;overflow:visible}
#horizon-booking-demo .hd-brand{position:relative}
#horizon-booking-demo .hd-brand img{position:relative;z-index:2}
#horizon-booking-demo .hb-decor{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none;display:none}
#horizon-booking-demo .hb-logo-stage{position:absolute;inset:0;overflow:visible;pointer-events:none;z-index:3;display:none}
#horizon-booking-demo[data-horizon-profile=bubbles]{--hd-bg:#101a30;--hd-soft:#19263f;--hd-secondary:#b2c2df;--hd-line:#52668b66;background:radial-gradient(ellipse at 5% 0,#59236d36,transparent 48%),radial-gradient(ellipse at 90% 75%,#50277822,transparent 45%),#0c152a;border-color:#7763a77d;box-shadow:inset 0 1px 1px #e3c8ff22,0 12px 48px #080e2580}
#horizon-booking-demo[data-horizon-profile=bubbles] .hd-top{background:radial-gradient(ellipse at 17% 85%,#63308d55,transparent 42%),radial-gradient(ellipse at 74% 10%,#234f8855,transparent 46%),#0c1730;min-height:92px}
#horizon-booking-demo[data-horizon-profile=bubbles] .hb-decor,#horizon-booking-demo[data-horizon-profile=bubbles] .hb-logo-stage{display:block}
#horizon-booking-demo[data-horizon-profile=bubbles] .hd-nav{background:linear-gradient(145deg,#283453a8,#101b33dd);border-color:#626da080;box-shadow:inset 0 1px 2px #adc8ff25,0 6px 16px #0004}
#horizon-booking-demo[data-horizon-profile=bubbles] .hd-planner-sticky,#horizon-booking-demo[data-horizon-profile=bubbles] .hd-map-column,#horizon-booking-demo[data-horizon-profile=bubbles] .hd-details,#horizon-booking-demo[data-horizon-profile=bubbles] .hd-customer-profile,#horizon-booking-demo[data-horizon-profile=bubbles] .hd-settings-card{background:linear-gradient(145deg,#ccafff0e,transparent 25%),linear-gradient(130deg,#1e2942ee,#0f1c32f5);border-color:#8572bd77;box-shadow:inset 0 1px 2px #d6c6ff28,inset 0 -1px 2px #0005,0 8px 24px #0003}
#horizon-booking-demo[data-horizon-profile=bubbles] .hd-map-column,#horizon-booking-demo[data-horizon-profile=bubbles] .hd-details{border-radius:17px;border:1px solid #776db18a;margin:12px 8px;padding:16px}
#horizon-booking-demo[data-horizon-profile=bubbles] .hd-location{background:transparent;border:0;gap:0}
#horizon-booking-demo[data-horizon-profile=bubbles] .hd-schedule{border-color:#7c75b083;border-radius:12px;box-shadow:inset 0 1px 2px #bbd7ff22,0 8px 16px #0003}
#horizon-booking-demo[data-horizon-profile=bubbles] .hd-heading{background:transparent}
#horizon-booking-demo[data-horizon-profile=bubbles] .hd-job{box-shadow:inset 0 1px 1px #fff7,0 4px 9px #0005;border-radius:9px}
#horizon-booking-demo[data-horizon-profile=bubbles] .hd-job[aria-pressed=true]{box-shadow:0 0 0 2px #ff429d,0 0 14px #fa318d3b,inset 0 1px 1px #fff7}
#horizon-booking-demo[data-horizon-profile=bubbles] .hd-secondary,#horizon-booking-demo[data-horizon-profile=bubbles] .hd-field{background:linear-gradient(140deg,#283b575c,#101c30);border-color:#607a9b77;box-shadow:inset 0 1px 1px #bdd2ff17,0 3px 7px #0003}
#horizon-booking-demo[data-horizon-profile=bubbles] .hd-primary{background:linear-gradient(130deg,#ff278f,#e31676);box-shadow:inset 0 1px 2px #ffafd666,0 5px 15px #ed167b35}
#horizon-booking-demo[data-horizon-profile=standard] .hm-wisps,#horizon-booking-demo[data-horizon-profile=standard] .hm-logo-glint,#horizon-booking-demo[data-horizon-profile=standard] .hm-header-sweep,#horizon-booking-demo[data-horizon-profile=standard] .hm-nav-light{display:none}
#horizon-booking-demo[data-horizon-profile=standard] .hd-nav.hm-nav button[aria-selected=true]{background:#ed1979;border-color:#ff619b80}
.hb-bubble{display:block;position:absolute;border-radius:50%;pointer-events:none;background:radial-gradient(ellipse at 28% 19%,#edfbffcc 0,#79c2f96b 9%,transparent 26%),radial-gradient(ellipse at 70% 80%,#ec69d567,transparent 40%),radial-gradient(circle at 47% 50%,#06122322 35%,#2636714d 60%,#f39ed275 69%,#475faa90 75%,#a7ceff88 80%,transparent 83%);border:1px solid #d7e5ff60;box-shadow:inset 3px 4px 9px #d8f5ff43,inset -3px -5px 8px #f1419660,0 6px 14px #0003}
.hb-bubble:after{content:'';position:absolute;left:20%;top:12%;width:30%;height:13%;border-radius:50%;background:linear-gradient(140deg,#fff9,#dffbff00);transform:rotate(-34deg);filter:blur(.7px)}
.hb-bubble:before{content:'';position:absolute;inset:-1px;padding:1.5px;border-radius:50%;background:conic-gradient(from 35deg,#7deaff99,#cfeeff66,#ee54bda8,#fd9ad678,#607fe775,#a2e9ffc0,#7deaff99);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;filter:blur(.4px)}
#horizon-booking-demo[data-horizon-profile=bubbles] .hd-settings-grid>div,#horizon-booking-demo[data-horizon-profile=bubbles] .hd-customer-list,#horizon-booking-demo[data-horizon-profile=bubbles] .hd-invoice-preview,#horizon-booking-demo[data-horizon-profile=bubbles] .hd-report-card{background:linear-gradient(145deg,#bd9ceb12,transparent 34%),linear-gradient(130deg,#1e2942ee,#101b30f5);border-color:#766ca877;box-shadow:inset 0 1px 1px #d6c6ff25,0 6px 18px #0003}
.hb-transient{z-index:10}
.hb-motion-running .hb-resident{animation:hb-float 13s ease-in-out var(--hb-delay) infinite alternate}
.hb-motion-running .hb-resident:nth-child(even){animation-direction:alternate-reverse;animation-duration:17s}
@keyframes hb-float{to{transform:translate(4px,8px) scale(1.035)}}
#horizon-booking-demo .hb-settings-dialog{color:#e7efff;background:linear-gradient(140deg,#263051,#101a30);border:1px solid #a281c5;border-radius:19px;box-shadow:inset 0 1px 1px #dfc6ff55,0 18px 70px #0009;padding:22px;width:min(420px,calc(100vw - 36px));max-height:90vh}
.hb-settings-dialog::backdrop{background:#061022b0;backdrop-filter:blur(4px)}
.hb-dialog-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.hb-dialog-title button{font-size:25px;background:none;border:0;cursor:pointer}
#horizon-booking-demo .hb-settings-dialog p{font-size:12px;color:#b3c4df;line-height:1.5;margin:12px 0}
.hb-setting{display:flex;align-items:center;gap:8px;margin:16px 0 9px;font-size:14px}.hb-setting output{margin-left:auto}.hb-settings-dialog input[type=range]{width:100%;accent-color:#ef1679}.hb-settings-dialog input[type=checkbox]{accent-color:#ef1679}.hb-demo-buttons{display:flex;gap:10px;margin-top:20px}.hb-demo-buttons button{flex:1}
#horizon-booking-demo .hd-map.hmp-map{height:430px;background:#223e34;border-color:#7698a888}
#horizon-booking-demo .hd-map.hmp-map .maplibregl-canvas{position:absolute;inset:0}
#horizon-booking-demo .hd-map.hmp-map .hmp-pin{background:transparent;border:0;padding:0;width:44px;height:51px;box-shadow:none;color:#eef5ff;min-height:0}
#horizon-booking-demo .hd-map.hmp-map .maplibregl-ctrl-group button{background:transparent;min-height:38px;padding:0}
#horizon-booking-demo .hd-map.hmp-map .maplibregl-ctrl-attrib a{color:#d9eaf4}
#horizon-booking-demo .hd-map.hmp-map .hd-map-all{bottom:12px;right:57px;z-index:4}
#horizon-booking-demo .hb-map-reload{margin-top:8px;font-size:11px}
#horizon-booking-demo .hb-wheel-swatch{display:block;width:136px;height:136px;border-radius:50%;border:1px solid #617696;box-shadow:0 3px 10px #0005;background:conic-gradient(#fec679 0deg 30deg,#f9f18c 30deg 60deg,#c1dd89 60deg 90deg,#abd595 90deg 120deg,#abdac6 120deg 150deg,#96d1f3 150deg 180deg,#879bce 180deg 210deg,#9087c0 210deg 240deg,#ac8bc0 240deg 270deg,#df92be 270deg 300deg,#f489a7 300deg 330deg,#f68567 330deg 360deg)}
.hb-wheel-note{font-size:11px;line-height:1.5;color:#b4c5de;max-width:230px}
@media(max-width:800px){#horizon-booking-demo .hd-brand{min-height:70px}#horizon-booking-demo[data-horizon-profile=bubbles] .hd-top{min-height:92px}.hb-resident:first-child{left:20%!important}#horizon-booking-demo .hd-map.hmp-map{height:390px}}
@media(prefers-reduced-motion:reduce){.hb-resident{animation:none!important}}

.hb-removal-layer{position:fixed;width:0;height:0;pointer-events:none;z-index:1000}
#horizon-booking-demo .ha-postcode-field{grid-column:1/-1;display:grid;grid-template-columns:minmax(120px,1fr) auto;gap:7px;align-items:end}
#horizon-booking-demo .ha-postcode-field input{grid-column:1;grid-row:2}
#horizon-booking-demo .ha-postcode-field button{grid-column:2;grid-row:2;min-height:38px}
#horizon-booking-demo .ha-address-choice{grid-column:1/-1}
#horizon-booking-demo .ha-address-status{margin:10px 0 0;color:#b4c5de;font-size:12px;line-height:1.5}

#horizon-booking-demo[data-horizon-profile=bubbles] .hd-job{background:var(--job-fill,var(--job-color));color:var(--job-ink);box-shadow:inset 0 1px 1px #fff9,0 4px 8px #0004}
#horizon-booking-demo[data-horizon-profile=bubbles] .hd-job.hd-outside{background:#000;color:#fff}

/* Sound bank choice belongs to this device, independently of visual appearance. */
#horizon-booking-demo .hb-settings-dialog{overflow-y:auto}
#horizon-booking-demo .hb-sound-choice{display:grid;gap:8px;margin:16px 0}
#horizon-booking-demo .hb-sound-choice label{font-size:14px;font-weight:600}
#horizon-booking-demo .hb-sound-choice select{width:100%;min-width:0;max-width:100%}
#horizon-booking-demo .hb-sound-choice select option{color:#111;background:#fff}
#horizon-booking-demo .hb-sound-choice p{margin:0;color:inherit;opacity:.85}
#horizon-booking-demo .hb-sound-preview{display:flex;gap:8px;flex-wrap:wrap}
#horizon-booking-demo .hb-sound-preview button{flex:1;min-width:88px;padding:8px}
#horizon-booking-demo .hm-sound-profile-label{display:grid;gap:8px;margin:12px 0;font-weight:600}
#horizon-booking-demo .hm-sound-profile-label select{width:100%;max-width:100%;min-width:0}
#horizon-booking-demo #hm-sound-profile-note{font-size:13px;line-height:1.45}

#horizon-booking-demo :is(.hb-sound-choice label,.hb-sound-choice select,.hm-sound-profile-label)[hidden]{display:none!important}
#horizon-booking-demo .hb-settings-dialog p{color:inherit;opacity:.8}
