
/* === Impero Hosting 2.3.1 — HARD contrast lock (ZoneSearch / License Hub standard) ===
   Do not re-bind paint to broken light --imp-surface + light --imp-fg from the template.
   Soft --imp-* bridge remains for icons/links that intentionally follow the page chrome. */
:root {
  --imp-fg-fallback: #0f172a;
  --imp-bg-fallback: #ffffff;
  --imp-heading-fallback: #0f172a;
  --imp-muted-fallback: #475569;
  --imp-surface-fallback: #f8fafc;
  --imp-border-fallback: #e2e8f0;
  --imp-fg: var(--body-color, var(--color-fg, var(--nf-body-text, var(--imp-fg-fallback))));
  --imp-bg: var(--body-bg, var(--color-bg, var(--nf-body-bg, var(--imp-bg-fallback))));
  --imp-heading: var(--heading-color, var(--nf-body-text, var(--imp-heading-fallback)));
  --imp-muted: var(--muted-color, color-mix(in srgb, var(--imp-fg) 62%, var(--imp-bg)));
  --imp-surface: var(--surface-color, var(--sh-card-bg, color-mix(in srgb, var(--imp-fg) 6%, var(--imp-bg))));
  --imp-border: var(--border-color, var(--sh-border, color-mix(in srgb, var(--imp-fg) 16%, var(--imp-bg))));
  --imp-icon: var(--imp-fg);
  --imp-link: var(--link-color, var(--nf-link, LinkText));
}
@supports (color: light-dark(#111, #eee)) {
  :root {
    --imp-fg-fallback: light-dark(#0f172a, #e8eef5);
    --imp-bg-fallback: light-dark(#ffffff, #0b1220);
    --imp-heading-fallback: light-dark(#0f172a, #f1f5f9);
    --imp-muted-fallback: light-dark(#475569, #9db0c0);
    --imp-surface-fallback: light-dark(#f8fafc, #121a28);
    --imp-border-fallback: light-dark(#e2e8f0, #2a3648);
  }
}

/* Locked dark product palette — readable ink on dark cards (never light-on-light) */
.ih-site,
.ih-content,
.ih-portal,
.ih-app,
.ih-control,
.ih-acquire,
.ih-order,
.ih-privacy {
  --ih-fg: #e8eef7;
  --ih-bg: #0b1220;
  --ih-bg-alt: #121a28;
  --ih-heading: #f8fafc;
  --ih-muted: #94a3b8;
  --ih-surface: #111827;
  --ih-surface-elev: #1a2332;
  --ih-border: rgba(226, 232, 240, 0.16);
  --ih-text: var(--ih-fg);
  --ih-accent: #38bdf8;
  --ih-accent-2: #818cf8;
  --ih-link: #7dd3fc;
  --ih-success: #34d399;
  --ih-warn: #f0b429;
  --ih-ink-on-accent: #0b1220;
  --ih-input-bg: #ffffff;
  --ih-input-fg: #0b1220;
  --ih-input-ph: #334155;
  --ih-gradient: linear-gradient(135deg, #0ea5e9 0%, #6366f1 55%, #a855f7 100%);
  --ih-radius: 14px;
  --ih-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
  --ih-font: inherit;
  color: var(--ih-fg) !important;
  color-scheme: dark;
}

:root {
  /* Global fallbacks when a fragment renders outside .ih-* roots */
  --ih-bg: #0b1220;
  --ih-bg-alt: #121a28;
  --ih-surface: #111827;
  --ih-border: rgba(226, 232, 240, 0.16);
  --ih-text: #e8eef7;
  --ih-fg: #e8eef7;
  --ih-muted: #94a3b8;
  --ih-accent: #38bdf8;
  --ih-accent-2: #818cf8;
  --ih-link: #7dd3fc;
  --ih-success: #34d399;
  --ih-gradient: linear-gradient(135deg, #0ea5e9 0%, #6366f1 55%, #a855f7 100%);
  --ih-radius: 14px;
  --ih-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
  --ih-font: inherit;
}

/* Standalone legacy shell only — full-page backdrop */
.ih-site:not(.ih-content) {
  color: var(--ih-text) !important;
  background: radial-gradient(circle at top right, rgba(56, 189, 248, 0.18), transparent 35%),
    radial-gradient(circle at bottom left, rgba(129, 140, 248, 0.14), transparent 30%),
    var(--ih-bg) !important;
  margin: 0;
  padding-bottom: 2rem;
  font-family: var(--ih-font);
}

/* Native Helix / SiteHive / NovaFrame: locked dark island (readable contrast) */
.ih-content {
  margin: 0;
  color: var(--ih-text) !important;
  background: transparent;
  padding: 0 0 2rem;
  font-family: var(--ih-font);
}
.ih-content h1,
.ih-content h2,
.ih-content h3,
.ih-portal h1,
.ih-portal h2,
.ih-app h1,
.ih-app h2 {
  color: var(--ih-heading, #f8fafc) !important;
}
.ih-content p,
.ih-content li,
.ih-portal p,
.ih-app p {
  color: var(--ih-muted, #94a3b8);
}
.ih-content a:not(.ih-btn):not(.ih-nav-cta):not(.ih-nav-link),
.ih-portal a:not(.ih-btn),
.ih-app a:not(.ih-btn) {
  color: var(--ih-link, #7dd3fc);
}
.ih-content input:not([type="checkbox"]):not([type="radio"]),
.ih-content textarea,
.ih-content select,
.ih-portal input:not([type="checkbox"]):not([type="radio"]),
.ih-portal textarea,
.ih-portal select,
.ih-app input:not([type="checkbox"]):not([type="radio"]),
.ih-app textarea,
.ih-app select {
  background: var(--ih-input-bg, #ffffff) !important;
  color: var(--ih-input-fg, #0b1220) !important;
  border: 1px solid #cbd5e1 !important;
  caret-color: var(--ih-input-fg, #0b1220);
}
.ih-content input::placeholder,
.ih-content textarea::placeholder,
.ih-portal input::placeholder,
.ih-app input::placeholder {
  color: var(--ih-input-ph, #334155) !important;
  opacity: 1 !important;
}

body.site-hosting #sp-main-body .ih-content,
body.tpl-novframe .ih-content {
  max-width: none;
}

/* Marketing pages stay contained; app surfaces override via .ih-fluid */
.ih-container {
  width: min(1140px, calc(100% - 2rem));
  margin: 0 auto;
  box-sizing: border-box;
}

/* Authenticated / app surfaces: edge-to-edge within NovaFrame main column */
.ih-container--fluid,
.ih-fluid .ih-container,
.ih-app.ih-fluid .ih-container {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-inline: clamp(0.75rem, 2vw, 1.75rem);
}

.ih-app.ih-fluid {
  width: 100%;
  max-width: none;
}

/* NovaFrame: drop portal-grid / component card width caps on app views */
body.ih-app-fluid .nf-portal-grid,
body.nf-option-com_imperohosting.view-portal .nf-portal-grid,
body.nf-option-com_imperohosting.view-control .nf-portal-grid,
body.nf-option-com_imperohosting.view-acquire .nf-portal-grid,
body.nf-option-com_imperohosting.view-privacy .nf-portal-grid,
body.nf-option-com_imperohosting.view-order .nf-portal-grid,
body.nf-option-com_imperomail.view-mailbox .nf-portal-grid,
body.nf-option-com_imperomail.view-compose .nf-portal-grid,
body.nf-option-com_imperomail.view-settings .nf-portal-grid {
  max-width: none !important;
  width: 100%;
  padding-inline: 0;
}

body.ih-app-fluid .nf-component,
body.nf-option-com_imperohosting.view-portal .nf-component,
body.nf-option-com_imperohosting.view-control .nf-component,
body.nf-option-com_imperohosting.view-acquire .nf-component,
body.nf-option-com_imperohosting.view-privacy .nf-component,
body.nf-option-com_imperohosting.view-order .nf-component,
body.nf-option-com_imperomail.view-mailbox .nf-component,
body.nf-option-com_imperomail.view-compose .nf-component,
body.nf-option-com_imperomail.view-settings .nf-component {
  max-width: none !important;
  width: 100%;
  padding-inline: clamp(0.5rem, 1.5vw, 1rem);
  box-sizing: border-box;
}

.ih-header {
  position: sticky;
  top: 0;
  z-index: 100;
  backdrop-filter: blur(16px);
  /* Light strip under solid orange NovaFrame header — never orange-on-orange */
  background: #fff7ed !important;
  border-bottom: 1px solid #fdba74;
  color: #0f172a !important;
}

.ih-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 64px;
}

.ih-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  text-decoration: none;
  font-size: 1.15rem;
  font-weight: 700;
}

.ih-brand-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: linear-gradient(135deg, #ef6c00, #ffca28);
  color: #fff !important;
}

.ih-brand-text strong {
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  filter: none !important;
}

.ih-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
}

.ih-nav-link {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  background-image: none !important;
  text-decoration: none;
  padding: 0.45rem 0.85rem;
  border-radius: 999px;
  font-size: 0.92rem;
  font-weight: 650;
  transition: color 0.2s, background 0.2s;
}

.ih-nav-link:hover,
.ih-nav-link.is-active {
  color: #9a3412 !important;
  -webkit-text-fill-color: #9a3412 !important;
  background: #ffedd5 !important;
}

.ih-nav-cta {
  background: linear-gradient(135deg, #ef6c00, #f59e0b) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-weight: 700;
}

.ih-main {
  padding: 2rem 0 3rem;
}

.ih-hero {
  padding: 3.5rem 0 2.5rem;
}

.ih-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(1.5rem, 3vw, 2.75rem);
  align-items: center;
}

.ih-hero-copy .ih-hero-lead {
  margin-bottom: 0;
}

.ih-hero-stats {
  margin-top: 1.75rem;
}

.ih-hero-visual,
.ih-media-frame {
  margin: 0;
  border-radius: calc(var(--ih-radius) + 6px);
  overflow: hidden;
  border: 1px solid var(--ih-border);
  background: color-mix(in srgb, var(--nf-header, #0ea5e9) 8%, var(--ih-surface));
  box-shadow: var(--ih-shadow);
}

.ih-hero-visual {
  aspect-ratio: 4 / 3;
  min-height: 280px;
}

.ih-hero-visual img,
.ih-media-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.ih-media-frame {
  aspect-ratio: 16 / 11;
  min-height: 220px;
}

.ih-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(1.25rem, 2.5vw, 2.25rem);
  align-items: center;
  margin-bottom: 1.75rem;
}

.ih-split .ih-section-title,
.ih-split .ih-section-lead {
  margin-top: 0;
}

.ih-eyebrow {
  display: inline-block;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  border: 1px solid var(--ih-border);
  color: var(--ih-accent);
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ih-hero h1 {
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 1.08;
  margin: 1rem 0;
  color: var(--ih-text);
}

.ih-hero-lead {
  color: var(--ih-muted);
  font-size: 1.08rem;
  max-width: 38rem;
}

.ih-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

.ih-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.85rem 1.25rem;
  border-radius: 12px;
  text-decoration: none;
  font-weight: 600;
  border: 1px solid transparent;
}

.ih-btn-primary {
  background: var(--ih-gradient);
  color: #fff;
}

.ih-btn-secondary {
  border-color: var(--ih-border);
  color: var(--ih-text);
  background: color-mix(in srgb, var(--nf-header, #fff) 6%, transparent);
}

.ih-hero-card {
  background: var(--ih-surface);
  border: 1px solid var(--ih-border);
  border-radius: calc(var(--ih-radius) + 4px);
  box-shadow: var(--ih-shadow);
  padding: 1.5rem;
}

.ih-stat-grid,
.ih-feature-grid,
.ih-trust-grid {
  display: grid;
  gap: 1rem;
}

.ih-stat-grid {
  grid-template-columns: repeat(3, 1fr);
  margin-top: 1rem;
}

.ih-stat {
  text-align: center;
  padding: 1rem;
  border-radius: var(--ih-radius);
  background: color-mix(in srgb, var(--nf-header, #fff) 6%, transparent);
  border: 1px solid var(--ih-border);
}

.ih-stat strong {
  display: block;
  font-size: 1.6rem;
}

.ih-section {
  padding: 2.5rem 0;
}

.ih-section-title {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  margin-bottom: 0.5rem;
  color: var(--ih-text);
}

.ih-section-lead {
  color: var(--ih-muted);
  max-width: 42rem;
  margin-bottom: 1.5rem;
}

.ih-feature-grid {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.ih-card {
  background: var(--ih-surface);
  border: 1px solid var(--ih-border);
  border-radius: var(--ih-radius);
  padding: 1.25rem;
  height: 100%;
}

.ih-card-icon {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--nf-accent, #38bdf8) 18%, transparent);
  color: var(--ih-accent);
  margin-bottom: 0.85rem;
}

.ih-trust-grid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.ih-trust-item {
  text-align: center;
  padding: 1rem;
  border-radius: var(--ih-radius);
  border: 1px dashed var(--ih-border);
  color: var(--ih-muted);
}

.ih-plan-card {
  background: var(--ih-surface);
  border: 1px solid var(--ih-border);
  border-radius: calc(var(--ih-radius) + 2px);
  color: var(--ih-text);
}

.ih-plan-card.featured {
  border-color: color-mix(in srgb, var(--nf-accent, #38bdf8) 55%, transparent);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--nf-accent, #38bdf8) 25%, transparent), var(--ih-shadow);
}

.ih-price {
  color: var(--ih-text);
}

.ih-features li::before {
  color: var(--ih-success);
}

.ih-compare-wrap {
  overflow-x: auto;
  border: 1px solid var(--ih-border);
  border-radius: var(--ih-radius);
  background: var(--ih-surface);
}

.ih-compare {
  width: 100%;
  border-collapse: collapse;
  min-width: 640px;
}

.ih-compare th,
.ih-compare td {
  padding: 0.85rem 1rem;
  border-bottom: 1px solid var(--ih-border);
}

.ih-compare th {
  text-align: left;
  color: var(--ih-muted);
  font-weight: 500;
}

.ih-faq details {
  background: var(--ih-surface);
  border: 1px solid var(--ih-border);
  border-radius: var(--ih-radius);
  padding: 1rem 1.1rem;
  margin-bottom: 0.75rem;
}

.ih-faq summary {
  cursor: pointer;
  font-weight: 600;
}

.ih-faq p {
  color: var(--ih-muted);
  margin: 0.75rem 0 0;
}

.ih-section-alt {
  background: color-mix(in srgb, var(--nf-header, #0288d1) 6%, transparent);
  border-block: 1px solid var(--ih-border);
}

.ih-section[id],
.ih-hero[id],
.ih-cta-final[id] {
  scroll-margin-top: 5.5rem;
}

html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

.ih-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1rem;
}

.ih-step {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  align-items: start;
  padding: 1.1rem 1.25rem;
  border: 1px solid var(--ih-border);
  border-radius: var(--ih-radius);
  background: var(--ih-surface);
}

.ih-step-num {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: #fff;
  background: var(--ih-gradient);
}

.ih-step h3 {
  margin: 0 0 0.35rem;
}

.ih-step p {
  margin: 0;
  color: var(--ih-muted);
}

.ih-plans-teaser .ih-btn {
  margin-top: 1rem;
}

.ih-check-list {
  margin: 0 0 1rem;
  padding-left: 1.1rem;
  color: var(--ih-muted);
}

.ih-check-list li {
  margin-bottom: 0.45rem;
}

.ih-assistente-block {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 1.5rem;
  align-items: center;
}

.ih-cta-final {
  text-align: center;
}

.ih-cta-final .ih-section-lead {
  margin-inline: auto;
}

.ih-cta-final .ih-hero-actions {
  justify-content: center;
}

.ih-portal,
.ih-hosting-plans {
  color: var(--ih-text);
}

.ih-portal .table,
.ih-hosting-plans .form-control,
.ih-hosting-plans .form-select {
  background: color-mix(in srgb, var(--nf-header, #fff) 6%, transparent);
  color: var(--ih-text);
  border-color: var(--ih-border);
}

.ih-footer {
  border-top: 1px solid var(--ih-border);
  padding: 2rem 0 1rem;
  margin-top: 2rem;
}

.ih-footer-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 1rem;
  align-items: start;
}

.ih-footer-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.ih-footer-badges span {
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  border: 1px solid var(--ih-border);
  font-size: 0.82rem;
  color: var(--ih-muted);
}

.ih-footer-copy {
  margin-top: 1rem;
  color: var(--ih-muted);
  font-size: 0.85rem;
}

#ih-chat-widget #ih-chat-toggle {
  background: var(--ih-gradient);
}

@media (max-width: 900px) {
  .ih-hero-grid,
  .ih-footer-grid,
  .ih-assistente-block,
  .ih-split {
    grid-template-columns: 1fr;
  }

  .ih-hero-visual {
    order: -1;
    min-height: 220px;
  }

  .ih-stat-grid {
    grid-template-columns: 1fr;
  }

  .ih-header-inner {
    flex-direction: column;
    align-items: flex-start;
    padding: 0.75rem 0;
  }
}

/* Hosting header: gold only on TOP-LEVEL items (never nested / mega children) */
/* Scope to SOLID header only — light community strips must stay dark text */
body.site-hosting .nf-header--solid .nf-nav .mod-menu > li > a,
body.site-hosting .nf-header-style--solid .nf-nav .mod-menu > li > a,
body.site-hosting .nf-header--solid .nf-community-nav--header .mod-menu > li > a {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff;
  background-image: none;
  background-clip: border-box;
  -webkit-background-clip: border-box;
  font-weight: 700 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .35);
  border-bottom: 2px solid transparent !important;
  filter: none;
}
body.site-hosting .nf-header--solid .nf-nav .mod-menu > li > a:hover,
body.site-hosting .nf-header--solid .nf-community-nav--header .mod-menu > li > a:hover {
  color: #fff8e1 !important;
  -webkit-text-fill-color: #fff8e1;
  border-bottom-color: color-mix(in srgb, #ffd54f 70%, transparent) !important;
}
body.site-hosting .nf-header--solid .nf-nav .mod-menu > li.current > a,
body.site-hosting .nf-header--solid .nf-nav .mod-menu > li.active > a,
body.site-hosting .nf-header--solid .nf-community-nav--header .mod-menu > li.current > a,
body.site-hosting .nf-header--solid .nf-community-nav--header .mod-menu > li.active > a,
body.site-hosting .nf-header-style--solid .nf-nav .mod-menu > li.current > a,
body.site-hosting .nf-header-style--solid .nf-nav .mod-menu > li.active > a {
  color: #ffffff !important;
  background-image: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: #ffffff !important;
  filter: none !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .4);
  border-bottom: 2px solid #ffca28 !important;
  box-shadow: inset 0 -2px 0 #ffca28;
}
@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
  body.site-hosting .nf-nav .mod-menu > li.current > a,
  body.site-hosting .nf-nav .mod-menu > li.active > a {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff;
    background-image: none;
    filter: none;
  }
}

/*
 * Submenu / megapanel under solid orange header:
 * previous gold transparent-fill leaked onto nested .current/.active → invisible.
 * Force a dark slate panel + solid white/gold text (always readable).
 */
body.site-hosting .nf-nav .mod-menu > li > ul,
body.site-hosting .nf-megamenu .nf-nav .mod-menu > li > ul,
body.site-hosting .nf-header--solid .nf-community-nav--header .mod-menu > li > ul {
  background: linear-gradient(165deg, #1e293b 0%, #0f172a 100%) !important;
  border-top: 3px solid #ffca28 !important;
  box-shadow: 0 22px 48px rgba(0, 0, 0, .45) !important;
  color: #f8fafc !important;
}
body.site-hosting .nf-nav .mod-menu > li > ul a,
body.site-hosting .nf-nav .mod-menu > li > ul span.nav-header,
body.site-hosting .nf-nav .mod-menu > li > ul span.separator,
body.site-hosting .nf-nav .mod-menu > li > ul .mod-menu__heading,
body.site-hosting .nf-megamenu .nf-nav .mod-menu > li > ul > li > a,
body.site-hosting .nf-megamenu .nf-nav .mod-menu > li > ul ul a,
body.site-hosting .nf-header--solid .nf-community-nav--header .mod-menu > li > ul a {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background-image: none !important;
  background-clip: border-box !important;
  -webkit-background-clip: border-box !important;
  filter: none !important;
  text-shadow: none !important;
  opacity: 1 !important;
  border-bottom-color: color-mix(in srgb, #ffca28 55%, transparent) !important;
}
body.site-hosting .nf-nav .mod-menu > li > ul a:hover,
body.site-hosting .nf-megamenu .nf-nav .mod-menu > li > ul a:hover,
body.site-hosting .nf-header--solid .nf-community-nav--header .mod-menu > li > ul a:hover {
  color: #ffecb3 !important;
  -webkit-text-fill-color: #ffecb3 !important;
  background: color-mix(in srgb, #ffca28 16%, transparent) !important;
}
body.site-hosting .nf-nav .mod-menu > li > ul li.current > a,
body.site-hosting .nf-nav .mod-menu > li > ul li.active > a,
body.site-hosting .nf-megamenu .nf-nav .mod-menu > li > ul li.current > a,
body.site-hosting .nf-megamenu .nf-nav .mod-menu > li > ul li.active > a {
  color: #ffca28 !important;
  -webkit-text-fill-color: #ffca28 !important;
  background-image: none !important;
  background-clip: border-box !important;
  -webkit-background-clip: border-box !important;
  border-bottom: 2px solid #ffca28 !important;
  filter: none !important;
}
body.site-hosting .nf-megamenu .nf-nav .mod-menu > li > ul > li {
  background: color-mix(in srgb, #ffffff 6%, transparent) !important;
}

/* If megamenu is off, still show a readable hover dropdown (template hid nested lists) */
body.site-hosting:not(.nf-megamenu) .nf-nav .mod-menu > li.deeper,
body.site-hosting:not(.nf-megamenu) .nf-nav .mod-menu > li.parent {
  position: relative;
}
body.site-hosting:not(.nf-megamenu) .nf-nav .mod-menu > li.deeper > ul,
body.site-hosting:not(.nf-megamenu) .nf-nav .mod-menu > li.parent > ul {
  display: none !important;
  position: absolute;
  top: calc(100% - 2px);
  left: 0;
  z-index: 500;
  min-width: 14rem;
  flex-direction: column;
  gap: .15rem;
  padding: .65rem .55rem .75rem !important;
  border-radius: 0 0 12px 12px;
  list-style: none;
  margin: 0;
}
body.site-hosting:not(.nf-megamenu) .nf-nav .mod-menu > li.deeper:hover > ul,
body.site-hosting:not(.nf-megamenu) .nf-nav .mod-menu > li.deeper:focus-within > ul,
body.site-hosting:not(.nf-megamenu) .nf-nav .mod-menu > li.parent:hover > ul,
body.site-hosting:not(.nf-megamenu) .nf-nav .mod-menu > li.parent:focus-within > ul,
body.site-hosting:not(.nf-megamenu) .nf-nav .mod-menu > li.deeper.is-mega-open > ul,
body.site-hosting:not(.nf-megamenu) .nf-nav .mod-menu > li.parent.is-mega-open > ul {
  display: flex !important;
}
body.site-hosting:not(.nf-megamenu) .nf-nav .mod-menu > li.deeper > a::after,
body.site-hosting:not(.nf-megamenu) .nf-nav .mod-menu > li.parent > a::after {
  content: "" !important;
  display: inline-block !important;
  width: .35em;
  height: .35em;
  margin-left: .35em;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  opacity: .85;
}

/* Control sidebar: never inherit transparent gold fill from header rules */
body.site-hosting .ih-control__nav {
  background: linear-gradient(180deg, #0f172a 0%, #0b1220 100%) !important;
  color: #f8fafc !important;
}
body.site-hosting .ih-control__link {
  color: #f8fafc !important;
  -webkit-text-fill-color: #f8fafc !important;
  background-image: none !important;
  background-clip: border-box !important;
  -webkit-background-clip: border-box !important;
  filter: none !important;
  text-shadow: none !important;
  font-weight: 650 !important;
}
body.site-hosting .ih-control__link:hover,
body.site-hosting .ih-control__link.is-active {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
body.site-hosting .ih-control__nav .ih-eyebrow,
body.site-hosting .ih-control__nav small,
body.site-hosting .ih-mode-toggle button {
  color: #e2e8f0 !important;
  -webkit-text-fill-color: #e2e8f0 !important;
}
body.site-hosting .ih-mode-toggle button.is-active {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  background: #ffca28 !important;
}

/* Light community strip under orange header: dark readable text */
body.site-hosting .nf-community-nav:not(.nf-community-nav--header) {
  background: #fff7ed !important;
  border: 1px solid #fdba74 !important;
  color: #0f172a !important;
}
body.site-hosting .nf-community-nav:not(.nf-community-nav--header) a,
body.site-hosting .nf-community-nav:not(.nf-community-nav--header) .mod-menu a,
body.site-hosting .nf-community-nav:not(.nf-community-nav--header) .mod-menu > li > a {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  background-image: none !important;
  text-shadow: none !important;
  font-weight: 700 !important;
}
body.site-hosting .nf-community-nav:not(.nf-community-nav--header) a:hover,
body.site-hosting .nf-community-nav:not(.nf-community-nav--header) .mod-menu li.current > a,
body.site-hosting .nf-community-nav:not(.nf-community-nav--header) .mod-menu li.active > a {
  color: #9a3412 !important;
  -webkit-text-fill-color: #9a3412 !important;
  background: #ffedd5 !important;
}
body.site-hosting.nf-header-style--glass .nf-nav .mod-menu > li > a {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  text-shadow: none !important;
}
body.site-hosting.nf-option-com_imperohosting.view-control .nf-community-nav:not(.nf-community-nav--header),
body.site-hosting.nf-option-com_ucab .nf-community-nav:not(.nf-community-nav--header),
body.ih-app-fullscreen .nf-community-nav:not(.nf-community-nav--header) {
  display: none !important;
}

/* Dropdown panels: always white on slate (never dark-on-dark / transparent gold) */
body.site-hosting .nf-community-nav .mod-menu > li > ul,
body.site-hosting .nf-nav .mod-menu > li > ul,
body.site-hosting .nf-nav .mod-menu > li > ul ul,
body.site-hosting .nf-megamenu .nf-nav .mod-menu > li > ul,
body.site-hosting .nf-header .mod-menu > li > ul {
  background: #0f172a !important;
  color: #ffffff !important;
  border: 1px solid #334155 !important;
  box-shadow: 0 18px 40px rgba(0, 0, 0, .45) !important;
}
body.site-hosting .nf-community-nav .mod-menu > li > ul a,
body.site-hosting .nf-nav .mod-menu > li > ul a,
body.site-hosting .nf-nav .mod-menu > li > ul span,
body.site-hosting .nf-megamenu .nf-nav .mod-menu > li > ul a,
body.site-hosting .nf-header .mod-menu > li > ul a {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background-image: none !important;
  background-clip: border-box !important;
  -webkit-background-clip: border-box !important;
  filter: none !important;
  text-shadow: none !important;
  opacity: 1 !important;
}
body.site-hosting .nf-nav .mod-menu > li > ul a:hover,
body.site-hosting .nf-header .mod-menu > li > ul a:hover {
  color: #ffecb3 !important;
  -webkit-text-fill-color: #ffecb3 !important;
  background: rgba(255, 202, 40, 0.16) !important;
}

/* Component secondary header (.ih-header): force readable dark-on-cream */
body.site-hosting .ih-header {
  background: #fff7ed !important;
  color: #0f172a !important;
  border-bottom-color: #fdba74 !important;
}
body.site-hosting .ih-header .ih-brand,
body.site-hosting .ih-header .ih-brand-text,
body.site-hosting .ih-header .ih-brand-text strong,
body.site-hosting .ih-header .ih-nav-link {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  background-image: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  filter: none !important;
  text-shadow: none !important;
}
body.site-hosting .ih-header .ih-nav-link:hover,
body.site-hosting .ih-header .ih-nav-link.is-active {
  color: #9a3412 !important;
  -webkit-text-fill-color: #9a3412 !important;
  background: #ffedd5 !important;
}
body.site-hosting .ih-header .ih-nav-cta {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: linear-gradient(135deg, #ef6c00, #f59e0b) !important;
}

