/* ns-pages — Chi sono e Contatti. Token da ns-tokens.css (.ns-scope). */

.ns-page--alt { background: var(--ns-bg-alt); }

.ns-h1 {
	font-size: clamp(2rem, 1rem + 3.6vw, 3.6rem);
	line-height: 1.01; letter-spacing: -0.038em; font-weight: 600;
	margin: 0; max-width: 18ch; text-wrap: balance;
}

.ns-page__head { grid-column: 1 / -1; display: flex; flex-direction: column; gap: var(--ns-s2); }
@media (min-width: 900px) { .ns-page__head { grid-column: 1 / span 8; } }
.ns-page__head2 { grid-column: 1 / -1; display: flex; flex-direction: column; gap: var(--ns-s2); }
@media (min-width: 900px) { .ns-page__head2 { grid-column: 1 / span 8; } }

.ns-page__body { grid-column: 1 / -1; display: flex; flex-direction: column; gap: var(--ns-s2); }
.ns-page__body p { font-size: 1.05rem; line-height: 1.7; max-width: 62ch; }
@media (min-width: 900px) { .ns-page__body { grid-column: 1 / span 6; } }

.ns-page__figure { grid-column: 1 / -1; margin: 0; }
@media (min-width: 900px) { .ns-page__figure { grid-column: 8 / span 5; position: sticky; top: 6rem; } }
.ns-page__figure img { width: 100%; height: auto; display: block; filter: grayscale(100%); }

/* i quattro passi */
.ns-steps4 {
	grid-column: 1 / -1; list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: 1fr; gap: 0;
}
@media (min-width: 760px) { .ns-steps4 { grid-template-columns: repeat(4, 1fr); gap: var(--ns-s2); } }
.ns-steps4 li {
	border-top: 2px solid var(--ns-ink);
	padding: var(--ns-s2) 0;
	display: flex; flex-direction: column; gap: 0.4rem;
}
@media (max-width: 759px) { .ns-steps4 li { border-top-width: 1px; } .ns-steps4 li:first-child { border-top-width: 2px; } }
.ns-steps4 h3 { font-size: 1.1rem; font-weight: 600; letter-spacing: -0.018em; margin: 0; }
.ns-steps4 p { font-size: 0.95rem; line-height: 1.5; color: var(--ns-ink-soft); }

/* ---------- contatti ---------- */
.ns-contatti__intro { grid-column: 1 / -1; display: flex; flex-direction: column; gap: var(--ns-s3); }
.ns-contatti__form  { grid-column: 1 / -1; }
@media (min-width: 900px) {
	.ns-contatti__intro { grid-column: 1 / span 5; }
	.ns-contatti__form  { grid-column: 7 / span 6; }
}
.ns-contatti__specs { margin: 0; display: flex; flex-direction: column; }
.ns-contatti__specs > div {
	display: grid; grid-template-columns: 1fr; gap: 0.2rem;
	padding: var(--ns-s2) 0; border-top: 1px solid var(--ns-line);
}
@media (min-width: 520px) { .ns-contatti__specs > div { grid-template-columns: 10rem 1fr; gap: var(--ns-s2); } }
.ns-contatti__specs dt {
	font-family: var(--ns-mono); font-size: 0.7rem; letter-spacing: 0.1em;
	text-transform: uppercase; color: var(--ns-accent);
}
.ns-contatti__specs dd { margin: 0; font-size: 0.98rem; line-height: 1.5; }
.ns-contatti__specs a { color: var(--ns-ink); text-decoration: underline; text-underline-offset: 3px; }
.ns-contatti__specs a:hover { color: var(--ns-accent); }

/* modulo Contact Form 7 nel nostro sistema */
.ns-contatti .wpcf7 { font-family: var(--ns-sans); }
.ns-contatti .wpcf7 p { margin: 0 0 var(--ns-s2) !important; display: flex; flex-direction: column; gap: 0.4rem; }
.ns-contatti .wpcf7 label {
	font-family: var(--ns-mono); font-size: 0.7rem; letter-spacing: 0.1em;
	text-transform: uppercase; color: var(--ns-ink-soft);
	display: flex; flex-direction: column; gap: 0.4rem;
}
.ns-contatti .wpcf7 input[type="text"],
.ns-contatti .wpcf7 input[type="email"],
.ns-contatti .wpcf7 textarea {
	font-family: var(--ns-sans) !important;
	font-size: 1rem !important;
	color: var(--ns-ink) !important;
	background: var(--ns-card) !important;
	border: 1px solid var(--ns-line) !important;
	border-radius: 0 !important;
	padding: 0.85rem 0.9rem !important;
	width: 100%;
	box-shadow: none !important;
	text-transform: none;
	letter-spacing: normal;
}
.ns-contatti .wpcf7 textarea { min-height: 11rem; resize: vertical; }
.ns-contatti .wpcf7 input:focus, .ns-contatti .wpcf7 textarea:focus {
	outline: none; border-color: var(--ns-accent) !important;
	box-shadow: 0 0 0 2px var(--ns-accent-soft) !important;
}
.ns-contatti .wpcf7 input[type="submit"] {
	font-family: var(--ns-sans) !important;
	background: var(--ns-ink) !important; color: var(--ns-bg) !important;
	border: 0 !important; border-radius: 0 !important;
	padding: 1.05rem 1.6rem !important; font-size: 1rem !important;
	cursor: pointer; transition: background-color 0.22s ease; width: auto;
}
.ns-contatti .wpcf7 input[type="submit"]:hover { background: var(--ns-accent) !important; }
.ns-contatti .wpcf7-not-valid-tip { color: var(--ns-accent); font-size: 0.85rem; }
.ns-contatti .wpcf7-response-output {
	border: 1px solid var(--ns-line) !important; border-radius: 0 !important;
	padding: var(--ns-s2) !important; font-size: 0.95rem; margin: var(--ns-s2) 0 0 !important;
}
.ns-contatti .wpcf7 .ns-privacy { font-size: 0.85rem; color: var(--ns-ink-soft); line-height: 1.5; }
.ns-contatti .wpcf7 .ns-privacy a { color: var(--ns-ink); }

/* ---------- pagina Docenze ---------- */
.ns-steps4--three { grid-template-columns: 1fr; }
@media (min-width: 760px) { .ns-steps4--three { grid-template-columns: repeat(3, 1fr); } }
.ns-doc__note {
	grid-column: 1 / -1;
	font-family: var(--ns-mono); font-size: 0.8rem; line-height: 1.6;
	color: var(--ns-ink-soft); max-width: 66ch;
	border-left: 2px solid var(--ns-accent); padding-left: var(--ns-s2);
	margin-top: var(--ns-s2) !important;
}

.ns-doc__temi {
	grid-column: 1 / -1;
	display: grid; grid-template-columns: 1fr; gap: 0;
}
@media (min-width: 640px) { .ns-doc__temi { grid-template-columns: 1fr 1fr; column-gap: var(--ns-s4); } }
@media (min-width: 1000px) { .ns-doc__temi { grid-template-columns: repeat(4, 1fr); column-gap: var(--ns-s3); } }
.ns-doc__gruppo { border-top: 2px solid var(--ns-ink); padding: var(--ns-s2) 0; }
.ns-doc__gruppo h3 {
	font-family: var(--ns-mono); font-size: 0.7rem; letter-spacing: 0.12em;
	text-transform: uppercase; color: var(--ns-accent);
	margin: 0 0 var(--ns-s2); font-weight: 500;
}
.ns-doc__gruppo ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.5rem; }
.ns-doc__gruppo li { font-size: 1rem; line-height: 1.4; }

.ns-doc__sedi {
	grid-column: 1 / -1; list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: 1fr; gap: 0;
	border-top: 1px solid var(--ns-line);
}
@media (min-width: 760px) { .ns-doc__sedi { grid-template-columns: 1fr 1fr; column-gap: var(--ns-s4); } }
.ns-doc__sedi li {
	display: flex; flex-direction: column; gap: 0.2rem;
	padding: var(--ns-s2) 0; border-bottom: 1px solid var(--ns-line);
}
.ns-doc__sedi strong { font-size: 1.1rem; font-weight: 600; letter-spacing: -0.015em; }
.ns-doc__sedi span { font-family: var(--ns-mono); font-size: 0.72rem; letter-spacing: 0.06em; color: var(--ns-ink-soft); }

.ns-doc__soon { font-size: 0.95rem; color: var(--ns-ink-soft); }
.ns-doc__soon a { color: var(--ns-ink); text-decoration: underline; text-underline-offset: 3px; }

/* icone nei quattro passi e nei blocchi docenze */
.ns-steps4 .ns-icon { margin-bottom: var(--ns-s1); }
.ns-steps4 li { padding-top: var(--ns-s2); }

/* ---------- grafica grande nell'apertura di Docenze ---------- */
.ns-doc__figura {
	grid-column: 1 / -1;
	display: flex;
	align-items: flex-start;
}
@media (min-width: 900px) { .ns-doc__figura { grid-column: 9 / span 4; } }
.ns-figura {
	width: 100%; max-width: 15rem; height: auto; display: block;
}
