/* Keep the approved shell separate from Bootstrap and Leaflet widget layout. */
html,body{min-height:100%;height:auto;overflow:auto}body{margin:0}
[hidden]{display:none!important}.unified-skip{position:absolute;left:12px;top:-100px;z-index:10001;background:white;padding:10px}.unified-skip:focus{top:10px}
#site-header{position:sticky;top:0;z-index:1200}#site-header .masthead{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:10px 24px;background:#6a785f;min-height:72px}
#site-header .brand img{height:55px;width:auto;max-width:100%}#site-header .brand{display:block;min-width:0}#site-header #affm_notice_controls{grid-column:2;justify-self:end;display:flex;align-items:center;gap:12px;flex-wrap:nowrap;justify-content:flex-end;white-space:nowrap}
#site-header #main-nav{display:flex;justify-content:center;gap:0;background:white}#site-header #main-nav>a{padding:18px 20px;color:#293e30;font-weight:700;text-decoration:none;border-bottom:3px solid transparent}#site-header #main-nav>a[aria-current]{border-color:#6a785f;color:#275d3d}
#site-header #menu-toggle{display:none}.hero-brand-visible #site-header .brand{visibility:hidden}
#site-header .affm-info-badges{display:flex}
#page{min-height:25vh}#unified-static .container{width:auto}#site-footer{clear:both}
#affm-legacy-host>.navbar,#affm-legacy-host .navbar{display:none!important}#affm-legacy-host>.container-fluid{padding:0}
#affm-legacy-host .tab-content{margin:0}#affm-legacy-host #affm_information{margin:0 auto;padding:32px 24px 52px;max-width:1208px;width:100%}
#affm_information .affm-info-header>h1,#affm_information #affm-info-title{display:none}#affm_information .affm-info-header{margin-top:0;padding-top:0}
#affm-legacy-host #affm-submit-data{max-width:1208px;margin:0 auto;padding:42px 24px 58px}#affm-submit-data .sd-other-observations h2,#affm-submit-data .tab-pane[data-value=options]>h2{font-size:32px;font-weight:700}
#affm-legacy-host.data-waiting{visibility:hidden;height:0;overflow:hidden}
#affm_map_workspace{position:relative!important;top:auto!important;height:calc(100dvh - var(--header-height,140px))!important}
#affm_map_workspace #map{position:absolute!important;top:0!important;bottom:0!important;width:100%!important;height:100%!important}
.map-route{overflow:hidden}.map-route #page{min-height:0}.map-route #affm-legacy-host{height:calc(100dvh - var(--header-height,140px))}
.leaflet-container img,.leaflet-pane img{max-width:none!important}.leaflet-container,.leaflet-control,.leaflet-popup-content,#controls,#colonyPanel{line-height:normal;text-align:left}
/* Leaflet positions SVGs inside zero-width panes. Global responsive SVG caps
   would clip every vector layer even though the data and paths are present. */
.leaflet-container svg{max-width:none!important}
#unified-data-gate{min-height:340px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:40px;text-align:center;background:#f7f9f6;color:#293e30}
#unified-data-gate p{max-width:460px;text-align:center}.map-route #unified-data-gate{position:fixed;inset:var(--header-height,140px) 0 0;z-index:1100}
#unified-data-gate .data-logo{display:block;width:min(128px,20vh);height:auto;max-width:100%;margin:0 auto 24px;mix-blend-mode:multiply}
#unified-data-gate h2{margin:14px 0 20px}
.data-spinner{width:42px;height:42px;border:4px solid #d5dfd0;border-top-color:#456b4f;border-radius:50%;animation:affm-data-spin 1s linear infinite}@keyframes affm-data-spin{to{transform:rotate(360deg)}}
#site-footer .footer-search input,#site-footer input,#site-footer textarea{box-sizing:border-box}.footer-result{min-height:1.5em}.footer-result:empty{display:none}
@media(prefers-reduced-motion:reduce){.data-spinner{animation:none}}
@media(max-width:1000px){#site-header .masthead{padding:8px 14px;gap:8px;min-height:62px}#site-header .brand img{height:auto;width:180px}.hero-brand-visible #site-header .brand{display:none}#site-header #menu-toggle{display:block;margin:0;width:100%;border:0;border-bottom:1px solid #d5dfd0;padding:10px;background:#fff}#site-header #main-nav{display:none}#site-header #main-nav.open{display:flex;flex-direction:column}#site-header #main-nav>a{padding:10px 20px}#site-header #affm_notice_controls{width:auto;gap:6px;justify-content:flex-end}#site-header #affm_notice_controls a{font-size:11px;padding:6px 7px;min-height:44px}#site-header .affm-info-badges{gap:6px;flex-wrap:nowrap}#site-header .affm-info-badge-icon{flex-basis:24px;width:24px;height:20px;margin-right:5px}#site-header .affm-info-count{margin-left:5px;min-width:20px;min-height:20px;padding:2px 4px}}
/* Keep the logo readable on the narrowest phones; both alerts stay right. */
@media(max-width:359px){#site-header #affm_notice_controls{flex-direction:column;align-items:flex-end;gap:4px}}

/* Review 35: approved presentation refinements. */
.home-data-note{margin-top:4px;text-align:justify}
.home-data-note p,.home-data-note div{text-align:justify}
.about-nav .about-nav-right{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end;margin-left:auto}
.archive-sources .section-spaced{margin-top:1.6em}
#affm-submit-data .sd-entry.sd-general>svg{color:#356a98;fill:currentColor;stroke:none}
#affm-submit-data .sd-entry.sd-incidents>svg{color:#a65c20;fill:currentColor;stroke:none}

/* Matched opening stills remain visible until the video has a decoded frame. */
.hero-poster>img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.hero video{opacity:0;transition:opacity .18s ease}
.hero video.video-ready{opacity:1}
@media(prefers-reduced-motion:reduce){.hero video{transition:none}}

/* Agreed Forest green prose links, visible before hover and on touchscreens.
   Navigation, buttons and map controls keep their existing presentation. */
#page :is(p,li,td,dd,figcaption) a:not(.button):not(.btn):not(.affm-info-action),
#site-footer p a,#site-footer .footer-links a,#site-footer .footer-bottom a{
  color:#007a3e;text-decoration:underline;text-decoration-thickness:1px;
  text-decoration-color:#007a3e99;text-underline-offset:3px;
}
#page :is(p,li,td,dd,figcaption) a:not(.button):not(.btn):not(.affm-info-action):hover,
#site-footer p a:hover,#site-footer .footer-links a:hover,#site-footer .footer-bottom a:hover{
  text-decoration-color:currentColor;text-decoration-thickness:2px;
}
