/* =========================================================================
   FONT
   ========================================================================= */

@font-face {
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url('fonts/roboto-latin.woff2') format('woff2');
}


/* =========================================================================
   VARIABILI
   ========================================================================= */

:root {
	/* ---- Tipografia ---- */
	--cz-font: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;

	/* ---- Brand ---- */
	--cz-red: #D20000;
	--cz-red-hover: #AE0000;
	--cz-red-bright: #FF0000;

	/* ---- Neutri ---- */
	--cz-white: #FFFFFF;
	--cz-ink: #000000;
	--cz-meta: #666666;
	--cz-grey: #54595F;
	--cz-grey-soft: #7A7A7A;
	--cz-dark: #26282B;
	--cz-sep: #DDDDDD;

	/* ---- Sfondi ---- */
	--cz-page-bg: #E0E0E0;
	--cz-bar-end: #F2F2F2;
	--cz-cta-bg: #F9FAFA;
	--cz-section-alt-bg: rgba(0, 0, 0, .06);

	/* ---- Eccezioni: una sola occorrenza ---- */
	--cz-cta-text: #3F444B;
	--cz-social-hover: #001C38;
	--cz-radio-border: #DBDBDB;
	--cz-field-border: rgba(84, 89, 95, .29);
	--cz-whatsapp: #25D366;
	--cz-facebook: #3B5998;

	/* ---- Trasparenze ---- */
	--cz-divider: rgba(0, 0, 0, .1);
	--cz-divider-light: rgba(255, 255, 255, .37);
	--cz-overlay: rgba(0, 0, 0, .92);
	--cz-footer-text: rgba(255, 255, 255, .65);
	--cz-footer-border: rgba(255, 255, 255, .19);
	--cz-placeholder: rgba(255, 255, 255, .6);
	--cz-card-border: rgba(122, 122, 122, .25);

	/* ---- Misure ---- */
	--cz-w-site: 1080px;
	--cz-w-sidebar: 350px;
	--cz-w-inner: calc( 100% - var(--cz-w-sidebar) );

	/* ---- Effetti ---- */
	--cz-shadow-box: 0 0 5px rgba(0, 0, 0, .2);
	--cz-grad-bar: linear-gradient(180deg, var(--cz-white) 0%, var(--cz-bar-end) 100%);
	--cz-text-shadow: 1px 1px 4px var(--cz-ink);
	--cz-text-shadow-soft: 0 0 5px var(--cz-ink);
	--cz-t-fast: .2s ease;
	--cz-t-base: .3s ease;
}


/* =========================================================================
   BASE
   ========================================================================= */

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

body {
	background-color: var(--cz-page-bg);
}

h1, h2, h3, h4, h5, h6 {
	color: var(--cz-ink);
}

/* Esclude le icone rese con font-icon */
body,
body :not(i):not(.eicon):not([class^="eicon-"]):not([class*=" eicon-"]):not(.fa):not(.fas):not(.far):not(.fal):not(.fab):not([class^="fa-"]):not([class*=" fa-"]):not(.elementor-icon):not([class^="icon-"]):not([class*=" icon-"]) {
	font-family: var(--cz-font) !important;
}

a {text-decoration:none;}

figure, img {
  max-width:100%;
}

/* =========================================================================
   LAYOUT
   ========================================================================= */

body > .site-container {
	max-width: var(--cz-w-site);
	margin: 0 auto 20px;
	background-color: var(--cz-white) !important;
	box-shadow: var(--cz-shadow-box);
}

.czero-header__inner,
.czero-footer__inner {
	max-width: var(--cz-w-inner);
	margin: 0 auto;
	padding-left: 15px;
	padding-right: 15px;
}

.page-inner {
	width: 100%;
	padding: 20px 0;

	.main-content {
		width: 100%;
		padding: 0 20px;
	}

	.sidebar {
		width: var(--cz-w-sidebar);
		padding: 0 20px;
	}
	.sidebar.big {
    --cz-w-sidebar: 50%;
	}

	&.has-sidebar {
		display: flex;

		.main-content { width: calc(100% - var(--cz-w-sidebar)); }
	}
}

.page-inner.spaced {
  padding:20px;
}

/* =========================================================================
   HEADER
   ========================================================================= */

.czero-header {
	position: relative;

	ul { list-style: none; margin: 0; padding: 0; }
}

.czero-header__logo {
	img,
	.custom-logo { display: block; }
}

/* ---- Barra logo (desktop) ---- */
.czero-header__logobar {
	background: var(--cz-grad-bar);

	.czero-header__inner {
		min-height: 110px;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.czero-header__logo img { width: 280px; height: auto; }
}

/* ---- Barra nav (desktop, sticky) ---- */
.czero-header__nav {
	background: var(--cz-red);
	position: sticky;
	top: 0;
	z-index: 100;

	.czero-header__inner {
	  width:100%;
		max-width:100%;
	  display: flex;
		align-items: center;
		justify-content:space-between;
		min-height: 44px;
	}
}

.czero-nav-cats { position: relative; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; }
.czero-nav-main { display: flex; justify-content: center; width: calc(100% - 80px);}
.czero-nav-search { width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; }

/* ---- Menu orizzontale ---- */
.czero-menu--horizontal {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;

	> li > a {
		display: block;
		color: var(--cz-white);
		font-size: 14px;
		font-weight:500;
		text-transform: uppercase;
		letter-spacing: .2px;
		text-decoration: none;
		padding: 14px 8px;
		border-right: 1px solid rgba(255,255,255,0.4);
		position: relative;

		&:hover { background: var(--cz-red-hover); }
	}

	> li:last-child > a { border-right: 0; }
	> li.current-menu-item > a { background: var(--cz-ink); }
}

/* ---- Hamburger ---- */
.czero-burger {
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	gap: 4px;
	width: 34px;
	height: 34px;
	padding: 6px;
	background: transparent;
	border: 0;
	cursor: pointer;

	span {
		display: block;
		height: 2px;
		background: var(--cz-white);
		border-radius: 2px;
		transition: transform var(--cz-t-fast), opacity var(--cz-t-fast);
	}

	&.is-active span {
		&:nth-child(1) { transform: translateY(6px) rotate(45deg); }
		&:nth-child(2) { opacity: 0; }
		&:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
	}
}

/* ---- Dropdown categorie ---- */
.czero-nav-cats__dropdown {
	position: absolute;
	left: 0;
	top: 100%;
	margin-top: 7px;
	min-width: 220px;
	background: var(--cz-grey);
	z-index: 200;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .25);
}

.czero-menu--cats {
	li {
		border-bottom: 1px solid var(--cz-divider-light);

		&:last-child { border-bottom: 0; }

		a {
			display: block;
			color: var(--cz-white);
			font-size: 14px;
			letter-spacing: .1px;
			text-decoration: none;
			padding: 8px 11px;

			&:hover { background: var(--cz-red-hover); }
		}

		&.current-menu-item a { background: var(--cz-ink); }
	}
}

/* ---- Toggle ricerca ---- */
.czero-search-toggle {
	background: transparent;
	border: 0;
	color: var(--cz-white);
	cursor: pointer;
	padding: 4px;
	display: inline-flex;
	align-items: center;
}

/* ---- Barra social (phone) ---- */
.czero-header__socialbar {
	display: none;
	background: var(--cz-red);
	padding: 6px 15px;

	.czero-social { justify-content: center; }
}

/* ---- Header mobile ---- */
.czero-header__mobile {
	display: none;
	background: var(--cz-grad-bar);
	border-bottom: 2px solid var(--cz-grey);
	position: relative;
	z-index: 100;

	.czero-header__inner {
		min-height: 70px;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	.czero-search-toggle,
	.czero-burger { color: var(--cz-red); }

	.czero-burger span { background: var(--cz-red); }
}

.czero-header__mobile-spacer { display: none; height: 0; }

.czero-header__mobile.is-fixed {
	position: fixed;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	max-width: var(--cz-w-site);
	z-index: 1000;
}

body.admin-bar .czero-header__mobile.is-fixed { top: 32px; }

.czero-header__logo--mobile img { width: 230px; height: auto; }
.czero-header__mobile-actions { display: flex; align-items: center; gap: 8px; }
.czero-header__mobile-dropdown { background: var(--cz-red); }

.czero-menu--mobile {
	li {
		border-bottom: 1px solid var(--cz-divider-light);

		a {
			display: block;
			color: var(--cz-white);
			text-transform: uppercase;
			text-decoration: none;
			padding: 12px 15px;
			font-size: 14px;

			&:hover { background: var(--cz-red-hover); }
		}

		&.current-menu-item a { background: var(--cz-ink); }
	}
}


/* =========================================================================
   RICERCA
   ========================================================================= */

.czero-search-overlay { display: none; }

body.czero-search-open .czero-search-overlay {
	display: flex;
	position: fixed;
	inset: 0;
	z-index: 9999;
	background: var(--cz-overlay);
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.czero-search-form { width: min(680px, 90%); }

.czero-search-input {
	width: 100%;
	background: transparent;
	border: 0;
	border-bottom: 2px solid var(--cz-white);
	color: var(--cz-white);
	font-size: 28px;
	padding: 12px 4px;
	outline: none;

	&::placeholder { color: var(--cz-placeholder); }
}

.czero-search-close {
	position: absolute;
	top: 24px;
	right: 28px;
	background: transparent;
	border: 0;
	color: var(--cz-white);
	cursor: pointer;
}


/* =========================================================================
   TORNA SU
   ========================================================================= */

.czero-scrolltop {
	position: fixed;
	right: 18px;
	bottom: 18px;
	width: 42px;
	height: 42px;
	border: 0;
	padding: 0;
	border-radius: 50%;
	background: var(--cz-red);
	color: var(--cz-white);
	cursor: pointer;
	display: none;
	align-items: center;
	justify-content: center;
	z-index: 500;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .3);

	&.is-visible { display: inline-flex; }
}


/* =========================================================================
   FOOTER
   ========================================================================= */

.czero-footer {
	ul { list-style: none; margin: 0; padding: 0; }
}

.czero-footer__main {
	background: var(--cz-dark);

	.czero-footer__inner {
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
		padding-top: 40px;
		padding-bottom: 40px;
	}
}

.czero-footer__col { flex: 1 1 0; min-width: 150px; }
.czero-footer__col--brand { flex: 1.6 1 220px; }

.czero-footer__logo img { width: 178px; height: auto; }

.czero-footer__redazione {
	color: var(--cz-footer-text);
	font-size: 13px;
	font-weight: 300;
	line-height: 1.6;
	margin: 12px 0 0;

	p { margin: 0; }
}

.czero-footer__title {
	color: var(--cz-white);
	font-size: 16px;
	margin: 0 0 10px;
}

.czero-footer__list li,
.czero-footer__privacy { margin-bottom: 3px; }

.czero-footer__list a,
.czero-footer__list span,
.czero-footer__privacy a {
	color: var(--cz-grey-soft);
	font-size: 14px;
	font-weight: 500;
	text-transform: uppercase;
	text-decoration: none;
	transition: color var(--cz-t-fast);
	display: inline-block;
	padding: 2px 0;
}

.czero-footer__list a:hover,
.czero-footer__privacy a:hover { color: var(--cz-white); }

.czero-footer__bottom {
	background: var(--cz-red);
	border-top: 1px solid var(--cz-footer-border);

	.czero-footer__inner {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 15px;
		padding-top: 12px;
		padding-bottom: 12px;
	}
}

.czero-footer__copyright { color: var(--cz-white); font-size: 11px; font-weight: 300; }
.czero-footer__social .czero-social { justify-content: flex-end; }


/* =========================================================================
   SOCIAL
   ========================================================================= */

.czero-social {
	display: flex;
	gap: 8px;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.czero-social__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--cz-red);
	color: var(--cz-white);
	transition: color var(--cz-t-fast);

	&:hover { color: var(--cz-social-hover); }
}

.czero-social__icon { width: 15px; height: 15px; }

.czero-share {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
}

.czero-share__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	color: var(--cz-white);
}

.czero-share__link--whatsapp { background: var(--cz-whatsapp); }
.czero-share__link--facebook { background: var(--cz-facebook); }
.czero-share__link--x { background: var(--cz-ink); }


/* =========================================================================
   RADIO
   ========================================================================= */

.czero-radio {
  width:100%;
	position: relative;
	padding: 10px;
	background: var(--cz-red) url('/wp-content/uploads/2022/11/sfondo_radio2.jpg') center/cover no-repeat;

	&::before {
		content: "";
		position: absolute;
		inset: 0;
		background: var(--cz-red-bright);
		opacity: .58;
		pointer-events: none;
	}

	&.is-playing {
		.czero-radio__ico-play { display: none; }
		.czero-radio__ico-pause { display: inline-block; }
	}
}

.czero-radio__inner {
  max-width: 340px;
  margin: 0 auto;
  position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 5px 5px 5px 10px;
	text-decoration: none;
	border: 2px solid var(--cz-radio-border);
	border-radius: 50px;
	box-shadow: 0 0 5px rgba(0, 0, 0, .15);
	background: linear-gradient(290deg, var(--cz-grey-soft) 25%, var(--cz-red) 25%);
}

.czero-radio__icon img {
	width: 65px;
	height: 65px;
	border-radius: 50%;
	box-shadow: 0 1px 10px rgba(0, 0, 0, .5);
	display: block;
}

.czero-radio__text { flex: 1 1 auto; color: var(--cz-white); }
.czero-radio__title { display: block; font-size: 18px; font-weight: 800; line-height: 1.1; }
.czero-radio__desc { display: block; font-size: 14px; line-height: 1.1; }

.czero-radio__play {
	position: absolute;
	right: 20px;
	color: var(--cz-white);
	display: inline-flex;
}

.czero-radio__ico-pause { display: none; }


/* =========================================================================
   CARD
   ========================================================================= */

.c-card {
	position: relative;
	font-size: 16px;

	&:hover .c-card__img { transform: scale(1.1); }
}

.c-card__media {
	display: block;
	overflow: hidden;
	line-height: 0;
}

.c-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	max-height: 100% !important;
	transition: transform var(--cz-t-base);
}

.c-card__kicker {
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;

	a { color: inherit; text-decoration: none; }
}

.c-card__title {
	margin: 0;

	a { color: inherit; text-decoration: none; }
}

.c-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	line-height: 1.3;

	> * { position: relative; }

	> * + *::before {
		content: "";
		position: absolute;
		left: -4px;
		top: 50%;
		transform: translateY(-50%);
		height: 12px;
		border-left: 1px solid var(--cz-sep);
	}
}

/* =========================================================================
   CARD — VARIANTI OVERLAY (top-big / top-2x1 / top-small)
   ========================================================================= */

.c-card--top-big,
.c-card--top-2x1,
.c-card--top-small {
	overflow: hidden;

	.c-card__media {
		height: 100%;

		&::after {
			content: "";
			position: absolute;
			bottom: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 40%, var(--cz-ink) 80%);
			opacity: .8;
			pointer-events: none;
		}
	}

	.c-card__body {
		position: absolute;
		width: 100%;
		left: 0;
		bottom: 0;
		z-index: 2;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		padding-bottom: 20px;
	}

	.c-card__kicker {
		background: var(--cz-red-bright);
		color: var(--cz-white);
		padding: 2px 10px 2px 20px;
		margin-bottom: 10px;
		box-shadow: 0 0 5px rgba(0, 0, 0, .5);
	}

	.c-card__title {
		color: var(--cz-white);
		font-weight: 500;
		line-height: 1.1;
		padding: 0 20px 5px;

		a { text-decoration: none; }
	}

	.c-card__meta {
		color: var(--cz-white);
		padding: 0 20px;
		justify-content: center;
	}
}

.c-card--top-big .c-card__title { font-size: 1.3em; text-shadow: var(--cz-text-shadow); }
.c-card--top-2x1 .c-card__title { font-size: 1.1em; text-shadow: var(--cz-text-shadow); }
.c-card--top-small .c-card__title { font-size: 1em; text-shadow: var(--cz-text-shadow-soft); }


/* =========================================================================
   CARD — VARIANTI LIST (list / list-min)
   ========================================================================= */

.c-card--list,
.c-card--list-min {
	border-bottom: 1px solid var(--cz-divider);
	padding-bottom: 10px;
	margin-bottom: 10px;
}

.c-card--list {
	display: flex;
	align-items: center;
	gap: 0;
	overflow: hidden;

	.c-card__media {
		flex: 0 0 25%;
		max-width: 25%;
		align-self: stretch;
		aspect-ratio: 3/2;
	}

	.c-card__body { flex: 1; padding: 10px 20px; }
	.c-card__meta { color: var(--cz-meta); }
}

/* Primo articolo della lista: immagine più grande, eccetto nella ricerca. */
.czero-archive__list:not(.czero-archive__list--uniform) > article:nth-of-type(1) .c-card__media,
.czero-lead > article:first-child .c-card__media {
	flex: 0 0 33%;
	max-width: 33%;
}

.c-card--list-min {
	display: block;

	.c-card__body { padding: 0; }

	.c-card__kicker {
		color: var(--cz-red);
		font-size: 12px;
		padding-bottom: 2px;
	}

	.c-card__title {
		color: var(--cz-ink);
		font-size: 1em;
		font-weight: 600;
		line-height: 1.2;
	}

	.c-card__meta { color: var(--cz-meta); }
}


/* =========================================================================
   CARD — VARIANTE CLASSIC
   ========================================================================= */

.c-card--classic {
	background: var(--cz-white);
	border: 1px solid var(--cz-card-border);
	overflow: hidden;

	.c-card__media { aspect-ratio: 400 / 250; }
	.c-card__body { padding: 10px 20px; }
	.c-card__meta { color: var(--cz-meta); }
}

.c-card--list .c-card__kicker,
.c-card--classic .c-card__kicker {
	color: var(--cz-red);
	padding-bottom: 4px;
}

.c-card--list .c-card__title,
.c-card--classic .c-card__title {
	color: var(--cz-ink);
	font-size: 1.1em;
	font-weight: 600;
	line-height: 1.2;
	padding-bottom: 5px;
}


/* =========================================================================
   CARD — VARIANTE VIDEO
   ========================================================================= */

.c-card--video {
	overflow: hidden;

	.c-card__media {
		aspect-ratio: 16 / 10;
		height: 100%;

		&::after {
			content: "";
			position: absolute;
			inset: 0;
			pointer-events: none;
			background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, var(--cz-ink) 30%);
			opacity: .6;
		}
	}

	.c-card__body {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 2;
		display: flex;
		flex-direction: column;
		padding: 20px 28px;
	}

	.c-card__play {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		align-self: flex-start;
		width: 21px;
		height: 21px;
		margin-bottom: 8px;
		border-radius: 50%;
		background: var(--cz-red);
		color: var(--cz-white);

		svg { display: block; }
	}

	.c-card__kicker {
		color: var(--cz-white);
		font-weight: 400;
		text-transform: none;
		padding-bottom: 2px;
	}

	.c-card__title {
		color: var(--cz-white);
		font-size: 1.1em;
		font-weight: 600;
		line-height: 1.1;
		text-shadow: var(--cz-text-shadow-soft);
		padding-bottom: 5px;
	}

	.c-card__meta { color: var(--cz-white); }
}


/* =========================================================================
   GRIGLIE
   ========================================================================= */

.c-card-grid { display: grid; }

.c-card-grid--top {
	grid-template-columns: 2fr 1fr 1fr;
	grid-template-rows: repeat(2, minmax(0, 1fr));
	grid-template-areas:
		"big two two"
		"big small1 small2";
	gap: 8px;
	padding: 8px;
	background: var(--cz-grey);

	.c-card--top-big { grid-area: big; }
	.c-card--top-2x1 { grid-area: two; }
	.c-card--top-small:nth-of-type(3) { grid-area: small1; }
	.c-card--top-small:nth-of-type(4) { grid-area: small2; }
}

.c-card-grid--list {
  grid-template-columns: 1fr;
  gap: 0;
}

.czero-duo {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin-bottom: 16px;

	.c-card__media { aspect-ratio: 4/3; height: 100%; }
}

.czero-cols--1-3 {
	display: grid;
	grid-template-columns: 1fr 2fr;
	gap: 16px;
	margin-bottom: 16px;
}

.czero-cols--1-3 {
  .czero-col--left > article {height:100%;}
  .c-card-grid--list > article:last-child {margin:0;}
}

.czero-cols-3 {
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}


/* =========================================================================
   SLIDER
   ========================================================================= */

.czero-slider {
	position: relative;

	.czero-slider__viewport { overflow: hidden; touch-action: pan-y; }
	.czero-slider__track { display: flex; transition: transform .35s ease; }
	.czero-slider__slide { flex: 0 0 100%; min-width: 0; }
}

.czero-slider__nav {
	position: absolute;
	top: 96px;
	transform: translateY(-50%);
	z-index: 4;
	width: 21px;
	height: 24px;
	border: 0;
	cursor: pointer;
	background: var(--cz-red);
	color: var(--cz-white);
	font-size: 20px;
	line-height: 1;
	display: flex;
  align-items: center;
  justify-content: center;

	&:disabled { opacity: .4; cursor: default; }
}

.czero-slider__nav--prev { left: 0; }
.czero-slider__nav--next { right: 0; }

.sidebar .czero-widget { margin-bottom: 30px; }


/* =========================================================================
   GALLERY ARTICOLO
   ========================================================================= */

.czero-content-gallery {
	margin: 24px 0;
	background: var(--cz-dark);

	.czero-slider__track {
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		gap: 0 !important;
		flex-wrap: nowrap !important;
		list-style: none;
	}

	.czero-slider__slide {
		position: relative;
		display: flex !important;
		align-items: center;
		justify-content: center;
		float: none !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		aspect-ratio: 4/3;
		overflow: hidden;
		background: var(--cz-dark);
	}

	.czero-slider__slide > figure,
	.gallery-icon,
	.blocks-gallery-item > figure {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100%;
		margin: 0;
	}

	.gallery-icon a,
	.czero-slider__slide > a,
	.czero-slider__slide > figure > a,
	.blocks-gallery-item > figure > a {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100%;
		text-decoration: none;
	}

	.czero-slider__slide img {
		display: block;
		width: 100% !important;
		height: 100% !important;
		max-height: none !important;
		border: 0 !important;
		object-fit: contain !important;
		cursor: zoom-in;
	}

	figcaption,
	.gallery-caption {
		position: absolute !important;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 2;
		margin: 0 !important;
		padding: 24px 14px 10px !important;
		background: linear-gradient(transparent, var(--cz-overlay)) !important;
		color: var(--cz-white) !important;
		font-size: 13px !important;
		line-height: 1.35;
		text-align: left !important;
	}

	.czero-slider__nav {
		top: 50%;
		width: 40px;
		height: 44px;
		font-size: 28px;
	}

	.czero-slider__nav:disabled { display: none; }
}

body.czero-lightbox-open { overflow: hidden; }

.czero-lightbox {
	width: 100vw;
	height: 100vh;
	max-width: none;
	max-height: none;
	margin: 0;
	padding: 44px 56px 48px;
	border: 0;
	background: var(--cz-overlay);
	color: var(--cz-white);
	overflow: hidden;

	&::backdrop { background: var(--cz-overlay); }

	.czero-lightbox__figure {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100%;
		margin: 0;
		touch-action: pan-y;
	}

	.czero-lightbox__image {
		display: block;
		width: auto;
		height: auto;
		max-width: 100%;
		max-height: 100%;
		object-fit: contain;
	}

	.czero-lightbox__close,
	.czero-lightbox__nav {
		position: absolute;
		z-index: 2;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 42px;
		height: 42px;
		padding: 0;
		border: 0;
		background: var(--cz-red);
		color: var(--cz-white);
		line-height: 1;
		cursor: pointer;
	}

	.czero-lightbox__close { top: 0; right: 0; font-size: 30px; }
	.czero-lightbox__nav { top: 50%; transform: translateY(-50%); font-size: 32px; }
	.czero-lightbox__nav--prev { left: 0; }
	.czero-lightbox__nav--next { right: 0; }

	.czero-lightbox__caption,
	.czero-lightbox__counter {
		position: absolute;
		bottom: 14px;
		z-index: 2;
		margin: 0;
		color: var(--cz-white);
		font-size: 13px;
		line-height: 1.4;
	}

	.czero-lightbox__caption { left: 56px; right: 120px; text-align: center; }
	.czero-lightbox__counter { right: 18px; }
}


/* =========================================================================
   ARCHIVIO
   ========================================================================= */

.section-title {
	margin-bottom: 10px;
	padding: 5px 10px;
	background: var(--cz-red);

	.title {
		color: var(--cz-white);
		font-size: 18px !important;
		text-transform: uppercase;
		font-weight: bold;
		margin: 0;
	}
}

.section-title.canale {
	background: var(--cz-section-alt-bg);
	border-bottom: solid 1px var(--cz-grey-soft);
	padding: 0;
}

.czero-pagination {
	margin-top: 32px;
	display: flex;
	justify-content: center;

	.page-numbers {
		display: inline-block;
		padding: 8px 12px;
		margin: 0 2px;
		border: 1px solid var(--cz-sep);
		text-decoration: none;
		color: var(--cz-ink);
		font-size: .9rem;

		&.current {
			background: var(--cz-red);
			border-color: var(--cz-red);
			color: var(--cz-white);
		}
	}
}


/* =========================================================================
   ARTICOLO
   ========================================================================= */

article.czero-article {
	.czero-article__media {
		position: relative;
		margin: 0 0 40px;

		> img { display: block; width: 100%; height: auto; }
	}

	.czero-article__channels {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 2;
		background: var(--cz-red);
		color: var(--cz-white);
		padding: 8px 16px;
		font-size: 15px;
		font-weight: 700;
		line-height: 1.2;
		text-transform: uppercase;

		a { color: inherit; text-decoration: none; }
	}

	.czero-article__share {
		position: absolute;
		right: 0;
		bottom: 0;
		z-index: 2;
	}

	.czero-article__head {
		margin-bottom: 20px;

		.czero-article__kicker {
			color: var(--cz-red);
			font-size: 14px;
			font-weight: bold;
			text-transform: uppercase;
		}

		.czero-article__title {
			font-size: 1.6em;
			font-weight: 600;
			line-height: 1.1em;
		}

		.c-card__meta { font-size: 13px; }
	}

	.czero-article__content {
		p {
			font-size: 15px;
			line-height: 1.7em;
		}

		a {
			color: var(--cz-red);
			text-decoration: underline;
			font-weight:600;
		}
	}

	.czero-article__copyright {
		margin-top: 20px;
		color: var(--cz-ink);
		font-size: 15px;
		font-weight: 500;
		letter-spacing: -0.4px;
	}

	.czero-article__tags {
		font-weight: bold;
		text-transform: uppercase;

		.label {
			color: var(--cz-red);
			margin-right: 8px;
		}

		a {
			color: var(--cz-grey);
			font-size: 14px;
		}
	}

	.czero-article__follow {
		display: flex;
		align-items: center;
		gap: 12px;
		margin-top: 20px;

		h2 { margin: 0; font-size: 18px; }
	}
}

.czero-related { margin-top: 40px; }

.czero-videolab__title {
	margin: 0 0 20px;
	font-size: 1.6em;
	font-weight: 600;
}

.czero-videolab__grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 11px;
}

.czero-videolab__grid .c-card--video { min-height: 245px; }

.czero-not-found__inner {
	padding: 70px 20px;
	text-align: center;

	h1 { margin: 0 0 10px; font-size: 2em; }
	p { margin: 0 0 20px; }
	.search-form { display: flex; justify-content: center; margin: 25px auto; }
	.search-field { min-height: 40px; padding: 8px 10px; border: 1px solid var(--cz-sep); }
	.search-submit,
	.czero-not-found__home {
		display: inline-flex;
		align-items: center;
		min-height: 40px;
		padding: 8px 16px;
		border: 0;
		background: var(--cz-red);
		color: var(--cz-white);
		font-weight: 700;
		text-decoration: none;
		cursor: pointer;
	}
}

.czero-not-found__code {
	color: var(--cz-red);
	font-size: 64px;
	font-weight: 800;
	line-height: 1;
}


/* =========================================================================
   CTA
   ========================================================================= */

.czero-cta-row {
	.czero-cta-channels {
		padding: 20px;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
	}

	.czero-cta {
		background-color: var(--cz-cta-bg);
		z-index: 1;
		overflow: hidden;
		box-shadow: var(--cz-shadow-box);
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		align-content: center;
		text-align: center;
		padding: 35px;

		.czero-cta__img {
			display: block;
			max-width: 220px;
			height: auto;
			margin: 0 auto 12px;
		}

		.czero-cta__text {
			margin: 0 0 15px;
			font-size: 14px;
			line-height: 1.3em;
			color: var(--cz-cta-text);
		}

		.czero-cta__link {
			display: inline-block;
			background-color: var(--cz-red-bright);
			color: var(--cz-white);
			text-decoration: none;
			padding: 8px 18px;
			text-transform: uppercase;
			font-weight: 700;
			font-size: 13px;
			margin: 0 auto;
			border-radius: 3px;
		}
	}
}


/* =========================================================================
   FORM — CONTACT FORM 7
   ========================================================================= */

/* Il CSS di CF7 è tolto dalla coda (filtro wpcf7_load_css in functions.php):
   queste prime regole non sono estetica, riportano i comportamenti che quel
   foglio garantiva. Senza, la pagina si rompe. */

.wpcf7 .screen-reader-response {
	position: absolute;
	overflow: hidden;
	clip-path: inset(50%);
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
}

.wpcf7 .hidden-fields-container { display: none; }

.wpcf7-form-control-wrap { position: relative; }

/* Lo spinner è disegnato da CF7 in ::before: senza il suo CSS resterebbe
   uno <span> vuoto sempre a schermo. */
.wpcf7-spinner { display: none; }

.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output { display: none; }


/* ---- Layout: Nome/Cognome ed Email/Tel affiancati come nel widget Elementor ---- */

.cz-form-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 10px;
}

.cz-form-col {
	flex: 1 1 calc(50% - 5px);
	min-width: 0;
}

.cz-form-col--full { flex-basis: 100%; }


/* ---- Campi ---- */

.wpcf7 {
	font-family: var(--cz-font);
	font-size: 14px;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
	width: 100%;
	background: var(--cz-white);
	border: 1px solid var(--cz-field-border);
	border-radius: 3px;
	color: var(--cz-ink);
	font-family: inherit;
	font-size: 14px;
	padding: 10px 12px;

	&::placeholder { color: var(--cz-grey-soft); }

	&:focus {
		border-color: var(--cz-grey);
		outline: none;
	}
}

.wpcf7 textarea { resize: vertical; }

.wpcf7 input[type="file"] {
	font-size: 13px;
	color: var(--cz-grey);
}


/* ---- Note GDPR e consenso ---- */

.cz-form-note {
	color: var(--cz-grey);
	font-size: 13px;
	margin: 14px 0 6px;

	a { color: var(--cz-red); }
}

.wpcf7 .wpcf7-acceptance .wpcf7-list-item {
	margin: 0;
	font-size: 13px;
}


/* ---- Invio ---- */

/* A tutta larghezza come il bottone del widget Elementor (che usa il suo
   default button_width: 100). */
.wpcf7 input[type="submit"] {
	width: 100%;
	background: var(--cz-red);
	border: 0;
	border-radius: 3px;
	color: var(--cz-white);
	cursor: pointer;
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	margin-top: 16px;
	padding: 12px 28px;
	text-transform: uppercase;
	transition: background var(--cz-t-fast);

	&:hover { background: var(--cz-red-hover); }
}


/* ---- Validazione ed esito ---- */

.wpcf7-not-valid-tip {
	color: var(--cz-red);
	display: block;
	font-size: 12px;
	margin-top: 4px;
}

.wpcf7 form .wpcf7-response-output {
	border: 2px solid var(--cz-sep);
	font-size: 13px;
	margin: 16px 0 0;
	padding: 10px 14px;
}

.wpcf7 form.sent .wpcf7-response-output { border-color: #46B450; }

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output { border-color: var(--cz-red); }


/* =========================================================================
   RESPONSIVE
   ========================================================================= */

@media (min-width: 1025px) {
	.page-inner .sidebar { border-left: 1px solid var(--cz-divider); }
}

@media (min-width: 993px) {
	.c-card-grid--top { aspect-ratio: 16/9; }
}

@media (max-width: 1024px) {
	.czero-header__logobar,
	.czero-header__nav { display: none; }

	.czero-header__mobile,
	.czero-header__mobile-spacer { display: block; }

	.c-card--list .c-card__media { flex-basis: 30%; max-width: 30%; }
	.c-card--list .c-card__body { padding: 0 10px 10px 15px; }
}

@media (max-width: 992px) {
	.c-card-grid--top {
		grid-template-columns: 1fr;
		grid-template-areas: "big" "two" "small1" "small2";
		aspect-ratio: unset;
	}

	.c-card--top-small .c-card__title { font-size: 1.2em; }
}

@media (max-width: 767px) {
	.page-inner.has-sidebar {
		display: block;

		.main-content,
		.sidebar { width: 100%; }
	}

	.czero-header__socialbar { display: block; }
	.czero-header__logo--mobile img { width: 200px; }

	.czero-footer__main .czero-footer__inner { flex-direction: column; }
	.czero-footer__bottom .czero-footer__inner { flex-direction: column; text-align: center; }
	.czero-footer__social .czero-social { justify-content: center; }

	.czero-search-input { font-size: 20px; }

	.czero-cta-row .czero-cta-channels,
	.czero-duo,
	.czero-cols--1-3,
	.czero-cols-3,
	.czero-videolab__grid { grid-template-columns: 1fr; }

	.czero-lightbox { padding: 44px 46px 54px; }
	.czero-lightbox .czero-lightbox__caption { left: 46px; right: 70px; }

	.cz-form-col { flex-basis: 100%; }
}

@media (max-width: 782px) {
	body.admin-bar .czero-header__mobile.is-fixed { top: 46px; }
}
