/*
Theme Name: Astra Child — Major Stone
Template: astra
Version: 2.3
Description: Major Stone child theme — global styles consolidated. 
Fixes: Stacking context for Mobile Nav vs Tickers, Hamburger rendering artifacts.
*/

/* ============================================================
   PARENT THEME
   ============================================================ */
@import url('../astra/style.css');


/* ============================================================
   1. CSS CUSTOM PROPERTIES
   ============================================================ */
:root {
  --black:      #0A0A0A;
  --gold:        #FFD700;
  --gold-light: #FFF176;
  --gold-bright:#FFEE58;
  --gold-deep:   #B8860B;
  --gold-mid:    #FFC107;
  --gold-glow:  rgba(201,168,76,0.28);
  --gold-glow2: rgba(201,168,76,0.07);
  --white:      #FAF6EC;
  --muted:      rgba(240,208,128,0.45);
  --muted-dim:  rgba(240,208,128,0.35);
  --card-bg:    rgba(255,255,255,0.025);
  --border:     rgba(201,168,76,0.14);
  --border-dim: rgba(201,168,76,0.08);
  --dark-gold:  #111000;
  --ease:       cubic-bezier(0.22,1,0.36,1);
}


/* ============================================================
   2. WP / ASTRA / ELEMENTOR LAYOUT RESET
   ============================================================ */
#masthead,
.site-header,
header.site-header,
.main-navigation,
nav.main-navigation,
#site-navigation,
.wp-block-navigation,
.elementor-location-header,
header[class*="header"],
nav[class*="nav"]:not(.ms-nav),
.hfg-header,
.fl-builder-header,
.uael-nav-menu,
.ast-site-header-wrap,
#ast-fixed-header,
.ast-primary-header-bar,
.ast-main-header-wrap,
.ast-below-header,
.ast-above-header,
.main-header-bar,
.main-header-bar-wrap,
.ast-desktop-header {
  display:      none       !important;
  height:       0           !important;
  min-height:   0           !important;
  padding:      0           !important;
  margin:       0           !important;
  overflow:     hidden      !important;
}

html {
  margin-top:       0 !important;
  scroll-behavior: smooth;
}

body.admin-bar {
  margin-top:  0 !important;
  padding-top: 0 !important;
}

#wpadminbar { display: none !important; }

.ms-wrap {
  position:      relative;
  width:         100vw !important;
  max-width:     100vw !important;
  left:          50%   !important;
  right:         50%   !important;
  margin-left: -50vw   !important;
  margin-right:-50vw   !important;
}

/* ============================================================
   2B. ELEMENTOR FLEX CONTAINER OVERRIDE
   Elementor's dynamic post CSS sets --flex-direction:column via
   CSS custom properties on its container elements. !important on
   flex-direction alone does NOT override this because Elementor
   applies layout via var(--flex-direction) internally.
   Fix: override the variable itself on our classes.
   ============================================================ */

/* Core reset — override Elementor's CSS variables on ALL our row-layout classes */
.ms-stats,
.ms-footer,
.ms-footer-links,
.ms-promise,
.ms-nav-links,
.ms-nav-right,
.ms-hero-btns,
.ms-hero-dual,
.ms-circle-btns,
.ms-testi-grid,
.ms-benefits-grid {
  --flex-direction: row !important;
  --display:        flex !important;
}

/* Column-layout classes — ensure these stay column */
.ms-stat,
.ms-circle-card,
.ms-benefit,
.ms-testi,
.ms-promise-item,
.ms-ingr-row {
  --flex-direction: column !important;
  --display:        flex !important;
}

/* Apply the actual properties with !important too */
.ms-stats {
  display:        flex !important;
  flex-direction: row !important;
  flex-wrap:      wrap !important;
}

.ms-stat {
  display:        flex !important;
  flex-direction: column !important;
  align-items:    center !important;
}

.ms-footer {
  display:        flex !important;
  flex-direction: row !important;
  flex-wrap:      wrap !important;
}

.ms-footer-links {
  display:         flex !important;
  flex-direction:  row !important;
  flex-wrap:       wrap !important;
  list-style:      none !important;
  padding:         0 !important;
  margin:          0 !important;
}

.ms-footer-links li {
  list-style:      none !important;
  list-style-type: none !important;
  display:         inline-flex !important;
  margin:          0 !important;
  padding:         0 !important;
}

.ms-footer-links li::before,
.ms-footer-links li::marker {
  display: none !important;
  content: none !important;
}

/* ── PROMISE STRIP ──────────────────────────────────────────── */
.ms-promise {
  display:         flex !important;
  flex-direction:  row !important;
  flex-wrap:       wrap !important;
  justify-content: space-around !important;
  align-items:     center !important;
  gap:             24px;
  padding:         32px 60px;
  border-top:      0.5px solid var(--border);
  border-bottom:   0.5px solid var(--border);
  background:      rgba(255,215,0,0.012);
}

.ms-promise-item {
  display:        flex !important;
  flex-direction: row !important;
  align-items:    center !important;
  gap:            14px;
  flex:           1 1 180px;
}

.ms-promise-icon {
  font-size:  1.6rem;
  flex-shrink:0;
}

.ms-promise-text {
  font-size:   12px;
  color:       var(--muted);
  line-height: 1.5;
}

.ms-promise-text strong {
  display:        block;
  font-family:    'Cinzel', serif;
  font-size:      10px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color:          var(--gold-light);
  font-weight:    600;
  margin-bottom:  2px;
}

@media (max-width: 900px) {
  .ms-stats        { --flex-direction: row !important;    flex-direction: row !important; flex-wrap: wrap !important; }
  .ms-footer       { --flex-direction: column !important; flex-direction: column !important; }
  .ms-footer-links { --flex-direction: column !important; flex-direction: column !important; }
  .ms-footer-links li { display: block !important; }
  .ms-promise      { --flex-direction: column !important; flex-direction: column !important; padding: 28px 24px !important; }
  .ms-promise-item { flex: 1 1 100% !important; }
}

/* ============================================================
   3. BASE TYPOGRAPHY & WRAP
   ============================================================ */
.ms-wrap {
  background:    var(--black);
  color:         var(--white);
  font-family:   'Montserrat', sans-serif;
  font-weight:   300;
  font-size:     15px;
  line-height:   1.7;
  overflow-x:    hidden;
  min-height:    100vh;
}

.ms-wrap a {
  text-decoration: none;
  color: inherit;
}


/* ============================================================
   4. ANNOUNCEMENT TICKER (Z-INDEX PROTECTION)
   ============================================================ */
.ms-ticker-wrap {
  position:    relative;
  z-index:     1 !important;
  width:       100%;
  overflow:    hidden;
  background:  rgba(10,10,10,0.95);
  border-bottom: 0.5px solid rgba(201,168,76,0.3);
  padding:     10px 0;
}

.ms-ticker-wrap--mid {
  background:     rgba(10,10,10,0.6);
  border-top:    none;
  border-bottom: 0.5px solid var(--border);
  padding:       15px 0;
  z-index: 1 !important;
}

.ms-ticker-track {
  display:    flex;
  white-space:nowrap;
  width:      max-content;
  animation:  ms-ticker 32s linear infinite;
}

.ms-ticker-wrap--mid .ms-ticker-track {
  animation-duration: 45s;
}

.ms-ticker-track span {
  font-size:       10px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color:           var(--gold);
  flex-shrink:     0;
  display:         inline-block;
  padding-right:  40px;
}

@keyframes ms-ticker {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}


/* ============================================================
   5. NAVIGATION (THE STACKING FIX)
   ============================================================ */
.ms-nav {
  position:         fixed;
  top:              37px;
  left:             0;
  right:            0;
  z-index:          99999 !important;
  padding:          0 60px;
  height:           72px;
  display:          flex;
  align-items:      center;
  justify-content: flex-start;
  transition:      background 0.4s, border-color 0.4s, top 0.4s;
  border-bottom:   0.5px solid transparent;
}

.ms-nav * {
  z-index: 100000 !important;
}

.ms-nav.ms-scrolled {
  background:      rgba(10,10,10,0.95);
  backdrop-filter: blur(16px);
  border-color:    var(--border);
  top:             0;
}

.ms-nav-logo {
  font-family:    'Cinzel', serif;
  font-size:      15px;
  font-weight:    700;
  letter-spacing: 0.25em;
  color:          var(--gold) !important;
  text-decoration:none;
  margin-right:   50px;
  flex-shrink:    0;
}

.ms-nav-links {
  display:    flex;
  gap:        36px;
  list-style: none;
  margin:     0;
  padding:    0;
}

.ms-nav-links a {
  font-size:      10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color:          var(--gold);
  font-weight:    600;
  transition:     color 0.3s;
  text-decoration:none;
  position:       relative;
  display:        inline-block;
}

.ms-mobile-only { display: none !important; }

/* Hamburger base — hidden on desktop */
.ms-hamburger {
  display:         none;
  flex-direction:  column;
  justify-content: space-between;
  width:           26px;
  height:          18px !important;
  cursor:          pointer;
  background:      none !important;
  border:          none !important;
  padding:         0 !important;
  overflow:        visible !important;
  position:        relative;
}

.ms-hamburger span {
  display:        block !important;
  width:          100% !important;
  height:         2px !important;
  background:     var(--gold) !important;
  transition:     transform 0.3s, opacity 0.3s !important;
  margin:         0 !important;
  pointer-events: none;
}

.ms-hamburger::before,
.ms-hamburger::after { content: none !important; display: none !important; }

.ms-nav-right {
  margin-left: auto;
  display:     flex;
  align-items: center;
  gap:         20px;
}

.ms-cart-btn {
  position:       relative;
  display:        flex;
  align-items:    center;
  gap:            6px;
  color:          var(--gold-light);
  cursor:         pointer;
  text-decoration:none;
  font-family:    'Cinzel', serif;
  font-size:      10px;
  letter-spacing: 0.15em;
  padding:        10px 18px;
  border:         0.5px solid rgba(201,168,76,0.25);
}

.ms-cart-count {
  background:     var(--gold);
  color:          var(--black);
  font-size:      9px;
  font-weight:    700;
  width:          17px;
  height:         17px;
  border-radius:  50%;
  display:        inline-flex;
  align-items:    center;
  justify-content:center;
  opacity:        0;
  transition:     opacity 0.3s;
}
.ms-cart-count.ms-has-items { opacity: 1; }


/* ============================================================
   6. SHARED UI ELEMENTS (SHIMMER & HEX)
   ============================================================ */
.ms-shimmer {
  background: linear-gradient(90deg, var(--gold-deep), var(--gold-light), var(--gold-bright), var(--gold-light), var(--gold-deep));
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: ms-shimmer 3.5s linear infinite;
}

@keyframes ms-shimmer {
  0% { background-position: 0% center; }
  100% { background-position: 200% center; }
}

.ms-hex-bg {
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg width='70' height='70' viewBox='0 0 70 70' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M35 6 L61 21 L61 49 L35 64 L9 49 L9 21 Z' fill='none' stroke='rgba(201,168,76,0.055)' stroke-width='0.6'/%3E%3C/svg%3E");
  opacity: 0.6;
  pointer-events: none;
}


/* ============================================================
   7. FOOTER & DISCLAIMER
   ============================================================ */
.ms-footer {
  padding: 60px;
  border-top: 0.5px solid var(--border);
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: rgba(0,0,0,0.45);
  flex-wrap: wrap;
  gap: 24px;
}

.ms-footer-logo {
  font-family: 'Cinzel', serif;
  font-size: 15px;
  font-weight: 700;
  color: var(--gold);
}

.ms-footer-trademark {
  display: block;
  font-size: 9px;
  text-transform: uppercase;
  color: var(--gold);
  opacity: 0.7;
}

.ms-disclaimer {
  padding: 22px 60px;
  font-size: 10px;
  color: #ffffff;
  text-align: center;
  line-height: 1.9;
  border-top: 0.5px solid rgba(201,168,76,0.05);
  background: var(--black);
}


/* ── STATS BAR ──────────────────────────────────────────────── */
.ms-stats {
  display:         flex !important;
  flex-direction:  row !important;
  justify-content: space-around !important;
  align-items:     center !important;
  flex-wrap:       wrap !important;
  gap:             32px;
  padding:         60px 80px;
  border-top:      0.5px solid var(--border);
  border-bottom:   0.5px solid var(--border);
  background:      rgba(255,215,0,0.012);
}

.ms-stat {
  display:        flex !important;
  flex-direction: column !important;
  align-items:    center !important;
  text-align:     center !important;
  flex:           1 1 160px !important;
}

.ms-stat-num {
  font-family:    'Cinzel', serif;
  font-size:      clamp(28px, 4vw, 42px);
  font-weight:    700;
  color:          var(--gold);
  line-height:    1;
  display:        block !important;
  margin-bottom:  8px;
}

.ms-stat-label {
  font-size:      9px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color:          var(--muted);
  display:        block !important;
}

/* ── FOOTER NAV & COPY ──────────────────────────────────────── */
.ms-footer {
  display:         flex !important;
  flex-direction:  row !important;
  justify-content: space-between !important;
  align-items:     center !important;
  flex-wrap:       wrap !important;
}

.ms-footer-links {
  display:         flex !important;
  flex-direction:  row !important;
  flex-wrap:       wrap !important;
  justify-content: center !important;
  align-items:     center !important;
  gap:             6px 24px;
  list-style:      none !important;
  margin:          0 !important;
  padding:         0 !important;
}

.ms-footer-links li {
  list-style:  none !important;
  list-style-type: none !important;
  margin:      0 !important;
  padding:     0 !important;
  display:     inline-flex !important;
}

.ms-footer-links li::before,
.ms-footer-links li::marker {
  display: none !important;
  content: none !important;
}

.ms-footer-links a {
  font-family:     'Cinzel', serif;
  font-size:       9px;
  letter-spacing:  0.2em;
  text-transform:  uppercase;
  color:           rgba(240,208,128,0.6);
  text-decoration: none !important;
  transition:      color 0.3s;
  white-space:     nowrap;
}

.ms-footer-links a:hover { color: var(--gold); }

.ms-footer-copy {
  font-size:      10px;
  letter-spacing: 0.15em;
  color:          var(--muted);
  white-space:    nowrap;
  display:        block !important;
}

/* ============================================================
   8. MISSING GLOBAL CLASSES
   ============================================================ */

/* ── SCROLL REVEAL ──────────────────────────────────────────── */
.ms-reveal {
  opacity:    0;
  transform:  translateY(24px);
  transition: opacity 0.7s var(--ease), transform 0.7s var(--ease);
}
.ms-reveal.ms-visible {
  opacity:   1;
  transform: none;
}
.ms-stagger .ms-reveal:nth-child(1) { transition-delay: 0.05s; }
.ms-stagger .ms-reveal:nth-child(2) { transition-delay: 0.15s; }
.ms-stagger .ms-reveal:nth-child(3) { transition-delay: 0.25s; }
.ms-stagger .ms-reveal:nth-child(4) { transition-delay: 0.35s; }
.ms-stagger.ms-reveal              { transition-delay: 0s; }

/* ── SECTION EYEBROW & TITLE ────────────────────────────────── */
.ms-section-eyebrow {
  font-size:      10px;
  font-weight:    500;
  letter-spacing: 0.45em;
  text-transform: uppercase;
  color:          var(--gold);
  margin-bottom:  16px;
  display:        block;
}
.ms-section-eyebrow--center { text-align: center; }

.ms-section-title {
  font-family:    'Cinzel', serif;
  font-size:      clamp(26px, 4vw, 48px);
  font-weight:    900;
  line-height:    1.05;
  letter-spacing: 0.05em;
  color:          var(--white);
  margin-bottom:  12px;
}
.ms-section-title--center { text-align: center; }

/* ── DIVIDER ────────────────────────────────────────────────── */
.ms-divider {
  width:      60px;
  height:     0.5px;
  background: var(--gold);
  opacity:    0.4;
  margin:     24px auto;
}

/* ── HEX BG DRIFT MODIFIER ──────────────────────────────────── */
.ms-hex-bg--drift {
  animation: ms-hex-drift 30s ease-in-out infinite alternate;
}
@keyframes ms-hex-drift {
  from { transform: translateX(0)   translateY(0); }
  to   { transform: translateX(12px) translateY(-8px); }
}

/* ── BUTTONS ────────────────────────────────────────────────── */
.ms-btn-primary {
  font-family:     'Cinzel', serif;
  font-size:       11px;
  font-weight:     700;
  letter-spacing:  0.2em;
  text-transform:  uppercase;
  padding:         16px 44px;
  background:      linear-gradient(135deg, var(--gold-deep), var(--gold), var(--gold-light));
  background-size: 200% auto;
  color:           #000;
  border:          none;
  cursor:          pointer;
  transition:      all 0.4s var(--ease);
  display:         inline-block;
  text-decoration: none;
  white-space:     nowrap;
}
.ms-btn-primary:hover {
  background-position: right center;
  box-shadow:          0 0 32px var(--gold-glow);
  transform:           translateY(-2px);
  color:               #000;
}

.ms-btn-secondary {
  font-family:     'Cinzel', serif;
  font-size:       11px;
  font-weight:     600;
  letter-spacing:  0.2em;
  text-transform:  uppercase;
  padding:         15px 44px;
  background:      transparent;
  border:          0.5px solid rgba(255,215,0,0.45);
  color:           var(--gold-light);
  cursor:          pointer;
  transition:      all 0.4s var(--ease);
  display:         inline-block;
  text-decoration: none;
  white-space:     nowrap;
}
.ms-btn-secondary:hover {
  border-color: var(--gold);
  color:        var(--gold);
  box-shadow:   0 0 24px rgba(255,215,0,0.12);
  transform:    translateY(-2px);
}

/* ── ACCOUNT BUTTON (NAV) ───────────────────────────────────── */
.ms-account-btn {
  font-family:    'Cinzel', serif;
  font-size:      9px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding:        10px 22px;
  border:         0.5px solid rgba(201,168,76,0.4);
  color:          var(--gold-light);
  text-decoration:none;
  transition:     all 0.3s;
  white-space:    nowrap;
}
.ms-account-btn:hover {
  border-color: var(--gold);
  color:        var(--gold);
  box-shadow:   0 0 14px rgba(255,215,0,0.15);
}

/* ── CART ICON ──────────────────────────────────────────────── */
.ms-cart-icon { font-size: 16px; line-height: 1; }

/* ── VIEW CART BUTTON (shown after AJAX add on homepage + collections) ── */
.ms-view-cart-btn,
.ms-circle-view-cart {
  display:         none !important;
  font-size:       9px;
  letter-spacing:  0.15em;
  text-transform:  uppercase;
  padding:         10px 14px;
  border:          1.2px solid var(--gold);
  color:           var(--gold);
  background:      rgba(255,215,0,0.08);
  font-weight:     600;
  font-family:     'Montserrat', sans-serif;
  white-space:     nowrap;
  text-decoration: none;
  transition:      all 0.4s var(--ease);
  box-shadow:      0 0 12px rgba(255,215,0,0.15);
  vertical-align:  middle;
  position:        relative;
  z-index:         100000;
}
.ms-view-cart-btn.visible,
.ms-circle-view-cart.visible {
  display: inline-block !important;
}
.ms-view-cart-btn:hover,
.ms-circle-view-cart:hover {
  background: var(--gold);
  color:      var(--black);
  box-shadow: 0 0 22px rgba(255,215,0,0.35);
}

/* ============================================================
   10. POLICY PAGES (Privacy Policy & Refund Policy)
   ============================================================ */

/* ── HERO ───────────────────────────────────────────────────── */
.ms-policy-hero {
  padding:         140px 60px 60px;
  text-align:      center;
  position:        relative;
  overflow:        hidden;
  border-bottom:   0.5px solid var(--border);
}

.ms-policy-hero-bg {
  position:       absolute;
  inset:          0;
  pointer-events: none;
}

.ms-policy-hero-bg::before {
  content:    '';
  position:   absolute;
  inset:      0;
  background: radial-gradient(ellipse 55% 45% at 50% 65%, rgba(139,105,20,0.15) 0%, transparent 70%);
}

.ms-policy-eyebrow {
  font-size:      10px;
  font-weight:    500;
  letter-spacing: 0.45em;
  text-transform: uppercase;
  color:          var(--gold);
  margin-bottom:  20px;
  display:        block;
}

.ms-policy-title {
  font-family:    'Cinzel', serif;
  font-size:      clamp(32px, 5vw, 60px);
  font-weight:    900;
  line-height:    1;
  letter-spacing: 0.05em;
  margin-bottom:  18px;
  color:          var(--white);
}

.ms-policy-tagline {
  font-family: 'Cormorant Garamond', serif;
  font-size:   clamp(15px, 2vw, 19px);
  font-style:  italic;
  color:       var(--muted);
  max-width:   640px;
  margin:      0 auto 16px;
  line-height: 1.7;
}

.ms-policy-date {
  font-size:      9px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color:          rgba(240,208,128,0.35);
}

/* ── BODY LAYOUT ────────────────────────────────────────────── */
.ms-policy-body {
  max-width: 820px;
  margin:    0 auto;
  padding:   80px 40px 100px;
}

/* ── SECTION ────────────────────────────────────────────────── */
.ms-policy-section {
  padding-bottom:  52px;
  margin-bottom:   52px;
  border-bottom:   0.5px solid var(--border);
}

.ms-policy-section:last-of-type {
  border-bottom: none;
}

.ms-policy-section-label {
  font-size:      9px;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color:          var(--gold);
  opacity:        0.55;
  margin-bottom:  10px;
}

.ms-policy-section-title {
  font-family:    'Cinzel', serif;
  font-size:      clamp(18px, 2.5vw, 26px);
  font-weight:    700;
  letter-spacing: 0.04em;
  color:          var(--white);
  margin-bottom:  20px;
  line-height:    1.2;
}

.ms-policy-text {
  font-size:     13px;
  color:         rgba(240,208,128,0.75);
  line-height:   1.95;
  margin-bottom: 16px;
}

.ms-policy-text a {
  color:      var(--gold);
  transition: color 0.3s;
}
.ms-policy-text a:hover { color: var(--gold-light); }

/* ── LIST ───────────────────────────────────────────────────── */
.ms-policy-list {
  list-style:    none;
  padding:       0;
  margin:        0 0 20px;
}

.ms-policy-list li {
  font-size:     13px;
  color:         rgba(240,208,128,0.75);
  line-height:   1.9;
  padding:       8px 0 8px 22px;
  border-bottom: 0.5px solid rgba(201,168,76,0.06);
  position:      relative;
}

.ms-policy-list li::before {
  content:    '✦';
  position:   absolute;
  left:       0;
  color:      var(--gold);
  opacity:    0.5;
  font-size:  8px;
  top:        11px;
}

.ms-policy-list li:last-child { border-bottom: none; }

/* ── HIGHLIGHT BOX ──────────────────────────────────────────── */
.ms-policy-highlight {
  display:       flex;
  align-items:   flex-start;
  gap:           18px;
  background:    rgba(255,215,0,0.04);
  border:        0.5px solid rgba(255,215,0,0.18);
  border-left:   2px solid var(--gold);
  padding:       22px 24px;
  margin-top:    24px;
}

.ms-policy-highlight-icon {
  font-size:   1.5rem;
  flex-shrink: 0;
  margin-top:  2px;
}

.ms-policy-highlight-text {
  font-size:   13px;
  color:       rgba(240,208,128,0.75);
  line-height: 1.85;
}

.ms-policy-highlight-text strong {
  display:        block;
  font-family:    'Cinzel', serif;
  font-size:      11px;
  letter-spacing: 0.1em;
  color:          var(--gold-light);
  margin-bottom:  6px;
  font-weight:    600;
}

/* ── CONTACT BOX ────────────────────────────────────────────── */
.ms-policy-contact {
  background:  rgba(255,215,0,0.025);
  border:      0.5px solid var(--border);
  padding:     44px 48px;
  text-align:  center;
  margin-top:  20px;
}

.ms-policy-contact-title {
  font-family:    'Cinzel', serif;
  font-size:      18px;
  font-weight:    700;
  letter-spacing: 0.08em;
  color:          var(--gold);
  margin-bottom:  18px;
}

.ms-policy-contact-text {
  font-size:   13px;
  color:       rgba(240,208,128,0.75);
  line-height: 2;
}

.ms-policy-contact-text a {
  color:      var(--gold);
  transition: color 0.3s;
}
.ms-policy-contact-text a:hover { color: var(--gold-light); }

/* ── POLICY RESPONSIVE ──────────────────────────────────────── */
@media (max-width: 900px) {
  .ms-policy-hero   { padding: 110px 24px 48px; }
  .ms-policy-body   { padding: 48px 24px 72px; }
  .ms-policy-contact { padding: 32px 24px; }
  .ms-policy-highlight { flex-direction: column; gap: 12px; }
}

/* ============================================================
   9. MOBILE RESPONSIVE
   ============================================================ */
@media (max-width: 900px) {

  /* Mobile Nav Bar */
  .ms-nav {
    padding:         0 24px;
    top:             37px;
    height:          64px;
    justify-content: space-between;
  }

  .ms-nav.ms-scrolled { top: 0; }

  /* Hamburger — fixed so it stays on top when drawer opens */
  .ms-hamburger {
    display:    flex !important;
    position:   fixed !important;
    top:        50px !important;
    right:      24px !important;
    z-index:    100002 !important; /* above drawer (100000) and nav (99999) */
  }

  /* Animate bars → X when drawer is open, tap again to close */
  .ms-hamburger.ms-active span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
  .ms-hamburger.ms-active span:nth-child(2) { opacity: 0; transform: scaleX(0); }
  .ms-hamburger.ms-active span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

  /* Hide desktop links and right side */
  .ms-nav-links  { display: none; }
  .ms-nav-right  { display: none; }

  /* Mobile drawer */
  .ms-nav-links.ms-open {
    display:        flex !important;
    position:       fixed !important;
    top:            0 !important;
    right:          0 !important;
    width:          280px;
    height:         100vh;
    background:     var(--black);
    flex-direction: column;
    padding:        80px 30px;
    z-index:        100000 !important;
    border-left:    1px solid var(--border);
    box-shadow:     -20px 0 50px rgba(0,0,0,0.8);
  }

  .ms-mobile-only { display: block !important; }

  .ms-mobile-nav-cta {
    display:     block;
    border:      1px solid var(--gold);
    color:       var(--gold);
    text-align:  center;
    padding:     12px;
    margin-top:  10px;
    font-family: 'Cinzel', serif;
    font-size:   10px;
  }

  /* Tickers stay behind everything */
  .ms-ticker-wrap,
  .ms-ticker-wrap--mid {
    z-index:   1 !important;
    isolation: isolate;
  }

  .ms-footer {
    padding:        40px 24px !important;
    flex-direction: column !important;
    text-align:     center !important;
  }

  .ms-footer-links {
    flex-direction: column !important;
    align-items:    center !important;
    gap:            14px !important;
  }

  .ms-footer-links li {
    display: block !important;
  }

  .ms-stats {
    padding:        40px 24px !important;
    gap:            28px !important;
    flex-direction: row !important;
  }

  .ms-stat { flex: 1 1 140px !important; }

  .ms-footer-copy { text-align: center !important; }

  .ms-disclaimer { padding: 20px 24px; }
}