/* ===================================
   CSS VARIABLES (DESIGN SYSTEM)
   =================================== */

:root {
  --bg-deep: #07021a;
  --bg-mid: #110632;
  --bg-card: rgba(28, 12, 64, 0.55);
  --bg-card-hover: rgba(40, 20, 90, 0.72);
  --bg-input: rgba(7, 2, 26, 0.6);

  --gold: #d4af37;
  --gold-bright: #f4d27a;
  --gold-soft: rgba(212, 175, 55, 0.15);

  --purple: #7b5fc9;
  --purple-bright: #a78bfa;
  --purple-soft: rgba(167, 139, 250, 0.18);

  --text-primary: #f5e6d3;
  --text-secondary: #b5a89e;
  --text-muted: #7a6f80;

  --line: rgba(212, 175, 55, 0.3);
  --line-dim: rgba(212, 175, 55, 0.12);
}

/* ===================================
   LIGHT THEME VARIABLES & OVERRIDES
   =================================== */

[data-theme="light"] {
  --bg-deep: #faf6ef;
  --bg-mid: #f1e9da;
  --bg-card: rgba(255, 255, 255, 0.72);
  --bg-card-hover: rgba(255, 255, 255, 0.95);
  --bg-input: rgba(255, 255, 255, 0.85);

  --gold: #b08322;
  --gold-bright: #9a6f15;
  --gold-soft: rgba(176, 131, 34, 0.12);

  --purple: #6a4fb5;
  --purple-bright: #7a5bd0;
  --purple-soft: rgba(122, 91, 208, 0.12);

  --text-primary: #2c2233;
  --text-secondary: #5f5566;
  --text-muted: #8a8090;

  --line: rgba(176, 131, 34, 0.38);
  --line-dim: rgba(176, 131, 34, 0.18);
}

[data-theme="light"] body::before {
  background:
    radial-gradient(ellipse at 15% 0%, rgba(122, 91, 208, 0.10) 0%, transparent 55%),
    radial-gradient(ellipse at 85% 100%, rgba(176, 131, 34, 0.10) 0%, transparent 50%),
    radial-gradient(ellipse at 50% 50%, rgba(255, 255, 255, 0.5) 0%, var(--bg-deep) 75%);
}

/* Stars read as faint gold/purple motes on a light ground instead of white sparks */
[data-theme="light"] .starfield::before,
[data-theme="light"] .starfield::after {
  background-image:
    radial-gradient(1px 1px at 20px 30px, rgba(176, 131, 34, 0.55), transparent),
    radial-gradient(1px 1px at 60px 70px, rgba(122, 91, 208, 0.4), transparent),
    radial-gradient(1.5px 1.5px at 90px 40px, rgba(176, 131, 34, 0.45), transparent),
    radial-gradient(1px 1px at 130px 80px, rgba(176, 131, 34, 0.35), transparent),
    radial-gradient(1px 1px at 160px 30px, rgba(122, 91, 208, 0.35), transparent),
    radial-gradient(2px 2px at 200px 90px, rgba(176, 131, 34, 0.4), transparent),
    radial-gradient(1px 1px at 240px 50px, rgba(176, 131, 34, 0.35), transparent),
    radial-gradient(1px 1px at 280px 120px, rgba(122, 91, 208, 0.3), transparent),
    radial-gradient(1.5px 1.5px at 320px 60px, rgba(176, 131, 34, 0.4), transparent),
    radial-gradient(1px 1px at 380px 100px, rgba(122, 91, 208, 0.3), transparent);
  opacity: 0.5;
}

[data-theme="light"] .starfield::after {
  opacity: 0.3;
}

[data-theme="light"] .twinkle {
  background: var(--gold);
  box-shadow: 0 0 5px rgba(176, 131, 34, 0.5), 0 0 10px rgba(176, 131, 34, 0.3);
}

[data-theme="light"] .twinkle.gold {
  background: var(--gold-bright);
  box-shadow: 0 0 5px rgba(154, 111, 21, 0.55), 0 0 10px rgba(154, 111, 21, 0.3);
}

[data-theme="light"] .twinkle.purple {
  background: var(--purple-bright);
  box-shadow: 0 0 5px rgba(122, 91, 208, 0.5), 0 0 10px rgba(122, 91, 208, 0.3);
}

/* Sticky bars: light frosted glass */
[data-theme="light"] .topbar {
  background: rgba(250, 246, 239, 0.82);
}

[data-theme="light"] .subnav {
  background: rgba(250, 246, 239, 0.7);
  border-top-color: rgba(122, 91, 208, 0.2);
}

/* Gradient display text: keep the gold-to-ink shimmer but anchored dark so it stays legible on light */
[data-theme="light"] .section-head h2,
[data-theme="light"] .editorial-body h2,
[data-theme="light"] .closing-block h2,
[data-theme="light"] .closing-cta-heading {
  background: linear-gradient(180deg, #3a2d18 0%, var(--gold) 70%, var(--gold-bright) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

[data-theme="light"] .section-head h2 em,
[data-theme="light"] .editorial-body h2 em,
[data-theme="light"] .closing-block h2 em,
[data-theme="light"] .closing-cta-heading em {
  background: linear-gradient(180deg, var(--purple) 0%, var(--gold) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Primary button: dark ink label on gold so it stays readable */
[data-theme="light"] .btn-primary {
  color: #faf6ef;
  box-shadow: 0 6px 22px rgba(176, 131, 34, 0.28);
}

[data-theme="light"] .btn-primary:hover {
  box-shadow: 0 12px 32px rgba(176, 131, 34, 0.4);
}

[data-theme="light"] .editor-photo {
  background: radial-gradient(circle, var(--purple-soft) 0%, #fff 75%);
  box-shadow: 0 0 16px rgba(176, 131, 34, 0.16);
}

[data-theme="light"] .review-video {
  background: radial-gradient(ellipse at 50% 40%, rgba(122, 91, 208, 0.16) 0%, #efe7d8 78%);
}

[data-theme="light"] .review-play {
  background: #fff;
  box-shadow: 0 0 20px rgba(176, 131, 34, 0.32);
}

[data-theme="light"] .review-play:hover {
  box-shadow: 0 0 30px rgba(176, 131, 34, 0.45);
}

[data-theme="light"] .review-duration {
  background: rgba(255, 255, 255, 0.85);
}

[data-theme="light"] .footer-social a:hover,
[data-theme="light"] .topbar-links a.cta:hover,
[data-theme="light"] .btn-secondary:hover {
  color: #faf6ef;
}

/* Cards: soft shadow gives separation that the dark theme got from glow */
[data-theme="light"] .ccard {
  box-shadow: 0 10px 30px rgba(60, 45, 24, 0.06);
}

[data-theme="light"] .ccard:hover {
  box-shadow: 0 16px 40px rgba(60, 45, 24, 0.1);
}

/* ===================================
   GLOBAL STYLES
   =================================== */

html {
  scroll-behavior: smooth;
}

body {
  background: var(--bg-deep);
  color: var(--text-primary);
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 19px;
  line-height: 1.65;
  position: relative;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  background:
    radial-gradient(ellipse at 15% 0%, rgba(123, 95, 201, 0.18) 0%, transparent 55%),
    radial-gradient(ellipse at 85% 100%, rgba(212, 175, 55, 0.10) 0%, transparent 50%),
    radial-gradient(ellipse at 50% 50%, rgba(20, 6, 50, 0.6) 0%, var(--bg-deep) 75%);
  z-index: -2;
}

/* ===================================
   BASE RESETS (Migrated from style.css)
   =================================== */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  padding: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  color: var(--text-primary);
  background-color: var(--bg-deep);
}

a {
  text-decoration: none;
  background-color: transparent;
}

/* ===================================
   BACKGROUND EFFECTS
   =================================== */

.starfield {
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  overflow: hidden;
}

.starfield::before,
.starfield::after {
  content: '';
  position: absolute;
  inset: -100px;
  background-image:
    radial-gradient(1px 1px at 20px 30px, white, transparent),
    radial-gradient(1px 1px at 60px 70px, rgba(255, 255, 255, 0.8), transparent),
    radial-gradient(1.5px 1.5px at 90px 40px, white, transparent),
    radial-gradient(1px 1px at 130px 80px, rgba(255, 255, 255, 0.6), transparent),
    radial-gradient(1px 1px at 160px 30px, white, transparent),
    radial-gradient(2px 2px at 200px 90px, rgba(244, 210, 122, 0.7), transparent),
    radial-gradient(1px 1px at 240px 50px, white, transparent),
    radial-gradient(1px 1px at 280px 120px, rgba(255, 255, 255, 0.7), transparent),
    radial-gradient(1.5px 1.5px at 320px 60px, white, transparent),
    radial-gradient(1px 1px at 380px 100px, rgba(167, 139, 250, 0.6), transparent);
  background-size: 420px 240px;
  background-repeat: repeat;
  animation: drift 280s linear infinite;
  opacity: 0.65;
}

.starfield::after {
  background-size: 600px 350px;
  animation-duration: 420s;
  animation-direction: reverse;
  opacity: 0.35;
}

@keyframes drift {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(0, -1200px, 0);
  }
}

.twinkle {
  position: fixed;
  width: 3px;
  height: 3px;
  background: white;
  border-radius: 50%;
  box-shadow: 0 0 6px white, 0 0 14px rgba(255, 255, 255, 0.5);
  animation: twinkle 4s ease-in-out infinite;
  z-index: -1;
  pointer-events: none;
}

.twinkle.gold {
  background: var(--gold-bright);
  box-shadow: 0 0 6px var(--gold-bright), 0 0 14px rgba(244, 210, 122, 0.7);
}

.twinkle.purple {
  background: var(--purple-bright);
  box-shadow: 0 0 6px var(--purple-bright), 0 0 14px rgba(167, 139, 250, 0.7);
}

@keyframes twinkle {

  0%,
  100% {
    opacity: 0.15;
    transform: scale(0.7);
  }

  50% {
    opacity: 1;
    transform: scale(1.3);
  }
}

/* ===================================
   LAYOUT CONTAINERS
   =================================== */

.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 32px;
  position: relative;
}

.container-narrow {
  max-width: 880px;
  margin: 0 auto;
  padding: 0 32px;
  position: relative;
}

/* ===================================
   TOPBAR / HEADER
   =================================== */

.topbar {
  padding: 26px 0;
  border-bottom: 1px solid var(--line-dim);
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(7, 2, 26, 0.78);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.topbar-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}

.brand {
  font-family: 'Cinzel', serif;
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 0.22em;
  color: var(--gold);
  text-transform: uppercase;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 12px;
}

.brand-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 1px solid var(--gold);
  border-radius: 50%;
  font-size: 13px;
}

.topbar-links {
  display: flex;
  gap: 30px;
  align-items: center;
}

.topbar-links a {
  font-family: 'Manrope', sans-serif;
  font-size: 12px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--text-secondary);
  text-decoration: none;
  transition: color 0.3s;
}

.topbar-links a:hover {
  color: var(--gold-bright);
}

.topbar-links a.cta {
  color: var(--text-primary);
  padding: 10px 22px;
  border: 1px solid var(--gold);
  border-radius: 999px;
  transition: all 0.3s ease;
}

.topbar-links a.cta:hover {
  background: var(--gold);
  color: var(--bg-deep);
  border-color: var(--gold);
}

@media (max-width: 900px) {
  .topbar-links a:not(.cta) {
    display: none;
  }

  .brand {
    font-size: 14px;
    letter-spacing: 0.18em;
  }
}

/* ===================================
   SUBNAV
   =================================== */

.subnav {
  border-top: 1px solid rgba(167, 139, 250, 0.22);
  border-bottom: 1px solid var(--line-dim);
  background: rgba(7, 2, 26, 0.6);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  position: relative;
  z-index: 50;
}

.subnav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 16px 0;
}

.subnav-links {
  display: flex;
  gap: 36px;
  align-items: center;
  flex-wrap: nowrap;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.subnav-links::-webkit-scrollbar {
  display: none;
}

.subnav-links a {
  font-family: 'Cinzel', serif;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: var(--text-primary);
  text-decoration: none;
  white-space: nowrap;
  position: relative;
  padding: 4px 0;
  transition: color 0.25s ease;
}

.subnav-links a::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2px;
  height: 1px;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

.subnav-links a:hover {
  color: var(--gold-bright);
}

.subnav-links a:hover::after {
  transform: scaleX(1);
}

.subnav-more {
  font-family: 'Cinzel', serif;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: var(--gold);
  text-decoration: none;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  border: 1px solid var(--line);
  border-radius: 999px;
  transition: all 0.3s ease;
  flex-shrink: 0;
}

.subnav-more:hover {
  background: var(--gold-soft);
  border-color: var(--gold);
  color: var(--gold-bright);
}

.subnav-more .chev {
  font-size: 10px;
  display: inline-block;
  transition: transform 0.3s ease;
}

@media (max-width: 900px) {
  .subnav-inner {
    gap: 16px;
    padding: 12px 0;
    mask-image: linear-gradient(to right, black 92%, transparent 100%);
    -webkit-mask-image: linear-gradient(to right, black 92%, transparent 100%);
  }

  .subnav-links {
    gap: 24px;
  }

  .subnav-links a {
    font-size: 13px;
  }

  .subnav-more {
    padding: 6px 14px;
    font-size: 13px;
  }
}

/* ===================================
   EYEBROW
   =================================== */

.eyebrow {
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  letter-spacing: 0.42em;
  text-transform: uppercase;
  color: var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  font-weight: 500;
}

.eyebrow::before,
.eyebrow::after {
  content: '';
  width: 56px;
  height: 1px;
  background: var(--gold);
  opacity: 0.55;
}

/* ===================================
   BUTTONS
   =================================== */

.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: 'Manrope', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  padding: 16px 38px;
  border-radius: 999px;
  text-decoration: none;
  cursor: pointer;
  border: 1px solid transparent;
  transition: all 0.3s ease;
  white-space: nowrap;
}

.btn-primary {
  color: var(--bg-deep);
  background: linear-gradient(180deg, var(--gold-bright), var(--gold));
  box-shadow: 0 8px 32px rgba(212, 175, 55, 0.25);
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 42px rgba(212, 175, 55, 0.45);
}

.btn-secondary {
  color: var(--text-primary);
  background: transparent;
  border-color: var(--gold);
}

.btn-secondary:hover {
  background: var(--gold-soft);
  border-color: var(--gold-bright);
  color: var(--gold-bright);
}

.btn-arrow {
  font-size: 14px;
  transition: transform 0.25s;
}

.btn:hover .btn-arrow {
  transform: translateX(3px);
}

@media (max-width: 480px) {
  .eyebrow {
    gap: 8px;
    font-size: 10px;
    letter-spacing: 0.25em;
  }

  .eyebrow::before,
  .eyebrow::after {
    width: 24px;
  }

  .btn {
    padding: 14px 20px;
    font-size: 11px;
    letter-spacing: 0.18em;
    width: 100%;
    justify-content: center;
  }
}

/* ===================================
   GLOBAL HEADINGS (EM GRADIENTS)
   =================================== */

.section-head h2 em,
.editorial-body h2 em,
.closing-block h2 em,
.closing-cta-heading em {
  font-style: italic;
  font-family: 'Cormorant Garamond', serif;
  font-weight: 300;
  background: linear-gradient(180deg, var(--purple-bright) 0%, var(--gold) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  letter-spacing: -0.01em;
}

/* ===================================
   SECTIONS
   =================================== */

.section {
  padding: 100px 0 80px;
  position: relative;
}

.section-head {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 64px;
}

.section-head .eyebrow {
  margin-bottom: 28px;
}

.section-head h2 {
  font-family: 'Cinzel', serif;
  font-size: clamp(32px, 4.6vw, 54px);
  font-weight: 500;
  line-height: 1.1;
  margin-bottom: 22px;
  background: linear-gradient(180deg, #fff 0%, var(--gold-bright) 60%, var(--gold) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  letter-spacing: 0.015em;
}

.section-head .lede {
  font-family: 'Cormorant Garamond', serif;
  font-size: 19px;
  color: var(--text-secondary);
  font-weight: 300;
  line-height: 1.55;
}

/* ===================================
   CARDS
   =================================== */

.ccard {
  background: var(--bg-card);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid var(--line-dim);
  padding: 38px 36px;
  position: relative;
  transition: all 0.4s ease;
}

.ccard:hover {
  background: var(--bg-card-hover);
  border-color: var(--line);
  transform: translateY(-4px);
}

.ccard::before,
.ccard::after {
  content: '';
  position: absolute;
  width: 26px;
  height: 26px;
  opacity: 0.5;
  pointer-events: none;
  transition: opacity 0.4s;
}

.ccard::before {
  top: 10px;
  left: 10px;
  border-top: 1px solid var(--gold);
  border-left: 1px solid var(--gold);
}

.ccard::after {
  bottom: 10px;
  right: 10px;
  border-bottom: 1px solid var(--gold);
  border-right: 1px solid var(--gold);
}

.ccard:hover::before,
.ccard:hover::after {
  opacity: 0.85;
}


/* ===================================
   FAQ
   =================================== */

.faq-list {
  max-width: 880px;
  margin: 0 auto;
  border-top: 1px solid var(--line-dim);
}

.faq-item {
  border-bottom: 1px solid var(--line-dim);
}

.faq-question {
  width: 100%;
  text-align: left;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 28px 0;
  font-family: 'Cinzel', serif;
  font-size: clamp(16px, 2vw, 22px);
  font-weight: 500;
  color: var(--text-primary);
  cursor: pointer;
  background: none;
  border: none;
  letter-spacing: 0.015em;
  line-height: 1.3;
  transition: color 0.3s;
}

.faq-question:hover {
  color: var(--gold-bright);
}

.faq-toggle {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  position: relative;
  transition: transform 0.4s ease;
}

.faq-toggle::before,
.faq-toggle::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--gold);
}

.faq-toggle::after {
  transform: rotate(90deg);
  transition: transform 0.4s ease;
}

.faq-item.open .faq-toggle::after {
  transform: rotate(0deg);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease;
}

.faq-answer-inner {
  padding: 0 0 32px;
  font-family: 'Cormorant Garamond', serif;
  font-size: 18px;
  color: var(--text-secondary);
  line-height: 1.7;
  max-width: 700px;
  font-weight: 300;
}

.faq-answer-inner p+p {
  margin-top: 14px;
}

.faq-answer-inner a {
  color: var(--gold-bright);
  border-bottom: 1px solid var(--line);
  text-decoration: none;
}

/* ===================================
   CLOSING / THANKS SECTION
   =================================== */

.closing-block {
  text-align: center;
  padding: 110px 0;
  max-width: 760px;
  margin: 0 auto;
  position: relative;
}

.closing-block::before,
.closing-block::after {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 60%;
  max-width: 600px;
  height: 1px;
  background: linear-gradient(to right, transparent, var(--gold), transparent);
  opacity: 0.4;
}

.closing-block::before {
  top: 60px;
}

.closing-block::after {
  bottom: 60px;
}

.thanks-ornament {
  font-family: 'Cinzel', serif;
  color: var(--gold);
  font-size: 24px;
  letter-spacing: 0.6em;
  opacity: 0.7;
  margin-bottom: 32px;
}

.closing-block h2 {
  font-family: 'Cinzel', serif;
  font-size: clamp(32px, 4.4vw, 50px);
  font-weight: 500;
  line-height: 1.1;
  margin-bottom: 32px;
  background: linear-gradient(180deg, #fff 0%, var(--gold-bright) 60%, var(--gold) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.thanks-body {
  font-family: 'Cormorant Garamond', serif;
  font-size: 19px;
  color: var(--text-primary);
  line-height: 1.75;
  margin-bottom: 18px;
}

.thanks-body em {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  color: var(--gold-bright);
  font-weight: 400;
}

.thanks-pull {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 24px;
  color: var(--gold-bright);
  line-height: 1.4;
  margin: 36px 0 26px;
  font-weight: 400;
}

.thanks-sign {
  display: block;
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--gold);
  margin-top: 28px;
  font-weight: 500;
}

.closing-divider {
  font-family: 'Cinzel', serif;
  font-size: 18px;
  color: var(--gold);
  opacity: 0.6;
  margin: 60px auto 40px;
  position: relative;
  display: block;
  width: fit-content;
  padding: 0 20px;
}

.closing-divider::before,
.closing-divider::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 140px;
  height: 1px;
  background: linear-gradient(to right, transparent, var(--gold), transparent);
  opacity: 0.5;
}

.closing-divider::before {
  right: 100%;
}

.closing-divider::after {
  left: 100%;
  background: linear-gradient(to left, transparent, var(--gold), transparent);
}

.closing-cta-heading {
  font-family: 'Cinzel', serif;
  font-size: clamp(26px, 3.6vw, 40px);
  font-weight: 500;
  line-height: 1.1;
  margin-bottom: 18px;
  background: linear-gradient(180deg, #fff 0%, var(--gold-bright) 60%, var(--gold) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  letter-spacing: 0.015em;
}

.closing-cta-lede {
  font-family: 'Cormorant Garamond', serif;
  font-size: 19px;
  color: var(--text-secondary);
  line-height: 1.55;
  max-width: 480px;
  margin: 0 auto 32px;
  font-weight: 300;
}

/* ===================================
   CAROUSEL

   REVIEWS / TESTIMONIALS
   =================================== */

.review-card {
  padding: 22px;
  display: flex;
  flex-direction: column;
}

.review-video {
  position: relative;
  aspect-ratio: 16/10;
  border-radius: 6px;
  overflow: hidden;
  background: radial-gradient(ellipse at 50% 40%, rgba(123, 95, 201, 0.32) 0%, var(--bg-deep) 78%);
  border: 1px solid var(--line-dim);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 26px;
}

.review-video .spark {
  position: absolute;
  color: var(--gold);
  opacity: 0.5;
  font-size: 14px;
}

.review-video .spark.tl {
  top: 14px;
  left: 16px;
}

.review-video .spark.br {
  bottom: 14px;
  right: 16px;
  color: var(--purple-bright);
}

.review-play {
  width: 78px;
  height: 78px;
  border-radius: 50%;
  background: var(--bg-deep);
  border: 1px solid var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 0 28px rgba(212, 175, 55, 0.4);
}

.review-play:hover {
  transform: scale(1.06);
  box-shadow: 0 0 40px rgba(212, 175, 55, 0.6);
}

.review-play::after {
  content: '▶';
  color: var(--gold-bright);
  font-size: 22px;
  margin-left: 5px;
}

.review-duration {
  position: absolute;
  bottom: 14px;
  left: 14px;
  font-family: 'Manrope', sans-serif;
  font-size: 12px;
  letter-spacing: 0.08em;
  color: var(--text-primary);
  background: rgba(7, 2, 26, 0.78);
  padding: 5px 12px;
  border-radius: 999px;
}

.review-quote {
  font-family: 'Cormorant Garamond', serif;
  font-size: 19px;
  font-style: italic;
  color: var(--text-primary);
  line-height: 1.6;
  margin-bottom: 24px;
}

.review-quote::before {
  content: '"';
  color: var(--gold);
  font-size: 24px;
  margin-right: 4px;
}

.review-divider {
  height: 1px;
  background: var(--line-dim);
  margin: 0 0 22px;
}

.review-name {
  font-family: 'Cinzel', serif;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--text-primary);
  text-transform: uppercase;
  margin-bottom: 6px;
}

.review-type {
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold);
}

.section-cta {
  text-align: center;
  margin-top: 56px;
}

/* ===================================
   EDITORIAL / TRANSPARENCY
/* ===================================
   FOOTER
   =================================== */

footer {
  border-top: 1px solid var(--line-dim);
  padding: 70px 0 36px;
}

.footer-top {
  display: grid;
  grid-template-columns: 1.5fr repeat(3, 1fr);
  gap: 48px;
  margin-bottom: 56px;
}

.footer-brand-block .brand {
  font-size: 20px;
  margin-bottom: 22px;
  display: inline-flex;
}

.footer-tag {
  font-family: 'Cormorant Garamond', serif;
  font-size: 18px;
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 24px;
  font-weight: 300;
  max-width: 36ch;
  border: none !important;
  padding: 0 !important;
  text-align: left;
}

.footer-social {
  display: flex;
  gap: 12px;
}

.footer-contact {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 24px;
}

.footer-contact a {
  font-family: 'Manrope', sans-serif;
  font-size: 14px;
  color: var(--text-primary);
  text-decoration: none;
  letter-spacing: 0.02em;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  transition: color 0.25s;
  width: fit-content;
}

.footer-contact a:hover {
  color: var(--gold-bright);
}

.footer-contact-glyph {
  font-family: 'Cinzel', serif;
  font-size: 14px;
  color: var(--gold);
  width: 28px;
  height: 28px;
  border: 1px solid var(--line);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.25s;
}

.footer-contact a:hover .footer-contact-glyph {
  background: var(--gold-soft);
  border-color: var(--gold);
  color: var(--gold-bright);
}

.footer-social a {
  width: 38px;
  height: 38px;
  border: 1px solid var(--line);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-secondary);
  font-family: 'Cinzel', serif;
  font-size: 11px;
  letter-spacing: 0.05em;
  text-decoration: none;
  transition: all 0.3s;
}

.footer-social a:hover {
  color: var(--bg-deep);
  background: var(--gold);
  border-color: var(--gold);
}

body footer .footer-col h4 {
  font-family: 'Cinzel', serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.32em !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
  margin-bottom: 22px !important;
  line-height: 1.2 !important;
  background: none !important;
  -webkit-text-fill-color: initial !important;
}

.footer-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.footer-col a {
  font-family: 'Manrope', sans-serif;
  font-size: 13px;
  color: var(--text-secondary);
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: color 0.3s;
}

.footer-col a:hover {
  color: var(--gold-bright);
}

.footer-legal {
  display: grid;
  grid-template-columns: 1.4fr 2fr 1fr;
  gap: 32px;
  padding: 28px 0;
  border-top: 1px solid var(--line-dim);
}

.footer-legal-block {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.footer-legal-label {
  font-family: 'Manrope', sans-serif;
  font-size: 10px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 500;
}

.footer-legal-name {
  font-family: 'Cinzel', serif;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: var(--text-primary);
  text-transform: uppercase;
}

.footer-legal-text {
  font-family: 'Manrope', sans-serif;
  font-size: 12px;
  color: var(--text-secondary);
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.footer-bottom {
  padding-top: 28px;
  border-top: 1px solid var(--line-dim);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}

.footer-disclaimer {
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  color: var(--text-muted);
  line-height: 1.55;
  max-width: 64ch;
  letter-spacing: 0.02em;
}

.footer-copy {
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--text-muted);
}

@media (max-width: 900px) {
  .footer-top {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }

  .footer-brand-block {
    grid-column: 1 / -1;
    text-align: center;
    align-items: center;
  }

  .footer-brand-block .brand {
    justify-content: center;
  }

  .footer-contact {
    align-items: center;
  }

  .footer-social {
    justify-content: center;
  }

  .footer-tag {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  .footer-col {
    text-align: center;
  }

  .footer-col ul {
    align-items: center;
  }

  .footer-legal {
    grid-template-columns: 1fr;
    gap: 18px;
    text-align: center;
  }

  .footer-legal-block {
    align-items: center;
  }
}

@media (max-width: 560px) {
  footer {
    padding: 40px 0 24px;
  }

  .footer-top {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .footer-col {
    text-align: center;
  }

  .footer-col ul {
    align-items: center;
  }

  .footer-bottom {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 12px;
  }

  .footer-disclaimer {
    text-align: center;
  }

  .footer-legal {
    gap: 14px;
  }

  .container {
    padding: 0 16px;
  }
}

/* ===================================
   ANIMATIONS & EFFECTS
   =================================== */

.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

.reveal-d2 {
  transition-delay: 0.1s;
}

.reveal-d3 {
  transition-delay: 0.2s;
}

/* ===================================
   RESPONSIVE - MOBILE
   =================================== */

@media (max-width: 900px) {
  body {
    font-size: 17px;
  }

  .container,
  .container-narrow {
    padding: 0 20px;
  }

  .hero {
    padding: 70px 0 40px;
  }

  .section {
    padding: 70px 0 50px;
  }

  .hero .lede {
    font-size: 18px;
  }
}

/* ===================================
   TOPBAR & BRAND STYLES
   =================================== */

.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 32px;
  position: relative;
}

/* ─── Top bar ────────────────────────────────── */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
}

.topbar {
  padding: 26px 0;
  border-bottom: 1px solid var(--line-dim);
  background: rgba(7, 2, 26, 0.78);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.topbar-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}

.brand {
  font-family: 'Cinzel', serif;
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 0.22em;
  color: var(--gold);
  text-transform: uppercase;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 12px;
}

.brand-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 1px solid var(--gold);
  border-radius: 50%;
  font-size: 13px;
}

.topbar-links {
  display: flex;
  gap: 36px;
  align-items: center;
}

.topbar-links a {
  font-family: 'Manrope', sans-serif;
  font-size: 12px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--text-secondary);
  text-decoration: none;
  transition: color 0.3s;
}

.topbar-links a:hover {
  color: var(--gold-bright);
}

.topbar-links a.cta {
  color: var(--text-primary);
  padding: 10px 22px;
  border: 1px solid var(--gold);
  border-radius: 999px;
  transition: all 0.3s ease;
}

.topbar-links a.cta:hover {
  background: var(--gold);
  color: var(--bg-deep);
  border-color: var(--gold);
}

.topbar-controls {
  display: flex;
  align-items: center;
  gap: 12px;
}

.topbar-controls .clear-karma a,
.topbar-controls .theme_switch button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  transition: transform 0.3s ease, color 0.3s ease;
  color: var(--gold);
  flex-shrink: 0;
}

.topbar-controls .clear-karma a:hover,
.topbar-controls .theme_switch button:hover {
  transform: scale(1.15);
  color: var(--gold-bright);
}

/* Fix visited state - keep gold color (overrides a:visited { color: #800080 } from old CSS) */
.topbar-controls .clear-karma a:visited {
  color: var(--gold);
}

.theme-toggle__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px !important;
  height: 28px !important;
}

/* Explicit pixel size on SVG - bypasses width:100% cascade issues */
.topbar-controls .clear-karma svg,
.topbar-controls .theme_switch button svg {
  width: 28px !important;
  height: 28px !important;
  display: block;
  flex-shrink: 0;
}

/* ─── Mobile Burger Menu Toggle ─── */
.burger_wrapper {
  display: none;
}

@media (max-width: 992px) {
  .burger_wrapper {
    display: block;
  }

  .topbar-links a:not(.cta) {
    display: none;
  }
}

.menu_toggle {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  position: relative;
  z-index: 200;
  color: var(--gold);
  transition: color 0.3s ease;
}

.menu_toggle:hover {
  color: var(--gold-bright);
}

.icon_bars {
  display: block;
  width: 24px;
  height: 2px;
  background-color: currentColor;
  position: relative;
  transition: background-color 0.3s ease, transform 0.3s ease;
}

.icon_bars::before,
.icon_bars::after {
  content: '';
  position: absolute;
  left: 0;
  width: 24px;
  height: 2px;
  background-color: currentColor;
  transition: transform 0.3s ease, top 0.3s ease;
}

.icon_bars::before {
  top: -8px;
}

.icon_bars::after {
  top: 8px;
}

/* Toggled Burger state */
.menu--is-revealed .menu_toggle {
  color: var(--gold-bright);
}

.menu--is-revealed .icon_bars {
  background-color: transparent !important;
}

.menu--is-revealed .icon_bars::before {
  transform: rotate(45deg);
  top: 0;
}

.menu--is-revealed .icon_bars::after {
  transform: rotate(-45deg);
  top: 0;
}

/* ─── Mobile Navigation Drawer ─── */
.mobile_navigation_wrap {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  z-index: 1000;
  background: rgba(7, 2, 26, 0.4);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Light theme dim background overlay */
[data-theme="light"] .mobile_navigation_wrap {
  background: rgba(60, 45, 24, 0.15);
}

.mobile_navigation_wrap.mobile_menu--is-show {
  opacity: 1;
  pointer-events: auto;
}

.mobile_navigation {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 85%;
  max-width: 380px;
  height: 100%;
  background: rgba(17, 6, 50, 0.95);
  box-shadow: -10px 0 40px rgba(0, 0, 0, 0.5);
  border-left: 1px solid var(--line-dim);
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  padding: 30px 24px;
  overflow-y: auto;
}

/* Light theme drawer background */
[data-theme="light"] .mobile_navigation {
  background: rgba(250, 246, 239, 0.98);
  border-left-color: rgba(176, 131, 34, 0.15);
  box-shadow: -10px 0 40px rgba(60, 45, 24, 0.08);
}

.mobile_navigation_wrap.mobile_menu--is-show .mobile_navigation {
  transform: translateX(0);
}

/* Drawer Header */
.mobile_navigation_head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 36px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line-dim);
}

.mobile_navigation_head_title {
  font-family: 'Cinzel', serif;
  font-size: 22px;
  font-weight: 500;
  letter-spacing: 0.15em;
  color: var(--gold);
  text-transform: uppercase;
}

.mobile_close_btn {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--bg-card);
  border: 1px solid var(--line-dim);
  color: var(--text-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
}

.mobile_close_btn:hover {
  color: var(--gold-bright);
  border-color: var(--gold);
  transform: rotate(90deg);
}

/* Menu Sections */
.mobile_menu_sections {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.mobile_menu_section {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.mobile_section_title {
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin: 0 0 4px 0;
}

/* ─── Mobile primary quick links ─── */
.mobile_primary_links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.mobile_primary_links li {
  width: 100%;
}

/* Default link: big row-button with left icon line */
.mobile_primary_links a {
  font-family: 'Manrope', sans-serif;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-primary);
  text-decoration: none;
  display: flex;
  align-items: center;
  width: 100%;
  padding: 14px 20px;
  border-radius: 12px;
  background: var(--bg-card);
  border: 1px solid var(--line-dim);
  transition: all 0.25s ease;
  gap: 12px;
  position: relative;
  overflow: hidden;
}

.mobile_primary_links a::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--gold);
  border-radius: 0 2px 2px 0;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.mobile_primary_links a::after {
  content: '→';
  margin-left: auto;
  font-size: 14px;
  color: var(--gold);
  opacity: 0;
  transform: translateX(-6px);
  transition: all 0.3s ease;
}

.mobile_primary_links a:hover {
  color: var(--gold-bright);
  background: var(--bg-card-hover);
  border-color: var(--gold);
  padding-left: 24px;
}

.mobile_primary_links a:hover::before {
  opacity: 1;
}

.mobile_primary_links a:hover::after {
  opacity: 1;
  transform: translateX(0);
}

/* CTA button — full-width golden pill */
.mobile_primary_links .cta-mobile {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 16px 20px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-bright) 100%);
  border: none;
  color: #07021a;
  font-family: 'Cinzel', serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 6px 20px rgba(212, 175, 55, 0.35);
  margin-top: 4px;
}

.mobile_primary_links .cta-mobile::before,
.mobile_primary_links .cta-mobile::after {
  display: none;
}

.mobile_primary_links .cta-mobile:hover {
  box-shadow: 0 10px 28px rgba(212, 175, 55, 0.5);
  transform: translateY(-2px);
  color: #07021a;
  padding-left: 20px;
  background: linear-gradient(135deg, var(--gold-bright) 0%, var(--gold) 100%);
  border: none;
}

[data-theme="light"] .mobile_primary_links a {
  background: rgba(255, 255, 255, 0.75);
  border-color: rgba(176, 131, 34, 0.15);
}

[data-theme="light"] .mobile_primary_links a:hover {
  background: rgba(255, 255, 255, 0.95);
}

[data-theme="light"] .mobile_primary_links .cta-mobile {
  color: #faf6ef;
}

/* ─── WP nav menus inside drawer ─── */
.mobile_category_menu,
.mobile_additional_menu {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.mobile_category_menu li,
.mobile_additional_menu li {
  width: 100%;
}

.mobile_category_menu li a,
.mobile_additional_menu li a {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 17px;
  font-weight: 500;
  color: var(--text-secondary);
  text-decoration: none;
  display: flex;
  align-items: center;
  width: 100%;
  padding: 12px 16px;
  border-radius: 10px;
  background: transparent;
  border: 1px solid transparent;
  transition: all 0.25s ease;
  position: relative;
}

.mobile_category_menu li a::after,
.mobile_additional_menu li a::after {
  content: '›';
  margin-left: auto;
  font-size: 20px;
  color: var(--gold);
  opacity: 0;
  transition: all 0.25s ease;
  line-height: 1;
}

.mobile_category_menu li a:hover,
.mobile_additional_menu li a:hover {
  color: var(--text-primary);
  background: var(--bg-card);
  border-color: var(--line-dim);
  padding-left: 20px;
}

.mobile_category_menu li a:hover::after,
.mobile_additional_menu li a:hover::after {
  opacity: 1;
}

/* Body No-Scroll */
body.no-scroll {
  overflow: hidden !important;
  height: 100vh !important;
}

/* ─── Brand: always on one line ─── */
.brand,
.brand:link,
.brand:visited,
.brand:active {
  color: var(--gold) !important;
  white-space: nowrap;
  flex-shrink: 0;
}

/* ─── topbar-nav-link = same style as plain topbar-links a ─── */
.topbar-nav-link {
  font-family: 'Manrope', sans-serif;
  font-size: 12px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--text-secondary);
  text-decoration: none;
  transition: color 0.3s;
}

.topbar-nav-link:hover {
  color: var(--gold-bright);
}

/* ─── Remove ANY old header borders/outlines ─── */
header.topbar,
.topbar {
  border-top: none !important;
  outline: none !important;
}

/* ─── Kill old .link-group border if it appears anywhere ─── */
.link-group {
  border: none !important;
}

/* ─── Topbar on mobile ─── */
@media (max-width: 992px) {
  .brand {
    font-size: 13px;
    letter-spacing: 0.12em;
  }

  .topbar {
    padding: 14px 0;
  }

  .topbar-inner {
    gap: 8px;
  }

  .topbar-links {
    gap: 8px;
    flex-shrink: 0;
  }

  .topbar-controls {
    gap: 8px;
  }

  /* Hide text nav links AND CTA pill — both live in mobile drawer */
  .topbar-nav-link,
  .topbar-cta {
    display: none !important;
  }
}

/* ===================================
   SUBNAV MENU STYLES
   =================================== */

/* SUBNAV NAVIGATION */
#site-navigation.subnav {
  position: relative;
  z-index: 9;
  padding: 18px 0;
  border-bottom: 1px solid var(--line-dim);
  background: var(--bg-deep);
}

.subnav-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
}

#site-navigation.subnav .subnav-links {
  display: flex;
  align-items: center;
  flex: 1;
  gap: 0;
  /* Allow horizontal scroll if links don't fit */
  overflow-x: auto;
  scrollbar-width: none;
  /* Firefox */
  -ms-overflow-style: none;
  /* IE/Edge */
}

#site-navigation.subnav .subnav-links::-webkit-scrollbar {
  display: none;
  /* Chrome/Safari/Opera */
}

#site-navigation.subnav .subnav-links ul {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

#site-navigation.subnav .subnav-links li {
  display: inline;
  margin: 0;
  padding: 0;
}

#site-navigation.subnav .subnav-links a {
  font-family: 'Cinzel', serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-primary);
  text-decoration: none;
  white-space: nowrap;
  position: relative;
  padding: 12px 18px;
  transition: color 0.25s ease;
  display: inline-block;
}

/* Remove left padding on the first link on desktop */
#site-navigation.subnav .subnav-links li:first-child a {
  padding-left: 0;
}

#site-navigation.subnav .subnav-links a::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

#site-navigation.subnav .subnav-links a:hover {
  color: var(--gold-bright);
}

#site-navigation.subnav .subnav-links a:hover::after {
  transform: scaleX(1);
}

@media (max-width: 992px) {
  #site-navigation.subnav {
    display: none;
  }
}

/* ===================================
   OTHER CATEGORY (DROPDOWN)
   =================================== */

.other-category {
  position: relative;
  margin-left: auto;
  flex-shrink: 0;
}

.other-category .button-all_category {
  display: flex;
  align-items: center;
  gap: 8px;
  border: none;
  background: transparent;
  color: var(--text-primary);
  font-family: 'Cinzel', serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: color 0.3s ease;
  line-height: 1;
  /* Remove right padding to align with right edge on desktop */
  padding: 12px 0 12px 18px;
}

.other-category .button-all_category:hover {
  color: var(--gold-bright);
}

.other-category .button-all_category .arrow_icon {
  transition: transform 0.3s ease;
  width: 12px;
  height: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-primary);
}

.other-category .button-all_category .arrow_icon svg {
  width: 100%;
  height: auto;
  stroke: currentColor;
  line-height: 1;
}

.other-category .category-list {
  position: absolute;
  z-index: 100;
  top: 100%;
  right: 0;
  border-radius: 12px;
  background: rgba(7, 2, 26, 0.95);
  border: 1px solid var(--line-dim);
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
  min-width: 280px;
  padding: 16px 0;
  margin-top: 8px;
  backdrop-filter: blur(10px);
}

[data-theme="light"] .other-category .category-list {
  background: rgba(255, 255, 255, 0.95);
}

.other-category .category-list ul.menu {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.other-category .category-list li {
  text-align: left;
  margin: 0;
  padding: 0;
}

.other-category .category-list li::after,
.other-category .category-list li:hover::after {
  display: none;
}

.other-category .category-list li a {
  font-family: 'Cinzel', serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-primary);
  text-decoration: none;
  display: block;
  padding: 10px 24px;
  outline: none;
  transition: all 0.3s ease;
}

.other-category .category-list li a:hover {
  background: rgba(245, 201, 99, 0.1);
  color: var(--gold-bright);
  padding-left: 28px;
}

.other-category:hover .category-list,
.other-category .category-list.is-active {
  visibility: visible;
  opacity: 1;
  animation: fadeInUp 0.3s ease forwards;
}

.other-category:hover .button-all_category .arrow_icon,
.other-category .button-all_category[aria-expanded="true"] .arrow_icon {
  transform: rotate(180deg);
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ===================================
   SCROLL REVEAL ANIMATION
   =================================== */

.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1), transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

.reveal-d2 {
  transition-delay: 0.1s;
}

.reveal-d3 {
  transition-delay: 0.2s;
}

.reveal-d4 {
  transition-delay: 0.3s;
}

/* Respect reduced motion preference */
@media (prefers-reduced-motion: reduce) {
  .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}


/* ===================================
   BLOG PAGE — New Design
   =================================== */

/* Grid of posts */
.blog_page_category_navigation__content .posts_list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 32px !important;
  padding: 0;
  margin-top: 48px !important;
  /* Top margin away from filter buttons */
  overflow: visible !important;
  /* Remove any internal scroll */
  width: 100% !important;
  box-sizing: border-box !important;
}

@media (max-width: 1024px) {
  .blog_page_category_navigation__content .posts_list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 768px) {
  .blog_page_category_navigation__content .posts_list {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Fix FOUC (jump) before slick initializes */
.blog_page_category_navigation:not(.slick-initialized) {
  display: flex !important;
  gap: 12px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

.blog_page_category_navigation:not(.slick-initialized) .blog_page_category_navigation__item {
  display: inline-block !important;
  flex-shrink: 0 !important;
}

/* Category Navigation Slick Arrows */
.blog_page_category_navigation_section .slick-prev,
.blog_page_category_navigation_section .slick-next {
  width: 46px !important;
  height: 46px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(212, 175, 55, 0.6) !important;
  /* Brighter border */
  background: rgba(36, 18, 64, 0.9) !important;
  /* Brighter background */
  color: transparent !important;
  font-size: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  backdrop-filter: blur(6px) !important;
  transition: all 0.3s ease !important;
  z-index: 10 !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4) !important;
  /* Shadow for pop */
}

.blog_page_category_navigation_section .slick-prev:hover,
.blog_page_category_navigation_section .slick-next:hover {
  background: var(--bg-card-hover, rgba(212, 175, 55, 0.1)) !important;
  border-color: var(--gold, #d4af37) !important;
}

.blog_page_category_navigation_section .slick-prev::before,
.blog_page_category_navigation_section .slick-next::before {
  font-family: 'Cinzel', serif !important;
  font-size: 20px !important;
  color: #d4af37 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
}

/* Light Theme Slick Arrows */
[data-theme="light"] .blog_page_category_navigation_section .slick-prev,
[data-theme="light"] .blog_page_category_navigation_section .slick-next {
  background: rgba(255, 255, 255, 0.9) !important;
  border-color: rgba(176, 131, 34, 0.5) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}

[data-theme="light"] .blog_page_category_navigation_section .slick-prev::before,
[data-theme="light"] .blog_page_category_navigation_section .slick-next::before {
  color: #b08322 !important;
  /* Darker gold for light theme contrast */
}

/* Hide slick arrows on mobile (swiping is better) */
@media (max-width: 768px) {

  .blog_page_category_navigation_section .slick-prev,
  .blog_page_category_navigation_section .slick-next {
    display: none !important;
  }
}

.blog_page_category_navigation_section .slick-prev:hover::before,
.blog_page_category_navigation_section .slick-next:hover::before {
  color: var(--gold-bright, #f0d060) !important;
}

.blog_page_category_navigation_section .slick-prev::before {
  content: "<" !important;
}

.blog_page_category_navigation_section .slick-next::before {
  content: ">" !important;
}

/* Position adjustments for arrows */
.blog_page_category_navigation_section .slick-prev {
  right: auto !important;
  left: -20px !important;
  transform: translateY(-50%) !important;
}

.blog_page_category_navigation_section .slick-next {
  left: auto !important;
  right: -20px !important;
  transform: translateY(-50%) !important;
}

@media (max-width: 1200px) {
  .blog_page_category_navigation_section .slick-prev {
    left: 0 !important;
  }

  .blog_page_category_navigation_section .slick-next {
    right: 0 !important;
  }
}

/* Light Theme Arrows */
[data-theme="light"] .blog_page_category_navigation_section .slick-prev,
[data-theme="light"] .blog_page_category_navigation_section .slick-next {
  background: rgba(255, 255, 255, 0.85) !important;
  border-color: rgba(176, 131, 34, 0.3) !important;
}

[data-theme="light"] .blog_page_category_navigation_section .slick-prev::before,
[data-theme="light"] .blog_page_category_navigation_section .slick-next::before {
  color: #3c2d18 !important;
}

/* Make sure .single-post-item doesn't restrict width */
.blog_page_category_navigation__content .single-post-item {
  max-width: none !important;
  width: 100% !important;
}

/* Category Filter Buttons Overrides */
.blog_page_category_navigation_section .blog_page_category_navigation__item button {
  background: transparent !important;
  border: 1px solid var(--line-dim, rgba(212, 175, 55, 0.3)) !important;
  border-radius: 999px !important;
  padding: 8px 24px !important;
  color: var(--text-primary, #f5e6d3) !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  transition: all 0.3s ease !important;
}

.blog_page_category_navigation_section .blog_page_category_navigation__item button:hover {
  background: rgba(212, 175, 55, 0.08) !important;
  border-color: var(--gold, #d4af37) !important;
  color: var(--gold-bright, #f0d060) !important;
}

.blog_page_category_navigation_section .blog_page_category_navigation__item button.active {
  background: var(--gold, #d4af37) !important;
  /* Gold matching theme */
  border-color: var(--gold, #d4af37) !important;
  color: var(--bg-deep, #07021a) !important;
  /* Dark text for contrast */
}

[data-theme="light"] .blog_page_category_navigation_section .blog_page_category_navigation__item button {
  color: #3c2d18 !important;
  border-color: rgba(176, 131, 34, 0.3) !important;
}

[data-theme="light"] .blog_page_category_navigation_section .blog_page_category_navigation__item button:hover {
  background: rgba(176, 131, 34, 0.08) !important;
}

[data-theme="light"] .blog_page_category_navigation_section .blog_page_category_navigation__item button.active {
  background: var(--gold, #b08322) !important;
  border-color: var(--gold, #b08322) !important;
  color: #fff !important;
}

/* Blog card */
.blog-card {
  display: flex;
  flex-direction: column;
  background: var(--bg-card, rgba(28, 12, 64, 0.55));
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid var(--line-dim, rgba(212, 175, 55, 0.12));
  border-radius: 4px;
  overflow: hidden;
  transition: transform 0.3s ease, border-color 0.3s ease;
  min-width: 0 !important;
  /* Prevent grid blowout */
  box-sizing: border-box !important;
}

.blog-card:hover {
  transform: translateY(-4px);
  border-color: var(--line, rgba(212, 175, 55, 0.3));
}

/* Thumbnail */
.blog-card__thumb {
  display: block;
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/9;
  flex-shrink: 0;
}

.blog-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
  display: block;
}

.blog-card:hover .blog-card__thumb img {
  transform: scale(1.05);
}

/* Category badge */
.blog-card__cat {
  position: absolute;
  top: 14px;
  left: 14px;
  font-family: 'Manrope', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--bg-deep, #07021a);
  background: var(--gold, #d4af37);
  padding: 4px 12px;
  border-radius: 999px;
  z-index: 2;
}

/* Card body */
.blog-card__body {
  display: flex !important;
  flex-direction: column !important;
  flex-grow: 1 !important;
  padding: 0 !important;
  /* We use ccard padding now */
  gap: 12px !important;
}

/* Override .ccard padding for these specific cards */
.blog_page_category_navigation__content .blog-card.ccard {
  padding: 16px !important;
}

/* Title */
.blog-card__title {
  font-family: 'Cinzel', serif !important;
  font-size: 20px !important;
  /* Larger since it's 3 cols */
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: 0.02em !important;
  margin: 0 !important;
  text-align: left !important;
  text-transform: none !important;
}

.blog-card__title a {
  color: var(--text-primary, #f5e6d3);
  text-decoration: none;
  transition: color 0.25s;
}

.blog-card__title a:hover {
  color: var(--gold-bright, #f0d060);
}

/* Excerpt */
.blog-card__excerpt {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 16px !important;
  /* Restored size for 3 cols */
  color: var(--text-secondary, rgba(245, 230, 211, 0.68)) !important;
  line-height: 1.5 !important;
  flex-grow: 1 !important;
  margin: 0 !important;
  text-align: left !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  overflow: hidden !important;
}

/* Meta row */
.blog-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid var(--line-dim, rgba(212, 175, 55, 0.12));
}

.blog-card__date {
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-secondary, rgba(245, 230, 211, 0.5));
}

.blog-card__link,
.blog-card__link:visited {
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold, #d4af37) !important;
  text-decoration: none;
  transition: color 0.25s;
}

.blog-card__link:hover {
  color: var(--gold-bright, #f0d060);
}

/* Blog section wrapper */
.blog_page_category_navigation__content,
.blog_page_primary_carousel_section {
  background: transparent;
}

/* Override old star-bg section for new design */
.blog_page_category_navigation__content.star_bg_block {
  padding: 64px 0;
}

/* Container adjustment */
.blog_page_category_navigation__content .container_md {
  max-width: 1200px !important;
  /* Reset back to standard width for 3 cols */
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 auto;
  padding: 0 24px;
}

/* ===================================
   SCROLL TO TOP BUTTON
   =================================== */
body .scroll-to-top {
  background: rgba(28, 12, 64, 0.8) !important;
  border: 1px solid var(--gold, #d4af37) !important;
  width: 52px !important;
  height: 52px !important;
  border-radius: 50% !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4) !important;
  transition: transform 0.3s ease, background 0.3s ease, opacity 0.3s, visibility 0.3s !important;
  z-index: 100 !important;
  color: var(--gold, #d4af37) !important;
  /* Sets currentColor for SVG */
}

body .scroll-to-top:hover {
  background: rgba(46, 24, 84, 0.95) !important;
  transform: translateY(-4px) !important;
  color: var(--gold-bright, #f0d060) !important;
}

/* Light Theme Scroll To Top */
[data-theme="light"] body .scroll-to-top {
  background: rgba(255, 255, 255, 0.9) !important;
  border-color: rgba(176, 131, 34, 0.5) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
  color: #b08322 !important;
}

/* Image-Left, Image-Right, and About Section Typography */
body .image_left .section__content h1,
body .image_left .section__content h2,
body .image_left .section__content h3,
body .image_left .section__content .section__title,
body .image_right .section__content h1,
body .image_right .section__content h2,
body .image_right .section__content h3,
body .image_right .section__content .section__title,
body .about_section__title {
  font-family: 'Cinzel', serif !important;
  text-transform: uppercase !important;
}

body .image_left .section__content p,
body .image_left .section__content .section__description,
body .image_left .section__content .section__description *,
body .image_right .section__content p,
body .image_right .section__content .section__description,
body .image_right .section__content .section__description * {
  font-family: 'Manrope', sans-serif !important;
}

body .about_section__description,
body .about_section__description * {
  font-family: 'Cinzel', serif !important;
}

[data-theme="light"] body .scroll-to-top:hover {
  background: #ffffff !important;
}

/* ===================================
   CLEAR KARMA PAGE
   =================================== */
.clear_karma_gallery {
  padding: 64px 0;
}

.clear_karma_gallery__title {
  font-family: 'Cinzel', serif !important;
  font-size: 32px !important;
  color: var(--gold, #d4af37) !important;
  text-align: center !important;
  margin-bottom: 48px !important;
  letter-spacing: 0.05em !important;
}

/* Override old Pinterest-style columns with robust CSS Grid */
.clear_karma_gallery__gallery {
  columns: auto !important;
  /* disable CSS columns */
  column-gap: normal !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 32px !important;
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
}

@media (max-width: 1024px) {
  .clear_karma_gallery__gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 768px) {
  .clear_karma_gallery__gallery {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
  }
}

/* Glassmorphic Gallery Item */
.clear_karma_gallery__gallery>div.clear_karma_gallery__item {
  display: flex !important;
  flex-direction: column !important;
  background: var(--bg-card, rgba(28, 12, 64, 0.55)) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border: 1px solid var(--line-dim, rgba(212, 175, 55, 0.12)) !important;
  border-radius: 0 !important;
  /* User requested removal */
  padding: 16px !important;
  margin: 0 !important;
  /* remove old margins */
  width: 100% !important;
  box-sizing: border-box !important;
  box-sizing: border-box !important;
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease !important;
  box-shadow: none !important;
  /* remove old shadow */
  position: relative !important;
}

/* Decorative Gold Corners */
.clear_karma_gallery__gallery>div.clear_karma_gallery__item::before,
.clear_karma_gallery__gallery>div.clear_karma_gallery__item::after {
  content: "" !important;
  position: absolute !important;
  width: 12px !important;
  height: 12px !important;
  pointer-events: none !important;
  transition: all 0.3s ease !important;
  z-index: 5 !important;
}

.clear_karma_gallery__gallery>div.clear_karma_gallery__item::before {
  top: 0 !important;
  left: 0 !important;
  border-top: 1px solid var(--gold, #d4af37) !important;
  border-left: 1px solid var(--gold, #d4af37) !important;
}

.clear_karma_gallery__gallery>div.clear_karma_gallery__item::after {
  bottom: 0 !important;
  right: 0 !important;
  border-bottom: 1px solid var(--gold, #d4af37) !important;
  border-right: 1px solid var(--gold, #d4af37) !important;
}

.clear_karma_gallery__gallery>div.clear_karma_gallery__item:hover::before,
.clear_karma_gallery__gallery>div.clear_karma_gallery__item:hover::after {
  border-color: var(--gold-bright, #f0d060) !important;
  width: 16px !important;
  height: 16px !important;
}

.clear_karma_gallery__gallery>div.clear_karma_gallery__item:hover {
  transform: translateY(-4px) !important;
  border-color: var(--line, rgba(212, 175, 55, 0.3)) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4) !important;
}

/* Image / Video */
.clear_karma_gallery__item_img {
  position: relative !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  aspect-ratio: 1 / 1 !important;
  width: 100% !important;
}

.clear_karma_gallery__item_img img,
.clear_karma_gallery__item_img video {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: none !important;
  /* remove old grayscale */
  transition: transform 0.5s ease !important;
}

.clear_karma_gallery__gallery>div.clear_karma_gallery__item:hover .clear_karma_gallery__item_img img,
.clear_karma_gallery__gallery>div.clear_karma_gallery__item:hover .clear_karma_gallery__item_img video {
  transform: scale(1.05) !important;
}

/* Details Icon Mask */
.clear_karma_gallery__item_img_mask {
  background: transparent !important;
  transition: background 0.3s ease !important;
}

.clear_karma_gallery__gallery>div.clear_karma_gallery__item:hover .clear_karma_gallery__item_img_mask {
  background: rgba(7, 2, 26, 0.4) !important;
}

.clear_karma_gallery__item_img_mask button {
  background: rgba(20, 10, 40, 0.8) !important;
  border: 1px solid rgba(212, 175, 55, 0.4) !important;
  border-radius: 50% !important;
  width: 44px !important;
  height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  right: 12px !important;
  top: 12px !important;
  backdrop-filter: blur(4px) !important;
}

.clear_karma_gallery__item_img_mask button svg {
  fill: var(--gold, #d4af37) !important;
  width: 20px !important;
  height: 20px !important;
}

/* Description Text */
.clear_karma_gallery__item_desc {
  font-family: 'Manrope', sans-serif !important;
  font-size: 16px !important;
  color: var(--text-primary, #f5e6d3) !important;
  margin: 16px 0 !important;
  line-height: 1.5 !important;
  flex-grow: 1 !important;
  text-align: left !important;
}

/* Donate Button */
.clear_karma_gallery__item_donate {
  margin-top: auto !important;
}

.clear_karma_gallery__item_donate button.gallery_item_donate {
  width: 100% !important;
  max-width: 100% !important;
  background: transparent !important;
  border: 1px solid var(--gold, #d4af37) !important;
  color: var(--gold, #d4af37) !important;
  border-radius: 999px !important;
  padding: 12px 24px !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  transition: all 0.3s ease !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  height: auto !important;
  /* override old 50px */
}

.clear_karma_gallery__item_donate button.gallery_item_donate:hover {
  background: rgba(212, 175, 55, 0.1) !important;
  border-color: var(--gold-bright, #f0d060) !important;
  color: var(--gold-bright, #f0d060) !important;
}

.clear_karma_gallery__item_donate button.gallery_item_donate svg {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
}

.clear_karma_gallery__item_donate button.gallery_item_donate svg path {
  stroke: currentColor !important;
}

/* Popup Styles */
.clear_karma_donate_popup {
  background: var(--bg-deep, #07021a) !important;
  border: 1px solid var(--line, rgba(212, 175, 55, 0.3)) !important;
  border-radius: 8px !important;
  padding: 32px !important;
  max-width: 500px !important;
  margin: 40px auto !important;
  color: var(--text-primary, #f5e6d3) !important;
  font-family: 'Manrope', sans-serif !important;
}

.clear_karma_donate_popup h3 {
  font-family: 'Cinzel', serif !important;
  color: var(--gold, #d4af37) !important;
  font-size: 24px !important;
  margin-top: 0 !important;
}

.clear_karma_donate_popup h4 {
  color: var(--gold-bright, #f0d060) !important;
  margin-bottom: 8px !important;
  font-family: 'Cinzel', serif !important;
}

.clear_karma_donate_popup p {
  color: var(--text-muted, #a39cae) !important;
}

.clear_karma_donate_popup .donate-option {
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid rgba(255, 255, 255, 0.05) !important;
  border-radius: 6px !important;
  padding: 16px !important;
  margin-bottom: 16px !important;
}

.clear_karma_donate_popup a.paypal-button {
  display: inline-block !important;
  background: var(--gold, #d4af37) !important;
  color: var(--bg-deep, #07021a) !important;
  padding: 10px 20px !important;
  border-radius: 999px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.clear_karma_donate_popup .donate-option__wallet {
  display: flex !important;
  gap: 12px !important;
  align-items: center !important;
}

.clear_karma_donate_popup .donate-option__wallet span {
  font-family: monospace !important;
  background: rgba(0, 0, 0, 0.3) !important;
  padding: 8px 12px !important;
  border-radius: 4px !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  word-break: break-all !important;
}

.clear_karma_donate_popup .donate-option__wallet button {
  background: transparent !important;
  border: 1px solid var(--gold, #d4af37) !important;
  color: var(--gold, #d4af37) !important;
  padding: 8px 16px !important;
  border-radius: 4px !important;
  cursor: pointer !important;
}

/* Light Theme Overrides */
[data-theme="light"] .clear_karma_gallery__title {
  color: #3c2d18 !important;
}

[data-theme="light"] .clear_karma_gallery__gallery>div.clear_karma_gallery__item {
  background: rgba(255, 255, 255, 0.6) !important;
  border-color: rgba(176, 131, 34, 0.2) !important;
}

[data-theme="light"] .clear_karma_gallery__gallery>div.clear_karma_gallery__item:hover {
  border-color: rgba(176, 131, 34, 0.5) !important;
  background: rgba(255, 255, 255, 0.9) !important;
}

[data-theme="light"] .clear_karma_gallery__item_desc {
  color: #3c2d18 !important;
}

[data-theme="light"] .clear_karma_gallery__item_donate button.gallery_item_donate {
  border-color: #b08322 !important;
  color: #b08322 !important;
}

[data-theme="light"] .clear_karma_gallery__item_img_mask button {
  background: rgba(255, 255, 255, 0.9) !important;
  border-color: rgba(176, 131, 34, 0.4) !important;
}

[data-theme="light"] .clear_karma_gallery__item_img_mask button svg {
  fill: #b08322 !important;
}

[data-theme="light"] .clear_karma_donate_popup {
  background: #ffffff !important;
  border-color: rgba(176, 131, 34, 0.3) !important;
  color: #3c2d18 !important;
}

[data-theme="light"] .clear_karma_donate_popup h3,
[data-theme="light"] .clear_karma_donate_popup h4 {
  color: #b08322 !important;
}

[data-theme="light"] .clear_karma_donate_popup p {
  color: #666 !important;
}

[data-theme="light"] .clear_karma_donate_popup .donate-option {
  background: rgba(0, 0, 0, 0.03) !important;
  border-color: rgba(0, 0, 0, 0.05) !important;
}

[data-theme="light"] .clear_karma_donate_popup a.paypal-button {
  background: #b08322 !important;
  color: #ffffff !important;
}

[data-theme="light"] .clear_karma_donate_popup .donate-option__wallet span {
  background: #f0f0f0 !important;
  border-color: #e0e0e0 !important;
  color: #333 !important;
}

[data-theme="light"] .clear_karma_donate_popup .donate-option__wallet button {
  border-color: #b08322 !important;
  color: #b08322 !important;
}

/* ===================================
   NEW DESIGN COMMENTS BLOCK
   =================================== */
.new-design-comments-block {
  padding: 4rem 0 !important;
  position: relative !important;
  z-index: 10 !important;
}

.new-design-comments-block .comments-carousel-wrapper {
  position: relative !important;
  min-height: 250px !important;
  /* reserve space to prevent layout shifts */
  display: flex !important;
  justify-content: center !important;
}

.new-design-comments-block .comment-carousel-item {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  margin: 0 auto !important;
  max-width: 800px !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity 1s ease-in-out, visibility 1s ease-in-out !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
  padding: 2rem !important;
}

.new-design-comments-block .comment-carousel-item.active {
  opacity: 1 !important;
  visibility: visible !important;
  position: relative !important;
  /* Let the active one dictate height */
}

.new-design-comments-block .comment-carousel-item__header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  border-bottom: 1px solid var(--line-dim, rgba(212, 175, 55, 0.12)) !important;
  padding-bottom: 1rem !important;
}

.new-design-comments-block .comment-carousel-item__author {
  display: flex !important;
  flex-direction: column !important;
}

.new-design-comments-block .comment-carousel-item__author .author-name {
  font-family: 'Cinzel', serif !important;
  font-size: 1.25rem !important;
  color: var(--gold, #d4af37) !important;
}

.new-design-comments-block .comment-carousel-item__author .comment-date {
  font-family: 'Manrope', sans-serif !important;
  font-size: 0.875rem !important;
  color: var(--text-muted, #9ca3af) !important;
}

.new-design-comments-block .comment-carousel-item__content {
  font-family: 'Manrope', sans-serif !important;
  font-size: 1rem !important;
  line-height: 1.6 !important;
  color: var(--text-color, #e5e7eb) !important;
  /* Truncate long comments to keep UI clean */
  display: -webkit-box !important;
  -webkit-line-clamp: 5 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.new-design-comments-block .comment-carousel-item__footer {
  margin-top: auto !important;
  padding-top: 1rem !important;
  display: flex !important;
  justify-content: flex-end !important;
}

.new-design-comments-block .read-more-link {
  font-size: 0.875rem !important;
  padding: 0.5rem 1rem !important;
}


/* ===================================
   NEW REPORT DESIGN (.ccard & advisor)
   =================================== */
.ccard {
  background: var(--bg-card);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid var(--line-dim);
  padding: 38px 36px;
  position: relative;
  transition: all 0.4s ease;
}

.ccard:hover {
  background: var(--bg-card-hover);
  border-color: var(--line);
  transform: translateY(-4px);
}

.ccard::before,
.ccard::after {
  content: '';
  position: absolute;
  width: 26px;
  height: 26px;
  opacity: 0.5;
  pointer-events: none;
  transition: opacity 0.4s;
}

.ccard::before {
  top: 10px;
  left: 10px;
  border-top: 1px solid var(--gold);
  border-left: 1px solid var(--gold);
}

.ccard::after {
  bottom: 10px;
  right: 10px;
  border-bottom: 1px solid var(--gold);
  border-right: 1px solid var(--gold);
}

.ccard:hover::before,
.ccard:hover::after {
  opacity: 0.85;
}

/* User Profile specific overrides */
.user_profile_card.ccard {
  background: rgba(28, 12, 64, 0.35);
  /* slightly different color */
}

[data-theme="light"] .user_profile_card.ccard {
  background: rgba(255, 255, 255, 0.45);
}

/* Advisor Card specific overrides */
.expert_card.advisor {
  text-align: center;
  padding: 48px 36px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.expert_card.advisor a {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
}

.advisor-medallion {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background: radial-gradient(circle, var(--purple-soft) 0%, var(--bg-deep) 72%);
  border: 1px solid var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 26px;
  box-shadow: 0 0 0 6px var(--bg-deep), 0 0 30px rgba(212, 175, 55, 0.25);
}

.advisor-medallion img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

.advisor-name {
  font-family: 'Cinzel', serif;
  font-size: 26px;
  font-weight: 500;
  color: var(--text-primary);
  letter-spacing: 0.04em;
  margin-bottom: 8px;
}

.advisor-desc {
  font-family: 'Cormorant Garamond', serif;
  font-size: 18px;
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 32px;
  flex-grow: 1;
}

.expert_card.advisor .advisor-link {
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--text-primary);
  text-decoration: none;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--line);
  padding-bottom: 3px;
  transition: color 0.25s, border-color 0.25s;
  cursor: pointer;
  border-radius: 0;
  height: auto;
}

.expert_card.advisor .advisor-link:hover {
  color: var(--gold-bright);
  border-bottom-color: var(--gold-bright);
}

/* Force overrides on old styles for ccard elements */
body .reports_list .single-report-item.ccard,
body .category_report_wrapper .free_report_block.ccard,
body aside .user_profile_card.ccard,
body aside .expert_card.advisor {
  background: rgba(10, 6, 32, 0.75);
  border: 1px solid rgba(212, 175, 55, 0.2);
  border-radius: 4px;
  padding: 38px 36px;
}

/* Light theme card overrides */
html[data-theme="light"] body .reports_list .single-report-item.ccard,
html[data-theme="light"] body .category_report_wrapper .free_report_block.ccard,
html[data-theme="light"] body aside .user_profile_card.ccard,
html[data-theme="light"] body aside .expert_card.advisor {
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(176, 131, 34, 0.25);
  box-shadow: 0 4px 24px rgba(176, 131, 34, 0.08);
}

html[data-theme="light"] body .reports_list .single-report-item.ccard:hover,
html[data-theme="light"] body .category_report_wrapper .free_report_block.ccard:hover {
  background: rgba(255, 255, 255, 0.98) !important;
  transform: none !important;
}

html[data-theme="light"] body .reports_list .single-report-item.ccard .single-post-item__category .post_excerpt::after,
html[data-theme="light"] body .reports_list .single-report-item.ccard .single-post-item__category .post_excerpt:after {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 0.95)) !important;
}

html[data-theme="light"] body .reports_list .single-report-item.ccard:hover .single-post-item__category .post_excerpt::after,
html[data-theme="light"] body .reports_list .single-report-item.ccard:hover .single-post-item__category .post_excerpt:after {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 0.98)) !important;
}

html[data-theme="light"] body aside .user_profile_card.ccard {
  background: rgba(250, 246, 239, 0.85);
}

/* ===================================
   USER PROFILE CARD
   =================================== */
/* Remove old personal_info_block border/radius/bg */
body .personal_info .personal_info_block {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

html[data-theme="dark"] body .personal_info .personal_info_block {
  background: transparent !important;
}

body .user_profile_card.ccard {
  background: rgba(10, 6, 32, 0.75) !important;
  border: 1px solid rgba(212, 175, 55, 0.2) !important;
  border-radius: 4px !important;
  padding: 32px 28px !important;
}

html[data-theme="light"] body .user_profile_card.ccard {
  background: rgba(255, 255, 255, 0.88) !important;
  border: 1px solid rgba(176, 131, 34, 0.22) !important;
}

body .user_profile_card .user_profile_name {
  font-family: 'Cinzel', serif !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em !important;
  color: var(--gold) !important;
  border-bottom: 1px solid rgba(212, 175, 55, 0.2) !important;
  padding-bottom: 16px !important;
  margin-bottom: 20px !important;
  margin-top: 0 !important;
  text-align: center !important;
  line-height: 1.2 !important;
  word-break: break-word !important;
  text-transform: uppercase !important;
}

html[data-theme="light"] body .user_profile_card .user_profile_name {
  color: var(--gold) !important;
}

body .user_profile_card .user_data_grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}

body .user_profile_card .data_item {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 2px !important;
}

body .user_profile_card .data_item .label {
  font-family: 'Manrope', sans-serif !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--text-muted) !important;
  line-height: 1 !important;
  text-align: center !important;
}

html[data-theme="light"] body .user_profile_card .data_item .label {
  color: var(--text-muted) !important;
}

body .user_profile_card .data_item .value {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  color: var(--text-primary) !important;
  line-height: 1.2 !important;
  text-align: center !important;
}

html[data-theme="light"] body .user_profile_card .data_item .value {
  color: var(--text-primary) !important;
}

body .user_profile_card .data_coords {
  font-family: 'Manrope', sans-serif !important;
  font-size: 10px !important;
  color: var(--text-muted) !important;
  display: flex !important;
  gap: 4px !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  line-height: 1.4 !important;
  font-style: normal !important;
  margin-top: 4px !important;
  letter-spacing: 0.02em !important;
}

body .user_profile_card .gender_tag {
  margin-top: 10px !important;
  text-align: center !important;
}

body .user_profile_card .gender_tag .value {
  font-family: 'Cinzel', serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: var(--gold-bright) !important;
}

body .reports_list .single-report-item.ccard:hover,
body .category_report_wrapper .free_report_block.ccard:hover,
body aside .user_profile_card.ccard:hover,
body aside .expert_card.advisor:hover {
  background: var(--bg-card-hover) !important;
}

body aside .user_profile_card.ccard {
  background: rgba(28, 12, 64, 0.35) !important;
}

html[data-theme="light"] body aside .user_profile_card.ccard {
  background: rgba(255, 255, 255, 0.45) !important;
}

/* Clear expert card old pseudo-elements and info backgrounds */
body aside .experts_block.sidebar_experts .expert_card.advisor {
  border: 1px solid rgba(212, 175, 55, 0.2) !important;
  border-radius: 4px !important;
  background: rgba(10, 6, 32, 0.75) !important;
  overflow: visible !important;
}

html[data-theme="light"] body aside .experts_block.sidebar_experts .expert_card.advisor {
  background: rgba(255, 255, 255, 0.88) !important;
  border: 1px solid rgba(176, 131, 34, 0.25) !important;
}

body aside .experts_block.sidebar_experts .expert_card.advisor .expert_card__info {
  position: static !important;
  background: transparent !important;
  height: auto !important;
  padding: 0 !important;
}

/* Clear report card old gradients and padding */
body .reports_list .single-report-item.ccard .single-post-item__content,
body .reports_list .single-report-item.ccard .single-post-item__category {
  background: transparent !important;
}

body .reports_list .single-report-item.ccard {
  padding: 38px 36px !important;
  border: 1px solid rgba(212, 175, 55, 0.2) !important;
}

/* Fix excerpt fade-out gradient to match new dark card color */
body .reports_list .single-report-item.ccard .single-post-item__category .post_excerpt::after,
body .reports_list .single-report-item.ccard .single-post-item__category .post_excerpt:after {
  background: linear-gradient(to bottom, rgba(10, 6, 32, 0) 10%, rgba(10, 6, 32, 0.95)) !important;
}

body .reports_list .single-report-item.ccard:hover {
  background: rgba(10, 6, 32, 0.88) !important;
  transform: none !important;
}

body .reports_list .single-report-item.ccard:hover .single-post-item__category .post_excerpt::after,
body .reports_list .single-report-item.ccard:hover .single-post-item__category .post_excerpt:after {
  background: linear-gradient(to bottom, rgba(10, 6, 32, 0) 10%, rgba(10, 6, 32, 0.95)) !important;
}

/* Titles and description styles to match new hero design */
h2.report_title.new-hero-title {
  font-family: 'Cinzel', serif !important;
  font-size: clamp(36px, 6.5vw, 76px) !important;
  font-weight: 500 !important;
  line-height: 1.06 !important;
  margin-bottom: 32px !important;
  text-align: center !important;
  background: linear-gradient(180deg, #fff 0%, var(--gold-bright) 55%, var(--gold) 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  letter-spacing: 0.015em !important;
}

.report_description.new-hero-lede {
  text-align: center !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 22px !important;
  font-weight: 300 !important;
  color: var(--text-secondary) !important;
  max-width: 680px !important;
  margin: 0 auto 48px !important;
  line-height: 1.6 !important;
}

.report_description.new-hero-lede p {
  color: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;
  text-align: center !important;
}

/* Align columns horizontally */
body.category-report .category_report_content,
body.category-report .category_report_content .container,
body.category-report .blog_page_category_navigation__content,
body.category-report .reports_list {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

body.category-report .blog_page_category_navigation__content .container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body.category-report .blog_page_category_navigation__content {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

body.category-report .free_report_block.ccard {
  margin-top: 24px !important;
}

/* Hide inline star spans that add whitespace */
body.category-report .blog_page_category_navigation__content>.stars {
  display: none !important;
}

body.category-report .blog_page_category_navigation__content.star_bg_block {
  padding-bottom: 0 !important;
  padding-top: 0 !important;
}

/* Remove container horizontal padding so reports_list is same width as free_report_block below */
body.category-report .category_report_content>.blog_page_category_navigation__content .container {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  max-width: 100% !important;
}

body.category-report .category_report_content .reports_list {
  margin-bottom: 0 !important;
}

body.category-report .free_report_block.ccard {
  margin-top: 16px;
  position: relative;
  z-index: 2;
  background: rgba(10, 6, 32, 0.75) !important;
  border: 1px solid rgba(212, 175, 55, 0.2) !important;
  border-radius: 4px !important;
}

html[data-theme="light"] body.category-report .free_report_block.ccard {
  background: rgba(255, 255, 255, 0.88) !important;
  border: 1px solid rgba(176, 131, 34, 0.22) !important;
}

body.category-report .free_report_block .your_report_chart,
body.category-astrology-reports .free_report_block .your_report_chart,
body.category-report .free_report_block .your_report_chart_desc .your_report_chart_desc__content,
body.category-astrology-reports .free_report_block .your_report_chart_desc .your_report_chart_desc__content,
body.category-report .free_report_block .numerology_horoscope,
body.category-astrology-reports .free_report_block .numerology_horoscope {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin-bottom: 0 !important;
}

body.category-report .category_report_sidebar,
body.category-report .category_report_sidebar .sidebar_report {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Individual Report Card Inner Styling */
body .reports_list .single-report-item.ccard {
  align-items: flex-start !important;
  gap: 32px !important;
}

body .reports_list .single-report-item.ccard .single-post-item__thumbnail {
  width: 130px !important;
  min-width: 130px !important;
  max-width: 130px !important;
  height: 185px !important;
  min-height: 185px !important;
  max-height: 185px !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  border: 1px solid rgba(212, 175, 55, 0.45) !important;
  box-shadow: 0 0 0 3px rgba(10, 6, 32, 0.8), 0 0 16px rgba(212, 175, 55, 0.15) !important;
  flex-shrink: 0 !important;
  align-self: flex-start !important;
}

body .reports_list .single-report-item.ccard .single-post-item__thumbnail .single-post-item__thumbnail_mask {
  padding: 8px !important;
  gap: 6px !important;
  justify-content: flex-end !important;
}

body .reports_list .single-report-item.ccard .single-post-item__thumbnail .single-post-item__thumbnail_mask .popup-link {
  font-family: 'Manrope', sans-serif !important;
  font-size: 9px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  color: #fff !important;
  font-weight: 700 !important;
  min-height: 26px !important;
  width: 90% !important;
  padding: 5px 8px !important;
  border-radius: 4px !important;
  border: 1px solid rgba(212, 175, 55, 0.6) !important;
  line-height: 1.2 !important;
  white-space: normal !important;
  background: rgba(7, 2, 26, 0.7) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
}

html[data-theme="light"] body .reports_list .single-report-item.ccard .single-post-item__thumbnail .single-post-item__thumbnail_mask .popup-link {
  background: rgba(255, 255, 255, 0.82) !important;
  color: #1a0e00 !important;
  border: 1px solid rgba(176, 131, 34, 0.5) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
}

body .reports_list .single-report-item.ccard .single-post-item__category .post_title {
  font-family: 'Cinzel', serif !important;
  font-weight: 500 !important;
  font-size: 26px !important;
  color: var(--text-primary) !important;
  line-height: 1.2 !important;
  margin-bottom: 12px !important;
  text-transform: uppercase !important;
}

body .reports_list .single-report-item.ccard .single-post-item__category .post_excerpt {
  font-family: 'Cormorant Garamond', serif !important;
  font-weight: 400 !important;
  font-size: 18px !important;
  color: var(--text-secondary) !important;
  line-height: 1.6 !important;
  margin-bottom: 24px !important;
}

body .reports_list .single-report-item.ccard .single-post-item__category .post_excerpt p {
  font-family: inherit !important;
  font-size: inherit !important;
  color: inherit !important;
  line-height: inherit !important;
}

body .reports_list .single-report-item.ccard .post_link .your_report_chart__btn,
body .category_report_wrapper .free_report_block .your_report_chart__btn,
body #save-report,
body #save-report_new {
  background: linear-gradient(180deg, #f4d27a 0%, #d4af37 50%, #b8922a 100%) !important;
  color: #1a0e00 !important;
  border: none !important;
  border-radius: 999px !important;
  font-family: 'Manrope', sans-serif !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  padding: 16px 36px !important;
  width: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  cursor: pointer !important;
  box-shadow: 0 4px 16px rgba(212, 175, 55, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transition: all 0.3s ease !important;
  white-space: nowrap !important;
}

body .reports_list .single-report-item.ccard .post_link .your_report_chart__btn:hover,
body .category_report_wrapper .free_report_block .your_report_chart__btn:hover,
body #save-report:hover,
body #save-report_new:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 28px rgba(212, 175, 55, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
}

/* Specifically center the save report buttons */
body #save-report,
body #save-report_new {
  display: flex !important;
  width: max-content !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 24px !important;
  margin-bottom: 24px !important;
}

/* Mobile responsiveness for buttons */
@media (max-width: 768px) {

  body .reports_list .single-report-item.ccard .post_link .your_report_chart__btn,
  body .category_report_wrapper .free_report_block .your_report_chart__btn,
  body #save-report,
  body #save-report_new {
    padding: 12px 16px !important;
    font-size: 10px !important;
    white-space: normal !important;
    text-align: center !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    width: 100% !important;
  }

  body #save-report,
  body #save-report_new {
    width: 100% !important;
  }

  body .reports_list .single-report-item .single-post-item__thumbnail {
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 24px !important;
  }
}

body .reports_list .single-report-item.ccard .post_link .your_report_chart__btn .text_info {
  color: inherit !important;
  font-family: inherit !important;
  font-weight: inherit !important;
  font-size: inherit !important;
  display: inline-flex !important;
  align-items: center !important;
}

body .reports_list .single-report-item.ccard .post_link .your_report_chart__btn span[style*="line-through"] {
  color: #7a0000 !important;
  margin: 0 8px !important;
  font-family: 'Manrope', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
}

/* ===================================
   LEGACY BLOCKS RE-STYLING (Tarot etc)
   =================================== */

/* 1. Title Description Block */
body .post .title-desc-block .title-desc-block__list .title-desc-block__item {
  border: 1px solid rgba(212, 175, 55, 0.2) !important;
  border-radius: 4px !important;
  background: rgba(10, 6, 32, 0.75) !important;
  margin-bottom: 16px !important;
  min-height: auto !important;
}

html[data-theme="light"] body .post .title-desc-block .title-desc-block__list .title-desc-block__item {
  background: rgba(255, 255, 255, 0.88) !important;
  border: 1px solid rgba(176, 131, 34, 0.25) !important;
}

body .post .title-desc-block .title-desc-block__list .title-desc-block__item .title-desc-block__title {
  background: transparent !important;
  color: var(--gold) !important;
  font-family: 'Cinzel', serif !important;
  font-size: 18px !important;
  letter-spacing: 0.05em !important;
  border-right: 1px solid rgba(212, 175, 55, 0.2) !important;
  padding: 24px 16px !important;
  min-width: 25% !important;
  max-width: 30% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-transform: uppercase !important;
  line-height: 1.3 !important;
}

html[data-theme="light"] body .post .title-desc-block .title-desc-block__list .title-desc-block__item .title-desc-block__title {
  color: var(--gold-bright) !important;
}

body .post .title-desc-block .title-desc-block__list .title-desc-block__item .title-desc-block__description {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 18px !important;
  color: var(--text-primary) !important;
  padding: 24px !important;
  line-height: 1.5 !important;
  width: auto !important;
  max-width: 100% !important;
}

html[data-theme="light"] body .post .title-desc-block .title-desc-block__list .title-desc-block__item .title-desc-block__description {
  color: var(--text-primary) !important;
}

@media (max-width: 768px) {
  body .post .title-desc-block .title-desc-block__list .title-desc-block__item {
    flex-direction: column !important;
  }

  body .post .title-desc-block .title-desc-block__list .title-desc-block__item .title-desc-block__title {
    width: 100% !important;
    max-width: 100% !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(212, 175, 55, 0.2) !important;
    text-align: center !important;
    padding: 16px !important;
  }

  body .post .title-desc-block .title-desc-block__list .title-desc-block__item .title-desc-block__description {
    width: 100% !important;
    padding: 16px !important;
  }
}

/* 2. Italic List Block */
body .italic-list {
  border-left: 3px solid var(--gold) !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 20px !important;
  font-style: italic !important;
  color: var(--text-primary) !important;
  padding-left: 20px !important;
  margin-bottom: 32px !important;
}

html[data-theme="light"] body .italic-list {
  border-left: 3px solid var(--gold-bright) !important;
}

body .italic-list .italic-list__list .italic-list__item {
  margin-bottom: 8px !important;
}

/* 3. Recommendation Block */
body .post .recommendation_block {
  margin-top: 64px !important;
  margin-bottom: 64px !important;
}

body .post .recommendation_block .recommendation__head {
  font-family: 'Cinzel', serif !important;
  font-weight: 700 !important;
  font-size: 36px !important;
  margin-bottom: 32px !important;
  background: linear-gradient(180deg, #fff 0%, var(--gold-bright) 60%, var(--gold) 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  text-transform: uppercase !important;
  text-align: left !important;
  letter-spacing: 0.05em !important;
}

html[data-theme="light"] body .post .recommendation_block .recommendation__head {
  background: none !important;
  -webkit-text-fill-color: initial !important;
  color: var(--text-primary) !important;
}

/* Grid Layout for Desktop and Mobile */
body .post .recommendation_block .recommendation__list {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

@media (max-width: 992px) {
  body .post .recommendation_block .recommendation__list {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 768px) {
  body .post .recommendation_block .recommendation__list {
    grid-template-columns: 1fr !important;
  }
}

/* Individual Cards */
body .post .recommendation_block .recommendation__item {
  background: rgba(255, 255, 255, 0.03) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border: 1px solid rgba(212, 175, 55, 0.2) !important;
  border-radius: 4px !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  transition: transform 0.3s ease, border-color 0.3s ease !important;
}

body .post .recommendation_block .recommendation__item:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(212, 175, 55, 0.6) !important;
}

html[data-theme="light"] body .post .recommendation_block .recommendation__item {
  background: rgba(255, 255, 255, 0.88) !important;
  border: 1px solid rgba(176, 131, 34, 0.25) !important;
}

/* Image wrapper */
body .post .recommendation_block .recommendation__item .recommendation__img_wrapper {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
}

body .post .recommendation_block .recommendation__item .recommendation__img_wrapper img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
}

/* Card Content Area */
body .post .recommendation_block .recommendation__item .recommendation__content {
  padding: 24px !important;
  display: flex !important;
  flex-direction: column !important;
  flex-grow: 1 !important;
}

/* Category Label (if exists) */
body .post .recommendation_block .recommendation__item .recommendation__category {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  background: var(--gold) !important;
  color: #000 !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 4px 8px !important;
  border-radius: 2px !important;
  text-transform: uppercase !important;
  z-index: 2 !important;
}

/* Card Title */
body .post .recommendation_block .recommendation__item .recommendation__title {
  margin: 0 0 16px 0 !important;
}

body .post .recommendation_block .recommendation__title .recommendation__link {
  font-family: 'Cinzel', serif !important;
  color: var(--text-primary) !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  line-height: 1.3 !important;
  display: block !important;
  transition: color 0.3s ease !important;
}

body .post .recommendation_block .recommendation__title .recommendation__link:hover {
  color: var(--gold) !important;
}

/* Card Excerpt */
body .post .recommendation_block .recommendation__item .recommendation__description {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 18px !important;
  line-height: 1.5 !important;
  color: var(--text-primary) !important;
  opacity: 0.8 !important;
  margin: 0 0 24px 0 !important;
  flex-grow: 1 !important;
}

/* Card Footer (Date and Read More) */
body .post .recommendation_block .recommendation__item .recommendation__meta {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin-top: auto !important;
  border-top: 1px solid rgba(212, 175, 55, 0.1) !important;
  padding-top: 16px !important;
}

body .post .recommendation_block .recommendation__item .recommendation__date {
  color: var(--text-primary) !important;
  opacity: 0.5 !important;
}

body .post .recommendation_block .recommendation__item .recommendation__read_more {
  color: var(--gold) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: color 0.3s ease !important;
}

body .post .recommendation_block .recommendation__item .recommendation__read_more:hover {
  color: var(--gold-bright) !important;
}

/* ===================================
   RECOMMENDED FOR YOU (SINGLE POST)
   =================================== */
.recommendable_for_your,
.recommendation_block {
  margin-top: 64px !important;
  margin-bottom: 64px !important;
}

.recommendable_for_your .recommendable_for_your__title,
.recommendation_block .recommendation__head {
  font-family: 'Cinzel', serif !important;
  font-weight: 700 !important;
  font-size: 36px !important;
  margin-bottom: 32px !important;
  background: linear-gradient(180deg, #fff 0%, var(--gold-bright) 60%, var(--gold) 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  text-transform: uppercase !important;
  text-align: left !important;
  letter-spacing: 0.05em !important;
  margin-top: 0 !important;
}

html[data-theme="light"] .recommendable_for_your .recommendable_for_your__title,
html[data-theme="light"] .recommendation_block .recommendation__head {
  background: none !important;
  -webkit-text-fill-color: initial !important;
  color: var(--text-primary) !important;
}

/* Fix Slick Slider Spacing (DO NOT use grid as it breaks slick carousel) */
.recommendable_for_your .recommendable_for_your__list,
.recommendation_block .recommendation__list {
  display: block !important;
  margin: 0 -12px !important;
  /* compensate for slide gaps */
}

.recommendable_for_your .recommendable_for_your__list .slick-slide,
.recommendation_block .recommendation__list .slick-slide {
  margin: 0 12px !important;
  /* slick gaps */
}

/* Fix for nested h3 titles being huge because of global entry-content styles */
body .post .recommendable_for_your .blog-card h3.blog-card__title,
body .post .entry-content .recommendable_for_your .blog-card h3.blog-card__title,
.recommendable_for_your .blog-card h3.blog-card__title {
  font-family: 'Cinzel', serif !important;
  font-size: 26px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  margin: 16px 0 !important;
  background: none !important;
  -webkit-text-fill-color: initial !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  color: var(--text-primary) !important;

  /* Force all titles to be exactly 4 lines tall for equal height cards */
  display: -webkit-box !important;
  -webkit-line-clamp: 4 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: 135px !important;
  /* 26px * 1.3 * 4 = 135.2px */
}

body .post .recommendable_for_your .blog-card h3.blog-card__title a,
body .post .entry-content .recommendable_for_your .blog-card h3.blog-card__title a,
.recommendable_for_your .blog-card h3.blog-card__title a {
  color: var(--text-primary) !important;
  text-decoration: none !important;
  background: none !important;
  -webkit-text-fill-color: initial !important;
}

body .post .recommendable_for_your .blog-card h3.blog-card__title a:hover,
body .post .entry-content .recommendable_for_your .blog-card h3.blog-card__title a:hover,
.recommendable_for_your .blog-card h3.blog-card__title a:hover {
  color: var(--gold) !important;
}

/* Make slick slider cards stretch to equal height */
.recommendable_for_your .recommendable_for_your__list .slick-track,
.recommendation_block .recommendation__list .slick-track {
  display: flex !important;
}

.recommendable_for_your .recommendable_for_your__list .slick-slide,
.recommendation_block .recommendation__list .slick-slide {
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
}

.recommendable_for_your .recommendable_for_your__list .slick-slide>div,
.recommendation_block .recommendation__list .slick-slide>div {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

.recommendable_for_your .blog-card,
.recommendation_block .blog-card {
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* ===================================
   SINGLE POST HEADER RE-STYLING
   =================================== */
body .post .entry-header {
  text-align: center !important;
  margin-top: 40px !important;
  /* margin-bottom: 40px !important; */
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

body .post .entry-header .post_meta_data {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
}

body .post .entry-header .entry_title {
  font-family: 'Cinzel', serif !important;
  font-weight: 700 !important;
  font-size: 44px !important;
  line-height: 1.3 !important;
  letter-spacing: 0.015em !important;
  margin-bottom: 24px !important;
  text-transform: uppercase !important;
  text-align: center !important;
  background: linear-gradient(180deg, #fff 0%, var(--gold-bright) 60%, var(--gold) 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

body .post .entry-header .entry_meta,
body .post .entry-header .entry_meta a,
body .post .entry-header .entry_meta span {
  font-family: 'Manrope', sans-serif !important;
  font-size: 12px !important;
  color: var(--gold) !important;
  letter-spacing: 0.05em !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
}

body .post .entry-header .entry_meta {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-bottom: 32px !important;
}

body .post .entry-header .entry_meta svg circle {
  fill: var(--gold) !important;
}

@media (max-width: 768px) {
  body .post .entry-header .entry_title {
    font-size: 32px !important;
  }
}

/* ===================================
   SINGLE POST LARGE IMAGES RE-STYLING
   =================================== */
body.single-post .entry-content figure.wp-block-image.size-large {
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 40px !important;
  margin-bottom: 40px !important;
  text-align: center !important;
  background: rgba(10, 6, 32, 0.75) !important;
  border: 1px solid rgba(212, 175, 55, 0.2) !important;
  padding: 24px !important;
  border-radius: 4px !important;
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

html[data-theme="light"] body.single-post .entry-content figure.wp-block-image.size-large {
  background: rgba(255, 255, 255, 0.88) !important;
  border: 1px solid rgba(176, 131, 34, 0.25) !important;
}

/* Corner Accents */
body.single-post .entry-content figure.wp-block-image.size-large::before,
body.single-post .entry-content figure.wp-block-image.size-large::after {
  content: '' !important;
  position: absolute !important;
  width: 24px !important;
  height: 24px !important;
  pointer-events: none !important;
}

body.single-post .entry-content figure.wp-block-image.size-large::before {
  top: -1px !important;
  left: -1px !important;
  border-top: 1px solid var(--gold) !important;
  border-left: 1px solid var(--gold) !important;
  border-radius: 4px 0 0 0 !important;
}

body.single-post .entry-content figure.wp-block-image.size-large::after {
  bottom: -1px !important;
  right: -1px !important;
  border-bottom: 1px solid var(--gold) !important;
  border-right: 1px solid var(--gold) !important;
  border-radius: 0 0 4px 0 !important;
}

html[data-theme="light"] body.single-post .entry-content figure.wp-block-image.size-large::before,
html[data-theme="light"] body.single-post .entry-content figure.wp-block-image.size-large::after {
  border-color: var(--gold-bright) !important;
}

body.single-post .entry-content figure.wp-block-image.size-large img {
  display: block !important;
  margin: 0 auto !important;
  max-width: 100% !important;
  height: auto !important;
  border-radius: 2px !important;
}

/* ===================================
   LEGACY TYPOGRAPHY & TOC RE-STYLING
   =================================== */
body .post .entry-content h2,
body .post .entry-content h3,
body .post .entry-content h4,
body .post .entry-content h5 {
  font-family: 'Cinzel', serif !important;
  font-weight: 500 !important;
  letter-spacing: 0.015em !important;
  margin-top: 40px !important;
  margin-bottom: 24px !important;
  background: linear-gradient(180deg, #fff 0%, var(--gold-bright) 60%, var(--gold) 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

body .post .entry-content p,
body .post .entry-content li,
body .post .entry-content span,
body .post .entry-content a,
body .post .entry-content strong,
body .post .entry-content b,
body .post .entry-content em,
body .post .entry-content i {
  font-family: 'Cormorant Garamond', serif !important;
  /* font-size: 21px !important; */
  line-height: 1.6 !important;
  color: var(--text-primary) !important;
}

html[data-theme="light"] body .post .entry-header .entry_title,
html[data-theme="light"] body .post .entry-content h2,
html[data-theme="light"] body .post .entry-content h3,
html[data-theme="light"] body .post .entry-content h4,
html[data-theme="light"] body .post .entry-content h5 {
  background: none !important;
  -webkit-text-fill-color: initial !important;
  color: var(--text-primary) !important;
}

html[data-theme="light"] body .post .entry-content p,
html[data-theme="light"] body .post .entry-content li,
html[data-theme="light"] body .post .entry-content span,
html[data-theme="light"] body .post .entry-content a,
html[data-theme="light"] body .post .entry-content strong,
html[data-theme="light"] body .post .entry-content b {
  color: var(--text-primary) !important;
}

body .post .page_anchor_navigation {
  list-style: none !important;
  padding-left: 0 !important;
  margin-top: 24px !important;
  margin-bottom: 48px !important;
}

body .post .page_anchor_navigation li {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin-bottom: 16px !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 21px !important;
}

body .post .page_anchor_navigation li a {
  color: var(--text-primary) !important;
  text-decoration: none !important;
  transition: color 0.3s ease !important;
}

body .post .page_anchor_navigation li a:hover {
  color: var(--gold) !important;
}

/* Replace the lilac bullet with a glowing gold dot */
body .post .page_anchor_navigation li::before {
  content: "" !important;
  width: 8px !important;
  height: 8px !important;
  background: var(--gold) !important;
  border-radius: 50% !important;
  display: block !important;
  flex-shrink: 0 !important;
  box-shadow: 0 0 10px rgba(212, 175, 55, 0.6) !important;
  top: auto !important;
}

/* ===================================
   COMMENTS AREA (BLOG POSTS)
   =================================== */
#comments {
  margin-top: 64px;
  padding-top: 48px;
  border-top: 1px solid var(--line-dim);
}

#comments .custom-comment-title {
  font-family: 'Cinzel', serif !important;
  font-size: 28px !important;
  color: var(--gold) !important;
  margin-bottom: 32px !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  background: none !important;
  -webkit-text-fill-color: initial !important;
}

#comments #toggle-comment-form {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: 'Cinzel', serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--bg-deep);
  background: var(--gold);
  border: 1px solid var(--gold);
  padding: 10px 24px;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-bottom: 32px;
}

#comments #toggle-comment-form:hover {
  background: transparent;
  color: var(--gold);
  box-shadow: 0 0 15px rgba(212, 175, 55, 0.4);
}

#comments .comment-form-field {
  margin-bottom: 24px;
}

#comments .comment-form-field label {
  display: block;
  font-family: 'Cinzel', serif;
  font-size: 14px;
  color: var(--text-secondary);
  margin-bottom: 8px;
  letter-spacing: 0.05em;
}

#comments .comment-form-field input,
#comments .comment-form-field textarea {
  width: 100%;
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid var(--line-dim) !important;
  color: var(--text-primary) !important;
  padding: 16px !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 18px !important;
  border-radius: 4px;
  transition: border-color 0.3s ease;
}

#comments .comment-form-field input:focus,
#comments .comment-form-field textarea:focus {
  outline: none !important;
  border-color: var(--gold) !important;
  background: rgba(255, 255, 255, 0.06) !important;
}

#comments .comment-form-field textarea {
  min-height: 150px;
  resize: vertical;
}

#comments .custom-submit-btn {
  font-family: 'Cinzel', serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--bg-deep) !important;
  background: var(--gold) !important;
  border: 1px solid var(--gold) !important;
  padding: 16px 42px;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.3s ease;
}

#comments .custom-submit-btn:hover {
  background: transparent !important;
  color: var(--gold) !important;
  box-shadow: 0 0 15px rgba(212, 175, 55, 0.4);
}

#comments .comment-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

#comments .comment-list .comment {
  margin-bottom: 20px !important;
}

#comments .comment-list .comment-body {
  background: var(--bg-card);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid var(--line-dim);
  padding: 24px;
  border-radius: 4px;
  position: relative;
}

#comments .comment-list .comment-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  padding-bottom: 12px;
}

#comments .comment-list .comment-author {
  font-family: 'Cinzel', serif;
  font-size: 16px;
  font-weight: 600;
  color: var(--gold);
}

#comments .comment-list .comment-author img.avatar {
  border-radius: 50%;
  margin-right: 12px;
  border: 1px solid var(--gold);
  vertical-align: middle;
  width: 40px;
  height: 40px;
}

#comments .comment-list .comment-metadata a {
  font-family: 'Manrope', sans-serif;
  font-size: 12px;
  color: var(--text-muted);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

#comments .comment-list .comment-content p {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 18px !important;
  color: var(--text-secondary) !important;
  line-height: 1.5 !important;
  margin: 0 0 12px 0 !important;
}

#comments .comment-list .reply a {
  display: inline-block;
  font-family: 'Cinzel', serif;
  font-size: 12px;
  color: var(--gold);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  border: 1px solid var(--gold);
  padding: 4px 12px;
  border-radius: 4px;
  transition: all 0.3s;
}

#comments .comment-list .reply a:hover {
  background: var(--gold);
  color: var(--bg-deep);
}

#comments .comment-list .children {
  list-style: none !important;
  padding-left: 32px !important;
  margin-top: 20px !important;
  border-left: 1px solid var(--line-dim);
}

html[data-theme="light"] #comments .comment-list .comment-body {
  background: var(--bg-card, rgba(255, 255, 255, 0.88));
  border-color: rgba(176, 131, 34, 0.25);
}

html[data-theme="light"] #comments .comment-list .comment-author,
html[data-theme="light"] #comments .custom-comment-title {
  color: var(--gold-dark, #A17621) !important;
}

html[data-theme="light"] #comments .comment-list .comment-content p {
  color: var(--text-primary) !important;
}

html[data-theme="light"] #comments .comment-list .comment-metadata a {
  color: #888888 !important;
}

html[data-theme="light"] #comments .comment-list .comment-meta {
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

html[data-theme="light"] #comments .comment-form-field input,
html[data-theme="light"] #comments .comment-form-field textarea {
  background: rgba(0, 0, 0, 0.03) !important;
  border-color: rgba(0, 0, 0, 0.1) !important;
  color: var(--text-primary) !important;
}

/* ===================================
   LEGACY FAQ BLOCK MODERNIZATION
   =================================== */
.faq_block section {
  max-width: 880px;
  margin: 0 auto;
  border-top: 1px solid var(--line-dim);
}

.faq_block .section_header,
.faq_block .section_header .section_header {
  font-family: 'Cinzel', serif !important;
  font-weight: 700 !important;
  font-size: 36px !important;
  margin-top: 64px !important;
  margin-bottom: 32px !important;
  background: linear-gradient(180deg, #fff 0%, var(--gold-bright) 60%, var(--gold) 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  text-transform: uppercase !important;
  text-align: center !important;
  letter-spacing: 0.05em !important;
  border: none !important;
  padding: 0 !important;
}

html[data-theme="light"] .faq_block .section_header,
html[data-theme="light"] .faq_block .section_header .section_header {
  background: none !important;
  -webkit-text-fill-color: initial !important;
  color: var(--text-primary) !important;
}

body .faq_block__item {
  border-bottom: 1px solid var(--line-dim) !important;
  border-top: none !important;
  background: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body .faq_block__item .faq_block__question {
  width: 100%;
  text-align: left;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px 40px 24px 0 !important;
  /* slightly smaller padding to match compactness */
  font-family: 'Cinzel', serif !important;
  font-size: clamp(16px, 2vw, 22px) !important;
  font-weight: 500 !important;
  color: var(--text-primary) !important;
  cursor: pointer;
  background: none !important;
  border: none !important;
  letter-spacing: 0.015em !important;
  line-height: 1.3 !important;
  transition: color 0.3s;
  position: relative;
}

body .faq_block__question:hover {
  color: var(--gold-bright) !important;
}

/* Reset any old pseudo-elements from legacy CSS */
html body .faq_block__item .faq_block__question::after,
html body .faq_block__item .faq_block__question::before {
  content: '' !important;
  display: block !important;
  background-image: none !important;
  border: none !important;
  border-radius: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

/* Create the HORIZONTAL line of the plus */
html body .faq_block__item .faq_block__question::before {
  position: absolute !important;
  top: 50% !important;
  right: 10px !important;
  height: 1px !important;
  width: 24px !important;
  background: var(--gold) !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
}

/* Create the VERTICAL line of the plus */
html body .faq_block__item .faq_block__question::after {
  position: absolute !important;
  top: 50% !important;
  right: 21.5px !important;
  /* (10px right + 12px half-width - 0.5px half-width of vertical) */
  height: 24px !important;
  width: 1px !important;
  background: var(--gold) !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
  transition: opacity 0.3s ease !important;
}

/* When active, hide the vertical line so it becomes a minus */
html body .faq_block__item.faq_block__item--active .faq_block__question::after {
  opacity: 0 !important;
}

body .faq_block__answer {
  padding: 0 40px 24px 0 !important;
  background: none !important;
  border: none !important;
}

body .faq_block__answer p {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 20px !important;
  color: var(--text-secondary) !important;
  line-height: 1.7 !important;
  max-width: 700px;
  font-weight: 300 !important;
  margin: 0 !important;
}

body .faq_block__answer p+p {
  margin-top: 14px !important;
}

body .faq_block__answer strong {
  color: var(--gold) !important;
  font-weight: 500 !important;
}

body .faq_block__answer a {
  color: var(--gold-bright) !important;
  border-bottom: 1px solid var(--line) !important;
  text-decoration: none !important;
}

/* Hide arbitrary <br> tags in legacy FAQ block that mess up spacing */
.faq_block section>br {
  display: none !important;
}

/* ===================================
   FLOATING BIRTH CHART WIDGET REDESIGN
   =================================== */
.tarot-floating-widget {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9999;
  width: 400px; /* compact */
  max-width: calc(100vw - 40px);
  background: var(--bg-card, rgba(10, 6, 32, 0.88)) !important;
  border: 1px solid var(--line, rgba(212, 175, 55, 0.2)) !important;
  border-radius: 12px !important;
  padding: 24px 20px 20px !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  transition: all 0.3s ease;
}

html[data-theme="light"] .tarot-floating-widget {
  background: rgba(255, 255, 255, 0.95) !important;
  border: 1px solid rgba(176, 131, 34, 0.25) !important;
}

/* Glassmorphism corners */
.tarot-floating-widget::before,
.tarot-floating-widget::after {
  content: '';
  position: absolute;
  width: 20px;
  height: 20px;
  opacity: 0.5;
  pointer-events: none;
}
.tarot-floating-widget::before {
  top: 8px;
  left: 8px;
  border-top: 1px solid var(--gold);
  border-left: 1px solid var(--gold);
}
.tarot-floating-widget::after {
  bottom: 8px;
  right: 8px;
  border-bottom: 1px solid var(--gold);
  border-right: 1px solid var(--gold);
}

.tarot-floating-widget.is-hidden {
  display: none !important;
}

.tarot-close-btn {
  position: absolute;
  top: 10px;
  right: 16px;
  background: none;
  border: none;
  font-size: 28px;
  cursor: pointer;
  color: var(--text-primary);
  padding: 0;
  line-height: 1;
  z-index: 10;
  transition: color 0.3s;
}
.tarot-close-btn:hover {
  color: var(--gold-bright);
}

.tarot-form-title {
  font-family: 'Cinzel', serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-align: center !important;
  color: var(--gold) !important;
  margin: 0 0 16px 0 !important;
  text-transform: uppercase !important;
}

/* Compact form styles inside the widget */
.tarot-floating-widget .tarot-form-container,
.tarot-floating-widget .birth_chart_form,
.tarot-floating-widget .birth_chart_form .birth_chart_form_wrapper {
  border: none !important;
  padding: 0 !important;
  background: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.tarot-floating-widget label {
  font-family: 'Manrope', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--text-primary) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin-bottom: 4px !important;
  display: block !important;
  text-align: left !important;
}

.tarot-floating-widget input[type="text"],
.tarot-floating-widget input[type="email"],
.tarot-floating-widget select {
  background: rgba(0, 0, 0, 0.2) !important;
  border: 1px solid rgba(212, 175, 55, 0.3) !important;
  border-radius: 4px !important;
  color: var(--text-primary) !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 13px !important;
  padding: 6px 10px !important;
  height: 36px !important;
  margin-bottom: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  transition: all 0.3s ease !important;
}

/* Fix Chrome autofill bright white background */
.tarot-floating-widget input:-webkit-autofill,
.tarot-floating-widget input:-webkit-autofill:hover, 
.tarot-floating-widget input:-webkit-autofill:focus, 
.tarot-floating-widget input:-webkit-autofill:active{
  -webkit-box-shadow: 0 0 0 30px #130a2a inset !important;
  -webkit-text-fill-color: var(--text-primary) !important;
  transition: background-color 5000s ease-in-out 0s !important;
}

/* Fix select options unreadable on dark theme */
.tarot-floating-widget select option {
  background-color: #130a2a !important;
  color: var(--text-primary) !important;
}

html[data-theme="light"] .tarot-floating-widget select option {
  background-color: #ffffff !important;
  color: #111111 !important;
}

html[data-theme="light"] .tarot-floating-widget input[type="text"],
html[data-theme="light"] .tarot-floating-widget input[type="email"],
html[data-theme="light"] .tarot-floating-widget select {
  background: rgba(0, 0, 0, 0.03) !important;
  border-color: rgba(0, 0, 0, 0.1) !important;
}

.tarot-floating-widget input:focus,
.tarot-floating-widget select:focus {
  border-color: var(--gold) !important;
  outline: none !important;
  background: rgba(212, 175, 55, 0.05) !important;
}

/* Side-by-side date and time */
.tarot-floating-widget .location_field_row {
  display: flex !important;
  flex-direction: column !important; /* Stack date and time on two rows */
  gap: 12px !important;
  margin-bottom: 12px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.tarot-floating-widget .location_field_cell {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  color: var(--gold) !important;
  font-size: 14px !important;
  box-sizing: border-box !important;
}

.tarot-floating-widget .location_field_cell label {
  width: 110px !important; /* Fixed width for labels to align inputs */
  min-width: 110px !important;
  margin-bottom: 0 !important;
}

/* New wrapper to push inputs to the right */
.tarot-floating-widget .inputs-group {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-left: auto !important; /* Push everything flush right */
}

/* Explicit widths for small inputs to prevent squishing */
.tarot-floating-widget .inputs-group input {
  margin-bottom: 0 !important;
  text-align: center !important;
  padding: 6px 2px !important;
  min-width: 0 !important;
}

.tarot-floating-widget .inputs-group input[name="month"],
.tarot-floating-widget .inputs-group input[name="day"],
.tarot-floating-widget .inputs-group input[name="hour"],
.tarot-floating-widget .inputs-group input[name="minute"] {
  width: 44px !important;
  flex: 0 0 44px !important;
}

.tarot-floating-widget .inputs-group input[name="year"] {
  width: 56px !important;
  flex: 0 0 56px !important;
}

/* Pill toggle for AM/PM */
.tarot-floating-widget .ampm_field {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  background: transparent !important;
  border-radius: 20px !important;
  border: 1px solid rgba(212, 175, 55, 0.3) !important;
  overflow: hidden !important;
  margin: 0 0 16px auto !important; /* Push it flush right */
  height: 36px !important;
  width: 100px !important; /* Exactly 100px */
  box-sizing: border-box !important;
  padding: 0 !important;
}

.tarot-floating-widget .ampm-radio {
  display: flex !important;
  flex-direction: row !important;
  width: 50px !important; /* Exactly 50px */
  min-width: 50px !important;
  max-width: 50px !important;
  flex: 0 0 50px !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  cursor: pointer !important;
}

/* Visually hide radio input but make it fill the label for direct clicking */
.tarot-floating-widget .ampm-radio input[type="radio"] {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  opacity: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  cursor: pointer !important;
  z-index: 2 !important;
}

.tarot-floating-widget .ampm-label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--text-primary) !important;
  background: transparent !important;
  transition: all 0.3s ease !important;
  box-sizing: border-box !important;
  z-index: 1 !important;
}

.tarot-floating-widget .ampm-radio input[type="radio"]:checked + .ampm-label {
  background: linear-gradient(180deg, #f4d27a 0%, #d4af37 50%, #b8922a 100%) !important;
  color: #1a0e00 !important;
}

html[data-theme="light"] .tarot-floating-widget .ampm_field {
  border-color: rgba(176, 131, 34, 0.4) !important;
}

html[data-theme="light"] .tarot-floating-widget .ampm-label {
  color: var(--text-primary) !important;
}

.tarot-floating-widget input[type="checkbox"] {
  accent-color: var(--gold) !important;
  margin-right: 6px !important;
}

.tarot-floating-widget .birth_chart_form_wrapper > input[type="checkbox"] {
  margin-bottom: 16px !important;
}

.tarot-floating-widget .capcha_field {
  transform: scale(0.85); /* Compact recaptcha */
  transform-origin: center;
  margin-bottom: 4px !important;
}

.tarot-floating-widget button[type="submit"] {
  width: 100% !important;
  background: linear-gradient(180deg, #f4d27a 0%, #d4af37 50%, #b8922a 100%) !important;
  color: #1a0e00 !important;
  border: none !important;
  border-radius: 30px !important;
  padding: 12px 20px !important;
  font-family: 'Cinzel', serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  box-shadow: 0 4px 16px rgba(212, 175, 55, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transition: all 0.3s ease !important;
}

.tarot-floating-widget button[type="submit"]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 28px rgba(212, 175, 55, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
}

/* Geo Suggestions Dropdown */
.tarot-floating-widget .location_field {
  position: relative !important;
}

.tarot-floating-widget .suggestions {
  position: absolute !important;
  top: calc(100% - 10px) !important;
  left: 0 !important;
  right: 0 !important;
  background: var(--bg-card, rgba(10, 6, 32, 0.95)) !important;
  border: 1px solid var(--gold) !important;
  border-radius: 4px !important;
  max-height: 200px !important;
  overflow-y: auto !important;
  z-index: 10000 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.8) !important;
  list-style: none !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

.tarot-floating-widget .suggestions:empty {
  display: none !important;
  border: none !important;
}

.tarot-floating-widget .suggestions li {
  padding: 10px 14px !important;
  color: var(--text-primary) !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 13px !important;
  cursor: pointer !important;
  border-bottom: 1px solid rgba(212, 175, 55, 0.15) !important;
  transition: all 0.2s ease !important;
  text-align: left !important;
}

.tarot-floating-widget .suggestions li:last-child {
  border-bottom: none !important;
}

.tarot-floating-widget .suggestions li:hover {
  background: rgba(212, 175, 55, 0.15) !important;
  color: var(--gold-bright) !important;
}

html[data-theme="light"] .tarot-floating-widget .suggestions {
  background: rgba(255, 255, 255, 0.98) !important;
  border-color: rgba(176, 131, 34, 0.3) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1) !important;
}

html[data-theme="light"] .tarot-floating-widget .suggestions li {
  color: var(--text-primary) !important;
  border-bottom-color: rgba(176, 131, 34, 0.1) !important;
}

html[data-theme="light"] .tarot-floating-widget .suggestions li:hover {
  background: rgba(176, 131, 34, 0.1) !important;
  color: var(--gold-dark) !important;
}

@media (max-width: 480px) {
  .tarot-floating-widget {
    left: 20px;
  }
}