/* A viewport-sized map with controls placed over, rather than beside, it. */
#farm-map-dialog .farm-map-navigation,#farm-map-dialog>.farm-map-footer{display:none!important}
#farm-map-dialog.map-immersive{inset:0;width:100vw;max-width:none;height:100dvh;max-height:100dvh;margin:0;border:0;padding:0}
#farm-map-dialog.map-immersive .farm-map-layout{display:block;width:100%;height:100%;flex:1;min-height:0}
#farm-map-dialog.map-immersive #farm-map-stage{width:100%;height:100%}
#farm-map-dialog.map-immersive .maplibregl-ctrl-top-right,#farm-map-dialog.map-immersive .leaflet-control-zoom,#farm-map-dialog.map-immersive .maplibregl-ctrl-attrib,#farm-map-dialog.map-immersive .leaflet-control-attribution,#farm-map-dialog.map-immersive .maplibregl-ctrl-scale,#farm-map-dialog.map-immersive .leaflet-control-scale{display:none}
#map-mobile-toggle,#map-mobile-panel,.map-credits{background:rgba(250,249,246,.8);-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%);color:#173d49;border:1px solid #ffffff80;box-shadow:0 4px 24px #173d491c}
#map-mobile-toggle{position:absolute;z-index:5;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));min-height:44px;padding:10px 18px;border-radius:24px;font:500 14px system-ui;cursor:pointer}
#map-mobile-panel{position:fixed;inset:76px 16px auto auto;width:360px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 100px);height:auto;margin:0;padding:0;border-radius:18px;overflow:hidden}
#map-mobile-panel[open]{display:flex;flex-direction:column}
#map-mobile-panel::backdrop{background:#173d491a}
.map-mobile-panel-heading{display:flex;align-items:center;gap:12px;padding:8px 12px;flex-shrink:0}
.map-mobile-panel-heading>span{flex:1}
.map-mobile-panel-heading button{min-width:44px;min-height:44px;background:transparent;color:inherit;border:0;cursor:pointer;font:14px system-ui;border-radius:22px}
.map-mobile-panel-heading .map-mobile-dismiss{font-size:28px}
.map-mobile-back[hidden]{display:none!important}
.map-mobile-content{overflow:auto;overscroll-behavior:contain;padding-bottom:12px;min-height:0}
#map-mobile-panel .farm-map-toolbar{padding:0 16px 16px;border:0;gap:12px}
#map-mobile-panel .farm-map-toolbar button{font-size:13px;min-height:44px;padding:9px 12px;border-radius:10px;border:1px solid #173d4920;background:transparent}
#map-mobile-panel .farm-map-toolbar button[aria-pressed=true]{background:#173d49;color:#fff}
#map-mobile-panel .farm-map-sidebar{overflow:visible;border:0;background:transparent}
#map-mobile-panel #farm-map-list{grid-template-columns:1fr}
#map-mobile-panel #farm-map-list button{min-height:52px;background:transparent;border-color:#173d4915}
#map-mobile-panel #farm-map-list button:hover,#map-mobile-panel #farm-map-list button[aria-pressed=true]{background:#173d490c}
#map-mobile-panel #farm-map-count{padding:12px 16px}
#map-mobile-panel #farm-map-detail{border:0;padding:0 20px 12px;font-size:14px}
#map-mobile-panel .farm-map-heading{padding:16px;border:0}
#map-mobile-panel .farm-map-heading>div:first-child{display:none}
#map-mobile-panel .farm-map-heading a{font-size:14px}
#map-mobile-panel #farm-map-close,#map-mobile-panel #farm-map-fullscreen{width:auto;min-height:44px;font-size:13px;padding:8px 12px;border-radius:10px}
html[data-public-map] #map-mobile-panel #farm-map-close{display:none}
#map-mobile-panel[data-view=options] #farm-map-detail{display:none}
#map-mobile-panel[data-view=detail] .farm-map-toolbar,#map-mobile-panel[data-view=detail] #farm-map-count,#map-mobile-panel[data-view=detail] #farm-map-list,#map-mobile-panel[data-view=detail] .farm-map-heading{display:none}
#map-mobile-status[hidden]{display:none}
#map-mobile-status{position:absolute;z-index:4;left:50%;transform:translateX(-50%);bottom:20px;max-width:calc(100% - 120px);margin:0;padding:10px 14px;border-radius:10px;background:#faf9f6ed;font:12px/1.5 system-ui;color:#173d49;pointer-events:none}
.map-credits{position:absolute;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));z-index:4;border-radius:22px;display:flex;align-items:center;font:11px/1.5 system-ui;padding:0}
.map-credits summary{list-style:none;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;font:600 16px Georgia,serif;border-radius:50%}
.map-credits summary::-webkit-details-marker{display:none}
.map-credits[open]{padding:0 12px 0 0;display:flex}
.map-credits>span{padding-left:12px}
.map-credits a{color:inherit}
#farm-map-dialog.map-phone #map-mobile-panel{inset:auto 0 0;width:100%;max-width:650px;max-height:78dvh;margin:auto auto 0;border-radius:20px 20px 0 0}
#farm-map-dialog.map-phone .map-mobile-content{padding-bottom:max(16px,env(safe-area-inset-bottom))}
#farm-map-dialog.map-phone #farm-map-fullscreen{display:none}
@media(prefers-reduced-motion:no-preference){#map-mobile-panel[open]{animation:map-panel-in .18s ease-out}@keyframes map-panel-in{from{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}}
#farm-map-dialog.map-immersive>#farm-map-close{position:absolute;z-index:5;top:max(16px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));width:auto;min-height:44px;padding:10px 16px;border:1px solid #ffffff80;border-radius:24px;background:rgba(250,249,246,.8);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#173d49;box-shadow:0 4px 24px #173d491c;font:500 14px system-ui;cursor:pointer}
#farm-map-dialog.farm-map-fullscreen>#map-mobile-toggle,#farm-map-dialog.farm-map-fullscreen>#farm-map-close,#farm-map-dialog.farm-map-fullscreen>#map-mobile-panel{display:none}

/* Touch navigation keeps the existing glass appearance and the map interactive. */
#farm-map-canvas.map-moving .farm-pin:not(.is-selected) .farm-pin-name{visibility:hidden}
.map-quick{position:absolute;z-index:5;top:max(72px,calc(env(safe-area-inset-top) + 56px));right:16px}
.map-quick button{min-width:44px;min-height:44px;border:1px solid #ffffff80;border-radius:24px;background:rgba(250,249,246,.8);backdrop-filter:blur(20px);color:#173d49;font:500 14px system-ui}
.map-quick button[hidden]{display:none}
.map-shortcuts{display:flex;gap:8px;padding:0 16px 12px}
.map-shortcuts button,.map-expand{min-height:44px;border:1px solid #173d4920;border-radius:10px;background:transparent;color:inherit;padding:8px 12px;font:14px system-ui}
.map-site-search{display:block;width:calc(100% - 32px);box-sizing:border-box;margin:0 16px 16px;padding:12px;border:1px solid #173d4920;border-radius:10px;background:#ffffff80;color:#173d49;font:16px system-ui}
#map-mobile-panel[data-view=detail] .map-shortcuts,#map-mobile-panel[data-view=detail] .map-site-search{display:none}
#farm-map-list button[hidden]{display:none!important}
.map-expand{display:none}
.map-credits{background:rgba(250,249,246,.7);border:0;box-shadow:none;border-radius:3px;font-size:9px;bottom:max(3px,env(safe-area-inset-bottom));right:4px}
.map-credits summary{display:none}
.map-credits[open]{padding:2px 5px}
.map-credits>span{padding:0}
#farm-map-dialog.map-phone #map-mobile-toggle{top:auto;bottom:max(30px,calc(env(safe-area-inset-bottom) + 26px))}
#farm-map-dialog.map-phone .map-quick{top:max(16px,env(safe-area-inset-top))}
#farm-map-dialog.map-phone #map-mobile-panel[data-view=detail]:not(.expanded){max-height:32dvh}
#farm-map-dialog.map-phone #map-mobile-panel[data-view=detail] .map-expand{display:block;flex-shrink:0;margin:0 16px max(12px,env(safe-area-inset-bottom))}
#farm-map-dialog.map-phone .map-mobile-panel-heading{touch-action:none}
#farm-map-dialog.map-phone .map-mobile-panel-heading:before{content:'';position:absolute;width:36px;height:4px;border-radius:4px;background:#173d4940;top:6px;left:calc(50% - 18px)}
#farm-map-dialog.farm-map-fullscreen>.map-quick{display:none}
#farm-map-dialog:has(#map-mobile-panel[open]) #map-mobile-toggle,
#farm-map-dialog:has(#map-mobile-panel[open]) .map-quick{visibility:hidden}
#farm-map-dialog.map-phone #map-mobile-panel[data-view=detail]:not(.expanded) #farm-map-detail>p:not(.map-status-line),#farm-map-dialog.map-phone #map-mobile-panel[data-view=detail]:not(.expanded) #farm-map-detail>a{display:none}
#map-mobile-panel #farm-map-reset{display:none}

.map-quick .map-compass{width:48px;height:48px;padding:0;display:grid;place-items:center;cursor:pointer}
.map-compass-dial{position:relative;display:block;width:38px;height:38px;transform-origin:center;pointer-events:none}
.map-compass-n{position:absolute;top:0;left:0;width:100%;text-align:center;font:700 9px/10px system-ui}
.map-compass-dial svg{position:absolute;left:9px;top:11px;width:20px;height:25px}

/* Source material remains secondary to the map and compact phone card. */
#farm-map-detail .map-profile{margin-top:20px;border-top:1px solid #7773;padding-top:12px}
#farm-map-detail .map-profile summary{cursor:pointer;min-height:44px;display:list-item;align-content:center;font-weight:600}
#farm-map-detail .map-profile-body{padding:0 0 16px;overflow-wrap:anywhere}
#farm-map-detail .map-profile h4{font-size:13px;margin:24px 0 10px;font-weight:600}
#farm-map-detail .map-profile ul{list-style:none;margin:0;padding:0}
#farm-map-detail .map-profile li{margin:0;padding:12px 0;border-bottom:1px solid #7772}
#farm-map-detail .map-profile a{display:block;line-height:1.5;padding:5px 0;text-underline-offset:3px}
#farm-map-detail .map-profile small{display:block;font-size:11px;line-height:1.6;color:#58635e;margin:3px 0}
#farm-map-detail .map-profile-note{font-size:12px;line-height:1.6;color:#58635e;margin:8px 0}
#farm-map-dialog.map-phone #map-mobile-panel[data-view=detail]:not(.expanded) #farm-map-detail>.map-profile{display:none}

[data-map-filter=kaldvik]{--company-color:#7B8791}
.map-shortcuts{flex-wrap:wrap}

#farm-map-canvas .farm-pin.site-unconfirmed .farm-pin-dot{opacity:.45}
#farm-map-canvas .farm-pin.site-unconfirmed .farm-pin-name{border-style:dashed}
