/* ============================================================
   Alma Formazione — testata, piè di pagina, hero
   ============================================================ */

/* ---------- BARRA DI SERVIZIO ---------- */
.alma-servizio {
	background: var(--blu);
	color: var(--bianco);
	font-size: 13px;
}
.alma-servizio__interno {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	padding-top: 8px;
	padding-bottom: 8px;
}
.alma-servizio a { color: var(--bianco); }
.alma-servizio a:hover { color: var(--giallo); }
.alma-servizio__destra { display: flex; flex-wrap: wrap; gap: 20px; }

/* ---------- TESTATA ---------- */
.alma-testata {
	background: var(--bianco);
	border-bottom: 1px solid var(--bordo);
	position: relative;
}
.alma-testata__interno {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	padding-top: 16px;
	padding-bottom: 16px;
}

/* Il logo del Polo apre la pagina da solo: nessun marchio di
   ateneo gli sta accanto in testata. */
.alma-marchio { display: flex; align-items: center; gap: 14px; flex-shrink: 0; }

/* In flex ogni elemento si restringe quando lo spazio manca, e il
   logo si schiaccerebbe in orizzontale tenendo l'altezza fissa.
   flex-shrink lo vieta; width impone la larghezza che l'immagine
   avrebbe per proporzione, cosi' il calcolo non dipende dallo
   spazio disponibile. Il logo e' 496x193, cioe' 2.57:1. */
.alma-marchio__logo {
	display: block;
	height: var(--logo-testata, 46px);
	width: auto;
	flex-shrink: 0;
	max-width: none;
	object-fit: contain;
}
.alma-marchio__riga { width: 1px; height: 30px; background: var(--bordo); }
.alma-marchio__etichetta {
	font-family: var(--font-titoli);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	line-height: 1.35;
	color: var(--testo-muto);
}

.alma-nav__lista { display: flex; align-items: center; gap: 26px; list-style: none; }
.alma-nav a { font-size: 15px; color: var(--testo); }
.alma-nav a:hover { color: var(--blu); }
.alma-nav .current-menu-item > a,
.alma-nav .current_page_item > a,
.alma-nav .current-menu-ancestor > a {
	color: var(--blu);
	font-weight: 600;
}

.alma-azioni { display: flex; align-items: center; gap: 14px; }
.alma-carrello { display: flex; align-items: center; gap: 7px; font-size: 15px; color: var(--testo); }
.alma-carrello:hover { color: var(--blu); }
.alma-carrello__conteggio { font-family: var(--font-titoli); font-weight: 600; }

/* Il pulsante a panino compare solo quando il menu si chiude. */
.alma-panino {
	display: none;
	width: 44px; height: 44px;
	align-items: center;
	justify-content: center;
	background: none;
	border: 1px solid var(--bordo);
	border-radius: var(--raggio);
	cursor: pointer;
}

/* ---------- HERO ---------- */
.alma-hero { position: relative; background: var(--beige); overflow: hidden; }
.alma-hero__sfondo {
	position: absolute;
	inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	object-position: 30% 40%;
}
/* La sfumatura tiene il testo leggibile a sinistra e lascia
   respirare la fotografia a destra. */
.alma-hero__velo {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg,
		rgba(27, 33, 80, 0.86) 0%,
		rgba(27, 33, 80, 0.72) 38%,
		rgba(27, 33, 80, 0.28) 62%,
		rgba(27, 33, 80, 0.12) 100%);
}
.alma-hero__interno {
	position: relative;
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 56px;
	padding-top: 64px;
	padding-bottom: 56px;
}
.alma-hero__testo { align-self: center; display: flex; flex-direction: column; gap: 22px; }
.alma-hero__testo h1 {
	font-size: 58px;
	font-weight: 800;
	line-height: 1.04;
	letter-spacing: -0.02em;
	color: var(--bianco);
	margin: 0;
}
.alma-hero__lead {
	font-size: 20px;
	line-height: 1.5;
	color: var(--blu-nebbia);
	max-width: 30ch;
	margin: 0;
}
.alma-hero__azioni { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 6px; }
.alma-hero__prove {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 28px;
	margin-top: 12px;
	font-size: 14.5px;
	color: var(--blu-nebbia);
	list-style: none;
}

/* ---------- FORM ---------- */
/* Il filo arancione in cima è l'unico segnale di priorità del
   riquadro: senza, sparirebbe nel resto della pagina. */
.alma-form-box {
	background: var(--bianco);
	border: 1px solid var(--bordo);
	border-top: 4px solid var(--arancio);
	padding: 30px;
}
.alma-form-box h2 { font-size: 21px; margin: 0 0 4px; }
.alma-form-box__sub { font-size: 14.5px; color: var(--testo-muto); margin: 0 0 20px; }

.alma-campi { display: flex; flex-direction: column; gap: 13px; }
.alma-campi__coppia { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.alma-campo { display: flex; flex-direction: column; gap: 5px; }
.alma-campo label { font-size: 12.5px; font-weight: 600; color: var(--testo-medio); }
.alma-campo input,
.alma-campo select,
.alma-campo textarea {
	height: 46px;
	padding: 0 13px;
	font-family: var(--font-testo);
	font-size: 15px;
	color: var(--testo);
	background: var(--bianco);
	border: 1px solid var(--bordo-campo);
	border-radius: var(--raggio);
	width: 100%;
}
.alma-campo textarea { height: auto; padding: 12px 13px; resize: vertical; }
.alma-campo select { appearance: none; cursor: pointer; }
.alma-campo--select { position: relative; }
.alma-campo--select::after {
	content: '';
	position: absolute;
	right: 14px; bottom: 18px;
	width: 9px; height: 9px;
	border-right: 1.6px solid var(--testo-muto);
	border-bottom: 1.6px solid var(--testo-muto);
	transform: rotate(45deg);
	pointer-events: none;
}
.alma-consenso { display: flex; align-items: flex-start; gap: 9px; font-size: 12.5px; line-height: 1.45; }
.alma-consenso input { width: 17px; height: 17px; flex-shrink: 0; margin: 1px 0 0; accent-color: var(--arancio); }
.alma-form-box .alma-bottone { width: 100%; padding: 15px; }

/* Esiti dell'invio. */
.alma-esito { padding: 14px 16px; border-radius: var(--raggio); font-size: 15px; margin-bottom: 16px; }
.alma-esito--ok { background: var(--pill-verde); color: var(--verde-scuro); }
.alma-esito--ko { background: #fdecec; color: #a10808; }
.alma-campo__errore { font-size: 12.5px; color: #a10808; }

/* ---------- PIÈ DI PAGINA ---------- */
.alma-piede { background: var(--blu-profondo); color: var(--bianco); }
.alma-piede__interno { padding-top: 44px; padding-bottom: 24px; }
.alma-piede__griglia { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
.alma-piede a { color: var(--bianco); }
.alma-piede a:hover { color: var(--giallo); }
.alma-piede__logo {
	align-self: flex-start;
	display: inline-block;
	background: var(--bianco);
	padding: 8px 10px;
	border-radius: var(--raggio);
	margin-bottom: 14px;
}
.alma-piede__logo img { display: block; height: 42px; width: auto; }
.alma-piede__testo { font-size: 14px; line-height: 1.6; color: var(--blu-chiaro); margin: 0; }
.alma-piede__etichetta {
	font-family: var(--font-titoli);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--blu-tenue);
	margin: 0 0 12px;
}
.alma-piede__lista { display: flex; flex-direction: column; gap: 10px; list-style: none; font-size: 14px; }

/* I nomi degli atenei stanno qui, in coda, dopo che la qualifica
   di Polo è già stata dichiarata sopra. */
.alma-piede__atenei { margin-top: 30px; padding-top: 20px; border-top: 1px solid var(--blu-medio); }
.alma-piede__atenei p { font-size: 13px; line-height: 1.6; color: var(--blu-chiaro); margin: 0 0 12px; }
.alma-piede__pill { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; }
.alma-piede__pill li {
	padding: 5px 12px;
	border: 1px solid var(--blu-medio);
	border-radius: var(--raggio-pill);
	font-size: 12.5px;
	color: var(--bianco);
}
.alma-piede__legale {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 18px;
	margin-top: 22px;
	padding-top: 16px;
	border-top: 1px solid var(--blu-medio);
	font-size: 12.5px;
	color: var(--blu-tenue);
}
.alma-piede__legale a { color: var(--blu-tenue); }
.alma-piede__legale ul { display: flex; flex-wrap: wrap; gap: 18px; list-style: none; }
