/*
Theme Name: CampaignHeroAlt
Theme URI: https://example.com/
Author: Taylor Keeran
Description: Campaign theme with hero image overlay + parallax, alternating black/white sections, per-section CTA, black top bar, Democrat-blue accent. Intro section renders full page content; section teaser finds first paragraph even inside Columns blocks.
Version: 5.6.0
License: GPLv2 or later
Text Domain: campaign-hero-alt
*/
:root{
  --brand-navy:#0a4fff; /* Democrat blue */
  --brand-gold:#f2c94c;
  --brand-red:#ff4040;
  --accent-blue:#0a4fff;
  --text:#0f172a;
  --muted:#6b7280;
  --bg:#ffffff;
  --light:#f8fafc;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Madefor,"Helvetica Neue",Helvetica,Arial,sans-serif;color:var(--text);background:var(--bg)}
a{color:var(--accent-blue);text-decoration:none}
a:hover{text-decoration:underline}

/* Container: responsive with max 1600px */
.container{width:100%;max-width:1600px;margin:0 auto;padding:0 1.25rem}
@media (min-width:1280px){ .container{padding:0 1.5rem} }

/* Header: non-sticky black bar */
.header{position:static;top:auto;background:#000;border-bottom:1px solid #111;z-index:50}
.header-inner{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:.85rem 0}
.site-title{transition:font-size .25s ease;font-weight:800;font-size:1.75rem;letter-spacing:.2px;color:var(--brand-gold)}
.nav{display:flex;gap:1rem;align-items:center;margin-left:auto}
.nav a{font-weight:600;color:#fff}
.nav a:hover{opacity:.85;text-decoration:none}

/* Buttons - global polish */
.btn, .btn:link, .btn:visited{ text-decoration:none; }
.btn{ display:inline-block; padding:.7rem 1.05rem; border-radius:.5rem; font-weight:700;
       transition: background-color .15s ease, box-shadow .2s ease-out, transform .2s ease-out; }
.btn-primary{ background:#f2c94c; color:#111; }
.btn-primary:hover{ background:#f2c94c; box-shadow:0 6px 18px rgba(0,0,0,.12), 0 2px 6px rgba(0,0,0,.08); transform:translateY(-1px); }
.btn-alt{ background:#ff4040; color:#fff; }
.btn-alt:hover{ background:#d52f2f; box-shadow:0 6px 18px rgba(0,0,0,.12), 0 2px 6px rgba(0,0,0,.08); transform:translateY(-1px); }

/* HERO with parallax on desktop */
.hero{position:relative;min-height:62vh;display:flex;align-items:center;overflow:hidden}
.hero::before{ content:""; position:absolute; inset:0;
  background:var(--brand-navy) url('hero-fallback.jpg') center/cover no-repeat;
  background-attachment:fixed; filter:brightness(.7) saturate(1.1);
  will-change:background-position; transform:translateZ(0); }
@media (max-width:1024px){ .hero::before{ background-attachment:scroll; } }
.hero-inner{position:relative;z-index:1;width:100%}
.hero .badge{display:inline-block;background:#ffffff20;color:#fff;border:1px solid #ffffff40;
  padding:.25rem .6rem;border-radius:.375rem;font-weight:700;font-size:.75rem;letter-spacing:.5px}
.hero h1{font-size:2.6rem;line-height:1.1;margin:.5rem 0;color:#fff;max-width:14ch;text-shadow:0 2px 12px rgba(0,0,0,.25)}
.hero p.lead{max-width:65ch;font-size:1.15rem;color:#f3f4f6}
.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem}

/* Sections */
.section{padding:3rem 0}
.feature{display:grid;grid-template-columns:repeat(12,1fr);gap:1.5rem;align-items:center}
.feature .text{grid-column:span 6}
.feature .media{grid-column:span 6}
.feature .media img{width:100%;height:auto;border-radius:1rem;display:block;border:1px solid #e5e7eb}
.section h2{font-size:2rem;margin:0 0 .5rem}
.section .lead{color:var(--muted);margin:.35rem 0 0}
@media (min-width:1200px){ .feature{gap:2.5rem} .feature .text{padding-inline:2rem} }

/* Grid cards */
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1.25rem}
.card{grid-column:span 4;background:#fff;border:1px solid #e5e7eb;border-radius:1rem;padding:1rem}
.card h3{margin:.25rem 0 .5rem}

/* Footer */
.footer{background:#000;color:#e5e7eb;padding:2rem 0;margin-top:2rem}
.footer a{color:#e5e7eb}
.footer .mini{color:#cbd5e1;font-size:.9rem;margin-top:.75rem}

/* Title scaling */
@media (max-width:640px){ .site-title{font-size:1.25rem} }
@media (min-width:641px) and (max-width:1024px){ .site-title{font-size:1.5rem} }
@media (min-width:1025px){ .site-title{font-size:2.25rem} }

/* Mobile layout */
@media (max-width:900px){ .card{grid-column:span 6} }
@media (max-width:640px){ 
  .nav{display:flex;flex-wrap:wrap;justify-content:flex-end}
  .card{grid-column:span 12}
  .hero h1{font-size:1.9rem}
  .feature .text,.feature .media{grid-column:span 12}
}

/* Alternating sections */
.section.dark{background:#000 !important;color:#fff !important}
.section.dark a{color:#fff !important;text-decoration:underline}
.section.dark .feature .text{color:#fff !important}
.section.dark .feature .media img{border-color:#222 !important;background:#000 !important}
.section:not(.dark){background:#fff !important;color:#0f172a !important}
.section:not(.dark) .feature .media img{border-color:#e5e7eb !important;background:#fff !important}


/* Header socials */
.socials{display:flex;gap:.75rem;align-items:center;margin:0 .75rem 0 1rem;padding:0;list-style:none}
.socials a{display:inline-flex;color:#fff;opacity:.95}
.socials a:hover{opacity:.8;text-decoration:none}
.socials svg{display:block}
