/* Hide closed panels even while an old reveal animation is still running. */
#frame:not(.focus) .detail{visibility:hidden!important;opacity:0!important;pointer-events:none!important;animation:none!important}
#frame.focus .detail{visibility:visible;pointer-events:auto}
/* Larger independent hit targets, without invisible icon boxes blocking neighbours. */
.leaflet-marker-icon.nz-local-marker{pointer-events:none!important}
.nz-local-marker .poi-dot{pointer-events:auto;align-items:center;min-height:40px;cursor:pointer;transform:translate(-8px,-8px);transition:filter .2s,transform .2s}
.nz-local-marker .poi-dot i{flex:0 0 19px;width:19px;height:19px}
.nz-local-marker .poi-dot span{padding:8px 10px;max-width:210px;white-space:normal;line-height:1.25;box-sizing:border-box}
.nz-local-marker .poi-dot:hover,.nz-local-marker:focus-visible .poi-dot,.nz-local-marker .poi-dot.is-selected{filter:drop-shadow(0 5px 7px #053b4255);transform:translate(-8px,-11px) scale(1.035)}
.nz-local-marker .poi-dot:hover span,.nz-local-marker:focus-visible .poi-dot span,.nz-local-marker .poi-dot.is-selected span{outline:3px solid #f2b94b;background:#fff9e8}
.v5-pin:hover,.leaflet-marker-icon:focus-visible .v5-pin{filter:drop-shadow(0 0 7px #ffcf35);outline:3px solid #ffcf35;border-radius:14px}
.v5-pin.day-selected{filter:drop-shadow(0 0 9px #ffcf35);transform:translateY(-5px) scale(1.2)}
.v5-pin.day-selected b{background:#f2b94b!important;color:#153c41!important;outline:3px solid white}
.nz-selector{max-width:260px;background:white;border-radius:12px;box-shadow:0 4px 18px #1234;overflow:hidden;font:12px/1.4 system-ui}
.nz-selector>button{padding:11px 13px;border:0;background:white;color:#17434b;font-weight:800;cursor:pointer;width:100%;text-align:left}
.nz-selector-list{display:none;max-height:220px;overflow:auto;padding:0 6px 6px}.nz-selector.open .nz-selector-list{display:block}
.nz-selector-list button{display:block;width:100%;min-height:42px;padding:8px;border:0;border-bottom:1px solid #edf2f0;background:white;color:#23444b;text-align:left;cursor:pointer}.nz-selector-list button:hover{background:#fff7df}
.dining-guides{clear:both;display:flow-root;margin:24px 0;position:relative}
.dining-caption{font-size:12px;color:#63787c;line-height:1.6}
.dining-guide{margin:9px 0;border:1px solid #d8e2df;border-radius:14px;overflow:hidden;background:#f8fbfa}
.dining-toggle{width:100%;border:0;background:transparent;display:flex;gap:8px;justify-content:space-between;align-items:center;padding:15px 14px;color:#193f47;cursor:pointer;text-align:left}
.dining-toggle strong{display:block;font-size:14px}.dining-toggle small{display:block;margin-top:6px;color:#795797;font-size:12px}.dining-toggle>b{transition:transform .5s;font-size:19px}.dining-guide.open .dining-toggle>b{transform:rotate(90deg)}
.dining-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .65s ease;opacity:0}.dining-guide.open .dining-body{grid-template-rows:1fr;opacity:1;transition:grid-template-rows .65s ease,opacity .65s ease}
.dining-inner{overflow:hidden;min-height:0}.dining-copy{padding:0 14px 17px}.dining-copy p{line-height:1.7}.dining-copy .food-gallery{position:relative;clear:both}.dining-copy .food-source{font-size:11px;overflow-wrap:anywhere}
@media(max-width:760px){.nz-local-marker .poi-dot{min-height:44px}.nz-local-marker .poi-dot span{font-size:11px;max-width:165px;padding:8px}.nz-selector{max-width:205px}.nz-selector-list{max-height:180px}.dining-toggle{padding:14px 12px}}
@media(prefers-reduced-motion:reduce){.dining-body,.dining-guide.open .dining-body,.poi-dot{transition:none!important}}
