.map-pane{display:flex;min-width:0}
.map-canvas{position:relative;flex:1;min-width:0;height:100%;overflow:hidden}
.map-controls{flex-wrap:wrap;justify-content:flex-end;max-width:calc(100% - 70px)}
#foliage-toggle{display:inline-flex;align-items:center;justify-content:center;gap:5px}
#foliage-toggle .icon{width:15px;height:15px}
.foliage-panel{flex:0 0 310px;display:flex;flex-direction:column;min-width:0;min-height:0;max-height:100%;background:var(--surface);color:var(--ink);border-left:1px solid var(--line);padding:12px;overflow:auto;overscroll-behavior:contain}
.foliage-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.foliage-heading h2{font:650 19px/1.3 var(--text);letter-spacing:-.3px;margin:0}
.foliage-heading p{font-size:11px;margin-top:2px}
.foliage-panel .icon-button{width:44px;height:44px;min-width:44px;padding:11px;flex-shrink:0}
.foliage-panel .icon-button:focus-visible{outline-offset:-2px}
.foliage-scope{display:flex;gap:5px;padding:3px;background:var(--paper);border:1px solid var(--line);border-radius:7px;flex-shrink:0}
.foliage-scope button{flex:1;min-height:38px;padding:7px 8px;background:transparent;color:var(--muted);font-size:11px;font-weight:600;border-radius:4px;white-space:nowrap}
.foliage-scope button[aria-pressed=true]{background:var(--forest);color:var(--paper)}
.foliage-date-controls{display:flex;align-items:center;gap:3px;margin-top:5px;flex-shrink:0}
#foliage-date{flex:1;min-width:0;text-align:center;font-size:15px;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}
#foliage-prev .icon{transform:rotate(90deg)}#foliage-next .icon{transform:rotate(-90deg)}
#foliage-play{margin-left:auto;background:var(--forest-soft);color:var(--forest);border-radius:6px}
.foliage-slider-wrap{padding:0 12px 16px;flex-shrink:0}
#foliage-slider{appearance:none;-webkit-appearance:none;display:block;width:100%;height:30px;min-height:30px;padding:0;border:0;background:transparent;cursor:pointer;margin:0;accent-color:var(--forest)}
#foliage-slider::-webkit-slider-runnable-track{height:5px;border-radius:5px;background:var(--line)}
#foliage-slider::-moz-range-track{height:5px;border-radius:5px;background:var(--line)}
#foliage-slider::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;background:var(--forest);border:3px solid var(--surface);box-shadow:0 0 0 1px var(--forest);border-radius:50%;margin-top:-8.5px}
#foliage-slider::-moz-range-thumb{width:18px;height:18px;background:var(--forest);border:3px solid var(--surface);box-shadow:0 0 0 1px var(--forest);border-radius:50%}
.foliage-date-ticks{height:14px;position:relative;color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums}
.foliage-date-ticks span{position:absolute;top:0;transform:translateX(-50%);white-space:nowrap}
.foliage-date-ticks span:first-child{transform:none}.foliage-date-ticks span:last-child{transform:translateX(-100%)}
.foliage-picture{flex:1;min-height:160px;position:relative;border:1px solid var(--line);border-radius:5px;overflow:hidden;background:#faf8f2}
#foliage-viewer{position:absolute;inset:0;background:#faf8f2}
#foliage-fit{position:absolute;z-index:500;top:10px;right:10px;min-height:37px}
.foliage-frame-status{position:absolute;z-index:550;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;background:var(--surface);color:var(--muted);padding:20px;text-align:center;font-size:12px;line-height:1.6}
.foliage-frame-status .button{font-size:12px;min-height:44px}
.foliage-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 7px;margin:11px 0 9px;padding:0;list-style:none;flex-shrink:0}
.foliage-legend li{display:flex;align-items:center;gap:5px;font-size:10px;line-height:1.4;color:var(--ink)}
.foliage-legend li>span{height:10px;width:10px;flex-shrink:0;border-radius:2px;border:1px solid #0002}
.foliage-footer{font-size:10px;line-height:1.5;flex-shrink:0}
.foliage-footer>a:first-child{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:29px;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.foliage-footer .icon{width:13px;height:13px}.foliage-footer p{margin:4px 0 7px}.foliage-reports-link{display:inline-block;min-height:26px;text-decoration:underline;text-underline-offset:3px}
@media(max-width:1100px){
 .map-pane[data-foliage-open] .map-canvas{display:none}
 .foliage-panel{flex:1;border-left:0}
}
@media(max-width:620px),(hover:none) and (pointer:coarse) and (max-height:540px) and (max-width:1024px){
 body[data-view=map]:has(.map-pane[data-foliage-open]) .places-heading,
 body[data-view=map]:has(.map-pane[data-foliage-open]) .destination-tabs,
 body[data-view=map]:has(.map-pane[data-foliage-open]) .explore-toolbar,
 body[data-view=map]:has(.map-pane[data-foliage-open]) .category-chips,
 body[data-view=map]:has(.map-pane[data-foliage-open]) .active-filters{display:none}
 body[data-view=map]:has(.map-pane[data-foliage-open]) .places-section{display:flex}
 .foliage-panel{padding:8px 10px}
 .foliage-heading{margin-bottom:5px}.foliage-heading h2{font-size:18px}.foliage-heading p{font-size:11px}
 .foliage-scope button{min-height:44px;font-size:12px}
 .foliage-date-controls{margin-top:3px}.foliage-slider-wrap{padding-bottom:8px}
 #foliage-slider{height:44px;min-height:44px}
 .foliage-legend{gap:5px 8px;margin:8px 0 5px}.foliage-legend li{font-size:11px}
 .foliage-footer{font-size:11px}.foliage-footer>a:first-child,.foliage-reports-link{min-height:44px;align-content:center}
 .foliage-footer p{margin:2px 0}.foliage-picture{min-height:190px}
 #foliage-fit{min-height:44px;font-size:12px}.foliage-frame-status{font-size:13px}
 #foliage-toggle .icon{display:none}
}
@media(hover:none) and (pointer:coarse) and (max-height:540px) and (min-width:621px) and (max-width:1024px){
 .foliage-panel{display:grid;grid-template-columns:300px minmax(0,1fr);grid-template-rows:44px 50px 48px 64px auto auto;column-gap:12px;align-content:start}
 .foliage-heading{grid-column:1;grid-row:1;position:sticky;top:0;z-index:600;background:var(--surface)}
 .foliage-scope{grid-column:1;grid-row:2}
 .foliage-date-controls{grid-column:1;grid-row:3;position:sticky;top:44px;z-index:600;background:var(--surface)}
 .foliage-slider-wrap{grid-column:1;grid-row:4;position:sticky;top:92px;z-index:600;background:var(--surface)}
 .foliage-legend{grid-column:1;grid-row:5}.foliage-footer{grid-column:1;grid-row:6}
 .foliage-picture{grid-column:2;grid-row:1/7;position:sticky;top:0;align-self:start;min-height:150px;height:calc(var(--visual-height) - var(--mobile-nav-height) - 90px)}
}

/* Geographic overlay controls. The original publisher images remain a second view. */
.foliage-mode{display:flex;gap:5px;padding:3px;border:1px solid var(--line);border-radius:7px;background:var(--paper);flex-shrink:0}
.foliage-mode button{flex:1;min-height:40px;padding:8px;background:transparent;border-radius:4px;color:var(--muted);font-size:12px;font-weight:600}
.foliage-mode button[aria-pressed=true]{background:var(--forest);color:var(--paper)}
.foliage-opacity{display:block;font-size:12px;color:var(--ink)}.foliage-opacity>span{display:flex;justify-content:space-between;align-items:center}
#foliage-opacity{display:block;width:100%;height:44px;min-height:44px;padding:0;border:0;background:transparent;accent-color:var(--forest)}
.foliage-play-option{min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:5px;background:var(--forest-soft);color:var(--ink);font-size:12px}
.foliage-options>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;min-height:40px;font-size:12px}
.foliage-options>summary::-webkit-details-marker{display:none}.foliage-options>summary .icon{width:13px;height:13px}.foliage-options[open]>summary .icon{transform:rotate(180deg)}
.foliage-summary-note{color:var(--muted);font-size:11px;text-align:right}
.foliage-overlay-status{position:absolute;bottom:calc(100% + 6px);left:10px;right:10px;z-index:650;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface);border:1px solid var(--line);padding:8px 12px;border-radius:6px;font-size:12px;box-shadow:0 3px 12px #0002}
.foliage-overlay-status button{min-height:44px;padding:8px 12px;background:var(--forest);color:var(--paper);border-radius:4px}
.foliage-region-popup{font-family:var(--text);color:var(--ink);font-size:12px;line-height:1.5;min-width:180px}
.foliage-region-popup h3{font:600 17px/1.3 var(--text);margin:0 0 12px}.foliage-region-popup p{margin:10px 0!important;font-size:12px;line-height:1.5}
.foliage-region-popup .foliage-region-stage{display:flex;gap:7px;align-items:center;font-weight:600;color:var(--ink)}
.foliage-region-stage>span{width:13px;height:13px;border:1px solid var(--line);border-radius:3px;flex-shrink:0}
.foliage-region-popup a{display:inline-flex;align-items:center;min-height:44px;color:var(--forest)!important;text-decoration:underline!important;text-underline-offset:3px}
.map-pane[data-foliage-open][data-foliage-mode=overlay]{flex-direction:column}
.map-pane[data-foliage-open][data-foliage-mode=overlay] .map-canvas{display:block;flex:1;height:auto;min-height:170px}
.map-pane[data-foliage-open][data-foliage-mode=overlay] .map-controls{pointer-events:none}
.map-pane[data-foliage-open][data-foliage-mode=overlay] .map-control{pointer-events:auto}
.foliage-panel[data-mode=overlay]{position:relative;flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) 44px;grid-template-rows:auto auto auto;column-gap:6px;width:100%;max-height:none;min-height:0;padding:5px 12px;border-left:0;border-top:1px solid var(--line);overflow:visible;z-index:600}
.foliage-panel[data-mode=overlay] .foliage-heading{display:contents}.foliage-panel[data-mode=overlay] .foliage-heading>div{display:none}
.foliage-panel[data-mode=overlay] #foliage-close{grid-column:2;grid-row:1}
.foliage-panel[data-mode=overlay] .foliage-date-controls{grid-column:1;grid-row:1;margin:0;position:static;max-width:380px;justify-self:center;width:100%}
.foliage-panel[data-mode=overlay] #foliage-play{display:none}
.foliage-panel[data-mode=overlay] .foliage-slider-wrap{grid-column:1/3;grid-row:2;padding-bottom:4px;position:static}
.foliage-panel[data-mode=overlay] .foliage-options{grid-column:1/3;grid-row:3}
.foliage-panel[data-mode=overlay] .foliage-options-body{position:absolute;z-index:900;left:8px;right:8px;bottom:calc(100% + 8px);max-height:calc(var(--foliage-map-height,300px) - 16px);overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:10px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 25px #0003}
.foliage-panel[data-mode=overlay] .foliage-picture{display:none}
.foliage-panel[data-mode=overlay] .foliage-mode,.foliage-panel[data-mode=overlay] .foliage-scope,.foliage-panel[data-mode=overlay] .foliage-legend,.foliage-panel[data-mode=overlay] .foliage-footer{position:static;grid-area:auto;margin:0}
.foliage-panel[data-mode=original] .foliage-options,.foliage-panel[data-mode=original] .foliage-options-body{display:contents}
.foliage-panel[data-mode=original] .foliage-options>summary,.foliage-panel[data-mode=original] .foliage-opacity,.foliage-panel[data-mode=original] .foliage-play-option,.foliage-panel[data-mode=original] .foliage-overlay-status{display:none}
.foliage-panel[data-mode=original] .foliage-heading{order:0}.foliage-panel[data-mode=original] .foliage-mode{order:1;margin-bottom:7px}.foliage-panel[data-mode=original] .foliage-scope{order:2}.foliage-panel[data-mode=original] .foliage-date-controls{order:3}.foliage-panel[data-mode=original] .foliage-slider-wrap{order:4}.foliage-panel[data-mode=original] .foliage-picture{order:5}.foliage-panel[data-mode=original] .foliage-legend{order:6}.foliage-panel[data-mode=original] .foliage-footer{order:7}
@media(max-width:620px),(hover:none) and (pointer:coarse) and (max-height:540px) and (max-width:1024px){
 body[data-view=map]:has(.map-pane[data-foliage-mode=overlay]) .places-heading,
 body[data-view=map]:has(.map-pane[data-foliage-mode=overlay]) .destination-tabs,
 body[data-view=map]:has(.map-pane[data-foliage-mode=overlay]) .explore-toolbar,
 body[data-view=map]:has(.map-pane[data-foliage-mode=overlay]) .category-chips,
 body[data-view=map]:has(.map-pane[data-foliage-mode=overlay]) .active-filters{display:flex}
 .foliage-panel[data-mode=overlay]{padding:3px 8px}
 .foliage-panel[data-mode=overlay] .foliage-options>summary,.foliage-mode button{min-height:44px}
 .foliage-panel[data-mode=overlay] #foliage-date{font-size:14px}
 .map-pane[data-foliage-open][data-foliage-mode=overlay] .map-key .destination-key{display:none}
 .map-pane[data-foliage-open][data-foliage-mode=overlay] .map-key{pointer-events:none}
}
@media(max-width:360px){body[data-view=map]:has(.map-pane[data-foliage-open][data-foliage-mode=overlay]) .category-chips{display:none}}
@media(hover:none) and (pointer:coarse) and (max-height:540px) and (min-width:621px) and (max-width:1024px){
 body[data-view=map]:has(.map-pane[data-foliage-mode=overlay]) .places-section{display:grid}
 body[data-view=map]:has(.map-pane[data-foliage-mode=overlay]) .category-chips{display:none}
 .map-pane[data-foliage-open][data-foliage-mode=overlay]{flex-direction:row}
 .map-pane[data-foliage-open][data-foliage-mode=overlay] .map-canvas{min-height:0;height:100%}
 .foliage-panel[data-mode=overlay]{flex:0 0 250px;width:250px;border-top:0;border-left:1px solid var(--line);align-content:start}
 .foliage-panel[data-mode=overlay] .foliage-options-body{bottom:8px;max-height:calc(100% - 16px)}
 .foliage-panel[data-mode=overlay] .foliage-options>summary{flex-wrap:wrap;gap:2px 8px}
 .foliage-panel[data-mode=overlay] .foliage-summary-note{display:block;text-align:left}
 .foliage-panel[data-mode=original]{grid-template-rows:44px 48px 50px 48px 64px auto auto}
 .foliage-panel[data-mode=original] .foliage-mode{grid-column:1;grid-row:2}.foliage-panel[data-mode=original] .foliage-scope{grid-row:3}.foliage-panel[data-mode=original] .foliage-date-controls{grid-row:4}.foliage-panel[data-mode=original] .foliage-slider-wrap{grid-row:5}.foliage-panel[data-mode=original] .foliage-legend{grid-row:6}.foliage-panel[data-mode=original] .foliage-footer{grid-row:7}.foliage-panel[data-mode=original] .foliage-picture{grid-row:1/8}
}
