/*
Theme Name: Gianina Senate High Fidelity Fix
Theme URI: https://gianinaangeles.com
Author: OpenAI
Description: High-fidelity campaign theme inspired by a modern political campaign site. Includes editable campaign panel in Customizer.
Version: 1.0.1
Text Domain: gianina-hf
*/

:root{
  --bg:#ffffff;
  --text:#101010;
  --muted:#5e5e5e;
  --line:#e8e8e8;
  --accent:#101010;
  --max:1280px;
  --content:1200px;
  --space: clamp(64px, 8vw, 112px);
  --space-sm: clamp(20px, 3vw, 32px);
  --radius: 0px;
  --shadow: 0 20px 50px rgba(0,0,0,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block;height:auto}
video{max-width:100%;display:block}
.site-wrap{overflow:hidden}
.container{width:min(calc(100% - 40px), var(--content));margin:0 auto}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:86px}
.branding{display:flex;align-items:center;gap:14px;min-width:0}
.branding img{max-height:38px;width:auto}
.branding-text{font-weight:700;letter-spacing:.01em;font-size:15px;line-height:1.1;max-width:200px}
.main-nav{display:flex;align-items:center;gap:28px;flex:1;justify-content:center}
.main-nav a{font-size:14px;font-weight:600;letter-spacing:.02em}
.header-cta{padding:12px 18px;border:1px solid var(--text);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.hero{padding:36px 0 24px}
.hero-grid{display:grid;grid-template-columns:3fr 1fr;gap:18px;align-items:stretch}
.hero-main, .hero-side{position:relative;overflow:hidden;background:#000}
.hero-main{min-height:660px}
.hero-main img{width:100%;height:100%;object-fit:cover;filter:brightness(.78)}
.hero-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;padding:40px}
.hero-copy{max-width:620px;color:#fff}
.kicker{font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin:0 0 18px}
.hero-title{font-family:"Cormorant Garamond", Georgia, serif;font-weight:700;font-size:clamp(64px,9vw,112px);line-height:.92;letter-spacing:-.03em;margin:0 0 14px}
.hero-sub{font-size:20px;line-height:1.35;max-width:520px;margin:0 0 28px;color:#f5f5f5}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 22px;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--text);background:#fff;color:#111;transition:.2s ease}
.btn:hover{transform:translateY(-1px)}
.btn--ghost{background:transparent;color:#fff;border-color:#fff}
.btn--dark{background:#111;color:#fff;border-color:#111}
.hero-side video,.hero-side img{width:100%;height:100%;object-fit:cover}
.hero-side{min-height:660px}
.hero-side .video-label{position:absolute;left:12px;bottom:12px;background:rgba(0,0,0,.72);color:#fff;padding:8px 10px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.signup-band{padding:18px 0 0}
.signup-card{display:grid;grid-template-columns:1.25fr 1fr;gap:28px;padding:34px;border:1px solid var(--line);background:#fff}
.signup-card h2,.section-title{font-family:"Cormorant Garamond", Georgia, serif;font-size:clamp(40px,5vw,64px);line-height:.96;letter-spacing:-.03em;margin:0 0 12px}
.signup-card p{font-size:18px;color:var(--muted);margin:0}
.lead-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start}
.lead-form input{width:100%;padding:15px 14px;border:1px solid var(--line);font-size:15px}
.lead-form .full{grid-column:1/-1}
.section{padding:var(--space) 0}
.candidate-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:46px;align-items:center}
.section-label{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;margin-bottom:10px}
.section-copy p{font-size:18px;color:var(--muted);margin:0 0 18px}
.section-copy .cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.photo-stack img{width:100%;height:auto}
.donate-panel{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0}
.donate-panel .donate-box{padding:28px;border:1px solid var(--line)}
.amounts{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.amounts a{padding:12px 16px;border:1px solid var(--text);font-weight:800;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.volunteer-grid{display:grid;grid-template-columns:1fr .9fr;gap:34px;align-items:center}
.dark-band{background:#111;color:#fff;padding:42px 0}
.dark-band h3{font-family:"Cormorant Garamond", Georgia, serif;font-size:clamp(36px,4vw,58px);margin:0 0 8px;line-height:.95}
.dark-band p{color:#e8e8e8;font-size:18px;margin:0}
.footer-signup{padding-top:0}
.site-footer{padding:38px 0 56px;border-top:1px solid var(--line)}
.footer-grid{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:start}
.footer-nav{display:flex;flex-wrap:wrap;gap:18px 24px;margin-bottom:14px}
.footer-meta{color:var(--muted);font-size:14px}
.socials{display:flex;gap:12px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.socials a{font-size:14px;font-weight:700}
.inner-hero{padding:56px 0 26px;border-bottom:1px solid var(--line)}
.inner-hero h1{font-family:"Cormorant Garamond", Georgia, serif;font-size:clamp(52px,7vw,92px);line-height:.92;letter-spacing:-.03em;margin:0 0 10px}
.inner-content{padding:42px 0 72px}
.content-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:start}
.prose{font-size:18px;color:#1b1b1b}
.prose p{margin:0 0 20px}
.priority-list a,.priority-list span{display:block;padding:18px 0;border-bottom:1px solid var(--line);font-family:"Cormorant Garamond", Georgia, serif;font-size:34px;line-height:1}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.news-card{border:1px solid var(--line);padding:18px;min-height:250px;display:flex;flex-direction:column;justify-content:space-between}
.news-card h3{font-family:"Cormorant Garamond", Georgia, serif;font-size:34px;line-height:.95;margin:0 0 10px}
.vol-form{max-width:760px}
.wa-float{position:fixed;right:18px;bottom:18px;z-index:999;background:#111;color:#fff;padding:14px 18px;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border:1px solid #111;box-shadow:var(--shadow)}
@media (max-width: 980px){
  .main-nav{display:none}
  .hero-grid,.signup-card,.candidate-grid,.donate-panel,.volunteer-grid,.content-grid,.news-grid{grid-template-columns:1fr}
  .hero-main,.hero-side{min-height:460px}
  .hero-overlay{padding:26px}
  .hero-title{font-size:clamp(52px,12vw,84px)}
  .signup-card{padding:24px}
}
@media (max-width:640px){
  .header-inner{min-height:78px}
  .branding-text{font-size:13px;max-width:120px}
  .header-cta{display:none}
  .container{width:min(calc(100% - 24px), var(--content))}
  .hero{padding-top:22px}
  .hero-main,.hero-side{min-height:360px}
  .hero-sub,.signup-card p,.section-copy p,.dark-band p,.prose{font-size:16px}
  .lead-form{grid-template-columns:1fr}
}


/* Form patch preserving original visual with visible labels */
.lead-form--native{display:block}
.lead-form__shell{width:100%}
.lead-form__native{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start}
.lead-form__field{display:flex;flex-direction:column;gap:6px;min-width:0}
.lead-form__field label{display:block;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;line-height:1.2;color:#111}
.lead-form__field input,
.lead-form__field textarea{width:100%;padding:15px 14px;border:1px solid var(--line);font-size:15px;border-radius:0;background:#fff;color:#111;box-shadow:none;font-family:inherit}
.lead-form__field textarea{min-height:120px;resize:vertical}
.lead-form__native .full{grid-column:1/-1}
.lead-form__actions{margin-top:0}
.lead-form__notice{margin:0 0 12px;padding:12px 14px;border:1px solid var(--line);font-size:13px;line-height:1.4;background:#fff}
.lead-form__notice--success{border-color:#111}
.lead-form__notice--invalid,
.lead-form__notice--error{border-color:#d9d9d9}
.lead-form--wpforms{display:block}
.lead-form--wpforms .wpforms-container,
.lead-form--wpforms .wpforms-container-full{margin:0;width:100%}
.lead-form--wpforms .wpforms-title,
.lead-form--wpforms .wpforms-description{display:none!important}
.lead-form--wpforms form{display:block;margin:0}
.lead-form--wpforms .wpforms-field-container{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start}
.lead-form--wpforms .wpforms-field{padding:0!important;margin:0!important}
.lead-form--wpforms .wpforms-field-label,
.lead-form--wpforms .wpforms-field-label-inline{display:block!important;font-size:12px!important;font-weight:800!important;letter-spacing:.08em!important;text-transform:uppercase!important;line-height:1.2!important;margin:0 0 6px!important;color:#111!important}
.lead-form--wpforms .wpforms-required-label,
.lead-form--wpforms .wpforms-field-sublabel{display:none!important}
.lead-form--wpforms .wpforms-field.wpforms-field-textarea,
.lead-form--wpforms .wpforms-field.wpforms-field-email{grid-column:1/-1}
.lead-form--wpforms input,
.lead-form--wpforms textarea,
.lead-form--wpforms select{width:100%!important;padding:15px 14px!important;border:1px solid var(--line)!important;font-size:15px!important;border-radius:0!important;background:#fff!important;color:#111!important;box-shadow:none!important;font-family:inherit!important}
.lead-form--wpforms textarea{min-height:120px;resize:vertical}
.lead-form--wpforms .wpforms-submit-container{margin-top:12px;padding:0!important}
.lead-form--wpforms button[type=submit],
.lead-form--wpforms .wpforms-submit{display:inline-flex!important;align-items:center;justify-content:center;gap:10px;padding:15px 22px!important;font-size:13px!important;font-weight:800!important;letter-spacing:.08em!important;text-transform:uppercase!important;border:1px solid #111!important;background:#111!important;color:#fff!important;transition:.2s ease;border-radius:0!important}
.lead-form--wpforms button[type=submit]:hover,
.lead-form--wpforms .wpforms-submit:hover{transform:translateY(-1px);background:#111!important}
.lead-form--wpforms .wpforms-error-container,
.lead-form--wpforms em.wpforms-error{font-size:12px!important;margin-top:6px!important}
@media (max-width:640px){
  .lead-form__native,
  .lead-form--wpforms .wpforms-field-container{grid-template-columns:1fr}
}
