/**
 * Kriyasya Yoga — Dual Theme System
 * Default: Sunrise (warm light) | Alternative: Night (dark)
 * Theme stored in localStorage as 'yoga_theme'
 */

/* ============================================
   SUNRISE THEME (Calm, Warm, Yogic Sattva)
   ============================================ */
:root, [data-theme="sunrise"], [data-theme="night"], [data-theme="dark"] {
  --bg-primary: #faf6f0;
  --bg-secondary: #f4ede4;
  --bg-card: #ffffff;
  --bg-card-hover: #fdfbf7;
  --bg-glass: rgba(255, 255, 255, 0.92);
  --glass-border: rgba(120, 80, 40, 0.12);

  --text-primary: #29231f;
  --text-secondary: #4a4039;
  --text-muted: #73675f;
  --text-heading: #1f1713;

  --saffron: #b84310;
  --saffron-light: #ea580c;
  --saffron-bg: rgba(184, 67, 16, 0.08);
  --saffron-border: rgba(184, 67, 16, 0.2);
  --saffron-gold: #b45309;
  --saffron-glow: rgba(184, 67, 16, 0.15);
  --amber: #92400e;
  --sand: #78350f;
  --cream: #fffbeb;

  --border-subtle: rgba(120, 90, 60, 0.08);
  --border-card: rgba(120, 90, 60, 0.14);
  --shadow-sm: 0 1px 4px rgba(40, 25, 15, 0.06);
  --shadow-md: 0 4px 14px rgba(40, 25, 15, 0.08);
  --shadow-lg: 0 12px 32px rgba(40, 25, 15, 0.1);
  --shadow-glow: 0 0 24px rgba(184, 67, 16, 0.08);

  --badge-free-bg: rgba(22, 163, 74, 0.08);
  --badge-free-border: rgba(22, 163, 74, 0.25);
  --badge-free-text: #15803d;
  --badge-premium-bg: rgba(184, 67, 16, 0.08);
  --badge-premium-border: rgba(184, 67, 16, 0.25);
  --badge-premium-text: #9a3412;

  --safety-bg: rgba(185, 28, 28, 0.06);
  --safety-border: rgba(185, 28, 28, 0.2);
  --safety-text: #991b1b;

  --gradient-title: linear-gradient(135deg, #78350f, #b84310, #92400e);
  --gradient-btn: linear-gradient(135deg, #b84310, #8c2e06);
  --gradient-btn-hover: linear-gradient(135deg, #c2410c, #9a3412);
  --btn-text: #ffffff;
  --nav-bg: rgba(250, 246, 240, 0.96);
  --nav-border: rgba(184, 67, 16, 0.12);
  --theme-sun-disp: none;
  --theme-moon-disp: none;
}

/* Theme toggle retired - strictly light theme */
.theme-toggle, .yoga-theme-switch-btn {
  display: none !important;
}
  gap: 8px;
  background: var(--bg-card);
  border: 1px solid var(--border-card);
  border-radius: 30px;
  padding: 4px;
  cursor: pointer;
}
.theme-toggle button {
  padding: 6px 14px;
  border: none;
  border-radius: 26px;
  font-size: 0.72rem;
  font-weight: 600;
  cursor: pointer;
  transition: 0.3s;
  background: transparent;
  color: var(--text-muted);
}
.theme-toggle button.active {
  background: var(--saffron);
  color: var(--btn-text);
}

/* ============================================
   BASE OVERRIDES (apply theme vars to body)
   ============================================ */
body {
  background: var(--bg-primary) !important;
  color: var(--text-primary) !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}

/* ============================================
   LEGACY VARIABLE ALIASES
   Maps old hardcoded vars to theme-aware values
   so all pages work with both themes.
   ============================================ */
:root, [data-theme="sunrise"] {
  --dark2: var(--bg-card);
  --dark3: var(--border-card);
  --dark4: var(--text-muted);
  --text: var(--text-primary);
  --muted: var(--text-muted);
  --radius: 16px;
}

/* Legacy variables alias */
:root {
  --dark2: #ffffff;
  --dark3: rgba(120, 90, 60, 0.08);
  --dark4: #f4ede4;
  --text: #1f1713;
  --muted: #73675f;
  --radius: 16px;
}

/* ============================================
   CARD VISIBILITY FIX (Sunrise)
   Cards must have visible borders and shadow.
   ============================================ */
:root .glass, [data-theme="sunrise"] .glass {
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(28, 25, 23, 0.1);
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
:root .glass:hover, [data-theme="sunrise"] .glass:hover {
  border-color: rgba(194, 65, 12, 0.3);
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}

/* ============================================
   SACRED GEOMETRY BACKGROUNDS
   Subtle mandala/lotus patterns for yoga pages.
   Applied via .sacred-bg class.
   ============================================ */
.sacred-bg {
  position: relative;
}
.sacred-bg::before {
  content: '';
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 600px;
  height: 600px;
  opacity: 0.02;
  pointer-events: none;
  z-index: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Ccircle cx='100' cy='100' r='90' fill='none' stroke='%23f97316' stroke-width='0.5'/%3E%3Ccircle cx='100' cy='100' r='70' fill='none' stroke='%23f97316' stroke-width='0.4'/%3E%3Ccircle cx='100' cy='100' r='50' fill='none' stroke='%23f97316' stroke-width='0.3'/%3E%3Ccircle cx='100' cy='100' r='30' fill='none' stroke='%23f97316' stroke-width='0.3'/%3E%3Cpath d='M100 10 L100 190 M10 100 L190 100 M29 29 L171 171 M171 29 L29 171' stroke='%23f97316' stroke-width='0.2'/%3E%3Cpath d='M100 30 C130 50 130 80 100 100 C70 80 70 50 100 30Z' fill='none' stroke='%23f97316' stroke-width='0.3'/%3E%3Cpath d='M100 170 C130 150 130 120 100 100 C70 120 70 150 100 170Z' fill='none' stroke='%23f97316' stroke-width='0.3'/%3E%3Cpath d='M30 100 C50 130 80 130 100 100 C80 70 50 70 30 100Z' fill='none' stroke='%23f97316' stroke-width='0.3'/%3E%3Cpath d='M170 100 C150 130 120 130 100 100 C120 70 150 70 170 100Z' fill='none' stroke='%23f97316' stroke-width='0.3'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}
[data-theme="night"] .sacred-bg::before {
  opacity: 0.03;
}

/* Lotus pattern for meditation/pranayama pages */
.lotus-bg::before {
  content: '';
  position: fixed;
  bottom: -100px;
  right: -100px;
  width: 400px;
  height: 400px;
  opacity: 0.025;
  pointer-events: none;
  z-index: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 15 C60 30 60 45 50 55 C40 45 40 30 50 15Z' fill='none' stroke='%23f97316' stroke-width='0.5'/%3E%3Cpath d='M50 15 C65 25 70 40 60 55 C50 45 45 30 50 15Z' fill='none' stroke='%23f97316' stroke-width='0.4'/%3E%3Cpath d='M50 15 C35 25 30 40 40 55 C50 45 55 30 50 15Z' fill='none' stroke='%23f97316' stroke-width='0.4'/%3E%3Cpath d='M30 50 C40 40 50 42 50 55 C50 68 40 70 30 60Z' fill='none' stroke='%23f97316' stroke-width='0.4'/%3E%3Cpath d='M70 50 C60 40 50 42 50 55 C50 68 60 70 70 60Z' fill='none' stroke='%23f97316' stroke-width='0.4'/%3E%3Ccircle cx='50' cy='55' r='8' fill='none' stroke='%23f97316' stroke-width='0.5'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}
[data-theme="night"] .lotus-bg::before {
  opacity: 0.04;
}

/* ============================================
   PAGE TRANSITIONS
   Smooth fade-in for page loads.
   ============================================ */
@keyframes pageIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
body {
  animation: pageIn 0.4s ease-out;
}

/* ============================================
   MICRO-INTERACTIONS
   Button press, card hover, badge earn effects.
   ============================================ */
button, .pill, .ob-opt, .f-chip, .vid-chip, .se-tab {
  transition: transform 0.15s ease, box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}
button:active, .pill:active, .ob-opt:active {
  transform: scale(0.96);
}

/* Confetti keyframes for celebrations */
@keyframes confettiBurst {
  0% { transform: translateY(0) rotate(0deg); opacity: 1; }
  100% { transform: translateY(-80px) rotate(720deg); opacity: 0; }
}
.confetti-particle {
  position: fixed;
  width: 8px;
  height: 8px;
  border-radius: 2px;
  animation: confettiBurst 1.2s ease-out forwards;
  pointer-events: none;
  z-index: 99999;
}

/* Smooth scrolling for all */
html {
  scroll-behavior: smooth;
}

/* Focus visible styles for accessibility */
:focus-visible {
  outline: 2px solid var(--saffron, #ea580c);
  outline-offset: 2px;
  border-radius: 4px;
}

/* ============================================
   PRINT STYLES
   Clean layout for printing routines and plans.
   ============================================ */
@media print {
  body {
    background: #fff !important;
    color: #000 !important;
    font-size: 12pt;
  }
  .yn-bottom-nav, .yn-more-overlay, .yn-more-menu,
  .yn-top-nav, .theme-toggle, .cosmos,
  .hub-footer, .safety-strip, .cta-area,
  button, nav, footer,
  [data-reveal] { opacity: 1 !important; transform: none !important; }
  .glass { background: #fff !important; border: 1px solid #ddd !important; backdrop-filter: none !important; }
  .yn-bottom-nav, .yn-more-overlay, .yn-more-menu { display: none !important; }
  a { color: #000 !important; text-decoration: none !important; }
  .no-print { display: none !important; }
  .print-only { display: block !important; }
  * { box-shadow: none !important; animation: none !important; }
}
.print-only { display: none; }
.print-btn {
  padding: 8px 16px;
  border-radius: 20px;
  border: 1px solid var(--saffron-border, rgba(234,88,12,.12));
  background: var(--saffron-bg, rgba(234,88,12,.06));
  color: var(--saffron, #ea580c);
  font-size: .75rem;
  font-weight: 600;
  cursor: pointer;
}
.print-btn:hover { background: var(--saffron, #ea580c); color: #fff; }

/* ============================================
   NIGHT THEME — Stronger Card Visibility
   Ensures all card surfaces are clearly distinct
   from the background in dark mode.
   ============================================ */
[data-theme="night"] .glass,
[data-theme="night"] [style*="--bg-card"],
[data-theme="night"] .wisdom,
[data-theme="night"] .explore-card,
[data-theme="night"] .main-card,
[data-theme="night"] .cl-card {
  background: #292524 !important;
  border-color: rgba(249, 115, 22, 0.15) !important;
}
[data-theme="night"] .glass:hover,
[data-theme="night"] .explore-card:hover,
[data-theme="night"] .main-card:hover,
[data-theme="night"] .cl-card:hover {
  border-color: rgba(249, 115, 22, 0.4) !important;
  box-shadow: 0 8px 24px rgba(249, 115, 22, 0.08) !important;
}

/* Hub progress/wisdom cards use inline bg-card — override for night */
[data-theme="night"] [style*="background:var(--bg-card)"],
[data-theme="night"] [style*="background: var(--bg-card)"] {
  background: #292524 !important;
  border: 1px solid rgba(249, 115, 22, 0.15) !important;
}

/* Flagship banner keeps its gradient — just boost text contrast */
[data-theme="night"] .flagship-banner { opacity: 0.95; }

/* Nav in night */
[data-theme="night"] .lb-nav,
[data-theme="night"] .su-nav,
[data-theme="night"] .ad-nav,
[data-theme="night"] .pd-nav,
[data-theme="night"] .md-nav {
  background: rgba(12, 10, 9, 0.95) !important;
  border-bottom-color: rgba(249, 115, 22, 0.12) !important;
}

/* Ensure text on all cards/sections is readable */
[data-theme="night"] .section-header h2,
[data-theme="night"] .e-label,
[data-theme="night"] .mc-title,
[data-theme="night"] .cl-title {
  color: #fef3c7 !important;
}
[data-theme="night"] .section-header p,
[data-theme="night"] .e-hi,
[data-theme="night"] .mc-desc,
[data-theme="night"] .cl-time,
[data-theme="night"] .tagline,
[data-theme="night"] .verse,
[data-theme="night"] .ref {
  color: #d6d3d1 !important;
}

/* Quick-start pills */
[data-theme="night"] .pill {
  background: rgba(249, 115, 22, 0.1) !important;
  border-color: rgba(249, 115, 22, 0.25) !important;
  color: #fdba74 !important;
}
[data-theme="night"] .pill:hover {
  background: rgba(249, 115, 22, 0.2) !important;
}

/* Safety strip */
[data-theme="night"] .safety-strip {
  background: rgba(239, 68, 68, 0.06) !important;
  border-color: rgba(239, 68, 68, 0.2) !important;
  color: #fca5a5 !important;
}

/* Language toggle in night */
[data-theme="night"] .lang-switch,
[data-theme="night"] .yoga-lang-switch {
  background: #292524 !important;
  border-color: rgba(249, 115, 22, 0.2) !important;
}

/* Pages that use wrap/page-head (yoga-paths, shatkarma, etc.) */
[data-theme="night"] .page-head h1,
[data-theme="night"] .page-head .eyebrow {
  color: #fef3c7 !important;
}
[data-theme="night"] .wrap {
  color: #d6d3d1;
}
[data-theme="night"] .yp-card h3 {
  color: #fef3c7 !important;
}
[data-theme="night"] .yp-card p {
  color: #a8a29e !important;
}

/* Global links readability */
[data-theme="night"] a { color: #fdba74; }
[data-theme="night"] a:hover { color: #f97316; }

/* Input fields */
[data-theme="night"] input,
[data-theme="night"] select,
[data-theme="night"] textarea {
  background: #292524 !important;
  color: #fafaf9 !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
}

/* Footer */
[data-theme="night"] .hub-footer {
  border-top-color: rgba(249, 115, 22, 0.1) !important;
}
[data-theme="night"] .hub-footer a,
[data-theme="night"] .hub-footer .copy {
  color: #a8a29e !important;
}

/* =============================================================================
   UNIVERSAL THEME ACCESSIBILITY & CONTRAST PROTECTION (WCAG 2.2 AA)
   Root fix for all Yoga pages, tools, hubs, cards, chips, forms, and badges.
   Eliminates all dark-on-dark, light-on-light, and low-contrast states.
   ============================================================================= */

/* 1. Universal Card & Surface Rules for Sunrise (Calm Warm Light) Theme */
:root, [data-theme="sunrise"] {
  .study-card, .region-card, .goal-card, .pd-card, .routine-card,
  .as-practice-box, .region-overview, .gj-nadi-card, .cl-card, .main-card,
  .a-card, .yp-card, .sk-card, .ad-member-ribbon, .ratio-pill, .pd-audio-pill,
  .proto-card, .body-map-section, .bm-region-chip, .modal-box, .seq-item {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-card) !important;
    color: var(--text-primary) !important;
    box-shadow: var(--shadow-sm) !important;
  }
  .study-card h2, .study-card h3, .region-card h3, .goal-card h3, .pd-card h3,
  .routine-card h3, .as-practice-box h3, .region-overview h2, .a-card .name,
  .cl-title, .mc-title, .yp-card h3, .tb-title, .pc-title, .bm-header h2,
  .bm-region-title, .rb-hero h1, .brand, .lb-hero h1, .se-title, .pd-sect-title,
  .kk-hero h1, .vc-name, .cc-title, .pd-hero h1, .rp-name, .gp-name, .rb-phase-title .pn,
  .se-hero h1, .chapter-title, .title {
    color: var(--text-heading) !important;
  }
  .study-card p, .region-card p, .goal-card p, .pd-card p, .routine-card p,
  .a-card .sanskrit, .mc-desc, .cl-time, .yp-card p, .pc-desc, .bm-header p,
  .bm-region-sub, .rb-hero p {
    color: var(--text-secondary) !important;
  }
  .pc-badge, .bm-badge {
    background: rgba(184, 67, 16, 0.08) !important;
    color: var(--text-muted) !important;
    border: 1px solid rgba(184, 67, 16, 0.15) !important;
  }
  .pc-dur {
    background: rgba(180, 83, 9, 0.1) !important;
    color: #92400e !important;
    border: 1px solid rgba(180, 83, 9, 0.25) !important;
  }
  .pc-view-btn, .bm-arrow {
    color: var(--saffron) !important;
  }
  .bm-region-chip {
    background: #ffffff !important;
  }
  .bm-region-chip:hover {
    background: var(--saffron-bg) !important;
    border-color: var(--saffron) !important;
  }

  /* Form controls & search inputs */
  .lb-search, .search-input, .search-box input, input[type="text"], select, textarea {
    background: var(--bg-card) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--border-card) !important;
  }

  /* Filter chips, pills, and tabs */
  .f-chip, .act-chip, .cat-pill, .se-tab, .text-tab, .mode-tab {
    background: var(--bg-card) !important;
    color: var(--text-secondary) !important;
    border: 1px solid var(--border-card) !important;
  }
  .f-chip:hover, .act-chip:hover, .cat-pill:hover, .se-tab:hover, .text-tab:hover, .mode-tab:hover {
    border-color: var(--saffron) !important;
    color: var(--saffron) !important;
    background: var(--saffron-bg) !important;
  }
  .f-chip.active, .act-chip.active, .cat-pill.active, .se-tab.active, .text-tab.active, .mode-tab.active {
    background: var(--saffron) !important;
    color: #ffffff !important;
    border-color: var(--saffron) !important;
    box-shadow: 0 4px 14px rgba(184, 67, 16, 0.25) !important;
  }
}

/* 2. Universal Card & Surface Rules for Night (Calm Temple Twilight) Theme */
[data-theme="night"] {
  .study-card, .region-card, .goal-card, .pd-card, .routine-card,
  .as-practice-box, .region-overview, .gj-nadi-card, .cl-card, .main-card,
  .a-card, .yp-card, .sk-card, .ad-member-ribbon, .ratio-pill, .pd-audio-pill,
  .proto-card, .body-map-section, .bm-region-chip, .modal-box, .seq-item {
    background: #282421 !important;
    border: 1px solid rgba(255, 240, 225, 0.12) !important;
    color: var(--text-primary) !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35) !important;
  }
  .study-card h2, .study-card h3, .region-card h3, .goal-card h3, .pd-card h3,
  .routine-card h3, .as-practice-box h3, .region-overview h2, .a-card .name,
  .cl-title, .mc-title, .yp-card h3, .tb-title, .pc-title, .bm-header h2,
  .bm-region-title, .rb-hero h1, .brand, .lb-hero h1, .se-title, .pd-sect-title,
  .kk-hero h1, .vc-name, .cc-title, .pd-hero h1, .rp-name, .gp-name, .rb-phase-title .pn,
  .se-hero h1, .chapter-title, .title {
    color: var(--text-heading) !important;
  }
  .study-card p, .region-card p, .goal-card p, .pd-card p, .routine-card p,
  .a-card .sanskrit, .mc-desc, .cl-time, .yp-card p, .pc-desc, .bm-header p,
  .bm-region-sub, .rb-hero p {
    color: var(--text-secondary) !important;
  }
  .pc-badge, .bm-badge {
    background: rgba(255, 240, 225, 0.08) !important;
    color: var(--text-muted) !important;
    border: 1px solid rgba(255, 240, 225, 0.14) !important;
  }
  .pc-dur {
    background: rgba(251, 191, 36, 0.15) !important;
    color: #fde68a !important;
    border: 1px solid rgba(251, 191, 36, 0.3) !important;
  }
  .pc-view-btn, .bm-arrow {
    color: var(--saffron-light) !important;
  }
  .bm-region-chip {
    background: #2d2825 !important;
  }
  .bm-region-chip:hover {
    background: rgba(249, 115, 22, 0.14) !important;
    border-color: var(--saffron) !important;
  }

  /* Form controls & search in dark mode */
  .lb-search, .search-input, .search-box input, input[type="text"], select, textarea {
    background: #24201d !important;
    color: #f5f0eb !important;
    border: 1px solid rgba(255, 240, 225, 0.16) !important;
  }

  /* Filter chips, pills, and tabs in dark mode */
  .f-chip, .act-chip, .cat-pill, .se-tab, .text-tab, .mode-tab {
    background: #282421 !important;
    color: #d6cec7 !important;
    border: 1px solid rgba(255, 240, 225, 0.12) !important;
  }
  .f-chip:hover, .act-chip:hover, .cat-pill:hover, .se-tab:hover, .text-tab:hover, .mode-tab:hover {
    border-color: var(--saffron) !important;
    color: var(--saffron-light) !important;
    background: rgba(249, 115, 22, 0.14) !important;
  }
  .f-chip.active, .act-chip.active, .cat-pill.active, .se-tab.active, .text-tab.active, .mode-tab.active {
    background: var(--saffron) !important;
    color: #1c1917 !important;
    border-color: var(--saffron) !important;
    font-weight: 800 !important;
  }
}

/* 3. Global Cross-Theme Dropdown Option Styling */
select option {
  background-color: var(--bg-card) !important;
  color: var(--text-primary) !important;
}

/* 4. Placeholder Contrast Protection (WCAG >= 4.5:1) */
::placeholder {
  color: var(--text-muted) !important;
  opacity: 0.9 !important;
}

/* 5. Library Tag Badges Contrast Protection */
.a-card .tag.tag-photos {
  background: rgba(3, 105, 161, 0.12) !important;
  color: #0369a1 !important;
  border: 1px solid rgba(3, 105, 161, 0.3) !important;
}
.a-card .tag.tag-video {
  background: rgba(185, 28, 28, 0.12) !important;
  color: #b91c1c !important;
  border: 1px solid rgba(185, 28, 28, 0.3) !important;
}
.a-card .tag.tag-membership {
  background: rgba(154, 52, 18, 0.12) !important;
  color: #9a3412 !important;
  border: 1px solid rgba(154, 52, 18, 0.3) !important;
}
[data-theme="night"] .a-card .tag.tag-photos {
  background: rgba(56, 189, 248, 0.18) !important;
  color: #7dd3fc !important;
  border: 1px solid rgba(56, 189, 248, 0.35) !important;
}
[data-theme="night"] .a-card .tag.tag-video {
  background: rgba(239, 68, 68, 0.18) !important;
  color: #fca5a5 !important;
  border: 1px solid rgba(239, 68, 68, 0.35) !important;
}
[data-theme="night"] .a-card .tag.tag-membership {
  background: rgba(249, 115, 22, 0.22) !important;
  color: #fdba74 !important;
  border: 1px solid rgba(249, 115, 22, 0.35) !important;
}

/* 6. Pranayama Channel Badge Contrast */
.ch-sushumna {
  background: #f3e8ff !important;
  color: #6b21a8 !important;
  border: 1px solid rgba(107, 33, 168, 0.25) !important;
}
.ch-pingala {
  background: #ffedd5 !important;
  color: #9a3412 !important;
  border: 1px solid rgba(154, 52, 18, 0.25) !important;
}
.ch-ida {
  background: #e0f2fe !important;
  color: #0369a1 !important;
  border: 1px solid rgba(3, 105, 161, 0.25) !important;
}
[data-theme="night"] .ch-sushumna {
  background: #3b0764 !important;
  color: #d8b4fe !important;
  border: 1px solid rgba(216, 180, 254, 0.3) !important;
}
[data-theme="night"] .ch-pingala {
  background: #431407 !important;
  color: #fdba74 !important;
  border: 1px solid rgba(253, 186, 116, 0.3) !important;
}
[data-theme="night"] .ch-ida {
  background: #082f49 !important;
  color: #7dd3fc !important;
  border: 1px solid rgba(125, 211, 252, 0.3) !important;
}

/* 7. Flagship Banner & Footer Text Readability */
.flagship-banner {
  background: linear-gradient(135deg, #7c2d12, #9a3412, #c2410c) !important;
}
.fb-desc {
  color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25) !important;
}
.hub-footer .copy {
  color: var(--text-muted) !important;
  opacity: 1 !important;
}

