/* Christmas destination board: live, accessible signs inspired by David's reference. */
#directoryDialog {
 width:min(1240px,calc(100% - 28px)); max-height:calc(100dvh - 28px); padding:0 0 28px;
 color:#fff8e4; border:5px solid #fff3d4; border-radius:30px;
 background:linear-gradient(180deg,#164477cc,#236080dd 38%,#d4eaf2ee),url('/assets/img/snowman-cinematic/village-desktop.webp') center/cover;
 box-shadow:0 0 0 4px #a92836,0 22px 80px #001322cc; isolation:isolate;
}
#directoryDialog::backdrop {background:#05162cbb;backdrop-filter:blur(6px)}
#directoryDialog .dialog-header {position:relative;align-items:center;min-height:195px;padding:28px 180px 20px 45px;border:0;text-align:center;
 background:url('/assets/img/christmas-clock/santa-rest.webp') right 12px bottom/155px auto no-repeat}
#directoryDialog .dialog-header>div {width:100%}
#directoryDialog .eyebrow {color:#ffdf86;font-size:14px;letter-spacing:.16em}
#directoryTitle {font:bold clamp(32px,4.2vw,58px)/1.08 Georgia,serif;color:#fff9ec;text-shadow:2px 3px 0 #af2635,4px 5px 0 #761928,0 4px 15px #10233f;margin:8px 0;max-width:650px;margin-inline:auto}
#directoryDialog .icon-button {position:absolute;top:12px;right:12px;background:#b42b39;border:3px solid #fff0ce;border-radius:50%;color:white;width:46px;height:46px;z-index:2}
#directoryDialog .dialog-intro {padding:0 25px;margin:0 auto 10px;text-align:center;color:#fff9e8;font-size:16px;max-width:700px;text-shadow:0 2px 4px #13304b}
.directory-lights {text-align:center;color:#ffe28a;font-size:25px;letter-spacing:13px;overflow:hidden;white-space:nowrap;height:36px;text-shadow:0 0 8px #fff1a1,0 0 18px #ffc73f}
#directoryList {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 30px;padding:22px 55px 28px;align-items:start}
#directoryDialog .directory-district {position:relative;overflow:visible;border:0;background:none;border-radius:0;padding:0}
#directoryDialog .directory-district::before {content:' ';position:absolute;top:45px;bottom:-12px;left:22px;width:13px;background:linear-gradient(90deg,#67301b,#bc7540,#70351f);border-radius:4px;box-shadow:inset 0 0 0 2px #713b23;z-index:-1}
#directoryDialog .directory-district::after {content:'✦';position:absolute;top:-14px;right:25px;color:#ffda73;font-size:27px;text-shadow:0 1px #a86212,0 0 9px #eacc73}
#directoryDialog .directory-item {position:relative;min-height:100px;padding:23px 20px 15px;gap:17px;border:4px solid #a86536;border-radius:20px;color:#fff7df;
 background:repeating-linear-gradient(3deg,transparent 0 11px,#e4a36a12 12px 14px),linear-gradient(100deg,#8c4928,#a75b32 48%,#713519);
 box-shadow:inset 0 0 0 2px #d99a61,inset 0 -5px 12px #51200b66,0 6px 0 #57270f,0 9px 15px #13314955}
#directoryDialog .directory-item::before {content:'';position:absolute;top:-7px;left:-4px;right:-4px;height:16px;border-radius:60% 40% 45% 40%;background:linear-gradient(#fff,#e0f4ff);box-shadow:0 4px 0 #b0d4e8}
#directoryDialog .directory-item:hover {filter:brightness(1.12)}
#directoryDialog .directory-item svg {width:43px;height:43px;flex-shrink:0;color:var(--item-accent,#ffdd85);filter:drop-shadow(0 2px 1px #371707)}
#directoryDialog .directory-item strong {font:bold clamp(19px,2vw,25px)/1.15 Georgia,serif;text-shadow:0 2px 2px #47200c}
#directoryDialog .directory-item small {color:#fff0c6;font-size:13px;margin-top:7px}
#directoryDialog .directory-activity-list {padding:18px 7px 0;gap:14px}
#directoryDialog .directory-activity-button {position:relative;min-height:104px;padding:16px 13px;border:3px solid #bf8656;border-radius:17px;gap:12px;
 background:repeating-linear-gradient(2deg,transparent 0 13px,#e8b6800c 14px 16px),linear-gradient(110deg,#6e321b,#924e2c 55%,#6a2c18);
 box-shadow:inset 0 0 0 2px #e2b17d,0 4px 0 #59240f,0 6px 10px #23374633;color:#fff8e8}
#directoryDialog .directory-activity-button::before {content:'';position:absolute;top:-5px;left:10px;right:10px;height:8px;border-radius:60%;background:#effaff;box-shadow:0 2px #c0dfed}
#directoryDialog .directory-activity-button:hover {filter:brightness(1.12)}
#directoryDialog .directory-activity-button strong {font:bold 19px/1.18 Georgia,serif;text-shadow:0 2px 2px #381608}
#directoryDialog .directory-activity-button small {display:block;font-size:13px;line-height:1.4;margin-top:6px;color:#fff1da}
#directoryDialog .directory-activity-button b {display:block;padding:11px 15px;font-size:17px;color:#fff;border:3px solid #fff6d9;border-radius:24px;background:linear-gradient(#a5db45,#459f24 48%,#176b20);box-shadow:0 0 0 3px #af3438,inset 0 2px 3px #f0ffc2,0 5px 6px #31150088;text-shadow:0 2px #276519}
#directoryDialog button:focus-visible {outline:4px solid #ffe481;outline-offset:5px}
.directory-farewell {margin:10px 20px 0;text-align:center;color:#244566;font:bold 17px/1.4 Georgia,serif}
@media(min-width:1000px){#directoryDialog{background-image:linear-gradient(180deg,#164477aa,#236080cc 38%,#d4eaf2e8),url('/assets/img/snowman-cinematic/village-desktop.webp')}}
@media(max-width:760px){
 #directoryDialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);border-radius:22px}
 #directoryDialog .dialog-header{min-height:150px;padding:24px 100px 12px 18px;background-size:90px auto}
 #directoryTitle{font-size:32px}
 #directoryDialog .eyebrow{font-size:11px}
 #directoryDialog .dialog-intro{font-size:14px;padding:0 20px}
 #directoryList{grid-template-columns:1fr;gap:25px;padding:18px 22px 24px}
 #directoryDialog .directory-item{min-height:94px}
 #directoryDialog .directory-item strong{font-size:23px}
 #directoryDialog .directory-activity-button{min-height:104px}
 #directoryDialog .directory-activity-button strong{font-size:18px}
 #directoryDialog .directory-activity-button small{font-size:12px}
 #directoryDialog .directory-activity-button b{padding:10px 12px;font-size:16px}
 .directory-lights{font-size:19px;letter-spacing:9px;height:29px}
}
@media(max-width:370px){#directoryList{padding-inline:14px}#directoryDialog .directory-activity-button{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:14px 10px}#directoryDialog .directory-activity-button b{padding:9px;font-size:14px}#directoryDialog .dialog-header{padding-right:85px}#directoryTitle{font-size:28px}}


/* Distinct destination signs, large illustrated greeting and layered snowfall. */
#directoryDialog .dialog-header {min-height:245px;padding:30px 255px 20px 38px;background:none}
#directoryDialog .dialog-header>div:first-child {position:relative;z-index:2}
#directoryDialog .dialog-header>.directory-santa {position:absolute;right:40px;bottom:0;width:181.5px;height:245px;pointer-events:none;overflow:hidden}
.directory-santa img {position:absolute;max-width:none;left:-67.5%;top:0;width:239.5%;height:100%;object-fit:fill}
.directory-santa-body {clip-path:polygon(43% 0,100% 0,100% 100%,0 100%,0 42%,43% 42%)}
.directory-santa-arm {clip-path:polygon(28% 3%,38% 3%,44% 27%,44% 41%,39% 40%,30% 22%);transform-origin:42% 36%}
#directoryDialog.is-moving .directory-santa-arm {animation:directory-santa-wave 5s ease-in-out infinite}
@keyframes directory-santa-wave {0%,8%,40%,100%{transform:rotate(0deg)}14%,26%{transform:rotate(-9deg)}20%,32%{transform:rotate(8deg)}}
#directoryDialog .directory-district .directory-item {min-height:118px;background:repeating-linear-gradient(3deg,transparent 0 12px,#b0dda010 13px 15px),linear-gradient(110deg,#154d3b,#2a6b4a 50%,#123d2e);border-color:#d9b35e;box-shadow:inset 0 0 0 2px #f4d893,inset 0 -6px 10px #082b2666,0 6px 0 #703d20,0 10px 17px #17343c55}
#directoryDialog .directory-district .directory-item strong {font-size:clamp(24px,2.5vw,32px);color:#fff7cd;line-height:1.13}
#directoryDialog .directory-item small {color:#dff2db}
#directoryDialog .directory-place-label {display:block;font:700 10px/1.4 system-ui,sans-serif;font-style:normal;text-transform:uppercase;letter-spacing:.18em;color:#f1d48e;margin-bottom:5px}
#directoryDialog .directory-activity-list {padding-left:26px}
#directoryDialog .directory-activity-button strong {font-size:18px}
.directory-snow {position:sticky;top:0;height:calc(100dvh - 36px);margin-bottom:calc(-100dvh + 36px);width:100%;pointer-events:none;z-index:5;overflow:hidden}
.directory-snow i {position:absolute;top:-310px;left:var(--snow-x);width:var(--snow-size);height:var(--snow-size);border-radius:50%;background:#fff;opacity:0;box-shadow:0 0 5px #fff9}
#directoryDialog.is-moving .directory-snow i {animation:directory-snowfall var(--snow-time) linear var(--snow-delay) infinite}
@keyframes directory-snowfall {0%{transform:translate3d(0,0,0);opacity:0}8%{opacity:var(--snow-opacity)}90%{opacity:var(--snow-opacity)}100%{transform:translate3d(var(--snow-drift),calc(100dvh + 330px),0);opacity:0}}
@media(max-width:760px){
 #directoryDialog .dialog-header{min-height:213px;padding:26px 122px 14px 15px}
 #directoryDialog .dialog-header>.directory-santa{right:8px;width:123px;height:166px;bottom:0}
 #directoryTitle{font-size:30px}
 #directoryDialog .directory-district .directory-item strong{font-size:25px}
 #directoryDialog .directory-activity-list{padding-left:16px}
 #directoryDialog .directory-district .directory-item{min-height:112px}
}
@media(max-width:370px){#directoryDialog .dialog-header{padding-right:108px}#directoryDialog .dialog-header>.directory-santa{width:108px;height:146px}#directoryTitle{font-size:27px}#directoryDialog .directory-activity-list{padding-left:10px}}
@media(prefers-reduced-motion:reduce){#directoryDialog.is-moving .directory-santa-arm,#directoryDialog.is-moving .directory-snow i{animation:none!important}.directory-snow{display:none}}
.reduce-motion #directoryDialog .directory-santa-arm,.reduce-motion #directoryDialog .directory-snow i{animation:none!important}
.reduce-motion .directory-snow{display:none}
.directory-snow i:nth-child(1) {--snow-x:0%;--snow-size:2px;--snow-time:8s;--snow-delay:-0s;--snow-drift:-30px;--snow-opacity:0.25;}
.directory-snow i:nth-child(2) {--snow-x:37%;--snow-size:3px;--snow-time:9s;--snow-delay:-1s;--snow-drift:-13px;--snow-opacity:0.37;}
.directory-snow i:nth-child(3) {--snow-x:74%;--snow-size:4px;--snow-time:10s;--snow-delay:-2s;--snow-drift:4px;--snow-opacity:0.49;}
.directory-snow i:nth-child(4) {--snow-x:11%;--snow-size:5px;--snow-time:11s;--snow-delay:-3s;--snow-drift:21px;--snow-opacity:0.61;}
.directory-snow i:nth-child(5) {--snow-x:48%;--snow-size:6px;--snow-time:12s;--snow-delay:-4s;--snow-drift:38px;--snow-opacity:0.73;}
.directory-snow i:nth-child(6) {--snow-x:85%;--snow-size:2px;--snow-time:13s;--snow-delay:-5s;--snow-drift:-20px;--snow-opacity:0.25;}
.directory-snow i:nth-child(7) {--snow-x:22%;--snow-size:3px;--snow-time:14s;--snow-delay:-6s;--snow-drift:-3px;--snow-opacity:0.37;}
.directory-snow i:nth-child(8) {--snow-x:59%;--snow-size:4px;--snow-time:15s;--snow-delay:-7s;--snow-drift:14px;--snow-opacity:0.49;}
.directory-snow i:nth-child(9) {--snow-x:96%;--snow-size:5px;--snow-time:16s;--snow-delay:-8s;--snow-drift:31px;--snow-opacity:0.61;}
.directory-snow i:nth-child(10) {--snow-x:33%;--snow-size:6px;--snow-time:8s;--snow-delay:-9s;--snow-drift:-27px;--snow-opacity:0.73;}
.directory-snow i:nth-child(11) {--snow-x:70%;--snow-size:2px;--snow-time:9s;--snow-delay:-10s;--snow-drift:-10px;--snow-opacity:0.25;}
.directory-snow i:nth-child(12) {--snow-x:7%;--snow-size:3px;--snow-time:10s;--snow-delay:-11s;--snow-drift:7px;--snow-opacity:0.37;}
.directory-snow i:nth-child(13) {--snow-x:44%;--snow-size:4px;--snow-time:11s;--snow-delay:-12s;--snow-drift:24px;--snow-opacity:0.49;}
.directory-snow i:nth-child(14) {--snow-x:81%;--snow-size:5px;--snow-time:12s;--snow-delay:-0s;--snow-drift:41px;--snow-opacity:0.61;}
.directory-snow i:nth-child(15) {--snow-x:18%;--snow-size:6px;--snow-time:13s;--snow-delay:-1s;--snow-drift:-17px;--snow-opacity:0.73;}
.directory-snow i:nth-child(16) {--snow-x:55%;--snow-size:2px;--snow-time:14s;--snow-delay:-2s;--snow-drift:0px;--snow-opacity:0.25;}
.directory-snow i:nth-child(17) {--snow-x:92%;--snow-size:3px;--snow-time:15s;--snow-delay:-3s;--snow-drift:17px;--snow-opacity:0.37;}
.directory-snow i:nth-child(18) {--snow-x:29%;--snow-size:4px;--snow-time:16s;--snow-delay:-4s;--snow-drift:34px;--snow-opacity:0.49;}
.directory-snow i:nth-child(19) {--snow-x:66%;--snow-size:5px;--snow-time:8s;--snow-delay:-5s;--snow-drift:-24px;--snow-opacity:0.61;}
.directory-snow i:nth-child(20) {--snow-x:3%;--snow-size:6px;--snow-time:9s;--snow-delay:-6s;--snow-drift:-7px;--snow-opacity:0.73;}
.directory-snow i:nth-child(21) {--snow-x:40%;--snow-size:2px;--snow-time:10s;--snow-delay:-7s;--snow-drift:10px;--snow-opacity:0.25;}
.directory-snow i:nth-child(22) {--snow-x:77%;--snow-size:3px;--snow-time:11s;--snow-delay:-8s;--snow-drift:27px;--snow-opacity:0.37;}
.directory-snow i:nth-child(23) {--snow-x:14%;--snow-size:4px;--snow-time:12s;--snow-delay:-9s;--snow-drift:44px;--snow-opacity:0.49;}
.directory-snow i:nth-child(24) {--snow-x:51%;--snow-size:5px;--snow-time:13s;--snow-delay:-10s;--snow-drift:-14px;--snow-opacity:0.61;}
.directory-snow i:nth-child(25) {--snow-x:88%;--snow-size:6px;--snow-time:14s;--snow-delay:-11s;--snow-drift:3px;--snow-opacity:0.73;}
.directory-snow i:nth-child(26) {--snow-x:25%;--snow-size:2px;--snow-time:15s;--snow-delay:-12s;--snow-drift:20px;--snow-opacity:0.25;}
.directory-snow i:nth-child(27) {--snow-x:62%;--snow-size:3px;--snow-time:16s;--snow-delay:-0s;--snow-drift:37px;--snow-opacity:0.37;}
.directory-snow i:nth-child(28) {--snow-x:99%;--snow-size:4px;--snow-time:8s;--snow-delay:-1s;--snow-drift:-21px;--snow-opacity:0.49;}


/* Reserve a separate top strip for Close, clear of Santa's full wave region. */
#directoryDialog .dialog-header {min-height:312px;padding-top:78px}
@media(max-width:760px){#directoryDialog .dialog-header{min-height:243px;padding-top:58px}}
