/* ============================================================================
   ORRSubmit brand override for the Saap template.
   Loaded AFTER style.css. Remaps the template's blue/purple SaaS palette to the
   ORRSubmit civic identity: navy #14213d + civic gold #b8860b.
   Scoped to brand touchpoints only — buttons, accents, dark sections, icons,
   header, footer, and the waitlist form — so the template's layout and
   animations are untouched.
   ============================================================================ */
:root{
  --orr-navy:#14213d;
  --orr-navy-2:#1b2c4f;
  --orr-ink-soft:#3a4a6b;
  --orr-gold:#b8860b;
  --orr-gold-deep:#916a08;
  --orr-paper:#fbfbf9;
  --orr-line:#e6e6df;
}

body{ color:#2c3550; }
h1,h2,h3,h4,h5,.section-title h2{ color:var(--orr-navy); }

/* ---- Accent sub-titles ---- */
.sub-title{ color:var(--orr-gold) !important; }
.sub-title.sub-title-bg{ background:rgba(184,134,11,.10) !important; color:var(--orr-gold-deep) !important; }

/* ---- Primary buttons ---- */
.main-btn{ background:var(--orr-gold); color:#fff; border-radius:30px; letter-spacing:.02em; }
.main-btn:hover{ background:var(--orr-gold-deep); color:#fff; }
.main-btn.btn-gold{ background:var(--orr-gold); color:#fff; }
.main-btn.btn-gold:hover{ background:var(--orr-gold-deep); }
.main-btn.btn-white{ background:#fff; color:var(--orr-navy); }
.main-btn.btn-white:hover{ background:var(--orr-gold); color:#fff; }
.main-btn.btn-blue-dark{ background:var(--orr-gold) !important; color:#fff !important; }
.main-btn.btn-blue-dark:hover{ background:var(--orr-gold-deep) !important; }
.main-btn.bordered-btn.bordered-blue{ background:transparent; border:2px solid var(--orr-gold); color:var(--orr-gold-deep); }
.main-btn.bordered-btn.bordered-blue:hover{ background:var(--orr-gold); color:#fff; }
/* header "early access" button */
.header-navigation .header-right-nav ul li.nav-button .main-btn{ background:var(--orr-gold); color:#fff; border-color:var(--orr-gold); }
.navigation-white .header-right-nav ul li.nav-button .main-btn:hover{ background:#fff; color:var(--orr-navy); }

/* ---- Dark sections ---- */
.blue-dark{ background-color:var(--orr-navy) !important; }
.navigation-white.sticky{ background-color:var(--orr-navy) !important; }
.navigation-white.sticky .main-menu ul > li:hover > a,
.navigation-white.sticky .main-menu ul > li:hover.has-children > a:after,
.navigation-white .main-menu ul > li:hover > a{ color:var(--orr-gold) !important; }

/* ---- Hero: navy gradient so white nav + white hero text read cleanly ---- */
.hero-area.hero-style-one{
  background-image:linear-gradient(160deg,#14213d 0%,#1b2c4f 55%,#223766 100%) !important;
  background-color:var(--orr-navy);
}
.hero-area.hero-style-one .hero-content h1{ color:#fff; }
.hero-area.hero-style-one .hero-content p{ color:rgba(255,255,255,.82); }

/* ---- Feature / service / pricing icons → gold family ---- */
.block-style-one .icon i,
.block-style-two .icon i,
.pricing-item .icon i{ color:var(--orr-gold); }
.block-style-two .icon.bg-one{ background:rgba(184,134,11,.12); }
.block-style-two .icon.bg-two{ background:rgba(20,33,61,.08); }
.block-style-two .icon.bg-three{ background:rgba(184,134,11,.12); }
.block-style-two .icon.bg-four{ background:rgba(20,33,61,.08); }

/* ---- Checklist checks ---- */
.check-list-one li.check:before,
.check-list-one li:before{ color:var(--orr-gold) !important; }

/* ---- Links ---- */
a{ color:var(--orr-navy); }
a:hover{ color:var(--orr-gold); }
.entry-content .title a:hover{ color:var(--orr-gold); }

/* ---- Back to top ---- */
.back-to-top{ background:var(--orr-gold); color:#fff; }
.back-to-top:hover{ background:var(--orr-gold-deep); }

/* ---- Brand lockup (pinwheel + wordmark) in header & footer ---- */
.orr-brand{ display:inline-flex; align-items:center; gap:10px; text-decoration:none; }
.orr-brand img{ width:34px; height:34px; display:block; }
.orr-brand .orr-word{ font-family:Georgia,"Times New Roman",serif; font-size:1.35rem; font-weight:700;
  color:#fff; letter-spacing:.01em; line-height:1; }
.orr-brand .orr-word b{ color:var(--orr-gold); font-weight:700; }
.footer-area .orr-brand .orr-word{ color:#fff; }
/* Mobile slide-out menu has a light background → dark wordmark + colored mark */
.sidebar-logo .orr-word{ color:var(--orr-navy) !important; }
.sidebar-logo .orr-brand img{ border-radius:7px; }

/* ---- Footer → navy ---- */
.footer-area.footer-default{ background:var(--orr-navy); }
.footer-area.footer-default,
.footer-area .widget p,
.footer-area .footer-nav li a,
.footer-area .footer-copyright p,
.footer-area .info-list li,
.footer-area .info-list li span{ color:rgba(255,255,255,.72) !important; }
.footer-area .widget-title{ color:#fff !important; }
.footer-area .footer-nav li a:hover{ color:var(--orr-gold) !important; }
.footer-area .social-link li a{ background:rgba(255,255,255,.08); color:#fff; }
.footer-area .social-link li a:hover{ background:var(--orr-gold); color:#fff; }
.footer-copyright{ border-top:1px solid rgba(255,255,255,.1); }

/* ---- Preliminary-estimate disclaimer (ORRSubmit non-negotiable) ---- */
.orr-notice{ background:rgba(184,134,11,.08); border:1px solid rgba(184,134,11,.3);
  border-radius:8px; padding:18px 22px; color:var(--orr-ink-soft); font-size:.95rem; }
.orr-notice strong{ color:var(--orr-navy); }

/* ---- Waitlist form message + states ---- */
.cta-area .text-wrapper form .form_group{ position:relative; }
#notify-msg{ margin-top:14px; min-height:1.2em; font-size:.95rem; color:rgba(255,255,255,.9); }
#notify-form .form_control{ border-radius:30px; }
#notify-form button[disabled]{ opacity:.6; cursor:default; }

/* ---- Two-sided cards (citizens / agencies) spacing polish ---- */
.orr-split .block-style-one{ height:100%; background:#fff; border:1px solid var(--orr-line);
  border-radius:14px; padding:34px 30px; box-shadow:0 1px 2px rgba(20,33,61,.05),0 8px 30px rgba(20,33,61,.06); }
.orr-split .block-style-one .title{ margin-bottom:12px; }
.orr-eyebrow{ text-transform:uppercase; letter-spacing:.14em; font-size:.72rem; font-weight:700;
  color:var(--orr-gold-deep); display:inline-block; margin-bottom:10px; }

/* ---- Step numbers for "How it works" (gold so they read on the navy band) ---- */
.orr-step .num{ width:48px; height:48px; border-radius:50%; background:var(--orr-gold); color:var(--orr-navy);
  display:inline-flex; align-items:center; justify-content:center; font-weight:700; font-size:1.15rem;
  margin-bottom:18px; box-shadow:0 6px 18px rgba(184,134,11,.35); }

/* ---- Hero heading in natural sentence case (template forces capitalize) ---- */
.hero-area.hero-style-one .hero-content h1{ text-transform:none !important; }

/* ---- Feature icon circles → gold family (template ships them blue) ---- */
.block-style-one .icon{ background:rgba(184,134,11,.12) !important; }
.block-style-one .icon i{ color:var(--orr-gold) !important; }

/* ============================================================================
   Product mockups — replace the template's placeholder images with clean,
   on-brand previews. Fictional sample data; no real names, no real numbers.
   ============================================================================ */
.orr-mock{ background:#fff; border:1px solid var(--orr-line); border-radius:16px;
  box-shadow:0 1px 2px rgba(20,33,61,.05),0 18px 50px rgba(20,33,61,.12); padding:22px 24px; max-width:460px; }
.fancy-text-block-two .orr-mock{ margin-left:auto; }
.orr-mock-head{ display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding-bottom:16px; margin-bottom:16px; border-bottom:1px solid var(--orr-line); }
.orr-mock-id{ display:block; font-weight:700; color:var(--orr-navy); font-size:1.05rem; }
.orr-mock-sub{ display:block; color:#8790a3; font-size:.84rem; margin-top:2px; }
.orr-mock-badge{ font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em;
  padding:5px 11px; border-radius:20px; background:rgba(20,33,61,.08); color:var(--orr-navy); white-space:nowrap; }
.orr-mock-badge.gold{ background:var(--orr-gold); color:#fff; }

.orr-mock-steps{ list-style:none; margin:0; padding:0; }
.orr-mock-steps li{ display:flex; align-items:center; gap:12px; padding:9px 0; color:#8790a3; font-size:.95rem; }
.orr-mock-steps li i{ font-size:.8rem; width:18px; text-align:center; color:#cfd4de; }
.orr-mock-steps li.done{ color:var(--orr-navy); }
.orr-mock-steps li.done i{ color:#2e9e6b; }
.orr-mock-steps li.now{ color:var(--orr-navy); font-weight:600; }
.orr-mock-steps li.now i{ color:var(--orr-gold); }
.orr-mock-steps li .meta{ margin-left:auto; font-size:.8rem; color:#8790a3; font-weight:400; }
.orr-mock-steps li .meta.price{ color:var(--orr-gold-deep); font-weight:700; }

.orr-mock-rows{ list-style:none; margin:0; padding:0; }
.orr-mock-rows li{ display:flex; align-items:center; gap:12px; padding:11px 0; border-bottom:1px dashed var(--orr-line); font-size:.92rem; }
.orr-mock-rows li:last-child{ border-bottom:0; }
.orr-mock-rows .rid{ font-weight:700; color:var(--orr-navy); width:52px; }
.orr-mock-rows .rt{ color:#55607a; flex:1; }
.orr-mock-rows .rd{ font-size:.76rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em;
  padding:4px 9px; border-radius:16px; white-space:nowrap; }
.orr-mock-rows .rd.ok{ background:rgba(20,33,61,.07); color:var(--orr-navy); }
.orr-mock-rows .rd.due{ background:rgba(220,53,69,.12); color:#b22c39; }
.orr-mock-rows .rd.done{ background:rgba(46,158,107,.14); color:#217a52; }

@media (max-width:991px){ .orr-mock{ margin:0 auto 30px; } .fancy-text-block-two .orr-mock{ margin:0 auto 30px; } }
