/* /sponsors/engine.css */
/* 12345 */
/* =========================
   Banner
========================= */

.ic3-spons-banner{
  position:fixed;
  left:0;
  right:0;
  top:var(--spons-banner-top,0px);
  z-index:var(--spons-banner-z,10000);
  height:var(--spons-banner-height,26px);
  background:var(--spons-banner-bg,#ffe70a);
  color:var(--spons-banner-color,#073c35);
  display:flex;
  align-items:center;
  justify-content:center;
  padding-left:var(--spons-banner-padding-left,13px);
  padding-top:var(--spons-banner-padding-top,0px);
  margin-top:var(--spons-banner-margin-top,0px);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);
  font:14px/1.2 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}

.ic3-spons-bannerText{ opacity:.95; }

/* Force “Learn More” to be IDENTICAL across zones (all states, beats theme CSS) */
#ic3SponsBanner a#sponsLearnMoreLink.ic3-spons-learnmore,
#ic3SponsBanner a#sponsLearnMoreLink.ic3-spons-learnmore:link,
#ic3SponsBanner a#sponsLearnMoreLink.ic3-spons-learnmore:visited,
#ic3SponsBanner a#sponsLearnMoreLink.ic3-spons-learnmore:hover,
#ic3SponsBanner a#sponsLearnMoreLink.ic3-spons-learnmore:active{
  margin-left:10px !important;
  color:#c40000 !important;
  -webkit-text-fill-color:#c40000 !important;
  text-decoration:none !important;
  font-style:italic !important;
  font-weight:700 !important;
  background:transparent !important;
}

#ic3SponsBanner a#sponsLearnMoreLink.ic3-spons-learnmore:hover{
  text-decoration:underline !important;
}

/* =========================
   Overlay
========================= */

.ic3-spons-overlay{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  z-index:2147483000;
  background:transparent;
}

.ic3-spons-overlay.is-on{ display:flex; }

.ic3-spons-overlay::before{
  content:'';
  position:absolute;
  inset:0;
  background:var(--spons-overlay-bg, rgba(0,0,0,.10));
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.ic3-spons-card{
  position:relative;
  z-index:1;
  width:min(920px,calc(100vw - 40px));
  border-radius:var(--spons-card-radius,18px);
  background:#fff;
  box-shadow:0 18px 60px rgba(0,0,0,.25);
  overflow:hidden;
}

/* Harden the X so site-wide button styles can’t break its position */
.ic3-spons-x{
  position:absolute !important;
  right:16px !important;
  top:14px !important;
  width:44px !important;
  height:44px !important;
  border:0 !important;
  border-radius:999px !important;
  background:rgba(0,0,0,.06) !important;
  cursor:pointer !important;
  padding:0 !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:28px !important;
  line-height:1 !important;
  color:#333 !important;
  -webkit-text-fill-color:#333 !important;
}

.ic3-spons-x:hover{ background:rgba(0,0,0,.10) !important; }

.ic3-spons-head{
  padding:18px 22px 0 22px;
  font-weight:700;
  color:#0b3d35;
  font-size:22px;
}

.ic3-spons-body{
  display:flex;
  gap:18px;
  padding:14px 22px 18px 22px;
}

.ic3-spons-logoWrap{
  flex:0 0 110px;
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
  padding-top:10px;
}

.ic3-spons-logo{
  width:96px;
  height:96px;
  border-radius:18px;
  object-fit:contain;
}

.ic3-spons-logoPlaceholder{
  width:96px;
  height:96px;
  border-radius:18px;
  background:#0b3d35;
  opacity:.12;
}

.ic3-spons-content{ flex:1; }

.ic3-spons-title{
  font-size:34px;
  line-height:1.15;
  font-weight:800;
  color:#0b3d35;
  margin-top:2px;
}

.ic3-spons-sub{
  font-size:18px;
  color:#4b5b57;
  margin-top:6px;
}

.ic3-spons-pill{
  width:100%;
  display:inline-block;
  margin-top:10px;
  background:rgba(11,61,53,.08);
  color:#0b3d35;
  padding:8px 14px;
  border-radius:9px;
  font-weight:600;
}

.ic3-spons-long{
  margin-top:12px;
  color:#2b2f2e;
  font-size:18px;
  line-height:1.35;
  max-width:720px;
  opacity:.9;
}

.ic3-spons-actions{
  display:flex;
  align-items:center;
  gap:16px;
  margin-top:18px;
}

.ic3-spons-cta{
  display:inline-block;
  background:var(--spons-cta-bg,#0978d5);
  color:#fff;
  padding:14px 20px;
  border-radius:14px;
  text-decoration:none;
  font-weight:800;
}

.ic3-spons-cta:hover{ filter:brightness(.95); }

.ic3-spons-closeNote{
  color:#666;
  font-size:14px;
}

.ic3-spons-progress{
  height:4px;
  background:var(--spons-progress-bg,rgba(15,115,21,.18));
}

.ic3-spons-progressFill{
  height:100%;
  width:0%;
  background:var(--spons-progress-fill,#0f7315);
  transition:width .12s linear;
}

/* Force CTA to look identical (some pages nuke link/button styles) */
#sponsOverlay a.ic3-spons-cta,
#sponsOverlay a.ic3-spons-cta:link,
#sponsOverlay a.ic3-spons-cta:visited,
#sponsOverlay a.ic3-spons-cta:hover,
#sponsOverlay a.ic3-spons-cta:active{
  background:var(--spons-cta-bg,#0978d5) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-decoration:none !important;
  font-weight:800 !important;
}

#sponsOverlay a.ic3-spons-cta *{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

@media (max-width:640px){
  .ic3-spons-title{ font-size:24px; }
  .ic3-spons-body{ flex-direction:column; }
  .ic3-spons-logoWrap{ padding-top:0; }
}

/* =========================
   Cloak (anti-layout shift)
========================= */

html.ic3-spons-cloak body{ opacity:0 !important; }
html.ic3-spons-cloak body{ transition:opacity .14s ease-out; }
html.ic3-spons-ready body{ opacity:1 !important; }
