/* BND Design Refresh 1.1.0: homepage dual ad banner (front page only).
   Sits right under the fixed header: the banner is in normal flow and is pushed below the header by
   --bnd-hdr-h (reserved in CSS per breakpoint, refined by bnd-ads.js), so there is no layout shift. */
.bnd-ads { --bnd-hdr-h:102px; --bnd-bar-h:44px; --bnd-green:#43E417;
  position:relative; z-index:5; margin-top:var(--bnd-hdr-h); font-family:"Inter",system-ui,sans-serif; }
@media (max-width:1024px){ .bnd-ads { --bnd-hdr-h:96px; } }
@media (max-width:767px){ .bnd-ads { --bnd-hdr-h:164px; --bnd-bar-h:36px; } }

.bnd-ads__bar { position:relative; height:var(--bnd-bar-h); overflow:hidden; display:flex; align-items:center;
  padding-left:env(safe-area-inset-left, 0px); padding-right:env(safe-area-inset-right, 0px); }
.bnd-ads__bar--own { background:#222327; border-bottom:1px solid #2f3037; }
.bnd-ads__bar--sponsor { background:#17181c; border-bottom:2px solid #2E3194; }
.bnd-ads__viewport { flex:1 1 auto; overflow:hidden; height:100%; min-width:0;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 28px,#000 calc(100% - 28px),transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 28px,#000 calc(100% - 28px),transparent 100%); }
.bnd-ads__track { display:flex; width:max-content; height:100%; will-change:transform;
  animation:bnd-ads-rtl var(--bnd-dur,45s) linear infinite; }
.bnd-ads__bar[data-dir="ltr"] .bnd-ads__track { animation-name:bnd-ads-ltr; --bnd-dur:40s; }
.bnd-ads__bar[data-dir="rtl"] .bnd-ads__track { --bnd-dur:45s; }
@keyframes bnd-ads-rtl { from { transform:translate3d(0,0,0); } to { transform:translate3d(-50%,0,0); } }
@keyframes bnd-ads-ltr { from { transform:translate3d(-50%,0,0); } to { transform:translate3d(0,0,0); } }

.bnd-ads__group { display:flex; align-items:center; flex:0 0 auto; height:100%; margin:0 !important; padding:0 !important; list-style:none !important; }
.bnd-ads__item { display:flex; align-items:center; height:100%; margin:0 !important; padding:0 !important; white-space:nowrap; list-style:none !important; }
.bnd-ads__item::after { content:""; width:5px; height:5px; border-radius:50%; background:var(--bnd-green); opacity:.8; margin:0 28px; flex:0 0 auto; }
.bnd-ads__bar--sponsor .bnd-ads__item::after { background:#6d70c9; }

.bnd-ad { display:inline-flex; align-items:center; gap:10px; height:calc(var(--bnd-bar-h) - 10px); padding:0 8px; border-radius:6px;
  color:#E6E6EA !important; text-decoration:none !important; font-size:14px; line-height:1; outline-offset:2px; }
.bnd-ad:hover .bnd-ad__name, .bnd-ad:focus-visible .bnd-ad__name { color:var(--bnd-green) !important; text-decoration:underline; text-underline-offset:3px; }
.bnd-ad:focus-visible { outline:2px solid var(--bnd-green); }
.bnd-ad__name { font-family:"Montserrat","Inter",sans-serif; font-weight:700; font-size:14px; color:#fff; letter-spacing:.02em; }
.bnd-ad__text { color:#B8B8C4; font-size:13.5px; }
.bnd-ads__bar--own .bnd-ad__name { color:var(--bnd-green); }
.bnd-ad__logo { height:24px !important; width:auto !important; max-width:60px; object-fit:contain; display:block; }
.bnd-ad__label { font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#d9dafa;
  border:1px solid #5b5fd0; border-radius:4px; padding:3px 5px; line-height:1; }
.bnd-ads .screen-reader-text { position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; }

/* pause: hover, keyboard focus inside, the toggle button, or a tap (mobile) */
.bnd-ads__bar:hover .bnd-ads__track, .bnd-ads__bar:focus-within .bnd-ads__track, .bnd-ads__bar.is-paused .bnd-ads__track { animation-play-state:paused; }
.bnd-ads__toggle { flex:0 0 auto; width:var(--bnd-bar-h); height:100%; border:0 !important; margin:0; padding:0 !important; background:inherit !important;
  box-shadow:-8px 0 10px -6px rgba(0,0,0,.6) !important; cursor:pointer; display:flex; align-items:center; justify-content:center; border-radius:0 !important; }
.bnd-ads__toggle span { display:block; width:10px; height:12px; border-left:3px solid #B8B8C4; border-right:3px solid #B8B8C4; box-sizing:border-box; }
.bnd-ads__bar.is-paused .bnd-ads__toggle span { width:0; height:0; border:0; border-left:10px solid var(--bnd-green); border-top:6px solid transparent; border-bottom:6px solid transparent; }
.bnd-ads__toggle:hover span { border-left-color:#fff; border-right-color:#fff; }
.bnd-ads__toggle:focus-visible { outline:2px solid var(--bnd-green); outline-offset:-3px; }

@media (max-width:767px){
  .bnd-ad, .bnd-ad__name { font-size:13px; } .bnd-ad__text { font-size:12.5px; }
  .bnd-ad__logo { height:20px !important; } .bnd-ads__item::after { margin:0 20px; }
}

/* reduced motion: static and horizontally scrollable, no duplicate */
@media (prefers-reduced-motion: reduce){
  .bnd-ads__track { animation:none !important; transform:none !important; }
  .bnd-ads__viewport { overflow-x:auto; overscroll-behavior-x:contain; -webkit-mask-image:none; mask-image:none; scrollbar-width:thin; }
  .bnd-ads__group[aria-hidden="true"], .bnd-ads__item[data-bnd-fill] { display:none !important; }
  .bnd-ads__toggle { display:none !important; }
}

/* the banner now clears the fixed header, so the Home hero only needs normal top padding */
body.bnd-has-ads .pv-home-hero, body.bnd-has-ads.page-id-704 [data-id="80a5656"] { padding-top:72px !important; }
@media (max-width:767px){ body.bnd-has-ads .pv-home-hero, body.bnd-has-ads.page-id-704 [data-id="80a5656"] { padding-top:48px !important; min-height:440px !important; } }

/* Home has a theme featured image that the hero normally covers with a large negative top margin (the part that peeks out
   sits under the fixed header). With the banner in place that strip would show, so hide it and drop the offset. */
body.bnd-has-ads.page-id-704 .ct-featured-image, body.bnd-has-ads.home .ct-featured-image { display:none !important; }
body.bnd-has-ads.page-id-704 [data-id="80a5656"] { margin-top:0 !important; }
