:root {
  /* Amnitra 2026 brand tokens. */
  --amnitra-electric-azure: #0D62F8;
  --amnitra-arctic-mist: #D9F8FF;
  --amnitra-midnight-navy: #021128;
  --amnitra-digital-mint: #1BD1A2;
  --amnitra-solar-amber: #F9AF01;
  --amnitra-signal-violet: #6559F9;

  /* Legacy NixAmm variable names remain as compatibility aliases. */
  --nx-navy: var(--amnitra-midnight-navy);
  --nx-navy-deep: var(--amnitra-midnight-navy);
  --nx-navy-fg: #FAFBFC;
  --nx-teal: var(--amnitra-electric-azure);
  --nx-teal-bright: var(--amnitra-electric-azure);
  --nx-teal-soft: var(--amnitra-arctic-mist);
  --nx-amber: var(--amnitra-solar-amber);
  --nx-amber-soft: #FFF8E6;
  --nx-mint: var(--amnitra-digital-mint);
  --nx-slate-soft: #F1F5F9;
  --nx-heading: var(--amnitra-midnight-navy);
  --nx-body: #172033;
  --nx-subtle: #64748B;
  --nx-background: #F7F9FC;
  --nx-card: #FFFFFF;
  --nx-border: #E2E8F0;
  --nx-border-subtle: #EDF1F5;
  --nx-success: #16A34A;
  --nx-error: #DC2626;
  --nx-info: var(--amnitra-electric-azure);
  --nx-purple: var(--amnitra-signal-violet);
  --nx-radius: 14px;
  --nx-radius-lg: 18px;
  --nx-radius-xl: 24px;
  --nx-shadow-card: 0 1px 2px rgba(2,17,40,.04), 0 8px 24px rgba(2,17,40,.06);
  --nx-shadow-lift: 0 2px 4px rgba(2,17,40,.06), 0 18px 40px rgba(2,17,40,.12);
}
.nixamm-theme,
.nixamm-canvas {
  margin: 0;
  background: var(--nx-background);
  color: var(--nx-body);
  font-family: "Poppins", ui-sans-serif, system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.nixamm-theme *, .nixamm-theme *::before, .nixamm-theme *::after,
.nixamm-canvas *, .nixamm-canvas *::before, .nixamm-canvas *::after { box-sizing: border-box; }

.nixamm-theme img, .nixamm-canvas img { max-width: 100%; height: auto; }
.nixamm-theme a, .nixamm-canvas a { color: inherit; }
.nixamm-theme button, .nixamm-theme input, .nixamm-theme select, .nixamm-theme textarea,
.nixamm-canvas button, .nixamm-canvas input, .nixamm-canvas select, .nixamm-canvas textarea { font: inherit; }

.nx-main { width: 100%; min-height: 50vh; }
.nx-shell { width: min(100% - 32px, 1280px); margin-inline: auto; }

.nx-fallback-header {
  position: sticky; top: 0; z-index: 50;
  border-bottom: 1px solid rgba(217,248,255,.14);
  background: rgba(2,17,40,.96);
  backdrop-filter: blur(14px);
}
.nx-fallback-header__inner { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.nx-brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; font-weight: 800; color: var(--nx-heading); }
.nx-brand img { width: auto; height: 38px; max-width: 180px; object-fit: contain; border-radius: 0; }
.nx-fallback-header nav ul { list-style: none; display: flex; align-items: center; gap: 4px; padding: 0; margin: 0; }
.nx-fallback-header nav a { display: block; padding: 10px 12px; border-radius: 9px; color: rgba(255,255,255,.84); text-decoration: none; font-size: 14px; font-weight: 500; }
.nx-fallback-header nav a:hover { background: rgba(217,248,255,.08); color: #fff; }
.nx-fallback-footer { background: var(--nx-navy); color: rgba(255,255,255,.65); padding: 28px 0; font-size: 13px; }

.nx-error-page { min-height: 70vh; display: grid; place-items: center; padding: 72px 0; background: var(--nx-card); text-align: center; }
.nx-error-page__inner { max-width: 640px; }
.nx-error-page h1 { margin: 12px 0 0; color: var(--nx-heading); font-size: clamp(36px, 7vw, 64px); letter-spacing: -.04em; }
.nx-error-page p { color: var(--nx-subtle); }
.nx-eyebrow { color: var(--nx-teal); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; }
.nx-button { display: inline-flex; align-items: center; justify-content: center; padding: 12px 20px; border-radius: 10px; text-decoration: none; font-weight: 650; }
.nx-button--primary { background: var(--nx-teal-bright); color: #fff !important; }

/* Elementor editor and generated content should not receive theme-added widths. */
.elementor-page .site-main,
.elementor-page .nx-main { width: 100%; max-width: none; padding: 0; margin: 0; }

@media (max-width: 767px) {
  .nx-shell { width: min(100% - 28px, 1280px); }
  .nx-fallback-header nav { display: none; }
}

/* v1.0.1: reliable fallback navigation and footer when Theme Builder output is unavailable. */
.nx-fallback-header__navwrap { display:flex; align-items:center; gap:18px; }
.nx-fallback-header__actions { display:flex; align-items:center; gap:8px; }
.nx-fallback-signin { padding:10px 12px; color:rgba(255,255,255,.88) !important; text-decoration:none; font-size:14px; font-weight:600; }
.nx-fallback-footer { margin-top:96px; padding:0; background:var(--nx-navy); color:rgba(255,255,255,.74); }
.nx-fallback-footer__grid { display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:52px; padding-block:52px; }
.nx-fallback-footer__grid h2 { margin:0 0 16px; color:rgba(255,255,255,.5); font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.nx-fallback-footer__grid a:not(.nx-brand) { display:block; margin:10px 0; color:rgba(255,255,255,.82) !important; text-decoration:none; font-size:14px; }
.nx-fallback-footer__grid p { max-width:330px; margin:18px 0 0; line-height:1.7; }
.nx-brand--footer { color:#fff !important; align-items:flex-start; }
.nx-brand--footer span { display:grid; gap:3px; }
.nx-brand--footer small { color:rgba(255,255,255,.58); font-size:11px; font-weight:500; }
.nx-fallback-footer__bottom { border-top:1px solid rgba(255,255,255,.1); padding-block:20px; color:rgba(255,255,255,.5); font-size:12px; }

/* Keep ordinary content dark. Teal is reserved for links, accents, and calls to action. */
.nixamm-theme main p,
.nixamm-theme main li,
.nixamm-theme main td,
.nixamm-theme main label { color:var(--nx-body); }
.nixamm-theme main h1,
.nixamm-theme main h2,
.nixamm-theme main h3,
.nixamm-theme main h4,
.nixamm-theme main h5,
.nixamm-theme main h6 { color:var(--nx-heading); }

@media (max-width: 900px) {
  .nx-fallback-header__navwrap nav { display:none; }
  .nx-fallback-footer__grid { grid-template-columns:1fr 1fr; gap:32px; }
}
@media (max-width: 620px) {
  .nx-fallback-header__actions .nx-fallback-signin { display:none; }
  .nx-fallback-footer__grid { grid-template-columns:1fr; }
}


/* v1.0.2 exact Lovable partner-program footer. */
.nx-fallback-partner{padding:56px 0 0}.nx-fallback-partner__panel{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(340px,.72fr);align-items:center;gap:54px;padding:31px 32px;border:1px solid rgba(249,175,1,.62);border-radius:22px;background:rgba(255,255,255,.025)}.nx-fallback-partner__badge{display:inline-flex;align-items:center;gap:8px;padding:5px 13px;border-radius:999px;background:rgba(249,175,1,.13);color:var(--nx-amber);font-size:12px;font-weight:700}.nx-fallback-partner h2{margin:14px 0 0;color:#fff;font-size:26px;line-height:1.2;font-weight:800;letter-spacing:-.025em}.nx-fallback-partner__panel>div>p{max-width:620px;margin:10px 0 0;color:rgba(255,255,255,.66);font-size:14px;line-height:1.55}.nx-fallback-partner__form{padding:24px 16px 18px;border:1px solid rgba(255,255,255,.11);border-radius:18px;background:rgba(2,17,40,.54)}.nx-fallback-partner__form>label{display:block;margin:0 0 10px;color:rgba(255,255,255,.52);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.nx-fallback-partner__form>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.nx-fallback-partner__form input{min-width:0;height:42px;padding:0 14px;border:1px solid rgba(255,255,255,.17);border-radius:12px;outline:0;background:rgba(255,255,255,.05);color:#fff}.nx-fallback-partner__form input::placeholder{color:rgba(255,255,255,.35)}.nx-fallback-partner__form input:focus{border-color:rgba(249,175,1,.72);box-shadow:0 0 0 3px rgba(249,175,1,.12)}.nx-fallback-partner__form button{display:inline-flex;height:42px;align-items:center;justify-content:center;gap:8px;padding:0 19px;border:0;border-radius:13px;background:var(--nx-amber);color:#111827;font-weight:800;cursor:pointer}.nx-fallback-partner__form>p{margin:9px 0 0;color:rgba(255,255,255,.48);font-size:12px}.nx-fallback-partner__form>p a{color:var(--nx-amber)!important;font-weight:700;text-decoration:none}.nx-fallback-footer__grid{padding-top:48px}.nx-fallback-footer__grid .nx-brand img{width:auto;height:42px;max-width:190px;border-radius:0;background:transparent}.nx-fallback-footer__grid .nx-brand strong{font-size:18px}.nx-fallback-footer__grid .nx-brand small{text-transform:uppercase;font-size:10px;letter-spacing:.04em}.nx-fallback-footer__grid h2{color:rgba(255,255,255,.5)}
@media(max-width:900px){.nx-fallback-partner__panel{grid-template-columns:1fr;gap:26px}.nx-fallback-partner__form{max-width:560px}}
@media(max-width:620px){.nx-fallback-partner{padding-top:32px}.nx-fallback-partner__panel{padding:24px 20px;border-radius:18px}.nx-fallback-partner h2{font-size:23px}.nx-fallback-partner__form>div{grid-template-columns:1fr}.nx-fallback-partner__form button{width:100%}}


/* v1.0.7 Elementor editor compatibility. */
.nx-elementor-editing .nx-reveal,
body.elementor-editor-active .nx-reveal,
body.elementor-editor-preview .nx-reveal,
.elementor-editor-active .nx-reveal,
.elementor-editor-preview .nx-reveal {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
  transition: none !important;
}

/* Amnitra 1.0.12: the approved header logo already contains the full wordmark. */
.nx-site-header .nx-brand > span { display: none; }
.nx-site-header .nx-brand img { width: auto; height: 38px; max-width: 190px; border-radius: 0; object-fit: contain; }
.nx-site-footer__grid .nx-brand > span > strong { display: none; }
.nx-site-footer__grid .nx-brand > span > small { margin-top: 0; }
.nx-site-footer__grid .nx-brand img { width: auto; height: 42px; max-width: 210px; border-radius: 0; background: transparent; object-fit: contain; }
