/* iPhone-friendly layout, applied when <html class="mobile"> (toggle in nav). */
.mobile-toggle { margin-left:auto; border:1px solid #d97706; background:#fff8e7; color:#92400e; font-weight:700;
  border-radius:999px; padding:4px 12px; font-size:.85rem; cursor:pointer; white-space:nowrap; }
html.mobile .mobile-toggle { background:#d97706; color:#fff; }
html.mobile body { -webkit-text-size-adjust:100%; overflow-x:hidden; }
html.mobile header { padding:10px 12px; padding-top:max(10px, env(safe-area-inset-top)); }
html.mobile header h1 { font-size:1.05rem; line-height:1.25; }
html.mobile header p { font-size:.78rem; margin-top:4px; }
html.mobile nav { flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none;
  gap:16px; padding:8px 12px; align-items:center; }
html.mobile nav::-webkit-scrollbar { display:none; }
html.mobile nav a { white-space:nowrap; font-size:.9rem; padding:6px 0; }
html.mobile nav .mobile-toggle { margin-left:0; order:-1; flex:0 0 auto; }
html.mobile main { padding:10px 10px 32px; padding-left:max(10px, env(safe-area-inset-left)); padding-right:max(10px, env(safe-area-inset-right)); }
html.mobile .note { font-size:.82rem; padding:10px; }
html.mobile .layout { grid-template-columns:1fr !important; gap:10px; }
html.mobile .panel h2 { font-size:.98rem; padding:10px 12px; }
html.mobile .chart { height:260px !important; }
html.mobile .chart-tall { height:290px !important; }
html.mobile .toolbar { gap:8px; padding:8px 10px; }
html.mobile select, html.mobile input, html.mobile button { font-size:16px; } /* stops iOS zoom-on-focus */
html.mobile table { font-size:.78rem; }
html.mobile th, html.mobile td { padding:5px 6px; }
html.mobile .wrap { max-height:60vh; overflow:auto; -webkit-overflow-scrolling:touch; }
html.mobile #product-table-wrap { max-height:55vh; }
html.mobile .year-range { gap:6px; padding:8px 10px; }
html.mobile .year-range-macro { position:static; }
html.mobile .year-range .yr-label { min-width:0; font-size:.88rem; }
html.mobile .year-range input[type=range] { height:1.8rem; }
html.mobile iframe#map-frame { height:360px; }
html.mobile .stats { grid-template-columns:1fr 1fr !important; gap:8px; }
html.mobile .stat { padding:8px 10px; }
html.mobile .flag-banner { font-size:.82rem; }
