/* ==============================================================
 * Nexim Foundation — COMMERCIAL (Mission Control dark)
 * Offer cards, coverage form, configurator, compare table.
 * ============================================================== */

/* ========================================================================
 * Coverage form panel (dentro hero, su dark)
 * ===================================================================== */
.nx-coverage {
  background: rgba(19,21,28,.85);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  border: 1px solid var(--nx-line-2);
  border-radius: var(--nx-radius-lg);
  padding: 24px;
  color: var(--nx-ink);
  position: relative;
}
.nx-coverage__title {
  font-family: var(--nx-font-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--nx-brand); margin: 0 0 14px;
  display: flex; align-items: center; gap: 8px;
}
.nx-coverage__form { display: flex; gap: 8px; }
.nx-coverage__input {
  flex: 1; padding: 12px 14px;
  background: var(--nx-bg);
  border: 1px solid var(--nx-line-2);
  border-radius: var(--nx-radius);
  color: var(--nx-ink); font-family: inherit; font-size: 14.5px;
  transition: border-color .15s, background .15s;
}
.nx-coverage__input::placeholder { color: var(--nx-ink-dim); }
.nx-coverage__input:focus { outline: none; border-color: var(--nx-brand); background: var(--nx-surf-2); }
.nx-coverage__btn {
  padding: 12px 18px;
  background: var(--nx-brand); color: #06122a;
  border: 0; border-radius: var(--nx-radius);
  font-family: inherit; font-weight: 600; font-size: 14px;
  cursor: pointer; transition: background .15s;
}
.nx-coverage__btn:hover { background: var(--nx-accent); }
.nx-coverage__result {
  margin-top: 16px;
  padding: 14px 16px;
  background: var(--nx-bg);
  border: 1px solid var(--nx-line);
  border-radius: var(--nx-radius);
  font-family: var(--nx-font-mono);
  font-size: 12px; letter-spacing: .04em;
  display: none;
  color: var(--nx-ink-2);
}
.nx-coverage__result.is-visible { display: block; }
.nx-coverage__result-row { display: flex; justify-content: space-between; padding: 6px 0; border-bottom: 1px solid var(--nx-line); text-transform: uppercase; }
.nx-coverage__result-row:last-child { border-bottom: none; }
.nx-coverage__result-row strong { color: var(--nx-ink); font-weight: 600; }
.nx-coverage__result .ok { color: var(--nx-live); }
.nx-coverage__result .no { color: var(--nx-ink-dim); }
.nx-coverage__result-rec {
  margin-top: 14px; padding: 12px 14px;
  background: var(--nx-brand); color: #06122a;
  border-radius: var(--nx-radius);
  font-family: var(--nx-font-mono); font-size: 11.5px;
  font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
  text-align: center;
}

/* ========================================================================
 * Offer grid (Mission Control)
 * ===================================================================== */
.nx-offers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--nx-line); border: 1px solid var(--nx-line); }
.nx-offer {
  background: var(--nx-bg);
  padding: 32px 28px;
  display: flex; flex-direction: column;
  position: relative;
  transition: background .25s;
}
.nx-offer:hover { background: var(--nx-surf); }
.nx-offer--featured { background: var(--nx-surf); }
.nx-offer--featured::before {
  content: "FEATURED";
  position: absolute; top: 16px; right: 16px;
  background: var(--nx-brand); color: #06122a;
  font-family: var(--nx-font-mono); font-size: 10px; letter-spacing: .14em;
  padding: 3px 8px; border-radius: 2px; font-weight: 600;
}
.nx-offer__category {
  font-family: var(--nx-font-mono);
  font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--nx-brand); margin-bottom: 14px;
}
.nx-offer__name { font-family: var(--nx-font-display); font-size: 22px; font-weight: 600; color: var(--nx-ink); margin: 0 0 14px; letter-spacing: -.01em; }
.nx-offer__price {
  font-family: var(--nx-font-display);
  font-size: 40px; font-weight: 700;
  color: var(--nx-ink); letter-spacing: -.02em; line-height: 1; margin-bottom: 4px;
}
.nx-offer__price small { font-family: var(--nx-font-mono); font-size: 12px; color: var(--nx-ink-soft); font-weight: 400; margin-inline-start: 6px; letter-spacing: .08em; text-transform: uppercase; }
.nx-offer__period { font-family: var(--nx-font-mono); font-size: 11px; color: var(--nx-ink-dim); margin-bottom: 22px; letter-spacing: .08em; text-transform: uppercase; }
.nx-offer__features { list-style: none; padding: 0; margin: 0 0 22px; flex: 1; border-top: 1px solid var(--nx-line); padding-top: 18px; }
.nx-offer__features li { padding: 7px 0; font-size: 14px; color: var(--nx-ink-2); display: flex; align-items: center; gap: 10px; }
.nx-offer__features li::before { content: ""; width: 14px; height: 14px; flex: none; background: var(--nx-brand); border-radius: 50%; opacity: .25; }
.nx-offer__cta {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 12px 18px;
  background: var(--nx-brand); color: #06122a;
  border-radius: var(--nx-radius);
  font-weight: 600; font-size: 14px;
  text-decoration: none;
  transition: background .15s;
}
.nx-offer__cta:hover { background: var(--nx-accent); color: #06122a; }
.nx-offer__cta::after { content: "→"; }
@media (max-width: 980px) { .nx-offers { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .nx-offers { grid-template-columns: 1fr; } }

/* ========================================================================
 * Configurator (Mission Control dark)
 * ===================================================================== */
.nx-config {
  background: var(--nx-surf);
  border: 1px solid var(--nx-line-2);
  border-radius: var(--nx-radius-lg);
  padding: 40px;
  display: grid; grid-template-columns: 1fr 1.1fr;
  gap: 48px;
  position: relative;
}
.nx-config::before {
  content: "// CONFIGURATOR · LIVE";
  position: absolute; top: -10px; left: 24px;
  background: var(--nx-bg); color: var(--nx-brand);
  font-family: var(--nx-font-mono); font-size: 10.5px; letter-spacing: .14em; font-weight: 600;
  padding: 4px 10px; border: 1px solid var(--nx-line-2);
}
.nx-config__controls { display: flex; flex-direction: column; gap: 32px; }
.nx-config__field label {
  display: block;
  font-family: var(--nx-font-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--nx-ink-soft); margin-bottom: 8px;
}
.nx-config__value {
  font-family: var(--nx-font-display);
  font-size: 36px; font-weight: 700;
  color: var(--nx-brand); letter-spacing: -.02em; line-height: 1;
  margin-bottom: 14px;
}
.nx-config__value small { font-family: var(--nx-font-mono); font-size: 13px; color: var(--nx-ink-soft); font-weight: 400; margin-inline-start: 6px; letter-spacing: .08em; text-transform: uppercase; }
.nx-config__field input[type="range"] {
  width: 100%; height: 4px; -webkit-appearance: none;
  background: var(--nx-line-2); border-radius: 2px; outline: none;
}
.nx-config__field input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none; width: 18px; height: 18px;
  background: var(--nx-brand); border-radius: 50%;
  cursor: pointer; box-shadow: 0 0 0 4px rgba(62,139,255,.15);
  transition: transform .15s;
}
.nx-config__field input[type="range"]::-webkit-slider-thumb:hover { transform: scale(1.15); }
.nx-config__field input[type="range"]::-moz-range-thumb {
  width: 18px; height: 18px; background: var(--nx-brand);
  border-radius: 50%; cursor: pointer; border: none;
}
.nx-config__result {
  background: var(--nx-bg);
  border: 1px solid var(--nx-line);
  border-radius: var(--nx-radius);
  padding: 24px;
  display: flex; flex-direction: column; gap: 12px;
  min-height: 280px;
}
.nx-config__result h3 {
  font-family: var(--nx-font-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--nx-ink-soft); margin: 0 0 4px; font-weight: 500;
}
.nx-config__result h3::before { content: "// "; opacity: .6; }
.nx-config__plan {
  background: var(--nx-surf);
  padding: 16px 18px;
  border: 1px solid var(--nx-line);
  border-radius: var(--nx-radius);
  display: grid; grid-template-columns: 1fr auto auto;
  gap: 16px; align-items: center;
  transition: border-color .15s;
}
.nx-config__plan:hover { border-color: var(--nx-brand); }
.nx-config__plan strong { font-family: var(--nx-font-display); font-size: 16px; font-weight: 600; color: var(--nx-ink); }
.nx-config__plan small { display: block; font-family: var(--nx-font-mono); font-size: 11px; color: var(--nx-ink-dim); letter-spacing: .08em; text-transform: uppercase; margin-top: 4px; }
.nx-config__plan-price { font-family: var(--nx-font-display); font-size: 24px; font-weight: 700; color: var(--nx-brand); }
.nx-config__plan-price small { font-family: var(--nx-font-mono); font-size: 11px; color: var(--nx-ink-soft); font-weight: 400; margin-inline-start: 4px; letter-spacing: .08em; text-transform: uppercase; }
.nx-config__plan a {
  font-family: var(--nx-font-mono);
  font-size: 11px; letter-spacing: .12em; text-transform: uppercase; font-weight: 600;
  padding: 7px 12px; background: var(--nx-brand); color: #06122a;
  border-radius: var(--nx-radius); text-decoration: none;
}
.nx-config__plan a:hover { background: var(--nx-accent); }
@media (max-width: 900px) { .nx-config { grid-template-columns: 1fr; padding: 28px; gap: 32px; } }

/* ========================================================================
 * Compare table (market)
 * ===================================================================== */
.nx-compare {
  width: 100%; border-collapse: collapse;
  background: var(--nx-bg);
  border: 1px solid var(--nx-line);
  font-size: 14px;
}
.nx-compare thead { background: var(--nx-surf); }
.nx-compare th {
  padding: 16px 20px; text-align: start;
  font-family: var(--nx-font-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--nx-ink-soft); font-weight: 500;
  border-bottom: 1px solid var(--nx-line-2);
}
.nx-compare td {
  padding: 18px 20px; border-bottom: 1px solid var(--nx-line);
  color: var(--nx-ink-2); vertical-align: middle;
}
.nx-compare tr:last-child td { border-bottom: none; }
.nx-compare tr:hover td { background: rgba(62,139,255,.03); }
.nx-compare strong { color: var(--nx-ink); font-weight: 600; }
.nx-compare__vertical {
  font-family: var(--nx-font-mono);
  font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase;
  padding: 3px 8px; background: rgba(62,139,255,.1);
  color: var(--nx-brand); border-radius: 2px;
  border: 1px solid rgba(62,139,255,.25);
}
.nx-compare__price { font-family: var(--nx-font-display); font-weight: 700; color: var(--nx-brand); font-size: 16px; }
.nx-compare__price small { font-family: var(--nx-font-mono); font-size: 11px; color: var(--nx-ink-dim); font-weight: 400; margin-inline-start: 4px; letter-spacing: .08em; text-transform: uppercase; }
.nx-compare__cta {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 11px;
  background: var(--nx-brand); color: #06122a !important;
  border-radius: var(--nx-radius);
  font-family: var(--nx-font-mono);
  font-size: 11px; letter-spacing: .1em; text-transform: uppercase; font-weight: 600;
  text-decoration: none;
}
.nx-compare__cta:hover { background: var(--nx-accent); color: #06122a !important; }

/* ========================================================================
 * Stats bar (4 KPI Mission Control)
 * ===================================================================== */
.nx-stats-bar { background: var(--nx-surf); padding: 0; border-block: 1px solid var(--nx-line); }
.nx-stats-bar__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.nx-stats-bar__item { padding: 36px 24px; border-inline-end: 1px solid var(--nx-line); position: relative; padding-inline-start: 30px; }
.nx-stats-bar__item:last-child { border-inline-end: none; }
.nx-stats-bar__item::before {
  content: ""; position: absolute;
  left: 0; top: 36px; bottom: 36px; width: 3px;
  background: var(--nx-brand); border-radius: 2px;
}
.nx-rtl .nx-stats-bar__item::before { left: auto; right: 0; }
.nx-stats-bar__code { font-family: var(--nx-font-mono); font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--nx-ink-dim); margin-bottom: 10px; }
.nx-stats-bar__n { font-family: var(--nx-font-display); font-size: clamp(28px, 3vw, 38px); font-weight: 700; color: var(--nx-ink); letter-spacing: -.02em; line-height: 1; }
.nx-stats-bar__l { color: var(--nx-ink-soft); font-size: 13px; margin-top: 6px; }
@media (max-width: 980px) { .nx-stats-bar__grid { grid-template-columns: repeat(2, 1fr); } .nx-stats-bar__item:nth-child(2) { border-inline-end: none; } .nx-stats-bar__item:nth-child(-n+2) { border-bottom: 1px solid var(--nx-line); } }
@media (max-width: 540px) { .nx-stats-bar__grid { grid-template-columns: 1fr; } .nx-stats-bar__item { border-inline-end: none !important; border-bottom: 1px solid var(--nx-line); } }

/* ========================================================================
 * FAQ accordion (Mission Control)
 * ===================================================================== */
.nx-faq-acc { max-width: 880px; margin: 0 auto; border-block: 1px solid var(--nx-line); }
.nx-faq-acc details { border-bottom: 1px solid var(--nx-line); background: var(--nx-bg); transition: background .15s; }
.nx-faq-acc details:last-child { border-bottom: none; }
.nx-faq-acc details[open] { background: var(--nx-surf); }
.nx-faq-acc summary {
  list-style: none; padding: 22px 8px;
  cursor: pointer;
  display: flex; align-items: center; gap: 18px;
  font-family: var(--nx-font-display); font-weight: 600; font-size: 16.5px; color: var(--nx-ink);
}
.nx-faq-acc summary::-webkit-details-marker { display: none; }
.nx-faq-acc summary::before {
  content: counter(faq, decimal-leading-zero);
  counter-increment: faq;
  font-family: var(--nx-font-mono); font-size: 11px; color: var(--nx-brand);
  letter-spacing: .12em; min-width: 24px;
}
.nx-faq-acc { counter-reset: faq; }
.nx-faq-acc summary::after {
  content: "+"; margin-inline-start: auto;
  color: var(--nx-ink-soft); font-family: var(--nx-font-mono); font-size: 22px; font-weight: 400;
  transition: transform .25s, color .25s;
}
.nx-faq-acc details[open] summary::after { content: "−"; color: var(--nx-brand); transform: rotate(0); }
.nx-faq-acc__body { padding: 0 8px 22px 56px; color: var(--nx-ink-soft); font-size: 14.5px; line-height: 1.65; }
.nx-rtl .nx-faq-acc__body { padding: 0 56px 22px 8px; }

/* ========================================================================
 * Section heads (commercial)
 * ===================================================================== */
.nx-section-head { text-align: center; max-width: 880px; margin: 0 auto 56px; }
.nx-section-head .nx-kicker {
  display: inline-block;
  font-family: var(--nx-font-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--nx-brand); margin-bottom: 14px;
}
.nx-section-head .nx-kicker::before { content: "// "; opacity: .6; }
.nx-section-head h2 { font-size: clamp(28px, 3.5vw, 44px); margin: 0 0 14px; color: var(--nx-ink); }
.nx-section-head p { font-size: 17px; color: var(--nx-ink-soft); max-width: 680px; margin: 18px auto 0; }

/* ========================================================================
 * CTA band commerciale
 * ===================================================================== */
.nx-band-com {
  position: relative; overflow: hidden;
  background:
    radial-gradient(circle at 25% 100%, rgba(62,139,255,.22) 0%, transparent 60%),
    radial-gradient(circle at 75% 0%, rgba(67,224,255,.14) 0%, transparent 50%),
    var(--nx-bg);
  padding: 88px 0;
  text-align: center;
  border-block: 1px solid var(--nx-line);
}
.nx-band-com h2 { color: var(--nx-ink); font-size: clamp(28px, 3.5vw, 44px); margin: 0 0 14px; font-weight: 700; }
.nx-band-com p { color: var(--nx-ink-2); margin: 0 0 28px; font-size: 17px; }
