/*
 * Sistema grafico «Rotta» — landing avvocati.easywebsolutions.it.
 * Bianco caldo #F7F8F7, antracite #1F2933, blu mare #0F6E9E, blu scuro #0F3A52.
 * Titoli Rubik, testo Public Sans, entrambi serviti dal dominio (assets/fonts, SIL OFL 1.1).
 * Telefono per primo, poi desktop. Una colonna, testo largo al massimo 640 px.
 * Contrasti misurati: bianco su #0F6E9E 5,61:1; bianco su #0F3A52 12,0:1; #1F2933 su #F7F8F7 13,9:1.
 */

@font-face {
	font-family: "Rubik";
	src: url("../fonts/rubik-latin-var.woff2") format("woff2");
	font-weight: 500 700;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Public Sans";
	src: url("../fonts/public-sans-latin-var.woff2") format("woff2");
	font-weight: 400 600;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	--wpa-bianco: #F7F8F7;
	--wpa-antracite: #1F2933;
	--wpa-blu: #0F6E9E;
	--wpa-blu-scuro: #0F3A52;
	--wpa-bordo: #8A96A3;
	--wpa-colonna: 640px;
	--wpa-gutter: 16px;
	--wpa-font-titoli: "Rubik", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--wpa-font-testo: "Public Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

html { background: var(--wpa-bianco); }

body.wpa-rotta {
	margin: 0;
	background: var(--wpa-bianco);
	color: var(--wpa-antracite);
	font-family: var(--wpa-font-testo);
	font-weight: 400;
	font-size: 1.0625rem;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body.wpa-rotta a { color: var(--wpa-blu); text-decoration: underline; text-underline-offset: 2px; }
body.wpa-rotta a:hover, body.wpa-rotta a:focus-visible { color: var(--wpa-blu-scuro); }
body.wpa-rotta :focus-visible { outline: 3px solid var(--wpa-blu-scuro); outline-offset: 3px; }

/* Testata: solo il logo testuale, in alto a sinistra */
.wpa-testata { padding: 20px var(--wpa-gutter) 0; }
body.wpa-rotta .wpa-logo {
	font-family: var(--wpa-font-titoli);
	font-weight: 700;
	font-size: 1.125rem;
	letter-spacing: 0.01em;
	color: var(--wpa-blu-scuro);
	text-decoration: none;
}

/* Colonna unica */
.wpa-main { padding: 0 var(--wpa-gutter); }
.wpa-landing { max-width: var(--wpa-colonna); margin: 0 auto; padding: 56px 0 64px; }

/* Titolo: due righe con a capo semantico; ogni riga resta intera */
body.wpa-rotta .wpa-titolo {
	margin: 0 0 28px;
	font-family: var(--wpa-font-titoli);
	font-weight: 700;
	font-size: clamp(1.25rem, 6.4vw, 2.75rem);
	line-height: 1.15;
	letter-spacing: -0.01em;
	color: var(--wpa-blu-scuro);
}
.wpa-titolo-riga { display: block; white-space: nowrap; }
body.wpa-rotta .wpa-titolo--pagina { white-space: normal; }
body.wpa-rotta .wpa-titolo--legale { font-size: clamp(1.25rem, 5vw, 1.75rem); line-height: 1.25; }

.wpa-righe p { margin: 0 0 16px; max-width: 62ch; }

/* Modulo */
.wpa-modulo { margin-top: 36px; }
.wpa-campo { margin-bottom: 20px; }
body.wpa-rotta .wpa-etichetta {
	display: block;
	margin-bottom: 8px;
	font-family: var(--wpa-font-titoli);
	font-weight: 500;
	font-size: 1rem;
	color: var(--wpa-antracite);
}
body.wpa-rotta .wpa-input {
	display: block;
	box-sizing: border-box;
	width: 100%;
	min-height: 52px;
	padding: 12px 14px;
	border: 1px solid var(--wpa-bordo);
	border-radius: 6px;
	background: #FFFFFF;
	color: var(--wpa-antracite);
	font-family: var(--wpa-font-testo);
	font-size: 1.0625rem;
	line-height: 1.4;
}
body.wpa-rotta .wpa-input:focus { border-color: var(--wpa-blu); outline: 3px solid rgba(15, 110, 158, 0.35); outline-offset: 0; }

/* Trappola per i robot: fuori schermo, non annunciata */
.wpa-hp { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }

.wpa-consenso { display: flex; gap: 12px; align-items: flex-start; margin: 4px 0 24px; font-size: 0.9375rem; line-height: 1.5; }
body.wpa-rotta .wpa-casella { flex: 0 0 auto; width: 22px; height: 22px; margin: 1px 0 0; accent-color: var(--wpa-blu); }

/* Pulsante pieno blu mare, testo bianco: 5,61:1 a riposo, 12,0:1 su hover/focus/active */
body.wpa-rotta .wpa-pulsante {
	display: block;
	box-sizing: border-box;
	width: 100%;
	min-height: 54px;
	padding: 14px 24px;
	border: 0;
	border-radius: 6px;
	background: var(--wpa-blu);
	color: #FFFFFF;
	font-family: var(--wpa-font-titoli);
	font-weight: 700;
	font-size: 1.125rem;
	line-height: 1.2;
	cursor: pointer;
}
body.wpa-rotta .wpa-pulsante:hover,
body.wpa-rotta .wpa-pulsante:focus,
body.wpa-rotta .wpa-pulsante:active { background: var(--wpa-blu-scuro); color: #FFFFFF; }

.wpa-nota { margin: 14px 0 0; font-size: 0.9375rem; }
.wpa-avviso { margin: 0 0 20px; padding: 12px 14px; border-left: 4px solid var(--wpa-blu-scuro); background: #FFFFFF; font-weight: 600; }

/* Informativa */
.wpa-punti { margin: 0; padding-left: 1.4em; }
.wpa-punti li { margin: 0 0 14px; }

/* Piede centrato */
.wpa-piede { padding: 28px var(--wpa-gutter) 40px; border-top: 1px solid rgba(31, 41, 51, 0.12); text-align: center; }
.wpa-piede-riga { max-width: 860px; margin: 0 auto; font-size: 0.875rem; line-height: 1.9; }
.wpa-piede-voce { white-space: nowrap; }
.wpa-piede-sep { margin: 0 6px; }
body.wpa-rotta .wpa-piede-consenso {
	-webkit-appearance: none;
	appearance: none;
	box-shadow: none;
	min-height: 0;
	display: inline;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--wpa-blu);
	font: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
	cursor: pointer;
}
body.wpa-rotta .wpa-piede-consenso:hover, body.wpa-rotta .wpa-piede-consenso:focus { background: none; color: var(--wpa-blu-scuro); }

/* Desktop */
@media (min-width: 768px) {
	body.wpa-rotta { font-size: 1.125rem; }
	.wpa-testata { padding: 28px 32px 0; }
	.wpa-landing { padding: 96px 0 96px; }
	body.wpa-rotta .wpa-pulsante { display: inline-block; width: auto; min-width: 240px; }
}
