/* Bridge WStyle shell ↔ hv3-chrome / hh-plan-rz */

body.hv3-chrome {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--hv3c-wash, #eef5fb);
}

body.hv3-chrome > .hv3-chrome-main {
  flex: 1 1 auto;
  padding-top: var(--hv3c-stack, 140px) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: none !important;
  width: 100%;
}

/* Global content rail — must load on ALL pages (not only home) */
.hh-wrap {
  width: min(1180px, calc(100% - 48px)) !important;
  max-width: 1180px;
  margin-inline: auto !important;
  box-sizing: border-box;
}
@media (max-width: 680px) {
  .hh-wrap {
    width: min(1180px, calc(100% - 28px)) !important;
  }
}

/* Keep Bootstrap leftovers from stretching edge-to-edge on catalog/content */
body.hv3-catalog-page .hv3-plans-section > .container,
body.hv3-content-page .container,
body.hv3-catalog-page section > .container {
  width: min(1180px, calc(100% - 48px));
  max-width: 1180px;
  margin-inline: auto;
  padding-left: 0;
  padding-right: 0;
}

/* Hide legacy WStyle chrome leftovers if any */
body.hv3-chrome .site-header,
body.hv3-chrome .topbar,
body.hv3-chrome .vh-camp { display: none !important; }

/* Mega tokens (hosting-mega.css expects these) */
:root {
  --hh-blue: #1d6fe8;
  --hh-navy: #101b33;
  --hh-bg-soft: #f4f8fd;
  --hh-line: #e6edf5;
  --hh-ink: #122033;
  --hh-muted: #64748b;
}

/* Mega nav host inside fixed chrome */
.hv3-chrome-mega {
  flex: 1;
  display: flex;
  justify-content: center;
  min-width: 0;
  position: relative;
}
.hv3-chrome-mega .hh-mega {
  width: 100%;
  max-width: 920px;
}
.hv3-chrome-mega .hh-mega-panel[hidden] {
  display: none !important;
}
.hv3-chrome-mega .hh-mega-panel:not([hidden]) {
  display: block;
  z-index: 60;
}
.hv3-chrome-mega .hh-mega-tab .bi-chevron-down {
  font-size: 11px;
  opacity: .55;
  margin-left: 2px;
}
@media (max-width: 991.98px) {
  .hv3-chrome-mega { display: none; }
}

.hv3-chrome-util .hv3-locale-toggle,
.hv3-chrome-util .btn-link {
  color: var(--hv3c-muted, #64748b) !important;
  text-decoration: none !important;
  font-weight: 700;
  font-size: 12px;
}

.hv3-chrome-cart.is-empty em { display: none; }

/* Category page hero → hv3 wash continuity */
body.hv3-chrome .page-hero.chrome-dark {
  margin-top: 0;
  border-radius: 0;
}

/* Plan cards: kill Bootstrap card chrome leftovers */
.hh-plan-rz-card.plan-card {
  background: #fff;
  border: 1px solid #e6edf5;
  box-shadow: 0 10px 28px rgba(16, 27, 51, .06);
}
.hh-plan-rz-feats {
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
  display: grid;
  gap: 6px;
}
.hh-plan-rz-feats li {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  font-size: 13px;
  color: #334155;
}
.hh-plan-rz-feats .bi-check2 { color: #1d6fe8; }

/* Billing toggle on category pages */
body.hv3-chrome .billing-toggle {
  background: #fff;
  border: 1px solid #e6edf5;
  border-radius: 999px;
  padding: 4px;
}
body.hv3-chrome .billing-option.active {
  background: #101b33 !important;
  color: #fff !important;
  border-radius: 999px;
}
body.hv3-chrome .nav-pills .nav-link.active {
  background: #101b33 !important;
}

/* Footer status pill reuse */
.hv3-chrome-foot-bottom .hv3-chrome-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #15803d;
  font-weight: 800;
  text-decoration: none;
}
.hv3-chrome-foot-bottom .hv3-chrome-status i {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #22c55e;
  box-shadow: 0 0 0 3px rgba(34,197,94,.18);
}

.hv3-chrome-foot-brand .muted,
.hv3-chrome-foot-brand p.muted {
  color: #94a3b8;
  font-size: 13px;
  margin: 6px 0 0;
}
.hv3-chrome-foot-brand p.muted strong {
  color: #e2e8f0;
  font-weight: 800;
  margin-right: 6px;
}
.hv3-chrome-foot-trust {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.08);
  color: #94a3b8;
  font-size: 13px;
}
.hv3-chrome-foot-trust strong {
  color: #e2e8f0;
  margin-right: 6px;
}

/* Sync stack height helper */
#hv3ChromeFixed { width: 100%; }

@media (max-width: 991.98px) {
  .hv3-mega-links { display: none; }
}
