/* Tema notte per le pagine interne dell'agenzia: stessi colori, carattere e pulsanti della home. */
body.agency, body.page {
  --bg:#0a0a0a; --ink:#f5f5f0; --muted:#a8a8a0; --dim:#8a8a84; --line:#1f1f1f; --line2:#2a2a2a; --lime:#c6f432; --card:#141414;
  background:var(--bg) !important; color:var(--ink) !important;
  font-family:Archivo, system-ui, sans-serif !important; font-stretch:100%;
}
body.agency main, body.page main { max-width:1120px; margin:0 auto; padding:clamp(40px,7vw,96px) clamp(18px,4vw,48px); }
body.page main .section { padding-left:0; padding-right:0; }

/* Titoli: larghi e pesanti come nella home */
body.agency main h1, body.page main h1, body.agency .agency-page-heading h1 {
  font-family:Archivo, system-ui, sans-serif; font-stretch:125%; font-weight:850; text-transform:uppercase;
  letter-spacing:-.035em; line-height:.95; font-size:clamp(40px,7vw,88px); color:var(--ink); margin:0 0 24px; max-width:16ch;
}
body.agency main h2, body.page main h2 {
  font-family:Archivo, system-ui, sans-serif; font-stretch:125%; font-weight:850; text-transform:uppercase;
  letter-spacing:-.03em; line-height:.98; font-size:clamp(28px,4.4vw,52px); color:var(--ink); margin:0 0 18px;
}
body.agency main h3, body.page main h3 { font-family:Archivo, system-ui, sans-serif; font-weight:750; font-size:20px; letter-spacing:-.01em; color:var(--ink); }
body.agency main h1 em, body.page main h1 em, body.agency main h1 span, body.page main h1 span,
body.agency main h2 em, body.page main h2 em { color:var(--lime); font-style:normal; }
.page-eyebrow, .eyebrow { color:var(--lime) !important; font-weight:700; letter-spacing:0 !important; text-transform:none !important; font-size:15px !important; }
body.agency main p, body.page main p, body.agency main li, body.page main li { color:var(--muted); font-size:17px; line-height:1.6; }
body.agency main p b, body.page main p b, body.agency main strong, body.page main strong { color:var(--ink); }
.lead { font-size:19px !important; color:#d4d4cc !important; max-width:60ch; }
.fine, .muted, .note { color:var(--dim) !important; font-size:14px !important; }

/* Link e pulsanti */
body.agency main a:not(.button):not(.whitebutton):not(.kn-btn), body.page main a:not(.button):not(.whitebutton):not(.kn-btn) { color:var(--ink); text-decoration-color:var(--lime); text-underline-offset:3px; }
.button, .whitebutton, .navbutton, body.page main button, body.agency main button {
  display:inline-flex; align-items:center; gap:8px; background:transparent; color:var(--ink) !important; border:1px solid var(--line2) !important;
  border-radius:10px !important; padding:13px 20px !important; font:700 15px/1.2 Archivo, system-ui, sans-serif !important; text-decoration:none !important; box-shadow:none !important;
}
.button.primary, .whitebutton, body.page main button[type=submit], body.page main form button, body.agency main form button {
  background:var(--lime) !important; color:#0a0a0a !important; border-color:var(--lime) !important;
}
.button:hover, .whitebutton:hover { filter:brightness(1.08); }
.whitebutton.small { padding:9px 14px !important; font-size:13px !important; }

/* Riquadri, tabelle, moduli */
.tier, .catalog-row, .agency-service-grid > *, .method-steps > *, .service-note, .service-assistant, .notice, .trial-form, .table-wrap,
.problems > *, .faq details, .price-strip {
  background:var(--card) !important; border:1px solid var(--line2) !important; border-radius:16px !important; box-shadow:none !important; color:var(--ink);
}
.tier-main { border-color:var(--lime) !important; }
.agency-catalog { display:grid; gap:10px; }
.catalog-row { padding:20px 22px !important; text-decoration:none !important; transition:border-color .2s; }
.catalog-row:hover { border-color:var(--lime) !important; }
.catalog-number, .catalog-arrow { color:var(--lime) !important; }
.pill { background:transparent !important; border:1px solid var(--line2) !important; color:var(--muted) !important; border-radius:99px !important; }
table { border-collapse:collapse; width:100%; color:var(--ink); }
th { color:var(--dim) !important; font-weight:600; text-align:left; }
td, th { border-color:var(--line) !important; background:transparent !important; }
input, select, textarea {
  background:#111 !important; color:var(--ink) !important; border:1px solid var(--line2) !important; border-radius:10px !important;
  font:16px Archivo, system-ui, sans-serif !important; padding:12px 14px !important;
}
input:focus, select:focus, textarea:focus { outline:2px solid var(--lime); outline-offset:1px; border-color:var(--lime) !important; }
label { color:var(--muted); }
.form-error, .error { color:#ff8a7a !important; }
:focus-visible { outline:2px solid var(--lime); outline-offset:2px; }

/* La testata e il piede nuovi sostituiscono quelli vecchi */
.agency-header, .agency-footer, header.global, footer.site-foot, .skip-link, a.skip { display:none !important; }
@media (prefers-reduced-motion: reduce) { * { transition:none !important; animation:none !important; } }

/* Agenti in arrivo: visibili ma spenti, senza link */
.kn-coming { margin-top:56px; }
.catalog-row.is-coming { opacity:.55; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.catalog-row.is-coming h3 { margin:0 0 4px; }
.catalog-row.is-coming p { margin:0; font-size:15px; }
.catalog-row.is-coming:hover { border-color:var(--line2) !important; }

/* Testi lunghi (privacy, termini): aria tra le sezioni e larghezza di lettura */
.legal { max-width:72ch; }
.legal h2 { margin-top:2.2em !important; }
.legal ul { padding-left:1.2em; }
.legal li { margin:.45em 0; }
.legal a { color:var(--ink); text-decoration-color:var(--lime); }
