:root {
  /* Brand Colors */
  --brand-primary: #0ea5e9;
  --brand-primary-hover: #0284c7;
  --brand-primary-dark: #0369a1;
  --brand-accent: #22c55e;
  --brand-accent-hover: #16a34a;
  --brand-urgent: #f59e0b;
  --brand-urgent-hover: #d97706;
  --brand-danger: #ef4444;

  /* Backgrounds */
  --bg-page: #f8fafc;
  --bg-card: #ffffff;
  --bg-dark: #0b1220;
  --bg-dark-secondary: #1e293b;
  --bg-muted: #f1f5f9;

  /* Text */
  --text-primary: #0f172a;
  --text-body: #334155;
  --text-muted: #64748b;
  --text-on-dark: #e2e8f0;
  --text-on-dark-muted: #94a3b8;

  /* Borders & Shadows */
  --border: #e5e7eb;
  --border-dashed: #e2e8f0;
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.06);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.08);
  --shadow-lg: 0 6px 20px rgba(2,132,199,0.08);

  /* Radius */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-full: 50px;

  /* Spacing (4px base) */
  --space-1: 4px; --space-2: 8px; --space-3: 12px;
  --space-4: 16px; --space-5: 20px; --space-6: 24px;
  --space-8: 32px; --space-10: 40px; --space-12: 48px;

  /* Override Astra */
  --ast-global-color-0: #0ea5e9 !important;
  --ast-global-color-1: #0284c7 !important;
  --ast-global-color-2: #334155 !important;
  --ast-global-color-3: #64748b !important;
  --ast-global-color-4: #f8fafc !important;
  --ast-global-color-5: #ffffff !important;

  /* Override Elementor global colors (Astra compat residue) */
  --e-global-color-astglobalcolor0: #0ea5e9 !important;
  --e-global-color-astglobalcolor1: #0284c7 !important;
  --e-global-color-astglobalcolor2: #334155 !important;
  --e-global-color-astglobalcolor3: #64748b !important;
  --e-global-color-astglobalcolor4: #f8fafc !important;
  --e-global-color-astglobalcolor5: #ffffff !important;
  --e-global-color-astglobalcolor6: #0f172a !important;
  --e-global-color-astglobalcolor7: #e2e8f0 !important;
  --e-global-color-astglobalcolor8: #f1f5f9 !important;
}

/* Typography - system fonts, no Google Fonts needed */
body {
  font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  color: var(--text-body);
  line-height: 1.7;
}

h1, h2, h3, h4, h5, h6 {
  font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  color: var(--text-primary);
  font-weight: 700;
}

/* Post content typography improvements */
.entry-content {
    font-size: 1rem;
    line-height: 1.7;
    color: var(--text-body);
}

.entry-content h2 {
    border-left: 4px solid var(--brand-primary);
    padding-left: 16px;
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    font-weight: 700;
    color: var(--text-primary);
}

.entry-content h3 {
    font-weight: 600;
    margin-top: 2rem;
    margin-bottom: 0.75rem;
    color: var(--text-primary);
}

.entry-content h4 {
    font-weight: 600;
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
    color: var(--text-primary);
}

.entry-content p {
    margin-bottom: 1.25rem;
    line-height: 1.7;
}

/* Links */
.entry-content a {
    color: var(--brand-primary);
    text-decoration: none;
    transition: color 0.2s;
    border-bottom: 1px solid transparent;
}
.entry-content a:hover {
    color: var(--brand-primary-hover);
    border-bottom-color: var(--brand-primary-hover);
}


/* Buttons */
.btn-primary, .wp-block-button__link {
  background: linear-gradient(135deg, var(--brand-accent), var(--brand-accent-hover)) !important;
  color: #fff !important;
  padding: 14px 28px;
  border-radius: var(--radius-full);
  font-weight: 700;
  border: none;
  box-shadow: 0 4px 15px rgba(34,197,94,0.3);
  transition: all 0.25s;
  text-decoration: none !important;
}
.btn-primary:hover, .wp-block-button__link:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(34,197,94,0.4);
}

.btn-secondary {
  background: transparent;
  color: var(--brand-primary);
  border: 2px solid var(--brand-primary);
  padding: 12px 24px;
  border-radius: var(--radius-full);
  font-weight: 700;
  transition: all 0.2s;
}
.btn-secondary:hover {
  background: var(--brand-primary);
  color: #fff;
}

/* Coupon Cards */
.coupon-card {
  background: var(--bg-card);
  border: 2px dashed var(--border-dashed);
  border-radius: 14px;
  padding: 16px;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.coupon-card:hover {
  border-color: var(--brand-primary);
  box-shadow: var(--shadow-md);
}

/* CTA Box */
.cta-box {
  background: linear-gradient(135deg, var(--bg-dark), var(--bg-dark-secondary));
  border-radius: var(--radius-lg);
  padding: 24px;
  color: var(--text-on-dark);
}
.cta-box h3 { color: #fff; }
.cta-box p { color: var(--text-on-dark-muted); }

/* Content sections */
.content-section {
  background: var(--bg-card);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  padding: 32px;
}

/* Tables */
.entry-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
}
.entry-content table th {
  background: var(--bg-muted);
  font-weight: 600;
  text-align: left;
  padding: 12px 16px;
  border-bottom: 2px solid var(--border);
}
.entry-content table td {
  padding: 10px 16px;
  border-bottom: 1px solid var(--border);
}
.entry-content table tr:hover td {
  background: var(--bg-muted);
}

/* Lists */
.entry-content ul,
.entry-content ol {
    padding-left: 1.75rem;
    margin: 1.25rem 0;
}
.entry-content li {
    margin-bottom: 0.75rem;
    line-height: 1.6;
}
.entry-content li > p {
    margin-bottom: 0.5rem;
}


/* Blockquotes */
.entry-content blockquote {
    border-left: 4px solid var(--brand-accent);
    padding-left: 1.5rem;
    margin: 1.5rem 0;
    font-style: italic;
    color: var(--text-muted);
}

.entry-content strong {
    font-weight: 700;
    color: var(--text-primary);
}

.entry-content em {
    font-style: italic;
}

.entry-content code {
    background: var(--bg-muted);
    padding: 2px 6px;
    border-radius: 4px;
    font-family: "Courier New", monospace;
    font-size: 0.9em;
}

/* Breadcrumbs */
.ast-breadcrumbs, .rank-math-breadcrumb, nav.breadcrumb {
  font-size: 0.85rem;
  color: var(--text-muted);
  margin-bottom: 1rem;
}
.ast-breadcrumbs a, .rank-math-breadcrumb a, nav.breadcrumb a {
  color: var(--brand-primary);
}

/* ── Footer ──────────────────────────────────────────────── */
.site-footer {
  background: var(--bg-dark);
  color: var(--text-on-dark);
  padding: 3rem 0 2rem;
  margin-top: 3rem;
}
.site-footer .footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
.site-footer .footer-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 2rem;
  margin-bottom: 2rem;
}
.site-footer .footer-col h4 {
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 1rem;
}
.site-footer .footer-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.site-footer .footer-col ul li {
  margin-bottom: 0.5rem;
}
.site-footer .footer-col a {
  color: var(--text-on-dark-muted);
  text-decoration: none;
  transition: color 0.2s;
}
.site-footer .footer-col a:hover,
.site-footer a:hover {
  color: var(--brand-primary) !important;
}
.site-footer .footer-bottom {
  text-align: center;
  border-top: 1px solid rgba(255,255,255,0.1);
  padding-top: 2rem;
  color: var(--text-on-dark-muted);
  font-size: 0.9rem;
}
.site-footer .footer-disclaimer {
  font-size: 0.8rem;
  margin-top: 0.5rem;
  opacity: 0.7;
}

/* Dark container text overrides (root-cause fix for global h1-h6 color) */
.hero h1, .hero h2, .hero h3, .hero h4, .hero h5, .hero h6,
.page-hero h1, .page-hero h2, .page-hero h3, .page-hero h4, .page-hero h5, .page-hero h6,
.cat-hero h1, .cat-hero h2, .cat-hero h3, .cat-hero h4, .cat-hero h5, .cat-hero h6,
.sidebar-cta h1, .sidebar-cta h2, .sidebar-cta h3, .sidebar-cta h4, .sidebar-cta h5, .sidebar-cta h6,
.share h1, .share h2, .share h3, .share h4, .share h5, .share h6,
.cta-box h1, .cta-box h2, .cta-box h3, .cta-box h4, .cta-box h5, .cta-box h6,
.site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4, .site-footer h5, .site-footer h6,
.home .sidebar-box h1, .home .sidebar-box h2, .home .sidebar-box h3, .home .sidebar-box h4, .home .sidebar-box h5, .home .sidebar-box h6 {
  color: #fff !important;
}

.hero p,
.page-hero p,
.cat-hero p,
.sidebar-cta p,
.share p,
.cta-box p,
.site-footer p,
.site-footer li,
.home .sidebar-box p,
.home .sidebar-box span {
  color: var(--text-on-dark-muted) !important;
}

/* Blue sidebar CTA variant needs brighter paragraph contrast */
.sidebar-cta[style*="background:#0ea5e9"] p,
.sidebar-cta[style*="background: #0ea5e9"] p {
  color: #eaf6ff !important;
}

/* LP WhatsApp V2 — footer-note text + anchor contrast (WCAG AA on white bg) */
.ptop-wa2-footer-note,
.ptop-wa2-footer-note a {
  color: #334155 !important; /* slate-700: 9.6:1 contrast on #fff */
  text-decoration: underline;
}
.ptop-wa2-footer-note a:hover,
.ptop-wa2-footer-note a:focus {
  color: #0f172a !important; /* slate-900 on hover */
}
