/*
Theme Name: CharteredTeam
Theme URI: https://charteredteam.com
Description: Official custom theme for CharteredTeam — India's most trusted CA/CMA/CS test series platform.
Version: 5.0.0
Author: CharteredTeam
Text Domain: charteredteam
WC requires at least: 4.0
WC tested up to: 9.0
*/

/* ═══════════════════════════════════════════════════
   DESIGN SYSTEM — Light & Warm
   Palette: Warm White + Amber Gold + Slate Blue
   Fonts:   Raleway (display) + Plus Jakarta Sans (body)
═══════════════════════════════════════════════════ */



:root {
  /* Primary */
  --gold:        #b8860b;
  --gold-bright: #d4a017;
  --gold-light:  #f5c842;
  --gold-pale:   #fffbee;
  --gold-border: #f0d080;

  /* Slate accent (replaces navy — much lighter) */
  --slate:       #3b4f6b;
  --slate-mid:   #5a7094;
  --slate-light: #8fa3be;
  --slate-pale:  #f0f4f9;

  /* Whites & grays */
  --white:       #ffffff;
  --off-white:   #fafafa;
  --warm-white:  #fffef9;
  --gray-50:     #f8f8f6;
  --gray-100:    #f0eeea;
  --gray-200:    #e4e1db;
  --gray-300:    #c8c3ba;
  --gray-500:    #8a8278;
  --gray-700:    #4a4540;
  --gray-900:    #1c1a17;

  /* Status */
  --green:       #16a34a;
  --green-pale:  #f0fdf4;
  --red:         #dc2626;

  /* Fonts */
  --font-display: 'Raleway', Georgia, serif;
  --font-body:    'Plus Jakarta Sans', system-ui, sans-serif;

  /* Spacing */
  --radius-xs:  4px;
  --radius-sm:  8px;
  --radius-md:  14px;
  --radius-lg:  22px;
  --radius-xl:  36px;

  /* Shadows — very soft for light theme */
  --shadow-xs:   0 1px 3px rgba(60,50,30,.06);
  --shadow-sm:   0 2px 8px rgba(60,50,30,.08);
  --shadow-md:   0 6px 24px rgba(60,50,30,.10);
  --shadow-lg:   0 16px 56px rgba(60,50,30,.13);
  --shadow-gold: 0 4px 20px rgba(184,134,11,.20);

  --transition: 0.22s cubic-bezier(.4,0,.2,1);
  --max-width: 1160px;
}

/* ── Reset ────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
  font-family: var(--font-body);
  font-weight: 400;
  color: var(--gray-700);
  background: var(--white);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }

/* ── Layout ───────────────────────────────────── */
.container { max-width: var(--max-width); margin: 0 auto; padding: 0 28px; }
.section    { padding: 88px 0; }
.section--sm{ padding: 52px 0; }
.section--lg{ padding: 120px 0; }

/* ── Typography ───────────────────────────────── */
h1,h2,h3,h4,h5 { font-family: var(--font-display); color: var(--gray-900); line-height: 1.2; }
h1 { font-size: clamp(2rem, 5vw, 3.4rem); font-weight: 700; }
h2 { font-size: clamp(1.7rem, 3.5vw, 2.4rem); font-weight: 700; }
h3 { font-size: clamp(1.2rem, 2.5vw, 1.6rem); font-weight: 600; }
h4 { font-size: 1.1rem; font-family: var(--font-body); font-weight: 700; }
p  { line-height: 1.8; color: var(--gray-500); }

.text-gold   { color: var(--gold); }
.text-slate  { color: var(--slate); }
.text-center { text-align: center; }

/* ── Buttons ──────────────────────────────────── */
.btn {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 13px 26px;
  border-radius: var(--radius-sm);
  font-family: var(--font-body);
  font-weight: 600; font-size: 0.92rem;
  transition: var(--transition);
  border: 2px solid transparent;
  cursor: pointer;
}
.btn--primary {
  background: var(--gold);
  color: var(--white);
  box-shadow: var(--shadow-gold);
}
.btn--primary:hover { background: var(--gold-bright); transform: translateY(-2px); box-shadow: 0 8px 28px rgba(184,134,11,.28); }

.btn--slate { background: var(--slate); color: var(--white); }
.btn--slate:hover { background: var(--slate-mid); transform: translateY(-2px); }

.btn--outline {
  border-color: var(--gold);
  color: var(--gold);
  background: transparent;
}
.btn--outline:hover { background: var(--gold); color: var(--white); }

.btn--outline-slate {
  border-color: var(--slate-light);
  color: var(--slate);
  background: transparent;
}
.btn--outline-slate:hover { background: var(--slate-pale); }

.btn--lg  { padding: 16px 34px; font-size: 1rem; }
.btn--sm  { padding: 9px 18px; font-size: 0.83rem; }

/* ── Section Label ────────────────────────────── */
.label {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 5px 14px;
  background: var(--gold-pale);
  border: 1px solid var(--gold-border);
  border-radius: 100px;
  font-size: 0.75rem; font-weight: 700;
  color: var(--gold);
  text-transform: uppercase; letter-spacing: .08em;
  margin-bottom: 14px;
}
.label::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--gold-bright); }

/* ── Divider ──────────────────────────────────── */
.divider { width: 52px; height: 3px; background: linear-gradient(90deg,var(--gold-bright),var(--gold-pale)); border-radius: 2px; margin: 14px 0 22px; }
.divider--center { margin: 14px auto 22px; }

/* ── Cards ────────────────────────────────────── */
.card {
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-md);
  padding: 26px;
  box-shadow: var(--shadow-xs);
  transition: var(--transition);
}
.card:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); border-color: var(--gold-border); }

/* ── Grid ─────────────────────────────────────── */
.grid-2 { display: grid; grid-template-columns: repeat(2,1fr); gap: 24px; }
.grid-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.grid-4 { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }

@media (max-width: 900px) {
  .grid-4,.grid-3 { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 600px) {
  .grid-4,.grid-3,.grid-2 { grid-template-columns: 1fr; }
  .section { padding: 60px 0; }
  .container { padding: 0 18px; }
}

/* ══════════════════════════════════════════════
   ANNOUNCEMENT BAR
══════════════════════════════════════════════ */
.announcement-bar {
  background: var(--gold);
  color: var(--white);
  text-align: center;
  padding: 10px 20px;
  font-size: 0.83rem;
  font-weight: 600;
  position: relative; z-index: 1002;
}
.announcement-bar a { color: var(--white); text-decoration: underline; }

/* ══════════════════════════════════════════════
   HEADER — Clean White
══════════════════════════════════════════════ */
#site-header {
  position: sticky; top: 0; z-index: 1000;
  background: rgba(255,255,255,.97);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--gray-200);
  transition: var(--transition);
}
#site-header.scrolled { box-shadow: var(--shadow-md); }

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

.site-logo { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.site-logo img { height: 38px; width: auto; }
.site-logo__text {
  font-family: var(--font-display);
  font-size: 1.15rem; color: var(--gray-900); font-weight: 700;
}
.site-logo__tagline {
  font-size: 0.62rem; color: var(--slate-mid);
  letter-spacing: .05em; text-transform: uppercase; display: block; margin-top: -1px;
}

/* Nav */
.main-nav { display: flex; align-items: center; gap: 2px; }
.nav-item { position: relative; }
.nav-item > a {
  padding: 8px 13px; color: var(--gray-700);
  font-size: 0.88rem; font-weight: 500;
  border-radius: var(--radius-xs);
  transition: var(--transition); display: block;
}
.nav-item > a:hover, .nav-item > a.active { color: var(--gold); background: var(--gold-pale); }

/* Dropdown */
.nav-item:hover .dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
.dropdown {
  position: absolute; top: calc(100% + 6px); left: 0;
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-md);
  padding: 8px;
  min-width: 210px;
  box-shadow: var(--shadow-lg);
  opacity: 0; visibility: hidden; transform: translateY(-8px);
  transition: var(--transition);
  z-index: 100;
}
.dropdown a {
  display: flex; align-items: center; gap: 8px;
  padding: 10px 13px;
  color: var(--gray-700) !important;
  font-size: 0.875rem; border-radius: var(--radius-xs);
  transition: var(--transition);
}
.dropdown a:hover { color: var(--gold) !important; background: var(--gold-pale); }

/* Header CTA */
.header-cta { display: flex; align-items: center; gap: 10px; }
.header-cart-btn {
  position: relative; color: var(--gray-600);
  font-size: 1.15rem; padding: 8px;
  border-radius: var(--radius-xs); transition: var(--transition);
}
.header-cart-btn:hover { color: var(--gold); background: var(--gold-pale); }
.cart-count {
  position: absolute; top: 2px; right: 2px;
  background: var(--gold); color: var(--white);
  font-size: 9px; font-weight: 700;
  width: 15px; height: 15px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
}

/* Hamburger */
.hamburger { display: none; flex-direction: column; gap: 5px; padding: 8px; }
.hamburger span { display: block; width: 22px; height: 2px; background: var(--gray-700); border-radius: 2px; transition: var(--transition); }

@media (max-width: 900px) {
  .main-nav, .header-cta .btn { display: none; }
  .hamburger { display: flex; }
}

/* Mobile Nav */
.mobile-nav {
  display: none; position: fixed;
  top: 66px; left: 0; right: 0; bottom: 0;
  background: var(--white);
  padding: 20px 28px; z-index: 999; overflow-y: auto;
  border-top: 1px solid var(--gray-200);
}
.mobile-nav.open { display: block; }
.mobile-nav a {
  display: flex; align-items: center; gap: 10px;
  padding: 14px 0; color: var(--gray-700);
  font-size: 1rem; font-weight: 500;
  border-bottom: 1px solid var(--gray-100);
}
.mobile-nav a:hover { color: var(--gold); }

/* ══════════════════════════════════════════════
   HERO — Warm White with gold accents
══════════════════════════════════════════════ */
.hero {
  background: linear-gradient(160deg, var(--warm-white) 0%, var(--gold-pale) 100%);
  position: relative; overflow: hidden;
  padding: 96px 0 80px;
  border-bottom: 1px solid var(--gold-border);
}
.hero::before {
  content: '';
  position: absolute; top: -120px; right: -120px;
  width: 500px; height: 500px; border-radius: 50%;
  background: radial-gradient(circle, rgba(212,160,23,.10) 0%, transparent 70%);
  pointer-events: none;
}
.hero::after {
  content: '';
  position: absolute; bottom: -80px; left: -80px;
  width: 320px; height: 320px; border-radius: 50%;
  background: radial-gradient(circle, rgba(90,112,148,.07) 0%, transparent 70%);
  pointer-events: none;
}
.hero-inner {
  position: relative; z-index: 1;
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 64px; align-items: center;
}
.hero-badge {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 7px 16px;
  background: var(--white);
  border: 1px solid var(--gold-border);
  border-radius: 100px;
  color: var(--gold); font-size: 0.78rem; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase;
  margin-bottom: 20px;
  box-shadow: var(--shadow-xs);
}
.hero h1 { color: var(--gray-900); margin-bottom: 18px; }
.hero h1 em { font-style: normal; color: var(--gold); }
.hero > .container > .hero-inner > .hero-content > p {
  color: var(--gray-500); font-size: 1.08rem; margin-bottom: 34px; max-width: 500px; line-height: 1.8;
}
.hero-cta { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.hero-stats {
  display: flex; gap: 28px; margin-top: 48px;
  padding-top: 32px; border-top: 1px solid var(--gray-200);
}
.hero-stat__number {
  font-family: var(--font-display);
  font-size: 1.9rem; font-weight: 700; color: var(--gold);
  line-height: 1; display: block;
}
.hero-stat__label {
  font-size: 0.75rem; color: var(--gray-500);
  text-transform: uppercase; letter-spacing: .05em; display: block; margin-top: 3px;
}

/* Hero card */
.hero-card-stack { position: relative; max-width: 400px; margin: 0 auto; }
.card-behind {
  position: absolute; top: -14px; right: -14px;
  width: 100%; height: 100%;
  background: var(--gold-pale);
  border: 1px solid var(--gold-border);
  border-radius: var(--radius-lg);
  transform: rotate(2.5deg);
}
.hero-main-card {
  position: relative;
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-lg);
  padding: 30px;
  box-shadow: var(--shadow-md);
}
.hero-main-card h3 { color: var(--gray-900); font-size: 1rem; margin-bottom: 18px; font-family: var(--font-body); font-weight: 700; }
.test-list-item {
  display: flex; align-items: center; justify-content: space-between;
  padding: 11px 0; border-bottom: 1px solid var(--gray-100);
  color: var(--gray-700); font-size: 0.875rem;
}
.test-list-item:last-of-type { border-bottom: none; }
.test-badge { font-size: 0.72rem; padding: 3px 9px; border-radius: 100px; font-weight: 700; }
.test-badge--green { background: var(--green-pale); color: var(--green); }
.test-badge--gold  { background: var(--gold-pale);  color: var(--gold); }

@media (max-width: 900px) {
  .hero-inner { grid-template-columns: 1fr; }
  .hero-visual { display: none; }
  .hero-stats  { gap: 18px; flex-wrap: wrap; }
}

/* ══════════════════════════════════════════════
   TRUST BAR — light strip
══════════════════════════════════════════════ */
.trust-bar {
  background: var(--white);
  border-bottom: 1px solid var(--gray-200);
  padding: 18px 0;
}
.trust-bar-inner {
  display: flex; align-items: center; justify-content: center;
  gap: 36px; flex-wrap: wrap;
}
.trust-item {
  display: flex; align-items: center; gap: 7px;
  color: var(--gray-500); font-size: 0.83rem;
}
.trust-item strong { color: var(--gray-700); }

/* ══════════════════════════════════════════════
   COURSES SECTION
══════════════════════════════════════════════ */
.courses-section { background: var(--gray-50); }

.course-card {
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: var(--transition);
  display: flex; flex-direction: column;
  box-shadow: var(--shadow-xs);
}
.course-card:hover {
  box-shadow: var(--shadow-md); transform: translateY(-5px);
  border-color: var(--gold-border);
}
.course-card__header {
  background: linear-gradient(135deg, var(--gold-pale) 0%, var(--white) 100%);
  padding: 26px 24px 20px;
  border-bottom: 1px solid var(--gray-200);
  position: relative;
}
.course-card__header::after {
  content: '';
  position: absolute; bottom: 0; left: 0;
  width: 60px; height: 3px;
  background: var(--gold);
}
.course-card__icon {
  width: 46px; height: 46px;
  background: var(--white);
  border: 1px solid var(--gold-border);
  border-radius: var(--radius-sm);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.35rem; margin-bottom: 12px;
  box-shadow: var(--shadow-xs);
}
.course-card__title { color: var(--gray-900); font-size: 1.1rem; margin-bottom: 4px; font-family: var(--font-body); font-weight: 700; }
.course-card__subtitle { color: var(--gold); font-size: 0.75rem; text-transform: uppercase; letter-spacing: .06em; font-weight: 700; }
.course-card__body { padding: 22px 24px; flex: 1; }
.course-features li {
  display: flex; align-items: flex-start; gap: 9px;
  padding: 7px 0; font-size: 0.875rem; color: var(--gray-500);
  border-bottom: 1px dashed var(--gray-100);
}
.course-features li:last-child { border-bottom: none; }
.course-features li::before { content: '✓'; color: var(--gold); font-weight: 700; flex-shrink: 0; margin-top: 1px; }
.course-card__footer {
  padding: 18px 24px;
  border-top: 1px solid var(--gray-100);
  display: flex; align-items: center; justify-content: space-between;
  background: var(--off-white);
}
.course-price { font-family: var(--font-display); font-size: 1.3rem; color: var(--gray-900); font-weight: 700; }

/* ══════════════════════════════════════════════
   HOW IT WORKS
══════════════════════════════════════════════ */
.how-it-works { background: var(--white); }
.steps-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; }
.step { padding: 28px 22px; text-align: center; position: relative; }
.step:not(:last-child)::after {
  content: '→'; position: absolute; top: 38px; right: -10px;
  color: var(--gold-border); font-size: 1.5rem; z-index: 1;
}
.step-number {
  width: 52px; height: 52px;
  background: var(--gold-pale); border: 2px solid var(--gold-border);
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display); font-size: 1.25rem;
  color: var(--gold); font-weight: 700; margin: 0 auto 14px;
}
.step h4 { margin-bottom: 8px; color: var(--gray-900); }
.step p   { font-size: 0.855rem; }

@media (max-width: 900px) {
  .steps-grid { grid-template-columns: repeat(2,1fr); }
  .step:not(:last-child)::after { display: none; }
}

/* ══════════════════════════════════════════════
   TESTIMONIALS — soft cream background
══════════════════════════════════════════════ */
.testimonials-section {
  background: linear-gradient(160deg, var(--gold-pale) 0%, var(--slate-pale) 100%);
  position: relative; overflow: hidden;
}
.testimonials-section::before {
  content: '"';
  position: absolute; top: -60px; left: 20px;
  font-family: var(--font-display); font-size: 28rem;
  color: rgba(184,134,11,.06); line-height: 1;
  pointer-events: none; user-select: none;
}
.testimonial-card {
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-lg);
  padding: 28px;
  box-shadow: var(--shadow-sm);
  transition: var(--transition);
}
.testimonial-card:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); border-color: var(--gold-border); }
.testimonial-stars { color: var(--gold-bright); margin-bottom: 12px; letter-spacing: 2px; font-size: 0.88rem; }
.testimonial-text {
  color: var(--gray-700); font-size: 0.93rem; line-height: 1.75;
  margin-bottom: 20px; font-style: italic;
}
.testimonial-author { display: flex; align-items: center; gap: 12px; }
.testimonial-avatar {
  width: 42px; height: 42px; border-radius: 50%;
  background: linear-gradient(135deg, var(--gold-bright), var(--slate-mid));
  display: flex; align-items: center; justify-content: center;
  color: var(--white); font-weight: 700; font-size: 0.95rem; flex-shrink: 0;
}
.testimonial-name  { color: var(--gray-900); font-weight: 600; font-size: 0.875rem; }
.testimonial-level { color: var(--gold); font-size: 0.78rem; font-weight: 600; }

/* ══════════════════════════════════════════════
   WHY US
══════════════════════════════════════════════ */
.why-us { background: var(--white); }
.why-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.why-features { display: flex; flex-direction: column; gap: 16px; }
.why-feature {
  display: flex; gap: 14px; padding: 18px;
  background: var(--white); border-radius: var(--radius-md);
  border: 1px solid var(--gray-200); transition: var(--transition);
}
.why-feature:hover { border-color: var(--gold-border); box-shadow: var(--shadow-sm); }
.why-feature__icon {
  width: 44px; height: 44px;
  background: var(--gold-pale); border-radius: var(--radius-sm);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.25rem; flex-shrink: 0;
}
.why-feature h4 { margin-bottom: 3px; font-size: 0.95rem; }
.why-feature p  { font-size: 0.83rem; }

.why-visual-card {
  background: linear-gradient(155deg, var(--gold-pale) 0%, var(--slate-pale) 100%);
  border: 1px solid var(--gold-border);
  border-radius: var(--radius-xl); padding: 40px;
  position: relative; overflow: hidden;
}
.why-visual-card::before {
  content: ''; position: absolute; top: -50px; right: -50px;
  width: 180px; height: 180px; border-radius: 50%;
  background: rgba(184,134,11,.08);
}
.tagline-display {
  font-family: var(--font-display);
  font-size: 1.55rem; color: var(--gray-900);
  line-height: 1.35; margin-bottom: 22px; position: relative;
}
.stat-grid-mini { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.stat-mini {
  background: var(--white); border: 1px solid var(--gray-200);
  border-radius: var(--radius-md); padding: 16px; text-align: center;
  box-shadow: var(--shadow-xs);
}
.stat-mini__num { font-family: var(--font-display); font-size: 1.7rem; color: var(--gold); font-weight: 700; display: block; }
.stat-mini__label { font-size: 0.72rem; color: var(--gray-500); display: block; margin-top: 2px; text-transform: uppercase; letter-spacing: .05em; }

@media (max-width: 900px) { .why-grid { grid-template-columns: 1fr; } }

/* ══════════════════════════════════════════════
   CTA SECTION
══════════════════════════════════════════════ */
.cta-section {
  background: var(--gold-pale);
  border-top: 1px solid var(--gold-border);
  border-bottom: 1px solid var(--gold-border);
  padding: 80px 0; text-align: center;
  position: relative; overflow: hidden;
}
.cta-section h2 { color: var(--gray-900); }
.cta-section p  { color: var(--gray-500); max-width: 540px; margin: 12px auto 32px; }

/* ══════════════════════════════════════════════
   PAGE HERO — light version
══════════════════════════════════════════════ */
.page-hero {
  background: linear-gradient(160deg, var(--warm-white) 0%, var(--gold-pale) 100%);
  padding: 52px 0 44px;
  border-bottom: 1px solid var(--gold-border);
  position: relative;
}
.page-hero h1  { color: var(--gray-900); font-size: clamp(1.5rem,4vw,2.2rem); }
.page-hero p   { color: var(--gray-500); margin-top: 8px; max-width: 640px; }
.page-hero .woocommerce-breadcrumb,
.page-hero .woocommerce-breadcrumb a,
.page-hero nav, .page-hero nav a { color: var(--gray-500) !important; font-size: 0.8rem !important; }
.page-hero nav a:hover { color: var(--gold) !important; }

/* ══════════════════════════════════════════════
   BLOG — beautiful spacing and typography
══════════════════════════════════════════════ */
.blog-card {
  background: var(--white); border: 1px solid var(--gray-200);
  border-radius: var(--radius-lg); overflow: hidden;
  transition: var(--transition); box-shadow: var(--shadow-xs);
}
.blog-card:hover { box-shadow: var(--shadow-md); transform: translateY(-4px); border-color: var(--gold-border); }
.blog-card__img { width: 100%; height: 210px; object-fit: cover; }
.blog-card__body { padding: 26px 26px 22px; }
.blog-card__category {
  display: inline-block;
  background: var(--gold-pale); color: var(--gold);
  font-size: 0.72rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .07em; padding: 4px 11px;
  border-radius: 100px; margin-bottom: 14px;
  border: 1px solid var(--gold-border);
}
.blog-card__title { font-size: 1.05rem; margin-bottom: 10px; line-height: 1.4; }
.blog-card__title a { color: var(--gray-900); }
.blog-card__title a:hover { color: var(--gold); }
.blog-card__excerpt { font-size: 0.875rem; color: var(--gray-500); line-height: 1.75; }
.blog-card__meta {
  display: flex; align-items: center; gap: 10px;
  margin-top: 18px; padding-top: 16px;
  border-top: 1px solid var(--gray-100);
  font-size: 0.78rem; color: var(--gray-300);
}

/* ── Blog/Post Content — Beautiful Typography ── */
.post-content {
  font-size: 1.05rem;
  line-height: 1.95;
  color: var(--gray-700);
  letter-spacing: 0.01em;
}
.post-content > * + * { margin-top: 1.5em; }

.post-content h1,.post-content h2,.post-content h3,.post-content h4 {
  font-family: var(--font-display);
  color: var(--gray-900);
  line-height: 1.3;
  margin-top: 2.2em;
  margin-bottom: 0.6em;
}
.post-content h2 { font-size: 1.65rem; padding-bottom: 10px; border-bottom: 2px solid var(--gold-pale); }
.post-content h3 { font-size: 1.3rem; }
.post-content h4 { font-size: 1.05rem; font-family: var(--font-body); font-weight: 700; }

.post-content p { color: var(--gray-600); line-height: 1.95; margin-bottom: 0; }

.post-content ul, .post-content ol {
  padding-left: 24px; color: var(--gray-600);
}
.post-content ul li {
  list-style: none; padding: 6px 0 6px 24px; position: relative; line-height: 1.8;
}
.post-content ul li::before {
  content: ''; position: absolute; left: 0; top: 14px;
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--gold-bright);
}
.post-content ol li { list-style: decimal; margin-bottom: 8px; line-height: 1.8; padding-left: 6px; }

.post-content a { color: var(--slate); text-decoration: underline; text-decoration-color: var(--gold-border); }
.post-content a:hover { color: var(--gold); }
.post-content strong { color: var(--gray-900); font-weight: 700; }
.post-content em { color: var(--gray-700); }

.post-content blockquote {
  border-left: 4px solid var(--gold-bright);
  margin: 2em 0; padding: 20px 24px;
  background: var(--gold-pale);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  color: var(--gray-700); font-style: italic;
  font-size: 1.05rem; line-height: 1.8;
}
.post-content blockquote cite { display: block; margin-top: 10px; font-size: 0.85rem; color: var(--gray-500); font-style: normal; font-weight: 600; }

.post-content img { border-radius: var(--radius-md); margin: 2em 0; box-shadow: var(--shadow-md); }

.post-content table { width: 100%; border-collapse: collapse; margin: 2em 0; font-size: 0.9rem; }
.post-content table th {
  background: var(--gold-pale); color: var(--gray-900);
  padding: 12px 16px; text-align: left;
  font-weight: 700; border-bottom: 2px solid var(--gold-border);
}
.post-content table td {
  padding: 11px 16px; border-bottom: 1px solid var(--gray-200); color: var(--gray-600);
}
.post-content table tr:nth-child(even) td { background: var(--gray-50); }

.post-content hr { border: none; border-top: 2px solid var(--gray-200); margin: 2.5em 0; }

.post-content code {
  background: var(--gray-100); padding: 2px 7px;
  border-radius: var(--radius-xs); font-size: 0.875em; color: var(--slate);
}

/* ══════════════════════════════════════════════
   WOOCOMMERCE — Light Theme Overrides
══════════════════════════════════════════════ */
/* Product grid */
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(3,1fr); gap: 24px; }
.woocommerce ul.products li.product {
  background: var(--white) !important;
  border: 1px solid var(--gray-200) !important;
  border-radius: var(--radius-lg) !important;
  overflow: hidden; transition: var(--transition);
  margin: 0 !important; padding: 0 !important;
  float: none !important; width: auto !important;
  box-shadow: var(--shadow-xs);
}
.woocommerce ul.products li.product:hover { box-shadow: var(--shadow-md); transform: translateY(-4px); border-color: var(--gold-border) !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font-body); font-size: 0.95rem; font-weight: 700;
  color: var(--gray-900); padding: 16px 20px 4px;
}
.woocommerce ul.products li.product .price { padding: 2px 20px 14px; font-family: var(--font-display); font-size: 1.2rem; color: var(--gray-900); }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .price del { color: var(--gray-300); font-size: 0.88rem; }
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .add_to_cart_button {
  background: var(--gold) !important; color: var(--white) !important;
  font-weight: 600 !important; border-radius: 0 0 var(--radius-lg) var(--radius-lg) !important;
  width: 100% !important; text-align: center !important;
  margin: 0 !important; padding: 13px 20px !important;
  transition: var(--transition) !important; border: none !important;
  font-family: var(--font-body) !important; font-size: 0.88rem !important;
}
.woocommerce ul.products li.product a.button:hover { background: var(--gold-bright) !important; }

/* Single product */
.woocommerce div.product,
.woocommerce-page div.product {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 48px; align-items: start;
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-lg);
  padding: 36px; box-shadow: var(--shadow-sm);
  margin-bottom: 48px; overflow: hidden; position: relative; z-index: 1;
}
.woocommerce div.product .woocommerce-product-gallery,
.woocommerce-page div.product .woocommerce-product-gallery {
  float: none !important; width: 100% !important; margin: 0 !important;
}
.woocommerce div.product .woocommerce-product-gallery img { border-radius: var(--radius-md); }
.woocommerce div.product .summary,
.woocommerce-page div.product .summary {
  float: none !important; width: 100% !important; clear: none !important;
}
.woocommerce div.product .product_title { font-family: var(--font-display); font-size: clamp(1.4rem,3vw,2rem); color: var(--gray-900); margin-bottom: 10px; }
.woocommerce div.product p.price,
.woocommerce div.product span.price { font-family: var(--font-display); font-size: 1.9rem; color: var(--gray-900); font-weight: 700; display: block; margin: 16px 0; }
.woocommerce div.product p.price ins { text-decoration: none; }
.woocommerce div.product p.price del { color: var(--gray-300); font-size: 1.1rem; margin-right: 8px; }
.woocommerce div.product .woocommerce-product-details__short-description {
  color: var(--gray-600); font-size: 0.95rem; line-height: 1.8;
  margin-bottom: 20px; padding-left: 16px;
  border-left: 3px solid var(--gold-bright);
}
.woocommerce div.product form.cart { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 24px 0; }
.woocommerce div.product form.cart .qty { width: 68px !important; padding: 12px !important; border: 1px solid var(--gray-200) !important; border-radius: var(--radius-sm) !important; text-align: center; }

/* WC Buttons */
.woocommerce button.button, .woocommerce a.button,
.woocommerce input[type=submit], .woocommerce .single_add_to_cart_button,
.woocommerce .checkout-button, .woocommerce #respond input#submit {
  background: var(--gold) !important; color: var(--white) !important;
  font-family: var(--font-body) !important; font-weight: 600 !important;
  border-radius: var(--radius-sm) !important; padding: 13px 26px !important;
  border: none !important; transition: var(--transition) !important;
  font-size: 0.92rem !important;
}
.woocommerce button.button:hover, .woocommerce a.button:hover,
.woocommerce .single_add_to_cart_button:hover { background: var(--gold-bright) !important; transform: translateY(-1px); }
.woocommerce button.button.alt, .woocommerce .checkout-button {
  background: var(--slate) !important; color: var(--white) !important;
}
.woocommerce button.button.alt:hover { background: var(--slate-mid) !important; }

/* Cart */
.woocommerce table.cart thead { background: var(--gold-pale); }
.woocommerce table.cart thead th { color: var(--gray-900) !important; padding: 14px 20px; font-weight: 700; border-bottom: 2px solid var(--gold-border); }
.woocommerce .cart_totals h2 { font-family: var(--font-display); color: var(--gray-900); }
.woocommerce .order-total .amount { color: var(--gold) !important; font-size: 1.3rem; }

/* Form inputs */
.woocommerce form .form-row label { font-weight: 600; color: var(--gray-700); margin-bottom: 5px; display: block; font-size: 0.875rem; }
.woocommerce form .form-row input,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
  border: 1px solid var(--gray-200) !important;
  border-radius: var(--radius-sm) !important;
  padding: 11px 14px !important; font-family: var(--font-body) !important;
  transition: var(--transition); width: 100% !important;
  background: var(--white) !important; color: var(--gray-700) !important;
}
.woocommerce form .form-row input:focus,
.woocommerce form .form-row select:focus {
  border-color: var(--gold-bright) !important; outline: none !important;
  box-shadow: 0 0 0 3px rgba(184,134,11,.12) !important;
}

/* WC notices */
.woocommerce-message { background: var(--green-pale) !important; border-top-color: var(--green) !important; color: #14532d !important; }
.woocommerce-error   { background: #fef2f2 !important; border-top-color: var(--red) !important; }

/* Tabs */
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related.products,
.woocommerce div.product .upsells.products {
  clear: both; float: none !important; width: 100% !important;
  grid-column: 1 / -1; margin-top: 40px; position: relative; z-index: 1;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex; gap: 4px;
  border-bottom: 2px solid var(--gray-200); padding: 0; margin-bottom: 28px; list-style: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0 !important; border: none !important; background: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: block; padding: 11px 20px; color: var(--gray-500); font-weight: 600; font-size: 0.88rem;
  border-bottom: 2px solid transparent; margin-bottom: -2px; transition: var(--transition);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--gold); border-bottom-color: var(--gold); }
.woocommerce div.product .woocommerce-tabs .panel { color: var(--gray-600); font-size: 0.93rem; line-height: 1.85; }
.woocommerce div.product .woocommerce-tabs .panel p { margin-bottom: 14px; }
.woocommerce div.product .woocommerce-tabs .panel ul li { list-style: disc; margin-left: 20px; margin-bottom: 8px; color: var(--gray-600); }
.woocommerce div.product .woocommerce-tabs .panel h2 { font-size: 1.2rem; margin-bottom: 14px; color: var(--gray-900); }

/* Product description */
.woocommerce-product-details__short-description p { color: var(--gray-600); line-height: 1.8; margin-bottom: 10px; }
.woocommerce-Tabs-panel p   { color: var(--gray-600); line-height: 1.85; margin-bottom: 12px; }
.woocommerce-Tabs-panel ul li { list-style: disc; margin-left: 20px; margin-bottom: 8px; color: var(--gray-600); line-height: 1.75; }

/* Sale badge */
.woocommerce span.onsale {
  background: var(--gold) !important; color: var(--white) !important;
  border-radius: var(--radius-xs) !important;
  padding: 4px 10px !important; font-size: 0.78rem !important; font-weight: 700 !important;
  min-height: auto !important; min-width: auto !important; line-height: 1.4 !important;
}

/* Breadcrumb */
.woocommerce-breadcrumb, .woocommerce-breadcrumb a { color: var(--gray-400) !important; font-size: 0.82rem !important; }
.woocommerce-breadcrumb a:hover { color: var(--gold) !important; }

@media (max-width: 768px) {
  .woocommerce div.product { grid-template-columns: 1fr; padding: 20px; gap: 24px; }
  .woocommerce ul.products { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 480px) { .woocommerce ul.products { grid-template-columns: 1fr; } }

/* ══════════════════════════════════════════════
   FOOTER — Clean White
══════════════════════════════════════════════ */
.site-footer {
  background: var(--gray-50);
  border-top: 1px solid var(--gray-200);
  color: var(--gray-500);
  position: relative; z-index: 2; clear: both; float: none;
}
.footer-main {
  padding: 60px 0 44px;
  display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 44px;
}
.footer-brand p { font-size: 0.855rem; max-width: 280px; color: var(--gray-700); line-height: 1.75; margin-top: 14px; }
.footer-social { display: flex; gap: 9px; margin-top: 20px; }
.footer-social a {
  width: 44px; height: 44px;
  background: var(--white); border: 1px solid var(--gray-200);
  border-radius: var(--radius-xs); display: flex; align-items: center; justify-content: center;
  color: var(--gray-700); font-size: 1.3rem; transition: var(--transition);
}
.footer-social a:hover { background: var(--gold-pale); color: var(--gold); border-color: var(--gold-border); }
.footer-col h5 {
  color: var(--gray-900); font-family: var(--font-body); font-weight: 700;
  margin-bottom: 16px; font-size: 0.83rem;
  text-transform: uppercase; letter-spacing: .07em;
}
.footer-col ul { display: flex; flex-direction: column; gap: 10px; }
.footer-col ul li a { color: var(--gray-700); font-size: 0.855rem; transition: var(--transition); }
.footer-col ul li a:hover { color: var(--gold); padding-left: 4px; }
.footer-bottom {
  padding: 18px 0; border-top: 1px solid var(--gray-200);
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 10px;
}
.footer-bottom p { font-size: 0.78rem; color: var(--gray-700); }
.footer-bottom a { color: var(--gold); }
.footer-legal { display: flex; gap: 18px; }
.footer-legal a { font-size: 0.78rem; color: var(--gray-700); transition: var(--transition); }
.footer-legal a:hover { color: var(--gold); }

@media (max-width: 900px) { .footer-main { grid-template-columns: 1fr 1fr; } .footer-brand { grid-column: 1/-1; } }
@media (max-width: 600px) { .footer-main { grid-template-columns: 1fr; } }

/* ══════════════════════════════════════════════
   MISC
══════════════════════════════════════════════ */
.back-to-top {
  position: fixed; bottom: 26px; right: 26px;
  width: 42px; height: 42px;
  background: var(--white); border: 1px solid var(--gray-200);
  color: var(--gold); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  opacity: 0; visibility: hidden; transition: var(--transition); z-index: 99;
  box-shadow: var(--shadow-md);
}
.back-to-top.visible { opacity: 1; visibility: visible; }
.back-to-top:hover { background: var(--gold); color: var(--white); }

.sticky-mobile-cta {
  display: none; position: fixed; bottom: 0; left: 0; right: 0;
  background: var(--white); padding: 12px 20px; z-index: 99;
  border-top: 1px solid var(--gray-200); gap: 12px;
  box-shadow: 0 -4px 16px rgba(0,0,0,.06);
}
@media (max-width: 640px) { .sticky-mobile-cta { display: flex; } .sticky-mobile-cta .btn { flex: 1; justify-content: center; } }

/* Layout safety */
.single-product-wrap { background: var(--gray-50); min-height: 60vh; padding: 40px 0 80px; position: relative; z-index: 1; overflow: hidden; }
body { overflow-x: hidden; }
.entry-content, .page-content { font-size: 1rem; line-height: 1.85; color: var(--gray-600); }

@keyframes fadeInUp { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
.fade-in { animation: fadeInUp .55s ease both; }
.fade-in-delay-1 { animation-delay: .08s; }
.fade-in-delay-2 { animation-delay: .16s; }
.fade-in-delay-3 { animation-delay: .24s; }
.fade-in-delay-4 { animation-delay: .32s; }

/* ════════════════════════════════════════════════════
   HOMEPAGE — CUSTOM SECTIONS  (v5 additions)
   All classes prefixed hp- to avoid conflicts
════════════════════════════════════════════════════ */

/* ── Shared helpers ─────────────────────────── */
.hp-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 12px 24px; border-radius: 8px;
  font-family: var(--font-body); font-weight: 600; font-size: 0.9rem;
  cursor: pointer; transition: var(--transition); border: 2px solid transparent;
  text-decoration: none !important;
}
.hp-btn--gold    { background: var(--gold); color: #fff; box-shadow: 0 3px 16px rgba(184,134,11,.22); }
.hp-btn--gold:hover { background: var(--gold-bright); transform: translateY(-2px); box-shadow: 0 6px 24px rgba(184,134,11,.3); }
.hp-btn--ghost   { background: transparent; color: var(--gray-700); border-color: var(--gray-200); }
.hp-btn--ghost:hover { background: var(--gray-100); border-color: var(--gray-300); }
.hp-btn--outline { background: transparent; color: var(--gold); border-color: var(--gold-border); }
.hp-btn--outline:hover { background: var(--gold-pale); }
.hp-btn--white   { background: #fff; color: var(--gray-900); border-color: rgba(255,255,255,.3); }
.hp-btn--white:hover { background: var(--gold-pale); }
.hp-btn--lg { padding: 15px 32px; font-size: 0.97rem; border-radius: 9px; }

.hp-label {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 4px 13px; background: var(--gold-pale);
  border: 1px solid var(--gold-border); border-radius: 100px;
  font-size: 0.72rem; font-weight: 700; color: var(--gold);
  text-transform: uppercase; letter-spacing: .09em; margin-bottom: 12px;
}
.hp-label::before { content:''; width:5px; height:5px; border-radius:50%; background:var(--gold-bright); }

.hp-section { padding: 88px 0; }
.hp-section__head { margin-bottom: 52px; }
.hp-section__head h2 { margin-bottom: 10px; }
.hp-section__head p  { color: var(--gray-500); max-width: 560px; font-size: 1.02rem; line-height: 1.75; }
.hp-section__head--center { text-align: center; }
.hp-section__head--center p { margin: 0 auto; }
.hp-section__head--split { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; }

/* ── HERO ─────────────────────────────────── */
.hp-hero {
  background: linear-gradient(160deg, #fffef9 0%, #fffbee 55%, #f9f4e3 100%);
  padding: 80px 0 72px; position: relative; overflow: hidden;
  border-bottom: 1px solid var(--gold-border);
}
.hp-hero__bg-dots {
  position: absolute; inset: 0; pointer-events: none;
  background-image: radial-gradient(circle, rgba(184,134,11,.08) 1px, transparent 1px);
  background-size: 32px 32px;
}
.hp-hero__inner {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 64px; align-items: center; position: relative; z-index: 1;
}
.hp-pill {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 7px 16px; background: #fff;
  border: 1px solid var(--gold-border); border-radius: 100px;
  font-size: 0.78rem; font-weight: 700; color: var(--gold);
  letter-spacing: .05em; margin-bottom: 22px;
  box-shadow: 0 2px 10px rgba(184,134,11,.10);
}
.hp-hero__h1 {
  font-family: var(--font-display); font-size: clamp(2.1rem, 4.5vw, 3.4rem);
  line-height: 1.15; color: var(--gray-900); margin-bottom: 20px; font-weight: 800;
}
.hp-hero__h1 em   { font-style: normal; color: var(--gold); }
.hp-hero__h1 .hp-underline {
  position: relative; display: inline-block;
}
.hp-hero__h1 .hp-underline::after {
  content: ''; position: absolute; bottom: -4px; left: 0; right: 0;
  height: 4px; background: linear-gradient(90deg, var(--gold-bright), var(--gold-pale));
  border-radius: 2px;
}
.hp-hero__sub {
  color: var(--gray-500); font-size: 1.05rem; line-height: 1.8;
  max-width: 510px; margin-bottom: 34px;
}
.hp-hero__cta { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 44px; }
.hp-hero__proof {
  display: flex; align-items: center; gap: 0;
  padding-top: 32px; border-top: 1px solid var(--gray-200);
  flex-wrap: wrap; gap: 0;
}
.hp-proof-item { text-align: center; padding: 0 24px; }
.hp-proof-item:first-child { padding-left: 0; }
.hp-proof-num { display: block; font-family: var(--font-display); font-size: 1.7rem; font-weight: 700; color: var(--gold); line-height: 1; }
.hp-proof-label { display: block; font-size: 0.72rem; color: var(--gray-400); text-transform: uppercase; letter-spacing: .06em; margin-top: 3px; }
.hp-proof-divider { width: 1px; height: 36px; background: var(--gray-200); }

/* Enroll Card */
.hp-hero__card-wrap { position: relative; }
.hp-enroll-card {
  background: #fff; border: 1px solid var(--gray-200);
  border-radius: 18px; overflow: hidden; box-shadow: 0 8px 40px rgba(60,50,30,.10);
}
.hp-enroll-card__head {
  background: linear-gradient(135deg, var(--gold-pale), #fffbee);
  padding: 24px 28px 20px; border-bottom: 1px solid var(--gold-border);
}
.hp-enroll-badge {
  display: inline-block; background: #fff; color: var(--green);
  font-size: 0.72rem; font-weight: 700; padding: 3px 10px;
  border-radius: 100px; border: 1px solid #bbf7d0; margin-bottom: 10px;
}
.hp-enroll-card__head h3 { font-family: var(--font-body); font-weight: 700; color: var(--gray-900); font-size: 1.1rem; margin-bottom: 4px; }
.hp-enroll-card__head p  { font-size: 0.82rem; color: var(--gray-400); }
.hp-enroll-card__links { padding: 10px 0; }
.hp-enroll-link {
  display: flex; align-items: center; gap: 12px;
  padding: 13px 28px; transition: var(--transition);
  text-decoration: none !important;
  border-bottom: 1px solid var(--gray-100);
}
.hp-enroll-link:last-of-type { border-bottom: none; }
.hp-enroll-link:hover { background: var(--gold-pale); }
.hp-enroll-link__icon { font-size: 1.25rem; width: 32px; text-align: center; flex-shrink: 0; }
.hp-enroll-link__text { flex: 1; }
.hp-enroll-link__text strong { display: block; font-size: 0.9rem; color: var(--gray-900); font-weight: 600; }
.hp-enroll-link__text small  { font-size: 0.75rem; color: var(--gray-400); }
.hp-enroll-link__arrow { color: var(--gray-300); font-size: 0.9rem; transition: var(--transition); }
.hp-enroll-link:hover .hp-enroll-link__arrow { color: var(--gold); transform: translateX(3px); }
.hp-enroll-card__all {
  display: block; text-align: center;
  padding: 14px; background: var(--gold);
  color: #fff !important; font-weight: 600; font-size: 0.875rem;
  transition: var(--transition); text-decoration: none !important;
}
.hp-enroll-card__all:hover { background: var(--gold-bright); }

/* Floating badge */
.hp-float-badge {
  position: absolute; top: -16px; right: -16px;
  background: #fff; border: 1px solid var(--gold-border);
  border-radius: 12px; padding: 10px 14px;
  display: flex; align-items: center; gap: 10px;
  box-shadow: 0 4px 20px rgba(60,50,30,.12);
}
.hp-float-badge__icon { font-size: 1.3rem; }
.hp-float-badge strong { display: block; font-size: 0.82rem; color: var(--gray-900); font-weight: 700; }
.hp-float-badge small  { font-size: 0.72rem; color: var(--gray-400); }

@media (max-width: 960px) {
  .hp-hero__inner { grid-template-columns: 1fr; gap: 44px; }
  .hp-hero__card-wrap { max-width: 480px; margin: 0 auto; }
  .hp-float-badge { display: none; }
  .hp-hero__proof { gap: 0; }
}
@media (max-width: 480px) {
  .hp-proof-item { padding: 0 14px; }
  .hp-proof-num { font-size: 1.3rem; }
}

/* ── TRUST STRIP ─────────────────────────── */
.hp-trust-strip {
  background: #fff; border-bottom: 1px solid var(--gray-200);
  padding: 16px 0;
}
.hp-trust-strip__inner {
  display: flex; align-items: center; justify-content: center;
  gap: 14px; flex-wrap: wrap;
}
.hp-trust-item { display: flex; align-items: center; gap: 6px; font-size: 0.82rem; color: var(--gray-500); }
.hp-trust-item strong { color: var(--gray-700); }
.hp-trust-sep { color: var(--gray-200); font-size: 1.2rem; }
@media (max-width: 700px) { .hp-trust-sep { display: none; } .hp-trust-strip__inner { gap: 10px; } }

/* ── HOW IT WORKS ────────────────────────── */
.hp-how { background: #fff; }
.hp-how__grid {
  display: flex; align-items: flex-start; gap: 0;
  justify-content: space-between;
}
.hp-how__step {
  flex: 1; text-align: center; padding: 0 20px;
}
.hp-how__num {
  font-family: var(--font-display); font-size: 3rem; font-weight: 800;
  color: var(--gold-border); line-height: 1; margin-bottom: 8px;
}
.hp-how__icon { font-size: 2rem; margin-bottom: 12px; }
.hp-how__step h4 { color: var(--gray-900); margin-bottom: 8px; font-size: 1rem; }
.hp-how__step p  { font-size: 0.855rem; color: var(--gray-500); line-height: 1.7; }
.hp-how__arrow {
  flex-shrink: 0; font-size: 1.6rem; color: var(--gold-border);
  padding: 0 4px; margin-top: 60px;
}
.hp-how__cta { text-align: center; margin-top: 48px; }

@media (max-width: 800px) {
  .hp-how__grid { flex-direction: column; gap: 32px; align-items: center; }
  .hp-how__arrow { display: none; }
  .hp-how__step { max-width: 320px; }
}

/* ── PLANS GRID ──────────────────────────── */
.hp-plans { }
.hp-plans__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.hp-plan-card {
  display: flex; flex-direction: column;
  background: #fff; border: 1px solid var(--gray-200);
  border-radius: 16px; overflow: hidden;
  text-decoration: none !important; transition: var(--transition);
  box-shadow: 0 2px 10px rgba(60,50,30,.05);
  position: relative;
}
.hp-plan-card:hover { box-shadow: 0 10px 36px rgba(60,50,30,.12); transform: translateY(-5px); border-color: var(--gold-border); }
.hp-plan-card--featured { border-color: var(--gold-border); box-shadow: 0 4px 20px rgba(184,134,11,.12); }
.hp-plan-card__featured-tag {
  position: absolute; top: 12px; right: 12px;
  background: var(--gold); color: #fff;
  font-size: 0.68rem; font-weight: 700; padding: 3px 9px;
  border-radius: 100px; text-transform: uppercase; letter-spacing: .06em;
}
.hp-plan-card__top {
  padding: 28px 24px 20px;
  display: flex; align-items: center; gap: 14px;
}
.hp-plan-card__emoji { font-size: 1.8rem; }
.hp-plan-badge {
  font-size: 0.72rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .07em; padding: 3px 10px; border-radius: 100px;
  background: rgba(184,134,11,.15); color: var(--gold);
}
.hp-plan-badge--green  { background: rgba(22,163,74,.12);  color: #15803d; }
.hp-plan-badge--orange { background: rgba(234,88,12,.12);  color: #c2410c; }
.hp-plan-badge--blue   { background: rgba(2,132,199,.12);  color: #0369a1; }
.hp-plan-badge--purple { background: rgba(124,58,237,.12); color: #6d28d9; }
.hp-plan-card__body { padding: 18px 24px; flex: 1; }
.hp-plan-card__body h3 { font-family: var(--font-body); font-weight: 700; font-size: 1.05rem; color: var(--gray-900); margin-bottom: 14px; }
.hp-plan-card__body ul { display: flex; flex-direction: column; gap: 8px; }
.hp-plan-card__body ul li {
  font-size: 0.845rem; color: var(--gray-500); padding-left: 18px; position: relative; line-height: 1.5;
}
.hp-plan-card__body ul li::before { content:'✓'; position:absolute; left:0; color:var(--gold); font-weight:700; }
.hp-plan-card__footer {
  padding: 14px 24px; background: var(--gray-50);
  border-top: 1px solid var(--gray-100);
  font-size: 0.875rem; font-weight: 600; color: var(--gold);
  display: flex; align-items: center; justify-content: space-between;
  transition: var(--transition);
}
.hp-plan-card:hover .hp-plan-card__footer { background: var(--gold-pale); }

.hp-plans__more { text-align: center; margin-top: 40px; padding-top: 32px; border-top: 1px solid var(--gray-200); }
.hp-plans__more p { color: var(--gray-500); font-size: 0.875rem; }
.hp-plans__more a:not(.hp-btn) { color: var(--gold); text-decoration: underline; }

@media (max-width: 960px) { .hp-plans__grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 580px)  { .hp-plans__grid { grid-template-columns: 1fr; } }

/* ── WHY CHARTEREDTEAM ───────────────────── */
.hp-why { background: #fff; }
.hp-why__grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 72px; align-items: start; }
.hp-why__intro { color: var(--gray-600); font-size: 1rem; line-height: 1.8; margin-bottom: 30px; }
.hp-why__list { display: flex; flex-direction: column; gap: 18px; }
.hp-why__item {
  display: flex; gap: 14px; padding: 18px;
  border: 1px solid var(--gray-200); border-radius: 12px;
  transition: var(--transition);
}
.hp-why__item:hover { border-color: var(--gold-border); background: var(--gold-pale); box-shadow: 0 3px 16px rgba(184,134,11,.07); }
.hp-why__item-icon {
  width: 42px; height: 42px; background: var(--gold-pale);
  border-radius: 10px; display: flex; align-items: center; justify-content: center;
  font-size: 1.2rem; flex-shrink: 0; border: 1px solid var(--gold-border);
}
.hp-why__item h4 { font-size: 0.92rem; color: var(--gray-900); margin-bottom: 3px; }
.hp-why__item p  { font-size: 0.83rem; color: var(--gray-500); line-height: 1.65; }

/* Quote card */
.hp-quote-card {
  background: linear-gradient(155deg, var(--gold-pale) 0%, #fffef9 100%);
  border: 1px solid var(--gold-border); border-radius: 20px; padding: 36px;
  position: relative; overflow: hidden;
}
.hp-quote-mark {
  font-family: var(--font-display); font-size: 7rem; color: rgba(184,134,11,.12);
  line-height: 1; position: absolute; top: -10px; left: 20px; pointer-events: none;
}
blockquote { font-family: var(--font-display); font-size: 1.45rem; color: var(--gray-900); line-height: 1.4; position: relative; margin-bottom: 12px; }
cite { font-style: normal; font-size: 0.82rem; color: var(--gray-400); font-weight: 600; }
.hp-quote-divider { height: 1px; background: var(--gold-border); margin: 24px 0; }
.hp-quote-stats { display: flex; gap: 0; justify-content: space-around; text-align: center; }
.hp-qstat span { display: block; font-family: var(--font-display); font-size: 1.4rem; font-weight: 700; color: var(--gold); }
.hp-qstat small { font-size: 0.72rem; color: var(--gray-400); text-transform: uppercase; letter-spacing: .05em; }

/* Team chips */
.hp-team-chips { margin-top: 20px; display: flex; flex-direction: column; gap: 10px; }
.hp-team-chip {
  display: flex; align-items: center; gap: 12px; padding: 12px 16px;
  background: #fff; border: 1px solid var(--gray-200);
  border-radius: 10px; transition: var(--transition);
}
.hp-team-chip:hover { border-color: var(--gold-border); box-shadow: 0 2px 12px rgba(184,134,11,.08); }
.hp-team-chip__av {
  width: 38px; height: 38px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-weight: 700; font-size: 0.85rem; flex-shrink: 0;
}
.hp-team-chip strong { display: block; font-size: 0.875rem; color: var(--gray-900); font-weight: 600; }
.hp-team-chip small  { font-size: 0.75rem; color: var(--gray-400); }

@media (max-width: 960px) { .hp-why__grid { grid-template-columns: 1fr; gap: 48px; } }

/* ── TESTIMONIALS ────────────────────────── */
.hp-testimonials { background: var(--gray-50); }
.hp-testi__grid {
  display: grid; grid-template-columns: repeat(3,1fr); gap: 20px;
}
.hp-testi-card {
  background: #fff; border: 1px solid var(--gray-200);
  border-radius: 14px; padding: 26px;
  box-shadow: 0 2px 10px rgba(60,50,30,.05);
  transition: var(--transition); display: flex; flex-direction: column;
}
.hp-testi-card:hover { box-shadow: 0 8px 32px rgba(60,50,30,.10); transform: translateY(-3px); border-color: var(--gold-border); }
.hp-testi-stars { color: var(--gold-bright); letter-spacing: 2px; font-size: 0.85rem; margin-bottom: 14px; }
.hp-testi-card > p {
  color: var(--gray-700); font-size: 0.9rem; line-height: 1.75;
  font-style: italic; flex: 1; margin-bottom: 20px;
}
.hp-testi-author { display: flex; align-items: center; gap: 10px; }
.hp-testi-av {
  width: 38px; height: 38px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-weight: 700; font-size: 0.9rem; flex-shrink: 0;
}
.hp-testi-author strong { display: block; font-size: 0.855rem; color: var(--gray-900); font-weight: 600; }
.hp-testi-author small  { font-size: 0.75rem; color: var(--gray-400); }
.hp-testi__more { text-align: center; margin-top: 40px; }

@media (max-width: 900px) { .hp-testi__grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 560px)  { .hp-testi__grid { grid-template-columns: 1fr; } }

/* ── WHO SHOULD JOIN ─────────────────────── */
.hp-audience__grid { display: grid; grid-template-columns: 1fr 1.4fr; gap: 64px; align-items: center; }
.hp-audience__left h2 { margin-bottom: 12px; }
.hp-audience__left p  { color: var(--gray-500); font-size: 1rem; line-height: 1.8; }
.hp-audience__card { background: #fff; border: 1px solid var(--gray-200); border-radius: 16px; overflow: hidden; }
.hp-audience__item {
  display: flex; gap: 16px; padding: 20px 22px;
  border-bottom: 1px solid var(--gray-100);
  transition: var(--transition);
}
.hp-audience__item:last-child { border-bottom: none; }
.hp-audience__item:hover { background: var(--gold-pale); }
.hp-audience__item > span { font-size: 1.5rem; flex-shrink: 0; margin-top: 2px; }
.hp-audience__item h4 { font-size: 0.9rem; color: var(--gray-900); margin-bottom: 4px; }
.hp-audience__item p  { font-size: 0.83rem; color: var(--gray-500); line-height: 1.65; }

@media (max-width: 900px) { .hp-audience__grid { grid-template-columns: 1fr; gap: 40px; } }

/* ── BLOG ────────────────────────────────── */
.hp-blog { background: #fff; }
.hp-blog__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.hp-blog-card {
  background: #fff; border: 1px solid var(--gray-200);
  border-radius: 14px; overflow: hidden;
  transition: var(--transition); box-shadow: 0 2px 8px rgba(60,50,30,.05);
}
.hp-blog-card:hover { box-shadow: 0 8px 32px rgba(60,50,30,.10); transform: translateY(-4px); border-color: var(--gold-border); }
.hp-blog-card__img-wrap { display: block; overflow: hidden; height: 200px; }
.hp-blog-card__img { width:100%; height:100%; object-fit:cover; transition: transform .4s ease; }
.hp-blog-card:hover .hp-blog-card__img { transform: scale(1.04); }
.hp-blog-card__img--placeholder { background: var(--gold-pale); display:flex; align-items:center; justify-content:center; font-size:3rem; }
.hp-blog-card__body { padding: 22px; }
.hp-blog-card__cat {
  display: inline-block; background: var(--gold-pale); color: var(--gold);
  font-size: 0.7rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .07em; padding: 3px 10px; border-radius: 100px;
  border: 1px solid var(--gold-border); margin-bottom: 12px;
}
.hp-blog-card__body h3 { font-family: var(--font-body); font-size: 0.97rem; font-weight: 700; color: var(--gray-900); margin-bottom: 9px; line-height: 1.45; }
.hp-blog-card__body h3 a { color: var(--gray-900); }
.hp-blog-card__body h3 a:hover { color: var(--gold); }
.hp-blog-card__body p  { font-size: 0.845rem; color: var(--gray-500); line-height: 1.7; }
.hp-blog-card__meta {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: 16px; padding-top: 14px;
  border-top: 1px solid var(--gray-100);
  font-size: 0.76rem; color: var(--gray-300);
}
.hp-blog-card__meta a { color: var(--gold); font-weight: 600; }

@media (max-width: 900px) { .hp-blog__grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 560px)  { .hp-blog__grid { grid-template-columns: 1fr; } }

/* ── CTA BAND ────────────────────────────── */
.hp-cta-band {
  background: linear-gradient(135deg, var(--gold-pale) 0%, #fff8e0 50%, var(--gold-pale) 100%);
  border-top: 1px solid var(--gold-border);
  border-bottom: 1px solid var(--gold-border);
  padding: 64px 0;
}
.hp-cta-band__inner {
  display: flex; align-items: center; justify-content: space-between;
  gap: 32px; flex-wrap: wrap;
}
.hp-cta-band__text h2 { color: var(--gray-900); margin-bottom: 8px; }
.hp-cta-band__text p  { color: var(--gray-500); font-size: 1rem; }
.hp-cta-band__btns { display: flex; gap: 14px; flex-wrap: wrap; }

@media (max-width: 760px) {
  .hp-cta-band__inner { flex-direction: column; text-align: center; }
  .hp-cta-band__btns { justify-content: center; }
}

/* ── Fade-in on scroll (simple CSS) ─────── */
.hp-hero__copy > * { animation: hpFadeUp .6s ease both; }
.hp-hero__copy > *:nth-child(1) { animation-delay: .05s; }
.hp-hero__copy > *:nth-child(2) { animation-delay: .12s; }
.hp-hero__copy > *:nth-child(3) { animation-delay: .19s; }
.hp-hero__copy > *:nth-child(4) { animation-delay: .26s; }
.hp-hero__copy > *:nth-child(5) { animation-delay: .33s; }
.hp-hero__card-wrap { animation: hpFadeUp .7s .2s ease both; }

@keyframes hpFadeUp {
  from { opacity: 0; transform: translateY(22px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Remove sticky mobile CTA — not used in v6+ */
.sticky-mobile-cta { display: none !important; }

/* ── Logo in header — size constraint ── */
.site-logo img { height: 44px; width: auto; max-width: 220px; object-fit: contain; }
.footer-brand .site-logo img,
.footer-logo img {
  height: 42px;
  width: auto;
  filter: none;
  opacity: 1;
  display: block;
  background: #ffffff;
  padding: 6px 12px;
  border-radius: 8px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}

/* ── Single product Buy Now button — full width prominent ── */
.woocommerce div.product form.cart .single_add_to_cart_button {
  flex: 1; min-width: 200px;
  background: var(--gold) !important;
  font-size: 1rem !important;
  padding: 16px 28px !important;
  border-radius: 10px !important;
  letter-spacing: .01em;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover {
  background: var(--gold-bright) !important;
}

/* ════════════════════════════════════════════════════
   GOOGLE REVIEWS SECTION
════════════════════════════════════════════════════ */

.hp-reviews { background: var(--gray-50); }

/* ── Star shape ── */
.hp-gr-star {
  display: inline-block; width: 16px; height: 16px;
  clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
}
.hp-gr-star--full { background: #FBBC05; }
.hp-gr-star--half { background: linear-gradient(90deg, #FBBC05 50%, #e0e0e0 50%); }
.hp-gr-star--empty { background: #e0e0e0; }

/* ── Google badge ── */
.hp-reviews__header {
  display: flex; align-items: flex-start;
  justify-content: space-between; gap: 40px;
  flex-wrap: wrap; margin-bottom: 48px;
  padding: 32px; background: #fff;
  border: 1px solid var(--gray-200); border-radius: 18px;
  box-shadow: var(--shadow-sm);
}
.hp-google-badge {
  display: flex; align-items: center; gap: 20px;
  flex-wrap: wrap;
  padding-right: 40px;
  border-right: 1px solid var(--gray-200);
}
.hp-google-badge__logo { width: 52px; height: 52px; flex-shrink: 0; }
.hp-google-badge__label {
  font-size: 0.72rem; text-transform: uppercase; letter-spacing: .08em;
  color: var(--gray-400); font-weight: 700; display: block; margin-bottom: 5px;
}
.hp-google-badge__stars { display: flex; gap: 2px; margin-bottom: 5px; }
.hp-google-badge__stars .hp-gr-star { width: 20px; height: 20px; }
.hp-google-badge__count { font-size: 0.78rem; color: var(--gray-500); display: block; }
.hp-google-badge__cta {
  display: inline-flex; align-items: center;
  padding: 9px 18px; background: #4285F4; color: #fff !important;
  border-radius: 8px; font-size: 0.82rem; font-weight: 600;
  transition: var(--transition); white-space: nowrap;
  text-decoration: none !important;
}
.hp-google-badge__cta:hover { background: #3367d6; transform: translateY(-1px); }

@media (max-width: 800px) {
  .hp-reviews__header { flex-direction: column; }
  .hp-google-badge { border-right: none; border-bottom: 1px solid var(--gray-200); padding-right: 0; padding-bottom: 24px; }
}

/* ── Review cards grid ── */
.hp-reviews__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.hp-review-card {
  background: #fff; border: 1px solid var(--gray-200);
  border-radius: 14px; padding: 22px;
  box-shadow: 0 2px 8px rgba(60,50,30,.05);
  transition: var(--transition);
  display: flex; flex-direction: column; gap: 10px;
}
.hp-review-card:hover {
  box-shadow: 0 8px 28px rgba(60,50,30,.10);
  transform: translateY(-3px); border-color: #4285F433;
}

.hp-review-card__top {
  display: flex; align-items: center; gap: 10px;
}
.hp-review-av {
  width: 40px; height: 40px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-weight: 700; font-size: 1rem; flex-shrink: 0;
}
.hp-review-meta { flex: 1; }
.hp-review-meta strong { display: block; font-size: 0.875rem; color: var(--gray-900); font-weight: 600; line-height: 1.2; }
.hp-review-meta span  { font-size: 0.72rem; color: var(--gray-400); }
.hp-review-card__gicon { width: 18px; height: 18px; flex-shrink: 0; opacity: .7; }

.hp-review-stars { display: flex; gap: 2px; }

.hp-review-text {
  font-size: 0.855rem; color: var(--gray-600);
  line-height: 1.7; flex: 1;
  display: -webkit-box; -webkit-line-clamp: 4;
  -webkit-box-orient: vertical; overflow: hidden;
}

/* ── Bottom CTA row ── */
.hp-reviews__footer {
  display: flex; align-items: center; justify-content: center;
  gap: 16px; margin-top: 36px; flex-wrap: wrap;
}
.hp-reviews__google-btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 12px 24px; background: #fff;
  border: 2px solid #4285F4; border-radius: 9px;
  color: #4285F4 !important; font-weight: 700; font-size: 0.9rem;
  transition: var(--transition); text-decoration: none !important;
}
.hp-reviews__google-btn:hover { background: #4285F4; color: #fff !important; }
.hp-reviews__google-btn:hover svg path { fill: #fff !important; }

/* Responsive */
@media (max-width: 1100px) { .hp-reviews__grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 760px)  { .hp-reviews__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px)  { .hp-reviews__grid { grid-template-columns: 1fr; } }


/* ════════════════════════════════════════════════════
   SINGLE PRODUCT — COMPLETE REBUILD  v8
   All classes prefixed ct- to avoid ANY WC conflicts
════════════════════════════════════════════════════ */

/* Kill ALL WooCommerce default layout on single product */
.ct-product-page .woocommerce,
.ct-product-page .woocommerce *,
.single-product .woocommerce div.product,
.single-product .woocommerce div.product div.images,
.single-product .woocommerce div.product div.summary {
  float: none !important;
  width: auto !important;
  clear: none !important;
}

/* Page wrapper */
.ct-product-page {
  background: #fafaf8;
  min-height: 70vh;
  padding: 32px 0 80px;
  position: relative;
  z-index: 1;
  clear: both;
}

/* Breadcrumb */
.ct-breadcrumb {
  font-size: 0.8rem;
  color: var(--gray-400);
  margin-bottom: 28px;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.ct-breadcrumb a { color: var(--gray-500); }
.ct-breadcrumb a:hover { color: var(--gold); }
.ct-breadcrumb span { color: var(--gray-300); }

/* ── Product grid: 2 columns ── */
.ct-product-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 52px;
  align-items: start;
  background: #fff;
  border: 1px solid var(--gray-200);
  border-radius: 20px;
  padding: 40px;
  box-shadow: 0 4px 24px rgba(60,50,30,.07);
  margin-bottom: 40px;
}

/* Gallery */
.ct-product-gallery { position: relative; }
.ct-product-img {
  width: 100%;
  border-radius: 14px;
  display: block;
}
.ct-product-img-placeholder {
  width: 100%; aspect-ratio: 4/3;
  background: linear-gradient(135deg, var(--gold-pale), var(--slate-pale));
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-size: 1.4rem; color: var(--gray-600);
  text-align: center; padding: 24px;
}
.ct-sale-badge {
  position: absolute; top: 14px; left: 14px;
  background: var(--gold); color: #fff;
  font-size: 0.78rem; font-weight: 700;
  padding: 5px 12px; border-radius: 6px;
}

/* Summary */
.ct-product-title {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  color: var(--gray-900);
  line-height: 1.2;
  margin-bottom: 14px;
}

.ct-product-rating {
  display: flex; align-items: center; gap: 8px;
  margin-bottom: 16px; font-size: 0.85rem; color: var(--gray-400);
}
.ct-product-rating .star-rating { font-size: 1rem; }

.ct-product-price {
  font-family: var(--font-display);
  font-size: 1.9rem; color: var(--gray-900);
  margin-bottom: 20px; line-height: 1;
}
.ct-product-price .woocommerce-Price-amount { color: var(--gray-900); }
.ct-product-price ins { text-decoration: none; }
.ct-product-price del { color: var(--gray-300); font-size: 1.2rem; margin-right: 8px; }
.ct-product-price del .woocommerce-Price-amount { color: var(--gray-300); }

.ct-product-short-desc {
  border-left: 3px solid var(--gold-bright);
  padding: 14px 16px;
  background: var(--gold-pale);
  border-radius: 0 8px 8px 0;
  margin-bottom: 24px;
  font-size: 0.92rem; color: var(--gray-600); line-height: 1.8;
}
.ct-product-short-desc p { color: var(--gray-600); margin-bottom: 8px; }
.ct-product-short-desc p:last-child { margin-bottom: 0; }
.ct-product-short-desc strong { color: var(--gray-800); }

/* Add to cart form */
.ct-product-add-cart { margin-bottom: 24px; }
.ct-product-add-cart .cart { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.ct-product-add-cart .qty {
  width: 72px !important;
  padding: 13px !important;
  border: 1px solid var(--gray-200) !important;
  border-radius: 8px !important;
  font-size: 1rem !important;
  text-align: center;
  background: #fff !important;
  color: var(--gray-700) !important;
}
.ct-product-add-cart .single_add_to_cart_button,
.ct-product-add-cart button[type="submit"] {
  flex: 1 !important;
  background: var(--gold) !important;
  color: #fff !important;
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  font-size: 1.02rem !important;
  padding: 15px 28px !important;
  border-radius: 10px !important;
  border: none !important;
  cursor: pointer;
  transition: var(--transition) !important;
  box-shadow: 0 4px 18px rgba(184,134,11,.22) !important;
  text-align: center !important;
}
.ct-product-add-cart .single_add_to_cart_button:hover { background: var(--gold-bright) !important; transform: translateY(-2px) !important; }

/* WC variations dropdown */
.ct-product-add-cart .variations { width: 100%; margin-bottom: 14px; }
.ct-product-add-cart .variations td, .ct-product-add-cart .variations th { padding: 6px 0; }
.ct-product-add-cart .variations label { font-weight: 600; color: var(--gray-700); font-size: 0.875rem; }
.ct-product-add-cart .variations select {
  width: 100% !important;
  padding: 11px 14px !important;
  border: 1px solid var(--gray-200) !important;
  border-radius: 8px !important;
  font-family: var(--font-body) !important;
  font-size: 0.9rem !important;
  background: #fff !important;
  color: var(--gray-700) !important;
  margin-top: 5px;
}
.ct-product-add-cart .variations select:focus { border-color: var(--gold-bright) !important; outline: none; box-shadow: 0 0 0 3px rgba(184,134,11,.12) !important; }
.ct-product-add-cart .reset_variations { font-size: 0.78rem; color: var(--gray-400); }
.ct-product-add-cart .woocommerce-variation-price { margin: 10px 0; }
.ct-product-add-cart .woocommerce-variation-price .price { font-family: var(--font-display); font-size: 1.6rem; color: var(--gray-900); }

/* Trust badges */
.ct-product-trust {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 8px; margin-bottom: 22px;
}
.ct-trust-badge {
  display: flex; align-items: center; gap: 8px;
  padding: 10px 12px;
  background: var(--gray-50); border: 1px solid var(--gray-200);
  border-radius: 8px; font-size: 0.8rem; color: var(--gray-600);
}
.ct-trust-badge span:first-child { font-size: 1rem; flex-shrink: 0; }

/* Meta */
.ct-product-meta { font-size: 0.8rem; color: var(--gray-400); display: flex; gap: 16px; flex-wrap: wrap; padding-top: 16px; border-top: 1px solid var(--gray-100); }
.ct-product-meta strong { color: var(--gray-600); }
.ct-product-meta a { color: var(--slate-mid); }

/* ── Description tabs ── */
.ct-product-tabs {
  background: #fff;
  border: 1px solid var(--gray-200);
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 40px;
}
.ct-tab-buttons {
  display: flex; border-bottom: 1px solid var(--gray-200);
  background: var(--gray-50);
}
.ct-tab-btn {
  padding: 14px 26px;
  font-family: var(--font-body); font-weight: 600; font-size: 0.875rem;
  color: var(--gray-500); background: transparent; border: none;
  border-bottom: 2px solid transparent; cursor: pointer;
  transition: var(--transition); margin-bottom: -1px;
}
.ct-tab-btn--active, .ct-tab-btn:hover { color: var(--gold); border-bottom-color: var(--gold); background: #fff; }
.ct-tab-panel { padding: 32px 36px; }

/* ── Related products ── */
.ct-related-products { margin-top: 16px; }
.ct-related-products h2 { font-family: var(--font-display); font-size: 1.4rem; color: var(--gray-900); margin-bottom: 20px; }
.ct-related-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.ct-related-card {
  background: #fff; border: 1px solid var(--gray-200);
  border-radius: 12px; overflow: hidden;
  text-decoration: none !important; transition: var(--transition);
  display: block;
}
.ct-related-card:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); border-color: var(--gold-border); }
.ct-related-img { width: 100%; height: 140px; object-fit: cover; display: block; }
.ct-related-body { padding: 14px; }
.ct-related-body h4 { font-family: var(--font-body); font-size: 0.875rem; font-weight: 600; color: var(--gray-900); margin-bottom: 6px; line-height: 1.4; }
.ct-related-price { font-family: var(--font-display); font-size: 1rem; color: var(--gold); font-weight: 700; }
.ct-related-price .woocommerce-Price-amount { color: var(--gold); }

/* ── Shop page ── */
.ct-shop-hero {
  background: linear-gradient(160deg, #fffef9 0%, var(--gold-pale) 100%);
  padding: 48px 0 36px;
  border-bottom: 1px solid var(--gold-border);
}
.ct-shop-hero h1 { color: var(--gray-900); font-size: clamp(1.6rem,4vw,2.2rem); margin-bottom: 8px; }
.ct-shop-hero p  { color: var(--gray-500); }
.ct-shop-wrap { background: #fafaf8; padding: 48px 0 80px; }

/* ── WC notices on product pages ── */
.ct-product-page .woocommerce-message,
.ct-product-page .woocommerce-info,
.ct-product-page .woocommerce-error {
  border-radius: 10px; margin-bottom: 20px; font-size: 0.9rem;
}

/* ── Responsive ── */
@media (max-width: 860px) {
  .ct-product-grid { grid-template-columns: 1fr; gap: 28px; padding: 24px; }
  .ct-related-grid { grid-template-columns: repeat(2,1fr); }
  .ct-product-trust { grid-template-columns: 1fr; }
  .ct-tab-panel { padding: 24px 20px; }
}
@media (max-width: 480px) {
  .ct-related-grid { grid-template-columns: 1fr; }
  .ct-product-grid { padding: 18px; }
  .ct-product-price { font-size: 1.6rem; }
}

/* ════════════════════════════════════════════════════
   FOOTER — ensure it is NEVER overlapped
════════════════════════════════════════════════════ */
.site-footer {
  position: relative !important;
  z-index: 10 !important;
  clear: both !important;
  float: none !important;
  display: block !important;
  overflow: visible !important;
}

/* Fix WC outputting its own wrapping divs inside our template */
.ct-product-page .woocommerce-notices-wrapper { margin-bottom: 16px; }

/* Ensure body has no overflow:hidden that traps footer */
body.single-product { overflow-x: hidden; overflow-y: auto !important; }


/* ════════════════════════════════════════════════════
   PRODUCT DESCRIPTION + SCHEDULE TABLE  v11
════════════════════════════════════════════════════ */

.ct-product-description {
  font-size: 1rem;
  line-height: 1.85;
  color: var(--gray-700);
}

/* All text elements */
.ct-product-description p       { color: var(--gray-600); margin-bottom: 14px; line-height: 1.85; }
.ct-product-description h1,
.ct-product-description h2      { font-family: var(--font-display); color: var(--gray-900); margin: 28px 0 12px; }
.ct-product-description h2      { font-size: 1.35rem; padding-bottom: 8px; border-bottom: 2px solid var(--gold-pale); }
.ct-product-description h3,
.ct-product-description h4      { color: var(--gray-900); font-weight: 700; margin: 20px 0 8px; font-size: 1.05rem; }
.ct-product-description strong  { color: var(--gray-800); font-weight: 700; }
.ct-product-description a       { color: var(--slate); text-decoration: underline; }
.ct-product-description a:hover { color: var(--gold); }
.ct-product-description ul,
.ct-product-description ol      { margin: 10px 0 14px 22px; color: var(--gray-600); }
.ct-product-description li      { margin-bottom: 6px; line-height: 1.75; }
.ct-product-description ul li   { list-style: disc; }
.ct-product-description ol li   { list-style: decimal; }

/* ── Schedule / data table — the core feature ── */
.ct-product-description table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 24px 0 !important;
  font-size: 0.875rem !important;
  border: 1px solid var(--gray-200) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 12px rgba(60,50,30,.06) !important;
}

/* Header row */
.ct-product-description table thead tr th,
.ct-product-description table tr:first-child td,
.ct-product-description table tr:first-child th {
  background: var(--gold) !important;
  color: #fff !important;
  font-weight: 700 !important;
  padding: 13px 16px !important;
  text-align: left !important;
  font-size: 0.83rem !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
  border: none !important;
}

/* All body cells */
.ct-product-description table td {
  padding: 11px 16px !important;
  border-bottom: 1px solid var(--gray-100) !important;
  border-right: 1px solid var(--gray-100) !important;
  color: var(--gray-700) !important;
  vertical-align: top !important;
  line-height: 1.6 !important;
}
.ct-product-description table td:last-child {
  border-right: none !important;
}

/* Alternating rows */
.ct-product-description table tbody tr:nth-child(even) td {
  background: #fafaf8 !important;
}
.ct-product-description table tbody tr:hover td {
  background: var(--gold-pale) !important;
}

/* Preserve WordPress editor coloured cells (background-color inline styles) */
.ct-product-description table td[style*="background"],
.ct-product-description table th[style*="background"] {
  /* Keep author's background colors but ensure text is readable */
  color: var(--gray-800) !important;
  font-weight: 500 !important;
}

/* Date column — first column usually has the date */
.ct-product-description table td:first-child {
  font-weight: 600 !important;
  color: var(--gold) !important;
  white-space: nowrap !important;
  min-width: 90px !important;
}

/* Test number column */
.ct-product-description table td:nth-child(2) {
  font-weight: 600 !important;
  color: var(--slate) !important;
  white-space: nowrap !important;
}

/* Chapters column — allow wrap */
.ct-product-description table td:nth-child(3) {
  line-height: 1.7 !important;
}

/* Mobile: horizontal scroll for schedule table */
@media (max-width: 700px) {
  .ct-product-description table {
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    white-space: nowrap !important;
  }
  .ct-product-description table td:nth-child(3) {
    white-space: normal !important;
    min-width: 200px !important;
  }
}

/* Headings inside description that label the schedule */
.ct-product-description p strong,
.ct-product-description > strong {
  display: inline-block;
  color: var(--gold);
}

/* Fix: iframe embeds (if any) */
.ct-product-description iframe {
  max-width: 100%;
  border-radius: 8px;
}


/* ════════════════════════════════════════════════════
   CODE SNIPPETS "BUY NOW" BUTTON — Override black style
   The snippet outputs: button[name="buy_now"] with inline
   background:#000;color:#fff — we override it to match theme
════════════════════════════════════════════════════ */

button[name="buy_now"],
button.buy-now,
input[name="buy_now"] {
  background: var(--slate) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 14px 26px !important;
  font-family: var(--font-body) !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: var(--transition) !important;
  margin-top: 10px !important;
  width: 100% !important;
  display: block !important;
  text-align: center !important;
  letter-spacing: .01em !important;
}
button[name="buy_now"]:hover {
  background: var(--slate-mid) !important;
  transform: translateY(-1px) !important;
}

/* On product page — style both buttons as a pair */
.ct-product-add-cart button[name="buy_now"] {
  background: var(--slate) !important;
  box-shadow: 0 3px 14px rgba(59,79,107,.20) !important;
}

/* Also hide WC's default "Add to Cart" if snippet Buy Now is present */
.ct-product-add-cart .single_add_to_cart_button {
  background: var(--gold) !important;
}

