/* ============================================================
   HIGH-END LUXURY OVERRIDE — Gold / Blush / White
   Encore Theme — Kajabi Landing Page
   ============================================================ */

/* ── Google Fonts ─────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Jost:wght@300;400;500&display=swap');

/* ── Design Tokens ────────────────────────────────────────── */
:root {
  --gold:         #C4A35A;
  --gold-light:   #D9BF88;
  --gold-deep:    #A8873C;
  --blush:        #EFD4C8;
  --blush-light:  #FAF2EE;
  --blush-mid:    #DEB5A6;
  --white:        #FFFFFF;
  --off-white:    #FAF8F6;
  --warm-dark:    #2C1F14;
  --warm-muted:   #7A6359;
  --divider:      #E8DDD8;
  --header-h:     80px;
}

/* ── Base ─────────────────────────────────────────────────── */
html, body {
  background-color: var(--white) !important;
  color: var(--warm-dark) !important;
  -webkit-font-smoothing: antialiased;
}

body {
  font-family: 'Jost', system-ui, sans-serif !important;
  font-weight: 300 !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
  letter-spacing: 0.01em;
}

/* ── Typography ───────────────────────────────────────────── */
h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  color: var(--warm-dark) !important;
  letter-spacing: 0.02em;
}

h1, .h1 { font-size: clamp(2.8rem, 6vw, 5rem) !important; font-weight: 300 !important; }
h2, .h2 { font-size: clamp(2rem, 4vw, 3.5rem) !important; font-weight: 300 !important; }
h3, .h3 { font-size: clamp(1.5rem, 2.5vw, 2.2rem) !important; }
h4, .h4 { font-size: clamp(1.2rem, 2vw, 1.6rem) !important; }
h5, .h5 { font-size: 1.1rem !important; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 500 !important; }
h6, .h6 { font-size: 0.85rem !important; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 500 !important; }

p {
  color: var(--warm-muted);
  font-weight: 300;
  line-height: 1.85;
  max-width: 68ch;
}

a, .button-as-link {
  color: var(--gold-deep) !important;
  transition: color 0.2s ease, opacity 0.2s ease !important;
}
a:hover, .button-as-link:hover {
  color: var(--gold) !important;
  filter: none !important;
  opacity: 0.8;
}

strong { font-weight: 500; color: var(--warm-dark); }

/* ── Header ───────────────────────────────────────────────── */
.header {
  background-color: var(--white) !important;
  border-bottom: 1px solid var(--divider) !important;
  padding: 0 !important;
  min-height: var(--header-h);
}

.header .container,
.header__container {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

.header a,
.header a.link-list__link,
.header a.link-list__link:hover,
.header .dropdown__trigger {
  color: var(--warm-dark) !important;
  font-family: 'Jost', sans-serif !important;
  font-weight: 400 !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

.header a:hover {
  color: var(--gold) !important;
}

/* Header logo text */
.logo__text {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.5rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.06em !important;
  color: var(--warm-dark) !important;
}

/* Hamburger */
.hamburger__slice {
  background-color: var(--warm-dark) !important;
  height: 1px !important;
}

/* ── Sections ─────────────────────────────────────────────── */
.section {
  position: relative;
}

.section .sizer {
  padding-top: 120px !important;
  padding-bottom: 120px !important;
}

.section .sizer.sizer--full {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Alternating backgrounds */
.section:nth-child(even) {
  background-color: var(--blush-light) !important;
}

.section:nth-child(odd) {
  background-color: var(--white) !important;
}

/* Override for dark sections — keep them dark */
.section.background-dark {
  background-color: var(--warm-dark) !important;
}

/* Gold accent divider between sections */
.section::before {
  content: '';
  display: block;
  width: 40px;
  height: 1px;
  background-color: var(--gold);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

/* ── Buttons ──────────────────────────────────────────────── */
.btn,
.btn--primary,
[class*="btn--solid"],
.element-button .btn {
  font-family: 'Jost', sans-serif !important;
  font-weight: 400 !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  padding: 16px 40px !important;
  transition: all 0.3s ease !important;
  border: 1px solid var(--gold) !important;
  background-color: var(--gold) !important;
  color: var(--white) !important;
}

.btn:hover,
.btn--primary:hover,
[class*="btn--solid"]:hover,
.element-button .btn:hover {
  background-color: var(--gold-deep) !important;
  border-color: var(--gold-deep) !important;
  color: var(--white) !important;
}

/* Outline button variant */
.btn--outline,
[class*="btn--outline"] {
  background-color: transparent !important;
  border: 1px solid var(--gold) !important;
  color: var(--gold-deep) !important;
}

.btn--outline:hover,
[class*="btn--outline"]:hover {
  background-color: var(--gold) !important;
  color: var(--white) !important;
}

/* ── Forms & Inputs ───────────────────────────────────────── */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="number"],
textarea,
select {
  border: 1px solid var(--divider) !important;
  border-radius: 0 !important;
  font-family: 'Jost', sans-serif !important;
  font-weight: 300 !important;
  font-size: 0.95rem !important;
  color: var(--warm-dark) !important;
  background-color: var(--white) !important;
  padding: 14px 18px !important;
  transition: border-color 0.2s ease !important;
}

input:focus,
textarea:focus,
select:focus {
  border-color: var(--gold) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(196, 163, 90, 0.12) !important;
}

::placeholder {
  color: var(--blush-mid) !important;
  font-weight: 300 !important;
}

/* ── Feature / Card Blocks ────────────────────────────────── */
.block-type--feature .block,
.block-type--card .block {
  border: 1px solid var(--divider) !important;
  border-radius: 0 !important;
  background-color: var(--white) !important;
  padding: 48px 40px !important;
  transition: box-shadow 0.3s ease, transform 0.3s ease !important;
}

.block-type--feature .block:hover,
.block-type--card .block:hover {
  box-shadow: 0 12px 40px rgba(44, 31, 20, 0.08) !important;
  transform: translateY(-4px) !important;
}

/* ── Pricing Blocks ───────────────────────────────────────── */
.block-type--pricing .block {
  border: 1px solid var(--divider) !important;
  border-radius: 0 !important;
  background-color: var(--white) !important;
}

.block-type--pricing .block.featured,
.block-type--pricing .block[class*="featured"] {
  border-color: var(--gold) !important;
  border-width: 2px !important;
}

/* ── Accordion ────────────────────────────────────────────── */
.accordion .accordion-title {
  font-family: 'Jost', sans-serif !important;
  font-weight: 400 !important;
  font-size: 0.9rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 20px 0 !important;
  border-bottom: 1px solid var(--divider) !important;
  color: var(--warm-dark) !important;
}

.accordion .accordion-title::after {
  color: var(--gold) !important;
}

.accordion .accordion-body {
  padding: 24px 0 !important;
  color: var(--warm-muted) !important;
  border-bottom: 1px solid var(--divider) !important;
}

/* ── Countdown ────────────────────────────────────────────── */
.countdown__number {
  font-family: 'Cormorant Garamond', serif !important;
  font-weight: 300 !important;
  color: var(--warm-dark) !important;
}

.countdown__label {
  font-family: 'Jost', sans-serif !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--warm-muted) !important;
}

/* ── Footer ───────────────────────────────────────────────── */
.footer {
  background-color: var(--warm-dark) !important;
  color: rgba(255,255,255,0.65) !important;
  padding: 64px 0 40px !important;
  border-top: none !important;
}

.footer a,
.footer .link-list__link {
  color: rgba(255,255,255,0.65) !important;
  font-family: 'Jost', sans-serif !important;
  font-weight: 300 !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.08em !important;
}

.footer a:hover {
  color: var(--gold-light) !important;
}

.footer .copyright {
  font-size: 0.78rem !important;
  letter-spacing: 0.06em !important;
  color: rgba(255,255,255,0.35) !important;
}

/* Gold rule above footer content */
.footer::before {
  content: '';
  display: block;
  width: 40px;
  height: 1px;
  background-color: var(--gold);
  margin: 0 auto 48px;
}

/* Social icons in footer */
.footer .social-icons__icon {
  color: rgba(255,255,255,0.5) !important;
  transition: color 0.2s ease !important;
}

.footer .social-icons__icon:hover {
  color: var(--gold-light) !important;
}

/* ── Exit Pop ─────────────────────────────────────────────── */
.exit-pop,
.exit-pop__container {
  border-radius: 0 !important;
  background-color: var(--white) !important;
}

.exit-pop__close {
  color: var(--warm-muted) !important;
}

/* ── Two-Step Form ────────────────────────────────────────── */
.two-step {
  background-color: var(--white) !important;
  border-radius: 0 !important;
  border: 1px solid var(--divider) !important;
}

/* ── Carousel ─────────────────────────────────────────────── */
.carousel__nav-btn {
  background-color: transparent !important;
  border: 1px solid var(--gold) !important;
  color: var(--gold) !important;
  border-radius: 0 !important;
  transition: all 0.2s ease !important;
}

.carousel__nav-btn:hover {
  background-color: var(--gold) !important;
  color: var(--white) !important;
}

.carousel__dot.active {
  background-color: var(--gold) !important;
}

/* ── Utilities ────────────────────────────────────────────── */

/* Gold horizontal rule */
hr, .divider {
  border: none !important;
  height: 1px !important;
  background-color: var(--divider) !important;
  margin: 48px auto !important;
}

/* Centered gold eyebrow line above headings */
.eyebrow,
[class*="eyebrow"] {
  display: inline-block;
  font-family: 'Jost', sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
  margin-bottom: 16px;
}

/* Blockquote */
blockquote {
  border-left: 2px solid var(--gold) !important;
  padding: 8px 32px !important;
  margin: 40px 0 !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.4rem !important;
  font-style: italic !important;
  color: var(--warm-dark) !important;
  font-weight: 300 !important;
}

/* ── Checkout / Embedded Checkout ─────────────────────────── */
.embedded-checkout {
  border: 1px solid var(--divider) !important;
  border-radius: 0 !important;
}

/* ── Images ───────────────────────────────────────────────── */
img {
  border-radius: 0 !important;
}

/* ── Responsive tweaks ────────────────────────────────────── */
@media (max-width: 767px) {
  .section .sizer {
    padding-top: 72px !important;
    padding-bottom: 72px !important;
  }

  .block-type--feature .block,
  .block-type--card .block {
    padding: 32px 24px !important;
  }

  h1, .h1 { font-size: 2.8rem !important; }
  h2, .h2 { font-size: 2.2rem !important; }
}

/* ── Hello Bar ────────────────────────────────────────────── */
.header__block--hello-bar {
  background-color: var(--gold) !important;
  color: var(--white) !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  padding: 12px !important;
}

.header__block--hello-bar a {
  color: var(--white) !important;
}

/* ── Powered by ───────────────────────────────────────────── */
.powered-by {
  font-family: 'Jost', sans-serif !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.1em !important;
  color: var(--warm-muted) !important;
  opacity: 0.6;
}
