/* MapTheFood mobile layer — caricato dopo gli stili storici delle pagine. */
.mobile-only{display:none}

@media (max-width:980px){
  html{height:100%;height:100dvh}
  body{height:100%;height:100dvh;min-height:0}
  .splash-top{padding:22px clamp(18px,5vw,32px) 0}
  .splash-body{padding:36px clamp(18px,5vw,32px) 28px;align-items:center}
  .splash-h1{font-size:clamp(27px,8vw,39px);line-height:1.12}
  .splash-h1 em{font-size:clamp(16px,4.6vw,21px);line-height:1.42;margin-top:14px}
  .splash-cards{grid-template-columns:repeat(2,minmax(0,1fr));max-width:100%}
  .splash-card{border-bottom:1px solid rgba(244,240,230,.18)}
  .splash-card:nth-child(2n){border-right:0}
  .splash-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .splash-stat{padding:15px clamp(18px,5vw,28px);border-bottom:1px solid rgba(244,240,230,.08)}
  .splash-update{padding:15px clamp(18px,5vw,28px);flex-basis:100%}
  .splash-image-credit{padding:8px clamp(18px,5vw,28px) 16px;flex-basis:100%;text-align:left;margin-left:0}
  .desktop-note{display:none!important}

  .mobile-only{display:flex}
  .topbar{padding:10px 14px;min-height:49px}
  .tb-logo{font-size:21px}
  .layers{display:block!important;position:fixed;left:0;right:0;bottom:0;top:auto;width:100%;height:min(82dvh,720px);z-index:2100;border:0;border-radius:18px 18px 0 0;box-shadow:0 -12px 36px rgba(19,35,41,.24);transform:translateY(105%);transition:transform .24s ease;overscroll-behavior:contain;padding-bottom:max(18px,env(safe-area-inset-bottom))}
  .layers.mobile-open{transform:translateY(0)}
  .mobile-sheet-head{position:sticky;top:0;z-index:4;align-items:center;justify-content:space-between;min-height:54px;padding:8px 14px;background:var(--paper);border-bottom:1px solid var(--border)}
  .mobile-sheet-title{font:500 13px/1.2 'Inter',sans-serif;color:var(--titoli)}
  .mobile-sheet-close{width:44px;height:44px;border:0;background:transparent;color:var(--ink);font-size:27px;line-height:1;cursor:pointer;border-radius:50%}
  .mobile-layers-toggle{position:fixed;left:auto;right:10px;bottom:max(28px,calc(env(safe-area-inset-bottom) + 14px));z-index:850;transform:none;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 16px;border:0;border-radius:22px;background:var(--hero-bg);color:var(--hero-text);box-shadow:0 3px 12px rgba(19,35,41,.28);font:500 12px/1 'Inter',sans-serif;letter-spacing:.01em;cursor:pointer}
  .mobile-layers-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8}
  .mobile-drawer-backdrop{display:block;position:fixed;inset:0;z-index:2050;background:rgba(20,31,36,.46);opacity:0;pointer-events:none;transition:opacity .2s}
  .mobile-drawer-backdrop.open{opacity:1;pointer-events:auto}
  body.mobile-drawer-open{overflow:hidden}
  .blk-hdr,.map-sec-item,.map-sec-parent,.bubble-toggle-item,.layer-acc{min-height:44px}
  .filt-opt,.msp-opt{min-height:36px}
  .sidebar-geo-select,.map-geo-bar-sel,.geo-impianto-inp{min-height:40px;font-size:16px}
  .detail{position:fixed;inset:49px 0 0;width:100%;z-index:2200;box-shadow:none;border-left:0}
  .mobile-detail-back{position:sticky;top:0;z-index:9;width:100%;min-height:50px;align-items:center;gap:8px;padding:0 18px;border:0;border-bottom:1px solid var(--border);background:rgba(255,255,255,.97);color:var(--titoli);font:500 13px/1 'Inter',sans-serif;text-align:left;cursor:pointer;backdrop-filter:blur(8px)}
  .detail-hdr{position:sticky;top:0;z-index:2;background:#fff;padding:15px 18px}
  .detail-body{padding:18px max(18px,5vw) 34px}
  .detail-close{width:44px;height:44px;font-size:27px}
  #info-panel{position:fixed;inset:49px 0 0;z-index:2200;background:var(--paper)}
  .mobile-info-back{position:sticky;top:0;z-index:8;width:100%;min-height:50px;align-items:center;gap:8px;padding:0 18px;border:0;border-bottom:1px solid var(--border);background:rgba(246,248,248,.97);color:var(--titoli);font:500 13px/1 'Inter',sans-serif;text-align:left;cursor:pointer;backdrop-filter:blur(8px)}
  #info-panel-body{max-width:none;padding-bottom:40px}
  .map-species-panel{top:6px;left:6px;width:min(118px,calc(43% - 9px));min-width:0;max-height:calc(100% - 118px);overflow-y:auto;padding:3px 5px}
  .map-species-panel.mobile-collapsed{width:auto;max-width:104px;overflow:hidden;padding:0}
  .map-species-panel.mobile-collapsed>:not(.msp-title){display:none!important}
  .map-species-panel .msp-title{min-height:28px;margin:0;align-items:center;padding:0 5px;font-size:9px;cursor:pointer}
  .map-species-panel .msp-title::after{content:'−';margin-left:auto;font-size:12px;color:var(--faint)}
  .map-species-panel.mobile-collapsed .msp-title::after{content:'+'}
  .map-species-panel .msp-opt{min-height:26px;padding:2px 3px;font-size:9.5px}
  .map-species-panel .msp-opt img{width:14px;height:14px}
  .map-species-panel .msp-escluso{font-size:9px}
  .map-species-panel .msp-actions{font-size:9px;padding-top:3px}
  .map-geo-bar{display:none!important;top:6px;right:6px;width:min(136px,calc(55% - 9px));max-height:calc(100% - 118px);overflow-y:auto;padding:3px 5px;gap:2px}
  .map-geo-bar.mobile-open{display:flex!important}
  .mobile-geo-toggle{position:absolute;top:6px;right:6px;z-index:610;align-items:center;gap:4px;min-height:34px;padding:0 9px;border:1px solid rgba(0,0,0,.2);border-radius:18px;background:rgba(255,255,255,.96);color:var(--ink);box-shadow:0 2px 8px rgba(19,35,41,.18);font:500 9.5px/1 'Inter',sans-serif;cursor:pointer}
  .mobile-geo-toggle[aria-expanded="true"]{display:none}
  .mobile-geo-head{align-items:center;justify-content:space-between;margin-bottom:0}
  .mobile-geo-head span{font:500 8px/1 'JetBrains Mono',monospace;letter-spacing:.07em;text-transform:uppercase;color:var(--faint)}
  .mobile-geo-close{width:28px;height:28px;border:0;background:transparent;color:var(--ink);font-size:18px;line-height:1;cursor:pointer}
  .map-geo-bar label{font-size:8px;line-height:1.15}
  .map-geo-bar-sel,.geo-impianto-inp{min-height:29px!important;padding:2px 4px;font-size:13px}
  .map-geo-reset,.geo-count{font-size:9px}
  .mobile-view-info-toggle{position:absolute;top:57px;right:8px;z-index:609;align-items:center;gap:6px;min-height:38px;padding:0 11px;border:1px solid rgba(0,0,0,.2);border-radius:20px;background:rgba(255,255,255,.96);color:var(--ink);box-shadow:0 2px 8px rgba(19,35,41,.16);font:500 11px/1 'Inter',sans-serif;cursor:pointer}
  .mobile-view-info-toggle:not(.has-view){display:none!important}
  .map-geo-bar.mobile-open~.mobile-view-info-toggle{display:none!important}
  .mobile-territory-card{position:absolute;left:12px;right:12px;bottom:max(86px,calc(env(safe-area-inset-bottom) + 72px));z-index:720;display:none;align-items:flex-start;gap:8px;padding:10px 38px 10px 12px;border:1px solid rgba(19,35,41,.18);border-radius:10px;background:rgba(255,255,255,.97);color:var(--ink);box-shadow:0 4px 18px rgba(19,35,41,.24);font:400 11px/1.45 'Inter',sans-serif;backdrop-filter:blur(8px)}
  .mobile-territory-card.open{display:block}
  .mobile-territory-card-close{position:absolute;top:2px;right:3px;width:34px;height:34px;border:0;background:transparent;color:var(--ink);font-size:20px;line-height:1;cursor:pointer}
  .map-toast{top:auto;bottom:76px;max-width:calc(100% - 24px);white-space:normal;text-align:center}
  .mobile-desktop-note{display:none!important}
  .leaflet-bottom.leaflet-left{bottom:max(28px,calc(env(safe-area-inset-bottom) + 14px));left:10px;gap:0}
  .leaflet-bottom.leaflet-left .leaflet-control{margin:0}
  .leaflet-bottom.leaflet-left .leaflet-control:has(.bg-btn-zoom){display:none}
  .bg-toggle{border-width:1px;box-shadow:0 3px 12px rgba(19,35,41,.22)}
  .bg-btn{min-height:34px;padding:3px 8px;font-size:10px}
  .leaflet-control-attribution{margin-bottom:0!important;max-width:calc(100vw - 8px);font-size:8px!important}
}

@media (max-width:560px){
  .splash-hero{min-height:100svh}
  .splash-top{padding:16px 20px 0}
  .splash-logo{font-size:26px}
  .splash-logo-sub{font-size:9px;letter-spacing:.08em}
  .splash-langs{font-size:9px;gap:8px}
  .splash-body{flex:none;padding:30px 20px 24px;align-items:flex-start}
  .splash-h1{font-size:clamp(25px,7vw,30px);line-height:1.12;margin-bottom:12px}
  .splash-h1 em{font-size:clamp(15px,4.2vw,18px);line-height:1.42;margin-top:10px}
  .splash-cta-primary{min-height:42px!important;margin-top:12px!important;margin-bottom:8px;padding:10px 16px;font-size:10px}
  .splash-cards{grid-template-columns:1fr}
  .splash-card{border-right:0}
  .splash-stats{grid-template-columns:1fr 1fr}
  .splash-stat{padding:11px 20px}
  .splash-stat:last-child{grid-column:1/-1}
  .splash-stat-n{font-size:15px}
  .splash-stat-l{font-size:8.5px;line-height:1.35}
  .splash-cta-primary{width:100%;min-height:42px;justify-content:center;padding:10px 16px}
  .splash-update{align-items:flex-start;flex-direction:column;gap:7px;padding:12px 20px}
  .splash-updates{margin-top:auto;background:rgba(29,44,49,.94)}
  .splash-update-txt{font-size:9.5px}
  .splash-image-credit{padding:7px 20px 12px;font-size:6.5px}
  .nh3-tip{width:min(280px,calc(100vw - 36px))!important}
  #info-panel .page-bc{margin:24px 20px 9px}
  #info-panel .page-ttl{margin:0 20px 7px;font-size:28px;line-height:1.15}
  #info-panel .page-date{margin:0 20px 24px}
  #info-panel .page-sub{margin:0 20px 20px}
  #info-panel .sec-hdr{padding:24px 20px 0}
  #info-panel .manifesto{padding:0 20px 24px}
  #info-panel .od-section,#info-panel .prv-section,#info-panel .statement,#info-panel .split,#info-panel .trust,#info-panel .section,#info-panel .role,#info-panel .closing{margin-left:20px;margin-right:20px}
  #info-panel .od-divider{margin-left:20px;margin-right:20px}
  #info-panel .statement,#info-panel .split,#info-panel .trust-grid,#info-panel .section-hdr{grid-template-columns:1fr;gap:10px}
  #info-panel .audiences,#info-panel .topics,#info-panel .values,#info-panel .od-meta{grid-template-columns:1fr}
  #info-panel .panel{padding:17px}
  #info-panel .trust{padding:20px}
  #info-panel .od-legal-row{display:block}
  #info-panel .od-legal-row .od-ll{padding-bottom:4px}
  #info-panel table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  #info-panel img,#info-panel svg{max-width:100%;height:auto}
}

@media (max-width:370px){.msp-opt,.msp-escluso{font-size:11px}.mobile-layers-toggle{padding:0 12px}}

@media (prefers-reduced-motion:reduce){.layers,.mobile-drawer-backdrop{transition:none!important}}
