/* ==========================================================================
   La Vallée Notizie - stili del tema
   Punti di rottura (come il sito originale): 991px, 767px, 575px.
   Colori e misure solo tramite i token qui sotto (tema chiaro/scuro).
   ========================================================================== */

/* --------------------------------------------------------------------------
   Font (ospitati nel tema)
   ----------------------------------------------------------------------- */
@font-face { font-family: "Lora"; font-style: normal; font-weight: 400 700; font-display: swap; src: url(../fonts/lora-latin.woff2) format("woff2"); 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: "Lora"; font-style: normal; font-weight: 400 700; font-display: swap; src: url(../fonts/lora-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Lora"; font-style: italic; font-weight: 400 700; font-display: swap; src: url(../fonts/lora-italic-latin.woff2) format("woff2"); 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: "Lora"; font-style: italic; font-weight: 400 700; font-display: swap; src: url(../fonts/lora-italic-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Merriweather"; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/merriweather-700-latin.woff2) format("woff2"); 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: "Merriweather"; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/merriweather-700-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Open Sans"; font-style: normal; font-weight: 400 700; font-display: swap; src: url(../fonts/opensans-latin.woff2) format("woff2"); 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: "Open Sans"; font-style: normal; font-weight: 400 700; font-display: swap; src: url(../fonts/opensans-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* Font di riserva calibrati (misurati nel browser): finché i font del tema non arrivano
   il testo occupa lo stesso spazio, quindi niente salti del layout (CLS). */
@font-face { font-family: "Lora Fallback"; src: local("Georgia"); size-adjust: 103.76%; ascent-override: 97.34%; descent-override: 26.02%; line-gap-override: 0%; }
@font-face { font-family: "Merriweather Fallback"; font-weight: 700; src: local("Georgia Bold"), local("Georgia-Bold"), local("Georgia"); size-adjust: 93.95%; ascent-override: 104.31%; descent-override: 28.74%; line-gap-override: 0%; }
@font-face { font-family: "Open Sans Fallback"; src: local("Arial"); size-adjust: 104.08%; ascent-override: 102.81%; descent-override: 27.86%; line-gap-override: 0%; }

/* --------------------------------------------------------------------------
   Token
   ----------------------------------------------------------------------- */
:root {
	--font-text: "Lora", "Lora Fallback", Georgia, serif;
	--font-display: "Merriweather", "Merriweather Fallback", Georgia, serif;
	--font-ui: "Open Sans", "Open Sans Fallback", Arial, sans-serif;

	/* Colori del marchio (uguali nei due temi) */
	--brand: #ca0005;
	--brand-hover: #b60000;
	--brand-text: #fff;

	/* Tema chiaro */
	--bg: #fff;
	--text: #000;
	--text-soft: #333;
	--muted: #6e6e6e;
	--line: #b3b3b3;
	--accent: #ca0005;          /* testo rosso: etichette categoria */
	--link: #156e9e;
	--cat: #146089;
	--cat-hover: #004c75;
	--cat-bg: #dde9ef;          /* rgba(44,120,161,.15) su bianco */
	--surface: #f2f3f4;
	--media-bg: #eee;
	--strip-bg: #000;           /* riga località */
	--strip-text: #fff;
	--strip-muted: #a3a3a3;
	--footer-bg: #000;
	--footer-text: #fff;
	--shadow: 0 0 10px rgba(0, 0, 0, .3);
	--ad-bg: #aaa;

	--gap: 36px;
	--pad: 36px;
	--container: 1440px;
	--gutter: 60px;
	--sticky-h: 65px;

	color-scheme: light;
}

/* Tema scuro: scelto dal visitatore o, in assenza di scelta, dal sistema. */
:root[data-theme="dark"] {
	--bg: #121314;
	--text: #ececec;
	--text-soft: #d0d0d0;
	--muted: #a4a4a4;
	--line: #3d3f42;
	--accent: #ff6b6f;
	--link: #7cc0e8;
	--cat: #8cc4e6;
	--cat-hover: #b5dbf2;
	--cat-bg: #1b2a33;
	--surface: #1b1c1e;
	--media-bg: #222;
	--strip-bg: #000;
	--strip-text: #fff;
	--strip-muted: #a3a3a3;
	--footer-bg: #000;
	--footer-text: #fff;
	--shadow: 0 0 12px rgba(0, 0, 0, .8);
	--ad-bg: #444;
	color-scheme: dark;
}
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		--bg: #121314;
		--text: #ececec;
		--text-soft: #d0d0d0;
		--muted: #a4a4a4;
		--line: #3d3f42;
		--accent: #ff6b6f;
		--link: #7cc0e8;
		--cat: #8cc4e6;
		--cat-hover: #b5dbf2;
		--cat-bg: #1b2a33;
		--surface: #1b1c1e;
		--media-bg: #222;
		--shadow: 0 0 12px rgba(0, 0, 0, .8);
		--ad-bg: #444;
		color-scheme: dark;
	}
}

@media (max-width: 991px) {
	:root { --gutter: 40px; }
}
@media (max-width: 767px) {
	:root { --gutter: 20px; }
}
@media (max-width: 575px) {
	:root { --pad: 20px; }
}

/* --------------------------------------------------------------------------
   Base
   ----------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--sticky-h) + 16px);
}
html.is-locked { overflow: hidden; }

body {
	margin: 0;
	background: var(--bg);
	color: var(--text);
	font-family: var(--font-text);
	font-size: 19px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
	margin: 0;
	font-family: var(--font-display);
	font-weight: 700;
	line-height: 1.35;
}
h1 { font-size: 200%; }
h2 { font-size: 170%; }
h3 { font-size: 160%; }
h4 { font-size: 140%; }
h5 { font-size: 120%; }
h6 { font-size: 100%; }

p { margin: 0; }
a { color: var(--link); text-decoration: none; }
img, svg, iframe, video { max-width: 100%; }
img { height: auto; display: block; }
button { font: inherit; color: inherit; }
hr { border: 0; border-top: 1px solid var(--line); margin: 0; }
ul[class], ol[class] { margin: 0; padding: 0; list-style: none; }

.sprite { position: absolute; width: 0; height: 0; overflow: hidden; }

.icon {
	width: 1em;
	height: 1em;
	flex-shrink: 0;
	fill: currentColor;
	vertical-align: middle;
}
.icon.flip { transform: rotate(180deg); }

/* --------------------------------------------------------------------------
   Accessibilità
   ----------------------------------------------------------------------- */
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.skip-link {
	position: absolute;
	top: 8px;
	left: 8px;
	z-index: 2000;
	padding: 10px 16px;
	background: var(--text);
	color: var(--bg);
	font-family: var(--font-ui);
	font-weight: 600;
	transform: translateY(-200%);
}
.skip-link:focus { transform: none; }

:focus-visible {
	outline: 3px solid var(--link);
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.card:hover .card__img { transform: none; }
	*, *::before, *::after {
		animation-duration: .01ms !important;
		transition-duration: .01ms !important;
	}
}

/* --------------------------------------------------------------------------
   Pulsanti
   ----------------------------------------------------------------------- */
.btn {
	display: inline-block;
	padding: 10px 30px;
	border: 1px solid var(--brand);
	border-radius: 100px;
	background: var(--brand);
	color: var(--brand-text);
	font-family: var(--font-ui);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.3;
	text-align: center;
	transition: background-color .3s, border-color .3s;
}
.btn:hover { background: var(--brand-hover); border-color: var(--brand-hover); }
.btn--small { padding: 8px 20px; font-size: 14.4px; border-radius: 6px; }
.btn--block { display: block; width: 100%; margin-top: var(--gap); }

.icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 0;
	background: none;
	color: var(--text-soft);
	font-size: 32px;
	cursor: pointer;
}

/* --------------------------------------------------------------------------
   Struttura: contenitore, cornice, colonne, celle
   ----------------------------------------------------------------------- */
.container {
	width: 100%;
	max-width: var(--container);
	margin-inline: auto;
	padding-inline: var(--gutter);
}

.site-main > .container { padding-inline: var(--gutter); }

/* Cornice con filetto a sinistra; ogni cella ha filetto a destra e in basso. */
.frame {
	border-left: 1px solid var(--line);
}

.cell {
	padding: var(--pad);
	border-right: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}

.columns {
	display: flex;
	align-items: stretch;
}
.columns__main,
.columns__side { min-width: 0; display: flex; flex-direction: column; }
.columns__main { width: 70%; }
.columns__side { width: 30%; }
/* L'ultima cella si allunga: i filetti arrivano fino al blocco successivo. */
.columns__main > :last-child,
.columns__side > :last-child { flex-grow: 1; }

@media (max-width: 991px) {
	.columns { flex-direction: column; }
	.columns__main, .columns__side { width: 100%; }
	.hide-mobile { display: none !important; }
}
@media (max-width: 767px) {
	.site-main > .container { padding-inline: 0; }
	.frame { border-left: 0; }
	.cell,
	.archive__list::after { border-right: 0; }
}

/* --------------------------------------------------------------------------
   Header
   ----------------------------------------------------------------------- */
.site-header,
.hdr-sticky {
	font-family: var(--font-ui);
	background: var(--bg);
}

.hdr-bar { padding: 26px 0; }

.hdr-bar__inner {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 20px;
}
.hdr-bar__left { display: flex; align-items: center; gap: 20px; }
.hdr-bar__center { display: flex; flex-direction: column; align-items: center; }
.hdr-bar__right { display: flex; align-items: center; justify-content: flex-end; gap: 20px; }

.hdr-logo { display: block; width: 200px; color: var(--text); }
.hdr-logo .logo-svg,
.footer-logo .logo-svg { display: block; width: 100%; height: auto; fill: currentColor; }
.hdr-bar .hdr-logo { margin-bottom: 18px; }

.hdr-date { font-size: 15px; color: var(--text); text-align: center; }

.hdr-abbonati { white-space: nowrap; }

.theme-toggle { font-size: 26px; }
.theme-toggle .theme-toggle__sun { display: none; }
.theme-toggle[aria-pressed="true"] .theme-toggle__sun { display: block; }
.theme-toggle[aria-pressed="true"] .theme-toggle__moon { display: none; }

/* Ricerca */
.hdr-search { padding: 20px 0; background: var(--surface); font-size: 17px; }
.hdr-search[hidden] { display: none; }

.search-form {
	display: flex;
	align-items: center;
	border: 1px solid #cacaca;
	border-radius: 100px;
	background: #fff;
	overflow: hidden;
}
.search-form input[type="search"] {
	flex: 1;
	min-width: 0;
	padding: 14px 20px;
	border: 0;
	background: transparent;
	color: #000;
	font: inherit;
	font-family: var(--font-ui);
}
.search-form input[type="search"]:focus { outline: none; }
.search-form:focus-within { outline: 3px solid var(--link); outline-offset: 2px; }
.search-form__submit {
	display: flex;
	margin-right: 8px;
	padding: 4px;
	border: 0;
	background: none;
	color: #9a9a9a;
	font-size: 32px;
	cursor: pointer;
	transition: color .3s;
}
.search-form__submit:hover { color: var(--brand); }

/* Riga categorie */
.hdr-cats { border-top: 1px solid var(--line); font-size: 16px; }
.hdr-cats__inner { display: flex; align-items: stretch; }
.hdr-cats__scroll { position: relative; flex: 1; min-width: 0; overflow: hidden; }
.hdr-cats__scroll::after {
	content: "";
	position: absolute;
	inset: 0 0 0 auto;
	width: 250px;
	background: linear-gradient(90deg, transparent, var(--bg));
	pointer-events: none;
}
.hdr-cats__menu .menu { display: flex; white-space: nowrap; }
.hdr-cats__menu a {
	display: inline-block;
	margin: 18px 30px 16px 0;
	padding-bottom: 2px;
	color: var(--text);
}
.hdr-cats__all {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 0 20px;
	border: 0;
	border-left: 1px solid var(--line);
	border-right: 1px solid var(--line);
	background: none;
	white-space: nowrap;
	cursor: pointer;
}
.hdr-cats__all .icon { font-size: 32px; color: var(--text-soft); }

/* Riga località */
.hdr-loc { background: var(--strip-bg); color: var(--strip-text); font-size: 17px; position: relative; }
.hdr-loc__inner {
	display: flex;
	align-items: center;
	padding-block: 8px;
	white-space: nowrap;
	overflow-x: auto;
	scrollbar-width: none;
}
.hdr-loc__inner::-webkit-scrollbar { display: none; }
.hdr-loc__label { margin-right: 25px; color: var(--strip-muted); }
.hdr-loc__menu .menu { display: flex; }
.hdr-loc__menu a {
	display: inline-block;
	margin: 10px 30px 8px 0;
	padding-bottom: 2px;
	color: var(--strip-text);
}

/* Sottolineatura animata dei menu */
.hdr-cats__menu a,
.hdr-loc__menu a,
.footer-menu a,
.offcanvas__menu a {
	position: relative;
}
.hdr-cats__menu a::after,
.hdr-loc__menu a::after,
.footer-menu a::after,
.offcanvas__menu a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: currentColor;
	opacity: .5;
	transform: scaleX(0);
	transform-origin: bottom right;
	transition: transform .3s ease-out;
}
.hdr-cats__menu a:hover::after,
.hdr-loc__menu a:hover::after,
.footer-menu a:hover::after,
.offcanvas__menu a:hover::after {
	transform: scaleX(1);
	transform-origin: bottom left;
}

/* Barra compatta (fissa) */
.hdr-sticky {
	position: fixed;
	inset: 0 0 auto;
	z-index: 1000;
	padding: 10px 0;
	box-shadow: var(--shadow);
	transform: translateY(-110%);
	visibility: hidden;
	transition: transform .3s, visibility .3s;
}
.hdr-sticky.is-visible { transform: none; visibility: visible; }
.hdr-sticky .hdr-logo { width: 160px; }
.admin-bar .hdr-sticky { top: 32px; }
@media (max-width: 782px) {
	.admin-bar .hdr-sticky { top: 46px; }
}

@media (max-width: 991px) {
	.hdr-bar { padding: 10px 0; }
	.hdr-bar__inner { grid-template-columns: auto 1fr auto; gap: 12px; }
	.hdr-bar__left { gap: 12px; }
	.hdr-bar__center { align-items: center; }
	.hdr-bar .hdr-logo { margin-bottom: 0; }
	.hdr-logo, .hdr-sticky .hdr-logo { width: 140px; }
	.hdr-date { display: none; }
	.hdr-cats { display: none; }
	.hdr-loc { font-size: 15px; }
	.hdr-loc__label { display: none; }
	.hdr-loc::after {
		content: "";
		position: absolute;
		inset: 0 0 0 auto;
		width: 60px;
		background: linear-gradient(90deg, transparent, var(--strip-bg));
		pointer-events: none;
	}
	.hdr-abbonati {
		padding: 8px 0;
		border-color: transparent;
		background: none;
		color: var(--text);
		font-size: 13px;
		text-transform: uppercase;
	}
	.hdr-abbonati:hover { background: none; border-color: transparent; color: var(--brand); }
	.theme-toggle { font-size: 24px; }
	.icon-btn { font-size: 28px; }
}
@media (max-width: 400px) {
	.hdr-bar__right { gap: 10px; }
	.hdr-logo, .hdr-sticky .hdr-logo { width: 118px; }
}

/* --------------------------------------------------------------------------
   Menu laterale (dialog)
   ----------------------------------------------------------------------- */
.offcanvas {
	width: 100%;
	max-width: 768px;
	height: 100dvh;
	max-height: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: var(--bg);
	color: var(--text);
	font-family: var(--font-ui);
	font-size: 20px;
	font-weight: 500;
}
.offcanvas[open] { animation: vn-slide-in .5s cubic-bezier(.77, 0, .175, 1); }
.offcanvas::backdrop { background: rgba(0, 0, 0, .5); }
@keyframes vn-slide-in {
	from { transform: translateX(-100%); }
	to { transform: none; }
}
.offcanvas__inner { padding: 30px 40px 60px; }
.offcanvas__head { display: flex; justify-content: flex-end; margin-bottom: 40px; }
.offcanvas__menu .menu { display: flex; flex-wrap: wrap; }
.offcanvas__menu li { width: 33.33%; }
.offcanvas__menu a { display: inline-block; margin: 10px 0 8px; color: var(--text); }
.offcanvas__divider { margin: 40px 0; }

@media (max-width: 991px) {
	.offcanvas__inner { padding-inline: 20px; }
	.offcanvas__divider { margin: 30px 0; }
}
@media (max-width: 767px) {
	.offcanvas { font-size: 16px; }
	.offcanvas__divider { margin: 20px 0; }
}
@media (max-width: 575px) {
	.offcanvas__menu li { width: 50%; }
}

/* --------------------------------------------------------------------------
   Titoli di sezione
   ----------------------------------------------------------------------- */
.section-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 20px var(--pad);
	border-right: 1px solid var(--line);
	background: var(--cat-bg);
}
.section-title__name { font-size: 26px; color: var(--cat); }
.section-title__more {
	display: inline-flex;
	padding: 4px;
	border-radius: 50%;
	background: var(--cat);
	color: var(--bg);
	font-size: 24px;
	transition: background-color .3s;
}

/* Barra cliccabile per intero */
.section-title--link { position: relative; transition: background-color .3s; }
.section-title__link { color: inherit; }
.section-title__link::after { content: ""; position: absolute; inset: 0; }
.section-title__link:focus-visible { outline: none; }
.section-title--link:has(.section-title__link:focus-visible) { outline: 3px solid var(--link); outline-offset: -3px; }
.section-title--link:hover { background: color-mix(in srgb, var(--cat-bg), var(--cat) 10%); }
.section-title--link:hover .section-title__more { background: var(--cat-hover); }

.section-title--loc {
	padding-bottom: 0;
	background: none;
}
.section-title--loc + .cell { padding-top: 24px; }
.section-title--loc .section-title__name { font-size: 20px; }
.section-title--loc a { display: inline-flex; align-items: center; color: var(--cat); }
.section-title--loc a:hover { color: var(--cat-hover); }
.section-title__chevron { font-size: 24px; }

@media (max-width: 991px) {
	.section-title__name { font-size: 22px; }
}
@media (max-width: 575px) {
	.section-title { padding-block: 12px; }
	.section-title--loc { padding-bottom: 0; }
	.section-title--loc .section-title__name { font-size: 18px; }
}
@media (max-width: 767px) {
	.section-title { border-right: 0; }
}

/* --------------------------------------------------------------------------
   Card
   ----------------------------------------------------------------------- */
.card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: 100%;
	text-align: left;
}

.card__media {
	position: relative;
	display: flex;
	overflow: hidden;
	background: var(--media-bg);
}
.card__img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	object-position: 50% 16%;
}

/* Immagine fuori proporzione: intera, su sfondo sfocato */
.card__media--blurred { background: none; }
.card__blur {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}
.card__blur .card__img {
	position: relative;
	z-index: 1;
	height: 100%;
	aspect-ratio: auto;
	object-fit: contain;
	object-position: center;
}
.card__img-bg {
	position: absolute;
	inset: -10px;
	width: calc(100% + 20px);
	height: calc(100% + 20px);
	max-width: none;
	object-fit: cover;
	filter: blur(8px);
}

.card__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
}
.card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 10px;
	font-family: var(--font-ui);
	font-size: 13px;
}
.card__time { color: var(--muted); font-weight: 400; white-space: nowrap; }
.card__cats + .card__time::before { content: "·"; margin-right: 10px; color: var(--line); }
.card__kicker {
	margin-top: 6px;
	color: var(--muted);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	text-transform: uppercase;
}
.card__cats {
	display: flex;
	flex-wrap: wrap;
	gap: 0 10px;
	color: var(--accent);
	font-family: var(--font-ui);
	font-size: 13px;
	font-weight: 500;
	text-transform: uppercase;
}
.card__title {
	width: 100%;
	margin-top: 4px;
	font-size: 120%;
	line-height: 1.35;
}
.card__title a { color: var(--text); transition: color .3s; }
.card__title a:hover { color: var(--cat-hover); }

.card__abstract,
.vip__abstract {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}
.card__abstract { margin-top: 10px; font-size: 16px; }

/* Leggero zoom delle immagini al passaggio (nessun effetto con "riduci animazioni") */
.card__img { transition: transform .4s ease; }
.card:hover .card__img { transform: scale(1.04); }
.card:hover .card__img-bg { transform: none; }

@media (max-width: 991px) {
	.card__title { font-size: 100%; }
}

/* --------------------------------------------------------------------------
   Home: Primo piano
   ----------------------------------------------------------------------- */
.home-lead .card__title { font-size: 160%; line-height: 1.2; }

.home-lead-list { display: flex; flex-wrap: wrap; }
.home-lead-list .card { width: 50%; }
.home-lead-list .card:first-child,
.home-lead-list .card[data-n="pari"]:last-child {
	width: 100%;
	flex-direction: row;
}
.home-lead-list .card:first-child .card__media,
.home-lead-list .card[data-n="pari"]:last-child .card__media {
	width: calc(50% - var(--gap));
	flex-shrink: 0;
}
.home-lead-list .card:first-child .card__title { font-size: 140%; }

@media (max-width: 991px) {
	.home-lead .card__title { font-size: 140%; }
	.home-lead-list .card:first-child .card__title { font-size: 100%; }
}
@media (max-width: 575px) {
	.home-lead .card__title { font-size: 120%; }
	.home-lead .card,
	.home-lead-list .card,
	.home-lead-list .card:first-child,
	.home-lead-list .card[data-n="pari"]:last-child {
		width: 100%;
		flex-direction: column;
		padding-top: 0;
	}
	.home-lead .card.no-image,
	.home-lead-list .card.no-image { padding-top: var(--pad); }
	.home-lead .card__media,
	.home-lead-list .card .card__media,
	.home-lead-list .card:first-child .card__media,
	.home-lead-list .card[data-n="pari"]:last-child .card__media {
		width: auto;
		margin-inline: calc(var(--pad) * -1);
	}
}

/* --------------------------------------------------------------------------
   Home: gruppi (Prima pagina, categorie)
   ----------------------------------------------------------------------- */
.group { display: flex; gap: var(--gap); }
.group__main,
.group__side { width: 50%; }
.group__side { display: flex; flex-wrap: wrap; gap: var(--gap); align-content: flex-start; }
.group__side .card { width: calc(50% - var(--gap) / 2); }
.group__main .card__title { font-size: 140%; }
.group__side .card__title { font-size: 100%; }

/* Filetto sotto la prima riga di card */
.group__side .card:nth-child(1)::after,
.group__side .card:nth-child(2)::after,
.loc__side .card:nth-child(1)::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: calc(var(--gap) / -2);
	border-bottom: 1px solid var(--line);
}
.group__side .card:nth-child(1):last-child::after,
.group__side .card:nth-child(2):last-child::after { display: none; }

@media (max-width: 991px) {
	.group { flex-direction: column; }
	.group__main,
	.group__side { width: 100%; }
	.group__main .card { position: relative; }
	.group__main .card::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: calc(var(--gap) / -2);
		border-bottom: 1px solid var(--line);
	}
}
@media (max-width: 575px) {
	.group__main .card__title { font-size: 120%; }
	.group__side .card { width: 100%; }
	.group__side .card::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: calc(var(--gap) / -2);
		border-bottom: 1px solid var(--line);
	}
	.group__side .card:last-child::after { display: none; }
}

/* --------------------------------------------------------------------------
   Home: località
   ----------------------------------------------------------------------- */
.home-loc { display: flex; flex-wrap: wrap; }
.loc { width: 100%; display: flex; flex-direction: column; }
.loc--compact { width: 50%; }
.loc__grid { display: flex; gap: var(--gap); flex: 1 1 auto; }
.loc__main { width: 66%; }
.loc--compact .loc__main { width: 100%; }
.loc__side { width: 34%; display: flex; flex-direction: column; gap: var(--gap); }
.loc__main .card__title { font-size: 140%; }
.loc__side .card__title { font-size: 100%; }

@media (max-width: 575px) {
	.loc,
	.loc--compact { width: 100%; }
	.loc__grid { flex-direction: column; }
	.loc__main,
	.loc__side { width: 100%; }
	.loc__main .card__title { font-size: 120%; }
	.loc:not(.loc--compact) .loc__main .card::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: calc(var(--gap) / -2);
		border-bottom: 1px solid var(--line);
	}
}

/* --------------------------------------------------------------------------
   Home: rubriche, correlati
   ----------------------------------------------------------------------- */
.home-rubriche { background: var(--surface); }
.home-rubriche .section-title { background: none; padding-bottom: 0; }

.home-rubriche__list,
.related__list {
	display: flex;
	gap: var(--gap);
	justify-content: space-between;
}
.home-rubriche__list .card__title,
.related__list .card__title { font-size: 100%; }
.home-rubriche__list .card__img,
.home-rubriche__list .card__blur { aspect-ratio: 4 / 3; }

@media (max-width: 991px) {
	.home-rubriche__list,
	.related__list { flex-wrap: wrap; }
	.home-rubriche__list .card,
	.related__list .card { width: calc(50% - var(--gap) / 2); }
}
@media (max-width: 575px) {
	.home-rubriche__list .card,
	.related__list .card { width: 100%; }
}

/* --------------------------------------------------------------------------
   Colonna laterale
   ----------------------------------------------------------------------- */
.side-abbonamenti { display: flex; flex-direction: column; align-items: center; }
.side-abbonamenti__cover { display: block; width: 100%; max-width: 350px; }
.side-abbonamenti__cover img {
	width: 100%;
	height: auto;
	box-shadow: 0 0 15px rgba(0, 0, 0, .25);
}
.side-abbonamenti .btn--block { max-width: 350px; }

/* Colonna laterale sotto il contenuto: copertina e pulsante affiancati. */
@media (min-width: 576px) and (max-width: 991px) {
	.side-abbonamenti { flex-direction: row; justify-content: center; gap: var(--gap); }
	.side-abbonamenti__cover { max-width: 260px; }
	.side-abbonamenti .btn--block { width: auto; margin-top: 0; }
}

.side-meteo { flex: 1 1 auto; display: flex; flex-direction: column; align-items: center; gap: var(--gap); }
/* Il widget della Regione scala il contenuto con la larghezza: altezza in proporzione (4:5), niente barra di scorrimento. */
.side-meteo iframe {
	display: block;
	width: 100%;
	max-width: 350px;
	height: auto;
	aspect-ratio: 4 / 5;
	border: 0;
}

.side-box__title {
	margin-bottom: 20px;
	font-family: var(--font-ui);
	font-size: 18px;
	font-weight: 600;
}
.side-box__title a { color: var(--text); }

.vip { display: flex; align-items: center; gap: 16px; }
.vip + .vip {
	margin-top: 20px;
}
.vip--plus {
	padding-bottom: 20px;
	border-bottom: 1px solid var(--line);
}
.vip__ring {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 76px;
	width: 76px;
	height: 76px;
	padding: 5px;
	border-radius: 50%;
}
.vip--plus .vip__ring { background: conic-gradient(from 135deg, #b3b3b3 225deg, #2ab21e 360deg); }
.vip--minus .vip__ring { background: conic-gradient(from 135deg, #d91818 0deg, #b3b3b3 135deg); }
.vip__ring--plain { padding: 0; background: #eee; }
.vip__img {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
	object-position: center 30%;
}
.vip__ring--plain .vip__img { width: 80%; height: 80%; }
.vip__sign {
	position: absolute;
	right: -4px;
	bottom: -4px;
	width: 32px;
	height: 32px;
	padding: 4px;
	border-radius: 50%;
	color: #fff;
}
.vip--plus .vip__sign { background: #2ab21e; }
.vip--minus .vip__sign { background: #d91818; }
.vip__text { width: 100%; }
.vip__name { font-family: var(--font-ui); font-size: 16px; font-weight: 600; }
.vip__name a { color: var(--text); transition: color .3s; }
.vip__name a:hover { color: var(--cat-hover); }
.vip__abstract { margin-top: 5px; font-size: 15px; -webkit-line-clamp: 2; }

.side-ads { display: flex; flex-direction: column; gap: var(--gap); flex: 1 1 auto; }

/* Spazi pubblicitari */
.ad-wrap { display: flex; justify-content: center; }
.ad-slot { width: 100%; max-width: 970px; min-height: var(--ad-h, 250px); margin-inline: auto; }
.ad-slot--empty { background: var(--ad-bg); }

/* --------------------------------------------------------------------------
   Articolo e pagine
   ----------------------------------------------------------------------- */
.article { display: flex; flex-direction: column; }

.article__header { display: flex; flex-direction: column; gap: 20px; }

.breadcrumbs { font-family: var(--font-ui); font-size: 14px; color: var(--muted); }
.breadcrumbs a { color: var(--muted); }
.breadcrumbs a:hover { color: var(--link); }
.breadcrumbs .separator { margin: 0 4px; }

.article__cats {
	display: flex;
	flex-wrap: wrap;
	gap: 0 12px;
	font-family: var(--font-ui);
	font-size: 16px;
	text-transform: uppercase;
}
.article__cats a { color: var(--link); }
.article__cats a:hover { color: var(--cat-hover); }

.article__kicker {
	margin-bottom: -14px;
	color: var(--muted);
	font-size: 120%;
	font-weight: 600;
	text-transform: uppercase;
}
.article__title { width: 100%; }
.article__meta { font-family: var(--font-ui); font-size: 15px; }
.article__byline { font-weight: 600; }
.article__byline a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.article__sep { margin: 0 4px; color: var(--muted); }

.article__figure { display: flex; flex-direction: column; gap: 5px; margin: 0; }
.article__image {
	display: flex;
	justify-content: center;
	max-height: 500px;
	background: var(--media-bg);
}
.article__image img { width: 100%; max-height: 500px; object-fit: contain; }
.article__caption { font-family: var(--font-ui); font-size: 15px; }

.article__reading {
	display: flex;
	align-items: center;
	gap: 10px;
	padding-block: 18px;
	font-family: var(--font-ui);
	font-size: 15px;
}
.article__reading .icon { font-size: 24px; color: var(--line); }

.article__body {
	display: flex;
	gap: var(--gap);
	flex: 1 1 auto;
	align-items: flex-start;
}
.article__content { width: 100%; min-width: 0; display: flex; flex-direction: column; gap: 40px; }

/* Condivisione */
.share {
	position: sticky;
	top: calc(var(--sticky-h) + 20px);
	display: flex;
	flex-direction: column;
	gap: 5px;
	flex-shrink: 0;
}
.share__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 1px solid var(--text);
	border-radius: 50%;
	color: var(--text);
	font-size: 18px;
	transition: color .3s, border-color .3s;
}
.share__btn:hover { color: var(--brand); border-color: var(--brand); }
button.share__btn { padding: 0; background: none; cursor: pointer; }
.share__btn[hidden] { display: none; }
.share__btn.is-done { color: #fff; border-color: #2ab21e; background: #2ab21e; }

@media (max-width: 991px) {
	.article__title { font-size: 150%; }
	.article__cats { font-size: 15px; }
	.article__kicker { font-size: 100%; }
}
@media (max-width: 575px) {
	.article__title { font-size: 120%; }
	.article__cats { font-size: 13px; }
	.article__kicker { font-size: 85%; }
	.article__body { flex-direction: column; gap: 20px; }
	.share { position: static; flex-direction: row; }
}

/* Testo dell'articolo */
.entry-content { width: 100%; overflow-wrap: break-word; }
/* Margine sotto ogni blocco: vale anche per l'HTML da email (paragrafi dentro <div>). */
.entry-content :where(p, ul, ol, blockquote, figure, table, .wp-caption, iframe, h2, h3, h4, h5, h6) { margin-block: 0 1em; }
.entry-content :where(p, ul, ol, blockquote, figure, table):last-child { margin-bottom: 0; }
.entry-content h2 { font-size: 140%; margin-top: 1.4em; }
.entry-content h3 { font-size: 120%; margin-top: 1.4em; }
.entry-content h4, .entry-content h5, .entry-content h6 { font-size: 100%; margin-top: 1.4em; }
.entry-content > :first-child { margin-top: 0; }
.entry-content a { font-weight: 500; text-decoration: underline; text-underline-offset: 2px; }
.entry-content a:hover { color: var(--cat-hover); }
.entry-content ul, .entry-content ol { padding-left: 1.4em; }
.entry-content blockquote {
	margin-inline: 0;
	padding-left: 20px;
	border-left: 3px solid var(--brand);
	font-style: italic;
}
.entry-content img { height: auto; }
.entry-content figure { margin-inline: 0; }
.entry-content p:empty { display: none; }
.entry-content figcaption,
.entry-content .wp-caption-text { margin-top: 5px; font-family: var(--font-ui); font-size: 15px; }
.entry-content .wp-caption { max-width: 100%; }
.entry-content .alignleft { float: left; margin: 0 20px 10px 0; }
.entry-content .alignright { float: right; margin: 0 0 10px 20px; }
.entry-content .aligncenter { margin-inline: auto; }
.entry-content iframe { width: 100%; border: 0; }
.entry-content iframe[src*="youtube"], .entry-content iframe[src*="vimeo"] { aspect-ratio: 16 / 9; height: auto; }
.entry-content table { width: 100%; border-collapse: collapse; font-size: 16px; }
.entry-content th, .entry-content td { padding: 6px 8px; border: 1px solid var(--line); }
.entry-content::after { content: ""; display: table; clear: both; }

@media (max-width: 575px) {
	.entry-content { font-size: 18px; }
}

/* Vippometro */
.vippometro { display: flex; flex-direction: column; gap: var(--gap); }
.vippometro__item { display: flex; gap: 20px; }
.vippometro__text { flex: 1; min-width: 0; }
.vippometro__name { display: flex; align-items: flex-end; gap: 10px; margin-bottom: 10px; font-size: 140%; }
.vippometro__icon { width: 78px; }
.vippometro__photo { flex: 0 0 180px; }
.vippometro__item--minus .vippometro__photo { order: -1; }

@media (max-width: 575px) {
	.vippometro__item { flex-direction: column; }
	.vippometro__item--minus .vippometro__photo { order: 0; }
	.vippometro__photo { flex-basis: auto; max-width: 180px; }
}

/* Galleria */
.gallery__track {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
}
.gallery__track::-webkit-scrollbar { display: none; }
.gallery__slide { flex: 0 0 100%; margin: 0; scroll-snap-align: start; }
.gallery__image {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 500px;
	background: var(--media-bg);
}
.gallery__image img { width: 100%; height: 100%; object-fit: contain; }
.gallery__caption { margin-top: 5px; font-family: var(--font-ui); font-size: 15px; }
.gallery__nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin-top: 16px;
	font-family: var(--font-ui);
	font-size: 15px;
}
.gallery__nav[hidden] { display: none; }
.gallery__nav .icon-btn {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(0, 0, 0, .45);
	color: #fff;
	font-size: 22px;
}
@media (max-width: 575px) {
	.gallery__image { height: 300px; }
}

/* Icona "ingrandisci" sulle foto dell'articolo */
.js-zoom { position: relative; cursor: zoom-in; }
.zoom-hint {
	position: absolute;
	right: 10px;
	bottom: 10px;
	display: flex;
	padding: 6px;
	border-radius: 50%;
	background: rgba(0, 0, 0, .55);
	color: #fff;
	font-size: 18px;
	opacity: .85;
	transition: opacity .3s;
}
.js-zoom:hover .zoom-hint,
.js-zoom:focus-visible .zoom-hint { opacity: 1; }

/* Foto a schermo intero */
.lightbox {
	width: 100vw;
	max-width: none;
	height: 100dvh;
	max-height: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: rgba(0, 0, 0, .94);
	color: #fff;
	font-family: var(--font-ui);
}
.lightbox::backdrop { background: rgba(0, 0, 0, .94); }
.lightbox[open] { display: flex; align-items: center; justify-content: center; }
.lightbox__figure {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 60px 70px 50px;
}
.lightbox__img { max-width: 100%; max-height: calc(100dvh - 150px); width: auto; height: auto; object-fit: contain; }
.lightbox__caption { max-width: 900px; font-size: 15px; text-align: center; }
.lightbox__caption:empty { display: none; }
.lightbox .icon-btn { position: absolute; color: #fff; }
.lightbox__close { top: 14px; right: 16px; font-size: 32px; }
.lightbox__nav {
	top: 50%;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .12);
	font-size: 26px;
	transform: translateY(-50%);
}
.lightbox__nav:hover { background: rgba(255, 255, 255, .25); }
.lightbox__nav[hidden] { display: none; }
.lightbox__prev { left: 12px; }
.lightbox__next { right: 12px; }
.lightbox__count { position: absolute; top: 20px; left: 20px; font-size: 14px; }
@media (max-width: 575px) {
	.lightbox__figure { padding: 60px 10px 40px; }
	.lightbox__nav { top: auto; bottom: 10px; transform: none; }
}

/* Invito all'abbonamento a fine articolo */
.cta {
	display: flex;
	align-items: center;
	gap: var(--gap);
	background: var(--surface);
}
.cta__cover { flex: 0 0 150px; }
.cta__cover img { width: 100%; box-shadow: 0 0 15px rgba(0, 0, 0, .25); }
.cta__body { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.cta__title { font-family: var(--font-display); font-size: 140%; font-weight: 700; line-height: 1.25; }
.cta__text { font-size: 17px; }
@media (max-width: 575px) {
	.cta { flex-direction: column; align-items: stretch; text-align: center; }
	.cta__cover { flex-basis: auto; width: 140px; margin-inline: auto; }
	.cta__body { align-items: center; }
	.cta__title { font-size: 120%; }
}

/* Ultime notizie (colonna laterale) */
.side-latest__list { display: flex; flex-direction: column; }
.side-latest__item { display: flex; flex-direction: column; gap: 2px; padding: 12px 0; border-top: 1px solid var(--line); }
.side-latest__item:first-child { padding-top: 0; border-top: 0; }
.side-latest .card__time { font-family: var(--font-ui); font-size: 13px; }
.side-latest__link { color: var(--text); font-family: var(--font-display); font-size: 16px; font-weight: 700; line-height: 1.35; transition: color .3s; }
.side-latest__link:hover { color: var(--cat-hover); }

/* Barra di avanzamento della lettura */
.reading-progress {
	position: fixed;
	inset: 0 0 auto;
	z-index: 1001;
	height: 3px;
	pointer-events: none;
}
.reading-progress[hidden] { display: none; }
.reading-progress span {
	display: block;
	height: 100%;
	background: var(--brand);
	transform: scaleX(0);
	transform-origin: left;
}
.admin-bar .reading-progress { top: 32px; }
@media (max-width: 782px) {
	.admin-bar .reading-progress { top: 46px; }
}

/* Correlati */
.related { margin-top: auto; }
.related .section-title { border-top: 1px solid var(--line); }

/* Recapiti e dati editoriali (pagine Contatti e Redazione) */
.article .recapiti { display: flex; flex-direction: column; gap: 30px; font-size: 17px; }
.article .recapiti__company { font-weight: 600; }
.article .recapiti__title { font-weight: 600; }
.recapiti__links { display: flex; flex-direction: column; gap: 4px; }
.recapiti__links a { display: inline-flex; align-items: center; min-height: 24px; color: inherit; text-decoration: underline; }
.article .editoria { margin: 0; padding-top: 10px; border-top: 1px solid var(--line); }
.editoria__item { margin-bottom: 10px; }
.editoria dt { font-weight: 500; }
.editoria dd { margin: 0; font-size: 13px; }
.article .editoria dd { font-size: 16px; }

/* --------------------------------------------------------------------------
   Archivi e ricerca
   ----------------------------------------------------------------------- */
.archive__title { font-size: 180%; }
.archive__description { margin-top: 12px; font-size: 17px; }
.archive__list { display: flex; flex-wrap: wrap; }
.archive__list .card { width: 50%; }
/* Apertura: il primo articolo della prima pagina a tutta larghezza */
.archive__list .card--lead { width: 100%; }
.archive__list .card--lead .card__title { font-size: 160%; line-height: 1.2; }
@media (max-width: 991px) {
	.archive__list .card--lead .card__title { font-size: 140%; }
}
@media (max-width: 575px) {
	.archive__list .card--lead .card__title { font-size: 120%; }
}

/* Ultima riga incompleta: cella vuota di riempimento, così i filetti chiudono la griglia.
   Con l'apertura il conteggio parte dal secondo elemento, quindi la parità si inverte. */
.archive__list:not(.archive__list--lead):has(> .card:last-child:nth-child(odd))::after,
.archive__list--lead:has(> .card:last-child:nth-child(even))::after {
	content: "";
	width: 50%;
	border-right: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}
.archive__list .card__title { font-size: 120%; }
.archive__empty { flex: 1; }

.card--vippometro .card__media { background: none; }
.card--vippometro .card__img { width: 50%; aspect-ratio: 8 / 9; }

.pagination {
	font-family: var(--font-ui);
	font-size: 18px;
	line-height: 1;
}
.pagination:empty { display: none; }
.pagination,
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; justify-content: center; }
.pagination .page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding-inline: 8px;
	border-radius: 18px; /* cerchio con 1-2 cifre, pillola con 3 o più */
	color: var(--text);
	font-variant-numeric: tabular-nums;
	transition: color .3s;
}
.pagination .page-numbers.current { background: var(--cat-hover); color: #fff; }
.pagination a.page-numbers:hover { color: var(--cat); }
.pagination .icon { font-size: 22px; }

@media (max-width: 991px) {
	.archive__title { font-size: 160%; }
}
@media (max-width: 575px) {
	.archive__title { font-size: 120%; }
	.archive__list .card { width: 100%; }
	.archive__list::after { display: none; }
}

/* 404 */
.notfound {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	min-height: 45vh;
	padding: 60px 0;
	text-align: center;
	justify-content: center;
}
.notfound__art { width: 50%; max-width: 280px; fill: var(--text); }
.notfound__title { font-size: 170%; }
.notfound .search-form { width: 100%; max-width: 520px; }
.notfound__latest { margin-bottom: 40px; border-top: 1px solid var(--line); }
@media (max-width: 767px) {
	.notfound__latest { border-top: 0; }
}

/* --------------------------------------------------------------------------
   Footer
   ----------------------------------------------------------------------- */
.site-footer {
	padding-bottom: 40px;
	font-family: var(--font-ui);
	font-size: 14px;
	line-height: 1.6;
}
.footer-box {
	max-width: 1320px;
	margin-inline: auto;
	padding: 90px 40px 10px;
	background: var(--footer-bg);
	color: var(--footer-text);
}
.footer-box a { color: inherit; }
.footer-grid { display: flex; align-items: stretch; gap: 80px; }
.footer-info { display: flex; flex-direction: column; gap: 15px; flex: 0 0 auto; }
.footer-logo { display: block; width: 130px; margin-bottom: 9px; color: var(--footer-text); }

.footer-social { display: flex; gap: 10px; }
.footer-social:not(:has(li)) { display: none; }
.footer-social a { display: flex; font-size: 18px; transition: color .3s; }
.footer-social a:hover { color: var(--accent); }

.site-footer .recapiti { display: flex; flex-direction: column; gap: 15px; }
.site-footer .recapiti__company { font-size: 16px; font-weight: 500; }
.site-footer .recapiti__title { margin: 5px 0 -5px; font-size: 18px; font-weight: 600; }
.site-footer .recapiti__links { margin-top: 5px; }

.footer-note { margin-top: 5px; }

.footer-menus { flex: 1; }
.footer-menu .menu { display: flex; flex-wrap: wrap; }
.footer-menu li { width: 33.33%; }
.footer-menu a { display: inline-block; margin: 10px 0 8px; font-size: 18px; font-weight: 500; }
.footer-menu--main a { text-transform: uppercase; }
.footer-divider { margin: 80px 0; border-color: var(--line); }

.footer-credits { margin-top: 70px; text-align: right; }
.footer-credits a { font-weight: 700; color: #f4f4f4; }

@media (max-width: 991px) {
	.site-footer { padding-bottom: 0; }
	.site-footer > .container { padding-inline: 0; }
	.footer-grid { flex-direction: column-reverse; gap: 40px; }
	.footer-divider { margin: 40px 0; }
}
@media (max-width: 767px) {
	.footer-box { padding: 50px 20px; }
	.footer-grid { gap: 20px; }
	.footer-divider { margin: 20px 0; }
	.footer-menu a { font-size: 16px; }
}
@media (max-width: 575px) {
	.footer-box { padding-block: 30px; }
	.footer-menu li { width: 50%; }
	.footer-menu:not(.footer-menu--main) li { width: 100%; }
}

/* --------------------------------------------------------------------------
   Contenuti esterni (informative GDPR)
   ----------------------------------------------------------------------- */
.policy table { display: block; overflow-x: auto; }

/* --------------------------------------------------------------------------
   Stampa
   ----------------------------------------------------------------------- */
@media print {
	.site-header, .hdr-sticky, .offcanvas, .columns__side, .share, .related, .site-footer, .ad-wrap, .ad-slot { display: none !important; }
	.columns__main { width: 100%; }
	.cell { border: 0; padding: 0 0 16px; }
	body { font-size: 12pt; color: #000; background: #fff; }
}
