/* ============================================================
   GRUSA Global Stylesheet — forces section classes to render
   regardless of WordPress content wrapper interference
   ============================================================ */

/* Section backgrounds — highest specificity */
body .rib-hero,
body .op-hero,
body .wb-hero,
body .au-hero {
  background: linear-gradient(135deg, #0d1f30 0%, #1a3a5c 60%, #1a4a6a 100%) !important;
}

/* Prevent nested hero wrappers from inheriting hero backgrounds */
body .rib-hero-inner,
body .rib-hero-text,
body .rib-hero-form-box,
body .au-hero-inner,
body .op-hero-inner,
body .wb-hero-inner {
  background: transparent !important;
  box-shadow: none !important;
}

body .rib-section--navy,
body .op-section--navy,
body .wb-section--navy,
body [class*="section--navy"] {
  background: #1a3a5c !important;
}

body .rib-section--smoke,
body .op-section--smoke,
body .wb-section--smoke,
body [class*="section--smoke"] {
  background: #f8f6f2 !important;
}

body .rib-section--white,
body .op-section--white,
body .wb-section--white,
body [class*="section--white"] {
  background: #ffffff !important;
}

/* Text colors on dark backgrounds */
body [class*="section--navy"] h1,
body [class*="section--navy"] h2,
body [class*="section--navy"] h3,
body .rib-hero h1,
body .rib-hero h2,
body .op-hero h1,
body .op-hero h2,
body .wb-hero h1,
body .wb-hero h2,
body .au-hero h1,
body .au-hero h2 {
  color: #ffffff !important;
}

body [class*="section--navy"] p,
body [class*="section--navy"] li {
  color: rgba(255,255,255,.72) !important;
}

/* Eyebrows */
body [class*="-eyebrow"] {
  display: block !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
}

body [class*="section--navy"] [class*="-eyebrow"] {
  color: #c8a96e !important;
}

/* CSS variables — declared at highest scope */
body {
  --navy: #1a3a5c;
  --navy2: #122a44;
  --blue: #1a5c8a;
  --gold: #c8a96e;
  --gold2: #a8893e;
  --mid: #5a6472;
  --smoke: #f8f6f2;
  --border: #e4ddd4;
  --white: #ffffff;
  --font-display: Georgia, 'Times New Roman', serif;
  --font-body: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Sections — padding */
body [class*="rib-section"],
body [class*="op-section"],
body [class*="wb-section"] {
  padding: clamp(56px,7vw,88px) clamp(20px,4vw,60px) !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Grid containers */
body [class*="-why-grid"],
body [class*="-provide-grid"],
body [class*="-cost-grid"],
body [class*="-vs-grid"] {
  display: grid !important;
}

/* Buttons */
body [class*="btn--gold"] {
  background: #c8a96e !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

body [class*="btn--gold"]:hover {
  background: #a8893e !important;
}

/* Remove all WP content wrapper constraints */
.entry-content,
.post-content,
.page-content,
.entry-content > *,
.post-content > * {
  max-width: 100% !important;
}

/* ── RIBUSA form fix ── */
#ribusaFormWrap,
.ribusa-form-wrap {
  background: #ffffff !important;
  border-radius: 12px !important;
  padding: 24px !important;
}
.ribusa-step {
  background: #ffffff !important;
}
.ribusa-step-title {
  color: #1a3a5c !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
  -webkit-text-fill-color: #1a3a5c !important;
}
.ribusa-step-sub,
.ribusa-step p {
  color: #5a6472 !important;
  -webkit-text-fill-color: #5a6472 !important;
}
.ribusa-form-wrap label,
.ribusa-options label {
  color: #2c3440 !important;
  -webkit-text-fill-color: #2c3440 !important;
}
