/* ==========================================================================
   MARIGOLD 2026 SERIES — V52 "PRISM PIPELINE" (marigold_v52_vibrant)
   Variation 2 (Vibrant): Midnight Volt — deep indigo gradient, electric lime + violet
   Generated by scripts/generate_marigold_v52_css.py — edit the generator, not this file.
   ========================================================================== */

html:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant), [data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant {
  color-scheme: dark;
  --font-heading: 'Unbounded', 'Manrope', sans-serif;
  --font-body: 'Manrope', system-ui, sans-serif;
  --v52-title-weight: 700;
  --v52-title-tracking: -0.03em;
  --v52-page-gradient: radial-gradient(1000px 600px at 90% -10%, rgba(124,58,237,0.35) 0%, transparent 60%), radial-gradient(800px 500px at -10% 40%, rgba(190,242,100,0.12) 0%, transparent 60%), linear-gradient(180deg, #0B0B1F 0%, #0F1030 100%);
  --v52-hero-gradient: linear-gradient(140deg, #0B0B1F 0%, #1A1250 50%, #0D1B3D 100%);
  --v52-blob-a: #7C3AED; --v52-blob-b: #22D3EE;
  --v52-geo-ring: #C6F432; --v52-geo-dot: #A5B4FC; --v52-geo-stripe: #C6F432; --v52-geo-arrow: #C6F432;
  --v52-wave-fill: #0F1030;
  --v52-text-h: #FFFFFF; --v52-text-body: #C9CCF0; --v52-text-muted: #A3A8D6;
  --v52-hero-headline-color: #FFFFFF; --v52-subheadline-color: #C9CCF0;
  --v52-accent: #C6F432; --v52-accent-strong: #C6F432; --v52-accent-soft: rgba(198,244,50,0.16);
  --v52-accent-secondary: #A78BFA;
  --v52-title-gradient: linear-gradient(100deg, #C6F432 0%, #22D3EE 50%, #A78BFA 100%);
  --v52-btn-gradient: linear-gradient(135deg, #C6F432 0%, #9BE15D 100%); --v52-btn-text: #0B0B1F; --v52-btn-shadow: rgba(198,244,50,0.28);
  --v52-ghost-bg: rgba(255,255,255,0.06); --v52-ghost-border: rgba(255,255,255,0.28);
  --v52-eyebrow-bg: rgba(198,244,50,0.1); --v52-eyebrow-text: #D9F99D; --v52-eyebrow-border: rgba(198,244,50,0.35);
  --v52-s1: linear-gradient(135deg,#7C3AED,#5B21B6); --v52-s2: linear-gradient(135deg,#0891B2,#0E7490); --v52-s3: linear-gradient(135deg,#DB2777,#9D174D); --v52-s4: linear-gradient(135deg,#4D7C0F,#365314);
  --v52-stage-text: #FFFFFF; --v52-stage-chip-bg: #C6F432; --v52-stage-chip-text: #0B0B1F; --v52-stage-shadow: rgba(0,0,0,0.45);
  --v52-connector: #A5B4FC; --v52-flow-arrow: #C6F432;
  --v52-result-bg: #14143A; --v52-result-text: #FFFFFF; --v52-result-muted: #B4B9E6; --v52-result-shadow: rgba(0,0,0,0.55);
  --v52-result-icon-bg: rgba(198,244,50,0.12); --v52-result-cta-bg: #C6F432; --v52-result-cta-text: #0B0B1F;
  --v52-section-alt: rgba(255,255,255,0.03);

  /* Legacy tokens consumed by the v52 About / Services / Products / Menu / Spotlight components */
  --v52-bg-surface: rgba(22,22,60,0.88); --v52-canvas-bg: rgba(22,22,60,0.88); --v52-canvas-border: rgba(165,180,252,0.18);
  --v52-card-bg: rgba(22,22,60,0.88); --v52-card-border: rgba(165,180,252,0.18); --v52-card-shadow: 0 18px 40px rgba(0,0,0,0.4);
  --v52-frame-color: #C6F432; --v52-emerald-1: #C6F432; --v52-emerald-2: #C6F432; --v52-emerald-3: #A78BFA;
  --v52-emerald-soft: rgba(198,244,50,0.16); --v52-emerald-glow: rgba(198,244,50,0.28);
  --v52-gold: #C6F432; --v52-gold-light: #C6F432; --v52-gold-soft: rgba(198,244,50,0.16);
  --v52-backdrop-image: none;

  /* SaaS compatibility tokens */
  --bg-primary: #0B0B1F; --bg-page: #0B0B1F;
  --bg-card: rgba(22,22,60,0.88) !important; --bg-surface: rgba(22,22,60,0.88) !important; --bg-card-subtle: rgba(22,22,60,0.88);
  --text-main: #C9CCF0 !important; --text-heading: #FFFFFF !important; --text-muted: #A3A8D6 !important;
  --border-color: rgba(165,180,252,0.18) !important;
  --primary-accent: #C6F432 !important; --brand-color: #C6F432 !important; --brand-color-alpha: rgba(198,244,50,0.16);
  --btn-bg: #C6F432; --btn-text: #0B0B1F;
  --form-label-color: #FFFFFF !important;
  --form-input-bg: #0E0E2A !important;
  --form-input-border: 1.5px solid rgba(165,180,252,0.3) !important;
  --form-input-text: #FFFFFF !important;
  --form-input-placeholder: #8D93C4 !important;
  --header-bg: transparent; --header-bg-scrolled: rgba(11,11,31,0.9);
  --footer-bg: #07071A; --footer-gradient: none; --footer-border: rgba(255,255,255,0.08);
  --footer-text: #C9CCF0; --footer-heading: #FFFFFF; --footer-muted: #8D93C4; --footer-bottom-bg: #040412;
  --v52-card-hover-shadow: 0 26px 50px rgba(124,58,237,0.35); --v52-card-accent-bar: linear-gradient(90deg,#C6F432,#22D3EE,#A78BFA);
  --v52-input-bg: #0E0E2A; --v52-input-border: rgba(165,180,252,0.3); --v52-input-text: #FFFFFF; --v52-placeholder: #8D93C4;
  --v52-header-scrolled: rgba(11,11,31,0.9); --v52-header-border: rgba(165,180,252,0.14);
}

/* ─── Page canvas: layered gradients, no images ──────────────────────────── */
:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) body, html:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant), body:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) {
  background-color: var(--bg-page) !important;
  background-image: var(--v52-page-gradient) !important;
  background-attachment: fixed !important;
  color: var(--v52-text-body);
  font-family: var(--font-body);
}

/* ─── Header: transparent → frosted glass, fixed height (no scroll jitter) ── */
:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) .site-header {
  background: transparent !important;
  border-bottom: 1px solid transparent !important;
  box-shadow: none !important;
  padding-block: 0.8rem !important;
  transition: background-color .25s ease, border-color .25s ease, box-shadow .25s ease !important;
}
:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) .site-header:is(.is-scrolled, .scrolled, .subpage-header) {
  background: var(--v52-header-scrolled) !important;
  backdrop-filter: blur(16px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
  border-bottom-color: var(--v52-header-border) !important;
  box-shadow: 0 6px 24px rgba(0,0,0,0.06) !important;
  padding-block: 0.8rem !important;
}
:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) .site-header :is(.brand-name, .logo-text) { color: var(--v52-text-h) !important; font-family: var(--font-heading) !important; }
:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) .site-header .nav-link { color: var(--v52-text-body) !important; font-weight: 600 !important; }
:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) .site-header .nav-link:is( .active) { color: var(--v52-accent-strong) !important; }
:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) .site-header .header-cta, :is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) .pato-drawer-cta, :is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) .mobile-cta {
  background: var(--v52-btn-gradient) !important;
  color: var(--v52-btn-text) !important;
  border: none !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  box-shadow: 0 8px 20px var(--v52-btn-shadow) !important;
}
:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) .mobile-toggle svg { color: var(--v52-text-h) !important; stroke: currentColor; }

/* ─── Cards: soft glass panels with gradient accent bar on hover ─────────── */
html:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) :is(.card, .feature-card, .feature-box, .service-card, .product-card, .pricing-card, .faq-item, .testimonial-card, .contact-card, .feed-card, .blog-card, .event-card, .member-card, .booking-card, .booking-form-col, .booking-services-col, .menu-item-card, .stat-item, .schedule-card, .donation-card, .download-card) {
  position: relative;
  background: var(--v52-card-bg) !important;
  border: 1px solid var(--v52-card-border) !important;
  border-radius: 22px !important;
  box-shadow: var(--v52-card-shadow) !important;
  color: var(--v52-text-body) !important;
  overflow: hidden !important;
  transition: transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease, border-color .35s ease !important;
}
html:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) :is(.card, .feature-card, .feature-box, .service-card, .product-card, .pricing-card, .testimonial-card, .blog-card, .event-card, .member-card, .menu-item-card, .download-card)::after {
  content: ''; position: absolute; left: 0; right: 0; top: 0; height: 4px;
  background: var(--v52-card-accent-bar);
  transform: scaleX(0); transform-origin: left; transition: transform .45s cubic-bezier(.16,1,.3,1);
  pointer-events: none;
  z-index: 2;
}
html:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) :is(.card, .feature-card, .feature-box, .service-card, .product-card, .pricing-card, .testimonial-card, .blog-card, .event-card, .member-card, .menu-item-card, .download-card):hover {
  transform: translateY(-6px);
  box-shadow: var(--v52-card-hover-shadow) !important;
  border-color: var(--v52-eyebrow-border) !important;
}
html:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) :is(.card, .feature-card, .feature-box, .service-card, .product-card, .pricing-card, .testimonial-card, .blog-card, .event-card, .member-card, .menu-item-card, .download-card):hover::after { transform: scaleX(1); }
html:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) :is(.card, .feature-card, .feature-box, .service-card, .product-card, .pricing-card, .faq-item, .testimonial-card, .contact-card, .blog-card, .event-card, .member-card, .booking-card, .booking-form-col, .booking-services-col, .menu-item-card, .stat-item, .schedule-card, .download-card) :is(h2, h3, h4, strong, .tier-name, .price, .price-amount) {
  color: var(--v52-text-h) !important;
}
html:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) :is(.card, .feature-card, .feature-box, .service-card, .product-card, .pricing-card, .faq-item, .testimonial-card, .contact-card, .blog-card, .event-card, .member-card, .booking-card, .booking-form-col, .booking-services-col, .menu-item-card, .stat-item, .schedule-card, .download-card) :is(p, li, .tier-desc, .price-period, .feature-text, span:not([class*="badge"]):not([class*="tag"]), label) {
  color: var(--v52-text-body);
}
html:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) .pricing-card.pricing-card:is( .popular) {
  background: var(--v52-card-bg) !important;
  background-color: var(--v52-card-bg) !important;
  border: 2px solid var(--v52-accent) !important;
  box-shadow: var(--v52-card-hover-shadow) !important;
  color: var(--v52-text-body) !important;
}
html:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) .pricing-card.pricing-card:is(.popular) :is(h2, h3, h4, strong, .tier-name, .price, .price-amount) {
  color: var(--v52-text-h) !important;
}
html:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) .pricing-card.pricing-card:is(.popular) :is(p, li, .tier-desc, .price-period, .feature-text) {
  color: var(--v52-text-body) !important;
}
html:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) .pricing-card.pricing-card:is(.standard, .popular) .check-icon {
  background: var(--v52-accent-soft) !important;
  color: var(--v52-accent-strong) !important;
}
html:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) .pricing-card.pricing-card:is(.popular) .popular-badge {
  background: var(--v52-result-cta-bg) !important;
  color: var(--v52-result-cta-text) !important;
  border: none !important;
}
html:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) .pricing-card.pricing-card:is(.standard, .popular) :is(.cta-button, button, a.cta-button),
html:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) .pricing-card.pricing-card:is(.standard, .popular) :is(.cta-button, button, a.cta-button):hover {
  background: var(--v52-btn-gradient) !important;
  color: var(--v52-btn-text) !important;
  border: none !important;
  box-shadow: 0 10px 24px var(--v52-btn-shadow) !important;
}

/* ─── Buttons ────────────────────────────────────────────────────────────── */

/* ─── About Eyebrow Tape Banner: high contrast in every mode ────────────── */
html:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) .v52-about-header-tape {
  background: var(--v52-eyebrow-bg) !important;
  color: var(--v52-eyebrow-text) !important;
  border: 1.5px solid var(--v52-eyebrow-border) !important;
}
html:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) :is(.v52-about-eyebrow-text, .v52-about-eyebrow-text span, .v52-about-header-tape span:not(.v52-tape-clip)) {
  color: var(--v52-eyebrow-text) !important;
  background: transparent !important;
}

/* ─── Forms, booking & donation modules: guaranteed contrast in every mode ─ */
html:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), select, textarea) {
  background: var(--v52-input-bg) !important;
  color: var(--v52-input-text) !important;
  border: 1.5px solid var(--v52-input-border) !important;
  border-radius: 12px !important;
  color-scheme: inherit;
}
html:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) :is(input, textarea)::placeholder { color: var(--v52-placeholder) !important; opacity: 1; }
html:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) :is(input, select, textarea):focus {
  outline: none !important;
  border-color: var(--v52-accent) !important;
  box-shadow: 0 0 0 4px var(--v52-accent-soft) !important;
}
html:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) :is(
  label, .form-label, .form-group label,
  .booking-form label, .booking-form-col label, .booking-form-col h3,
  .contact-card label, .donation-card .form-label,
  .booking-card :is(.form-title, .booking-title, .meta-val)
) { color: var(--v52-text-h) !important; }
html:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) :is(
  .form-subtitle, .booking-subtitle, .booking-form-col p, .booking-form-col .form-subtitle,
  .booking-card .meta-label, .booking-section .meta-label, .contact-card .consent-group label,
  .donation-card :is(.progress-stats, .stat-raised, .stat-goal, .stat-raised strong, .stat-goal strong, .currency-prefix)
) { color: var(--v52-text-body) !important; }
html:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) .donation-card .progress-box {
  background: var(--v52-input-bg) !important;
  border-color: var(--v52-card-border) !important;
}
html:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) :is(.amount-pill) {
  background: var(--v52-input-bg) !important;
  color: var(--v52-text-h) !important;
  border-color: var(--v52-card-border) !important;
}
html:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) .amount-pill:hover {
  border-color: var(--v52-accent-strong) !important;
  color: var(--v52-accent-strong) !important;
}
html:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) .amount-pill.active {
  background: var(--v52-result-cta-bg) !important;
  color: var(--v52-result-cta-text) !important;
  border-color: transparent !important;
}
html:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) :is(input[type="checkbox"]) { accent-color: var(--v52-accent); }

/* ─── Footer ─────────────────────────────────────────────────────────────── */
:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) .site-footer { background: var(--footer-bg) !important; color: var(--footer-text) !important; }
:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) .site-footer :is(h3, h4) { color: #FFFFFF !important; }
:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) .site-footer a { color: var(--footer-text) !important; }
:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) .site-footer a:hover { color: var(--v52-accent) !important; }

/* ─── Scroll micro-animations (enabled only when JS adds html.v52-motion) ── */
@media (prefers-reduced-motion: no-preference) {
  html.v52-motion:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) .v52-reveal {
    opacity: 0;
    transform: translate3d(0, 34px, 0) scale(.97);
    transition: opacity .7s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1);
    transition-delay: calc(var(--v52-i, 0) * 80ms);
  }
  html.v52-motion:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) .v52-reveal[data-from="left"]  { transform: translate3d(-48px, 0, 0) rotate(-2deg); }
  html.v52-motion:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) .v52-reveal[data-from="right"] { transform: translate3d(48px, 18px, 0) rotate(2deg) scale(.95); }
  html.v52-motion:is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) .v52-reveal.v52-in { opacity: 1; transform: none; }
}

/* ─── Mobile ─────────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  :is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) .header-container { padding: 0 1.25rem !important; }
  :is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) .site-header, :is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) .site-header:is(.is-scrolled, .scrolled) { padding-block: 0.6rem !important; }
  :is([data-theme="marigold_v52_vibrant"], .theme-marigold_v52_vibrant) :is(.booking-form-col, .booking-card) * { max-width: 100%; overflow-wrap: anywhere; }
}
