/**
 * SnowPro 50-Day — Practice Test CSS
 * Scoped to .sf50-active body class — loads on the weekly practice-test posts.
 * Visual style harmonized with the landing page (snowpro-v2). Same palette,
 * sharp radii, flat surfaces (no gradients/glows), editorial mono labels.
 */

/* ===== VARIABLES =====
   Tokens harmonized with the landing page (snowpro-v2). Same palette,
   same domain colors, same mono accent. The reading-page keeps slightly
   larger body type & longer line-height — that's the only deliberate
   divergence from the landing tokens.
*/
:root {
  --sf-bg: #0E1218;            /* landing --bg */
  --sf-bg-alt: #11161F;        /* slightly lifted for sidebar */
  --sf-surface: #141923;       /* landing --surface */
  --sf-surface-hover: #1A2030; /* landing --tint */
  --sf-tint-warm: #1F1C12;     /* landing --tint-warm */
  --sf-border: #232A38;        /* landing --rule */
  --sf-border-light: #2E3648;  /* landing --rule-strong */
  --sf-text: #E4E7EE;          /* landing --text */
  --sf-text-bright: #F4F6FA;   /* landing --text-bright */
  --sf-muted: #8B93A4;         /* landing --muted */
  --sf-muted-2: #5C6373;       /* landing --muted-2 */
  --sf-cyan: #29B5E8;
  --sf-cyan-soft: #6CCDF0;
  --sf-cyan-glow: rgba(41,181,232,0.15);
  --sf-cyan-dim: rgba(41,181,232,0.10);
  --sf-blue: #3B82F6;
  --sf-green: #34D399;
  --sf-orange: #FB923C;
  --sf-red: #F87171;
  --sf-purple: #A78BFA;
  --sf-yellow: #FBBF24;
  --sf-teal: #2DD4BF;
  --sf-font: 'Figtree', sans-serif;
  --sf-mono:  'JetBrains Mono', monospace;
  /* Domain accents — matched to landing */
  --sf-d1: #60A5FA;
  --sf-d2: #FBA15A;
  --sf-d3: #4ADE80;
  --sf-d4: #F87171;
  --sf-d5: #C084FC;
  --sf-dr: #F2C557;
  --sf-dm: #2DD4BF;
}

.sf50-author-bio {
    font-size: 14px !important;
    color: var(--sf-text) !important;
    line-height: 1.75 !important;
    margin: 0 0 14px !important;
    font-family: var(--sf-font) !important;
}

/* ===== SCOPED BASE ===== */
body.sf50-active {
  font-family: var(--sf-font);
  background: var(--sf-bg);
  color: var(--sf-text);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

body.sf50-active .sf50-page-wrap *,
body.sf50-active .sf50-page-wrap *::before,
body.sf50-active .sf50-page-wrap *::after {
  box-sizing: border-box;
}

body.sf50-active .sf50-page-wrap a {
  text-decoration: none;
  color: inherit;
}

/* Astra content area — full width, no padding for our dark theme */
body.sf50-active .site-content {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
body.sf50-active .ast-container,
body.sf50-active .ast-full-width-layout .ast-container {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.sf50-active #primary {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
}
body.sf50-active .entry-content {
  margin: 0 !important;
}
/* Hide Astra's header, footer, and post title — we use our own */
body.sf50-active .ast-single-post-title,
body.sf50-active .post-navigation {
  display: none !important;
}

/* ===== CONTENT TYPOGRAPHY (inside day posts) ===== */
body.sf50-active .sf50-section-body h3 {
  font-size: 19px !important;
  font-weight: 600 !important;
  color: var(--sf-text-bright) !important;
  margin: 0 !important;
  padding: 0 !important;
  margin-top: 36px !important;
  margin-bottom: 12px !important;
  line-height: 1.4 !important;
  letter-spacing: -0.015em !important;
  font-family: var(--sf-font) !important;
  display: flex;
  align-items: center;
  gap: 10px;
}
body.sf50-active .sf50-section-body h3::before {
  content: "";
  width: 6px;
  height: 6px;
  background: var(--sf-cyan);
  border-radius: 50%;
  flex-shrink: 0;
}
body.sf50-active .sf50-section-body h3:first-child {
  margin-top: 0 !important;
  border-top: none !important;
}
body.sf50-active .sf50-section-body a {
  color: var(--sf-cyan) !important;
  text-decoration: none !important;
  transition: color 0.15s !important;
}
body.sf50-active .sf50-section-body a:hover {
  color: var(--sf-cyan-soft) !important;
  text-decoration: none !important;
}
body.sf50-active .sf50-section-body strong {
  color: var(--sf-text-bright) !important;
  font-weight: 600 !important;
}
body.sf50-active .sf50-section-body em {
  color: var(--sf-muted) !important;
  font-style: italic !important;
}

/* Global link reset inside sf50 wrapper */
body.sf50-active .sf50-page-wrap a {
  text-decoration: none !important;
}

/* ===== ALL HEADINGS — Force colors over Astra =====
   h3 defaults to bright text (same as h1/h2/h4-h6). Cyan-dot h3 sub-heads
   inside flowing post prose are styled by the .sf50-section-body h3 rule above.
*/
body.sf50-active .sf50-page-wrap h1,
body.sf50-active .sf50-page-wrap h2,
body.sf50-active .sf50-page-wrap h3,
body.sf50-active .sf50-page-wrap h4,
body.sf50-active .sf50-page-wrap h5,
body.sf50-active .sf50-page-wrap h6 {
  color: var(--sf-text-bright) !important;
  font-family: var(--sf-font) !important;
}
body.sf50-active .sf50-page-wrap h3 {
  margin-top: 0 !important;
}
body.sf50-active .sf50-section-header h2 {
  font-size: 24px !important;
  font-weight: 600 !important;
  color: var(--sf-text-bright) !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.02em !important;
}
body.sf50-active .sf50-hero-title {
  color: var(--sf-text-bright) !important;
}

/* =============================================
   PRACTICE TEST — components
   ============================================= */

/* ===== TEST PAGE — HEADER BADGE ===== */
.sf50-test-badge-header {
  display: inline-block;
  font-family: var(--sf-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--sf-yellow);
  background: transparent;
  padding: 0;
  border-radius: 0;
}

/* ===== TEST PAGE — CONTROLS BAR ===== */
.sf50-test-controls {
  display: flex;
  align-items: center;
  gap: 20px;
  background: var(--sf-surface);
  border: 1px solid var(--sf-border);
  border-radius: 8px;
  padding: 16px 24px;
  margin: 12px 0 24px;
  position: sticky;
  top: 0;
  z-index: 50;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.sf50-test-progress-wrap {
  flex: 1;
}
.sf50-test-progress-text {
  font-family: var(--sf-mono);
  font-size: 11px;
  font-weight: 600;
  color: var(--sf-muted);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  display: block;
  margin-bottom: 8px;
}
.sf50-test-progress-bar {
  width: 100%;
  height: 3px;
  background: var(--sf-border);
  border-radius: 999px;
  overflow: hidden;
}
.sf50-test-progress-fill {
  height: 100%;
  background: var(--sf-cyan);
  border-radius: 999px;
  transition: width 0.3s ease;
}
.sf50-test-submit-btn {
  padding: 10px 28px;
  background: var(--sf-cyan);
  color: #0B1120;
  font-family: var(--sf-font);
  font-size: 14px;
  font-weight: 700;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}
.sf50-test-submit-btn:hover:not(:disabled) {
  background: #3DC5F5;
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(41,181,232,0.3);
}
.sf50-test-submit-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

/* ===== STEPPER — Question Navigation Pills ===== */
.sf50-stepper {
  display: flex;
  gap: 6px;
  padding: 14px 4px;
  margin-bottom: 8px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.sf50-stepper::-webkit-scrollbar {
  display: none;
}
.sf50-stepper-pill {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 1px solid var(--sf-border);
  border-radius: 6px;
  color: var(--sf-muted);
  font-family: var(--sf-mono);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.04em;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.sf50-stepper-pill:hover {
  background: var(--sf-surface-hover);
  border-color: var(--sf-border-light);
  color: var(--sf-text-bright);
}

/* Active (currently viewing) */
.sf50-stepper-active {
  background: var(--sf-cyan-dim);
  border-color: var(--sf-cyan);
  color: var(--sf-cyan);
}

/* Answered (during test) */
.sf50-stepper-answered {
  background: rgba(41,181,232,0.08);
  border-color: rgba(41,181,232,0.3);
  color: var(--sf-cyan);
}

/* Correct (after submit) */
.sf50-stepper-correct {
  background: rgba(52,211,153,0.08);
  border-color: rgba(52,211,153,0.4);
  color: var(--sf-green);
}

/* Wrong (after submit) */
.sf50-stepper-wrong {
  background: rgba(248,113,113,0.08);
  border-color: rgba(248,113,113,0.4);
  color: var(--sf-red);
}

/* ===== QUESTION NAV — Prev / Next ===== */
.sf50-test-qnav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 0 8px;
  margin-bottom: 16px;
}
.sf50-test-qnav-btn {
  padding: 10px 22px;
  background: transparent;
  border: 1px solid var(--sf-border);
  border-radius: 8px;
  color: var(--sf-text);
  font-family: var(--sf-font);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
}
.sf50-test-qnav-btn:hover:not(:disabled) {
  background: var(--sf-surface);
  border-color: rgba(41,181,232,0.35);
  color: var(--sf-cyan);
}
.sf50-test-qnav-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}
.sf50-test-qnav-next {
  background: var(--sf-cyan-dim);
  border-color: rgba(41,181,232,0.2);
  color: var(--sf-cyan);
}
.sf50-test-qnav-next:hover:not(:disabled) {
  background: rgba(41,181,232,0.16);
  border-color: rgba(41,181,232,0.4);
}
.sf50-test-qnav-count {
  font-family: var(--sf-mono);
  font-size: 11px;
  font-weight: 500;
  color: var(--sf-muted);
  letter-spacing: 0.08em;
}

/* ===== BOTTOM SUBMIT ===== */
.sf50-test-bottom-submit {
  text-align: center;
  padding: 8px 0 32px;
}
.sf50-test-submit-bottom {
  min-width: 220px;
}

/* ===== TEST PAGE — QUESTION CARDS ===== */
.sf50-tq {
  background: var(--sf-surface);
  border: 1px solid var(--sf-border);
  border-radius: 8px;
  padding: 24px;
  margin-bottom: 20px;
  transition: border-color 0.3s;
}
.sf50-tq-passed {
  border-color: rgba(52,211,153,0.35) !important;
}
.sf50-tq-failed {
  border-color: rgba(248,113,113,0.35) !important;
}
.sf50-tq-header {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 18px;
}
.sf50-tq-num {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--sf-cyan-dim);
  color: var(--sf-cyan);
  font-family: var(--sf-mono);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  border-radius: 6px;
}
.sf50-tq-text {
  font-size: 15px;
  font-weight: 600;
  color: var(--sf-text-bright);
  line-height: 1.5;
  letter-spacing: -0.01em;
  flex: 1;
}
.sf50-tq-multi-hint {
  display: inline-block;
  font-family: var(--sf-mono);
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--sf-muted);
  background: transparent;
  padding: 0;
  border-radius: 0;
  margin-top: 10px;
}

/* ===== OPTIONS ===== */
.sf50-tq-options {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.sf50-tq-option {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  background: var(--sf-bg-alt);
  border: 1px solid var(--sf-border);
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}
.sf50-tq-option:hover {
  background: var(--sf-surface-hover);
  border-color: var(--sf-border-light);
}
.sf50-tq-option-letter {
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--sf-border-light);
  border-radius: 50%;
  font-family: var(--sf-mono);
  font-size: 12px;
  font-weight: 700;
  color: var(--sf-muted);
  transition: all 0.2s;
}
.sf50-tq-option-text {
  font-size: 14px;
  color: var(--sf-text);
  line-height: 1.5;
  flex: 1;
}

/* Selected state */
.sf50-tq-selected {
  background: rgba(41,181,232,0.06);
  border-color: var(--sf-cyan);
}
.sf50-tq-selected .sf50-tq-option-letter {
  background: var(--sf-cyan);
  border-color: var(--sf-cyan);
  color: #0B1120;
}

/* Correct (after submit) */
.sf50-tq-correct {
  background: rgba(52,211,153,0.06) !important;
  border-color: var(--sf-green) !important;
}
.sf50-tq-correct .sf50-tq-option-letter {
  background: var(--sf-green) !important;
  border-color: var(--sf-green) !important;
  color: #0B1120 !important;
}

/* Wrong (after submit) */
.sf50-tq-wrong {
  background: rgba(248,113,113,0.06) !important;
  border-color: var(--sf-red) !important;
}
.sf50-tq-wrong .sf50-tq-option-letter {
  background: var(--sf-red) !important;
  border-color: var(--sf-red) !important;
  color: #0B1120 !important;
}

/* ===== EXPLANATION (hidden until submit) ===== */
.sf50-tq-explanation {
  display: none;
  margin-top: 18px;
  padding: 16px 0 0;
  background: transparent;
  border: none;
  border-top: 1px solid var(--sf-border);
  border-radius: 0;
}
.sf50-tq-explanation-label {
  font-family: var(--sf-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--sf-cyan);
  margin-bottom: 10px;
}
.sf50-tq-explanation p {
  font-size: 14px;
  color: var(--sf-text);
  line-height: 1.75;
  margin-bottom: 8px;
}
.sf50-tq-explanation p:last-child {
  margin-bottom: 0;
}

/* ===== RESULTS PANEL ===== */
.sf50-test-results {
  margin-bottom: 32px;
}
.sf50-test-results-inner {
  text-align: center;
  background: var(--sf-surface);
  border: 1px solid var(--sf-border);
  border-radius: 10px;
  padding: 48px 32px;
}
.sf50-test-results-eyebrow {
  font-family: var(--sf-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--sf-muted);
  margin-bottom: 18px;
}
.sf50-test-results-score {
  font-family: var(--sf-mono);
  font-size: 48px;
  font-weight: 600;
  color: var(--sf-text-bright);
  letter-spacing: -0.02em;
  margin-bottom: 4px;
}
.sf50-test-results-pct {
  font-family: var(--sf-mono);
  font-size: 22px;
  font-weight: 500;
  color: var(--sf-cyan);
  letter-spacing: 0.02em;
  margin-bottom: 14px;
}
.sf50-test-results-verdict {
  font-size: 15px;
  color: var(--sf-muted);
  max-width: 500px;
  margin: 0 auto 28px;
  line-height: 1.6;
}
.sf50-test-results-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}
.sf50-test-review-btn {
  padding: 11px 26px;
  background: transparent;
  color: var(--sf-cyan);
  border: 1px solid rgba(41,181,232,0.3);
  border-radius: 8px;
  font-family: var(--sf-font);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}
.sf50-test-review-btn:hover {
  background: rgba(41,181,232,0.08);
  border-color: rgba(41,181,232,0.5);
  color: var(--sf-cyan-soft);
}
.sf50-test-retake-btn {
  padding: 11px 26px;
  background: transparent;
  color: var(--sf-orange);
  border: 1px solid rgba(251,146,60,0.3);
  border-radius: 8px;
  font-family: var(--sf-font);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s;
}
.sf50-test-retake-btn:hover {
  background: rgba(251,146,60,0.08);
  border-color: rgba(251,146,60,0.5);
}
.sf50-test-back-btn {
  display: inline-block;
  padding: 11px 26px;
  background: var(--sf-cyan);
  color: #0B1120;
  border: none;
  border-radius: 8px;
  font-family: var(--sf-font);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s;
}
.sf50-test-back-btn:hover {
  background: #3DC5F5;
}

/* ===== RESPONSIVE ===== */

/* Tablets */
@media (max-width: 1024px) {
  .sf50-stepper-pill {
    width: 30px;
    height: 30px;
    font-size: 11px;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .sf50-test-controls {
    flex-direction: column;
    gap: 12px;
    padding: 14px 16px;
  }
  .sf50-test-submit-btn {
    width: 100%;
  }
  .sf50-stepper {
    gap: 5px;
    padding: 10px 0;
  }
  .sf50-stepper-pill {
    width: 28px;
    height: 28px;
    font-size: 10px;
    border-radius: 5px;
  }
  .sf50-tq {
    padding: 16px;
  }
  .sf50-tq-header {
    gap: 10px;
  }
  .sf50-tq-num {
    width: 28px;
    height: 28px;
    font-size: 11px;
  }
  .sf50-tq-text {
    font-size: 14px;
  }
  .sf50-tq-option {
    padding: 12px 14px;
    gap: 10px;
  }
  .sf50-tq-option-letter {
    width: 24px;
    height: 24px;
    font-size: 11px;
  }
  .sf50-tq-option-text {
    font-size: 13px;
  }
  .sf50-tq-explanation {
    padding-top: 14px;
  }
  .sf50-tq-explanation p {
    font-size: 13px;
  }
  .sf50-test-qnav {
    padding: 12px 0 4px;
  }
  .sf50-test-qnav-btn {
    padding: 10px 16px;
    font-size: 13px;
  }
  .sf50-test-qnav-count {
    font-size: 11px;
  }
  .sf50-test-results-score {
    font-size: 36px;
  }
  .sf50-test-results-pct {
    font-size: 18px;
  }
  .sf50-test-results-inner {
    padding: 32px 20px;
  }
  .sf50-test-results-actions {
    flex-direction: column;
    gap: 10px;
  }
  .sf50-test-review-btn,
  .sf50-test-retake-btn,
  .sf50-test-back-btn {
    width: 100%;
    text-align: center;
  }
}

/* Stepper: hide inactive questions during test mode */
body.sf50-active .sf50-tq.sf50-tq--hidden {
  display: none !important;
}

/* Small phones */
@media (max-width: 400px) {
  .sf50-stepper-pill {
    width: 26px;
    height: 26px;
    font-size: 9px;
  }
  .sf50-tq {
    padding: 14px;
    margin-bottom: 14px;
  }
  .sf50-tq-text {
    font-size: 13px;
  }
  .sf50-tq-option {
    padding: 10px 12px;
  }
}

/* ═══════════════════════════════════════════
   CUSTOM SITE HEADER & FOOTER
   ═══════════════════════════════════════════ */
.sf50-site-header {
  background: var(--sf-bg) !important;
  border-bottom: 1px solid var(--sf-border) !important;
  padding: 0 !important;
  position: sticky;
  top: 0;
  z-index: 100;
}
.admin-bar .sf50-site-header {
  top: 32px;
}
@media (max-width: 782px) {
  .admin-bar .sf50-site-header {
    top: 46px;
  }
}
.sf50-site-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 40px;
  max-width: 100%;
}
.sf50-site-logo {
  font-family: var(--sf-font) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--sf-text-bright) !important;
  text-decoration: none !important;
  display: flex;
  align-items: center;
  gap: 8px;
  letter-spacing: -0.02em;
}
.sf50-site-logo span {
  color: var(--sf-cyan);
}
.sf50-site-nav {
  display: flex;
  align-items: center;
  gap: 28px;
}
.sf50-site-nav a {
  font-family: var(--sf-mono) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--sf-muted) !important;
  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  transition: color 0.15s;
}
.sf50-site-nav a:hover {
  color: var(--sf-cyan) !important;
}

/* ── Footer Layout ── */
.sf50-site-footer {
    background: var(--sf-bg);
    border-top: 1px solid var(--sf-border);
    padding: 18px 24px;
    font-size: 13px;
    color: var(--sf-muted);
}

.sf50-site-footer-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 auto;
    padding: 0 40px;
    flex-wrap: wrap;
    gap: 10px;
}

/* ── Brand (left) ── */
.sf50-footer-brand {
    color: rgba(255, 255, 255, 0.55);
    white-space: nowrap;
}

.sf50-footer-author-link {
    color: var(--sf-cyan);
    text-decoration: none;
    transition: color 0.2s;
}
.sf50-footer-author-link:hover {
    color: var(--sf-cyan-soft);
}

/* ── Center Legal Block ── */
.sf50-footer-legal {
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(255, 255, 255, 0.4);
}

.sf50-footer-legal-link {
    color: rgba(255, 255, 255, 0.5);
    text-decoration: none;
    transition: color 0.2s;
}
.sf50-footer-legal-link:hover {
    color: var(--sf-cyan);
}

.sf50-footer-dot {
    opacity: 0.35;
    user-select: none;
}

/* ── Disclaimer Trigger ── */
.sf50-footer-disclaimer-trigger {
    display: flex;
    align-items: center;
    gap: 5px;
    cursor: pointer;
    color: rgba(255, 255, 255, 0.4);
    background: none;
    border-top: none;
    border-left: none;
    border-right: none;
    padding: 0;
    font: inherit;
    text-align: left;
    transition: color 0.2s;
    white-space: nowrap;
}
.sf50-footer-disclaimer-trigger:hover {
    color: rgba(255, 255, 255, 0.7);
}
.sf50-footer-disclaimer-trigger[aria-expanded="true"] {
    color: rgba(255, 255, 255, 0.7);
    border-bottom-style: none;
}

/* ── Chevron icon rotates when open ── */
.sf50-disclaimer-chevron {
    flex-shrink: 0;
    transition: transform 0.25s ease;
}
.sf50-footer-disclaimer-trigger[aria-expanded="true"] .sf50-disclaimer-chevron {
    transform: rotate(180deg);
}

/* ── Expandable Panel ── */
.sf50-footer-disclaimer-panel {
    display: block;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.3s ease, opacity 0.25s ease, margin-top 0.25s ease;
    margin-top: 0;
    color: var(--sf-text-bright) !important;
    line-height: 1.6;
    white-space: normal;
    word-wrap: break-word;
}
.sf50-footer-disclaimer-panel.is-open {
    max-height: 200px;
    opacity: 1;
    margin-top: 8px;
}
.sf50-footer-disclaimer-panel a {
    color: var(--sf-cyan);
    text-decoration: none;
}
.sf50-footer-disclaimer-panel a:hover {
    text-decoration: underline;
}

/* ── Right Meta ── */
.sf50-footer-meta {
    color: rgba(255, 255, 255, 0.3);
    white-space: nowrap;
    font-size: 12px;
}

/* ── Responsive: stack on mobile ── */
@media (max-width: 768px) {
    .sf50-site-footer-inner {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 8px;
    }

    .sf50-footer-disclaimer-tooltip {
        left: auto;
        right: 0;
        transform: none;
        width: 260px;
    }
}

@media (max-width: 768px) {
  .sf50-site-header-inner {
    padding: 12px 16px;
  }
  .sf50-site-nav {
    gap: 16px;
  }
  .sf50-site-nav a {
    font-size: 11px !important;
  }
  .sf50-site-footer-inner {
    flex-direction: column;
    gap: 8px;
    padding: 16px;
    text-align: center;
  }
}
.ast-primary-header-bar {
    padding: 0 80px;
}

.site-primary-footer-wrap{
    padding: 0 80px;
    max-width: 100%;
}

.site-primary-footer-wrap[data-section="section-primary-footer-builder"] .ast-builder-grid-row{
    max-width: 100%;
}
.site-below-footer-wrap[data-section="section-below-footer-builder"] .ast-builder-grid-row{
    max-width: 100%;
    padding: 0 80px;
}