/* ── IRRS Design System ────────────────────────────────────────────── */
:root {
  --navy:      var(--irrs-accent);
  --navy-mid:  var(--irrs-accent);
  --orange:    var(--irrs-primary);
  --orange-dk: var(--irrs-primary-hover);
  --surface:   #f7f9fc;
  --surface-low:#f2f4f7;
  --surface-mid:#eceef1;
  --surface-hi: #e0e3e6;
  --on-surface: var(--irrs-text);
  --on-surface-var: var(--irrs-text-muted);
  --outline-var: #c5c6cf;
}

/* Fonts */
body { font-family: 'Inter', sans-serif; color: var(--on-surface); background: var(--surface); }
.font-headline { font-family: 'Manrope', sans-serif; }

/* Foundation line (orange underline accent) */
.foundation-line::after {
  content: '';
  display: block;
  width: 60px;
  height: 4px;
  background: #E8622A;
  margin-top: 0.625rem;
  border-radius: 2px;
}

/* Scroll reveal */
.sr { opacity: 0; transform: translateY(24px); transition: opacity 0.55s ease, transform 0.55s ease; }
.sr.sr-visible { opacity: 1; transform: translateY(0); }
.sr-delay-1 { transition-delay: 0.1s; }
.sr-delay-2 { transition-delay: 0.2s; }
.sr-delay-3 { transition-delay: 0.3s; }
.sr-delay-4 { transition-delay: 0.4s; }

/* Glass nav */
.glass-nav {
  background: rgba(255,255,255,0.88);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

/* Announcement bar */
.announce-bar {
  background: #E8622A;
  color: #fff;
}

/* Service card hover icon */
.svc-card:hover .svc-icon {
  background: #E8622A !important;
  color: #fff !important;
}

/* Prose helpers */
.prose-irrs p { margin-bottom: 1.25rem; color: var(--on-surface-var); line-height: 1.75; }
.prose-irrs h3 { font-family: 'Manrope',sans-serif; font-weight:800; color:var(--navy); margin-top:1.5rem; margin-bottom:.5rem; }
.prose-irrs ul { list-style: disc; padding-left:1.5rem; color:var(--on-surface-var); }
.prose-irrs ul li { margin-bottom:.5rem; line-height:1.7; }

/* Lightbox */
#lightbox { background: rgba(0,0,0,0.85); }

/* WordPress preview / Customizer safety overrides */
a { color: inherit; text-decoration: none; }

/* Top announcement + nav */
.announce-bar,
.announce-bar a,
.announce-bar .material-symbols-outlined { color: #fff !important; }

header .hidden.md\:flex.items-center.gap-8 > a,
header .hidden.md\:flex.items-center.gap-8 > .relative.group > a,
#mobileMenu > a,
#mobileMenu button,
#mobileMenu #mobileServicesList a { color: #191c1e !important; }

header a[style*="background:#E8622A"],
#mobileMenu a[style*="background:#E8622A"] { color: #fff !important; }

/* Homepage: force intended text/button colors in key sections */
.bg-navy.py-24.text-white h2,
.bg-navy.py-24.text-white h4,
.bg-navy.py-24.text-white .font-headline,
.bg-navy.py-24.text-white .w-20 span { color: #fff !important; }

.bg-navy.py-24.text-white p { color: rgba(255,255,255,.78) !important; }

section.bg-white a[style*="background:#E8622A"] { color: #fff !important; }

section.py-24.bg-surface-low .text-center.sr > a.border-2.border-orange,
section.py-24.bg-surface-low .text-center.sr > a.border-2.border-orange .material-symbols-outlined { color: #191c1e !important; }

section.relative.py-24.text-white a[style*="background:#E8622A"] { color: #fff !important; }

/* Footer text tone */
footer p,
footer li,
footer a,
footer h5,
footer .text-xs,
footer .text-sm,
footer .text-base,
footer span:not(.material-symbols-outlined) {
  color: rgba(255,255,255,.72) !important;
}

footer .font-headline.text-3xl,
footer .font-headline.font-black.text-3xl { color: #fff !important; }

/* v1.0.3 targeted WordPress preview fixes */
header .hidden.md\:flex.items-center.gap-8 > a,
header .hidden.md\:flex.items-center.gap-8 > .relative.group > a {
  color: #191c1e !important;
}

header .hidden.md\:flex.items-center.gap-8 > a[style*="background:#E8622A"],
header .hidden.md\:flex.items-center.gap-8 > a[style*="background:#E8622A"] *,
#mobileMenu a[style*="background:#E8622A"],
#mobileMenu a[style*="background:#E8622A"] * {
  color: #fff !important;
}

header .relative.group [role="menu"] a {
  color: #45464e !important;
}

header .relative.group [role="menu"] a.font-semibold {
  color: #041534 !important;
}

header .relative.group [role="menu"] a:hover,
header .relative.group [role="menu"] a:hover * {
  color: #E8622A !important;
}


/* v1.1.2 mobile polish */
@media (max-width: 767px) {
  header nav.max-w-7xl.mx-auto.px-6.py-4.flex.items-center.justify-between {
    padding-top: 0.625rem !important;
    padding-bottom: 0.625rem !important;
  }

  #irrs-mobile-callbar {
    left: 12px;
    right: 12px;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 10px);
    border-radius: 18px;
    box-shadow: 0 12px 28px rgba(4,21,52,.22);
    overflow: hidden;
  }

  #irrs-mobile-callbar a {
    min-height: 52px;
    padding-top: 0.8rem !important;
    padding-bottom: 0.8rem !important;
    font-size: 1rem !important;
    line-height: 1.1 !important;
  }

  body { padding-bottom: 84px !important; }
}


/* v1.2.1 sitewide editable colors */
.announce-bar { background: var(--irrs-topbar-bg) !important; color: var(--irrs-topbar-text) !important; }
.announce-bar, .announce-bar a, .announce-bar .material-symbols-outlined { color: var(--irrs-topbar-text) !important; }
header .hidden.md\:flex.items-center.gap-8 > a,
header .hidden.md\:flex.items-center.gap-8 > .relative.group > a,
#mobileMenu > a, #mobileMenu button, #mobileServicesList a { color: var(--irrs-header-link) !important; }
header a[style*="background:#E8622A"], header a[style*="background:#E8622A"] *,
#mobileMenu a[style*="background:#E8622A"], #mobileMenu a[style*="background:#E8622A"] * { color: var(--irrs-header-button-text) !important; }
header .relative.group [role="menu"] a:hover, header .relative.group [role="menu"] a:hover * { color: var(--irrs-primary) !important; }
.foundation-line::after { background: var(--irrs-primary) !important; }
footer { background: var(--irrs-footer-bg) !important; }
footer p, footer li, footer a, footer h5, footer .text-xs, footer .text-sm, footer .text-base, footer span:not(.material-symbols-outlined) { color: var(--irrs-footer-text) !important; }
footer .font-headline.text-3xl, footer .font-headline.font-black.text-3xl { color: var(--irrs-footer-heading) !important; }
#irrs-mobile-callbar a { background: var(--irrs-mobile-callbar-bg) !important; color: var(--irrs-mobile-callbar-text) !important; }
