/* Palmares */
.ez-palmares-stats {
	padding: clamp(40px, 5vw, 72px) var(--margin) clamp(36px, 4.4vw, 64px);
}
.ez-palmares-wins { padding: 0 var(--margin) clamp(56px, 6vw, 96px); }
.ez-palmares-wins__row { display: flex; flex-wrap: wrap; gap: 20px clamp(24px, 4vw, 64px); }
.ez-palmares-wins__title {
	flex: 3 1 240px;
	min-width: 0;
	margin: 0;
	font-size: clamp(30px, 3vw, 44px);
	line-height: 1.12;
}
.ez-palmares-wins__list {
	display: grid;
	flex: 7 1 420px;
	grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
	column-gap: 32px;
	min-width: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ez-palmares-wins__list li { padding: 10px 0; border-top: 1px solid var(--line); }

/* Zeta Racing: fascia Summer Sky (testo scuro, il bianco non passa 4,5:1) */
.ez-zeta { display: flex; flex-wrap: wrap; background: var(--sky); color: var(--ink); }
.ez-zeta__media { position: relative; flex: 2 1 320px; min-width: 0; min-height: 420px; }
.ez-zeta__media img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.ez-zeta__text {
	display: flex;
	flex: 3 1 420px;
	flex-direction: column;
	justify-content: center;
	gap: 16px;
	min-width: 0;
	padding: clamp(36px, 5vw, 72px) var(--margin);
}
.ez-zeta__text > * { max-width: 36em; margin: 0; }
.ez-zeta__text a { color: var(--ink); }
.ez-zeta__text :focus-visible { outline-color: var(--ink); }
.ez-zeta__text > p:first-child { max-width: 32em; font-size: clamp(20px, 1.7vw, 24px); line-height: 1.45; }
.ez-zeta__closing { display: block; width: 100%; height: clamp(280px, 44vw, 640px); object-fit: cover; }

/* Articoli, archivio, 404 */
.ez-post-date { margin: 0 0 1em; font-family: var(--sans); font-size: 17px; color: var(--muted); }
.ez-post-list { margin: 0; padding: 0; list-style: none; }
.ez-post-list__item { padding: 20px 0; border-top: 1px solid var(--line); }
.ez-post-list__item h2 { margin: 0 0 .2em; font-size: clamp(24px, 2.2vw, 30px); line-height: 1.2; }
.ez-post-list__item p { margin: 0 0 .5em; }
.ez-button,
.wpcf7 input[type="submit"] {
	display: inline-flex;
	align-items: center;
	min-height: 52px;
	padding: 0 28px;
	border: 0;
	border-radius: 0;
	background: var(--sea);
	color: #fff;
	font-family: var(--sans);
	font-size: 18px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
}
.ez-button:hover,
.wpcf7 input[type="submit"]:hover { background: var(--ink); color: #fff; }

/* Contatti: colonna con titolo e form, foto a fianco */
.ez-contact { display: flex; flex-wrap: wrap; }
.ez-contact__main {
	position: relative;
	flex: 1 1 420px;
	min-width: 0;
	padding: 150px var(--margin) clamp(48px, 6vw, 88px);
}
/* Fascia blu sotto l'header, che sta in posizione assoluta */
.ez-contact__main::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 116px;
	background: var(--sea);
}
.ez-contact__title {
	margin: 0 0 clamp(20px, 2.4vw, 32px);
	font-size: clamp(40px, 4.4vw, 64px);
	letter-spacing: -.01em;
	line-height: 1.06;
}
.ez-contact__media { position: relative; flex: 1 1 420px; min-width: 0; min-height: 320px; }
.ez-contact__media img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: 65% 50%; }
/* Alta come la finestra e non come il form: un riquadro piu' alto ingrandirebbe troppo la foto. */
@media (min-width: 900px) {
	.ez-contact__media { position: sticky; top: 0; align-self: flex-start; height: 100vh; }
}
.ez-contact-details { max-width: 560px; margin-bottom: 28px; }
.ez-contact-details h2 { margin: 0 0 .3em; font-size: clamp(24px, 2.2vw, 30px); line-height: 1.2; }
.ez-contact-details p { margin: .5em 0 0; }
.ez-contact-details a { display: inline-flex; align-items: center; min-height: 44px; }

/* Contact Form 7 */
.wpcf7-form { display: grid; gap: 18px; max-width: 560px; }
.wpcf7-form p { margin: 0; }
.wpcf7 label { display: block; margin-bottom: 4px; font-family: var(--sans); font-size: 17px; font-weight: 600; }
.wpcf7-form-control-wrap { display: block; }
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
	display: block;
	width: 100%;
	min-height: 48px;
	padding: 10px 12px;
	border: 1px solid var(--muted);
	border-radius: 0;
	background: #fff;
	color: var(--ink);
	font: inherit;
}
.wpcf7 textarea { min-height: 150px; }
.wpcf7 input:focus-visible,
.wpcf7 textarea:focus-visible { outline: 3px solid var(--sky); outline-offset: 1px; border-color: var(--sea); }
.wpcf7 input[type="submit"]:focus-visible { outline: 3px solid var(--sky); outline-offset: 3px; }
.wpcf7 .ez-accept { display: flex; align-items: flex-start; gap: 12px; margin: 0; font-family: var(--serif); font-size: 17px; font-weight: 400; line-height: 1.4; }
.wpcf7 .ez-accept .wpcf7-form-control-wrap { flex: none; }
.wpcf7 .ez-accept label { display: inline; margin: 0; font: inherit; }
.wpcf7 input[type="checkbox"] { width: 22px; height: 22px; margin: 2px 0 0; accent-color: var(--sea); }
.wpcf7 .ez-accept a { display: inline-flex; align-items: center; min-height: 44px; }

/* Errori e risposta */
.wpcf7-not-valid { border: 2px solid #8F1D1D !important; }
.wpcf7-not-valid-tip { display: block; padding-top: 4px; color: #8F1D1D; font-family: var(--sans); font-size: 16px; font-weight: 600; }
.wpcf7-response-output {
	margin: 0 !important;
	padding: 12px 16px !important;
	border: 2px solid var(--muted) !important;
	background: #fff;
	color: var(--ink);
	font-family: var(--sans);
	font-size: 17px;
	font-weight: 500;
}
.wpcf7 form.sent .wpcf7-response-output { border-color: #1B6B3A !important; }
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output { border-color: #8F1D1D !important; }
.wpcf7-spinner { margin: 0 12px; }
/* Elenco di link ritagliati e tutti uguali: il focus sparirebbe per 4 Tab. */
.wpcf7 .screen-reader-response ul { display: none; }
