/* ============================================================
   SocialTalent Web 3.0 — Segmented Footer
   Companion to the [web3_footer] shortcode.
   Port of Web 3.0(11).zip > design_handoff_footers/Footers.html
   (.ftr* rules only), adapted to a SINGLE responsive footer.
   @font-face points at the theme's existing TT Hoves Pro woff2.
   ============================================================ */

@font-face { font-family:"TT Hoves Pro"; src:url("../fonts/TT Hoves Pro/woff2/TT_Hoves_Pro_Regular.woff2") format("woff2");  font-weight:400; font-display:swap; }
@font-face { font-family:"TT Hoves Pro"; src:url("../fonts/TT Hoves Pro/woff2/TT_Hoves_Pro_Medium.woff2") format("woff2");   font-weight:500; font-display:swap; }
@font-face { font-family:"TT Hoves Pro"; src:url("../fonts/TT Hoves Pro/woff2/TT_Hoves_Pro_DemiBold.woff2") format("woff2"); font-weight:600; font-display:swap; }
@font-face { font-family:"TT Hoves Pro"; src:url("../fonts/TT Hoves Pro/woff2/TT_Hoves_Pro_Bold.woff2") format("woff2");     font-weight:700; font-display:swap; }

.ftr {
  --frost:#EBF5EB; --pastel:#C2F5C4; --lime:#96F782; --leaf:#00A75C;
  --emerald:#147054; --forest:#124036; --ocean:#03261F; --paper:#fff;
  --r:18px; --r-lg:28px; --r-pill:999px;
  --ftr-font:"TT Hoves Pro","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;

  background:var(--ocean);
  color:rgba(235,245,235,0.72);
  font-family:var(--ftr-font);
  font-size:14px;
  line-height:1.4;
  position:relative;
  isolation:isolate;
  -webkit-font-smoothing:antialiased;
}
.ftr *, .ftr *::before, .ftr *::after { box-sizing:border-box; }
.ftr a { color:inherit; text-decoration:none; }
.ftr button { font:inherit; cursor:pointer; border:0; background:none; color:inherit; }
.ftr ul { list-style:none; margin:0; padding:0; }
.ftr svg { display:block; max-width:100%; }

.ftr__inner { max-width:1440px; margin:0 auto; padding:64px 40px 28px; }

/* per-segment accent (column dots + active switcher dot) */
.ftr--corporate { --accent:var(--leaf); }
.ftr--learning  { --accent:var(--pastel); }
.ftr--ai        { --accent:var(--lime); }

/* ---- segment switch row ---- */
.ftr__switch { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:14px 20px 14px 22px; border-radius:var(--r-pill); background:rgba(235,245,235,0.04); border:1px solid rgba(235,245,235,0.08); margin-bottom:56px; }
.ftr__switch-label { font-size:12px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:rgba(235,245,235,0.45); white-space:nowrap; }
.ftr__switch-segs { display:flex; align-items:center; gap:4px; background:rgba(3,38,31,0.55); padding:4px; border-radius:var(--r-pill); flex:1; max-width:520px; }
.ftr__seg { flex:1; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:9px 14px; border-radius:var(--r-pill); font-size:13.5px; font-weight:500; color:rgba(235,245,235,0.72); transition:background 160ms ease,color 160ms ease; white-space:nowrap; }
.ftr__seg:hover { color:var(--frost); }
.ftr__seg .dot { width:6px; height:6px; border-radius:50%; background:rgba(235,245,235,0.35); }
.ftr__seg[aria-current="page"] { background:var(--frost); color:var(--ocean); font-weight:600; }
.ftr__seg[aria-current="page"] .dot { background:var(--leaf); }   /* unified active-tab dot (was per-segment accent — read as inconsistent) */
.ftr__login { display:inline-flex; align-items:center; gap:8px; color:rgba(235,245,235,0.85); font-size:13.5px; font-weight:500; padding:6px 4px; border-radius:6px; transition:color 150ms ease,transform 150ms ease; white-space:nowrap; }
.ftr__login:hover { color:var(--lime); }
.ftr__login:hover .arrow { transform:translateX(3px); }
.ftr__login .arrow { transition:transform 150ms ease; display:inline-block; }

/* ---- top grid: brand + columns ---- */
.ftr__top { display:grid; gap:56px 48px; padding-bottom:56px; border-bottom:1px solid rgba(235,245,235,0.1); }
.ftr--corporate .ftr__top, .ftr--learning .ftr__top { grid-template-columns:1.5fr 1fr 1fr 1.2fr 1fr; }
.ftr--ai .ftr__top { grid-template-columns:1.7fr 1fr 1.3fr 1fr; }

.ftr__brand-logo { display:inline-block; margin-bottom:22px; }
.ftr__brand-logo svg { height:26px; width:auto; }
.ftr__brand-logo svg .wordmark path { fill:var(--frost); }   /* wordmark frost; .mark stays brand leaf-green */
.ftr__brand p { max-width:30ch; line-height:1.55; margin:0 0 24px; color:rgba(235,245,235,0.6); }
.ftr__cta-row { display:inline-flex; align-items:center; gap:10px; margin-top:4px; }
.ftr__cta { display:inline-flex; align-items:center; gap:8px; height:42px; padding:0 18px; border-radius:var(--r-pill); background:var(--lime); color:var(--ocean) !important; font-weight:600; font-size:14px; transition:transform 160ms ease,background 160ms ease; }
.ftr__cta:hover { transform:translateY(-1px); background:#aaf894; }
.ftr__cta .arrow { transition:transform 160ms ease; }
.ftr__cta:hover .arrow { transform:translateX(3px); }
.pill-new { display:inline-flex; align-items:center; vertical-align:middle; font-size:10px; font-weight:700; letter-spacing:0.10em; padding:2px 7px; border-radius:var(--r-pill); background:rgba(150,247,130,0.18); color:var(--lime); text-transform:uppercase; }

/* ---- columns (button head, styled as h5 on desktop) ---- */
.ftr__col-head { display:inline-flex; align-items:center; gap:8px; width:auto; margin:0 0 18px; padding:0; color:var(--frost); font-size:12px; font-weight:700 !important; letter-spacing:0.14em; text-transform:uppercase; cursor:default; text-align:left; }
/* column-heading indicator dot removed 2026-06-03 (Lee) — headings rely on bold text only */
.ftr__col-head .chev { display:none; }            /* hidden on desktop */
.ftr--ai .ftr__col-head { color:#f3fff0; }
.ftr__col ul { display:grid; gap:12px; }
.ftr__col a { display:inline-flex; align-items:center; gap:6px; color:rgba(235,245,235,0.7); transition:color 140ms ease,transform 140ms ease; border-radius:4px; }
.ftr__col a:hover { color:var(--frost); }
.ftr__col a:focus-visible { outline:none; box-shadow:0 0 0 2px rgba(150,247,130,0.5); }

/* ---- bottom (legal) bar ---- */
.ftr__bottom { padding-top:24px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; color:rgba(235,245,235,0.5); font-size:13px; }
.ftr__bottom-left { display:inline-flex; align-items:center; gap:14px; }
.ftr__bottom-mark { width:22px; height:22px; color:rgba(235,245,235,0.5); }
.ftr__bottom-mark svg { width:100%; height:100%; }
.ftr__bottom-mark svg path { fill:currentColor; }
.ftr__legal { display:inline-flex; align-items:center; flex-wrap:wrap; gap:0 22px; }
.ftr__legal a { color:rgba(235,245,235,0.55); transition:color 140ms ease; }
.ftr__legal a:hover { color:var(--frost); }

/* ---- ≤980px: collapse columns to 2-up, wrap switch row ---- */
@media (max-width:980px) {
  .ftr--corporate .ftr__top, .ftr--learning .ftr__top, .ftr--ai .ftr__top { grid-template-columns:1fr 1fr; }
  .ftr__switch { flex-wrap:wrap; }
}

/* ---- ≤768px: single column, accordions, stacked switch + legal ---- */
@media (max-width:768px) {
  .ftr__inner { padding:48px 24px 24px; }
  .ftr__switch { flex-direction:column; align-items:stretch; border-radius:var(--r); padding:16px; gap:14px; margin-bottom:40px; }
  .ftr__switch-segs { max-width:none; }
  .ftr__seg { font-size:12.5px; padding:8px 10px; }
  .ftr__login { align-self:flex-end; border-top:1px solid rgba(235,245,235,0.08); padding-top:12px; width:100%; justify-content:space-between; }

  .ftr--corporate .ftr__top, .ftr--learning .ftr__top, .ftr--ai .ftr__top { grid-template-columns:1fr; }
  .ftr__top { gap:0; padding-bottom:0; border-bottom:0; }
  .ftr__brand { padding-bottom:24px; border-bottom:1px solid rgba(235,245,235,0.1); }
  .ftr__col { border-bottom:1px solid rgba(235,245,235,0.08); }
  .ftr__col-head { width:100%; display:flex; align-items:center; justify-content:space-between; padding:18px 0; margin:0; cursor:pointer; }
  .ftr__col-head .chev { display:inline-block; margin-left:auto; color:rgba(235,245,235,0.45); font-size:14px; }
  .ftr__col ul { padding:0 0 18px 16px; gap:14px; border-left:1px solid rgba(235,245,235,0.08); margin-left:3px; }
  .ftr__col[data-open="false"] ul { display:none; }

  .ftr__bottom { flex-direction:column; align-items:flex-start; padding-top:28px; gap:18px; }
  .ftr__legal { gap:12px 18px; order:-1; }   /* legal above © on mobile (thumb reach) */
}

@media (prefers-reduced-motion:reduce) {
  .ftr, .ftr * { transition:none !important; animation:none !important; }
}

/* ============================================================
   Elementor wrapper neutralizers — the shortcode widget sits in
   boxed .elementor-container + transformed .elementor-widget-container.
   Let the dark footer span full width and not establish a transform
   containing block. Mirrors the web3-nav.css Elementor fixes.
   (:has() — supported in current Chromium/Safari/Firefox.)
   ============================================================ */
.elementor-section:has(.ftr) > .elementor-container { max-width:none !important; padding:0 !important; }
.elementor-section:has(.ftr) .elementor-column-gap-default > .elementor-column > .elementor-element-populated { padding:0 !important; }
.elementor-widget-shortcode:has(.ftr) > .elementor-widget-container { transform:none !important; overflow:visible !important; padding:0 !important; }
