/* V16 — device-first responsive + contrast pass
   Breakpoints: desktop > 1100, tablet 721–1100, mobile <= 720, compact <= 480. */

:root{
  --v16-ink:#08384b;
  --v16-text:#173f50;
  --v16-muted:#4f6f7c;
  --v16-brand:#087a9a;
  --v16-brand-dark:#075c78;
  --v16-accent:#a76500;
  --v16-line:#c7dfe8;
  --v16-soft:#eef8fb;
  --v16-soft-2:#e3f4f9;
}

html{max-width:100%;overflow-x:hidden;text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{max-width:100%;overflow-x:hidden;color:var(--v16-text)}
body.quality-v7{--text:var(--v16-text);--muted:var(--v16-muted);--brand:var(--v16-brand);--line:var(--v16-line);--surface-2:var(--v16-soft);background:#f5fafc}
.quality-v7 :where(p,li,dd,td,small){overflow-wrap:anywhere}
.quality-v7 :where(h1,h2,h3,h4,b,strong){overflow-wrap:break-word}
.quality-v7 img,.quality-v7 video,.quality-v7 iframe,.quality-v7 svg{max-width:100%}
.quality-v7 button,.quality-v7 a,.quality-v7 input,.quality-v7 select{touch-action:manipulation}
.quality-v7 .container{width:min(1180px,calc(100% - 40px));margin-inline:auto}

/* Core contrast — light backgrounds must keep dark readable text. */
.quality-v7 .page-hero h1,.quality-v7 .archive-heading h1,.quality-v7 .wiki-title-row h1,
.quality-v7 .section-title-row h2,.quality-v7 .section-head h2,.quality-v7 .qna-hero h1,
.quality-v7 .card h3,.quality-v7 .quality-card h3,.quality-v7 .feature-card h3,.quality-v7 .path-card h3,
.quality-v7 .scenario-card h3,.quality-v7 .season-card h3{color:var(--v16-ink)!important}
.quality-v7 .page-hero p,.quality-v7 .archive-heading p,.quality-v7 .wiki-title-row p,
.quality-v7 .section-title-row p,.quality-v7 .section-head p,.quality-v7 .card p,
.quality-v7 .quality-card p,.quality-v7 .feature-card p,.quality-v7 .path-card p,
.quality-v7 .scenario-card p{color:var(--v16-muted)!important}
.quality-v7 :where(.eyebrow,.section-kicker,.archive-kicker,.wiki-category,.section-head>span){color:var(--v16-brand-dark)!important}
.quality-v7 :where(.tag,.pill,.archive-card .archive-meta span,.internal-wiki-links a){color:var(--v16-brand-dark)!important}

/* Header/nav: no hidden horizontal row on any device. */
.quality-v7 .header-row{min-width:0;gap:14px}
.quality-v7 .brand{min-width:0}
.quality-v7 .brand>span:last-child{min-width:0}
.quality-v7 .header-actions{flex:0 0 auto}
.quality-v7 .main-nav .container{overflow:visible!important}
.quality-v7 .main-nav a{white-space:normal!important;word-break:keep-all}

/* Home: everything is visible without horizontal drag. */
.home-premium .home-hero-grid,.home-premium .luxe-panel,.home-premium .luxe-card.main{min-width:0!important}
.home-premium .editorial-shell,.home-premium .topic-grid,.home-premium .path-grid,.home-premium .feature-grid,
.home-premium .scenario-grid,.home-premium .season-grid,.home-premium .trust-grid,.home-premium .metric-grid,
.home-premium .home-qna-grid,.home-premium .knowledge-banner-grid{min-width:0}
.home-premium .hero-keywords{row-gap:8px}
.home-premium .hero-keywords button{color:#07566e!important;background:rgba(255,255,255,.78)!important;border-color:#acd7e3!important}
.home-premium .hero-keywords button:hover{color:#06485e!important;background:#fff!important}
.home-premium .section-kicker{color:#8a5600!important}

/* Affiliate products: compact ad-sized grid, never a swipe carousel. */
.quality-v7 .affiliate-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important;overflow:visible!important;scroll-snap-type:none!important;padding-bottom:0!important}
.quality-v7 .affiliate-card{width:auto!important;min-width:0!important;max-width:none!important;flex:none!important;scroll-snap-align:none!important}
.quality-v7 .affiliate-head{min-width:0}
.quality-v7 .affiliate-head>div{min-width:0}
.quality-v7 .affiliate-head h2{color:var(--v16-ink)!important}
.quality-v7 .affiliate-head p,.quality-v7 .affiliate-disclosure{color:#587681!important}
.quality-v7 .affiliate-mall{color:#5b7580!important}
.quality-v7 .affiliate-body h3{color:#103f52!important}
.quality-v7 .affiliate-price strong,.quality-v7 .affiliate-cta{color:#006b88!important}

/* Category/archive pages. Filter tabs wrap instead of requiring horizontal drag. */
.quality-v7 .archive-tabs{display:flex!important;flex-wrap:wrap!important;overflow:visible!important;gap:7px!important;padding-bottom:0!important}
.quality-v7 .archive-tabs button{white-space:normal!important;min-height:40px}
.quality-v7 .filter-bar{overflow:visible!important}
.quality-v7 .quality-grid,.quality-v7 .archive-grid{min-width:0}
.quality-v7 .quality-card,.quality-v7 .archive-card{min-width:0}

/* Detailed wiki articles. */
.quality-v7 .wiki-grid{min-width:0}
.quality-v7 .wiki-article,.quality-v7 .wiki-toc,.quality-v7 .wiki-rail{min-width:0}
.quality-v7 .wiki-infobox,.quality-v7 .wiki-table{max-width:100%}
.quality-v7 .external-card{min-width:0}

/* Data/utility pages — grids stay inside viewport. */
.points-explorer-body .spot-browser-shell,.points-explorer-body .spot-main,
.dashboard-page .dashboard-layout,.dashboard-page .dashboard-hero-grid,
.tide-center-body .tide-content-grid,.tide-center-body .tide-hero-grid{min-width:0}
.points-explorer-body .spot-result-item,.points-explorer-body .selected-spot-card,
.dashboard-page .condition-card,.dashboard-page .provider-card,.dashboard-page .nifs-panel,
.tide-center-body .panel{min-width:0}

/* Desktop / wide laptop */
@media (min-width:1101px){
  .quality-v7 .main-nav .container{grid-template-columns:repeat(7,minmax(0,1fr))!important}
  .quality-v7 .quality-grid,.quality-v7 .archive-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .home-premium .topic-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}
  .home-premium .feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .home-premium .path-grid,.home-premium .season-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}

/* Tablet / small laptop */
@media (max-width:1100px) and (min-width:721px){
  .quality-v7 .container{width:min(100% - 32px,980px)}
  .quality-v7 .main-nav .container{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .quality-v7 .quality-grid,.quality-v7 .archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .quality-v7 .official-law-grid.large,.quality-v7 .decision-steps,.quality-v7 .diagnostic-grid,.quality-v7 .scenario-matrix{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .quality-v7 .external-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}

  .home-premium .home-hero-grid{grid-template-columns:1fr!important;gap:28px!important}
  .home-premium .luxe-card.main{max-width:760px!important;margin-inline:auto!important}
  .home-premium .editorial-shell{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .home-premium .editorial-title{grid-column:1/-1}
  .home-premium .topic-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .home-premium .path-grid,.home-premium .feature-grid,.home-premium .season-grid,.home-premium .trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .home-premium .scenario-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .home-premium .scenario-card.large{grid-column:1/-1!important}
  .home-premium .metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .home-premium .home-qna-grid,.home-premium .knowledge-banner-grid{grid-template-columns:1fr!important}

  .quality-v7 .affiliate-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .quality-v7 .affiliate-card:nth-child(n+3){display:none!important}

  .points-explorer-body .spot-browser-shell{grid-template-columns:250px minmax(0,1fr)!important}
  .points-explorer-body .spot-result-item{grid-template-columns:1fr!important}
  .points-explorer-body .spot-result-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .dashboard-page .conditions-grid,.dashboard-page .provider-cards,.dashboard-page .cctv-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Mobile */
@media (max-width:720px){
  .quality-v7 .container{width:min(100% - 24px,1180px)!important}
  .quality-v7 .topbar .container{gap:8px;font-size:11px}
  .quality-v7 .topbar-note{display:none!important}
  .quality-v7 .header-row{min-height:64px}
  .quality-v7 .brand-mark{width:40px;height:40px;border-radius:12px}
  .quality-v7 .brand b{font-size:18px;line-height:1.2}
  .quality-v7 .brand small{display:none!important}
  .quality-v7 .header-actions{gap:6px}
  .quality-v7 .icon-btn,.quality-v7 .menu-btn{min-width:44px;min-height:44px;padding:8px 10px}
  .quality-v7 .icon-btn span{display:none!important}
  .quality-v7 .main-nav:not(.open){display:none!important}
  .quality-v7 .main-nav.open{display:block!important;max-height:calc(100vh - 64px);overflow-y:auto}
  .quality-v7 .main-nav .container{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;padding:10px 12px 14px!important}
  .quality-v7 .main-nav a{min-height:44px!important;padding:9px 8px!important;font-size:12.5px!important}

  .quality-v7 .page-hero,.quality-v7 .quality-archive-hero{padding:40px 0 34px!important}
  .quality-v7 .page-hero h1,.quality-v7 .quality-archive-hero h1{font-size:clamp(32px,10vw,40px)!important;letter-spacing:-1.5px!important}
  .quality-v7 section.content-section{padding:46px 0}
  .quality-v7 .section-title-row{display:block!important}
  .quality-v7 .section-title-row p{margin-top:8px!important}
  .quality-v7 .quality-grid,.quality-v7 .archive-grid,.quality-v7 .grid-2,.quality-v7 .grid-3,.quality-v7 .grid-4{grid-template-columns:1fr!important}
  .quality-v7 .quality-card,.quality-v7 .archive-card,.quality-v7 .card{padding:18px!important;border-radius:17px!important}
  .quality-v7 .archive-toolbar{position:relative!important;top:auto!important;padding:12px!important;border-radius:15px!important}
  .quality-v7 .archive-tabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .quality-v7 .archive-tabs button{width:100%;padding:9px 8px!important;font-size:12px!important;text-align:center}

  .home-premium .home-hero{padding:44px 0 50px!important}
  .home-premium .home-hero-grid{grid-template-columns:1fr!important;gap:24px!important}
  .home-premium .home-hero h1{font-size:clamp(37px,11vw,46px)!important;line-height:1.08!important;letter-spacing:-2px!important}
  .home-premium .home-hero p{font-size:15px!important;line-height:1.75!important}
  .home-premium .home-search{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;padding:7px!important;margin-top:22px!important}
  .home-premium .home-search button{width:100%!important;min-height:44px!important}
  .home-premium .hero-keywords{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .home-premium .hero-keywords button{width:100%;min-height:38px;padding:7px 8px!important}
  .home-premium .luxe-panel{width:100%!important;padding:0!important}
  .home-premium .luxe-card.main{width:100%!important;max-width:none!important;padding:20px!important;border-radius:20px!important}
  .home-premium .luxe-card.main h2{font-size:22px!important}
  .home-premium .luxe-route div{grid-template-columns:34px minmax(0,1fr)!important;gap:8px!important}
  .home-premium .luxe-route small{grid-column:2!important;white-space:normal!important}
  .home-premium .editorial-index{padding-top:12px!important}
  .home-premium .editorial-shell{display:grid!important;grid-template-columns:1fr!important;border-radius:18px!important;overflow:hidden!important}
  .home-premium .editorial-title,.home-premium .editorial-link{grid-column:auto!important;padding:16px!important;border-left:0!important}
  .home-premium .editorial-link{border-top:1px solid var(--v16-line)!important}
  .home-premium .topic-strip{margin-top:18px!important}
  .home-premium .topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;border-radius:16px!important}
  .home-premium .path-grid,.home-premium .feature-grid,.home-premium .scenario-grid,.home-premium .season-grid,.home-premium .trust-grid,.home-premium .home-qna-grid,.home-premium .knowledge-banner-grid{grid-template-columns:1fr!important}
  .home-premium .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .home-premium .home-qna-main{min-height:310px!important;padding:25px!important}
  .home-premium .home-qna-main>b{font-size:74px!important}
  .home-premium .home-qna-main em{position:static!important;display:block;margin-top:22px}
  .home-premium .home-qna-list a{grid-template-columns:1fr!important;padding:17px!important}

  .quality-v7 .affiliate-placement-top,.quality-v7 .affiliate-placement-bottom,.quality-v7 .affiliate-recommendations{padding:9px 0 10px!important}
  .quality-v7 .affiliate-head{display:block!important;margin-bottom:6px!important}
  .quality-v7 .affiliate-grid{grid-template-columns:1fr!important;overflow:visible!important}
  .quality-v7 .affiliate-card{grid-template-columns:84px minmax(0,1fr)!important;height:98px!important}
  .quality-v7 .affiliate-card:nth-child(n+2){display:none!important}
  .quality-v7 .affiliate-visual{width:84px!important;height:96px!important}

  .quality-v7 .wiki-title-row{display:block!important}
  .quality-v7 .wiki-title-row h1{font-size:clamp(38px,12vw,52px)!important;letter-spacing:-2px!important}
  .quality-v7 .wiki-edition{width:auto!important;min-width:0!important;margin-top:16px!important;padding:12px 0 0!important;border-left:0!important;border-top:1px solid var(--v16-line)!important}
  .quality-v7 .wiki-edition b{font-size:32px!important}
  .quality-v7 .wiki-grid{display:block!important}
  .quality-v7 .wiki-toc{position:relative!important;top:auto!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important;margin-bottom:14px!important;padding:12px!important;border:1px solid var(--v16-line)!important;border-radius:14px!important;background:#fff!important}
  .quality-v7 .wiki-toc>strong,.quality-v7 .wiki-toc .toc-back{grid-column:1/-1!important}
  .quality-v7 .wiki-toc a{min-height:40px;align-items:center;padding:7px!important}
  .quality-v7 .wiki-article{padding:20px 14px!important;border-radius:14px!important}
  .quality-v7 .wiki-article h2{font-size:23px!important;margin-top:42px!important}
  .quality-v7 .wiki-infobox{float:none!important;width:100%!important;margin:0 0 20px!important}
  .quality-v7 .official-law-grid,.quality-v7 .official-law-grid.large,.quality-v7 .decision-steps,.quality-v7 .diagnostic-grid,.quality-v7 .scenario-matrix,.quality-v7 .external-grid{grid-template-columns:1fr!important}
  .quality-v7 .external-card{grid-template-columns:38px minmax(0,1fr)!important}
  .quality-v7 .external-card em{grid-column:2!important}
  .quality-v7 .wiki-rail{display:none!important}

  .qna-hub .qna-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .qna-hub .qna-archive-grid{grid-template-columns:1fr!important}
  .qna-hub .qna-filter-row{max-height:none!important;overflow:visible!important}
  .qna-hub .qna-official-cta .container{display:block!important}

  .points-explorer-body .spot-hero-grid,.points-explorer-body .spot-browser-shell{display:block!important}
  .points-explorer-body .spot-sidebar{position:relative!important;top:auto!important;max-height:none!important;margin-bottom:14px}
  .points-explorer-body .region-tree{max-height:none!important;overflow:visible!important}
  .points-explorer-body .selected-spot-card{display:block!important;padding:18px!important}
  .points-explorer-body .selected-spot-actions,.points-explorer-body .spot-result-actions{grid-template-columns:1fr!important}
  .points-explorer-body .spot-result-item{grid-template-columns:1fr!important;gap:12px!important;padding:15px!important}
  .points-explorer-body .spot-result-meta{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .points-explorer-body .spot-result-head{display:block!important}
  .points-explorer-body .spot-view-actions{display:grid!important;grid-template-columns:1fr 1fr;margin-top:10px!important}
  .points-explorer-body #spotMap{height:320px!important}
  .points-explorer-body .spot-map-overlay{position:relative!important;left:auto!important;bottom:auto!important;max-width:none!important;border-radius:0!important}

  .dashboard-page .dashboard-hero-grid,.dashboard-page .dashboard-layout,.dashboard-page .temperature-layout,.dashboard-page .chart-layout,.dashboard-page .nifs-satellite-layout,.dashboard-page .nifs-detail-columns{grid-template-columns:1fr!important}
  .dashboard-page .conditions-grid,.dashboard-page .provider-cards,.dashboard-page .cctv-grid,.dashboard-page .nifs-feature-grid,.dashboard-page .nifs-alert-grid,.dashboard-page .nifs-diagnostic-grid,.dashboard-page .nifs-species-grid{grid-template-columns:1fr!important}
  .dashboard-page .dashboard-tabs,.dashboard-page .nifs-tabs,.dashboard-page .windy-layers,.dashboard-page .chart-switch{display:flex!important;flex-wrap:wrap!important;overflow:visible!important}
  .dashboard-page .forecast-table,.dashboard-page .nifs-table{font-size:12px}
  .dashboard-page .embed-frame{min-height:360px!important}

  .tide-center-body .tide-hero-grid,.tide-center-body .tide-content-grid{grid-template-columns:1fr!important}
  .tide-center-body .tide-controls{grid-template-columns:1fr!important}
  .tide-center-body .daily-grid,.tide-center-body .detail-grid,.tide-center-body .all-metrics{grid-template-columns:1fr!important}
  .tide-center-body .all-tabs,.tide-center-body .chart-buttons{display:flex!important;flex-wrap:wrap!important;overflow:visible!important}

  .quality-v7 .site-footer{padding:42px 0 18px!important}
  .quality-v7 .footer-grid{grid-template-columns:1fr!important;gap:24px!important}
  .quality-v7 .copyright{display:block!important}
}

/* Extra compact phones */
@media (max-width:480px){
  .quality-v7 .container{width:min(100% - 20px,1180px)!important}
  .quality-v7 .main-nav .container{grid-template-columns:1fr!important}
  .quality-v7 .archive-tabs{grid-template-columns:1fr 1fr!important}
  .home-premium .topic-grid{grid-template-columns:1fr 1fr!important}
  .home-premium .hero-keywords{grid-template-columns:1fr 1fr!important}
  .home-premium .metric-grid{grid-template-columns:1fr 1fr!important}
  .qna-hub .qna-category-grid{grid-template-columns:1fr!important}
  .quality-v7 .wiki-toc{grid-template-columns:1fr!important}
  .quality-v7 .wiki-toc>strong,.quality-v7 .wiki-toc .toc-back{grid-column:1!important}
  .points-explorer-body .spot-result-meta{grid-template-columns:1fr!important}
}

/* Motion/accessibility */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
