/* Kill the right-side white gap on mobile */
html, body { overflow-x: hidden; }

/* Keep common wrappers from pushing wider than the viewport */
.site, .ast-container, .ast-separate-container { overflow-x: hidden; }

/* Images/cover blocks never exceed the screen width */
img, .wp-block-image img { max-width: 100%; height: auto; display: block; }
.wp-block-cover, .wp-block-group { overflow: hidden; }

/* UAG / Spectra containers – prevent overflow */
.uagb-section__wrap, .uagb-container-inner-blocks-wrap { overflow: hidden; }

/* Off-canvas menu shouldn’t increase page width when hidden (Astra) */
.ast-mobile-popup-drawer { right: 0; left: auto; transform: translateX(100%); }
.ast-mobile-popup-drawer.active { transform: translateX(0); }

/* ===== Re-Elect Reiner — Classic Pro Theme ===== */
:root{
  --brand-700:#0e7a3b;   /* primary campaign green (dark) */
  --brand-600:#158f49;   /* hover/active */
  --brand-050:#e8f6ee;   /* light green wash */
  --ink-900:#121212;     /* headings */
  --ink-700:#2b2b2b;     /* body */
  --ink-500:#6b7280;     /* muted */
  --line:#e7e7e7;
  --radius:10px;
  --max:960px;
}

body.old-classic{
  background: #f7f8f9;
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji";
  color: var(--ink-700);
}

/* Topbar / Nav */
.old-topbar{ border-bottom:1px solid var(--line); background:#fff }
.old-topbar .inner{
  max-width:var(--max); margin:0 auto; padding:12px 18px;
  display:flex; align-items:center; justify-content:space-between; gap:18px;
}
.old-brand{ display:flex; align-items:center; gap:10px }
.old-brand__logo{ width:42px; height:42px; border-radius:8px; object-fit:cover }
.old-brand__name{ font-weight:800; color:var(--ink-900); letter-spacing:.2px }
.old-nav a{
  font-size:14px; color:var(--ink-700); text-decoration:none; padding:10px 0; margin:0 12px; position:relative;
}
.old-nav a:hover{ color:var(--ink-900) }
.old-nav a:focus-visible{ outline:2px solid var(--brand-600); outline-offset:2px }

/* Banner */
.old-banner{ position:relative }
.old-banner img{ width:100%; height:260px; object-fit:cover; display:block }
.old-banner .veil{ position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.38)) }
.old-banner .copy{
  position:absolute; inset:0; display:flex; align-items:flex-end;
  padding:16px 18px; max-width:var(--max); margin:0 auto; left:0; right:0;
}
.old-banner h2{ color:#fff; font-weight:800; font-size:28px; margin:0 0 4px }
.old-banner p{ color:#fff; opacity:.95; margin:0 }

/* Layout grid */
.old-wrap{ max-width:var(--max); margin:22px auto; background:#fff; border-radius:var(--radius); box-shadow:0 10px 30px rgba(0,0,0,.06); overflow:hidden }
.old-grid{ display:grid; grid-template-columns:260px 1fr; gap:22px; padding:22px }
@media (max-width:900px){ .old-grid{ grid-template-columns:1fr; padding:16px } }

/* Sidebar */
.old-box{ border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:#fff }
.old-sidebar .head{
  background:var(--brand-700); color:#fff; font-weight:800;
  padding:12px 14px; letter-spacing:.2px
}
.old-list li + li{ border-top:1px solid var(--line) }
.old-list a{
  display:block; padding:11px 14px; color:var(--ink-700); text-decoration:none;
}
.old-list a:hover{ background:#fafafa; color:var(--ink-900) }
.old-callout{
  border:1px solid var(--line); border-radius:var(--radius);
  background:var(--brand-050); padding:14px; line-height:1.45;
}
.old-link{ color:var(--brand-700); font-weight:700; text-decoration:underline }

/* Main content */
.old-prose h2{ color:var(--ink-900); font-size:24px; margin:.2em 0 .45em; font-weight:800 }
.old-prose p{ margin:.5em 0 0 }

.old-feats{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px }
@media (max-width:900px){ .old-feats{ grid-template-columns:1fr } }
.old-feat{ border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:#fff; transition:transform .18s ease, box-shadow .18s ease }
.old-feat:hover{ transform:translateY(-2px); box-shadow:0 8px 20px rgba(0,0,0,.06) }
.old-feat img{ width:100%; height:130px; object-fit:cover; display:block }
.old-feat .p{ padding:12px }
.old-feat h3{ margin:0 0 6px; font-weight:800; color:var(--ink-900) }
.old-feat p{ margin:0; color:var(--ink-700) }

.old-section{ margin-top:20px }
.old-news .head{
  background:var(--brand-700); color:#fff; font-weight:800; padding:11px 14px;
}
.old-news .body{ padding:12px 14px }

/* Footer */
.old-footer{ border-top:1px solid var(--line); background:#fff; padding:22px }
.old-footer .grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px }
@media (max-width:900px){ .old-footer .grid{ grid-template-columns:1fr } }
.old-footer strong{ color:var(--ink-900) }
.old-footnote{ font-size:12px; color:var(--ink-500); margin-top:8px }

/* Buttons */
.button, .btn, a.button{
  appearance:none; border:none; border-radius:12px; padding:10px 16px; font-weight:800;
  background:var(--brand-700); color:#fff !important; display:inline-block; text-decoration:none;
}
.button:hover{ background:var(--brand-600) }
.button:focus-visible{ outline:3px solid var(--brand-050); outline-offset:2px }

/* Utilities */
html, body { overflow-x:hidden }
img{ max-width:100%; height:auto }

/* Scope styles to this page only */
#contact-pro { --brand-700:#0e7a3b; --brand-600:#14924a; --ink-900:#0f172a; --ink-600:#475569; --line:#e6e8eb; --soft:#f7faf8; --shadow:0 10px 30px rgba(0,0,0,.06); }
#contact-pro { max-width:1200px; margin:0 auto; padding:48px 20px; }
#contact-pro .eyebrow{ color:var(--brand-700); font-weight:800; letter-spacing:.08em; text-transform:uppercase; font-size:.8rem; margin-bottom:6px; }
#contact-pro h1{ margin:0 0 10px; font-size:2rem; font-weight:900; color:var(--ink-900); }
#contact-pro p.lead{ margin:0 0 28px; color:var(--ink-600); line-height:1.6; max-width:850px; }
#contact-pro .grid{ display:grid; grid-template-columns:420px 1fr; gap:28px; }
@media (max-width:980px){ #contact-pro .grid{ grid-template-columns:1fr; } }
#contact-pro .card, #contact-pro .panel{ border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:var(--shadow); padding:22px 20px; }
#contact-pro .card{ background:linear-gradient(180deg,#ffffff 0%, #fbfdfb 100%); }
#contact-pro .card h2, #contact-pro .panel h2{ margin:0 0 10px; font-size:1.25rem; font-weight:900; color:var(--ink-900); }
#contact-pro .kv{ display:flex; gap:12px; align-items:flex-start; padding:14px 0; border-top:1px dashed #e4e6ea; }
#contact-pro .kv:first-of-type{ border-top:0; }
#contact-pro .icon{ width:36px;height:36px;border-radius:10px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;box-shadow:0 1px 0 rgba(0,0,0,.03); flex:0 0 36px; }
#contact-pro .kv strong{ display:block; color:var(--ink-900); }
#contact-pro .kv a{ color:var(--ink-600); text-decoration:none; }
#contact-pro .kv a:hover{ color:var(--brand-700); text-decoration:underline; }
#contact-pro .panel p.helper{ margin:0 0 16px; color:var(--ink-600); }
#contact-pro .field{ margin:0 0 14px; }
#contact-pro label{ display:block; font-weight:700; color:var(--ink-900); margin:0 0 6px; }
#contact-pro input[type="text"], #contact-pro input[type="email"], #contact-pro input[type="tel"], #contact-pro textarea,
#contact-pro .wpcf7-form-control, #contact-pro .wpforms-field input, #contact-pro .wpforms-field textarea{
  width:100%; border:1px solid #dfe3e8; border-radius:12px; padding:12px 14px; font:inherit; color:var(--ink-900); background:#fff; transition:border .15s, box-shadow .15s;
}
#contact-pro textarea{ min-height:180px; resize:vertical; }
#contact-pro input:focus, #contact-pro textarea:focus{ outline:0; border-color:var(--brand-600); box-shadow:0 0 0 4px rgba(20,146,74,.12); }
#contact-pro .row{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media (max-width:640px){ #contact-pro .row{ grid-template-columns:1fr; } }
#contact-pro .actions{ margin-top:8px; }
#contact-pro .btn, #contact-pro input[type="submit"], #contact-pro .wpforms-submit{
  display:inline-block; border:0; border-radius:999px; padding:12px 22px; background:var(--brand-700); color:#fff; font-weight:900; cursor:pointer; transition:transform .06s, filter .2s;
}
#contact-pro .btn:hover, #contact-pro .wpforms-submit:hover{ filter:brightness(.97); }
#contact-pro .btn:active{ transform:translateY(1px); }

/* CF7 / WPForms success + errors */
#contact-pro .wpcf7 form.sent .wpcf7-response-output, #contact-pro .wpforms-confirmation-container{
  margin-top:14px; border:1px solid #c6e8d2; background:#edf8f1; color:#0c5a2a; border-radius:12px; padding:12px 14px;
}
#contact-pro .wpcf7-not-valid-tip, #contact-pro .wpforms-error{ color:#b42318; font-weight:700; }

/* Make Contact section full width */
#contact-pro {
  width: 100%;
  max-width: 100%;      /* remove page box */
  margin: 0;            /* no auto-centering */
  padding: 48px 5%;     /* keep some side breathing room */
  box-sizing: border-box;
}
#contact-pro .grid {
  max-width: 1200px;    /* optional: limit only the inside grid */
  margin: 0 auto;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    /* Force desktop styles on iPads/tablets */
    body {
        /* Add desktop-specific styles here */
    }
}


