/* Patriot hero variants — used across all page heroes for a consistent
   patriotic look. Each variant uses a different SVG background. */

.bg-half.bg-patriot-stars,
.bg-half.bg-patriot-stripes,
.bg-half.bg-patriot-flag {
  background-color: #0f1547 !important;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 60px 0 70px !important;
}
@media (min-width: 768px) {
  .bg-half.bg-patriot-stars,
  .bg-half.bg-patriot-stripes,
  .bg-half.bg-patriot-flag {
    padding: 80px 0 90px !important;
  }
}

.bg-half.bg-patriot-stars   { background-image: url("../images/hosting/patriot-hero.svg"); }
.bg-half.bg-patriot-stripes { background-image: url("../images/hosting/patriot-hero-stripes.svg"); }
.bg-half.bg-patriot-flag    { background-image: url("../images/hosting/patriot-hero-flag.svg"); }

.bg-patriot-stars,
.bg-patriot-stripes,
.bg-patriot-flag {
  color: #fff;
}
.bg-patriot-stars .title,
.bg-patriot-stripes .title,
.bg-patriot-flag .title { color: #fff !important; }
.bg-patriot-stars .text-muted,
.bg-patriot-stripes .text-muted,
.bg-patriot-flag .text-muted { color: rgba(255, 255, 255, 0.85) !important; }
.bg-patriot-stars .text-primary,
.bg-patriot-stripes .text-primary,
.bg-patriot-flag .text-primary { color: #ffd166 !important; }
.bg-patriot-stars h1, .bg-patriot-stars h2, .bg-patriot-stars h3, .bg-patriot-stars h4, .bg-patriot-stars h5,
.bg-patriot-stripes h1, .bg-patriot-stripes h2, .bg-patriot-stripes h3, .bg-patriot-stripes h4, .bg-patriot-stripes h5,
.bg-patriot-flag h1, .bg-patriot-flag h2, .bg-patriot-flag h3, .bg-patriot-flag h4, .bg-patriot-flag h5 {
  color: #fff !important;
}

/* Buttons inside patriot heroes — high-contrast against navy backgrounds. */
.bg-patriot-stars .btn-primary,
.bg-patriot-stripes .btn-primary,
.bg-patriot-flag .btn-primary {
  background-color: #BF0A30 !important;
  border-color: #BF0A30 !important;
  color: #fff !important;
}
.bg-patriot-stars .btn-primary:hover,
.bg-patriot-stripes .btn-primary:hover,
.bg-patriot-flag .btn-primary:hover {
  background-color: #97081f !important;
  border-color: #97081f !important;
  color: #fff !important;
}
.bg-patriot-stars .btn-outline-primary,
.bg-patriot-stripes .btn-outline-primary,
.bg-patriot-flag .btn-outline-primary {
  background-color: transparent !important;
  border-color: rgba(255, 255, 255, 0.85) !important;
  color: #fff !important;
}
.bg-patriot-stars .btn-outline-primary:hover,
.bg-patriot-stripes .btn-outline-primary:hover,
.bg-patriot-flag .btn-outline-primary:hover {
  background-color: rgba(255, 255, 255, 0.15) !important;
  border-color: #fff !important;
  color: #fff !important;
}
.bg-patriot-stars .btn-light,
.bg-patriot-stripes .btn-light,
.bg-patriot-flag .btn-light {
  background-color: #fff !important;
  color: #0e0f5c !important;
  border-color: #fff !important;
}
/* Selected/active state in btn-groups (e.g. pricing toggle) — keep red. */
.bg-patriot-stars .btn-group .btn-primary,
.bg-patriot-stripes .btn-group .btn-primary,
.bg-patriot-flag .btn-group .btn-primary {
  background-color: #BF0A30 !important;
  border-color: #BF0A30 !important;
}

/* ── Trust strip ─────────────────────────────────────────────────────────
   Thin, full-width banner used between large sections to break visual
   rhythm and reinforce trust signals.  Two colorways — light red and light
   blue — alternated across pages. */
.s-trust-strip {
  padding: 26px 0;
  text-align: center;
  font-weight: 500;
  font-size: 0.98rem;
  line-height: 1.5;
  border-top: 1px solid rgba(0, 0, 0, 0.04);
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
}
.s-trust-strip .container { max-width: 980px; }
.s-trust-strip strong { font-weight: 700; }
.s-trust-strip i.mdi { font-size: 1.2rem; vertical-align: middle; margin-right: 6px; }

.s-trust-strip--red {
  background: #fff5f6;
  color: #6f0d1c;
}
.s-trust-strip--red strong { color: #BF0A30; }
.s-trust-strip--red i.mdi { color: #BF0A30; }

.s-trust-strip--blue {
  background: #eef3ff;
  color: #0e0f5c;
}
.s-trust-strip--blue strong { color: #1d24ca; }
.s-trust-strip--blue i.mdi { color: #1d24ca; }

@media (min-width: 768px) {
  .s-trust-strip { padding: 32px 0; font-size: 1.05rem; }
}

/* Dark-mode portal: keep the strips inert if any portal page ever uses one. */
html[data-portal-theme="dark"] .s-trust-strip--red {
  background: #2d1b1f; color: #e8b8c2;
}
html[data-portal-theme="dark"] .s-trust-strip--red strong,
html[data-portal-theme="dark"] .s-trust-strip--red i.mdi { color: #ff7a8c; }
html[data-portal-theme="dark"] .s-trust-strip--blue {
  background: #1f2a3d; color: #b8c8e8;
}
html[data-portal-theme="dark"] .s-trust-strip--blue strong,
html[data-portal-theme="dark"] .s-trust-strip--blue i.mdi { color: #6c8ee8; }
