/* Visual QA fixes 2026-10-03 (layout only). Loaded last in <head>. */
/* Unfilled AdSense slots should not leave large blank boxes */
ins.adsbygoogle[data-ad-status="unfilled"]{display:none!important}
.ad-container:has(> ins.adsbygoogle[data-ad-status="unfilled"]){display:none!important}
/* Keep wide content inside the viewport */
img{max-width:100%}
:where(img[width][height]){height:auto}
.ce-news-item,.ce-news-item *{min-width:0;overflow-wrap:anywhere}
.newsletter-form input[type="email"],.nl-form input[type="email"]{min-width:0}
.ce-news-item{max-width:100%;box-sizing:border-box}
.bottom-mobile-nav,.bottom-mobile-nav .nav-items{box-sizing:border-box;max-width:100vw}
/* Cookie notices: the auto-injected banner duplicated the advanced-features banner */
html:has(script[src*="advanced-features.js"]) #cookie-consent-banner{display:none!important}
#cookie-consent-banner,#af-cookie{box-sizing:border-box;max-width:100vw}
#cookie-consent-banner p{min-width:0!important;overflow-wrap:anywhere}
@media (max-width:576px){
  #cookie-consent-banner p{flex:0 0 auto!important}
  #cookie-consent-accept{max-width:100%}
}
/* Subscribe widget: keep its panel on-screen and clear of fixed bottom navs */
#phub-panel{max-width:calc(100vw - 32px)}
@media (max-width:768px){
  html.vf-has-bottomnav #phub-widget-container.phub-in.phub-bottom-right,
  html.vf-has-bottomnav #phub-widget-container.phub-in.phub-bottom-left{bottom:84px!important}
}
/* Bootstrap hamburger on dark navbars: the default dark icon was invisible */
html.vf-dark-nav .unified-navbar .navbar-toggler,html.vf-dark-nav #unifiedNav .navbar-toggler{border-color:rgba(255,255,255,.4)!important}
html.vf-dark-nav .unified-navbar .navbar-toggler-icon,html.vf-dark-nav #unifiedNav .navbar-toggler-icon{filter:none!important;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.92%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")!important}
img.vf-img-broken{display:none!important}
/* auto-injected cookie banner shipped without its stylesheet on some pages (rendered as raw text) */
#cookie-consent-banner{position:fixed;bottom:0;left:0;right:0;background:#1a1a2e;color:#e0e0e0;padding:1rem 1.5rem;font-size:.95rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem;z-index:99999;box-shadow:0 -2px 12px rgba(0,0,0,.35);transform:translateY(100%);transition:transform .45s cubic-bezier(.4,0,.2,1)}
#cookie-consent-banner.cc-visible{transform:translateY(0)}
#cookie-consent-banner p{margin:0;flex:1 1 300px;line-height:1.5}
#cookie-consent-banner a{color:#82b1ff;text-decoration:underline}
#cookie-consent-accept{background:#0d6efd;color:#fff;border:none;padding:.5rem 1.75rem;font-size:.95rem;border-radius:.375rem;cursor:pointer;font-weight:600;white-space:nowrap}
@media (max-width:576px){#cookie-consent-banner{flex-direction:column;text-align:center;padding:1rem}#cookie-consent-accept{width:100%}}

/* site-specific */
.fx-hero h1{color:#fff!important}
