/* ==========================================================================
   IVY THEME — LIGHT  (v1.0.0)
   Applied over ivy.css to rebrand the entire site to the Ivy Theme design
   system: Geist typography, emerald/lime palette, light mesh surfaces.
   Everything is token-driven — override :root to rebrand further.
   ========================================================================== */

/* ── Fonts ──────────────────────────────────────────────────────────────── */
@font-face{font-family:'Geist';src:url('../fonts/geist-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Geist';src:url('../fonts/geist-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Geist';src:url('../fonts/geist-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Geist';src:url('../fonts/geist-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Geist Mono';src:url('../fonts/geist-mono-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}

/* ── 1. Tokens: remap ivy-* vars + new theme tokens ─────────────────────── */
:root{
  /* Brand remap (new theme values) */
  --ivy-navy:#0d1117;
  --ivy-navy-2:#0a0f14;
  --ivy-blue:#059669;
  --ivy-blue-dark:#047857;
  --ivy-violet:#7c3aed;
  --ivy-bg:#f6f7f9;
  --ivy-card:#ffffff;
  --ivy-ink:#0d1117;
  --ivy-muted:#6b7280;
  --ivy-border:#e8eaee;
  --ivy-soft:#f2f4f7;
  --ivy-success:#059669;
  --ivy-success-bg:#ecfdf5;
  --ivy-warn:#d97706;
  --ivy-warn-bg:#fffbeb;
  --ivy-radius:14px;
  --ivy-radius-sm:8px;
  --ivy-shadow:0 4px 6px -2px rgba(16,24,40,.04),0 12px 24px -6px rgba(16,24,40,.08);
  --ivy-shadow-sm:0 1px 2px rgba(16,24,40,.04),0 1px 3px rgba(16,24,40,.03);
  --ivy-font:'Geist',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --ivy-container:1200px;

  /* Ivy Theme tokens */
  --brand:#059669;
  --brand-50:#ecfdf5;
  --brand-100:#d1fae5;
  --brand-200:#a7f3d0;
  --brand-600:#047857;
  --brand-700:#065f46;
  --lime:#c7f858;
  --lime-soft:#ecfccb;
  --violet:#7c3aed;
  --inverse-bg:#0a0f14;
  --inverse-text:#f8fafc;
  --text-2:#374151;
  --text-3:#6b7280;
  --text-4:#9aa3af;
  --font-mono:'Geist Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --tracking-display:-.03em;
  --tracking-caps:.12em;
  --r-pill:999px;
  --ring:0 0 0 3px rgba(5,150,105,.16);
  --speed:160ms;
}

/* ── 2. Typography ──────────────────────────────────────────────────────── */
body, .ivy-legal, .aceai-p, .aceai-sub{
  font-family:var(--ivy-font) !important;
  letter-spacing:-.006em;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6,.elementor-heading-title,
.ivy-el-hero .elementor-heading-title{
  font-family:var(--ivy-font) !important;
  letter-spacing:var(--tracking-display) !important;
  font-weight:600 !important;
}
h1,.h1,.ivy-el-hero .elementor-heading-title{font-size:clamp(34px,4vw,52px) !important}
h2,.h2{font-size:clamp(26px,3vw,38px) !important}
h3,.h3{font-size:22px !important}
.eyebrow,.ivy-el-hero .ivy-hero-eyebrow,.elementor-widget-text-editor p.ivy-eyebrow{
  font-family:var(--ivy-font) !important;
  font-size:11px !important;font-weight:600 !important;
  text-transform:uppercase !important;
  letter-spacing:var(--tracking-caps) !important;
  color:var(--brand-700) !important;
}
.mono,.ivy-legal code,.tabular{font-family:var(--font-mono)}

/* Gradient text on heading emphasis */
h1 em,h2 em,h3 em,.elementor-heading-title em,
.gradient-text{
  background:linear-gradient(100deg,#059669,#0d9488 55%,#84cc16) !important;
  -webkit-background-clip:text !important;background-clip:text !important;
  -webkit-text-fill-color:transparent !important;color:transparent !important;
  font-style:normal !important;
}

/* ── 3. Nav / Header ────────────────────────────────────────────────────── */
.ivy-header{
  background:rgba(255,255,255,.82) !important;
  -webkit-backdrop-filter:saturate(1.5) blur(14px) !important;
  backdrop-filter:saturate(1.5) blur(14px) !important;
  border-bottom:1px solid var(--ivy-border) !important;
  box-shadow:none !important;
}
.ivy-logo{color:var(--ivy-ink) !important;font-weight:650 !important;letter-spacing:-.02em}
.ivy-logo-img{border-radius:8px}
.ivy-nav-link{
  color:var(--text-2) !important;font-size:13px !important;font-weight:500 !important;
  padding:8px 12px !important;border-radius:8px !important;
}
.ivy-nav-link:hover{color:var(--ivy-ink) !important;background:var(--ivy-soft) !important}
.ivy-signin,.ivy-cart{color:var(--text-2) !important}
.ivy-signin:hover,.ivy-cart:hover{color:var(--ivy-ink) !important}
.ivy-header-actions .ivy-btn-sm{
  height:36px !important;padding:0 16px !important;
  border-radius:10px !important;font-size:13px !important;font-weight:550 !important;
}
.ivy-header-actions .ivy-btn-primary,
.ivy-header-actions .ivy-btn-sm.ivy-btn-primary{
  background:var(--brand) !important;border-color:var(--brand) !important;color:#fff !important;
  box-shadow:0 1px 2px rgba(5,150,105,.25),inset 0 1px 0 rgba(255,255,255,.12) !important;
}
.ivy-header-actions .ivy-btn-primary:hover{background:var(--brand-600) !important;border-color:var(--brand-600) !important}

/* Dropdown / mega menu */
.ivy-dropdown,.ivy-dd-panel{
  background:var(--ivy-card) !important;
  border:1px solid var(--ivy-border) !important;
  border-radius:var(--ivy-radius) !important;
  box-shadow:var(--ivy-shadow) !important;
}
.ivy-dd-item:hover{background:var(--brand-50) !important}
.ivy-dd-name{color:var(--ivy-ink) !important;font-weight:600 !important}
.ivy-dd-cat{color:var(--text-3) !important}
.ivy-dd-logo img{border-radius:8px}

/* Mobile drawer */
.ivy-mobile{background:var(--ivy-card) !important;border-top:1px solid var(--ivy-border)}
.ivy-mobile a{color:var(--text-2) !important;font-weight:500 !important}
.ivy-mobile a:hover{background:var(--ivy-soft) !important;color:var(--ivy-ink) !important}

/* ── 4. Hero (Elementor) ───────────────────────────────────────────────── */
.ivy-el-hero{
  background:
    radial-gradient(600px 320px at 20% 0%,rgba(5,150,105,.08),transparent 60%),
    radial-gradient(520px 300px at 85% 10%,rgba(132,204,22,.10),transparent 60%),
    radial-gradient(560px 360px at 50% 100%,rgba(124,58,237,.06),transparent 60%),
    var(--ivy-bg) !important;
}
.ivy-el-hero .elementor-heading-title{color:var(--ivy-ink) !important}
.ivy-el-hero .elementor-widget-text-editor p{color:var(--text-2) !important}
.ivy-hero-trust{color:var(--text-3) !important}
.ivy-hero-trust .ivy-dot{background:var(--brand) !important}

/* Hero action buttons */
.ivy-hero-actions .elementor-widget-button.ivy-btn-primary .elementor-button{
  background:var(--brand) !important;border-color:var(--brand) !important;color:#fff !important;
  border-radius:10px !important;font-weight:550 !important;
  box-shadow:0 1px 2px rgba(5,150,105,.25),inset 0 1px 0 rgba(255,255,255,.12) !important;
}
.ivy-hero-actions .elementor-widget-button.ivy-btn-primary .elementor-button:hover{
  background:var(--brand-600) !important;border-color:var(--brand-600) !important;
}
.ivy-hero-actions .elementor-widget-button.ivy-btn-ghost .elementor-button{
  background:var(--ivy-card) !important;border-color:var(--ivy-border-strong,#dfe3e8) !important;
  color:var(--ivy-ink) !important;border-radius:10px !important;font-weight:550 !important;
  box-shadow:var(--ivy-shadow-sm) !important;
}
.ivy-hero-actions .elementor-widget-button.ivy-btn-ghost .elementor-button:hover{
  background:var(--ivy-soft) !important;
}

/* ── 5. Animated hero (recolor to green/lime) ──────────────────────────── */
.ivy-hero-anim{
  background:linear-gradient(140deg,#f0fdf4 0%,#ffffff 55%,#faf5ff 100%) !important;
  border-color:var(--ivy-border) !important;
}
.ivy-hero-glow.g1{background:rgba(5,150,105,.22) !important}
.ivy-hero-glow.g2{background:rgba(124,58,237,.16) !important}
.ivy-orbit-ring.r1{border-color:rgba(5,150,105,.18) !important}
.ivy-orbit-ring.r2{border-color:rgba(132,204,22,.16) !important}
.ivy-hero-window{border-color:var(--ivy-border) !important;box-shadow:0 24px 60px rgba(5,150,105,.10) !important}
.ivy-hw-bar{background:#fafdfb !important;border-color:var(--ivy-border) !important}
.ivy-hw-side{background:#f8fdf9 !important;border-color:var(--ivy-border) !important}
.ivy-hw-side b{background:#e3f5ec !important}
.ivy-hw-side b:nth-child(1){background:var(--brand) !important}
.ivy-mini{background:#f0fdf4 !important;border-color:#d1fae5 !important;color:var(--brand-700) !important}
.ivy-mini small{color:var(--brand-600) !important}
.ivy-hw-bars{background:#f8fdf9 !important;border-color:#e3f5ec !important}
.ivy-hw-bars i{background:#b7e4cd !important}
.ivy-hw-bars i:nth-child(5){background:var(--brand) !important}
.ivy-hw-line{background:#eef8f2 !important}
.ivy-float{border-color:var(--ivy-border) !important;box-shadow:0 14px 34px rgba(5,150,105,.10) !important}
.ivy-float .ico.c1{background:var(--brand) !important}
.ivy-float .ico.c2{background:#84cc16 !important}
.ivy-float .ico.c3{background:var(--violet) !important}
.ivy-float .ico.c4{background:var(--brand-600) !important}
.ivy-float .ico.c5{background:var(--lime) !important;color:#052e21 !important}
.ivy-float b{color:var(--ivy-ink) !important}
.ivy-float small{color:var(--text-3) !important}
.ivy-typing{background:var(--inverse-bg) !important;color:var(--inverse-text) !important}
.ivy-typing b{color:var(--lime) !important}
.ivy-caret{background:var(--lime) !important}
.ivy-svc-marquee{background:rgba(255,255,255,.88) !important;border-color:var(--ivy-border) !important}
.ivy-svc-marquee-track{color:var(--text-3) !important}
.ivy-svc-marquee-track span::before{background:var(--brand) !important}

/* ── 6. Cards & grids ───────────────────────────────────────────────────── */
.card,.ivy-card,.ivy-svc,.ivy-sd,.ivy-panel,.ivy-panel-el,.ivy-step,.ivy-model{
  background:var(--ivy-card) !important;
  border:1px solid var(--ivy-border) !important;
  border-radius:var(--ivy-radius) !important;
  box-shadow:var(--ivy-shadow-sm) !important;
}
.card--hover:hover,.ivy-card:hover,.ivy-sd:hover,.ivy-svc:hover{
  box-shadow:var(--ivy-shadow) !important;
  border-color:var(--border-strong,#dfe3e8) !important;
  transform:translateY(-1px);
}
.ivy-card h3,.ivy-sd h3,.ivy-svc h3,.ivy-panel h3,.ivy-step h3,.ivy-model h3{
  color:var(--ivy-ink) !important;font-weight:600 !important;
}
.ivy-card p,.ivy-sd p,.ivy-svc p,.ivy-panel p,.ivy-step p,.ivy-model p{color:var(--text-2) !important}

/* Product / service card icons */
.card__icon,.ivy-svc .tag,.ivy-sd .tag{
  background:var(--brand-50) !important;color:var(--brand-700) !important;
  border:1px solid var(--brand-100) !important;
}
.card__foot{color:var(--brand-600) !important;font-weight:550 !important}
.ivy-sd .deliv{border-color:var(--ivy-border) !important;color:var(--text-3) !important}
.ivy-sd .deliv b{color:var(--ivy-ink) !important}

/* Product cards in directory */
.ivy-card-logo{border-radius:10px}

/* ── 7. Buttons ─────────────────────────────────────────────────────────── */
.ivy-btn,.ivy-btn-primary,.ivy-btn-ghost,.ivy-btn-navy,.elementor-button{
  border-radius:10px !important;
  font-family:var(--ivy-font) !important;
  font-weight:550 !important;
  transition:background var(--speed),border-color var(--speed),color var(--speed),box-shadow var(--speed),transform 90ms;
}
.ivy-btn-primary,.ivy-main .elementor-widget-button.ivy-btn-primary .elementor-button{
  background:var(--brand) !important;border-color:var(--brand) !important;color:#fff !important;
  box-shadow:0 1px 2px rgba(5,150,105,.25),inset 0 1px 0 rgba(255,255,255,.12) !important;
}
.ivy-btn-primary:hover,.ivy-main .elementor-widget-button.ivy-btn-primary .elementor-button:hover{
  background:var(--brand-600) !important;border-color:var(--brand-600) !important;color:#fff !important;
}
.ivy-btn-ghost,.ivy-main .elementor-widget-button.ivy-btn-ghost .elementor-button{
  background:var(--ivy-card) !important;border-color:var(--ivy-border-strong,#dfe3e8) !important;
  color:var(--ivy-ink) !important;box-shadow:var(--ivy-shadow-sm) !important;
}
.ivy-btn-ghost:hover,.ivy-main .elementor-widget-button.ivy-btn-ghost .elementor-button:hover{
  background:var(--ivy-soft) !important;color:var(--ivy-ink) !important;
}
.ivy-btn-navy,.ivy-main .elementor-widget-button.ivy-btn-navy .elementor-button{
  background:var(--inverse-bg) !important;border-color:var(--inverse-bg) !important;color:var(--inverse-text) !important;
}

/* ── 8. Stats / strips ──────────────────────────────────────────────────── */
.ivy-el-strip{background:var(--ivy-card) !important;border-top:1px solid var(--ivy-border);border-bottom:1px solid var(--ivy-border)}
.ivy-el-strip .elementor-widget-text-editor p{color:var(--text-2) !important}
.stats,.stats__item{border-color:var(--ivy-border) !important}
.stats__num{color:var(--brand-700) !important;font-family:var(--font-mono) !important;font-weight:650 !important;letter-spacing:var(--tracking-display)}
.stats__label{color:var(--text-3) !important}

/* ── 9. Pricing ─────────────────────────────────────────────────────────── */
.plan,.ivy-pricing-card{
  background:var(--ivy-card) !important;border:1px solid var(--ivy-border) !important;
  border-radius:var(--ivy-radius) !important;box-shadow:var(--ivy-shadow-sm) !important;
}
.plan--featured,.ivy-pricing-card--featured{
  border-color:var(--brand-200) !important;
  background:linear-gradient(180deg,var(--brand-50) 0%,var(--ivy-card) 70%) !important;
  box-shadow:0 20px 44px rgba(5,150,105,.14) !important;
}
.plan__label{color:var(--brand-700) !important;font-family:var(--font-mono) !important;letter-spacing:.14em !important}
.plan__amount{font-family:var(--font-mono) !important;font-variant-numeric:tabular-nums}
.plan__feats li::before{color:var(--brand) !important}

/* ── 10. CTA band (light green — key change) ────────────────────────────── */
.ivy-el-cta,.ivy-cta{
  background:#a7f3d0 !important;
  border:1px solid var(--brand-200) !important;
  border-radius:20px !important;
  color:var(--ivy-ink) !important;
}
.ivy-el-cta::before,.ivy-cta::before{
  background:radial-gradient(520px 300px at 15% 0%,rgba(5,150,105,.14),transparent 60%) !important;
}
.ivy-el-cta::after,.ivy-cta::after{
  background:radial-gradient(480px 280px at 90% 100%,rgba(132,204,22,.12),transparent 60%) !important;
}
.ivy-el-cta .elementor-heading-title,.ivy-cta h2{color:var(--ivy-ink) !important;opacity:1 !important}
.ivy-el-cta .elementor-widget-text-editor,.ivy-el-cta .elementor-widget-text-editor p,
.ivy-cta p{color:var(--text-2) !important;opacity:1 !important}
.ivy-el-cta .elementor-widget-button.ivy-btn-primary .elementor-button{
  background:var(--brand) !important;border-color:var(--brand) !important;color:#fff !important;
}
.ivy-el-cta .elementor-widget-button.ivy-btn-ghost .elementor-button,
.ivy-cta .ivy-btn-ghost{
  background:var(--ivy-card) !important;border-color:var(--ivy-border-strong,#dfe3e8) !important;
  color:var(--ivy-ink) !important;
}
.ivy-el-cta .elementor-widget-button.ivy-btn-ghost .elementor-button:hover,
.ivy-cta .ivy-btn-ghost:hover{background:var(--ivy-soft) !important}

/* ── 11. Footer ─────────────────────────────────────────────────────────── */
.ivy-footer{background:var(--inverse-bg) !important;color:rgba(248,250,252,.66) !important}
.ivy-footer h4{color:var(--inverse-text) !important;font-family:var(--font-mono) !important;
  font-size:11px !important;text-transform:uppercase !important;letter-spacing:.1em !important}
.ivy-footer a{color:rgba(248,250,252,.78) !important;font-size:12.5px !important}
.ivy-footer a:hover{color:var(--lime) !important}
.ivy-footer-brand p{color:rgba(248,250,252,.5) !important}
.ivy-footer-mail{color:var(--lime) !important}
.ivy-footer-bottom{border-top-color:rgba(255,255,255,.08) !important;color:rgba(248,250,252,.45) !important}
.ivy-footer-bottom a{color:rgba(248,250,252,.6) !important}

/* ── 12. Legal pages ────────────────────────────────────────────────────── */
.ivy-legal{color:var(--text-2) !important;font-family:var(--ivy-font) !important}
.ivy-legal h1{color:var(--ivy-ink) !important}
.ivy-legal h2,.ivy-legal h3{color:var(--ivy-ink) !important;font-weight:600 !important}
.ivy-legal a{color:var(--brand-600) !important;font-weight:500 !important}
.ivy-legal a:hover{color:var(--brand-700) !important}
.ivy-legal-meta{color:var(--text-3) !important}
.ivy-legal-lead{color:var(--text-2) !important}
.ivy-legal th{background:var(--surface-2,#f9fafb) !important;color:var(--brand-700) !important;
  font-family:var(--font-mono) !important;font-size:11px !important;letter-spacing:.08em !important}
.ivy-legal td{border-color:var(--ivy-border) !important;color:var(--text-2) !important}
.ivy-legal table{width:100% !important;border-collapse:collapse !important}
.ivy-legal blockquote{background:var(--brand-50) !important;border-left-color:var(--brand) !important;color:var(--text-2) !important}
.ivy-table-wrap{border:1px solid var(--ivy-border) !important;border-radius:var(--ivy-radius) !important}

/* ── 13. Product pages ──────────────────────────────────────────────────── */
.ivy-product-hero-side{color:var(--ivy-ink)}
.ivy-product-visual{border-color:var(--ivy-border) !important;border-radius:var(--ivy-radius) !important}
.ivy-product-hero-card{
  background:var(--ivy-card) !important;border:1px solid var(--ivy-border) !important;
  border-radius:var(--ivy-radius) !important;box-shadow:var(--ivy-shadow-sm) !important;
}
.ivy-product-hero-card .ivy-btn-primary{
  background:var(--brand) !important;border-color:var(--brand) !important;color:#fff !important;
}
.ivy-product-hero-card .ivy-btn-ghost{
  background:var(--ivy-card) !important;border-color:var(--ivy-border-strong,#dfe3e8) !important;
  color:var(--ivy-ink) !important;
}
.ivy-at-glance{background:var(--ivy-card) !important;border-color:var(--ivy-border) !important;border-radius:var(--ivy-radius) !important}
.ivy-at-glance b{color:var(--ivy-ink) !important}
.ivy-at-glance dt{color:var(--text-3) !important}
.ivy-faq details{border-color:var(--ivy-border) !important}
.ivy-faq summary{color:var(--ivy-ink) !important;font-weight:600 !important}
.ivy-badge{background:var(--success-bg,#ecfdf5) !important;color:var(--brand-700) !important}

/* ── 14. Legacy pages (blog, shop, woo, free tools) ─────────────────────── */
body.ivy-legacy{background:var(--ivy-bg) !important;color:var(--text-2) !important}
body.ivy-legacy .aceai-h1,body.ivy-legacy .aceai-h2,body.ivy-legacy .aceai-post-title{
  font-family:var(--ivy-font) !important;color:var(--ivy-ink) !important;
  letter-spacing:var(--tracking-display) !important;font-weight:600 !important;
}
body.ivy-legacy .aceai-h1 em,body.ivy-legacy .aceai-h2 em{
  color:var(--brand) !important;font-style:italic !important;
  background:none !important;-webkit-text-fill-color:var(--brand) !important;
}
body.ivy-legacy p,body.ivy-legacy li{color:var(--text-2) !important;font-family:var(--ivy-font) !important}
body.ivy-legacy a{color:var(--brand-600) !important}
body.ivy-legacy a:hover{color:var(--brand-700) !important}
body.ivy-legacy .aceai-eyebrow{color:var(--brand-700) !important}
body.ivy-legacy .aceai-blog-card,body.ivy-legacy .aceai-blog-featured{
  background:var(--ivy-card) !important;border-color:var(--ivy-border) !important;
  border-radius:var(--ivy-radius) !important;
}
body.ivy-legacy .aceai-blog-card-title{color:var(--ivy-ink) !important;font-weight:600 !important}
body.ivy-legacy .aceai-blog-card-category{color:var(--brand-600) !important}
body.ivy-legacy .aceai-blog-card-image-placeholder{
  background:linear-gradient(135deg,#d1fae5,#ecfdf5) !important;
}
body.ivy-legacy .aceai-blog-card-image-placeholder::after{
  background:radial-gradient(circle at 30% 35%,rgba(5,150,105,.18),transparent 45%),
    radial-gradient(circle at 70% 65%,rgba(132,204,22,.14),transparent 45%) !important;
}
body.ivy-legacy .aceai-blog-pagination .current{background:var(--brand) !important;border-color:var(--brand) !important}
body.ivy-legacy .aceai-blog-search button{background:var(--brand) !important}

/* Shop / Woo */
body.ivy-legacy .aceai-product h3,body.ivy-legacy .woocommerce-loop-product__title{color:var(--ivy-ink) !important}
body.ivy-legacy .aceai-product .add-to-cart-btn,body.ivy-legacy .aceai-product .button,
body.ivy-legacy .woocommerce a.button,body.ivy-legacy .woocommerce button.button{
  background:var(--brand) !important;border-color:var(--brand) !important;color:#fff !important;
  border-radius:var(--r-pill) !important;font-weight:550 !important;
}
body.ivy-legacy .aceai-product .button:hover,body.ivy-legacy .woocommerce a.button:hover{
  background:var(--brand-600) !important;border-color:var(--brand-600) !important;
}
body.ivy-legacy .aceai-product-image{background:var(--ivy-card) !important;border-color:var(--ivy-border) !important;border-radius:var(--ivy-radius) !important}
body.ivy-legacy .price,body.ivy-legacy .woocommerce-Price-amount{color:var(--ivy-ink) !important;font-family:var(--font-mono) !important}
body.ivy-legacy .woocommerce-message{background:var(--success-bg) !important;border-color:var(--brand-200) !important;color:var(--brand-700) !important}
body.ivy-legacy .woocommerce-error{background:#fff1f2 !important;border-color:#fda4af !important;color:#9f1239 !important}

/* Free tools */
.ivy-legacy .ft-hub{background:var(--ivy-card) !important;color:var(--ivy-ink) !important;font-family:var(--ivy-font) !important}
.ivy-legacy .ft-hero{
  background:linear-gradient(135deg,#ecfdf5 0%,#f0fdf4 50%,#faf5ff 100%) !important;
  color:var(--ivy-ink) !important;
}
.ivy-legacy .ft-hero h1{color:var(--ivy-ink) !important;font-family:var(--ivy-font) !important;font-weight:600 !important}
.ivy-legacy .ft-hero h1 em{color:var(--brand) !important;background:none !important;-webkit-text-fill-color:var(--brand) !important}
.ivy-legacy .ft-hero p{color:var(--text-2) !important}
.ivy-legacy .ft-hub h2,.ivy-legacy .ft-hub h3,.ivy-legacy .ft-hub h4{color:var(--ivy-ink) !important;font-family:var(--ivy-font) !important}
.ivy-legacy .ft-hub p,.ivy-legacy .ft-hub li{color:var(--text-2) !important}
.ivy-legacy .ft-hero span[style*="rgba(255,250,245"]{
  background:rgba(255,255,255,.6) !important;border-color:var(--brand-200) !important;color:var(--brand-700) !important;
}
.ivy-legacy .ft-hub [class*="card"]{background:var(--ivy-card) !important;border-color:var(--ivy-border) !important;border-radius:var(--ivy-radius) !important}
.ivy-legacy .ft-hub [style*="background:#B85C3F"],.ivy-legacy .ft-hub [style*="background: #B85C3F"]{
  background:var(--brand) !important;border-color:var(--brand) !important;color:#fff !important;
}
.ivy-legacy .ft-hub [style*="color:#B85C3F"],.ivy-legacy .ft-hub [style*="color: #B85C3F"]{color:var(--brand-600) !important}
.ivy-legacy .ft-hub [style*="background:#FFEEDC"]{background:var(--brand-50) !important;color:var(--brand-700) !important}
.ivy-legacy .ft-hub input,.ivy-legacy .ft-hub select,.ivy-legacy .ft-hub textarea{
  border-color:var(--ivy-border-strong,#dfe3e8) !important;border-radius:10px !important;
  background:var(--ivy-card) !important;
}

/* ── 15. Forms & tables ─────────────────────────────────────────────────── */
input,select,textarea,.wpcf7 input,.wpcf7 textarea,.wpcf7 select,
.fluentform input,.fluentform textarea,.fluentform select{
  border-color:var(--ivy-border-strong,#dfe3e8) !important;
  border-radius:10px !important;
  background:var(--ivy-card) !important;
  font-family:var(--ivy-font) !important;
  box-shadow:var(--ivy-shadow-sm) !important;
}
input:focus,select:focus,textarea:focus,.wpcf7 input:focus,.fluentform input:focus{
  border-color:var(--brand-200) !important;box-shadow:var(--ring) !important;
}
.wpcf7-submit,.fluentform .ff-btn,.ff-btn-submit{
  background:var(--brand) !important;border-color:var(--brand) !important;color:#fff !important;
  border-radius:10px !important;font-weight:550 !important;
}
.wpcf7-submit:hover,.ff-btn-submit:hover{background:var(--brand-600) !important}
table{border-color:var(--ivy-border) !important}
th{background:var(--surface-2,#f9fafb) !important;color:var(--brand-700) !important;font-family:var(--font-mono) !important}
td{border-color:var(--ivy-border) !important;color:var(--text-2) !important}

/* Alerts */
.alert,.wpcf7-response-output,.woocommerce-message,.woocommerce-info{
  border-radius:10px !important;font-family:var(--ivy-font) !important;
}

/* ── 16. Section / general polish ───────────────────────────────────────── */
.ivy-el-section{background:transparent !important}
.ivy-el-section--white{background:var(--ivy-card) !important}
.ivy-el-section--soft{background:var(--bg-soft,#fbfcfd) !important}
.ivy-section-head h2{color:var(--ivy-ink) !important}
.ivy-section-head p{color:var(--text-2) !important}
body.ivy-legacy .aceai-page-wrap{background:var(--ivy-bg) !important}
body.ivy-legacy .aceai-window{background:var(--ivy-card) !important;border-color:var(--ivy-border) !important}
body.ivy-legacy .aceai-member-hero,body.ivy-legacy .aceai-member-hero *{color:var(--inverse-text) !important}

/* Skip-link + focus */
:focus-visible{outline:none;box-shadow:var(--ring) !important;border-radius:8px}

/* ── 17. Responsive ─────────────────────────────────────────────────────── */
@media(max-width:1024px){
  .ivy-el-cta{margin:0 20px 64px !important;padding:40px 28px !important}
}
@media(max-width:760px){
  .ivy-el-cta{margin:0 16px 52px !important;padding:32px 20px !important}
  .ivy-hero-anim{min-height:380px}
  .ivy-float.f3,.ivy-float.f5{display:none}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.001ms !important;animation-duration:.001ms !important}
}

/* ── Fix: CTA band text visibility (higher specificity than ivy.css) ───── */
.ivy-el-cta .elementor-widget-heading .elementor-heading-title,
.ivy-el-cta h2,.ivy-cta h2{
  color:var(--ivy-ink) !important;opacity:1 !important;
}
.ivy-el-cta .elementor-widget-text-editor,
.ivy-el-cta .elementor-widget-text-editor p,
.ivy-el-cta p,.ivy-cta p{
  color:var(--text-2) !important;opacity:1 !important;
}
.ivy-el-cta .elementor-widget-button .elementor-button,
.ivy-el-cta .ivy-btn,.ivy-cta .ivy-btn{
  opacity:1 !important;
}
.ivy-el-cta .elementor-widget-button.ivy-btn-ghost .elementor-button,
.ivy-cta .ivy-btn-ghost{
  background:var(--ivy-card) !important;color:var(--ivy-ink) !important;
  border-color:var(--ivy-border-strong,#dfe3e8) !important;
}
.ivy-el-cta .elementor-widget-button.ivy-btn-primary .elementor-button{
  background:var(--brand) !important;color:#fff !important;border-color:var(--brand) !important;
}
/* Any remaining white text inside light CTA surfaces */
.ivy-el-cta *,.ivy-cta *{color:inherit}
.ivy-el-cta .elementor-heading-title,.ivy-el-cta p,.ivy-el-cta a,
.ivy-cta h2,.ivy-cta p,.ivy-cta a{color:var(--ivy-ink) !important}
.ivy-el-cta .elementor-widget-button .elementor-button{color:var(--ivy-ink) !important}
.ivy-el-cta .elementor-widget-button.ivy-btn-primary .elementor-button{color:#fff !important}
