/*
 * Stili della pagina "Starter Kit ZU-NEXUS-AI" (tpl-zu-nexus-ai.php).
 * Adattati dall'HTML fornito dal cliente (zu-nexus-ai.html): tutte le classi
 * hanno prefisso znx- per non collidere con Bootstrap (btn, card, ...).
 * Caricato solo sulle pagine che usano il template, fuori dalla build webpack.
 * Niente font aggiuntivi: si usa il Lato gia' caricato dal sito, che ha i
 * pesi 300/400/700/900 (gli accenti tecnici del mock erano in IBM Plex Mono,
 * resi qui con maiuscole e letter-spacing).
 */
.znx {
	--ked-blue: #4E748B;
	--ked-blue-dark: #35505F;
	--ked-ink: #22313A;
	--ked-paper: #FFFFFF;
	--ked-mist: #F3F5F7;
	--ked-line: #DDE3E7;
	--ked-muted: #6B7C87;
	color: var(--ked-ink);
	line-height: 1.65;
}
/* Stesse larghezze del .container del tema: 1140px, 1530px da 1600px in su
   (il mock del cliente era fermo a 1100px e sprecava i monitor larghi). */
.znx-wrap { max-width: 1140px; margin: 0 auto; padding: 0 24px; }
@media (min-width: 1600px) {
	.znx-wrap { max-width: 1530px; }
}
.znx section { padding: 76px 0; }
.znx .znx-alt { background: var(--ked-mist); }
.znx [id] { scroll-margin-top: 130px; }
.znx ul { list-style: none; margin: 0; padding: 0; }

.znx-sec-head { max-width: 680px; margin: 0 auto 44px; text-align: center; }
.znx-sec-head h2 { font-size: 1.7rem; font-weight: 900; color: var(--ked-blue-dark); line-height: 1.3; margin: 0; }
.znx-sec-head p { color: var(--ked-muted); margin: 10px 0 0; }

.znx-btn { display: inline-block; text-decoration: none; font-size: 15px; font-weight: 700; padding: 13px 26px; border-radius: 6px; transition: background .15s ease; }
.znx-btn-solid { background: #fff; color: var(--ked-blue-dark); }
.znx-btn-solid:hover { background: #E4ECF1; color: var(--ked-blue-dark); text-decoration: none; }
.znx-btn-ghost { border: 1px solid #7B96A6; color: #fff; }
.znx-btn-ghost:hover { background: rgba(255, 255, 255, .08); color: #fff; text-decoration: none; }

/* ---------- Hero ---------- */
.znx-hero { background: var(--ked-blue-dark); color: #fff; padding: 72px 0 64px; }
.znx-hero .znx-wrap { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 48px; align-items: center; }
.znx-eyebrow { font-size: 13px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: #A9C0CE; margin: 0 0 14px; }
.znx-hero h1 { font-size: clamp(34px, 5vw, 52px); font-weight: 900; line-height: 1.1; color: #fff; margin: 0; }
.znx-claim { font-size: 20px; color: #D7E2E9; margin: 14px 0 10px; }
.znx-lead { color: #B9CBD6; font-size: 16px; max-width: 52ch; margin: 0; }
.znx-hero-cta { margin-top: 30px; display: flex; gap: 14px; flex-wrap: wrap; }
.znx-hero-figure { background: #fff; border-radius: 10px; padding: 18px; }
.znx-hero-figure img { max-width: 100%; height: auto; display: block; }
@media (max-width: 820px) {
	.znx-hero .znx-wrap { grid-template-columns: 1fr; }
}
/* Schermi larghi: piu' spazio al testo, foto un po' piu' contenuta. */
@media (min-width: 1600px) {
	.znx-hero .znx-wrap { grid-template-columns: 1.5fr 1fr; gap: 64px; }
	.znx-lead { max-width: 64ch; }
	.znx-hero-figure { max-width: 560px; justify-self: end; }
}

/* ---------- Numeri chiave ---------- */
.znx-stats { border-bottom: 1px solid var(--ked-line); background: var(--ked-paper); }
.znx-stats .znx-wrap { display: grid; grid-template-columns: repeat(4, 1fr); }
.znx-stat { padding: 34px 20px; text-align: center; border-left: 1px solid var(--ked-line); }
.znx-stat:first-child { border-left: none; }
.znx-stat .znx-num { font-size: 32px; font-weight: 700; color: var(--ked-blue-dark); }
.znx-stat .znx-lbl { font-size: 13px; color: var(--ked-muted); margin-top: 4px; text-transform: uppercase; letter-spacing: 1px; }
@media (max-width: 820px) {
	.znx-stats .znx-wrap { grid-template-columns: repeat(2, 1fr); }
	.znx-stat:nth-child(3) { border-left: none; }
}

/* ---------- Card componenti ---------- */
.znx-cards3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.znx-card { background: var(--ked-paper); border: 1px solid var(--ked-line); border-radius: 10px; padding: 28px; display: flex; flex-direction: column; }
.znx-card .znx-tag { font-size: 12px; font-weight: 700; color: var(--ked-blue); letter-spacing: 1px; text-transform: uppercase; margin: 0 0 10px; }
.znx-card h3 { font-size: 1.15rem; font-weight: 900; color: var(--ked-blue-dark); margin: 0 0 12px; }
.znx-card-media { background: #fff; border: 1px solid var(--ked-line); border-radius: 8px; height: 150px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; padding: 10px; }
.znx-card-media img { max-width: 100%; max-height: 100%; width: auto; height: auto; }
@media (min-width: 1600px) {
	.znx-card-media { height: 200px; }
}
.znx-card li { font-size: 14.5px; padding: 5px 0 5px 20px; position: relative; }
.znx-card li::before { content: "\2192"; position: absolute; left: 0; color: var(--ked-blue); font-size: 13px; }
.znx-card .znx-more { margin: auto 0 0; padding-top: 16px; font-size: 14px; }
@media (max-width: 820px) {
	.znx-cards3 { grid-template-columns: 1fr; }
}

/* ---------- Pipeline ---------- */
.znx-pipeline { display: flex; align-items: stretch; margin: 8px 0 40px; overflow-x: auto; padding-bottom: 8px; }
.znx-pstage { flex: 1; min-width: 150px; background: var(--ked-paper); border: 1px solid var(--ked-line); padding: 18px 16px; position: relative; text-align: center; }
.znx-pstage:first-child { border-radius: 8px 0 0 8px; }
.znx-pstage:last-child { border-radius: 0 8px 8px 0; }
.znx-pstage + .znx-pstage { border-left: none; }
.znx-pstage .znx-dom { font-size: 11px; font-weight: 700; letter-spacing: 1.5px; padding: 3px 10px; border-radius: 20px; display: inline-block; margin-bottom: 10px; }
.znx-dom-pl { background: #E1EAF0; color: var(--ked-blue-dark); }
.znx-dom-ps { background: #EEF1F3; color: #5A6B75; }
.znx-dom-npu { background: var(--ked-blue); color: #fff; }
.znx-pstage h4 { font-size: 15px; font-weight: 900; color: var(--ked-blue-dark); margin: 0; }
.znx-pstage p { font-size: 13px; color: var(--ked-muted); margin: 4px 0 0; line-height: 1.45; }
.znx-pstage::after { content: "\203A"; position: absolute; right: -8px; top: 50%; transform: translateY(-50%); z-index: 2; color: var(--ked-blue); font-size: 22px; background: transparent; width: 16px; line-height: 1; }
.znx-pstage:last-child::after { content: none; }
.znx-why { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.znx-why h4 { font-size: 15.5px; font-weight: 900; color: var(--ked-blue-dark); margin: 0 0 6px; }
.znx-why p { font-size: 14px; color: var(--ked-muted); line-height: 1.55; margin: 0; }
@media (max-width: 820px) {
	.znx-why { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
	.znx-why { grid-template-columns: 1fr; }
}

/* ---------- Interfacce e specifiche ---------- */
.znx-spec-grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 44px; align-items: start; }
/* Specifiche a "tile" (etichetta + valore), come la banda dei numeri chiave:
   piu' scandibile della tabella a righe che c'era prima. */
.znx-spec { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0; }
.znx-spec-item { background: var(--ked-paper); border: 1px solid var(--ked-line); border-radius: 8px; padding: 13px 16px 14px; }
.znx-spec-item dt { font-size: 11.5px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--ked-muted); margin: 0 0 3px; }
.znx-spec-item dd { font-size: 14.5px; font-weight: 700; color: var(--ked-blue-dark); line-height: 1.4; margin: 0; }
.znx-iface-card { background: var(--ked-paper); border: 1px solid var(--ked-line); border-radius: 10px; padding: 10px 24px; }
.znx-iface-list li { padding: 11px 0 11px 30px; position: relative; font-size: 15px; border-bottom: 1px dashed var(--ked-line); }
.znx-iface-list li:last-child { border-bottom: none; }
.znx-iface-list li::before { content: "\2713"; position: absolute; left: 0; color: var(--ked-blue); font-weight: 700; }
@media (max-width: 820px) {
	.znx-spec-grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
	.znx-spec { grid-template-columns: 1fr; }
}

/* ---------- Applicazioni ---------- */
.znx-apps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.znx-app { background: var(--ked-paper); border: 1px solid var(--ked-line); border-radius: 10px; padding: 24px 18px; text-align: center; }
.znx-app .znx-ico { line-height: 1; margin-bottom: 12px; }
.znx-app .znx-ico svg { width: 34px; height: 34px; color: var(--ked-blue); }
.znx-app h4 { font-size: 15.5px; font-weight: 900; color: var(--ked-blue-dark); margin: 0; }
.znx-app p { font-size: 13px; color: var(--ked-muted); margin: 5px 0 0; line-height: 1.45; }
@media (max-width: 960px) {
	.znx-apps { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 600px) {
	.znx-apps { grid-template-columns: repeat(2, 1fr); }
}

/* ---------- Valore aggiunto + documenti ---------- */
.znx-split { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; }
.znx-split h3 { font-size: 1.15rem; font-weight: 900; color: var(--ked-blue-dark); margin: 0 0 14px; }
.znx-split .znx-bullets li { padding: 7px 0 7px 22px; position: relative; font-size: 15px; }
.znx-split .znx-bullets li::before { content: "\2022"; position: absolute; left: 4px; color: var(--ked-blue); }
.znx-doclist li { border: 1px solid var(--ked-line); border-radius: 8px; margin-bottom: 10px; background: var(--ked-paper); }
.znx-doclist a { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 13px 18px; text-decoration: none; font-size: 15px; color: var(--ked-ink); }
.znx-doclist a:hover { background: var(--ked-mist); color: var(--ked-ink); }
.znx-doclist .znx-ext { font-size: 12px; font-weight: 700; letter-spacing: 1px; color: var(--ked-muted); white-space: nowrap; }
/* Documento annunciato ma non ancora disponibile: stessa riga, ma spenta. */
.znx-doclist li.znx-doc-pending { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 13px 18px; font-size: 15px; color: var(--ked-muted); border-style: dashed; background: transparent; }
@media (max-width: 820px) {
	.znx-split { grid-template-columns: 1fr; }
}

/* Il CTA finale del mock non serve: il footer del tema aggiunge gia' la
   banda "Contatta Ked" su ogni pagina. */
