/* ═══════════════════════════════════════════════════════════════
   LANDING TEMPLATES — Production-Quality Visual Differentiation
   16 Templates with unique fonts, layouts, and color identities
   ═══════════════════════════════════════════════════════════════ */

/* ── CSS VARIABLE BRIDGES ──────────────────────────────────────
   Override --lp-* vars so landing-pro.css sections (.lp-hero,
   .lp-section, .lp-card etc.) render in the template's colors.
   ────────────────────────────────────────────────────────────── */

/* Dark: near-black precision */
body.template-dark-precision {
  --lp-bg: #08090a; --lp-bg-alt: #0f1011; --lp-bg-alt-light: #14181c;
  --lp-card: #0f1011; --lp-border: rgba(255,255,255,0.08);
  --lp-heading: #e8edf3; --lp-text: #d0d6e0; --lp-text-light: #7a8a9a;
}
/* Dark: pure black electric */
body.template-dark-electric {
  --lp-bg: #000000; --lp-bg-alt: #0a0a0a; --lp-bg-alt-light: #111111;
  --lp-card: #0a0a0a; --lp-border: rgba(255,255,255,0.1);
  --lp-heading: #ffffff; --lp-text: #a6a6a6; --lp-text-light: #666666;
}
/* Dark: charcoal energy */
body.template-dark-energy {
  --lp-bg: #121212; --lp-bg-alt: #1a1a1a; --lp-bg-alt-light: #1e1e1e;
  --lp-card: #1a1a1a; --lp-border: rgba(255,255,255,0.1);
  --lp-heading: #ffffff; --lp-text: #b3b3b3; --lp-text-light: #666666;
}
/* Dark: dark with emerald accent */
body.template-dark-emerald {
  --lp-bg: #171717; --lp-bg-alt: #1f1f1f; --lp-bg-alt-light: #242424;
  --lp-card: #1f1f1f; --lp-border: rgba(255,255,255,0.1);
  --lp-heading: #ffffff; --lp-text: #b4b4b4; --lp-text-light: #666666;
}
/* Dark: fintech near-black */
body.template-fintech-dark {
  --lp-bg: #191C1F; --lp-bg-alt: #1e2124; --lp-bg-alt-light: #252a2e;
  --lp-card: #1e2124; --lp-border: #333333;
  --lp-heading: #ffffff; --lp-text: #c9c9cd; --lp-text-light: #8d969e;
}
/* Light: clean mono-precision */
body.template-mono-precision {
  --lp-bg: #ffffff; --lp-bg-alt: #f5f5f5; --lp-bg-alt-light: #ebebeb;
  --lp-card: #ffffff; --lp-border: #d4d4d4;
  --lp-heading: #111111; --lp-text: #333333; --lp-text-light: #737373;
}
/* Light: clean professional */
body.template-clean-professional {
  --lp-bg: #f8fafc; --lp-bg-alt: #f1f5f9; --lp-bg-alt-light: #e2e8f0;
  --lp-card: #ffffff; --lp-border: rgba(0,0,0,0.08);
  --lp-heading: #0f172a; --lp-text: #374151; --lp-text-light: #64748b;
}
/* Light: booking pro */
body.template-booking-pro {
  --lp-bg: #ffffff; --lp-bg-alt: #f9f9f9; --lp-bg-alt-light: #f3f3f3;
  --lp-card: #ffffff; --lp-border: rgba(34,42,53,0.08);
  --lp-heading: #242424; --lp-text: #555555; --lp-text-light: #888888;
}
/* Light: minimal zen */
body.template-minimal-zen {
  --lp-bg: #ffffff; --lp-bg-alt: #fafafa; --lp-bg-alt-light: #f5f5f5;
  --lp-card: #ffffff; --lp-border: rgba(0,0,0,0.08);
  --lp-heading: #2a2a2a; --lp-text: #4a4a4a; --lp-text-light: #8a8a8a;
}
/* Light: luxury white */
body.template-luxury-white {
  --lp-bg: #fefefe; --lp-bg-alt: #faf9f7; --lp-bg-alt-light: #f5f2ee;
  --lp-card: #ffffff; --lp-border: rgba(0,0,0,0.06);
  --lp-heading: #1a1a1a; --lp-text: #4a4a4a; --lp-text-light: #888888;
}
/* Warm: gallery earth tones */
body.template-warm-gallery {
  --lp-bg: #fdf7f0; --lp-bg-alt: #f5ebe0; --lp-bg-alt-light: #faebd7;
  --lp-card: #fffbf5; --lp-border: rgba(139,69,19,0.15);
  --lp-heading: #1c0a00; --lp-text: #3d2b1f; --lp-text-light: #7a5c4a;
}
/* Warm: minimal warm */
body.template-warm-minimal {
  --lp-bg: #faf6f1; --lp-bg-alt: #f2ebe2; --lp-bg-alt-light: #ece4d9;
  --lp-card: #fdf9f5; --lp-border: rgba(139,90,43,0.15);
  --lp-heading: #2c1a0e; --lp-text: #4a3728; --lp-text-light: #7a6a5a;
}
/* Cool: premium stripe */
body.template-premium-stripe {
  --lp-bg: #ffffff; --lp-bg-alt: #f8f7ff; --lp-bg-alt-light: #f0eeff;
  --lp-card: #ffffff; --lp-border: #e5edf5;
  --lp-heading: #061b31; --lp-text: #475569; --lp-text-light: #94a3b8;
}
/* Dynamic: split layout */
body.template-dynamic-split {
  --lp-bg: #f8fafc; --lp-bg-alt: #f1f5f9; --lp-bg-alt-light: #e2e8f0;
  --lp-card: #ffffff; --lp-border: rgba(0,0,0,0.1);
  --lp-heading: #0f172a; --lp-text: #334155; --lp-text-light: #64748b;
}
/* Playful: vibrant colors */
body.template-playful-vibrant {
  --lp-bg: #fff8f0; --lp-bg-alt: #fff0e0; --lp-bg-alt-light: #ffe8d0;
  --lp-card: #ffffff; --lp-border: rgba(0,0,0,0.1);
  --lp-heading: #1a0a00; --lp-text: #3d2010; --lp-text-light: #7a5030;
}
/* Bold: high-energy */
body.template-bold-energetic {
  --lp-bg: #0a0a0a; --lp-bg-alt: #111111; --lp-bg-alt-light: #181818;
  --lp-card: #111111; --lp-border: rgba(255,255,255,0.1);
  --lp-heading: #ffffff; --lp-text: #cccccc; --lp-text-light: #888888;
}

/* ── Google Fonts — loaded per-template ── */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Roboto+Condensed:ital,wght@0,400;0,700;1,400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@200;300;400;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400;1,600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&display=swap');

/* ──────────────────────────────
   TEMPLATE: Modern Studio (DEFAULT)
   Dark, premium, glassmorphism
   No overrides needed — sintra-theme.css provides this
   ────────────────────────────── */

/* ──────────────────────────────────────────────────────────────
   TEMPLATE: Clean Professional
   Light, minimal, trust-focused — think medical spa / boutique studio
   ────────────────────────────────────────────────────────────── */

/* Base — Override ALL dark-theme CSS variables for light mode */
body.template-clean-professional {
  /* Palette bridge: let --lp-primary (from palette selector) flow through as --tenant-primary */
  --tenant-primary: var(--lp-primary);
  --tenant-primary-rgb: var(--lp-primary-rgb);
  --tenant-primary-light: var(--lp-primary-light);
  background: #f8fafc !important;
  color: #1e293b !important;
}
html:has(body.template-clean-professional),
html:has(body.template-clean-professional) body,
body.template-clean-professional {
  --nb-bg: #f8fafc !important;
  --nb-card: #ffffff !important;
  --nb-fg: #1e293b !important;
  --nb-border: rgba(0, 0, 0, 0.08) !important;
  --nb-muted: #64748b !important;
  --glass-bg: rgba(255, 255, 255, 0.85) !important;
  --glass-border: rgba(0, 0, 0, 0.06) !important;
  --glass-shadow: 0 4px 24px rgba(0, 0, 0, 0.06) !important;
  --nb-gold: var(--tenant-primary) !important;
  --nb-gold-soft: rgba(var(--tenant-primary-rgb, 100,100,100), 0.12) !important;
  --nb-gold-strong: var(--tenant-primary) !important;
}

/* Hero */
body.template-clean-professional .landing-hero {
  background: linear-gradient(135deg, rgba(255,255,255,0.95) 0%, rgba(248,250,252,0.97) 100%) !important;
  border-bottom: 1px solid #e2e8f0;
}
body.template-clean-professional .hero-title,
body.template-clean-professional .hero-subtitle {
  color: #0f172a !important;
}
body.template-clean-professional .hero-subtitle {
  color: #475569 !important;
}
body.template-clean-professional .landing-hero__panel {
  background: rgba(255,255,255,0.85) !important;
  border: 1px solid #e2e8f0 !important;
  backdrop-filter: blur(8px) !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.06) !important;
}
body.template-clean-professional .hero-pill {
  background: var(--tenant-primary) !important;
  color: #fff !important;
}
body.template-clean-professional .hero-pills span {
  color: #475569 !important;
  background: rgba(0,0,0,0.03) !important;
  border: 1px solid #e2e8f0 !important;
}
body.template-clean-professional .hero-stat-value {
  color: var(--tenant-primary) !important;
}
body.template-clean-professional .hero-stat-label {
  color: #374151 !important;
}
body.template-clean-professional .hero-panel-tags .hero-tag {
  background: rgba(0,0,0,0.04) !important;
  color: #475569 !important;
  border: 1px solid #e2e8f0 !important;
}

/* Glass card / gradient shell overrides */
body.template-clean-professional .glass-card,
body.template-clean-professional .gradient-shell {
  background: rgba(255,255,255,0.95) !important;
  border: 1px solid rgba(0,0,0,0.06) !important;
  backdrop-filter: none !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04) !important;
}

/* Landing cards */
body.template-clean-professional .landing-card,
body.template-clean-professional .landing-cta-card {
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  color: #334155 !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important;
  backdrop-filter: none !important;
}
body.template-clean-professional .landing-card:hover,
body.template-clean-professional .landing-cta-card:hover {
  box-shadow: 0 8px 30px rgba(0,0,0,0.08) !important;
  border-color: rgba(var(--tenant-primary-rgb, 100,100,100), 0.3) !important;
}
body.template-clean-professional .landing-card h3,
body.template-clean-professional .landing-card h4,
body.template-clean-professional .landing-card h5,
body.template-clean-professional .landing-cta-card h3 {
  color: #0f172a !important;
}
body.template-clean-professional .landing-card p,
body.template-clean-professional .landing-cta-card p {
  color: #374151 !important;
}
body.template-clean-professional .landing-card__icon {
  background: rgba(var(--tenant-primary-rgb, 100,100,100), 0.08) !important;
  border: none !important;
}
body.template-clean-professional .landing-card__icon i {
  color: var(--tenant-primary) !important;
}

/* Sections */
body.template-clean-professional section:not(.lp-cta),
body.template-clean-professional .landing-section {
  background: transparent !important;
  color: #334155 !important;
}
/* Override .main-section dark gradient background from index.css */
body.template-clean-professional .main-section {
  background:
    radial-gradient(circle at 15% 20%, rgba(var(--tenant-primary-rgb, 100,100,100), 0.06), transparent 55%),
    radial-gradient(circle at 85% 10%, rgba(59, 130, 246, 0.04), transparent 50%),
    radial-gradient(circle at 50% 90%, rgba(16, 185, 129, 0.04), transparent 55%),
    linear-gradient(180deg, #f8fafc, #f1f5f9) !important;
  color: #1e293b !important;
}
body.template-clean-professional .main-section::before {
  background: radial-gradient(circle at 20% 20%, rgba(var(--tenant-primary-rgb, 100,100,100), 0.05), transparent 45%) !important;
  opacity: 0.5 !important;
}
body.template-clean-professional .hero-section,
body.template-clean-professional .benefits-section,
body.template-clean-professional .faq-section,
body.template-clean-professional .final-cta-section {
  color: #1e293b !important;
}

/* Override the wildcard dark text rule from index.css */
body.template-clean-professional *:not(.btn):not(.btn-modern):not(.btn-modern-primary):not(.btn-modern-outline):not(.badge):not(.lp-btn):not(.lp-btn-primary):not(.lp-btn-secondary):not(.lp-btn-brand):not(.lp-nav-cta):not(.lp-btn-book):not(.lp-class-book-btn):not(.lp-btn-arrow):not(.lp-day-tab):not(.day-name):not(.day-date):not(.day-dot):not(.lp-step-num):not(.lp-service-book):not(h1):not(h2):not(h3):not(h4) {
  color: #334155 !important;
}
/* Typography */
body.template-clean-professional h2 {
  color: #0f172a !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
}
body.template-clean-professional .section-eyebrow {
  color: var(--tenant-primary) !important;
  letter-spacing: 0.12em !important;
  font-weight: 600 !important;
}
body.template-clean-professional .text-muted {
  color: #6b7280 !important;
}

/* Buttons */
body.template-clean-professional .btn-modern-primary {
  color: #fff !important;
  border-radius: 12px !important;
  font-weight: 600 !important;
}
body.template-clean-professional .btn-modern-primary:hover {
  box-shadow: 0 4px 16px rgba(var(--tenant-primary-rgb, 100,100,100), 0.3) !important;
}
body.template-clean-professional .btn-modern-outline {
  border-color: #cbd5e1 !important;
  color: #334155 !important;
  border-radius: 12px !important;
}

/* Accordion (FAQ) */
body.template-clean-professional .accordion-item {
  border-color: #e2e8f0 !important;
  background: #fff !important;
}
body.template-clean-professional .accordion-button {
  background: #fff !important;
  color: #1e293b !important;
  font-weight: 600 !important;
}
body.template-clean-professional .accordion-button:not(.collapsed) {
  color: var(--tenant-primary) !important;
  background: rgba(var(--tenant-primary-rgb, 100,100,100), 0.04) !important;
}
body.template-clean-professional .accordion-body {
  background: #fff !important;
  color: #475569 !important;
}

/* CTA Section */
body.template-clean-professional .landing-final-cta,
body.template-clean-professional .cta-box {
  background: linear-gradient(135deg, rgba(var(--tenant-primary-rgb, 100,100,100), 0.06), rgba(var(--tenant-primary-rgb, 100,100,100), 0.02)) !important;
  border: 1px solid rgba(var(--tenant-primary-rgb, 100,100,100), 0.15) !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.04) !important;
}
body.template-clean-professional .landing-final-cta h2,
body.template-clean-professional .cta-box h2 {
  color: #0f172a !important;
}
body.template-clean-professional .landing-final-cta p,
body.template-clean-professional .cta-box p {
  color: #475569 !important;
}

/* Bottom nav / mobile nav */
body.template-clean-professional .bottom-nav,
body.template-clean-professional .mobile-nav,
body.template-clean-professional .mobile-bottom-nav {
  background: rgba(255,255,255,0.95) !important;
  border-top: 1px solid #e2e8f0 !important;
  backdrop-filter: blur(12px) !important;
}
body.template-clean-professional .bottom-nav a,
body.template-clean-professional .mobile-nav a,
body.template-clean-professional .mobile-bottom-nav a {
  color: #475569 !important;
}
body.template-clean-professional .bottom-nav a:hover,
body.template-clean-professional .mobile-nav a:hover,
body.template-clean-professional .mobile-bottom-nav a:hover {
  color: var(--tenant-primary) !important;
}
body.template-clean-professional .mobile-bottom-nav a span,
body.template-clean-professional .mobile-bottom-nav a i {
  color: #475569 !important;
}

/* Testimonials */
body.template-clean-professional .testimonial-card {
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
}
body.template-clean-professional .testimonial-stars i {
  color: #f59e0b !important;
}
body.template-clean-professional .testimonial-quote {
  color: #334155 !important;
}
body.template-clean-professional .testimonial-author {
  color: #0f172a !important;
}

/* How-It-Works steps */
body.template-clean-professional .step-card {
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
}
body.template-clean-professional .step-number {
  background: var(--tenant-primary) !important;
  color: #fff !important;
  box-shadow: 0 2px 8px rgba(var(--tenant-primary-rgb, 100,100,100), 0.25) !important;
}
body.template-clean-professional .step-connector {
  border-color: #e2e8f0 !important;
}

/* Services cards */
body.template-clean-professional .service-card {
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
}
body.template-clean-professional .service-price {
  color: var(--tenant-primary) !important;
}

/* Navigation — override all nav variants */
body.template-clean-professional .landing-nav,
body.template-clean-professional nav.navbar,
body.template-clean-professional .site-header,
body.template-clean-professional .video-nav {
  background: rgba(255,255,255,0.95) !important;
  backdrop-filter: blur(12px) !important;
  border-bottom: 1px solid #e2e8f0 !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important;
}
body.template-clean-professional .landing-nav a,
body.template-clean-professional .landing-nav .brand-name,
body.template-clean-professional nav.navbar a,
body.template-clean-professional .site-header a,
body.template-clean-professional .site-header .brand-name {
  color: #1e293b !important;
}
body.template-clean-professional .landing-nav a:hover,
body.template-clean-professional nav.navbar a:hover,
body.template-clean-professional .site-header a:hover {
  color: var(--tenant-primary) !important;
}
body.template-clean-professional .site-header .btn-modern-primary,
body.template-clean-professional .site-header .btn-modern-outline {
  color: #fff !important;
}

/* Footer — use palette footer-bg for theme-aware contrast */
body.template-clean-professional footer,
body.template-clean-professional .footer-section,
body.template-clean-professional .footer {
  background: var(--lp-footer-bg, #0f172a) !important;
  color: #e2e8f0 !important;
}
body.template-clean-professional footer *,
body.template-clean-professional .footer * {
  color: #e2e8f0 !important;
}
body.template-clean-professional footer a,
body.template-clean-professional .footer a {
  color: #fff !important;
}
body.template-clean-professional .footer-modern {
  background: var(--lp-footer-bg, #0f172a) !important;
}


/* ──────────────────────────────────────────────────────────────
   TEMPLATE: Bold Energetic
   Gradients, bold typography, high energy — think CrossFit / HIIT / boxing
   ────────────────────────────────────────────────────────────── */

/* Base */
body.template-bold-energetic {
  /* Palette bridge */
  --tenant-primary: var(--lp-primary);
  --tenant-primary-rgb: var(--lp-primary-rgb);
  --tenant-primary-light: var(--lp-primary-light);
  background: linear-gradient(180deg, #0f0c29 0%, #302b63 30%, #24243e 100%) !important;
  background-attachment: fixed !important;
  color: #e2e8f0 !important;
}

/* Hero */
body.template-bold-energetic .landing-hero {
  background: linear-gradient(135deg, rgba(var(--tenant-primary-rgb, 255,215,0), 0.15), rgba(15,12,41,0.95)) !important;
  min-height: 85vh !important;
  border-bottom: 3px solid var(--tenant-primary) !important;
}
body.template-bold-energetic .hero-title {
  text-transform: uppercase !important;
  letter-spacing: 3px !important;
  font-weight: 900 !important;
  font-size: clamp(2.2rem, 5vw, 3.8rem) !important;
  line-height: 1.1 !important;
}
body.template-bold-energetic .hero-subtitle {
  font-size: 1.15rem !important;
  opacity: 0.85;
}
body.template-bold-energetic .hero-pill {
  border-radius: 8px !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  font-size: 0.75rem !important;
  letter-spacing: 1px !important;
}
body.template-bold-energetic .landing-hero__panel {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  backdrop-filter: blur(12px) !important;
}
body.template-bold-energetic .hero-stat-value {
  font-weight: 900 !important;
  letter-spacing: 1px !important;
}

/* Glass card / gradient shell overrides */
body.template-bold-energetic .glass-card,
body.template-bold-energetic .gradient-shell {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  backdrop-filter: blur(12px) !important;
}

/* Landing cards */
body.template-bold-energetic .landing-card,
body.template-bold-energetic .landing-cta-card {
  border-radius: 12px !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  background: rgba(255,255,255,0.04) !important;
  backdrop-filter: blur(8px) !important;
  position: relative;
  overflow: hidden;
}
body.template-bold-energetic .landing-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--tenant-primary), transparent);
  opacity: 0;
  transition: opacity 0.3s;
}
body.template-bold-energetic .landing-card:hover::before {
  opacity: 1;
}
body.template-bold-energetic .landing-card:hover {
  border-color: rgba(var(--tenant-primary-rgb, 255,215,0), 0.3) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.4), 0 0 20px rgba(var(--tenant-primary-rgb, 255,215,0), 0.1) !important;
}
body.template-bold-energetic .landing-card h3,
body.template-bold-energetic .landing-card h4 {
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  font-size: 1rem !important;
}
body.template-bold-energetic .landing-card__icon {
  background: linear-gradient(135deg, var(--tenant-primary), rgba(var(--tenant-primary-rgb, 255,215,0), 0.6)) !important;
  border-radius: 12px !important;
  border: none !important;
}
body.template-bold-energetic .landing-card__icon i {
  color: #0f0c29 !important;
}

/* Sections */
body.template-bold-energetic section,
body.template-bold-energetic .landing-section {
  padding: 5rem 0 !important;
}

/* Typography */
body.template-bold-energetic h2 {
  text-transform: uppercase !important;
  letter-spacing: 3px !important;
  font-weight: 900 !important;
  font-size: clamp(1.6rem, 3vw, 2.4rem) !important;
}
body.template-bold-energetic .section-eyebrow {
  letter-spacing: 0.25em !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  font-size: 0.8rem !important;
}

/* Buttons */
body.template-bold-energetic .btn-modern-primary {
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  padding: 16px 40px !important;
  font-size: 1rem !important;
  border-radius: 8px !important;
}
body.template-bold-energetic .btn-modern-primary:hover {
  box-shadow: 0 0 30px rgba(var(--tenant-primary-rgb, 255,215,0), 0.5) !important;
  transform: translateY(-2px) !important;
}
body.template-bold-energetic .btn-modern-outline {
  border-width: 2px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  border-radius: 8px !important;
}

/* Accordion (FAQ) */
body.template-bold-energetic .accordion-item {
  background: rgba(255,255,255,0.03) !important;
  border-color: rgba(255,255,255,0.08) !important;
}
body.template-bold-energetic .accordion-button {
  background: rgba(255,255,255,0.04) !important;
  color: #e2e8f0 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}
body.template-bold-energetic .accordion-button:not(.collapsed) {
  color: var(--tenant-primary) !important;
  background: rgba(var(--tenant-primary-rgb, 255,215,0), 0.06) !important;
  border-bottom: 2px solid var(--tenant-primary) !important;
}
body.template-bold-energetic .accordion-body {
  background: rgba(255,255,255,0.02) !important;
  color: #e2e8f0 !important;
}

/* CTA Section */
body.template-bold-energetic .landing-final-cta {
  background: linear-gradient(135deg, rgba(var(--tenant-primary-rgb, 255,215,0), 0.1), rgba(15,12,41,0.95)) !important;
  border: 2px solid rgba(var(--tenant-primary-rgb, 255,215,0), 0.2) !important;
}
body.template-bold-energetic .landing-final-cta h2 {
  text-transform: uppercase !important;
  letter-spacing: 3px !important;
}

/* Testimonials */
body.template-bold-energetic .testimonial-card {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 12px !important;
}
body.template-bold-energetic .testimonial-stars i {
  color: var(--tenant-primary) !important;
}
body.template-bold-energetic .testimonial-quote {
  color: #e2e8f0 !important;
}

/* How-It-Works steps */
body.template-bold-energetic .step-card {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 12px !important;
}
body.template-bold-energetic .step-number {
  background: linear-gradient(135deg, var(--tenant-primary), rgba(var(--tenant-primary-rgb, 255,215,0), 0.6)) !important;
  color: #0f0c29 !important;
  font-weight: 900 !important;
  border-radius: 12px !important;
}

/* Services cards */
body.template-bold-energetic .service-card {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 12px !important;
}
body.template-bold-energetic .service-card:hover {
  border-color: rgba(var(--tenant-primary-rgb, 255,215,0), 0.3) !important;
}
body.template-bold-energetic .service-price {
  color: var(--tenant-primary) !important;
  font-weight: 900 !important;
  letter-spacing: 1px !important;
}

/* Footer */
body.template-bold-energetic footer,
body.template-bold-energetic .footer-section,
body.template-bold-energetic .footer {
  background: #0a0820 !important;
  border-top: 3px solid var(--tenant-primary) !important;
}


/* ──────────────────────────────────────────────────────────────
   SHARED: Step connector line
   ────────────────────────────────────────────────────────────── */
.hiw-steps-container {
  position: relative;
}
.hiw-step {
  position: relative;
}
.hiw-step:not(:last-child)::after {
  content: '';
  position: absolute;
  left: 28px;
  top: 60px;
  bottom: -20px;
  width: 2px;
  border-left: 2px dashed rgba(var(--tenant-primary-rgb, 255,215,0), 0.25);
}
body.template-clean-professional .hiw-step:not(:last-child)::after {
  border-left-color: #e2e8f0;
}
body.template-bold-energetic .hiw-step:not(:last-child)::after {
  border-left-color: rgba(var(--tenant-primary-rgb, 255,215,0), 0.3);
  border-left-style: solid;
}

/* Step number badge */
.step-number {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  font-weight: 800;
  flex-shrink: 0;
  background: var(--tenant-primary);
  color: #111;
  box-shadow: 0 4px 16px rgba(var(--tenant-primary-rgb, 255,215,0), 0.3);
  position: relative;
  z-index: 2;
}

/* ──────────────────────────────────────────────────────────────
   SHARED: Testimonial card styles
   ────────────────────────────────────────────────────────────── */
.testimonial-card {
  padding: 2rem;
  border-radius: 20px;
  height: 100%;
  position: relative;
  transition: transform 0.3s, box-shadow 0.3s;
}
.testimonial-card:hover {
  transform: translateY(-4px);
}
.testimonial-stars {
  display: flex;
  gap: 2px;
  margin-bottom: 1rem;
}
.testimonial-stars i {
  color: #fbbf24;
  font-size: 0.9rem;
}
.testimonial-quote-mark {
  font-size: 3rem;
  line-height: 1;
  opacity: 0.15;
  font-family: Georgia, serif;
  position: absolute;
  top: 16px;
  right: 24px;
}
.testimonial-quote {
  font-style: italic;
  line-height: 1.7;
  margin-bottom: 1.25rem;
}
.testimonial-author {
  font-weight: 700;
  font-size: 0.95rem;
}
.testimonial-author-role {
  font-size: 0.8rem;
  opacity: 0.6;
}

/* Default dark theme styles */
.testimonial-card {
  background: var(--glass-bg, rgba(200,200,240,0.04));
  border: 1px solid var(--glass-border, rgba(200,200,240,0.08));
  backdrop-filter: blur(8px);
}

/* ──────────────────────────────────────────────────────────────
   SHARED: Service card styles
   ────────────────────────────────────────────────────────────── */
.service-card {
  border-radius: 20px;
  padding: 2rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s, box-shadow 0.3s;
  background: var(--glass-bg, rgba(200,200,240,0.04));
  border: 1px solid var(--glass-border, rgba(200,200,240,0.08));
  backdrop-filter: blur(8px);
}
.service-card:hover {
  transform: translateY(-4px);
}
.service-card__icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(var(--tenant-primary-rgb, 255,215,0), 0.12);
  margin-bottom: 1rem;
}
.service-card__icon i {
  font-size: 1.4rem;
  color: var(--tenant-primary);
}
.service-card h3 {
  font-size: 1.15rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}
.service-card p {
  font-size: 0.9rem;
  opacity: 0.75;
  flex-grow: 1;
}
.service-price {
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--tenant-primary);
  margin-bottom: 1rem;
}
.service-card .btn-modern {
  margin-top: auto;
}

/* ──────────────────────────────────────────────────────────────
   SHARED: Custom section upgrades (gallery, team, pricing)
   ────────────────────────────────────────────────────────────── */

/* Gallery */
.gallery-card {
  border-radius: 16px;
  overflow: hidden;
  position: relative;
  transition: transform 0.3s;
  background: var(--glass-bg, rgba(200,200,240,0.04));
  border: 1px solid var(--glass-border, rgba(200,200,240,0.08));
}
.gallery-card:hover {
  transform: translateY(-4px);
}
.gallery-card img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
}
.gallery-card__caption {
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  opacity: 0.8;
}

/* Team */
.team-card {
  border-radius: 20px;
  padding: 2rem 1.5rem;
  text-align: center;
  transition: transform 0.3s, box-shadow 0.3s;
  background: var(--glass-bg, rgba(200,200,240,0.04));
  border: 1px solid var(--glass-border, rgba(200,200,240,0.08));
  backdrop-filter: blur(8px);
}
.team-card:hover {
  transform: translateY(-4px);
}
.team-card__avatar {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid var(--tenant-primary);
  margin: 0 auto 1rem;
  display: block;
}
.team-card__avatar-placeholder {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem;
  background: rgba(var(--tenant-primary-rgb, 255,215,0), 0.1);
  border: 3px solid rgba(var(--tenant-primary-rgb, 255,215,0), 0.3);
}
.team-card__avatar-placeholder i {
  font-size: 2rem;
  opacity: 0.4;
}
.team-card__role {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--tenant-primary);
  font-weight: 600;
  margin-bottom: 0.5rem;
}

/* Pricing */
.pricing-card {
  border-radius: 20px;
  padding: 2.5rem 2rem;
  text-align: center;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s, box-shadow 0.3s;
  background: var(--glass-bg, rgba(200,200,240,0.04));
  border: 1px solid var(--glass-border, rgba(200,200,240,0.08));
  backdrop-filter: blur(8px);
}
.pricing-card:hover {
  transform: translateY(-4px);
}
.pricing-card--featured {
  border-color: var(--tenant-primary) !important;
  position: relative;
}
.pricing-card--featured::before {
  content: 'Popular';
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--tenant-primary);
  color: #111;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 4px 16px;
  border-radius: 20px;
}
.pricing-card__price {
  font-size: 2.5rem;
  font-weight: 800;
  color: var(--tenant-primary);
  margin: 1rem 0;
  line-height: 1;
}
.pricing-card__features {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem 0;
  text-align: left;
}
.pricing-card__features li {
  padding: 0.5rem 0;
  border-bottom: 1px solid rgba(var(--tenant-primary-rgb, 255,215,0), 0.08);
  font-size: 0.9rem;
}
.pricing-card__features li i {
  color: var(--tenant-accent, #34d399);
  margin-right: 0.5rem;
}

/* Clean pro pricing overrides */
body.template-clean-professional .pricing-card {
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
}
body.template-clean-professional .pricing-card--featured {
  border: 2px solid var(--tenant-primary) !important;
  box-shadow: 0 8px 30px rgba(var(--tenant-primary-rgb, 100,100,100), 0.12) !important;
}
body.template-clean-professional .pricing-card__features li {
  border-bottom-color: #f1f5f9;
}

body.template-clean-professional .gallery-card {
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
}
body.template-clean-professional .team-card {
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
}


/* ──────────────────────────────────────────────────────────────
   SHARED: Footer modern styles for landing page
   ────────────────────────────────────────────────────────────── */
.landing-footer {
  padding: 3rem 0 1.5rem;
  border-top: 1px solid rgba(255,255,255,0.08);
}
.landing-footer__brand h4 {
  font-weight: 700;
  margin-bottom: 0.5rem;
}
.landing-footer__brand p {
  opacity: 0.65;
  font-size: 0.9rem;
  line-height: 1.6;
}
.landing-footer__links h5 {
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 700;
  opacity: 0.5;
  margin-bottom: 1rem;
}
.landing-footer__links a {
  display: block;
  padding: 0.3rem 0;
  opacity: 0.7;
  text-decoration: none;
  color: inherit;
  font-size: 0.9rem;
  transition: opacity 0.2s;
}
.landing-footer__links a:hover {
  opacity: 1;
  color: var(--tenant-primary);
}
.landing-footer__social {
  display: flex;
  gap: 0.75rem;
  margin-top: 1rem;
}
.landing-footer__social a {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  color: inherit;
  text-decoration: none;
  transition: all 0.3s;
  font-size: 1.1rem;
}
.landing-footer__social a:hover {
  background: var(--tenant-primary);
  color: #111;
  border-color: var(--tenant-primary);
}
.landing-footer__bottom {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255,255,255,0.08);
  text-align: center;
  font-size: 0.85rem;
  opacity: 0.5;
}

/* Clean pro footer overrides */
body.template-clean-professional .landing-footer {
  border-top-color: rgba(0,0,0,0.1);
}
body.template-clean-professional .landing-footer__social a {
  background: rgba(0,0,0,0.05);
  border-color: rgba(0,0,0,0.1);
  color: #e2e8f0;
}
body.template-clean-professional .landing-footer__social a:hover {
  background: var(--tenant-primary);
  color: #fff;
}
body.template-clean-professional .landing-footer__bottom {
  border-top-color: rgba(255,255,255,0.1);
}

/* Bold energetic footer overrides */
body.template-bold-energetic .landing-footer__social a {
  border-radius: 8px;
}


/* ══════════════════════════════════════════════════════════════
   DESIGN.MD PREMIUM TEMPLATES — Editor Preview Overrides (12)
   Inspired by world-class design systems
   ══════════════════════════════════════════════════════════════ */

/* ──────────────────────────────────────────────────────────────
   TEMPLATE: Booking Pro (Cal.com)
   Monochrome elegance — grayscale with ring shadows
   ────────────────────────────────────────────────────────────── */
body.template-booking-pro {
  /* Palette bridge */
  --tenant-primary: var(--lp-primary);
  --tenant-primary-rgb: var(--lp-primary-rgb);
  --tenant-primary-light: var(--lp-primary-light);
  background: #ffffff !important;
  color: #555555 !important;
}
html:has(body.template-booking-pro),
html:has(body.template-booking-pro) body,
body.template-booking-pro {
  --nb-bg: #ffffff !important;
  --nb-card: #ffffff !important;
  --nb-fg: #242424 !important;
  --nb-border: rgba(34, 42, 53, 0.1) !important;
  --nb-muted: #898989 !important;
  --glass-bg: rgba(255, 255, 255, 0.95) !important;
  --glass-border: rgba(34, 42, 53, 0.08) !important;
  --glass-shadow: 0 4px 6px -1px rgba(34,42,53,0.08), 0 0 0 1px rgba(34,42,53,0.06) !important;
  --nb-gold: var(--tenant-primary) !important;
  --nb-gold-soft: rgba(var(--tenant-primary-rgb, 36,36,36), 0.08) !important;
}
body.template-booking-pro .landing-hero {
  background: #ffffff !important;
  border-bottom: 1px solid rgba(34,42,53,0.08);
}
body.template-booking-pro .hero-title { color: #242424 !important; font-weight: 600 !important; letter-spacing: 0 !important; }
body.template-booking-pro .hero-subtitle { color: #555555 !important; }
body.template-booking-pro .landing-hero__panel {
  background: #ffffff !important;
  border: 1px solid rgba(34,42,53,0.08) !important;
  box-shadow: 0 4px 6px -1px rgba(34,42,53,0.08), 0 0 0 1px rgba(34,42,53,0.06) !important;
}
body.template-booking-pro .glass-card,
body.template-booking-pro .gradient-shell {
  background: #ffffff !important;
  border: 1px solid rgba(34,42,53,0.08) !important;
  box-shadow: 0 1px 2px rgba(34,42,53,0.06), 0 0 0 1px rgba(34,42,53,0.08) !important;
}
body.template-booking-pro .landing-card { background: #fff !important; border: 1px solid rgba(34,42,53,0.08) !important; border-radius: 12px !important; color: #555555 !important; }
body.template-booking-pro .landing-card:hover { box-shadow: 0 12px 24px -4px rgba(34,42,53,0.12), 0 0 0 1px rgba(34,42,53,0.06) !important; }
body.template-booking-pro .landing-card h3 { color: #242424 !important; }
body.template-booking-pro .landing-card p { color: #555555 !important; }
body.template-booking-pro .landing-card__icon { background: rgba(var(--tenant-primary-rgb, 36,36,36), 0.06) !important; }
body.template-booking-pro h2 { color: #242424 !important; font-weight: 600 !important; }
body.template-booking-pro .section-eyebrow { color: var(--tenant-primary) !important; letter-spacing: 0.12em !important; font-weight: 600 !important; }
body.template-booking-pro .btn-modern-primary { color: #fff !important; border-radius: 8px !important; font-weight: 600 !important; }
body.template-booking-pro .btn-modern-outline { border-color: rgba(34,42,53,0.2) !important; color: #242424 !important; border-radius: 8px !important; }
body.template-booking-pro section:not(.lp-cta):not(.lp-hero-has-bg) { background: transparent !important; color: #555555 !important; }
body.template-booking-pro .main-section { background: #ffffff !important; color: #242424 !important; }
body.template-booking-pro .main-section::before { opacity: 0 !important; }
body.template-booking-pro *:not(.btn):not(.btn-modern):not(.btn-modern-primary):not(.btn-modern-outline):not(.badge):not(.lp-btn):not(.lp-btn-primary):not(.lp-btn-secondary):not(.lp-btn-brand):not(.lp-nav-cta):not(.lp-btn-book):not(.lp-class-book-btn):not(.lp-btn-arrow):not(.lp-day-tab):not(.day-name):not(.day-date):not(.day-dot):not(.lp-step-num):not(.lp-service-book):not(h1):not(h2):not(h3):not(h4) { color: #555555 !important; }
body.template-booking-pro .accordion-item { border-color: rgba(34,42,53,0.08) !important; background: #fff !important; }
body.template-booking-pro .accordion-button { background: #fff !important; color: #242424 !important; font-weight: 600 !important; }
body.template-booking-pro .accordion-button:not(.collapsed) { color: var(--tenant-primary) !important; }
body.template-booking-pro .accordion-body { background: #fff !important; color: #555555 !important; }
body.template-booking-pro .testimonial-card { background: #fff !important; border: 1px solid rgba(34,42,53,0.08) !important; }
body.template-booking-pro .step-number { background: var(--tenant-primary) !important; color: #fff !important; }
body.template-booking-pro .service-card { background: #fff !important; border: 1px solid rgba(34,42,53,0.08) !important; }
body.template-booking-pro .landing-nav,
body.template-booking-pro nav.navbar,
body.template-booking-pro .site-header { background: rgba(255,255,255,0.95) !important; border-bottom: 1px solid rgba(34,42,53,0.06) !important; }
body.template-booking-pro .landing-nav a,
body.template-booking-pro .site-header a,
body.template-booking-pro .site-header .brand-name { color: #242424 !important; }
body.template-booking-pro footer,
body.template-booking-pro .footer { background: var(--lp-footer-bg, #111111) !important; color: #e2e8f0 !important; }
body.template-booking-pro footer * { color: #e2e8f0 !important; }
body.template-booking-pro .pricing-card { background: #fff !important; border: 1px solid rgba(34,42,53,0.08) !important; }

/* ──────────────────────────────────────────────────────────────
   TEMPLATE: Premium Stripe
   Purple gradients, financial elegance, light-weight typography
   ────────────────────────────────────────────────────────────── */
body.template-premium-stripe {
  /* Palette bridge */
  --tenant-primary: var(--lp-primary);
  --tenant-primary-rgb: var(--lp-primary-rgb);
  --tenant-primary-light: var(--lp-primary-light);
  background: #ffffff !important;
  color: #64748d !important;
}
html:has(body.template-premium-stripe),
html:has(body.template-premium-stripe) body,
body.template-premium-stripe {
  --nb-bg: #ffffff !important;
  --nb-card: #ffffff !important;
  --nb-fg: #061b31 !important;
  --nb-border: #e5edf5 !important;
  --nb-muted: #8993a4 !important;
  --glass-bg: rgba(255, 255, 255, 0.90) !important;
  --glass-border: #e5edf5 !important;
  --glass-shadow: 0 6px 12px rgba(50,50,93,0.15), 0 3px 6px rgba(0,0,0,0.08) !important;
}
body.template-premium-stripe .landing-hero { background: linear-gradient(135deg, #ffffff 0%, #f8f7ff 100%) !important; }
body.template-premium-stripe .hero-title { color: #061b31 !important; font-weight: 300 !important; letter-spacing: -1.4px !important; }
body.template-premium-stripe .hero-subtitle { color: #64748d !important; }
body.template-premium-stripe .landing-hero__panel { background: rgba(255,255,255,0.90) !important; border: 1px solid #e5edf5 !important; box-shadow: 0 6px 12px rgba(50,50,93,0.15) !important; }
body.template-premium-stripe .glass-card,
body.template-premium-stripe .gradient-shell { background: #ffffff !important; border: 1px solid #e5edf5 !important; box-shadow: 0 2px 4px rgba(50,50,93,0.1) !important; }
body.template-premium-stripe .landing-card { background: #fff !important; border: 1px solid #e5edf5 !important; border-radius: 8px !important; }
body.template-premium-stripe .landing-card:hover { box-shadow: 0 15px 35px rgba(50,50,93,0.2), 0 5px 15px rgba(0,0,0,0.1) !important; }
body.template-premium-stripe .landing-card h3 { color: #061b31 !important; }
body.template-premium-stripe .landing-card p { color: #64748d !important; }
body.template-premium-stripe h2 { color: #061b31 !important; font-weight: 300 !important; letter-spacing: -0.5px !important; }
body.template-premium-stripe .section-eyebrow { color: #533afd !important; letter-spacing: 0.08em !important; text-transform: uppercase !important; }
body.template-premium-stripe .btn-modern-primary { background: #533afd !important; color: #fff !important; border-radius: 6px !important; font-weight: 400 !important; }
body.template-premium-stripe .btn-modern-primary:hover { box-shadow: 0 6px 12px rgba(83,58,253,0.3) !important; }
body.template-premium-stripe .btn-modern-outline { border-color: #e5edf5 !important; color: #061b31 !important; border-radius: 6px !important; }
body.template-premium-stripe section:not(.lp-cta):not(.lp-hero-has-bg) { background: transparent !important; color: #64748d !important; }
body.template-premium-stripe .main-section { background: linear-gradient(180deg, #ffffff, #f8f7ff) !important; }
body.template-premium-stripe .main-section::before { opacity: 0 !important; }
body.template-premium-stripe *:not(.btn):not(.btn-modern):not(.btn-modern-primary):not(.btn-modern-outline):not(.badge):not(.lp-btn):not(.lp-btn-primary):not(.lp-btn-secondary):not(.lp-btn-brand):not(.lp-nav-cta):not(.lp-btn-book):not(.lp-class-book-btn):not(.lp-btn-arrow):not(.lp-day-tab):not(.day-name):not(.day-date):not(.day-dot):not(.lp-step-num):not(.lp-service-book):not(h1):not(h2):not(h3):not(h4) { color: #64748d !important; }
body.template-premium-stripe .accordion-item { border-color: #e5edf5 !important; background: #fff !important; }
body.template-premium-stripe .accordion-button { background: #fff !important; color: #061b31 !important; }
body.template-premium-stripe .accordion-button:not(.collapsed) { color: #533afd !important; }
body.template-premium-stripe .testimonial-card { background: #fff !important; border: 1px solid #e5edf5 !important; }
body.template-premium-stripe .step-number { background: #533afd !important; color: #fff !important; border-radius: 6px !important; }
body.template-premium-stripe .service-card { background: #fff !important; border: 1px solid #e5edf5 !important; }
body.template-premium-stripe .landing-nav,
body.template-premium-stripe .site-header { background: rgba(255,255,255,0.95) !important; border-bottom: 1px solid #e5edf5 !important; }
body.template-premium-stripe .landing-nav a,
body.template-premium-stripe .site-header a { color: #061b31 !important; }
body.template-premium-stripe footer { background: var(--lp-footer-bg, #1c1e54) !important; color: #e2e8f0 !important; }
body.template-premium-stripe footer * { color: #e2e8f0 !important; }
body.template-premium-stripe .pricing-card { background: #fff !important; border: 1px solid #e5edf5 !important; }

/* ──────────────────────────────────────────────────────────────
   TEMPLATE: Warm Gallery (Airbnb)
   Photography-forward, warm coral tones, generous border-radius
   ────────────────────────────────────────────────────────────── */
body.template-warm-gallery {
  /* Palette bridge */
  --tenant-primary: var(--lp-primary);
  --tenant-primary-rgb: var(--lp-primary-rgb);
  --tenant-primary-light: var(--lp-primary-light);
  background: #ffffff !important;
  color: #484848 !important;
}
html:has(body.template-warm-gallery),
html:has(body.template-warm-gallery) body,
body.template-warm-gallery {
  --nb-bg: #ffffff !important;
  --nb-card: #ffffff !important;
  --nb-fg: #222222 !important;
  --nb-border: #e0e0e0 !important;
  --nb-muted: #717171 !important;
  --glass-bg: rgba(255,255,255,0.92) !important;
  --glass-border: #e0e0e0 !important;
  --glass-shadow: rgba(0,0,0,0.02) 0 0 0 1px, rgba(0,0,0,0.1) 0 4px 8px !important;
}
body.template-warm-gallery .landing-hero { background: #ffffff !important; }
body.template-warm-gallery .hero-title { color: #222222 !important; font-weight: 700 !important; letter-spacing: -0.44px !important; }
body.template-warm-gallery .hero-subtitle { color: #484848 !important; }
body.template-warm-gallery .landing-card { background: #fff !important; border: 1px solid #e0e0e0 !important; border-radius: 20px !important; }
body.template-warm-gallery .landing-card:hover { box-shadow: rgba(0,0,0,0.12) 0 6px 16px !important; }
body.template-warm-gallery .landing-card h3 { color: #222222 !important; }
body.template-warm-gallery .landing-card p { color: #484848 !important; }
body.template-warm-gallery h2 { color: #222222 !important; font-weight: 700 !important; }
body.template-warm-gallery .section-eyebrow { color: var(--tenant-primary) !important; letter-spacing: 0.05em !important; }
body.template-warm-gallery .btn-modern-primary { color: #fff !important; border-radius: 8px !important; font-weight: 500 !important; }
body.template-warm-gallery section:not(.lp-cta):not(.lp-hero-has-bg) { background: transparent !important; color: #484848 !important; }
body.template-warm-gallery .main-section { background: #ffffff !important; }
body.template-warm-gallery .main-section::before { opacity: 0 !important; }
body.template-warm-gallery *:not(.btn):not(.btn-modern):not(.btn-modern-primary):not(.btn-modern-outline):not(.badge):not(.lp-btn):not(.lp-btn-primary):not(.lp-btn-secondary):not(.lp-btn-brand):not(.lp-nav-cta):not(.lp-btn-book):not(.lp-class-book-btn):not(.lp-btn-arrow):not(.lp-day-tab):not(.day-name):not(.day-date):not(.day-dot):not(.lp-step-num):not(.lp-service-book):not(h1):not(h2):not(h3):not(h4) { color: #484848 !important; }
body.template-warm-gallery .testimonial-card { background: #fff !important; border: 1px solid #e0e0e0 !important; border-radius: 20px !important; }
body.template-warm-gallery .service-card { background: #fff !important; border: 1px solid #e0e0e0 !important; border-radius: 20px !important; }
body.template-warm-gallery .accordion-item { background: #fff !important; border-color: #e0e0e0 !important; }
body.template-warm-gallery .accordion-button { background: #fff !important; color: #222222 !important; }
body.template-warm-gallery .step-number { background: var(--tenant-primary) !important; color: #fff !important; border-radius: 50% !important; }
body.template-warm-gallery .landing-nav,
body.template-warm-gallery .site-header { background: rgba(255,255,255,0.95) !important; border-bottom: 1px solid #e0e0e0 !important; }
body.template-warm-gallery .landing-nav a,
body.template-warm-gallery .site-header a { color: #222222 !important; }
body.template-warm-gallery footer { background: var(--lp-footer-bg, #222222) !important; color: #e2e8f0 !important; }
body.template-warm-gallery footer * { color: #e2e8f0 !important; }
body.template-warm-gallery .pricing-card { background: #fff !important; border: 1px solid #e0e0e0 !important; border-radius: 20px !important; }

/* ──────────────────────────────────────────────────────────────
   TEMPLATE: Warm Minimal (Notion)
   Whisper-thin borders, warm neutrals, approachable minimalism
   ────────────────────────────────────────────────────────────── */
body.template-warm-minimal {
  /* Palette bridge */
  --tenant-primary: var(--lp-primary);
  --tenant-primary-rgb: var(--lp-primary-rgb);
  --tenant-primary-light: var(--lp-primary-light);
  background: #ffffff !important;
  color: #31302e !important;
}
html:has(body.template-warm-minimal),
html:has(body.template-warm-minimal) body,
body.template-warm-minimal {
  --nb-bg: #ffffff !important;
  --nb-card: #ffffff !important;
  --nb-fg: #1a1a1a !important;
  --nb-border: rgba(0,0,0,0.1) !important;
  --nb-muted: #615d59 !important;
  --glass-bg: rgba(255,255,255,0.95) !important;
  --glass-border: rgba(0,0,0,0.1) !important;
  --glass-shadow: rgba(0,0,0,0.04) 0 4px 18px !important;
}
body.template-warm-minimal .landing-hero { background: #ffffff !important; }
body.template-warm-minimal .hero-title { color: #1a1a1a !important; font-weight: 700 !important; letter-spacing: -2px !important; }
body.template-warm-minimal .hero-subtitle { color: #31302e !important; }
body.template-warm-minimal .landing-card { background: #fff !important; border: 1px solid rgba(0,0,0,0.1) !important; border-radius: 8px !important; box-shadow: none !important; }
body.template-warm-minimal .landing-card:hover { box-shadow: rgba(0,0,0,0.04) 0 4px 18px !important; }
body.template-warm-minimal .landing-card h3 { color: #1a1a1a !important; }
body.template-warm-minimal .landing-card p { color: #31302e !important; }
body.template-warm-minimal h2 { color: #1a1a1a !important; font-weight: 700 !important; letter-spacing: -1px !important; }
body.template-warm-minimal .section-eyebrow { color: #0075de !important; letter-spacing: 0.1em !important; font-weight: 600 !important; font-size: 0.75rem !important; }
body.template-warm-minimal .btn-modern-primary { background: #0075de !important; color: #fff !important; border-radius: 4px !important; font-weight: 600 !important; }
body.template-warm-minimal .btn-modern-outline { border-color: rgba(0,0,0,0.1) !important; color: #1a1a1a !important; border-radius: 4px !important; }
body.template-warm-minimal section:not(.lp-cta):not(.lp-hero-has-bg) { background: transparent !important; color: #31302e !important; }
body.template-warm-minimal .main-section { background: linear-gradient(180deg, #ffffff, #f6f5f4) !important; }
body.template-warm-minimal .main-section::before { opacity: 0 !important; }
body.template-warm-minimal *:not(.btn):not(.btn-modern):not(.btn-modern-primary):not(.btn-modern-outline):not(.badge):not(.lp-btn):not(.lp-btn-primary):not(.lp-btn-secondary):not(.lp-btn-brand):not(.lp-nav-cta):not(.lp-btn-book):not(.lp-class-book-btn):not(.lp-btn-arrow):not(.lp-day-tab):not(.day-name):not(.day-date):not(.day-dot):not(.lp-step-num):not(.lp-service-book):not(h1):not(h2):not(h3):not(h4) { color: #31302e !important; }
body.template-warm-minimal .testimonial-card { background: #fff !important; border: 1px solid rgba(0,0,0,0.1) !important; }
body.template-warm-minimal .service-card { background: #fff !important; border: 1px solid rgba(0,0,0,0.1) !important; }
body.template-warm-minimal .accordion-item { background: #fff !important; border-color: rgba(0,0,0,0.1) !important; }
body.template-warm-minimal .accordion-button { background: #fff !important; color: #1a1a1a !important; }
body.template-warm-minimal .step-number { background: #0075de !important; color: #fff !important; border-radius: 4px !important; }
body.template-warm-minimal .landing-nav,
body.template-warm-minimal .site-header { background: rgba(255,255,255,0.97) !important; border-bottom: 1px solid rgba(0,0,0,0.1) !important; }
body.template-warm-minimal .landing-nav a,
body.template-warm-minimal .site-header a { color: #1a1a1a !important; }
body.template-warm-minimal footer { background: var(--lp-footer-bg, #31302e) !important; color: #e2e8f0 !important; }
body.template-warm-minimal footer * { color: #e2e8f0 !important; }

/* ──────────────────────────────────────────────────────────────
   TEMPLATE: Dark Precision (Linear)
   Ultra-precise dark mode, indigo-violet accent
   ────────────────────────────────────────────────────────────── */
body.template-dark-precision {
  /* Palette bridge */
  --tenant-primary: var(--lp-primary);
  --tenant-primary-rgb: var(--lp-primary-rgb);
  --tenant-primary-light: var(--lp-primary-light);
  background: #08090a !important;
  color: #d0d6e0 !important;
}
body.template-dark-precision .landing-hero { background: linear-gradient(180deg, #08090a, #0f1011) !important; }
body.template-dark-precision .hero-title { color: #f7f8f8 !important; font-weight: 500 !important; letter-spacing: -1.4px !important; }
body.template-dark-precision .hero-subtitle { color: #d0d6e0 !important; }
body.template-dark-precision .landing-hero__panel { background: rgba(255,255,255,0.02) !important; border: 1px solid rgba(255,255,255,0.06) !important; }
body.template-dark-precision .landing-card { background: rgba(255,255,255,0.02) !important; border: 1px solid rgba(255,255,255,0.06) !important; border-radius: 10px !important; }
body.template-dark-precision .landing-card:hover { border-color: rgba(94,106,210,0.3) !important; }
body.template-dark-precision .landing-card h3 { color: #f7f8f8 !important; }
body.template-dark-precision h2 { color: #f7f8f8 !important; font-weight: 500 !important; letter-spacing: -0.7px !important; }
body.template-dark-precision .section-eyebrow { color: #8a8f98 !important; letter-spacing: 0.08em !important; text-transform: uppercase !important; }
body.template-dark-precision .btn-modern-primary { background: #5E6AD2 !important; color: #fff !important; border-radius: 6px !important; font-weight: 500 !important; }
body.template-dark-precision .btn-modern-outline { border: 1px solid rgba(255,255,255,0.1) !important; color: #e2e4e7 !important; border-radius: 6px !important; }
body.template-dark-precision .testimonial-card { background: rgba(255,255,255,0.02) !important; border: 1px solid rgba(255,255,255,0.06) !important; }
body.template-dark-precision .service-card { background: rgba(255,255,255,0.02) !important; border: 1px solid rgba(255,255,255,0.06) !important; }
body.template-dark-precision .accordion-item { background: rgba(255,255,255,0.02) !important; border-color: rgba(255,255,255,0.06) !important; }
body.template-dark-precision .accordion-button { background: transparent !important; color: #f7f8f8 !important; }
body.template-dark-precision .accordion-button:not(.collapsed) { color: #5E6AD2 !important; }
body.template-dark-precision .step-number { background: #5E6AD2 !important; color: #fff !important; }
body.template-dark-precision footer { background: var(--lp-footer-bg, #010102) !important; }

/* ──────────────────────────────────────────────────────────────
   TEMPLATE: Dark Electric (Framer)
   Pure black void, electric blue accent, pill buttons
   ────────────────────────────────────────────────────────────── */
body.template-dark-electric {
  /* Palette bridge */
  --tenant-primary: var(--lp-primary);
  --tenant-primary-rgb: var(--lp-primary-rgb);
  --tenant-primary-light: var(--lp-primary-light);
  background: #000000 !important;
  color: #a6a6a6 !important;
}
body.template-dark-electric .landing-hero { background: #000000 !important; }
body.template-dark-electric .hero-title { color: #ffffff !important; font-weight: 500 !important; letter-spacing: -3px !important; line-height: 0.9 !important; }
body.template-dark-electric .hero-subtitle { color: #a6a6a6 !important; }
body.template-dark-electric .landing-hero__panel { background: rgba(255,255,255,0.05) !important; border: 1px solid rgba(0,153,255,0.12) !important; }
body.template-dark-electric .landing-card { background: #090909 !important; border: 1px solid rgba(0,153,255,0.12) !important; border-radius: 14px !important; }
body.template-dark-electric .landing-card:hover { border-color: rgba(0,153,255,0.3) !important; box-shadow: 0 0 30px rgba(0,153,255,0.08) !important; }
body.template-dark-electric .landing-card h3 { color: #ffffff !important; }
body.template-dark-electric h2 { color: #ffffff !important; font-weight: 500 !important; letter-spacing: -1.5px !important; }
body.template-dark-electric .section-eyebrow { color: #a6a6a6 !important; letter-spacing: 0.06em !important; }
body.template-dark-electric .btn-modern-primary { background: #0099FF !important; color: #000 !important; border-radius: 9999px !important; font-weight: 500 !important; }
body.template-dark-electric .btn-modern-primary:hover { box-shadow: 0 0 20px rgba(0,153,255,0.4) !important; }
body.template-dark-electric .btn-modern-outline { border: 1px solid rgba(255,255,255,0.15) !important; color: #fff !important; border-radius: 9999px !important; }
body.template-dark-electric .testimonial-card { background: #090909 !important; border: 1px solid rgba(0,153,255,0.12) !important; }
body.template-dark-electric .service-card { background: #090909 !important; border: 1px solid rgba(0,153,255,0.12) !important; }
body.template-dark-electric .accordion-item { background: #090909 !important; border-color: rgba(0,153,255,0.12) !important; }
body.template-dark-electric .accordion-button { background: transparent !important; color: #fff !important; }
body.template-dark-electric .step-number { background: #0099FF !important; color: #000 !important; border-radius: 9999px !important; }
body.template-dark-electric footer { background: var(--lp-footer-bg, #000000) !important; border-top: 1px solid rgba(0,153,255,0.15) !important; }

/* ──────────────────────────────────────────────────────────────
   TEMPLATE: Dark Energy (Spotify)
   Immersive dark, green accent, pill geometry
   ────────────────────────────────────────────────────────────── */
body.template-dark-energy {
  /* Palette bridge */
  --tenant-primary: var(--lp-primary);
  --tenant-primary-rgb: var(--lp-primary-rgb);
  --tenant-primary-light: var(--lp-primary-light);
  background: #121212 !important;
  color: #b3b3b3 !important;
}
body.template-dark-energy .landing-hero { background: #121212 !important; }
body.template-dark-energy .hero-title { color: #ffffff !important; font-weight: 700 !important; }
body.template-dark-energy .hero-subtitle { color: #b3b3b3 !important; }
body.template-dark-energy .landing-hero__panel { background: #181818 !important; border: 1px solid #333 !important; }
body.template-dark-energy .landing-card { background: #252525 !important; border: 1px solid #333 !important; border-radius: 12px !important; }
body.template-dark-energy .landing-card:hover { background: #2a2a2a !important; }
body.template-dark-energy .landing-card h3 { color: #ffffff !important; }
body.template-dark-energy h2 { color: #ffffff !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 1.4px !important; }
body.template-dark-energy .section-eyebrow { color: #b3b3b3 !important; letter-spacing: 1.4px !important; text-transform: uppercase !important; font-weight: 700 !important; }
body.template-dark-energy .btn-modern-primary { background: #1DB954 !important; color: #000 !important; border-radius: 9999px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 1.4px !important; }
body.template-dark-energy .btn-modern-outline { border: 1px solid #7c7c7c !important; color: #fff !important; border-radius: 9999px !important; }
body.template-dark-energy .testimonial-card { background: #252525 !important; border: 1px solid #333 !important; }
body.template-dark-energy .service-card { background: #252525 !important; border: 1px solid #333 !important; }
body.template-dark-energy .accordion-item { background: #181818 !important; border-color: #333 !important; }
body.template-dark-energy .accordion-button { background: transparent !important; color: #fff !important; font-weight: 700 !important; }
body.template-dark-energy .step-number { background: #1DB954 !important; color: #000 !important; border-radius: 9999px !important; }
body.template-dark-energy footer { background: var(--lp-footer-bg, #0a0a0a) !important; }

/* ──────────────────────────────────────────────────────────────
   TEMPLATE: Dark Emerald (Supabase)
   Developer elegance, emerald accent, dark-mode native
   ────────────────────────────────────────────────────────────── */
body.template-dark-emerald {
  /* Palette bridge */
  --tenant-primary: var(--lp-primary);
  --tenant-primary-rgb: var(--lp-primary-rgb);
  --tenant-primary-light: var(--lp-primary-light);
  background: #171717 !important;
  color: #b4b4b4 !important;
}
body.template-dark-emerald .landing-hero { background: #171717 !important; }
body.template-dark-emerald .hero-title { color: #ededed !important; font-weight: 400 !important; }
body.template-dark-emerald .hero-subtitle { color: #b4b4b4 !important; }
body.template-dark-emerald .landing-hero__panel { background: #1c1c1c !important; border: 1px solid #2e2e2e !important; }
body.template-dark-emerald .landing-card { background: #1c1c1c !important; border: 1px solid #2e2e2e !important; border-radius: 12px !important; }
body.template-dark-emerald .landing-card:hover { border-color: rgba(62,207,142,0.3) !important; }
body.template-dark-emerald .landing-card h3 { color: #ededed !important; }
body.template-dark-emerald h2 { color: #ededed !important; font-weight: 400 !important; }
body.template-dark-emerald .section-eyebrow { color: #898989 !important; letter-spacing: 1.2px !important; text-transform: uppercase !important; font-size: 0.75rem !important; }
body.template-dark-emerald .btn-modern-primary { background: #3ECF8E !important; color: #0f0f0f !important; border-radius: 9999px !important; font-weight: 500 !important; }
body.template-dark-emerald .btn-modern-outline { border: 1px solid #fafafa !important; color: #fafafa !important; border-radius: 9999px !important; }
body.template-dark-emerald .testimonial-card { background: #1c1c1c !important; border: 1px solid #2e2e2e !important; }
body.template-dark-emerald .service-card { background: #1c1c1c !important; border: 1px solid #2e2e2e !important; }
body.template-dark-emerald .accordion-item { background: #1c1c1c !important; border-color: #2e2e2e !important; }
body.template-dark-emerald .accordion-button { background: transparent !important; color: #ededed !important; }
body.template-dark-emerald .accordion-button:not(.collapsed) { color: #3ECF8E !important; }
body.template-dark-emerald .step-number { background: #3ECF8E !important; color: #0f0f0f !important; }
body.template-dark-emerald footer { background: var(--lp-footer-bg, #0f0f0f) !important; }

/* ──────────────────────────────────────────────────────────────
   TEMPLATE: Luxury White (Apple)
   Premium white space, cinematic, blue accent
   ────────────────────────────────────────────────────────────── */
body.template-luxury-white {
  /* Palette bridge */
  --tenant-primary: var(--lp-primary);
  --tenant-primary-rgb: var(--lp-primary-rgb);
  --tenant-primary-light: var(--lp-primary-light);
  background: #f5f5f7 !important;
  color: rgba(0,0,0,0.56) !important;
}
html:has(body.template-luxury-white),
html:has(body.template-luxury-white) body,
body.template-luxury-white {
  --nb-bg: #f5f5f7 !important;
  --nb-card: #ffffff !important;
  --nb-fg: #1d1d1f !important;
  --nb-border: rgba(0,0,0,0.08) !important;
  --nb-muted: rgba(0,0,0,0.48) !important;
  --glass-bg: rgba(255,255,255,0.90) !important;
  --glass-shadow: 3px 5px 30px rgba(0,0,0,0.12) !important;
}
body.template-luxury-white .landing-hero { background: #f5f5f7 !important; min-height: 80vh !important; }
body.template-luxury-white .hero-title { color: #1d1d1f !important; font-weight: 600 !important; letter-spacing: -0.28px !important; line-height: 1.07 !important; }
body.template-luxury-white .hero-subtitle { color: rgba(0,0,0,0.56) !important; }
body.template-luxury-white .landing-card { background: #fff !important; border: none !important; border-radius: 18px !important; box-shadow: 0 4px 16px rgba(0,0,0,0.06) !important; }
body.template-luxury-white .landing-card:hover { box-shadow: 3px 5px 30px rgba(0,0,0,0.12) !important; }
body.template-luxury-white .landing-card h3 { color: #1d1d1f !important; }
body.template-luxury-white .landing-card p { color: rgba(0,0,0,0.56) !important; }
body.template-luxury-white h2 { color: #1d1d1f !important; font-weight: 600 !important; letter-spacing: -0.2px !important; }
body.template-luxury-white .section-eyebrow { color: #0071E3 !important; letter-spacing: 0.06em !important; font-weight: 600 !important; }
body.template-luxury-white .btn-modern-primary { background: #0071E3 !important; color: #fff !important; border-radius: 980px !important; font-weight: 400 !important; }
body.template-luxury-white .btn-modern-outline { border-color: rgba(0,0,0,0.12) !important; color: #1d1d1f !important; border-radius: 980px !important; }
body.template-luxury-white section:not(.lp-cta):not(.lp-hero-has-bg) { background: transparent !important; }
body.template-luxury-white .main-section { background: #f5f5f7 !important; }
body.template-luxury-white .main-section::before { opacity: 0 !important; }
body.template-luxury-white *:not(.btn):not(.btn-modern):not(.btn-modern-primary):not(.btn-modern-outline):not(.badge):not(.lp-btn):not(.lp-btn-primary):not(.lp-btn-secondary):not(.lp-btn-brand):not(.lp-nav-cta):not(.lp-btn-book):not(.lp-class-book-btn):not(.lp-btn-arrow):not(.lp-day-tab):not(.day-name):not(.day-date):not(.day-dot):not(.lp-step-num):not(.lp-service-book):not(h1):not(h2):not(h3):not(h4) { color: rgba(0,0,0,0.56) !important; }
body.template-luxury-white .testimonial-card { background: #fff !important; border: none !important; box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important; }
body.template-luxury-white .service-card { background: #fff !important; border: none !important; box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important; }
body.template-luxury-white .accordion-item { background: #fff !important; border-color: rgba(0,0,0,0.08) !important; }
body.template-luxury-white .accordion-button { background: #fff !important; color: #1d1d1f !important; }
body.template-luxury-white .step-number { background: #0071E3 !important; color: #fff !important; }
body.template-luxury-white .landing-nav,
body.template-luxury-white .site-header { background: rgba(245,245,247,0.90) !important; border-bottom: 1px solid rgba(0,0,0,0.06) !important; backdrop-filter: blur(20px) !important; }
body.template-luxury-white footer { background: var(--lp-footer-bg, #1d1d1f) !important; color: #d2d2d7 !important; }
body.template-luxury-white footer * { color: #d2d2d7 !important; }

/* ──────────────────────────────────────────────────────────────
   TEMPLATE: Playful Vibrant (Figma)
   Multi-color, fun and energetic, dark canvas
   ────────────────────────────────────────────────────────────── */
body.template-playful-vibrant {
  /* Palette bridge */
  --tenant-primary: var(--lp-primary);
  --tenant-primary-rgb: var(--lp-primary-rgb);
  --tenant-primary-light: var(--lp-primary-light);
  background: #1E1E1E !important;
  color: #cccccc !important;
}
body.template-playful-vibrant .landing-hero { background: #1E1E1E !important; }
body.template-playful-vibrant .hero-title { color: #ffffff !important; font-weight: 400 !important; letter-spacing: -1.5px !important; }
body.template-playful-vibrant .hero-subtitle { color: #cccccc !important; }
body.template-playful-vibrant .landing-card { background: #2c2c2c !important; border: none !important; border-radius: 16px !important; }
body.template-playful-vibrant .landing-card:hover { transform: translateY(-6px) !important; box-shadow: 0 8px 32px rgba(0,0,0,0.4) !important; }
body.template-playful-vibrant .landing-card h3 { color: #ffffff !important; }
body.template-playful-vibrant h2 { color: #ffffff !important; font-weight: 400 !important; letter-spacing: -0.8px !important; }
body.template-playful-vibrant .section-eyebrow { color: #999999 !important; letter-spacing: 0.54px !important; text-transform: uppercase !important; }
body.template-playful-vibrant .btn-modern-primary { background: #A259FF !important; color: #fff !important; border-radius: 50px !important; font-weight: 400 !important; }
body.template-playful-vibrant .btn-modern-outline { border: 1px solid rgba(255,255,255,0.15) !important; color: #fff !important; border-radius: 50px !important; }
body.template-playful-vibrant .testimonial-card { background: #2c2c2c !important; border: none !important; }
body.template-playful-vibrant .service-card { background: #2c2c2c !important; border: none !important; }
body.template-playful-vibrant .accordion-item { background: #2c2c2c !important; border-color: rgba(255,255,255,0.1) !important; }
body.template-playful-vibrant .accordion-button { background: transparent !important; color: #fff !important; }
body.template-playful-vibrant .step-number { background: #A259FF !important; color: #fff !important; }
body.template-playful-vibrant footer { background: var(--lp-footer-bg, #111111) !important; }

/* ──────────────────────────────────────────────────────────────
   TEMPLATE: Mono Precision (Vercel)
   Black & white, ultra-minimal, shadow-as-border
   ────────────────────────────────────────────────────────────── */
body.template-mono-precision {
  /* Palette bridge */
  --tenant-primary: var(--lp-primary);
  --tenant-primary-rgb: var(--lp-primary-rgb);
  --tenant-primary-light: var(--lp-primary-light);
  background: #ffffff !important;
  color: #4d4d4d !important;
}
html:has(body.template-mono-precision),
html:has(body.template-mono-precision) body,
body.template-mono-precision {
  --nb-bg: #ffffff !important;
  --nb-card: #ffffff !important;
  --nb-fg: #171717 !important;
  --nb-border: #ebebeb !important;
  --nb-muted: #666666 !important;
  --glass-bg: #ffffff !important;
  --glass-border: #ebebeb !important;
  --glass-shadow: rgba(0,0,0,0.08) 0 0 0 1px !important;
}
body.template-mono-precision .landing-hero { background: #ffffff !important; }
body.template-mono-precision .hero-title { color: #171717 !important; font-weight: 600 !important; letter-spacing: -2.4px !important; }
body.template-mono-precision .hero-subtitle { color: #4d4d4d !important; }
body.template-mono-precision .landing-card { background: #fff !important; border: none !important; border-radius: 8px !important; box-shadow: rgba(0,0,0,0.08) 0 0 0 1px !important; }
body.template-mono-precision .landing-card:hover { box-shadow: rgba(0,0,0,0.08) 0 0 0 1px, rgba(0,0,0,0.06) 0 4px 8px !important; }
body.template-mono-precision .landing-card h3 { color: #171717 !important; }
body.template-mono-precision .landing-card p { color: #4d4d4d !important; }
body.template-mono-precision h2 { color: #171717 !important; font-weight: 600 !important; letter-spacing: -1.2px !important; }
body.template-mono-precision .section-eyebrow { color: #666 !important; letter-spacing: 0.1em !important; text-transform: uppercase !important; font-size: 0.75rem !important; }
body.template-mono-precision .btn-modern-primary { background: #171717 !important; color: #fff !important; border-radius: 6px !important; font-weight: 500 !important; }
body.template-mono-precision .btn-modern-outline { border: 1px solid #ebebeb !important; color: #171717 !important; border-radius: 6px !important; }
body.template-mono-precision section:not(.lp-cta):not(.lp-hero-has-bg) { background: transparent !important; color: #4d4d4d !important; }
body.template-mono-precision .main-section { background: #ffffff !important; }
body.template-mono-precision .main-section::before { opacity: 0 !important; }
body.template-mono-precision *:not(.btn):not(.btn-modern):not(.btn-modern-primary):not(.btn-modern-outline):not(.badge):not(.lp-btn):not(.lp-btn-primary):not(.lp-btn-secondary):not(.lp-btn-brand):not(.lp-nav-cta):not(.lp-btn-book):not(.lp-class-book-btn):not(.lp-btn-arrow):not(.lp-day-tab):not(.day-name):not(.day-date):not(.day-dot):not(.lp-step-num):not(.lp-service-book):not(h1):not(h2):not(h3):not(h4) { color: #4d4d4d !important; }
body.template-mono-precision .testimonial-card { background: #fff !important; box-shadow: rgba(0,0,0,0.08) 0 0 0 1px !important; border: none !important; }
body.template-mono-precision .service-card { background: #fff !important; box-shadow: rgba(0,0,0,0.08) 0 0 0 1px !important; border: none !important; }
body.template-mono-precision .accordion-item { background: #fff !important; border-color: #ebebeb !important; }
body.template-mono-precision .accordion-button { background: #fff !important; color: #171717 !important; }
body.template-mono-precision .step-number { background: #171717 !important; color: #fff !important; border-radius: 6px !important; }
body.template-mono-precision .landing-nav,
body.template-mono-precision .site-header { background: rgba(255,255,255,0.95) !important; border-bottom: 1px solid #ebebeb !important; }
body.template-mono-precision .landing-nav a,
body.template-mono-precision .site-header a { color: #171717 !important; }
body.template-mono-precision footer { background: var(--lp-footer-bg, #000000) !important; color: #888 !important; }
body.template-mono-precision footer * { color: #888 !important; }

/* ──────────────────────────────────────────────────────────────
   TEMPLATE: Fintech Dark (Revolut)
   Modern European fintech, pill buttons, dark charcoal
   ────────────────────────────────────────────────────────────── */
body.template-fintech-dark {
  /* Palette bridge */
  --tenant-primary: var(--lp-primary);
  --tenant-primary-rgb: var(--lp-primary-rgb);
  --tenant-primary-light: var(--lp-primary-light);
  background: #191C1F !important;
  color: #c9c9cd !important;
}
body.template-fintech-dark .landing-hero { background: #191C1F !important; }
body.template-fintech-dark .hero-title { color: #ffffff !important; font-weight: 500 !important; letter-spacing: -1.5px !important; }
body.template-fintech-dark .hero-subtitle { color: #c9c9cd !important; }
body.template-fintech-dark .landing-hero__panel { background: #1e2124 !important; border: 1px solid #333 !important; }
body.template-fintech-dark .landing-card { background: #1e2124 !important; border: 1px solid #333 !important; border-radius: 16px !important; }
body.template-fintech-dark .landing-card:hover { border-color: rgba(92,45,145,0.4) !important; }
body.template-fintech-dark .landing-card h3 { color: #ffffff !important; }
body.template-fintech-dark h2 { color: #ffffff !important; font-weight: 500 !important; letter-spacing: -0.5px !important; }
body.template-fintech-dark .section-eyebrow { color: #8d969e !important; letter-spacing: 0.08em !important; text-transform: uppercase !important; }
body.template-fintech-dark .btn-modern-primary { background: #5C2D91 !important; color: #fff !important; border-radius: 9999px !important; font-weight: 500 !important; padding: 14px 32px !important; }
body.template-fintech-dark .btn-modern-primary:hover { opacity: 0.85 !important; }
body.template-fintech-dark .btn-modern-outline { border: 2px solid #c9c9cd !important; color: #c9c9cd !important; border-radius: 9999px !important; }
body.template-fintech-dark .testimonial-card { background: #1e2124 !important; border: 1px solid #333 !important; }
body.template-fintech-dark .service-card { background: #1e2124 !important; border: 1px solid #333 !important; }
body.template-fintech-dark .accordion-item { background: #1e2124 !important; border-color: #333 !important; }
body.template-fintech-dark .accordion-button { background: transparent !important; color: #fff !important; }
body.template-fintech-dark .accordion-button:not(.collapsed) { color: #a87edb !important; }
body.template-fintech-dark .step-number { background: #5C2D91 !important; color: #fff !important; border-radius: 9999px !important; }
body.template-fintech-dark footer { background: var(--lp-footer-bg, #0f1012) !important; }



/* ──────────────────────────────────────────────────────────────
   TEMPLATE: Minimal Zen
   Ultra-clean, centered, white space, yoga/wellness aesthetic
   ────────────────────────────────────────────────────────────── */
body.template-minimal-zen {
  /* Palette bridge: let --lp-primary flow through */
  --tenant-primary: var(--lp-primary);
  --tenant-primary-rgb: var(--lp-primary-rgb);
  --tenant-primary-light: var(--lp-primary-light);
  background: #ffffff !important;
  color: #4a4a4a !important;
}
body.template-minimal-zen .landing-hero { background: #ffffff !important; }
body.template-minimal-zen .hero-title { color: #2a2a2a !important; font-weight: 700 !important; letter-spacing: -2px !important; }
body.template-minimal-zen .hero-subtitle { color: #6a6a6a !important; }
body.template-minimal-zen .landing-card { background: #fff !important; border: 1px solid #e0e0e0 !important; border-radius: 8px !important; }
body.template-minimal-zen .landing-card:hover { box-shadow: rgba(0,0,0,0.04) 0 4px 18px !important; }
body.template-minimal-zen .landing-card h3 { color: #2a2a2a !important; }
body.template-minimal-zen .landing-card p { color: #6a6a6a !important; }
body.template-minimal-zen h2 { color: #2a2a2a !important; font-weight: 700 !important; }
body.template-minimal-zen .section-eyebrow { color: #8a8a8a !important; letter-spacing: 0.1em !important; }
body.template-minimal-zen .btn-modern-primary { background: #6a6a6a !important; color: #fff !important; border-radius: 9999px !important; font-weight: 600 !important; }
body.template-minimal-zen section:not(.lp-cta):not(.lp-hero-has-bg) { background: transparent !important; color: #6a6a6a !important; }
body.template-minimal-zen .main-section { background: #ffffff !important; }
body.template-minimal-zen .testimonial-card { background: #fff !important; border: 1px solid #e0e0e0 !important; }
body.template-minimal-zen footer { background: var(--lp-footer-bg, #2a2a2a) !important; color: #fff !important; }
body.template-minimal-zen footer * { color: #fff !important; }

/* ──────────────────────────────────────────────────────────────
   TEMPLATE: Dynamic Split
   Asymmetric layouts, bold splits, image emphasis
   ────────────────────────────────────────────────────────────── */
body.template-dynamic-split {
  /* Palette bridge: let --lp-primary flow through */
  --tenant-primary: var(--lp-primary);
  --tenant-primary-rgb: var(--lp-primary-rgb);
  --tenant-primary-light: var(--lp-primary-light);
  background: #0a0a0a !important;
  color: #e0e0e0 !important;
}
body.template-dynamic-split .landing-hero { background: linear-gradient(135deg, #1a1a1a 0%, #0a0a0a 100%) !important; }
body.template-dynamic-split .hero-title { color: #ffffff !important; font-weight: 800 !important; letter-spacing: -1px !important; }
body.template-dynamic-split .hero-subtitle { color: #a0a0a0 !important; }
body.template-dynamic-split .landing-card { background: #1a1a1a !important; border: 1px solid #333 !important; border-radius: 12px !important; }
body.template-dynamic-split .landing-card:hover { border-color: rgba(var(--lp-primary-rgb), 0.3) !important; }
body.template-dynamic-split .landing-card h3 { color: #ffffff !important; }
body.template-dynamic-split .landing-card p { color: #a0a0a0 !important; }
body.template-dynamic-split h2 { color: #ffffff !important; font-weight: 800 !important; }
body.template-dynamic-split .section-eyebrow { color: #e0e0e0 !important; letter-spacing: 0.12em !important; }
body.template-dynamic-split .btn-modern-primary { background: rgba(var(--lp-primary-rgb), 0.2) !important; color: #fff !important; border-radius: 8px !important; font-weight: 600 !important; border: 1px solid rgba(var(--lp-primary-rgb), 0.3) !important; }
body.template-dynamic-split .btn-modern-outline { border: 1px solid #333 !important; color: #e0e0e0 !important; border-radius: 8px !important; }
body.template-dynamic-split section:not(.lp-cta):not(.lp-hero-has-bg) { background: transparent !important; color: #a0a0a0 !important; }
body.template-dynamic-split .main-section { background: #0a0a0a !important; }
body.template-dynamic-split .testimonial-card { background: #1a1a1a !important; border: 1px solid #333 !important; }
body.template-dynamic-split .service-card { background: #1a1a1a !important; border: 1px solid #333 !important; }
body.template-dynamic-split footer { background: var(--lp-footer-bg, #0f0f0f) !important; color: #a0a0a0 !important; }


/* ──────────────────────────────────────────────────────────────
   RESPONSIVE ADJUSTMENTS
   ────────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  body.template-bold-energetic .landing-hero {
    min-height: 70vh !important;
  }
  body.template-bold-energetic .hero-title {
    letter-spacing: 1px !important;
    font-size: clamp(1.8rem, 7vw, 2.8rem) !important;
  }
  body.template-bold-energetic h2 {
    letter-spacing: 1px !important;
    font-size: clamp(1.3rem, 5vw, 1.8rem) !important;
  }
  body.template-bold-energetic section,
  body.template-bold-energetic .landing-section {
    padding: 3rem 0 !important;
  }
  .hiw-step:not(:last-child)::after {
    display: none;
  }
  .step-number {
    width: 44px;
    height: 44px;
    font-size: 1.1rem;
  }
}

/* ══════════════════════════════════════════════════════════════
   FONT IDENTITIES — Unique typographic personality per template
   ══════════════════════════════════════════════════════════════ */

/* Clean Professional — Montserrat: corporate, readable, authoritative */
body.template-clean-professional,
body.template-clean-professional p,
body.template-clean-professional li { font-family: 'Montserrat', 'Segoe UI', sans-serif !important; }
body.template-clean-professional h1,
body.template-clean-professional h2,
body.template-clean-professional h3,
body.template-clean-professional h4,
body.template-clean-professional .hero-title { font-family: 'Montserrat', sans-serif !important; font-weight: 700 !important; letter-spacing: -0.02em !important; }
body.template-clean-professional .btn-modern,
body.template-clean-professional .btn-modern-primary,
body.template-clean-professional .btn-modern-outline,
body.template-clean-professional .lp-btn,
body.template-clean-professional .lp-btn-primary,
body.template-clean-professional .lp-btn-brand { border-radius: 8px !important; font-family: 'Montserrat', sans-serif !important; font-weight: 600 !important; }

/* Bold Energetic — Bebas Neue: gym, impact, UPPERCASE */
body.template-bold-energetic h1,
body.template-bold-energetic h2,
body.template-bold-energetic h3,
body.template-bold-energetic .hero-title,
body.template-bold-energetic .section-title { font-family: 'Bebas Neue', 'Impact', 'Arial Black', sans-serif !important; letter-spacing: 4px !important; font-weight: 400 !important; }
body.template-bold-energetic .btn-modern,
body.template-bold-energetic .btn-modern-primary,
body.template-bold-energetic .btn-modern-outline,
body.template-bold-energetic .lp-btn,
body.template-bold-energetic .lp-btn-primary,
body.template-bold-energetic .lp-btn-brand { border-radius: 4px !important; text-transform: uppercase !important; letter-spacing: 3px !important; font-family: 'Bebas Neue', sans-serif !important; font-size: 1.05rem !important; }

/* Booking Pro — Montserrat: clean SaaS, professional scheduling */
body.template-booking-pro,
body.template-booking-pro p { font-family: 'Montserrat', system-ui, sans-serif !important; }
body.template-booking-pro h1,
body.template-booking-pro h2,
body.template-booking-pro h3,
body.template-booking-pro .hero-title { font-family: 'Montserrat', sans-serif !important; font-weight: 600 !important; letter-spacing: -0.03em !important; }
body.template-booking-pro .btn-modern,
body.template-booking-pro .btn-modern-primary,
body.template-booking-pro .lp-btn,
body.template-booking-pro .lp-btn-primary,
body.template-booking-pro .lp-btn-brand { border-radius: 8px !important; font-family: 'Montserrat', sans-serif !important; font-weight: 500 !important; }

/* Premium Stripe — DM Serif Display: luxury, editorial, premium */
body.template-premium-stripe h1,
body.template-premium-stripe h2,
body.template-premium-stripe h3,
body.template-premium-stripe .hero-title { font-family: 'DM Serif Display', 'Playfair Display', Georgia, serif !important; font-weight: 300 !important; font-style: italic !important; letter-spacing: -0.02em !important; line-height: 1.08 !important; }
body.template-premium-stripe .btn-modern,
body.template-premium-stripe .btn-modern-primary,
body.template-premium-stripe .btn-modern-outline,
body.template-premium-stripe .lp-btn,
body.template-premium-stripe .lp-btn-primary,
body.template-premium-stripe .lp-btn-brand { border-radius: 4px !important; letter-spacing: 0.06em !important; font-weight: 400 !important; }

/* Warm Gallery — Playfair Display: editorial, boutique, lifestyle */
body.template-warm-gallery h1,
body.template-warm-gallery h2,
body.template-warm-gallery h3,
body.template-warm-gallery .hero-title { font-family: 'Playfair Display', Georgia, serif !important; font-weight: 700 !important; font-style: normal !important; letter-spacing: -0.01em !important; line-height: 1.15 !important; }
body.template-warm-gallery .btn-modern,
body.template-warm-gallery .btn-modern-primary,
body.template-warm-gallery .lp-btn,
body.template-warm-gallery .lp-btn-primary,
body.template-warm-gallery .lp-btn-brand { border-radius: 50px !important; font-weight: 500 !important; }

/* Warm Minimal — Raleway: airy, minimal, welcoming */
body.template-warm-minimal,
body.template-warm-minimal p { font-family: 'Raleway', sans-serif !important; letter-spacing: 0.01em !important; }
body.template-warm-minimal h1,
body.template-warm-minimal h2,
body.template-warm-minimal h3,
body.template-warm-minimal .hero-title { font-family: 'Raleway', sans-serif !important; font-weight: 300 !important; letter-spacing: 0.05em !important; }
body.template-warm-minimal .btn-modern,
body.template-warm-minimal .btn-modern-primary,
body.template-warm-minimal .btn-modern-outline,
body.template-warm-minimal .lp-btn,
body.template-warm-minimal .lp-btn-primary,
body.template-warm-minimal .lp-btn-brand { border-radius: 50px !important; letter-spacing: 0.06em !important; font-weight: 500 !important; font-family: 'Raleway', sans-serif !important; }

/* Dark Precision — Space Grotesk: technical, developer, precision */
body.template-dark-precision,
body.template-dark-precision p { font-family: 'Space Grotesk', 'Inter', system-ui, sans-serif !important; font-feature-settings: "cv01", "ss03" !important; }
body.template-dark-precision h1,
body.template-dark-precision h2,
body.template-dark-precision h3,
body.template-dark-precision .hero-title { font-family: 'Space Grotesk', sans-serif !important; font-weight: 510 !important; letter-spacing: -0.04em !important; font-feature-settings: "cv01", "ss03" !important; }
body.template-dark-precision .btn-modern,
body.template-dark-precision .btn-modern-primary,
body.template-dark-precision .btn-modern-outline,
body.template-dark-precision .lp-btn,
body.template-dark-precision .lp-btn-primary,
body.template-dark-precision .lp-btn-brand { border-radius: 0px !important; border-width: 1px !important; text-transform: uppercase !important; letter-spacing: 4px !important; font-size: 0.7rem !important; font-family: 'Space Grotesk', sans-serif !important; font-weight: 600 !important; }

/* Dark Electric — Space Grotesk: modern tech, electric, futuristic */
body.template-dark-electric,
body.template-dark-electric p { font-family: 'Space Grotesk', system-ui, sans-serif !important; }
body.template-dark-electric h1,
body.template-dark-electric h2,
body.template-dark-electric h3,
body.template-dark-electric .hero-title { font-family: 'Space Grotesk', sans-serif !important; font-weight: 700 !important; letter-spacing: -0.05em !important; }
body.template-dark-electric .btn-modern,
body.template-dark-electric .btn-modern-primary,
body.template-dark-electric .lp-btn,
body.template-dark-electric .lp-btn-primary,
body.template-dark-electric .lp-btn-brand { border-radius: 50px !important; font-family: 'Space Grotesk', sans-serif !important; font-weight: 500 !important; }

/* Dark Energy — Oswald + Bebas: raw power, fitness, maximum energy */
body.template-dark-energy h1,
body.template-dark-energy h2,
body.template-dark-energy h3,
body.template-dark-energy .hero-title,
body.template-dark-energy .section-title { font-family: 'Oswald', 'Bebas Neue', sans-serif !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 3px !important; }
body.template-dark-energy .btn-modern,
body.template-dark-energy .btn-modern-primary,
body.template-dark-energy .lp-btn,
body.template-dark-energy .lp-btn-primary,
body.template-dark-energy .lp-btn-brand { border-radius: 50px !important; font-family: 'Oswald', sans-serif !important; font-weight: 600 !important; letter-spacing: 2px !important; text-transform: uppercase !important; }

/* ══════════════════════════════════════════════════════════════════════════
   UNIVERSAL: CTA + FOOTER contrast fix for ALL templates
   These come LAST in the file to win by source order against per-template
   wildcard *:not() rules that force dark text on everything.
   The :not() chain matches the specificity of each template's wildcard rule.
   ══════════════════════════════════════════════════════════════════════════ */

/* CTA section — white text. body.lp-page bumps specificity to beat body.template-* rules */
body.lp-page .lp-cta *:not(.btn):not(.btn-modern):not(.btn-modern-primary):not(.btn-modern-outline):not(.badge):not(.lp-btn):not(.lp-btn-primary):not(.lp-btn-secondary):not(.lp-btn-brand):not(.lp-nav-cta):not(.lp-btn-book):not(.lp-class-book-btn):not(.lp-btn-arrow):not(.lp-day-tab):not(.day-name):not(.day-date):not(.day-dot):not(.lp-step-num):not(.lp-service-book):not(h1):not(h2):not(h3):not(h4) {
  color: var(--lp-on-primary, rgba(255,255,255,0.9)) !important;
}
body.lp-page .lp-cta h2 { color: var(--lp-on-primary, #ffffff) !important; }
body.lp-page .lp-cta .lp-btn-primary,
body.lp-page .lp-cta .lp-btn-primary * { color: #ffffff !important; }

/* Footer section — light text on dark bg. body.lp-page bumps specificity */
body.lp-page .lp-footer *:not(.btn):not(.btn-modern):not(.btn-modern-primary):not(.btn-modern-outline):not(.badge):not(.lp-btn):not(.lp-btn-primary):not(.lp-btn-secondary):not(.lp-btn-brand):not(.lp-nav-cta):not(.lp-btn-book):not(.lp-class-book-btn):not(.lp-btn-arrow):not(.lp-day-tab):not(.day-name):not(.day-date):not(.day-dot):not(.lp-step-num):not(.lp-service-book):not(h1):not(h2):not(h3):not(h4) {
  color: rgba(255,255,255,0.8) !important;
}
body.lp-page .lp-footer h3 { color: #ffffff !important; }
body.lp-page .lp-footer h4 { color: rgba(255,255,255,0.5) !important; }
body.lp-page .lp-footer a { color: rgba(255,255,255,0.75) !important; }
body.lp-page .lp-footer a:hover { color: #ffffff !important; }
