/**
 * YIC Design System — Componenti riutilizzabili.
 *
 * Linguaggio "Heritage Modern Institutional": superfici chiare, bordi sottili al
 * posto di ombre pesanti, bordeaux come unico accento interattivo, micro
 * animazioni conservative. Tutto basato sui design token (var(--yic-*)), quindi
 * segue colori/font del Pannello Tema e resta coerente tra tema e plugin.
 *
 * Convenzione classi: prefisso .yic-  (BEM: blocco__elemento--modificatore).
 * Componenti interattivi (accordion/tab/modale/alert) usano assets/js/components.js.
 *
 * INDICE
 *  1. Utility di layout (grid, section, divider, eyebrow)
 *  2. Section header
 *  3. Bottoni (varianti)
 *  4. Icone (cerchio)
 *  5. Card (+ varianti)
 *  6. Hero / Banner
 *  7. Badge / Pill
 *  8. CTA banner
 *  9. Stat / KPI
 * 10. Timeline
 * (form, tabelle, alert, box, download, skeleton, spinner, tooltip,
 *  accordion, tab, modale, pagination: sezioni successive nello stesso file)
 */

/* =============================================================
 * 1. Utility di layout
 * ============================================================= */
.yic-section {
	padding-block: var(--yic-space-xl);
}
.yic-section--tight {
	padding-block: var(--yic-space-lg);
}
.yic-section--alt {
	background: var(--yic-surface-container-low);
}
.yic-section--dark {
	background: var(--yic-tertiary-container);
	color: var(--yic-on-tertiary-container);
}

.yic-grid {
	display: grid;
	gap: var(--yic-space-lg);
	grid-template-columns: 1fr;
}
@media (min-width: 640px) {
	.yic-grid--2 { grid-template-columns: repeat(2, 1fr); }
	.yic-grid--3 { grid-template-columns: repeat(2, 1fr); }
	.yic-grid--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
	.yic-grid--3 { grid-template-columns: repeat(3, 1fr); }
	.yic-grid--4 { grid-template-columns: repeat(4, 1fr); }
}

.yic-divider {
	border: 0;
	border-top: 1px solid var(--yic-outline-variant);
	margin-block: var(--yic-space-lg);
}

.yic-eyebrow {
	font-family: var(--yic-font-label);
	font-size: var(--yic-text-label-md);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--yic-primary-container);
}

/* =============================================================
 * 2. Section header
 * ============================================================= */
.yic-section-header {
	margin-bottom: var(--yic-space-xl);
}
.yic-section-header--center {
	text-align: center;
}
.yic-section-header__title {
	font-family: var(--yic-font-headline);
	font-size: var(--yic-text-headline-lg);
	line-height: var(--yic-leading-heading);
	color: var(--yic-primary);
	margin: 0 0 var(--yic-space-sm);
}
.yic-section-header__sub {
	color: var(--yic-on-surface-variant);
	max-width: 42rem;
	margin: 0;
}
.yic-section-header--center .yic-section-header__sub {
	margin-inline: auto;
}
.yic-section-header__rule {
	height: 4px;
	width: 96px;
	background: var(--yic-primary);
	border-radius: var(--yic-radius-full);
	margin-top: var(--yic-space-md);
}
.yic-section-header--center .yic-section-header__rule {
	margin-inline: auto;
}
/* Variante con barra verticale a sinistra */
.yic-section-header--bar {
	border-left: 4px solid var(--yic-primary);
	padding-left: var(--yic-space-md);
}

/* =============================================================
 * 3. Bottoni (varianti che estendono .yic-btn di theme.css)
 * ============================================================= */
.yic-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--yic-space-sm);
	line-height: 1.2;
	border: 1px solid transparent;
	/* background/transform ok; color/border/shadow in transition → non-composited. */
	transition: background 0.2s ease, transform 0.2s ease;
}
.yic-btn--secondary,
.yic-btn--outline {
	background: var(--yic-btn-outline-bg, transparent);
	color: var(--yic-btn-outline-fg, var(--yic-primary));
	border: var(--yic-btn-outline-border, 1px) solid var(--yic-btn-outline-fg, var(--yic-primary));
}
.yic-btn--secondary:hover,
.yic-btn--secondary:focus-visible,
.yic-btn--outline:hover,
.yic-btn--outline:focus-visible {
	background: var(--yic-btn-outline-bg-hover, rgb(var(--yic-primary-rgb) / 0.06));
	color: var(--yic-btn-outline-fg-hover, var(--yic-primary));
	border-color: var(--yic-btn-outline-fg-hover, var(--yic-primary));
}
.yic-btn--ghost {
	background: transparent;
	color: var(--yic-on-surface);
	border-color: var(--yic-outline-variant);
}
.yic-btn--ghost:hover,
.yic-btn--ghost:focus-visible {
	border-color: var(--yic-primary-container);
	color: var(--yic-primary);
}
/* Bottone su sfondo scuro / hero */
.yic-btn--on-dark {
	background: var(--yic-on-primary);
	color: var(--yic-primary-container);
	box-shadow: var(--yic-shadow-md);
}
.yic-btn--on-dark:hover,
.yic-btn--on-dark:focus-visible {
	background: var(--yic-primary-fixed);
}
/* Link con freccia */
.yic-btn--link {
	background: transparent;
	border: 0;
	padding-inline: 0;
	color: var(--yic-primary);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
.yic-btn--link:hover .yic-btn__arrow,
.yic-btn--link:focus-visible .yic-btn__arrow {
	transform: translateX(4px);
}
.yic-btn__arrow {
	transition: transform 0.2s ease;
}
/* Dimensioni */
.yic-btn--sm { padding: 6px 14px; font-size: var(--yic-text-caption); }
.yic-btn--lg { padding: 14px 28px; font-size: var(--yic-text-body-md); }
.yic-btn--block { display: flex; width: 100%; }

/* =============================================================
 * 4. Icone in cerchio
 * ============================================================= */
.yic-icon-circle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: var(--yic-radius-full);
	background: rgb(var(--yic-primary-rgb) / 0.06);
	color: var(--yic-primary);
	flex: 0 0 auto;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.yic-icon-circle--lg { width: 72px; height: 72px; }
.yic-icon-circle--outline {
	background: transparent;
	border: 1px solid var(--yic-outline-variant);
}
/* Hover se dentro un gruppo interattivo */
.yic-hover-group:hover .yic-icon-circle {
	background: var(--yic-primary);
	color: var(--yic-on-primary);
}

/* =============================================================
 * 5. Card
 * ============================================================= */
.yic-card {
	display: flex;
	flex-direction: column;
	background: var(--yic-card-bg, var(--yic-surface-container-lowest));
	border: 1px solid var(--yic-card-border, var(--yic-outline-variant));
	border-radius: var(--yic-card-radius, var(--yic-radius-lg));
	box-shadow: var(--yic-card-shadow, none);
	overflow: hidden;
}
.yic-card__media {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--yic-surface-variant);
}
.yic-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}
.yic-card__body {
	padding: var(--yic-space-lg);
	display: flex;
	flex-direction: column;
	gap: var(--yic-space-sm);
	flex: 1;
}
.yic-card__title {
	font-family: var(--yic-font-headline);
	font-size: var(--yic-text-headline-md);
	line-height: var(--yic-leading-heading);
	color: var(--yic-primary);
	margin: 0;
}
.yic-card__text {
	color: var(--yic-on-surface-variant);
	margin: 0;
}
.yic-card__footer {
	margin-top: auto;
	padding-top: var(--yic-space-sm);
}
/* Hover: sollevamento + ombra + zoom immagine */
.yic-card--hover {
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.yic-card--hover:hover {
	transform: translateY(var(--yic-card-hover-lift, -4px));
	box-shadow: var(--yic-card-hover-shadow, var(--yic-shadow-lg));
	border-color: var(--yic-primary-container);
}
.yic-card--hover:hover .yic-card__media img {
	transform: scale(1.05);
}
/* Featured: bordo superiore accento */
.yic-card--featured {
	border-top: 4px solid var(--yic-primary-container);
}
/* Icona in evidenza */
.yic-card--icon .yic-card__body {
	align-items: flex-start;
}
/* Orizzontale (immagine a sinistra) */
@media (min-width: 768px) {
	.yic-card--horizontal {
		flex-direction: row;
	}
	.yic-card--horizontal .yic-card__media {
		aspect-ratio: auto;
		width: 42%;
		flex: 0 0 42%;
	}
}
/* Badge assoluto (es. "Più popolare") */
.yic-card__badge {
	position: absolute;
	top: var(--yic-space-md);
	left: var(--yic-space-md);
	z-index: 2;
}

/* =============================================================
 * 6. Hero / Banner
 * ============================================================= */
.yic-hero {
	position: relative;
	overflow: hidden;
	background: var(--yic-surface-container-low);
}
.yic-hero__inner {
	position: relative;
	z-index: 2;
	padding-block: clamp(2.5rem, 6vw, 5rem);
}
.yic-hero__eyebrow {
	font-family: var(--yic-font-label);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--yic-primary-container);
	font-weight: 600;
	margin: 0 0 var(--yic-space-sm);
}
.yic-hero__title {
	font-family: var(--yic-font-headline);
	font-size: var(--yic-text-headline-xl);
	line-height: var(--yic-leading-tight);
	color: var(--yic-primary);
	margin: 0 0 var(--yic-space-md);
}
.yic-hero__text {
	font-size: var(--yic-text-body-lg);
	color: var(--yic-on-surface-variant);
	max-width: 40rem;
	margin: 0 0 var(--yic-space-lg);
}
.yic-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--yic-space-md);
}
/* Split testo + immagine */
.yic-hero--split .yic-hero__inner {
	display: grid;
	gap: var(--yic-space-xl);
	align-items: center;
}
@media (min-width: 1024px) {
	.yic-hero--split .yic-hero__inner {
		grid-template-columns: 1fr 1fr;
	}
}
.yic-hero__media img {
	width: 100%;
	height: auto;
	border-radius: var(--yic-radius-xl);
	box-shadow: var(--yic-shadow-lg);
	display: block;
}
/* Full-bleed con immagine di sfondo + overlay scuro */
.yic-hero--cover {
	color: var(--yic-on-primary);
}
.yic-hero--cover .yic-hero__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	background-size: cover;
	background-position: center;
}
.yic-hero--cover .yic-hero__bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgb(var(--yic-on-surface-rgb) / 0.78), rgb(var(--yic-on-surface-rgb) / 0.30));
}
.yic-hero--cover .yic-hero__eyebrow { color: var(--yic-primary-fixed); }
.yic-hero--cover .yic-hero__title { color: var(--yic-on-primary); }
.yic-hero--cover .yic-hero__text { color: rgb(var(--yic-on-primary-rgb) / 0.9); }
/* Pill/badge glass nella hero */
.yic-hero__pill {
	display: inline-block;
	padding: 8px 20px;
	border: 1px solid rgb(var(--yic-on-primary-rgb) / 0.4);
	border-radius: var(--yic-radius-full);
	backdrop-filter: blur(6px);
	font-family: var(--yic-font-label);
	font-size: var(--yic-text-label-md);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin-bottom: var(--yic-space-md);
}

/* =============================================================
 * 7. Badge / Pill
 * ============================================================= */
.yic-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 3px 10px;
	border-radius: var(--yic-badge-radius, var(--yic-radius-full));
	font-family: var(--yic-font-label);
	font-size: var(--yic-text-caption);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	line-height: 1.4;
	background: var(--yic-surface-variant);
	color: var(--yic-on-surface);
}
.yic-badge--primary { background: var(--yic-primary-container); color: var(--yic-on-primary); }
.yic-badge--soft { background: rgb(var(--yic-primary-rgb) / 0.08); color: var(--yic-primary); }
.yic-badge--success { background: #e6f4ea; color: #15702e; }
.yic-badge--warning { background: #fff4e5; color: #9a5b00; }
.yic-badge--error { background: var(--yic-error-container); color: var(--yic-on-error-container); }
.yic-badge--outline { background: transparent; border: 1px solid var(--yic-outline-variant); color: var(--yic-on-surface-variant); }

/* =============================================================
 * 8. CTA banner (full-width) — impatto visivo + illustrazioni
 * ============================================================= */
.yic-cta-banner {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	border-radius: var(--yic-ui-card-radius, var(--yic-card-radius, 24px));
	padding: clamp(2.25rem, 3.2vw, 3.5rem) clamp(1.75rem, 3.5vw, 3.25rem);
	min-height: 0;
	background: linear-gradient(
		125deg,
		var(--yic-primary-container, #ea580c) 0%,
		var(--yic-primary, #c2410c) 46%,
		color-mix(in srgb, var(--yic-primary, #c2410c) 72%, #000) 100%
	);
	color: var(--yic-on-primary, #fff);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
	justify-content: flex-start;
	align-self: stretch;
	width: 100%;
	gap: clamp(1.25rem, 2.5vw, 2.5rem);
	/* Niente box-shadow qui: con figli animati Lighthouse lo segnala come
	   animazione non composite; l'ombra era già molto soft. */
	box-shadow: none;
}
/* CTA con illustrazione: stessa altezza minima (Glossario / Sicurezza). */
.yic-cta-banner--visual {
	min-height: clamp(10.5rem, 9rem + 2.5vw, 12.5rem);
}
.yic-cta-banner__glow {
	/* Alone chiaro a sinistra: a destra sporcava il bottone bianco (sfumatura). */
	position: absolute;
	inset: -25% auto auto -15%;
	width: min(48%, 24rem);
	aspect-ratio: 1;
	border-radius: 50%;
	background: radial-gradient(circle, color-mix(in srgb, #fff 14%, transparent) 0%, transparent 70%);
	pointer-events: none;
	z-index: 0;
	animation: yic-cta-glow 6s ease-in-out infinite;
}
.yic-cta-banner__glow::after {
	content: "";
	position: absolute;
	left: -55%;
	bottom: -70%;
	width: 70%;
	aspect-ratio: 1;
	border-radius: 50%;
	background: radial-gradient(circle, color-mix(in srgb, #fff 10%, transparent) 0%, transparent 70%);
}
.yic-cta-banner__main {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: clamp(1.25rem, 2.4vw, 2rem);
	flex: 1 1 22rem;
	min-width: 0;
}
.yic-cta-banner__ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: auto;
	height: auto;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--yic-on-primary, #fff);
	line-height: 0;
}
.yic-cta-banner__illu {
	display: block;
	width: clamp(6.75rem, 5rem + 3.5vw, 9.5rem);
	height: auto;
	aspect-ratio: 1;
	overflow: visible;
	filter: drop-shadow(0 12px 24px color-mix(in srgb, #000 28%, transparent));
}

/*
 * CTA fotografica — stesso linguaggio del digispot:
 * card chiara, media arrotondato, copy scuro, bottone primary.
 */
.yic-cta-banner--photo {
	display: grid;
	grid-template-columns: 1fr;
	align-items: start;
	gap: 1.15rem;
	padding: 1.1rem;
	min-height: 0;
	overflow: hidden;
	background: var(--yic-surface-container-lowest, #fff);
	color: var(--yic-on-surface, #1a1c1c);
	border: 1px solid var(--yic-ui-card-border, var(--yic-surface-container-low, #f4f3f3));
	border-radius: 22px;
	box-shadow: none;
}
.yic-cta-banner--photo .yic-cta-banner__glow { display: none; }
.yic-cta-banner--photo .yic-cta-banner__media {
	position: relative;
	align-self: stretch;
	min-height: 0;
	aspect-ratio: 16 / 10;
	border-radius: 16px;
	overflow: hidden;
	background: var(--yic-surface-container-low, #f4f3f3);
}
.yic-cta-banner--photo .yic-cta-banner__photo {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform .55s cubic-bezier(.22, 1, .36, 1);
}
.yic-cta-banner--photo:hover .yic-cta-banner__photo {
	transform: scale(1.03);
}
.yic-cta-banner--photo .yic-cta-banner__body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: .7rem;
	padding: 0;
	min-width: 0;
}
.yic-cta-banner--photo .yic-cta-banner__copy {
	display: flex;
	flex-direction: column;
	gap: .7rem;
	min-width: 0;
}
.yic-cta-banner--photo .yic-cta-banner__label {
	margin: 0;
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--yic-primary-container, #ea580c);
}
.yic-cta-banner--photo .yic-cta-banner__title {
	margin: 0;
	font-size: clamp(1.2rem, 4.5vw, 1.5rem);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.02em;
	color: var(--yic-on-surface, #1a1c1c);
	text-wrap: balance;
}
.yic-cta-banner--photo .yic-cta-banner__text {
	margin: 0;
	max-width: 36rem;
	font-size: .98rem;
	line-height: 1.55;
	color: var(--yic-on-surface-variant, #584142);
}
.yic-cta-banner--photo .yic-cta-banner__actions {
	display: flex;
	flex-direction: column;
	gap: .65rem;
	margin-top: .25rem;
}
.yic-cta-banner--photo .yic-cta-banner__actions .yic-btn {
	width: 100%;
	justify-content: center;
	min-height: 2.85rem;
}
@media (min-width: 601px) {
	.yic-cta-banner--photo {
		padding: 1.35rem;
		border-radius: 28px;
		gap: 1.35rem;
	}
	.yic-cta-banner--photo .yic-cta-banner__actions {
		flex-direction: row;
		flex-wrap: wrap;
	}
	.yic-cta-banner--photo .yic-cta-banner__actions .yic-btn {
		width: auto;
	}
}
@media (min-width: 801px) {
	.yic-cta-banner--photo {
		grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
		align-items: center;
		gap: clamp(1.75rem, 3.5vw, 3rem);
		padding: clamp(1.35rem, 2.8vw, 2rem);
		border-radius: var(--yic-ui-card-radius, var(--yic-card-radius, 24px));
		min-height: 0;
	}
	.yic-cta-banner--photo .yic-cta-banner__media {
		min-height: 18rem;
		aspect-ratio: 4 / 3;
		height: 100%;
		border-radius: calc(var(--yic-ui-card-radius, 24px) - 10px);
	}
	.yic-cta-banner--photo .yic-cta-banner__body {
		padding: .35rem .25rem .35rem 0;
		gap: .85rem;
	}
	.yic-cta-banner--photo .yic-cta-banner__title {
		font-size: clamp(1.35rem, 2.2vw, 1.75rem);
	}
}
@media (prefers-reduced-motion: reduce) {
	.yic-cta-banner--photo:hover .yic-cta-banner__photo {
		transform: none;
	}
}
.yic-cta-banner__ico .material-symbols-outlined {
	font-size: clamp(2.5rem, 3.5vw, 3.15rem);
	line-height: 1;
	font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 48;
}
.yic-cta-banner__copy {
	min-width: 0;
	flex: 1 1 auto;
}
.yic-cta-banner__title {
	font-family: var(--yic-font-headline);
	font-size: clamp(1.65rem, 1.35rem + 1.15vw, 2.25rem);
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.15;
	color: var(--yic-on-primary, #fff);
	margin: 0 0 0.65rem;
	text-wrap: balance;
}
.yic-cta-banner__text {
	margin: 0;
	color: color-mix(in srgb, var(--yic-on-primary, #fff) 84%, transparent);
	max-width: 38rem;
	font-size: clamp(1rem, 0.94rem + 0.25vw, 1.1rem);
	line-height: 1.6;
}
.yic-cta-banner > .yic-btn {
	position: relative;
	z-index: 2;
	flex: 0 0 auto;
	margin-left: auto;
	transition: transform .22s ease, gap .22s ease, background .22s ease;
}
/* Bottone bianco su CTA scura: niente ombra (con overflow:hidden diventa alone sporco). */
.yic-cta-banner > .yic-btn--on-dark {
	box-shadow: none;
	background: #fff;
	color: var(--yic-primary-container, #ea580c);
	isolation: isolate;
}
.yic-cta-banner > .yic-btn--on-dark:hover,
.yic-cta-banner > .yic-btn--on-dark:focus-visible {
	box-shadow: none;
	background: var(--yic-primary-fixed, #ffedd5);
}
.yic-cta-banner:hover > .yic-btn {
	transform: translateY(-1px);
}
.yic-cta-banner:hover > .yic-btn .yic-btn__arrow {
	animation: yic-cta-arrow .7s ease-in-out infinite;
}

/* Micro-animazioni illustrazione sicurezza */
@keyframes yic-cta-glow {
	0%, 100% { opacity: .7; transform: translate3d(0, 0, 0) scale(1); }
	50% { opacity: 1; transform: translate3d(-2%, 3%, 0) scale(1.05); }
}
@keyframes yic-cta-float {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-5px); }
}
@keyframes yic-cta-spark {
	0%, 100% { opacity: .55; transform: scale(.9); }
	50% { opacity: 1; transform: scale(1.1); }
}
@keyframes yic-cta-ring {
	to { transform: rotate(360deg); }
}
@keyframes yic-cta-arrow {
	0%, 100% { transform: translateX(0); }
	50% { transform: translateX(3px); }
}
.yic-cta-illu__float {
	animation: yic-cta-float 3.4s ease-in-out infinite;
	transform-box: fill-box;
	transform-origin: center;
}
.yic-cta-illu__spark {
	animation: yic-cta-spark 2.6s ease-in-out infinite;
	transform-box: fill-box;
	transform-origin: center;
}
.yic-cta-illu__spark--sm { animation-delay: .45s; }
.yic-cta-illu__ring {
	animation: yic-cta-ring 18s linear infinite;
	transform-box: fill-box;
	transform-origin: center;
	will-change: transform;
}
.yic-cta-banner--visual:hover .yic-cta-banner__illu {
	transform: scale(1.04);
	transition: transform .35s cubic-bezier(.22, 1, .36, 1);
}
@media (prefers-reduced-motion: reduce) {
	.yic-cta-banner__glow,
	.yic-cta-illu__float,
	.yic-cta-illu__spark,
	.yic-cta-illu__ring,
	.yic-cta-banner:hover > .yic-btn .yic-btn__arrow {
		animation: none;
	}
	.yic-cta-banner:hover > .yic-btn,
	.yic-cta-banner--visual:hover .yic-cta-banner__illu {
		transform: none;
	}
}

/* =============================================================
 * 9. Stat / KPI
 * ============================================================= */
.yic-stat {
	text-align: center;
}
.yic-stat__value {
	font-family: var(--yic-font-headline);
	font-size: var(--yic-text-headline-lg);
	font-weight: 700;
	color: var(--yic-primary);
	line-height: 1.1;
}
.yic-stat__label {
	font-family: var(--yic-font-label);
	font-size: var(--yic-text-label-md);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--yic-secondary);
	margin-top: var(--yic-space-xs);
}

/* =============================================================
 * 10. Timeline
 * ============================================================= */
.yic-timeline {
	position: relative;
	padding-left: 32px;
}
.yic-timeline::before {
	content: "";
	position: absolute;
	left: 7px;
	top: 4px;
	bottom: 4px;
	width: 2px;
	background: linear-gradient(to bottom, var(--yic-primary-container), rgb(var(--yic-primary-container-rgb) / 0.2));
}
.yic-timeline__item {
	position: relative;
	padding-bottom: var(--yic-space-xl);
}
.yic-timeline__item:last-child {
	padding-bottom: 0;
}
.yic-timeline__dot {
	position: absolute;
	left: -32px;
	top: 2px;
	width: 16px;
	height: 16px;
	border-radius: var(--yic-radius-full);
	background: var(--yic-primary-container);
	box-shadow: 0 0 0 4px var(--yic-surface-container-lowest);
}
.yic-timeline__date {
	font-family: var(--yic-font-label);
	font-weight: 700;
	color: var(--yic-primary-container);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: var(--yic-text-label-md);
	margin-bottom: var(--yic-space-xs);
}
.yic-timeline__card {
	background: var(--yic-surface-container-lowest);
	border: 1px solid var(--yic-outline-variant);
	border-radius: var(--yic-radius-lg);
	padding: var(--yic-space-lg);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.yic-timeline__card:hover {
	transform: translateY(-2px);
	box-shadow: var(--yic-shadow-md);
}

/* =============================================================
 * 11. Form (input, select, textarea, checkbox, radio, search)
 * ============================================================= */
.yic-field {
	margin-bottom: var(--yic-space-md);
}
.yic-label {
	display: block;
	font-family: var(--yic-font-label);
	font-size: var(--yic-text-label-md);
	font-weight: 600;
	color: var(--yic-secondary);
	margin-bottom: 6px;
}
.yic-label__req {
	color: var(--yic-error);
}
/* Help testo campi form (p.yic-help). Non usare .yic-help nudo:
   collide con la banda builder help_cards (<section class="yic-help">). */
p.yic-help {
	font-size: var(--yic-text-caption);
	color: var(--yic-secondary);
	margin-top: 4px;
}
.yic-field--error p.yic-help {
	color: var(--yic-error);
}

/* I campi usano variabili "field" sovrascrivibili dal modulo Form (pannello). */
.yic-input,
.yic-select,
.yic-textarea {
	width: 100%;
	padding: var(--yic-field-pad-y, 11px) var(--yic-field-pad-x, 14px);
	font-family: var(--yic-font-body);
	font-size: var(--yic-text-body-md);
	color: var(--yic-field-fg, var(--yic-on-surface));
	background: var(--yic-field-bg, var(--yic-surface-container-lowest));
	border: 1px solid var(--yic-field-border, #767676);
	border-radius: var(--yic-field-radius, var(--yic-radius-lg));
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.yic-input::placeholder,
.yic-textarea::placeholder {
	color: var(--yic-secondary);
	opacity: 0.7;
}
.yic-input:focus,
.yic-select:focus,
.yic-textarea:focus {
	outline: none;
	border-color: var(--yic-field-focus, var(--yic-primary-container));
	box-shadow: 0 0 0 3px var(--yic-field-focus-ring, rgb(var(--yic-primary-container-rgb) / 0.15));
}

/* --- Campi nativi (ricerca, commenti, form plugin): stesso look --- */
.yic-entry input[type="text"],
.yic-entry input[type="email"],
.yic-entry input[type="url"],
.yic-entry input[type="tel"],
.yic-entry input[type="number"],
.yic-entry input[type="password"],
.yic-entry input[type="search"],
.yic-entry textarea,
.yic-entry select,
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea,
.search-form input[type="search"],
.wp-block-search__input {
	font-family: var(--yic-font-body);
	font-size: var(--yic-text-body-md);
	color: var(--yic-field-fg, var(--yic-on-surface));
	background: var(--yic-field-bg, var(--yic-surface-container-lowest));
	border: 1px solid var(--yic-field-border, #767676);
	border-radius: var(--yic-field-radius, var(--yic-radius-lg));
	padding: var(--yic-field-pad-y, 11px) var(--yic-field-pad-x, 14px);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.yic-entry input:focus,
.yic-entry textarea:focus,
.yic-entry select:focus,
.comment-form input:focus,
.comment-form textarea:focus,
.search-form input[type="search"]:focus,
.wp-block-search__input:focus {
	outline: none;
	border-color: var(--yic-field-focus, var(--yic-primary-container));
	box-shadow: 0 0 0 3px var(--yic-field-focus-ring, rgb(var(--yic-primary-container-rgb) / 0.15));
}
.yic-textarea {
	min-height: 120px;
	resize: vertical;
}
.yic-field--error .yic-input,
.yic-field--error .yic-select,
.yic-field--error .yic-textarea {
	border-color: var(--yic-error);
}
.yic-field--error .yic-input:focus,
.yic-field--error .yic-select:focus,
.yic-field--error .yic-textarea:focus {
	box-shadow: 0 0 0 3px rgb(186 26 26 / 0.15);
}
/* Select: freccia custom */
.yic-select {
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235c5e63' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 18px;
	padding-right: 40px;
}

/* Checkbox / Radio */
.yic-check {
	display: inline-flex;
	align-items: flex-start;
	gap: 10px;
	cursor: pointer;
	font-size: var(--yic-text-body-md);
	color: var(--yic-on-surface);
	margin-bottom: 8px;
}
.yic-check input[type="checkbox"],
.yic-check input[type="radio"] {
	appearance: none;
	-webkit-appearance: none;
	width: 20px;
	height: 20px;
	margin: 0;
	flex: 0 0 auto;
	border: 2px solid var(--yic-outline);
	background: var(--yic-surface-container-lowest);
	cursor: pointer;
	transition: background 0.15s ease, border-color 0.15s ease;
	position: relative;
}
.yic-check input[type="checkbox"] { border-radius: var(--yic-radius); }
.yic-check input[type="radio"] { border-radius: var(--yic-radius-full); }
.yic-check input:focus-visible {
	outline: 3px solid var(--yic-primary-container);
	outline-offset: 2px;
}
.yic-check input:checked {
	background: var(--yic-primary-container);
	border-color: var(--yic-primary-container);
}
.yic-check input[type="checkbox"]:checked::after {
	content: "";
	position: absolute;
	left: 5px;
	top: 1px;
	width: 6px;
	height: 11px;
	border: solid var(--yic-on-primary);
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.yic-check input[type="radio"]:checked::after {
	content: "";
	position: absolute;
	inset: 4px;
	border-radius: var(--yic-radius-full);
	background: var(--yic-on-primary);
}

/* Search input con icona */
.yic-search {
	position: relative;
}
.yic-search .yic-input,
.yic-search input[type="search"],
.yic-search input[type="text"] {
	padding-left: 44px;
}
.yic-search__icon {
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--yic-secondary);
	pointer-events: none;
	display: inline-flex;
}

/* Pill filter (gruppo di filtri a pillola) */
.yic-filter-pills {
	display: flex;
	flex-wrap: wrap;
	gap: var(--yic-space-sm);
}
.yic-filter-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 18px;
	border-radius: var(--yic-radius-full);
	border: 1px solid var(--yic-outline-variant);
	background: var(--yic-surface-container-lowest);
	color: var(--yic-on-surface-variant);
	font-family: var(--yic-font-label);
	font-size: var(--yic-text-label-md);
	text-decoration: none;
	cursor: pointer;
	transition: all 0.2s ease;
}
.yic-filter-pill:hover {
	border-color: var(--yic-primary-container);
	color: var(--yic-primary);
}
.yic-filter-pill.is-active {
	background: var(--yic-primary-container);
	border-color: var(--yic-primary-container);
	color: var(--yic-on-primary);
}

/* =============================================================
 * 12. Tabelle responsive / comparative
 * ============================================================= */
.yic-table-wrap {
	overflow-x: auto;
	border: 1px solid var(--yic-outline-variant);
	border-radius: var(--yic-radius-lg);
	-webkit-overflow-scrolling: touch;
}
.yic-table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--yic-text-body-md);
}
.yic-table th,
.yic-table td {
	padding: 14px 18px;
	text-align: left;
	vertical-align: top;
}
.yic-table thead th {
	background: var(--yic-surface-container-low);
	font-family: var(--yic-font-label);
	font-size: var(--yic-text-label-md);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--yic-primary);
	border-bottom: 1px solid var(--yic-outline-variant);
	white-space: nowrap;
}
.yic-table tbody tr + tr td {
	border-top: 1px solid var(--yic-outline-variant);
}
.yic-table--striped tbody tr:nth-child(even) td {
	background: var(--yic-surface-container-low);
}
.yic-table--hover tbody tr:hover td {
	background: rgb(var(--yic-primary-rgb) / 0.03);
}
.yic-table__yes { color: #15702e; font-weight: 700; }
.yic-table__no { color: var(--yic-secondary); }
/* Colonna evidenziata (comparativa) */
.yic-table__col-highlight {
	background: rgb(var(--yic-primary-rgb) / 0.04);
}
/* Tabella "stacked" su mobile: usa data-label sulle celle */
@media (max-width: 640px) {
	.yic-table--stack thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
	}
	.yic-table--stack tbody tr {
		display: block;
		border-bottom: 2px solid var(--yic-outline-variant);
		padding: var(--yic-space-sm) 0;
	}
	.yic-table--stack tbody td {
		display: flex;
		justify-content: space-between;
		gap: var(--yic-space-md);
		border: 0;
		padding: 8px 16px;
	}
	.yic-table--stack tbody td::before {
		content: attr(data-label);
		font-family: var(--yic-font-label);
		font-weight: 700;
		color: var(--yic-primary);
		text-transform: uppercase;
		font-size: var(--yic-text-caption);
	}
}

/* =============================================================
 * 13. Alert / Notifiche
 * ============================================================= */
.yic-alert {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	padding: 1.15rem 1.35rem;
	border: 0;
	border-radius: 1rem;
	background: color-mix(in srgb, var(--yic-primary, #c2410c) 6%, #fff);
	color: var(--yic-on-surface);
	box-shadow: none;
}
.yic-alert__icon {
	flex: 0 0 2.5rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	min-width: 2.5rem;
	min-height: 2.5rem;
	max-width: 2.5rem;
	max-height: 2.5rem;
	aspect-ratio: 1;
	box-sizing: border-box;
	overflow: hidden;
	white-space: nowrap;
	border-radius: 0.75rem;
	background: color-mix(in srgb, var(--yic-primary, #c2410c) 12%, #fff);
	color: var(--yic-primary, #c2410c);
	font-size: 1.35rem;
	line-height: 1;
}
.yic-alert__body { flex: 1; min-width: 0; }
.yic-alert__title {
	font-family: var(--yic-font-headline, inherit);
	font-weight: 700;
	font-size: 1.05rem;
	letter-spacing: -0.01em;
	margin: 0 0 0.25rem;
	color: var(--yic-on-surface, #1c1416);
}
.yic-alert__text {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.55;
	color: var(--yic-on-surface-variant, #584142);
}
.yic-alert__link {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	margin-top: 0.65rem;
	font-weight: 700;
	font-size: 0.9rem;
	color: var(--yic-primary, #c2410c);
	text-decoration: none;
}
.yic-alert__link:hover { text-decoration: underline; }
/* CTA alert: bottone outline allineato al testo (non link grezzo). */
.yic-alert__actions {
	margin: 0.85rem 0 0;
}
.yic-alert__cta.yic-btn {
	margin: 0;
	text-decoration: none;
	font-weight: 600;
	font-size: 0.92rem;
	padding: 0.55rem 1.1rem;
	border-radius: 999px;
	gap: 0.4rem;
}
.yic-alert__cta .material-symbols-outlined {
	font-size: 1.15rem;
	line-height: 1;
}
.yic-alert__close {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 24px;
	min-height: 24px;
	background: transparent;
	border: 0;
	border-radius: var(--yic-radius);
	cursor: pointer;
	color: var(--yic-secondary);
	font-size: 20px;
	line-height: 1;
	padding: 0 4px;
}
.yic-alert--info {
	background: color-mix(in srgb, var(--yic-primary, #c2410c) 6%, #fff);
}
.yic-alert--info .yic-alert__icon {
	background: color-mix(in srgb, var(--yic-primary, #c2410c) 12%, #fff);
	color: var(--yic-primary, #c2410c);
}
.yic-alert--success { background: #eef8f1; }
.yic-alert--success .yic-alert__icon { background: #d8f0df; color: #15702e; }
.yic-alert--warning { background: #fff6e8; }
.yic-alert--warning .yic-alert__icon { background: #ffe8c2; color: #8a4b00; }
.yic-alert--error { background: color-mix(in srgb, var(--yic-error, #b3261e) 8%, #fff); }
.yic-alert--error .yic-alert__icon {
	background: color-mix(in srgb, var(--yic-error, #b3261e) 14%, #fff);
	color: var(--yic-error, #b3261e);
}
.yic-alert[hidden] { display: none; }

/* =============================================================
 * 14. Box informativo / Disclaimer / Lead
 * ============================================================= */
.yic-infobox {
	padding: var(--yic-space-lg);
	background: var(--yic-surface-container-low);
	border-left: 4px solid var(--yic-primary);
	border-radius: 0 var(--yic-radius-lg) var(--yic-radius-lg) 0;
}
.yic-infobox--quote {
	font-style: italic;
	color: var(--yic-on-surface-variant);
}
.yic-lead {
	font-size: var(--yic-text-body-lg);
	font-weight: 600;
	color: var(--yic-primary);
	border-left: 4px solid var(--yic-primary);
	padding-left: var(--yic-space-md);
	margin-block: var(--yic-space-lg);
}
.yic-disclaimer {
	font-size: var(--yic-text-caption);
	line-height: 1.6;
	color: var(--yic-secondary);
	background: var(--yic-surface-container-low);
	border-radius: var(--yic-radius-lg);
	padding: var(--yic-space-md) var(--yic-space-lg);
}

/* =============================================================
 * 15. Lista documenti / Download
 * ============================================================= */
.yic-doc-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: var(--yic-space-sm);
}
.yic-doc {
	display: flex;
	align-items: center;
	gap: var(--yic-space-md);
	padding: var(--yic-space-md);
	border: 1px solid var(--yic-outline-variant);
	border-radius: var(--yic-radius-lg);
	text-decoration: none;
	color: var(--yic-on-surface);
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.yic-doc:hover {
	border-color: var(--yic-primary);
	box-shadow: var(--yic-shadow-sm);
}
.yic-doc__icon {
	flex: 0 0 auto;
	color: var(--yic-primary);
	font-size: 2rem;
	display: inline-flex;
}
.yic-doc__info { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.yic-doc__label { font-weight: 700; line-height: 1.3; }
.yic-doc__meta {
	font-size: var(--yic-text-caption);
	color: var(--yic-secondary);
	text-transform: uppercase;
	letter-spacing: 0.03em;
}
.yic-doc__dl {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: var(--yic-radius);
	background: var(--yic-primary);
	color: var(--yic-on-primary);
}

/* =============================================================
 * 16. Skeleton loader
 * ============================================================= */
.yic-skeleton {
	position: relative;
	overflow: hidden;
	background: var(--yic-surface-variant);
	border-radius: var(--yic-radius);
}
.yic-skeleton::after {
	content: "";
	position: absolute;
	inset: 0;
	transform: translateX(-100%);
	background: linear-gradient(90deg, transparent, rgb(255 255 255 / 0.55), transparent);
	animation: yic-shimmer 1.4s infinite;
}
.yic-skeleton--text { height: 0.9em; margin-bottom: 0.5em; }
.yic-skeleton--title { height: 1.4em; width: 60%; margin-bottom: 0.75em; }
.yic-skeleton--line-short { width: 40%; }
.yic-skeleton--block { height: 160px; }
.yic-skeleton--circle { width: 56px; height: 56px; border-radius: var(--yic-radius-full); }
@keyframes yic-shimmer {
	100% { transform: translateX(100%); }
}
@media (prefers-reduced-motion: reduce) {
	.yic-skeleton::after { animation: none; }
}

/* =============================================================
 * 17. Spinner
 * ============================================================= */
.yic-spinner {
	display: inline-block;
	width: 28px;
	height: 28px;
	border: 3px solid var(--yic-outline-variant);
	border-top-color: var(--yic-primary);
	border-radius: var(--yic-radius-full);
	animation: yic-spin 0.8s linear infinite;
}
.yic-spinner--sm { width: 18px; height: 18px; border-width: 2px; }
.yic-spinner--lg { width: 44px; height: 44px; border-width: 4px; }
@keyframes yic-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
	.yic-spinner { animation-duration: 2s; }
}

/* =============================================================
 * 18. Tooltip (CSS, via attributo data-yic-tooltip)
 * ============================================================= */
.yic-tooltip {
	position: relative;
}
.yic-tooltip::after {
	content: attr(data-yic-tooltip);
	position: absolute;
	bottom: calc(100% + 8px);
	left: 50%;
	transform: translateX(-50%) translateY(4px);
	background: var(--yic-inverse-surface);
	color: var(--yic-inverse-on-surface);
	padding: 6px 10px;
	border-radius: var(--yic-radius);
	font-size: var(--yic-text-caption);
	white-space: nowrap;
	max-width: 240px;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.15s ease, transform 0.15s ease;
	z-index: 50;
}
.yic-tooltip:hover::after,
.yic-tooltip:focus-visible::after {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}
/* Chiuso con Escape: nasconde il tooltip visivo finché non si ri-attiva. */
.yic-tooltip.yic-tooltip-dismissed::after {
	opacity: 0 !important;
	visibility: hidden !important;
}

/* =============================================================
 * 19. Paginazione numerica
 * ============================================================= */
.yic-pagination {
	display: flex;
	justify-content: center;
	margin-top: var(--yic-space-xl);
}
.yic-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 12px;
	margin: 0 4px;
	border: 1px solid var(--yic-outline-variant);
	border-radius: var(--yic-radius-lg);
	color: var(--yic-on-surface);
	text-decoration: none;
	font-family: var(--yic-font-label);
	transition: all 0.2s ease;
}
.yic-pagination .page-numbers:hover {
	border-color: var(--yic-primary-container);
	color: var(--yic-primary);
}
.yic-pagination .page-numbers.current {
	background: var(--yic-primary-container);
	border-color: var(--yic-primary-container);
	color: var(--yic-on-primary);
}
.yic-pagination .page-numbers.dots {
	border-color: transparent;
}

/* =============================================================
 * 20. Sticky subnav / anchor nav
 * ============================================================= */
.yic-subnav {
	position: sticky;
	top: 0;
	z-index: 40;
	background: rgb(var(--yic-surface-container-lowest-rgb) / 0.95);
	backdrop-filter: blur(8px);
	border-bottom: 1px solid var(--yic-outline-variant);
}
.yic-subnav__list {
	display: flex;
	gap: var(--yic-space-lg);
	overflow-x: auto;
	list-style: none;
	margin: 0;
	padding: 0;
}
.yic-subnav__link {
	display: block;
	padding: var(--yic-space-md) 2px;
	white-space: nowrap;
	color: var(--yic-secondary);
	text-decoration: none;
	font-family: var(--yic-font-label);
	font-size: var(--yic-text-label-md);
	border-bottom: 3px solid transparent;
}
.yic-subnav__link:hover,
.yic-subnav__link.is-active {
	color: var(--yic-primary-container);
	border-bottom-color: var(--yic-primary-container);
}

/* =============================================================
 * 21. Accordion / FAQ (JS: .yic-accordion__trigger[aria-expanded])
 * ============================================================= */
.yic-accordion {
	border: 1px solid var(--yic-outline-variant);
	border-radius: var(--yic-radius-lg);
	overflow: hidden;
	background: var(--yic-surface-container-lowest);
}
.yic-accordion__item + .yic-accordion__item {
	border-top: 1px solid var(--yic-outline-variant);
}
.yic-accordion__trigger {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--yic-space-md);
	padding: var(--yic-space-md) var(--yic-space-lg);
	background: transparent;
	border: 0;
	cursor: pointer;
	text-align: left;
	font-family: var(--yic-font-headline);
	font-size: var(--yic-text-body-lg);
	font-weight: 600;
	color: var(--yic-primary);
	transition: background 0.2s ease;
}
.yic-accordion__trigger:hover {
	background: var(--yic-surface-container-low);
}
.yic-accordion__icon {
	flex: 0 0 auto;
	transition: transform 0.3s ease;
	color: var(--yic-primary-container);
	display: inline-flex;
}
.yic-accordion__trigger[aria-expanded="true"] .yic-accordion__icon {
	transform: rotate(180deg);
}
.yic-accordion__panel {
	overflow: hidden;
	max-height: 0;
	transition: max-height 0.3s ease;
}
.yic-accordion__panel-inner {
	padding: 0 var(--yic-space-lg) var(--yic-space-lg);
	color: var(--yic-on-surface-variant);
}
@media (prefers-reduced-motion: reduce) {
	.yic-accordion__panel { transition: none; }
}

/* =============================================================
 * 22. Tab (JS: [role="tab"][aria-selected], [role="tabpanel"])
 * ============================================================= */
.yic-tabs__list {
	display: flex;
	gap: var(--yic-space-lg);
	overflow-x: auto;
	border-bottom: 1px solid var(--yic-outline-variant);
	margin-bottom: var(--yic-space-lg);
}
.yic-tabs__tab {
	background: transparent;
	border: 0;
	border-bottom: 4px solid transparent;
	padding: var(--yic-space-md) 2px;
	margin-bottom: -1px;
	cursor: pointer;
	white-space: nowrap;
	font-family: var(--yic-font-label);
	font-size: var(--yic-text-label-md);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--yic-secondary);
	transition: color 0.2s ease, border-color 0.2s ease;
}
.yic-tabs__tab:hover {
	color: var(--yic-primary);
}
.yic-tabs__tab[aria-selected="true"] {
	color: var(--yic-primary-container);
	border-bottom-color: var(--yic-primary-container);
}
.yic-tabs__panel[hidden] { display: none; }

/* =============================================================
 * 23. Modale / Dialog (JS: apre/chiude .is-open)
 * ============================================================= */
.yic-modal {
	position: fixed;
	inset: 0;
	z-index: 1100;
	display: none;
	align-items: center;
	justify-content: center;
	padding: var(--yic-space-lg);
}
.yic-modal.is-open {
	display: flex;
}
.yic-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgb(var(--yic-on-surface-rgb) / 0.55);
	animation: yic-fade 0.2s ease;
}
.yic-modal__dialog {
	position: relative;
	z-index: 1;
	width: min(92vw, 640px);
	max-height: 88vh;
	overflow-y: auto;
	background: var(--yic-surface-container-lowest);
	border-radius: var(--yic-radius-xl);
	box-shadow: var(--yic-shadow-lg);
	animation: yic-modal-in 0.2s ease;
}
.yic-modal__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--yic-space-md);
	padding: var(--yic-space-lg);
	border-bottom: 1px solid var(--yic-outline-variant);
}
.yic-modal__title {
	font-family: var(--yic-font-headline);
	font-size: var(--yic-text-headline-md);
	color: var(--yic-primary);
	margin: 0;
}
.yic-modal__close {
	background: transparent;
	border: 0;
	cursor: pointer;
	color: var(--yic-secondary);
	font-size: 26px;
	line-height: 1;
	padding: 0 4px;
}
.yic-modal__body { padding: var(--yic-space-lg); }
.yic-modal__footer {
	padding: var(--yic-space-lg);
	border-top: 1px solid var(--yic-outline-variant);
	display: flex;
	justify-content: flex-end;
	gap: var(--yic-space-sm);
}
body.yic-modal-open { overflow: hidden; }
@keyframes yic-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes yic-modal-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
	.yic-modal__overlay,
	.yic-modal__dialog { animation: none; }
}

/* =============================================================
 * 24. Reveal on scroll (attivato da components.js)
 * ============================================================= */
.yic-reveal {
	opacity: 0;
	transform: translateY(var(--yic-reveal-dist, 20px));
	transition: opacity var(--yic-reveal-dur, 0.6s) ease, transform var(--yic-reveal-dur, 0.6s) ease;
	will-change: opacity, transform;
}
.yic-reveal--zoom {
	transform: scale(0.94);
}
.yic-reveal.is-visible {
	opacity: 1;
	transform: none;
}
@media (prefers-reduced-motion: reduce) {
	.yic-reveal { opacity: 1; transform: none; transition: none; }
}

/* =============================================================
 * 26. Gradienti (opzionali, dal pannello Effetti)
 * ============================================================= */
/* Applicati come background-image: se la variabile non e' impostata,
 * "none" lascia intatto il colore di sfondo pieno. */
.yic-btn--primary { background-image: var(--yic-btn-gradient, none); }
.yic-hero { background-image: var(--yic-hero-gradient, none); }

/* =============================================================
 * 25. Lightbox (self-hosted, GDPR) — vedi assets/js/lightbox.js
 * ============================================================= */
.yic-lb {
	position: fixed;
	inset: 0;
	z-index: 1200;
	display: none;
	align-items: center;
	justify-content: center;
	gap: var(--yic-space-md);
	padding: clamp(1rem, 4vw, 3rem);
	background: rgb(var(--yic-on-surface-rgb) / 0.9);
}
.yic-lb.is-open { display: flex; animation: yic-fade 0.2s ease; }
body.yic-lb-open { overflow: hidden; }
.yic-lb__fig {
	margin: 0;
	max-width: 92vw;
	max-height: 86vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--yic-space-sm);
}
.yic-lb__img {
	max-width: 92vw;
	max-height: 78vh;
	width: auto;
	height: auto;
	object-fit: contain;
	border-radius: var(--yic-radius-md);
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
	background: var(--yic-surface-container-lowest);
}
.yic-lb__cap {
	color: rgb(var(--yic-on-primary-rgb) / 0.92);
	font-size: var(--yic-text-label-md);
	text-align: center;
	max-width: 60ch;
}
.yic-lb__close,
.yic-lb__nav {
	background: rgb(255 255 255 / 0.12);
	color: #fff;
	border: 1px solid rgb(255 255 255 / 0.3);
	cursor: pointer;
	border-radius: var(--yic-radius-full);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s ease;
	flex: 0 0 auto;
}
.yic-lb__close:hover,
.yic-lb__nav:hover { background: rgb(255 255 255 / 0.25); }
.yic-lb__close {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 46px;
	height: 46px;
	font-size: 28px;
	line-height: 1;
}
.yic-lb__nav {
	width: 52px;
	height: 52px;
	font-size: 22px;
}
.yic-lb__count {
	position: absolute;
	bottom: 18px;
	left: 50%;
	transform: translateX(-50%);
	color: rgb(255 255 255 / 0.85);
	font-family: var(--yic-font-label);
	font-size: var(--yic-text-caption);
	letter-spacing: 0.05em;
}
@media (max-width: 640px) {
	.yic-lb__nav { width: 42px; height: 42px; }
}
/* Cursore "ingrandibile" sui link immagine gestiti dal lightbox */
.yic-entry a[href$=".jpg"] img,
.yic-entry a[href$=".jpeg"] img,
.yic-entry a[href$=".png"] img,
.yic-entry a[href$=".webp"] img { cursor: zoom-in; }

/* =========================================================
 * Scheda Prodotto / Servizio (single-bpc_prodotto.php)
 * ========================================================= */
.yic-prod { color: var(--yic-on-surface, #1a1c1c); }
.yic-prod-wrap { max-width: 1200px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }

/* Hero */
.yic-prod-hero { position: relative; background: var(--yic-primary, #c2410c); color: #fff; padding: 72px 24px; overflow: hidden; }
.yic-prod-hero--image {
	background-image: var(--yic-hero-bg);
	background-size: cover;
	background-position: var(--yic-hero-pos, center center);
}
@media (max-width: 768px) {
	.yic-prod-hero--image.yic-prod-hero--has-mobile {
		background-image: var(--yic-hero-bg-mobile, var(--yic-hero-bg));
	}
}
.yic-prod-hero--image::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(40,0,11,.35), rgba(40,0,11,.85)); }
.yic-prod-hero__inner { position: relative; max-width: 1200px; margin: 0 auto; }
.yic-prod-hero__eyebrow { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; background: rgba(255,255,255,.16); backdrop-filter: blur(6px); padding: 6px 12px; border-radius: 6px; margin-bottom: 16px; }
.yic-prod-hero__title {
	font-family: var(--yic-font-headline, inherit);
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1.1;
	margin: 0 0 12px;
	color: #fff;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
	-webkit-hyphens: none;
}
.yic-prod-hero__tagline { font-size: clamp(1.05rem, 2vw, 1.35rem); max-width: 620px; margin: 0 0 28px; opacity: .95; }
.yic-prod-hero__tagline p { margin: 0; }
.yic-prod-hero__tagline p + p { margin-top: .5em; }
.yic-prod-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* Pulsanti */
.yic-prod-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: var(--yic-btn-py, 14px) var(--yic-btn-px, 26px); border-radius: var(--yic-btn-radius, 0); font-weight: 600; text-transform: var(--yic-btn-transform, none); text-decoration: none; transition: background .15s, color .15s, border-color .15s; }
.yic-prod-btn--primary { background: var(--yic-primary-container, #ea580c); color: #fff; }
.yic-prod-btn--primary:hover { background: #fff; color: var(--yic-primary, #c2410c); }
.yic-prod-btn--ghost { background: rgba(255,255,255,.12); color: #fff; border: 1px solid rgba(255,255,255,.4); }
.yic-prod-btn--ghost:hover { background: rgba(255,255,255,.22); }
.yic-prod-btn--onprimary { background: #fff; color: var(--yic-primary, #c2410c); }
.yic-prod-btn--onprimary:hover { background: var(--yic-primary-fixed, #ffedd5); }
.yic-prod-btn--outline-light { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.5); }
.yic-prod-btn--outline-light:hover { background: rgba(255,255,255,.14); }

/* Breadcrumb */
.yic-prod-crumbs { background: #fff; border-bottom: 1px solid var(--yic-outline-variant, #e0bfc0); }
.yic-prod-crumbs__inner { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding-top: 14px; padding-bottom: 14px; font-size: 14px; color: var(--yic-secondary, #5c5e63); }
.yic-prod-crumbs a { display: inline-flex; align-items: center; gap: 4px; color: inherit; text-decoration: none; }
.yic-prod-crumbs a:hover { color: var(--yic-primary-container, #ea580c); }
.yic-prod-crumbs .material-symbols-outlined { font-size: 18px; }
.yic-prod-crumbs__sep { opacity: .4; }
.yic-prod-crumbs__current { color: var(--yic-on-surface, #1a1c1c); font-weight: 600; }

/* Sezioni */
.yic-prod-section { padding: 56px 0; }
.yic-prod-section--alt { background: var(--yic-surface-container-low, #f4f3f3); }
.yic-prod-h2 { font-family: var(--yic-font-headline, inherit); font-size: clamp(1.5rem, 3vw, 2rem); margin: 0 0 28px; color: var(--yic-primary, #c2410c); }

/* Descrizione + vantaggi */
.yic-prod-grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: 48px; align-items: start; }
.yic-prod-body { font-size: 1.05rem; line-height: 1.7; color: var(--yic-on-surface-variant, #584142); }
.yic-prod-body > :first-child { margin-top: 0; }
.yic-prod-vantaggi { background: #fff; border: 1px solid var(--yic-outline-variant, #e0bfc0); border-radius: 16px; padding: 28px; }
.yic-prod-vantaggi__title { font-size: 1.15rem; margin: 0 0 20px; color: var(--yic-on-surface, #1a1c1c); }
.yic-prod-vantaggi__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 18px; }
.yic-prod-vantaggio { display: flex; gap: 14px; align-items: flex-start; }
.yic-prod-vantaggio__ico { color: var(--yic-primary, #c2410c); font-size: 26px; flex: none; }
.yic-prod-vantaggio__txt { display: flex; flex-direction: column; gap: 2px; }
.yic-prod-vantaggio__t { color: var(--yic-on-surface, #1a1c1c); }
.yic-prod-vantaggio__d { color: var(--yic-on-surface-variant, #584142); font-size: .95rem; line-height: 1.5; }

/* Fogli informativi (allegati PDF) — legacy selectors kept for safety */
.yic-prod-fogli { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.yic-prod-foglio { margin: 0; }
.yic-prod-foglio__link { display: flex; align-items: center; gap: 14px; background: #fff; border: 1px solid var(--yic-outline-variant, #e0bfc0); border-radius: 12px; padding: 16px 20px; text-decoration: none; color: var(--yic-on-surface, #1a1c1c); transition: border-color .15s ease, box-shadow .15s ease; }
.yic-prod-foglio__link:hover { border-color: var(--yic-primary, #c2410c); box-shadow: 0 2px 10px rgba(0,0,0,.06); }
.yic-prod-foglio__ico { color: var(--yic-primary, #c2410c); font-size: 26px; flex: 0 0 auto; }
.yic-prod-foglio__label { flex: 1 1 auto; font-weight: 600; }
.yic-prod-foglio__dl { color: var(--yic-secondary, #5c5e63); font-size: 20px; flex: 0 0 auto; }

/* Fogli informativi (Trasparenza + Documentale) + Allegati scheda */
.yic-prod-docs .yic-prod-wrap,
.yic-prod-docs .yic-conti-wrap,
.yic-prod-docs .yic-carte-wrap {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}
.yic-prod-docs__box {
	background: #fff;
	border: 1px solid var(--yic-outline-variant, #e0bfc0);
	border-radius: var(--yic-doc-box-radius, 12px);
	padding: 1.5rem 1.5rem 1.35rem;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
.yic-prod-docs__head {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0 0 1.1rem;
	padding: 0 0 0.9rem;
	border-bottom: 1px solid rgba(29, 27, 28, 0.08);
}
.yic-prod-docs__head-ico {
	flex: 0 0 auto;
	color: var(--yic-primary-container, #ea580c);
	font-size: 1.75rem;
	line-height: 1;
}
.yic-prod-docs__title {
	flex: 1 1 auto;
	margin: 0;
	font-family: var(--yic-font-headline, inherit);
	font-size: clamp(1.15rem, 2.2vw, 1.35rem);
	font-weight: 650;
	line-height: 1.25;
	color: var(--yic-on-surface, #1a1c1c);
}
/* Icona header box (SVG Trasparenza). */
.yic-prod-docs__head-ico {
	display: inline-flex;
	color: var(--yic-primary-container, #ea580c);
	line-height: 0;
}
.yic-prod-docs__head-ico .yic-trasp-ic {
	width: 28px;
	height: 28px;
	display: block;
}
/* Card documento: riusa markup/CSS lista Trasparenza (Anteprima + Scarica). */
.yic-prod-docs .yic-trasp--doclist-list .yic-trasp-card {
	border-radius: var(--yic-doc-card-radius, 10px);
}
.yic-prod-docs .yic-trasp--doclist-list .yic-trasp-card__desc {
	display: none;
}

@media (max-width: 600px) {
	.yic-prod-docs__box {
		padding: 1.15rem;
	}
}

/* CTA band */
.yic-prod-ctaband { background: var(--yic-primary, #c2410c); color: #fff; padding: 48px 0; }
.yic-prod-ctaband__inner { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; justify-content: space-between; }
.yic-prod-ctaband__title { font-family: var(--yic-font-headline, inherit); font-size: 1.6rem; margin: 0 0 6px; color: #fff; }
.yic-prod-ctaband__sub { margin: 0; opacity: .9; }
.yic-prod-ctaband__actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* Correlati */
.yic-prod-related { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; }
.yic-prod-card {
	background: #fff;
	border: 1px solid var(--yic-ui-card-border, var(--yic-surface-container-low, #f4f3f3));
	border-radius: var(--yic-ui-card-radius, var(--yic-card-radius, 24px));
	transition: box-shadow .2s, transform .15s, border-color .2s;
}
.yic-prod-card:hover {
	border-color: var(--yic-primary, #c2410c);
	box-shadow: var(--yic-ui-card-hover-shadow, 0 0 0 2px var(--yic-primary, #c2410c), 0 10px 30px rgba(194,65,12,.12));
	transform: translateY(-2px);
}
.yic-prod-card__link { display: block; padding: 24px; text-decoration: none; color: inherit; }
.yic-prod-card__title { margin: 0 0 8px; color: var(--yic-on-surface, #1a1c1c); font-size: var(--yic-ui-card-title-size, 1.45rem); font-weight: 700; line-height: 1.25; }
.yic-prod-card__tag { margin: 0 0 16px; color: var(--yic-on-surface-variant, #584142); font-size: .95rem; }
.yic-prod-card__more { display: inline-flex; align-items: center; gap: 4px; color: var(--yic-primary-container, #ea580c); font-weight: 600; }
.yic-prod-card__more .material-symbols-outlined { font-size: 18px; }
.yic-prod-card__media { display: block; margin: 0 0 14px; border-radius: var(--yic-ui-card-media-radius, 28px); overflow: hidden; aspect-ratio: 16 / 10; background: var(--yic-surface-container-low, #f4f3f3); }
.yic-prod-card__img { width: 100%; height: 100%; object-fit: cover; display: block; }

@media (max-width: 860px) {
	.yic-prod-grid { grid-template-columns: 1fr; gap: 32px; }
	.yic-prod-hero { padding: 56px 20px; }
}

@media (max-width: 640px) {
	.yic-prod-crumbs__inner {
		gap: 4px;
		padding-top: 12px;
		padding-bottom: 12px;
		font-size: 12px;
		line-height: 1.35;
	}

	.yic-prod-crumbs .material-symbols-outlined {
		font-size: 15px;
	}
}

/* Variante template Conti: caratteristiche a griglia */
.yic-prod-body--wide { max-width: 820px; }
.yic-prod-conti-features { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; }
.yic-prod-conti-feature { background: var(--yic-surface-container-lowest, #fff); border: 1px solid var(--yic-outline-variant, #e0bfc0); border-radius: 14px; padding: 24px; }
.yic-prod-conti-feature__ico { color: var(--yic-primary, #c2410c); font-size: 32px; }
.yic-prod-conti-feature__t { margin: 12px 0 6px; font-size: 1.1rem; color: var(--yic-on-surface, #1a1c1c); }
.yic-prod-conti-feature__d { margin: 0; color: var(--yic-on-surface-variant, #584142); font-size: .95rem; line-height: 1.55; }

/* Bottone outline (usato nei profili non evidenziati) */
.yic-prod-btn--outline { background: transparent; color: var(--yic-primary, #c2410c); border: 1px solid var(--yic-primary, #c2410c); }
.yic-prod-btn--outline:hover { background: var(--yic-primary, #c2410c); color: #fff; }

/* Prodotto ESTERNO (partner/compagnia): layout essenziale, logo piccolo a lato */
/* .yic-prodext-crumbs: posizione unificata sopra (con Hub/Tipo/Prodotti). */
.yic-prodext-section { padding-top: 32px; }
.yic-prodext { display: grid; grid-template-columns: 1.7fr 1fr; gap: 48px; align-items: start; }
.yic-prodext__eyebrow { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--yic-primary-container, #ea580c); margin-bottom: 12px; }
.yic-prodext__title { font-family: var(--yic-font-headline, inherit); font-size: clamp(1.9rem, 3.5vw, 2.6rem); line-height: 1.12; margin: 0 0 20px; color: var(--yic-on-surface, #1a1c1c); }
.yic-prodext__desc { margin: 0 0 28px; }
.yic-prodext__desc ul, .yic-prodext__desc ol { margin: .5rem 0 0; padding-left: 1.3rem; }
.yic-prodext__desc ul { list-style: disc; }
.yic-prodext__desc ol { list-style: decimal; }
.yic-prodext__desc li { margin: .2rem 0; }
.yic-prodext__actions { margin: 0; }
.yic-prodext__aside { position: sticky; top: 96px; }
.yic-prodext__logo { background: #fff; border: 1px solid var(--yic-outline-variant, #e0bfc0); border-radius: 16px; padding: 28px; display: flex; align-items: center; justify-content: center; }
.yic-prodext__logo img { max-width: 220px; max-height: 140px; width: auto; height: auto; object-fit: contain; display: block; }
@media (max-width: 860px) {
	.yic-prodext { grid-template-columns: 1fr; gap: 28px; }
	.yic-prodext__aside { position: static; }
	.yic-prodext__logo { padding: 22px; justify-content: flex-start; }
	.yic-prodext__logo img { max-width: 160px; max-height: 100px; }
}

/* Profili / Piani a confronto (adattivo 1-4) */
.yic-prod-profili { display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); align-items: stretch; }
.yic-prod-profili--1 { grid-template-columns: 1fr; max-width: 520px; }
.yic-prod-profili--2 { grid-template-columns: repeat(2, 1fr); }
.yic-prod-profili--3 { grid-template-columns: repeat(3, 1fr); }
.yic-prod-profili--4 { grid-template-columns: repeat(4, 1fr); }
.yic-prod-profilo { position: relative; display: flex; flex-direction: column; gap: 10px; background: var(--yic-surface-container-lowest, #fff); border: 1px solid var(--yic-outline-variant, #e0bfc0); border-radius: 16px; padding: 28px 24px; }
.yic-prod-profilo--top { border-color: var(--yic-primary, #c2410c); border-width: 2px; box-shadow: 0 10px 30px rgba(194,65,12,.10); }
.yic-prod-profilo__badge { position: absolute; top: -12px; left: 24px; background: var(--yic-primary, #c2410c); color: #fff; font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; padding: 4px 12px; border-radius: 999px; }
.yic-prod-profilo__nome { margin: 6px 0 0; font-size: 1.25rem; color: var(--yic-on-surface, #1a1c1c); }
.yic-prod-profilo__prezzo { margin: 0; display: flex; align-items: baseline; gap: 4px; }
.yic-prod-profilo__canone { font-size: 2rem; font-weight: 800; color: var(--yic-primary, #c2410c); line-height: 1; }
.yic-prod-profilo__periodo { font-size: .95rem; color: var(--yic-on-surface-variant, #584142); }
.yic-prod-profilo__riepilogo { margin: 0; color: var(--yic-on-surface-variant, #584142); font-size: .95rem; line-height: 1.5; }
.yic-prod-profilo__lista { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.yic-prod-profilo__lista li { display: flex; align-items: flex-start; gap: 8px; color: var(--yic-on-surface, #1a1c1c); font-size: .95rem; line-height: 1.4; }
.yic-prod-profilo__lista .material-symbols-outlined { font-size: 20px; color: var(--yic-primary, #c2410c); flex: 0 0 auto; }
.yic-prod-profilo__cta { margin-top: auto; }
/* Voce "non inclusa": grigia e barrata, icona neutra. */
.yic-prod-profilo__lista li.is-off { color: var(--yic-on-surface-variant, #8a8a8a); }
.yic-prod-profilo__lista li.is-off span:not(.material-symbols-outlined) { text-decoration: line-through; }
.yic-prod-profilo__lista li.is-off .material-symbols-outlined { color: var(--yic-outline, #8c7072); }
@media (max-width: 860px) {
	.yic-prod-profili, .yic-prod-profili--2, .yic-prod-profili--3, .yic-prod-profili--4 { grid-template-columns: 1fr; }
}

/* Titolo sezione centrato (tabella confronto). */
.yic-prod-h2--center { text-align: center; }

/* Servizi inclusi in tutti i profili. */
.yic-prod-common { background: var(--yic-surface-container-low, #f4f3f3); border: 1px solid var(--yic-outline-variant, #e0bfc0); border-radius: 16px; padding: 28px; margin-bottom: 40px; }
.yic-prod-common__t { margin: 0 0 18px; font-size: 1.25rem; color: var(--yic-on-surface, #1a1c1c); }
.yic-prod-common__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.yic-prod-common__item { display: flex; align-items: center; gap: 10px; font-size: .95rem; font-weight: 600; color: var(--yic-on-surface, #1a1c1c); }
.yic-prod-common__item .material-symbols-outlined { font-size: 22px; color: var(--yic-primary, #c2410c); flex: 0 0 auto; }

/* Tabella comparativa profili (adattiva, scroll orizzontale su mobile). */
.yic-prod-compare { overflow-x: auto; border: 1px solid var(--yic-outline-variant, #e0bfc0); border-radius: 16px; }
.yic-prod-compare__table { width: 100%; border-collapse: collapse; text-align: left; min-width: 520px; }
.yic-prod-compare__table th, .yic-prod-compare__table td { padding: 18px 20px; }
.yic-prod-compare__table thead th { background: var(--yic-surface-container-low, #f4f3f3); font-size: .78rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--yic-primary, #c2410c); border-bottom: 1px solid var(--yic-outline-variant, #e0bfc0); }
.yic-prod-compare__table thead th:not(:first-child) { text-align: center; }
.yic-prod-compare__table tbody tr + tr th, .yic-prod-compare__table tbody tr + tr td { border-top: 1px solid var(--yic-surface-container-high, #e8e8e8); }
.yic-prod-compare__table tbody th { font-weight: 600; color: var(--yic-on-surface, #1a1c1c); }
.yic-prod-compare__table tbody td { text-align: center; color: var(--yic-on-surface-variant, #584142); }
.yic-prod-compare__table tbody td.is-hl { font-weight: 700; color: #16a34a; }
.yic-prod-compare__table tbody td.is-bold { font-weight: 700; color: var(--yic-on-surface, #1a1c1c); }

/* =====================================================================
 * HUB AREA (Privati / Business) - template-hub-area.php
 * ===================================================================== */
/* Stessa rail del sito (.yic-container): token (su mobile → 16px da Responsive). */
.yic-hub-wrap {
	max-width: var(--yic-container-max, 1280px);
	margin: 0 auto;
	padding-inline: var(--yic-gutter, clamp(16px, 4vw, 32px));
}

/* Hero split — stesso trattamento immagine di Conti / scheda prodotto. */
.yic-hub-hero {
	background: var(--yic-surface-container-lowest, #fff);
	overflow: hidden;
	padding: clamp(24px, 4vw, 40px) 0 clamp(48px, 8vw, 96px);
}
.yic-hub-hero__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 clamp(16px, 4vw, 32px);
}
/* Crumbs → griglia (come Tipologia / Conti). */
.yic-hub-hero__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(28px, 5vw, 48px);
	align-items: center;
}
.yic-hub-hero__text { min-width: 0; z-index: 1; }

/*
 * Frame hero media UNIFICATO: Hub / Tipologia / Conti / Mutui / Libretti / Generale / Carte.
 * Stessa colonna (centrata), stesse proporzioni, stesso crop di default (centro).
 */
.yic-hub-hero__media,
.yic-tipo-hero__media,
.yic-conti-hero__media,
.yic-mutui-hero__media,
.yic-libretti-hero__media,
.yic-gen-hero__media,
.yic-carte-hero__media {
	position: relative;
	min-width: 0;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	--yic-hero-media-pos: center center;
}
.yic-hub-hero__frame,
.yic-tipo-hero__frame,
.yic-conti-hero__frame,
.yic-mutui-hero__frame,
.yic-libretti-hero__figure,
.yic-gen-hero__figure,
.yic-carte-hero__figure {
	aspect-ratio: 16 / 10;
	max-height: min(52vw, 280px);
	margin: 0 auto;
	width: 100%;
	background: var(--yic-surface-container-low, #f4f3f3);
	border-radius: 28px;
	overflow: hidden;
	border: 0;
	box-shadow: none;
}
.yic-hub-hero__frame img,
.yic-tipo-hero__frame img,
.yic-conti-hero__frame img,
.yic-conti-hero__frame picture,
.yic-mutui-hero__frame img,
.yic-libretti-hero__img,
.yic-gen-hero__img,
.yic-carte-hero__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--yic-hero-media-pos, center center);
}
.yic-conti-hero__frame picture { height: 100%; }
.yic-hub-hero__media--empty .yic-hub-hero__frame {
	background: linear-gradient(135deg, var(--yic-primary, #c2410c), var(--yic-primary-container, #ea580c));
}
/* Breadcrumb unificato Area → Tipologia → Prodotto: sopra la griglia hero. */
.yic-path-crumbs {
	background: transparent;
	padding: 0;
	margin: 0 0 1.25rem;
}
.yic-path-crumbs .yic-tipo-hero__eyebrow { margin: 0; }
.yic-path-crumbs--solo {
	padding: 14px 0;
	margin: 0;
	background: var(--yic-surface-container-lowest, #fff);
	border-bottom: 1px solid var(--yic-outline-variant, #e0bfc0);
}
@media (max-width: 640px) {
	.yic-path-crumbs:not(.yic-path-crumbs--solo) {
		margin-bottom: 1rem;
	}
}
.yic-hub-hero__title {
	font-size: clamp(32px, 5vw, 48px);
	line-height: 1.1;
	letter-spacing: -.02em;
	font-weight: 700;
	color: var(--yic-primary, #c2410c);
	margin: 0 0 16px;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
	-webkit-hyphens: none;
}
.yic-hub-hero__lead { font-size: 18px; line-height: 1.6; color: var(--yic-on-surface-variant, #584142); margin: 0 0 24px; max-width: 36rem; }
.yic-hub-hero__actions { display: flex; gap: 16px; flex-wrap: wrap; }
/* Mobile: CTA a tutta larghezza (Privati / Business). */
@media (max-width: 767px) {
	.yic-hub-hero__actions {
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		gap: 12px;
	}
	.yic-hub-hero__actions .yic-hub-btn {
		width: 100%;
		justify-content: center;
		text-align: center;
		box-sizing: border-box;
	}
}
@media (min-width: 768px) {
	.yic-hub-hero__grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}
	.yic-hub-hero__frame,
	.yic-tipo-hero__frame,
	.yic-tipo-hero--has-media .yic-tipo-hero__frame,
	.yic-conti-hero__frame,
	.yic-mutui-hero__frame,
	.yic-libretti-hero__figure,
	.yic-gen-hero__figure,
	.yic-carte-hero__figure {
		aspect-ratio: 1 / 1;
		max-height: none;
		border-radius: 40px;
	}
}

/*
 * Hub a pannelli: primo blocco = viewport sotto l'header + snap obbligato
 * verso la sezione successiva. Sticky invariato (niente margin negativo).
 */
.yic-hub--fullscreen,
.yic-tipo-archive--fullscreen,
.yic-prod--fullscreen {
	--yic-hub-header-h: var(--yic-header-height, 76px);
}

html:has(.yic-hub--fullscreen),
html:has(.yic-tipo-archive--fullscreen),
html:has(.yic-prod--fullscreen) {
	/* Il viewport deve essere il contenitore di scroll (body flex rompe lo snap). */
	height: 100%;
	overflow-y: scroll;
	scroll-snap-type: y mandatory;
	scroll-padding-top: var(--yic-hub-header-h, var(--yic-header-height, 76px));
}
/* Dopo hero + prima sezione: scroll libero sui blocchi associati (classe da JS). */
html.yic-snap-off:has(.yic-hub--fullscreen),
html.yic-snap-off:has(.yic-tipo-archive--fullscreen),
html.yic-snap-off:has(.yic-prod--fullscreen) {
	scroll-snap-type: none;
}
html:has(.yic-hub--fullscreen) body,
html:has(.yic-tipo-archive--fullscreen) body,
html:has(.yic-prod--fullscreen) body {
	display: block;
	min-height: 100%;
}
html:has(body.admin-bar .yic-hub--fullscreen),
html:has(body.admin-bar .yic-tipo-archive--fullscreen),
html:has(body.admin-bar .yic-prod--fullscreen) {
	scroll-padding-top: calc(
		var(--yic-hub-header-h, var(--yic-header-height, 76px))
		+ var(--yic-admin-bar-h, var(--wp-admin--admin-bar--height, 32px))
	);
}

/* Solo hero + prima sezione sotto: poi scroll libero. */
.yic-hub--fullscreen > .yic-hub-hero,
.yic-tipo-archive--fullscreen > .yic-tipo-hero--has-media,
.yic-prod--fullscreen > .yic-prod-snap-hero {
	scroll-snap-align: start;
	scroll-snap-stop: always;
}
.yic-hub--fullscreen > .yic-hub-cats,
.yic-tipo-archive--fullscreen > .yic-tipo-list,
.yic-prod--fullscreen > .yic-prod-snap-next {
	scroll-snap-align: start;
	scroll-snap-stop: normal;
	box-sizing: border-box;
	min-height: calc(100dvh - var(--yic-hub-header-h, var(--yic-header-height, 76px)));
}

/*
 * Scheda prodotto: il secondo pannello (testo + CTA) non deve restare
 * «tutto su» con vuoto sotto. Centra il contenuto nel viewport snap.
 */
.yic-prod--fullscreen > .yic-prod-snap-next {
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.yic-prod--fullscreen > .yic-prod-snap-next > * {
	width: 100%;
	flex: 0 1 auto;
}
.admin-bar .yic-prod--fullscreen > .yic-prod-snap-next {
	min-height: calc(
		100dvh
		- var(--yic-hub-header-h, var(--yic-header-height, 76px))
		- var(--yic-admin-bar-h, var(--wp-admin--admin-bar--height, 32px))
	);
}
@media (max-width: 767px) {
	.yic-prod--fullscreen > .yic-prod-snap-next {
		min-height: 0;
		justify-content: flex-start;
	}
	.admin-bar .yic-prod--fullscreen > .yic-prod-snap-next {
		min-height: 0;
	}
}

/* Scheda prodotto: hero a pannello viewport (come hub/tipologia). */
.yic-prod--fullscreen > .yic-prod-snap-hero {
	--yic-hub-panel-h: calc(100dvh - var(--yic-hub-header-h, 76px));
	box-sizing: border-box;
	position: relative;
	z-index: 0;
	width: 100%;
	height: var(--yic-hub-panel-h);
	min-height: var(--yic-hub-panel-h);
	max-height: var(--yic-hub-panel-h);
	margin-top: 0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.admin-bar .yic-prod--fullscreen > .yic-prod-snap-hero {
	--yic-hub-panel-h: calc(100dvh - var(--yic-hub-header-h, 76px) - var(--yic-admin-bar-h, var(--wp-admin--admin-bar--height, 32px)));
}
.yic-prod--fullscreen > .yic-prod-snap-hero > .yic-mutui-wrap,
.yic-prod--fullscreen > .yic-prod-snap-hero > .yic-conti-wrap,
.yic-prod--fullscreen > .yic-prod-snap-hero > .yic-carte-wrap,
.yic-prod--fullscreen > .yic-prod-snap-hero > .yic-libretti-wrap,
.yic-prod--fullscreen > .yic-prod-snap-hero > .yic-gen-wrap,
.yic-prod--fullscreen > .yic-prod-snap-hero > .yic-prod-wrap {
	width: 100%;
	flex: 0 1 auto;
	margin-block: auto;
	box-sizing: border-box;
}
@media (max-width: 767px) {
	.yic-prod--fullscreen > .yic-prod-snap-hero {
		--yic-hub-panel-h: calc(100svh - var(--yic-hub-header-h, 76px));
		height: auto;
		min-height: var(--yic-hub-panel-h);
		max-height: none;
		overflow: visible;
		justify-content: flex-start;
	}
	.admin-bar .yic-prod--fullscreen > .yic-prod-snap-hero {
		--yic-hub-panel-h: calc(100svh - var(--yic-hub-header-h, 76px) - var(--yic-admin-bar-h, var(--wp-admin--admin-bar--height, 32px)));
	}
}

.yic-hub--fullscreen > .yic-hub-hero {
	--yic-hub-panel-h: calc(100dvh - var(--yic-hub-header-h, 76px));
	box-sizing: border-box;
	position: relative;
	z-index: 0;
	width: 100%;
	height: var(--yic-hub-panel-h);
	min-height: var(--yic-hub-panel-h);
	max-height: var(--yic-hub-panel-h);
	margin-top: 0;
	padding: clamp(20px, 3vw, 36px) 0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.admin-bar .yic-hub--fullscreen > .yic-hub-hero {
	--yic-hub-panel-h: calc(100dvh - var(--yic-hub-header-h, 76px) - var(--yic-admin-bar-h, var(--wp-admin--admin-bar--height, 32px)));
}
.yic-hub--fullscreen > .yic-hub-hero .yic-hub-hero__inner {
	width: 100%;
	flex: 0 1 auto;
	margin-block: auto;
}
@media (min-width: 768px) {
	/* Stesso tetto di dimensione del riquadro: Hub / Tipologia / Prodotto. */
	.yic-hub--fullscreen > .yic-hub-hero .yic-hub-hero__frame,
	.yic-tipo-archive--fullscreen > .yic-tipo-hero--has-media .yic-tipo-hero__frame,
	.yic-prod--fullscreen > .yic-prod-snap-hero .yic-conti-hero__frame,
	.yic-prod--fullscreen > .yic-prod-snap-hero .yic-mutui-hero__frame,
	.yic-prod--fullscreen > .yic-prod-snap-hero .yic-libretti-hero__figure,
	.yic-prod--fullscreen > .yic-prod-snap-hero .yic-gen-hero__figure,
	.yic-prod--fullscreen > .yic-prod-snap-hero .yic-carte-hero__figure {
		width: min(100%, calc(var(--yic-hub-panel-h) - 6rem));
		max-height: calc(var(--yic-hub-panel-h) - 6rem);
		margin-inline: auto;
	}
}
@media (max-width: 767px) {
	.yic-hub--fullscreen > .yic-hub-hero {
		--yic-hub-panel-h: calc(100svh - var(--yic-hub-header-h, 76px));
	}
	.admin-bar .yic-hub--fullscreen > .yic-hub-hero {
		--yic-hub-panel-h: calc(100svh - var(--yic-hub-header-h, 76px) - var(--yic-admin-bar-h, var(--wp-admin--admin-bar--height, 32px)));
	}
}

/* Bottoni hub — forma/colori da Aspetto → Bottoni */
.yic-hub-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: var(--yic-btn-py, 14px) var(--yic-btn-px, 32px); border-radius: var(--yic-btn-radius, 0); border: var(--yic-btn-border, 0) solid transparent; font-weight: 600; letter-spacing: .03em; text-transform: var(--yic-btn-transform, none); text-decoration: none; transition: opacity .2s, background .2s, color .2s, border-color .2s; }
.yic-hub-btn--primary { background: var(--yic-btn-bg, var(--yic-primary, #c2410c)); color: var(--yic-btn-fg, #fff); border-color: var(--yic-btn-bg, var(--yic-primary, #c2410c)); }
.yic-hub-btn--primary:hover { background: var(--yic-btn-bg-hover, var(--yic-primary, #c2410c)); color: var(--yic-btn-fg-hover, #fff); border-color: var(--yic-btn-bg-hover, var(--yic-primary, #c2410c)); }
.yic-hub-btn--outline { background: var(--yic-btn-outline-bg, transparent); color: var(--yic-btn-outline-fg, var(--yic-primary, #c2410c)); border: var(--yic-btn-outline-border, 1px) solid var(--yic-btn-outline-fg, var(--yic-primary, #c2410c)); }
.yic-hub-btn--outline:hover { background: var(--yic-btn-outline-bg-hover, color-mix(in srgb, var(--yic-btn-outline-fg, var(--yic-primary, #c2410c)) 8%, transparent)); color: var(--yic-btn-outline-fg-hover, var(--yic-primary, #c2410c)); border-color: var(--yic-btn-outline-fg-hover, var(--yic-primary, #c2410c)); }
.yic-hub-btn--container { background: var(--yic-btn-bg, var(--yic-primary-container, #ea580c)); color: var(--yic-btn-fg, #fff); border-color: var(--yic-btn-bg, var(--yic-primary-container, #ea580c)); }
.yic-hub-btn--container:hover { background: var(--yic-btn-bg-hover, var(--yic-primary, #c2410c)); color: var(--yic-btn-fg-hover, #fff); border-color: var(--yic-btn-bg-hover, var(--yic-primary, #c2410c)); }

/* Titolo di sezione hub */
.yic-hub-h2 { font-size: clamp(26px, 3.5vw, 32px); line-height: 1.2; font-weight: 700; letter-spacing: -.01em; color: var(--yic-primary, #c2410c); margin: 0 0 12px; }

/* Griglia categorie */
.yic-hub-cats { padding: 64px 0; }
.yic-hub-cats__head { text-align: center; margin-bottom: 48px; }
.yic-hub-rule { display: block; height: 4px; width: 96px; background: var(--yic-primary, #c2410c); margin: 0 auto; }
.yic-hub-cats__grid { display: grid; grid-template-columns: 1fr; gap: 24px; }
@media (min-width: 640px) { .yic-hub-cats__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .yic-hub-cats__grid { grid-template-columns: repeat(3, 1fr); } }
.yic-hub-cats__grid { align-items: stretch; }
.yic-hub-cat {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--yic-surface-container-lowest, #fff);
	border: 1px solid var(--yic-ui-card-border, var(--yic-surface-container-low, #f4f3f3));
	border-radius: var(--yic-ui-card-radius, var(--yic-card-radius, 24px));
	padding: 24px;
	text-decoration: none;
	color: inherit;
	transition: transform .3s cubic-bezier(.4, 0, .2, 1), box-shadow .3s, border-color .3s, border-top-color .3s;
}
.yic-hub-cat:hover {
	transform: translateY(-4px);
	border-color: var(--yic-primary-container, #ea580c);
	box-shadow: var(--yic-ui-hub-hover-shadow, 0 0 0 2px var(--yic-primary-container, #ea580c), 0 12px 24px -8px rgba(194, 65, 12, .15));
}
.yic-hub-cat__ico { font-size: 40px; color: var(--yic-primary, #c2410c); margin-bottom: 16px; transition: transform .3s; flex-shrink: 0; }
.yic-hub-cat:hover .yic-hub-cat__ico { transform: scale(1.1); }
.yic-hub-cat__title { font-size: 22px; line-height: 1.3; font-weight: 600; color: var(--yic-primary, #c2410c); margin: 0 0 8px; flex-shrink: 0; }
.yic-hub-cat__desc { font-size: 16px; line-height: 1.6; color: var(--yic-secondary, #5c5e63); margin: 0; flex: 1 1 auto; }
.yic-hub-cat__more { display: inline-flex; align-items: center; gap: 4px; margin-top: 24px; font-weight: 600; letter-spacing: .03em; color: var(--yic-primary, #c2410c); flex-shrink: 0; }
.yic-hub-cat__more .material-symbols-outlined { font-size: 18px; transition: transform .2s; }
.yic-hub-cat:hover .yic-hub-cat__more .material-symbols-outlined { transform: translateX(4px); }
/* Card senza destinazione: non interattiva (nessun link segnaposto). */
.yic-hub-cat--disabled { cursor: default; }
.yic-hub-cat--disabled:hover { transform: none; box-shadow: none; border-color: var(--yic-ui-card-border, var(--yic-surface-container-low, #f4f3f3)); }
.yic-hub-cat--disabled:hover .yic-hub-cat__ico { transform: none; }

/* Servizi digitali (fondo scuro, full-bleed; contenuto in .yic-hub-wrap = rail sito) */
.yic-hub-digital {
	background: var(--yic-tertiary-container, #3a3a3a);
	padding: clamp(2.75rem, 5vw, 4rem) 0;
}
/* Hub in container builder full: a filo con l’hero, niente gap bianco. */
.yic-builder-content > .yic-builder-container:first-child:has(.yic-builder-hero) + .yic-builder-container--full:has(.yic-hub-digital) {
	margin-top: 0;
}
.yic-hub-digital__inner { display: flex; flex-direction: column; gap: 40px; }
.yic-hub-digital__title { font-size: clamp(26px, 3.5vw, 32px); font-weight: 700; color: #fff; margin: 0 0 16px; }
.yic-hub-digital__text { color: rgba(255, 255, 255, .78); margin: 0 0 24px; line-height: 1.6; }
.yic-hub-digital__grid { display: grid; grid-template-columns: 1fr; gap: 16px; flex: 1; }
.yic-hub-digital__card { display: flex; align-items: flex-start; gap: 16px; background: var(--yic-surface-container-lowest, #fff); padding: 24px; border-radius: var(--yic-ui-card-radius, 12px); text-decoration: none; color: inherit; transition: transform .2s ease, box-shadow .2s ease; }
.yic-hub-digital__card--link:hover { transform: translateY(-3px); box-shadow: 0 12px 28px -16px rgba(0,0,0,.35); }
.yic-hub-digital__ico { font-size: 30px; color: var(--yic-primary, #c2410c); flex: 0 0 auto; }
.yic-hub-digital__ct { font-size: 20px; font-weight: 600; color: var(--yic-primary, #c2410c); margin: 0 0 4px; }
.yic-hub-digital__cd { font-size: 13px; color: var(--yic-secondary, #5c5e63); margin: 0; line-height: 1.5; }
.yic-hub-digital__more { display: inline-flex; align-items: center; gap: 4px; margin-top: 10px; font-size: 13px; font-weight: 700; color: var(--yic-primary, #c2410c); }
.yic-hub-digital__more .material-symbols-outlined { font-size: 16px; transition: transform .15s ease; }
.yic-hub-digital__card--link:hover .yic-hub-digital__more .material-symbols-outlined { transform: translateX(3px); }
@media (min-width: 640px) {
	.yic-hub-digital__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
	.yic-hub-digital__inner { flex-direction: row; align-items: flex-start; }
	.yic-hub-digital__intro { width: 33.333%; flex: 0 0 33.333%; }
}

/* Omnicanalita — allineata a digispot / SD: titolo sx + card canali. */
.yic-hub-omni {
	--omni-brand: var(--yic-primary, #c2410c);
	--omni-ink: var(--yic-on-surface, #1c1416);
	--omni-muted: var(--yic-on-surface-variant, #584142);
	position: relative;
	isolation: isolate;
	padding: clamp(2.5rem, 5vw, 4rem) 0;
	background: var(--yic-surface-container-low, #f4f3f3);
	color: var(--omni-ink);
	overflow: clip;
}
.yic-hub-omni::before { content: none; }
.yic-hub-omni__inner {
	position: relative;
	z-index: 1;
	display: grid;
	gap: clamp(1.5rem, 3.5vw, 2.25rem);
	align-items: start;
}
.yic-hub-omni__head {
	max-width: 42rem;
	margin: 0;
	text-align: left;
	padding: 0;
	border: 0;
}
.yic-hub-omni__title,
.yic-hub-omni .yic-hub-h2 {
	margin: 0 0 1rem;
	font-family: var(--yic-font-headline, "Manrope", system-ui, sans-serif);
	font-size: clamp(1.45rem, 2.4vw, 1.9rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.15;
	color: var(--omni-brand);
}
.yic-hub-omni__title::after,
.yic-hub-omni .yic-hub-h2::after {
	content: "";
	display: block;
	width: 2.5rem;
	height: 3px;
	margin-top: .75rem;
	background: var(--omni-brand);
	border-radius: 2px;
}
.yic-hub-omni__text {
	margin: 0;
	max-width: 40rem;
	font-size: clamp(0.98rem, 0.92rem + 0.25vw, 1.05rem);
	line-height: 1.65;
	color: var(--omni-muted);
	font-weight: 400;
}
.yic-hub-omni__nav { min-width: 0; }
.yic-hub-omni__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .85rem;
	background: transparent;
	border: 0;
}
.yic-hub-omni__cell {
	margin: 0;
	background: transparent;
	min-width: 0;
}
.yic-hub-omni__item {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: .85rem;
	min-height: 100%;
	padding: 1.15rem 1.1rem 1.2rem;
	text-decoration: none;
	text-align: left;
	color: var(--omni-ink);
	background: var(--yic-surface-container-lowest, #fff);
	border: 1px solid var(--yic-ui-card-border, var(--yic-surface-container-low, #f4f3f3));
	border-radius: 20px;
	box-shadow: 0 10px 28px -22px rgba(28, 20, 22, .28);
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
a.yic-hub-omni__item { cursor: pointer; }
.yic-hub-omni__item::before { content: none; }
.yic-hub-omni__ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	flex: 0 0 auto;
	color: var(--omni-brand);
	border-radius: 999px;
	background: color-mix(in srgb, var(--omni-brand) 10%, #fff);
	border: 0;
	box-shadow: none;
	transition: background .22s ease, color .22s ease;
}
.yic-hub-omni__ico .material-symbols-outlined {
	font-size: 1.35rem;
	line-height: 1;
	font-variation-settings: "FILL" 0, "wght" 500, "GRAD" 0, "opsz" 24;
}
.yic-hub-omni__label {
	font-family: var(--yic-font-label, "Work Sans", sans-serif);
	font-size: .82rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--omni-ink);
	padding: 0;
	max-width: 100%;
}
.yic-hub-omni__go {
	position: absolute;
	top: 1rem;
	right: 1rem;
	font-size: 1.1rem !important;
	color: var(--omni-brand);
	opacity: 0;
	transform: translateX(-4px);
	transition: opacity .2s ease, transform .2s ease;
	pointer-events: none;
}
.yic-hub-omni__item--link:hover,
.yic-hub-omni__item--link:focus-visible {
	outline: none;
	border-color: color-mix(in srgb, var(--omni-brand) 28%, var(--yic-ui-card-border, #f4f3f3));
	box-shadow: 0 14px 32px -20px rgba(194, 65, 12, .28);
	transform: translateY(-2px);
}
.yic-hub-omni__item--link:hover .yic-hub-omni__ico,
.yic-hub-omni__item--link:focus-visible .yic-hub-omni__ico {
	background: color-mix(in srgb, var(--omni-brand) 16%, #fff);
}
.yic-hub-omni__item--link:hover .yic-hub-omni__go,
.yic-hub-omni__item--link:focus-visible .yic-hub-omni__go {
	opacity: 1;
	transform: translateX(0);
}
.yic-hub-omni__item:focus-visible {
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--omni-brand) 45%, transparent);
}
@media (min-width: 640px) {
	.yic-hub-omni__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 1rem;
	}
}
@media (min-width: 960px) {
	.yic-hub-omni__inner { gap: 1.75rem; }
	.yic-hub-omni__list {
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: 1.15rem;
		max-width: none;
		margin-inline: 0;
	}
	.yic-hub-omni__item {
		padding: 1.25rem 1.2rem 1.35rem;
		border-radius: var(--yic-ui-card-radius, 24px);
	}
	.yic-hub-omni__ico {
		width: 3rem;
		height: 3rem;
	}
	.yic-hub-omni__ico .material-symbols-outlined { font-size: 1.45rem; }
}
@media (prefers-reduced-motion: reduce) {
	.yic-hub-omni__item,
	.yic-hub-omni__ico,
	.yic-hub-omni__go { transition: none; }
	.yic-hub-omni__item--link:hover,
	.yic-hub-omni__item--link:focus-visible { transform: none; }
}

/* --------------------------------------------------------------------------
 * Zona blocchi (page.php / hub): ospita sezioni istituzionali full-width con
 * wrap interno (servizi digitali, omnicanalita', ...). I container/colonne del
 * builder aggiungerebbero boxing + gutter laterale, lasciando spazi bianchi ai
 * lati: qui li azzeriamo cosi' le sezioni arrivano ai bordi come da design.
 *
 * NB: il reset vale SOLO per i container a piena larghezza (--full). I container
 * "boxed" (es. il Messaggio pubblicitario) devono invece restare confinati alla
 * larghezza-sito con il padding laterale del tema, quindi NON vengono azzerati.
 * -------------------------------------------------------------------------- */
/* Full-bleed solo per container "full" puro (colonne dirette, senza rail).
 * full-boxed condivide la classe --full ma ha .yic-container interno: il rail
 * sito deve restare (altrimenti digispot/associazioni diventano edge-to-edge). */
.yic-page-blocks,
.yic-page-blocks .yic-builder-content,
.yic-page-blocks .yic-builder-container--full { max-width: none; margin-left: 0; margin-right: 0; }
.yic-page-blocks .yic-builder-container--full:not(:has(> .yic-container)) > .yic-builder-cols {
	margin-left: 0;
	margin-right: 0;
}
.yic-page-blocks .yic-builder-container--full:not(:has(> .yic-container)) > .yic-builder-cols > .yic-builder-col {
	padding-left: 0;
	padding-right: 0;
}
/* Evita scroll orizzontale; NON togliere max-width a .yic-container (boxed/full-boxed). */
.yic-page-blocks {
	width: 100%;
	max-width: 100%;
	overflow-x: clip;
	box-sizing: border-box;
}
.yic-page-blocks .yic-builder-container--boxed,
.yic-page-blocks .yic-builder-container--full:has(> .yic-container) {
	box-sizing: border-box;
}
.yic-page-blocks .yic-builder-container--full > .yic-container {
	max-width: var(--yic-container-max, 1280px);
	margin-inline: auto;
	padding-inline: var(--yic-gutter, 24px);
	box-sizing: border-box;
}
/*
 * CTA marketing (es. Glossario su Privati/Business): il blocco globale è `full`
 * (per non doppiare il rail in Home). In .yic-page-blocks non c'è il wrapper
 * full-boxed → senza questo fix la banda va a tutto schermo.
 */
.yic-page-blocks .yic-builder-container--full:has(.yic-cta-banner):not(:has(> .yic-container)) {
	background: var(--yic-surface-container-low, #f4f3f3);
	padding-block: clamp(2rem, 3.5vw, 3.25rem);
	box-sizing: border-box;
}
.yic-page-blocks .yic-builder-container--full:has(.yic-cta-banner):not(:has(> .yic-container)) > .yic-builder-cols {
	max-width: var(--yic-container-max, 1280px);
	margin-inline: auto;
	padding-inline: var(--yic-gutter, 24px);
	box-sizing: border-box;
}
.yic-page-blocks .yic-builder-container--full:has(.yic-cta-banner):not(:has(> .yic-container)) > .yic-builder-cols > .yic-builder-col {
	padding-inline: 0;
}
.yic-page-blocks .yic-builder-el,
.yic-page-blocks .yic-disclaimer,
.yic-page-blocks p {
	max-width: 100%;
	overflow-wrap: anywhere;
	word-wrap: break-word;
}
@media (max-width: 640px) {
	.yic-disclaimer {
		padding: 0.85rem 0;
		font-size: 0.8rem;
		line-height: 1.55;
	}
}

/* --------------------------------------------------------------------------
 * Archivio TIPOLOGIA (/{area}/{tipologia}/): hero (eyebrow + titolo + immagine
 * in evidenza) + elenco prodotti (griglia card o righe alternate dal builder).
 * Layout fedele ai mockup "bpc_area_privati_*" / scheda Conto.
 * -------------------------------------------------------------------------- */
/* .yic-tipo-crumbs: posizione unificata sopra (con Hub/Prodotti). */

.yic-tipo-hero { background: var(--yic-surface-container-lowest, #fff); padding: clamp(2.5rem, 6vw, 4rem) 0; }
/* Stessi spazi della scheda Conto (.yic-conti-hero). */
.yic-tipo-hero--has-media {
	padding: clamp(24px, 4vw, 40px) 0 clamp(48px, 8vw, 96px);
}
.yic-tipo-hero--has-media .yic-hub-wrap {
	padding-left: clamp(16px, 4vw, 32px);
	padding-right: clamp(16px, 4vw, 32px);
}

.yic-tipo-hero__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem, 4vw, 3rem); align-items: center; }
.yic-tipo-hero--has-media .yic-tipo-hero__grid {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(28px, 5vw, 48px);
}
.yic-tipo-hero__grid--single { grid-template-columns: 1fr; max-width: 44rem; }
.yic-tipo-hero__eyebrow { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; margin-bottom: 1.1rem; font-size: .8rem; font-weight: 600; text-transform: uppercase; letter-spacing: .07em; color: var(--yic-on-surface-variant, #584142); }
.yic-tipo-hero__eyebrow a { color: inherit; text-decoration: none; }
.yic-tipo-hero__eyebrow a:hover { color: var(--yic-primary, #c2410c); }
.yic-tipo-hero__eyebrow .material-symbols-outlined { font-size: 16px; color: var(--yic-on-surface-variant, #584142); opacity: 1; }
.yic-tipo-hero__current { color: var(--yic-primary-container, #ea580c); font-weight: 700; }
.yic-tipo-hero__title {
	margin: 0 0 1.1rem;
	font-size: clamp(2rem, 4.6vw, 3rem);
	line-height: 1.1;
	letter-spacing: -.01em;
	color: var(--yic-on-surface, #1a1c1c);
	/* Mai spezzare le parole con trattino (es. versa-mento). */
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
	-webkit-hyphens: none;
}
.yic-tipo-hero__lead { margin: 0; max-width: 34rem; font-size: 1.1rem; line-height: 1.6; color: var(--yic-on-surface-variant, #584142); }
/* .yic-tipo-hero__media / __frame: regole unificate sopra (con Hub/Prodotti). */
@media (max-width: 767px) {
	/* Stessa specificità di .yic-tipo-hero--has-media .yic-tipo-hero__grid (2 col desktop). */
	.yic-tipo-hero__grid,
	.yic-tipo-hero--has-media .yic-tipo-hero__grid {
		grid-template-columns: 1fr;
		gap: 1.35rem;
	}
	.yic-tipo-hero__text {
		min-width: 0;
	}
	.yic-tipo-hero__media {
		order: 2;
		max-width: 100%;
	}
}

@media (max-width: 640px) {
	.yic-tipo-hero__eyebrow {
		margin-bottom: 1.25rem;
		font-size: 0.7rem;
		font-weight: 500;
		letter-spacing: 0.04em;
		gap: 0.25rem 0.35rem;
		line-height: 1.35;
	}

	.yic-tipo-hero__eyebrow .material-symbols-outlined {
		font-size: 14px;
	}

	.yic-tipo-hero__title {
		font-size: clamp(1.65rem, 7vw, 2.25rem);
	}
}

/*
 * Tipologia con immagine (/privati/conti/): stesso sizing fullscreen dell'hub /privati/.
 */
.yic-tipo-archive--fullscreen > .yic-tipo-hero--has-media {
	--yic-hub-panel-h: calc(100dvh - var(--yic-hub-header-h, var(--yic-header-height, 76px)));
	box-sizing: border-box;
	position: relative;
	z-index: 0;
	width: 100%;
	height: var(--yic-hub-panel-h);
	min-height: var(--yic-hub-panel-h);
	max-height: var(--yic-hub-panel-h);
	margin-top: 0;
	padding: clamp(20px, 3vw, 36px) 0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.admin-bar .yic-tipo-archive--fullscreen > .yic-tipo-hero--has-media {
	--yic-hub-panel-h: calc(100dvh - var(--yic-hub-header-h, var(--yic-header-height, 76px)) - var(--yic-admin-bar-h, var(--wp-admin--admin-bar--height, 32px)));
}
.yic-tipo-archive--fullscreen > .yic-tipo-hero--has-media .yic-hub-wrap {
	width: 100%;
	flex: 0 1 auto;
	margin-block: auto;
	min-height: 0;
}
.yic-tipo-archive--fullscreen > .yic-tipo-hero--has-media .yic-tipo-hero__body {
	min-height: 0;
}
.yic-tipo-archive--fullscreen > .yic-tipo-hero--has-media .yic-tipo-hero__grid {
	width: 100%;
}
@media (max-width: 767px) {
	/* Su mobile niente viewport-lock: testo + media devono impilarsi senza overlap. */
	.yic-tipo-archive--fullscreen > .yic-tipo-hero--has-media {
		--yic-hub-panel-h: auto;
		height: auto;
		min-height: 0;
		max-height: none;
		overflow: visible;
		justify-content: flex-start;
		padding: clamp(20px, 4vw, 32px) 0 clamp(36px, 6vw, 48px);
	}
	.admin-bar .yic-tipo-archive--fullscreen > .yic-tipo-hero--has-media {
		--yic-hub-panel-h: auto;
	}
}
/*
 * Scroll-snap solo desktop (≥768px). Su mobile: scroll naturale, niente pannelli bloccati.
 * Stesso trattamento di prefers-reduced-motion.
 */
@media (max-width: 767px) {
	html:has(.yic-hub--fullscreen),
	html:has(.yic-tipo-archive--fullscreen),
	html:has(.yic-prod--fullscreen) {
		scroll-snap-type: none;
		height: auto;
		overflow-y: auto;
	}
	.yic-hub--fullscreen > .yic-hub-hero,
	.yic-hub--fullscreen > .yic-hub-cats,
	.yic-tipo-archive--fullscreen > .yic-tipo-hero--has-media,
	.yic-tipo-archive--fullscreen > .yic-tipo-list,
	.yic-prod--fullscreen > .yic-prod-snap-hero,
	.yic-prod--fullscreen > .yic-prod-snap-next {
		scroll-snap-align: none;
		scroll-snap-stop: normal;
	}
	.yic-hub--fullscreen > .yic-hub-hero,
	.yic-prod--fullscreen > .yic-prod-snap-hero {
		--yic-hub-panel-h: auto;
		height: auto;
		min-height: 0;
		max-height: none;
		overflow: visible;
		justify-content: flex-start;
		padding: clamp(20px, 4vw, 32px) 0 clamp(36px, 6vw, 48px);
	}
	.admin-bar .yic-hub--fullscreen > .yic-hub-hero,
	.admin-bar .yic-prod--fullscreen > .yic-prod-snap-hero {
		--yic-hub-panel-h: auto;
	}
	.yic-hub--fullscreen > .yic-hub-cats,
	.yic-tipo-archive--fullscreen > .yic-tipo-list,
	.yic-prod--fullscreen > .yic-prod-snap-next {
		min-height: 0;
	}
}
@media (prefers-reduced-motion: reduce) {
	html:has(.yic-hub--fullscreen),
	html:has(.yic-tipo-archive--fullscreen),
	html:has(.yic-prod--fullscreen) {
		scroll-snap-type: none;
	}
	.yic-hub--fullscreen > .yic-hub-hero,
	.yic-tipo-archive--fullscreen > .yic-tipo-hero--has-media,
	.yic-prod--fullscreen > .yic-prod-snap-hero {
		height: auto;
		min-height: 0;
		max-height: none;
		padding: clamp(24px, 4vw, 40px) 0;
		scroll-snap-align: none;
	}
	.yic-prod--fullscreen > .yic-prod-snap-next {
		min-height: 0;
		scroll-snap-align: none;
	}
}

.yic-tipo-list { padding: clamp(3rem, 7vw, 6rem) 0; background: var(--yic-surface-container-low, #f4f3f3); }
.yic-tipo-empty { text-align: center; color: var(--yic-on-surface-variant, #584142); padding: 2rem 0; }
.yic-tipo-list__head { text-align: center; margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.yic-tipo-list__title { margin: 0 0 1rem; font-size: clamp(1.7rem, 4vw, 2.6rem); line-height: 1.15; letter-spacing: -.01em; color: var(--yic-on-surface, #1a1c1c); }
.yic-tipo-list__rule { display: inline-block; width: 5rem; height: 4px; border-radius: 999px; background: var(--yic-primary-container, #ea580c); }

/* Archivio tipologia generico: gruppi per area (Privati, Business, ...). */
.yic-tipo-areagroup { margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.yic-tipo-areagroup:last-child { margin-bottom: 0; }
.yic-tipo-areagroup__head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.4rem; padding-bottom: .7rem; border-bottom: 2px solid var(--yic-outline-variant, #e7dcdc); }
.yic-tipo-areagroup__title { margin: 0; font-size: clamp(1.4rem, 3vw, 1.9rem); line-height: 1.15; color: var(--yic-primary-container, #ea580c); }
.yic-tipo-areagroup__link { display: inline-flex; align-items: center; gap: .3rem; font-size: .9rem; font-weight: 600; text-decoration: none; color: var(--yic-primary, #c2410c); white-space: nowrap; }
.yic-tipo-areagroup__link:hover { text-decoration: underline; }
.yic-tipo-areagroup__link .material-symbols-outlined { font-size: 18px; }

/* =============================================================
 * Riduzione movimento — azzera gli spostamenti/zoom DECORATIVI al hover/focus
 * (card, prodotti, hub, icone e frecce). Si attiva sia con la preferenza di
 * sistema "riduci movimento", sia con il widget di accessibilità
 * ("Ferma animazioni" / profilo Epilessia → classe html.yicacc-stopmotion).
 * NON tocca i transform di posizionamento (tooltip, centrature, chevron
 * accordion, animazioni di reveal): quelli restano invariati.
 * ============================================================= */
@media (prefers-reduced-motion: reduce) {
	.yic-btn--link:hover .yic-btn__arrow,
	.yic-btn--link:focus-visible .yic-btn__arrow,
	.yic-card--hover:hover,
	.yic-card--hover:hover .yic-card__media img,
	.yic-timeline__card:hover,
	.yic-prod-card:hover,
	.yic-hub-cat:hover,
	.yic-hub-cat:hover .yic-hub-cat__ico,
	.yic-hub-cat:hover .yic-hub-cat__more .material-symbols-outlined {
		transform: none !important;
	}
}
html.yicacc-stopmotion .yic-btn--link:hover .yic-btn__arrow,
html.yicacc-stopmotion .yic-btn--link:focus-visible .yic-btn__arrow,
html.yicacc-stopmotion .yic-card--hover:hover,
html.yicacc-stopmotion .yic-card--hover:hover .yic-card__media img,
html.yicacc-stopmotion .yic-timeline__card:hover,
html.yicacc-stopmotion .yic-prod-card:hover,
html.yicacc-stopmotion .yic-hub-cat:hover,
html.yicacc-stopmotion .yic-hub-cat:hover .yic-hub-cat__ico,
html.yicacc-stopmotion .yic-hub-cat:hover .yic-hub-cat__more .material-symbols-outlined {
	transform: none !important;
}

/* Badge orari "Aperto/Chiuso ora": lo stato (aperto/chiuso, prossima apertura)
   e' calcolato lato client (fuso Europe/Rome) per non dipendere dalla cache
   della pagina. Per evitare il "flash"/salto quando compare:
   1) .yic-orari-slot riserva l'altezza di una riga → niente spostamento (CLS 0);
   2) il badge resta invisibile (ma con lo spazio gia' occupato) finche' il JS
      non lo risolve e aggiunge [data-ready] → l'utente non vede mai lo stato
      "vuoto"; la comparsa e' un fade morbido, non un pop.
   Vedi doc: docs/orari-badge.md */
.yic-orari-slot {
	min-height: 1.5rem;
}
.yic-orari-status {
	opacity: 0;
	transition: opacity 0.14s ease;
}
.yic-orari-status:not([data-ready]) {
	visibility: hidden;
}
.yic-orari-status[data-ready] {
	opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
	.yic-orari-status {
		transition: none;
	}
}

/* ==========================================================================
   Archivio Filiali (/filiali/): barra ricerca + pulsante Mappa.
   Stili nativi (non Tailwind) cosi' restano validi su desktop e mobile.
   ========================================================================== */
/* Barra filtri sticky: si aggancia SOTTO l'header (non a top:0, dove
   l'header sticky la coprirebbe). L'offset segue l'altezza dell'header e,
   per gli utenti loggati, anche la admin bar di WordPress. */
.yic-fil-sticky {
	position: sticky;
	top: 0;
	z-index: 40;
}
body:has(.yic-header--sticky) .yic-fil-sticky {
	top: var(--yic-header-height, 76px);
}
body.admin-bar:has(.yic-header--sticky) .yic-fil-sticky {
	top: calc(var(--yic-header-height, 76px) + var(--wp-admin--admin-bar--height, 32px));
}
@media (max-width: 600px) {
	/* Sotto i 601px la admin bar WP non e' fissa: niente offset extra. */
	body.admin-bar:has(.yic-header--sticky) .yic-fil-sticky {
		top: var(--yic-header-height, 76px);
	}
}
/* Mobile: quando la barra e' agganciata, nascondi i chip provincia per
   liberare spazio verticale (restano ricerca + Mappa). */
@media (max-width: 640px) {
	.yic-fil-sticky.is-stuck #yic-fil-filters {
		display: none;
	}
}
.yic-fil-actions {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 12px;
	width: 100%;
}
@media (min-width: 1024px) {
	.yic-fil-actions {
		width: auto;
	}
}
.yic-fil-searchbox {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
}
@media (min-width: 1024px) {
	.yic-fil-searchbox {
		flex: 0 0 auto;
		width: 24rem;
	}
}
.yic-fil-map-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	flex: 0 0 auto;
	/* Usa i token dei pulsanti del Pannello Tema (radius, padding, bordo, colori). */
	padding: var(--yic-btn-py, 12px) var(--yic-btn-px, 20px);
	border-radius: var(--yic-btn-radius, 0);
	border: var(--yic-btn-border, 0) solid var(--yic-btn-bg, var(--yic-primary-container, #ea580c));
	background: var(--yic-btn-bg, var(--yic-primary-container, #ea580c));
	color: var(--yic-btn-fg, var(--yic-on-primary, #fff));
	font-family: var(--yic-font-label, inherit);
	font-size: var(--yic-text-label-md, 0.75rem);
	font-weight: 600;
	text-transform: var(--yic-btn-transform, uppercase);
	letter-spacing: 0.04em;
	text-decoration: none;
	white-space: nowrap;
	transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}
.yic-fil-map-btn:hover,
.yic-fil-map-btn:focus-visible {
	background: var(--yic-btn-bg-hover, var(--yic-primary, #c2410c));
	color: var(--yic-btn-fg-hover, var(--yic-on-primary, #fff));
	border-color: var(--yic-btn-bg-hover, var(--yic-primary, #c2410c));
	outline: none;
}
.yic-fil-map-btn .material-symbols-outlined {
	font-size: 20px;
	line-height: 1;
}
/* Mobile: pulsante solo icona (testo nascosto ma leggibile da screen reader). */
@media (max-width: 640px) {
	.yic-fil-map-btn {
		padding: var(--yic-btn-py, 12px);
	}
	.yic-fil-map-btn__txt {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}
}

/* Archivio Filiali: titoli/testi fluidi su mobile (tw-elenco usa 3rem fissi). */
@media (max-width: 640px) {
	.post-type-archive-bpc_filiale .text-headline-xl {
		font-size: clamp(1.75rem, 7.5vw, 2.25rem);
		line-height: 1.15;
	}
	.post-type-archive-bpc_filiale .text-headline-lg {
		font-size: clamp(1.35rem, 5.5vw, 1.75rem);
		line-height: 1.2;
	}
	.post-type-archive-bpc_filiale .text-body-lg {
		font-size: 1rem;
		line-height: 1.55;
	}
	.post-type-archive-bpc_filiale .pt-xl {
		padding-top: 1.75rem;
	}
	.post-type-archive-bpc_filiale .pb-lg {
		padding-bottom: 1.25rem;
	}
	.post-type-archive-bpc_filiale .py-xl {
		padding-top: 1.75rem;
		padding-bottom: 1.75rem;
	}
	.post-type-archive-bpc_filiale .mb-xl {
		margin-bottom: 1.75rem;
	}
	.post-type-archive-bpc_filiale .px-6,
	.post-type-archive-bpc_atm .px-6 {
		padding-left: var(--yic-gutter, 16px);
		padding-right: var(--yic-gutter, 16px);
	}
	/* Sidebar mappa Filiali/ATM: titolo compatto, padding allineato al gutter. */
	.post-type-archive-bpc_filiale .yic-map-layout > aside > .p-6,
	.post-type-archive-bpc_atm .yic-map-layout > aside > .p-6,
	.yic-filiali-mappa .yic-map-layout > aside > .p-6 {
		padding: 1rem var(--yic-gutter, 16px);
	}
	.post-type-archive-bpc_filiale .yic-map-layout h1.text-2xl,
	.post-type-archive-bpc_atm .yic-map-layout h1.text-2xl,
	.yic-filiali-mappa .yic-map-layout h1.text-2xl {
		font-size: clamp(1.25rem, 5.5vw, 1.5rem);
		line-height: 1.2;
	}
}

/* =========================================================================
   Blocco "Assistenza / Card aiuto" (elemento builder help_cards)
   Superficie chiara → footer grigio: brand solo in accenti (chip, titoli, CTA).
   ========================================================================= */
.yic-help {
	--help-brand: var(--yic-primary, #c2410c);
	--help-brand-soft: var(--yic-primary-container, #ea580c);
	--help-ink: var(--yic-on-surface, #1c1416);
	--help-muted: color-mix(in srgb, var(--help-ink) 62%, transparent);
	--help-line: color-mix(in srgb, var(--help-brand) 14%, #d8d6d7);
	margin: 0;
	padding: clamp(40px, 5.2vw, 68px) 0 clamp(44px, 5.5vw, 72px);
	color: var(--help-ink);
	background: var(--yic-surface-container-low, #f4f3f3);
}
.yic-help__inner {
	display: grid;
	gap: clamp(26px, 3.6vw, 40px);
}
.yic-help__head {
	max-width: 42rem;
	margin: 0 auto;
	text-align: center;
}
.yic-help__title {
	margin: 0 0 0.75rem;
	font-family: var(--yic-font-headline, "Manrope", system-ui, sans-serif);
	font-size: clamp(1.5rem, 1.18rem + 1.1vw, 2rem);
	font-weight: 700;
	letter-spacing: -0.028em;
	line-height: 1.15;
	color: var(--help-brand);
}
.yic-help__text {
	margin: 0 auto;
	max-width: 38rem;
	font-size: clamp(0.98rem, 0.93rem + 0.22vw, 1.06rem);
	line-height: 1.65;
	color: var(--help-muted);
}
.yic-help__grid {
	display: grid;
	gap: clamp(14px, 1.8vw, 22px);
	grid-template-columns: 1fr;
	width: 100%;
}
@media (min-width: 720px) {
	.yic-help__grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.yic-help__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.yic-help__grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
	.yic-help__grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.yic-help__card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.7rem;
	height: 100%;
	padding: var(--yic-ui-card-pad, 24px);
	background: var(--yic-surface-container-lowest, #fff);
	border: 1px solid color-mix(in srgb, #1c1416 10%, #e8e6e7);
	border-radius: var(--yic-ui-card-radius, var(--yic-card-radius, 24px));
	box-shadow: none;
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.yic-help__card:hover {
	border-color: color-mix(in srgb, var(--help-brand) 22%, #e0dede);
	box-shadow: 0 8px 22px -14px color-mix(in srgb, var(--help-brand) 22%, transparent);
	transform: translateY(-2px);
}
.yic-help__ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	flex: 0 0 auto;
	border-radius: calc(var(--yic-ui-card-radius, 24px) * 0.35);
	background: color-mix(in srgb, var(--help-brand-soft) 11%, #fff);
	color: var(--help-brand);
}
.yic-help__ico .material-symbols-outlined {
	font-size: 1.55rem;
	line-height: 1;
	font-variation-settings: "FILL" 0, "wght" 500, "GRAD" 0, "opsz" 24;
}
.yic-help__card-title {
	margin: 0.15rem 0 0;
	font-family: var(--yic-font-headline, "Manrope", sans-serif);
	font-size: 1.12rem;
	font-weight: 700;
	letter-spacing: -0.015em;
	color: var(--help-ink);
}
.yic-help__card-text {
	margin: 0;
	font-size: 0.94rem;
	line-height: 1.6;
	color: var(--help-muted);
}
.yic-help__ctas {
	margin-top: auto;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.1rem;
	padding-top: 0.55rem;
	width: 100%;
}
.yic-help__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	min-height: 2.6rem;
	max-width: 100%;
	padding: 0.3rem 0;
	font-family: var(--yic-font-label, "Work Sans", sans-serif);
	font-weight: 700;
	font-size: 0.85rem;
	line-height: 1.35;
	text-decoration: none;
	color: var(--help-brand);
	overflow-wrap: anywhere;
	transition: gap .2s ease, color .2s ease;
}
.yic-help__cta .material-symbols-outlined {
	font-size: 1.1rem;
	flex: 0 0 auto;
}
.yic-help__cta:hover {
	gap: 0.55rem;
	color: var(--help-brand-soft);
}
.yic-help__cta--secondary {
	font-weight: 600;
	color: color-mix(in srgb, var(--help-brand) 88%, #1c1416);
}
@media (prefers-reduced-motion: reduce) {
	.yic-help__card { transition: none; }
	.yic-help__card:hover { transform: none; }
}

/* =========================================================================
   Directory "Assistenza per servizio" — numeri sempre visibili
   ========================================================================= */
.yic-svcdir { margin: 0; }
.yic-svcdir__head {
	max-width: 48rem;
	margin: 0 auto 1.5rem;
	text-align: center;
}
.yic-svcdir__heading {
	margin: 0 0 0.5rem;
	font-family: var(--yic-font-headline, inherit);
	font-size: clamp(1.4rem, 1.15rem + 1vw, 1.85rem);
	font-weight: 700;
	color: var(--yic-primary, #c2410c);
}
.yic-svcdir__intro {
	margin: 0;
	font-size: 0.98rem;
	line-height: 1.55;
	color: var(--yic-on-surface-variant, #584142);
}
.yic-svcdir__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}
.yic-svcdir--cols-2 .yic-svcdir__grid,
.yic-svcdir--cols-3 .yic-svcdir__grid {
	gap: 1.15rem;
}
@media (min-width: 720px) {
	.yic-svcdir--cols-2 .yic-svcdir__grid,
	.yic-svcdir--cols-3 .yic-svcdir__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
	.yic-svcdir--cols-3 .yic-svcdir__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.yic-svcdir__card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.45rem;
	height: 100%;
	padding: 1.35rem 1.4rem 1.25rem;
	background: #fff;
	border: 1px solid color-mix(in srgb, var(--yic-primary, #c2410c) 12%, #e8e0e1);
	border-radius: 1.1rem;
	box-shadow: 0 1px 2px rgba(28, 20, 22, .03);
}
.yic-svcdir__ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.65rem;
	height: 2.65rem;
	border-radius: 0.8rem;
	background: color-mix(in srgb, var(--yic-primary, #c2410c) 9%, #fff);
	color: var(--yic-primary, #c2410c);
	margin-bottom: 0.2rem;
}
.yic-svcdir__ico .material-symbols-outlined {
	font-size: 1.45rem;
	line-height: 1;
	font-variation-settings: "FILL" 0, "wght" 500, "GRAD" 0, "opsz" 24;
}
.yic-svcdir__title {
	margin: 0;
	font-family: var(--yic-font-headline, inherit);
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: -0.015em;
	line-height: 1.3;
	color: var(--yic-on-surface, #1c1416);
}
.yic-svcdir__note {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.5;
	color: var(--yic-on-surface-variant, #584142);
}
.yic-svcdir__nums {
	list-style: none;
	margin: 0.55rem 0 0;
	padding: 0;
	width: 100%;
	display: grid;
	gap: 0.55rem;
}
.yic-svcdir__nums li {
	display: grid;
	gap: 0.1rem;
}
.yic-svcdir__label {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: color-mix(in srgb, var(--yic-on-surface-variant, #584142) 85%, transparent);
}
.yic-svcdir__tel {
	font-family: var(--yic-font-headline, inherit);
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.25;
	color: var(--yic-primary, #c2410c);
	text-decoration: none;
	overflow-wrap: anywhere;
}
a.yic-svcdir__tel {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	padding: 0.25rem 0;
	max-width: 100%;
}
a.yic-svcdir__tel:hover { text-decoration: underline; }
.yic-svcdir__hint {
	font-size: 0.78rem;
	color: var(--yic-on-surface-variant, #584142);
}
.yic-svcdir__meta {
	margin: auto 0 0;
	padding-top: 0.85rem;
	font-size: 0.82rem;
	line-height: 1.45;
	color: var(--yic-on-surface-variant, #584142);
	overflow-wrap: anywhere;
}
.yic-svcdir__meta a {
	font-weight: 700;
	color: var(--yic-primary, #c2410c);
	text-decoration: none;
}
.yic-svcdir__meta a:hover { text-decoration: underline; }
.yic-svcdir__dot { opacity: 0.55; }

/* Mobile: iconbox laterali e hero builder (pagine Assistenza / Sicurezza / Blocco carte) */
@media (max-width: 640px) {
	.yic-builder-iconbox--left .yic-card__body {
		flex-direction: column;
		gap: 0.85rem;
	}
	.yic-alert {
		padding: 1rem;
		gap: 0.75rem;
	}
	.yic-svcdir__card {
		padding: 1.15rem 1.15rem 1.1rem;
	}
	.yic-builder-hero--has-bg {
		min-height: clamp(300px, 56vh, 480px);
		padding-block: clamp(1.75rem, 4vw, 2.75rem);
		padding-inline: clamp(1rem, 4vw, 1.5rem);
	}
	.yic-builder-hero--has-bg:not(:has(.yic-builder-hero__panel)) {
		padding-inline: 0;
	}
	.yic-builder-hero__panel {
		display: block;
		width: 100%;
		max-width: 100% !important;
		box-sizing: border-box;
	}
	.yic-builder-hero__panel .yic-builder-hero__actions {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		gap: 0.65rem;
	}
	.yic-builder-hero__panel .yic-builder-hero__actions .yic-btn {
		flex: 1 1 12rem;
		text-align: center;
		justify-content: center;
	}
}

/* CTA banner — stretto / mobile: niente buco tra testo e bottone */
@media (max-width: 900px) {
	.yic-cta-banner:not(.yic-cta-banner--photo) {
		padding: 1.5rem 1.25rem 1.4rem;
		gap: 1.1rem;
		flex-direction: column;
		align-items: stretch;
		align-content: flex-start;
		justify-content: flex-start;
		min-height: 0;
		border-radius: calc(var(--yic-ui-card-radius, 24px) * 0.7);
	}
	.yic-cta-banner--visual:not(.yic-cta-banner--photo) {
		min-height: 0;
	}
	.yic-cta-banner__main {
		flex: 0 1 auto; /* non allungare: evita buco sopra al bottone */
		flex-direction: row;
		align-items: flex-start;
		gap: 0.9rem;
		width: 100%;
	}
	.yic-cta-banner__illu {
		width: 4.75rem;
	}
	.yic-cta-banner__ico .material-symbols-outlined {
		font-size: 2.25rem;
	}
	.yic-cta-banner__title {
		font-size: 1.35rem;
		margin-bottom: 0.4rem;
	}
	.yic-cta-banner__text {
		font-size: 0.95rem;
		line-height: 1.5;
		max-width: none;
	}
	.yic-cta-banner > .yic-btn {
		width: 100%;
		margin-left: 0;
		justify-content: center;
		margin-top: 0;
	}
}
@media (max-width: 480px) {
	.yic-cta-banner__main {
		flex-direction: column;
		gap: 0.75rem;
	}
}

/* =============================================================
 * Audience products — switch Privati/Business + griglia (home)
 * ============================================================= */
.yic-audprod {
	/* Rosso istituzionale primary (non il btn-bg / primary-container). */
	--audprod-brand: var(--yic-primary, #c2410c);
	display: grid;
	gap: 1.5rem;
}
.yic-audprod__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.85rem 1.25rem;
}
.yic-audprod__tabs {
	display: inline-flex;
	padding: 0.25rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--audprod-brand) 8%, #fff);
	border: 1px solid color-mix(in srgb, var(--audprod-brand) 14%, transparent);
	gap: 0.15rem;
}
.yic-audprod__tab {
	appearance: none;
	border: 0;
	background: transparent;
	color: var(--yic-on-surface, #1a1c1c);
	font: inherit;
	font-weight: 700;
	font-size: 0.95rem;
	padding: 0.65rem 1.35rem;
	border-radius: 999px;
	cursor: pointer;
	line-height: 1.2;
	transition: background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}
.yic-audprod__tab:hover {
	color: var(--audprod-brand);
}
.yic-audprod__tab.is-active {
	background: var(--audprod-brand);
	color: var(--yic-btn-fg, var(--yic-on-primary, #fff));
	box-shadow: 0 6px 16px color-mix(in srgb, var(--audprod-brand) 28%, transparent);
}
.yic-audprod__tab:focus-visible {
	outline: 3px solid var(--yic-primary-fixed, #ffedd5);
	outline-offset: 2px;
}
.yic-audprod__soci {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	font-weight: 700;
	font-size: 0.95rem;
	color: var(--audprod-brand);
	text-decoration: none;
}
.yic-audprod__soci:hover { text-decoration: underline; }
.yic-audprod__soci .material-symbols-outlined { font-size: 1.1rem; }
.yic-audprod__title {
	margin: 0;
	text-align: center;
	font-family: var(--yic-font-headline, inherit);
	font-size: clamp(1.45rem, 2.4vw, 1.85rem);
	color: var(--audprod-brand);
}
.yic-audprod__title::after {
	content: "";
	display: block;
	width: 2.5rem;
	height: 3px;
	margin: 0.65rem auto 0;
	border-radius: 2px;
	background: var(--audprod-brand);
}
.yic-audprod__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}
.yic-audprod__card {
	display: flex;
	align-items: flex-start;
	gap: 0.9rem;
	padding: 1.15rem 1.2rem;
	border-radius: var(--yic-radius-lg, 0.75rem);
	border: 1px solid var(--yic-outline-variant, #e0bfc0);
	background: var(--yic-surface-container-lowest, #fff);
	text-decoration: none;
	color: inherit;
	transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
	min-height: 100%;
	box-sizing: border-box;
}
a.yic-audprod__card:hover,
a.yic-audprod__card:focus-visible {
	border-color: color-mix(in srgb, var(--audprod-brand) 45%, var(--yic-outline-variant, #e0bfc0));
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.06);
	transform: translateY(-2px);
	text-decoration: none;
}
a.yic-audprod__card,
a.yic-audprod__card:hover,
a.yic-audprod__card:focus-visible,
a.yic-audprod__card .yic-audprod__card-title,
a.yic-audprod__card .yic-audprod__card-text,
a.yic-audprod__card .yic-audprod__card-cta {
	text-decoration: none;
}
.yic-audprod__ico {
	flex: 0 0 auto;
	width: 2.75rem;
	height: 2.75rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 0.65rem;
	background: color-mix(in srgb, var(--audprod-brand) 10%, #fff);
	color: var(--audprod-brand);
}
.yic-audprod__ico .material-symbols-outlined { font-size: 1.45rem; }
.yic-audprod__card-body {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	min-width: 0;
}
.yic-audprod__card-title {
	font-family: var(--yic-font-headline, inherit);
	font-weight: 700;
	font-size: 1.1rem;
	color: var(--audprod-brand);
	line-height: 1.25;
}
.yic-audprod__card-text {
	font-size: 0.92rem;
	line-height: 1.45;
	color: var(--yic-on-surface-variant, #584142);
}
.yic-audprod__card-cta {
	margin-top: 0.35rem;
	display: inline-flex;
	align-items: center;
	gap: 0.2rem;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--audprod-brand);
}
.yic-audprod__card-cta .material-symbols-outlined { font-size: 1rem; }
.yic-audprod__hub {
	margin-top: 1.25rem;
	display: flex;
	justify-content: center;
}
@media (max-width: 720px) {
	.yic-audprod__grid { grid-template-columns: 1fr; }
	.yic-audprod__bar { flex-direction: column; align-items: stretch; }
	.yic-audprod__tabs { width: 100%; }
	.yic-audprod__tab { flex: 1; text-align: center; }
	.yic-audprod__soci { justify-content: center; }
}

/* =============================================================
 * CTA calcolatori (2 card) — home → #calcolatore / #calcolatore-prestito
 * Icone grandi, titoli su 2 righe, tipografia del tema.
 * ============================================================= */
.yic-calcpromo {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.5rem);
}
.yic-calcpromo__card {
	/* Desktop: testo a sinistra + illustrazione a destra (niente vuoto). */
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas:
		"copy visual"
		"btn visual";
	align-items: center;
	column-gap: clamp(1rem, 2vw, 1.75rem);
	row-gap: 1.15rem;
	min-height: 0;
	padding: clamp(1.6rem, 2.6vw, 2.25rem) clamp(1.6rem, 2.8vw, 2.4rem);
	border-radius: var(--yic-ui-card-radius, var(--yic-card-radius, 24px));
	background: linear-gradient(
		160deg,
		var(--yic-primary-container, #ea580c) 0%,
		var(--yic-primary, #c2410c) 48%,
		color-mix(in srgb, var(--yic-primary, #c2410c) 72%, #000) 100%
	);
	color: #fff;
	/* Ombra corta: non invade il padding della banda / i margini del sito. */
	box-shadow: 0 6px 18px -14px color-mix(in srgb, var(--yic-primary, #c2410c) 36%, transparent);
}
.yic-calcpromo__visual {
	grid-area: visual;
	display: block;
	justify-self: end;
	align-self: center;
	line-height: 0;
	color: #fff;
}
.yic-calcpromo__illu {
	display: block;
	width: clamp(6.25rem, 5rem + 3vw, 8.5rem);
	height: auto;
	aspect-ratio: 1;
	overflow: visible;
	filter: drop-shadow(0 10px 22px color-mix(in srgb, #000 22%, transparent));
	transition: transform 0.35s cubic-bezier(.22, 1, .36, 1), filter 0.35s ease;
}
.yic-calcpromo__card:hover .yic-calcpromo__illu {
	transform: translateY(-3px) scale(1.04);
	filter: drop-shadow(0 14px 26px color-mix(in srgb, #000 28%, transparent));
}
.yic-calcpromo__visual .material-symbols-outlined {
	font-size: clamp(3.75rem, 3rem + 2.4vw, 5rem);
	line-height: 1;
	font-variation-settings: "FILL" 0, "wght" 280, "GRAD" 0, "opsz" 48;
}

/* Animazioni illustrazioni calcpromo */
@keyframes yic-cpi-float {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-4px); }
}
@keyframes yic-cpi-spark {
	0%, 100% { opacity: .55; transform: scale(.88); transform-origin: center; }
	50% { opacity: 1; transform: scale(1.08); transform-origin: center; }
}
@keyframes yic-cpi-glow {
	0%, 100% { opacity: .85; }
	50% { opacity: 1; }
}
@keyframes yic-cpi-btn-arrow {
	0%, 100% { transform: translateX(0); }
	50% { transform: translateX(3px); }
}
.yic-cpi__glow {
	animation: yic-cpi-glow 4.5s ease-in-out infinite;
}
.yic-cpi__float {
	animation: yic-cpi-float 3.2s ease-in-out infinite;
	transform-box: fill-box;
	transform-origin: center;
}
.yic-cpi__spark {
	animation: yic-cpi-spark 2.4s ease-in-out infinite;
	transform-box: fill-box;
	transform-origin: center;
}
.yic-calcpromo__illu--mutuo .yic-cpi__float {
	animation-duration: 3.6s;
	animation-delay: .35s;
}
.yic-calcpromo__card:hover .yic-calcpromo__btn .material-symbols-outlined {
	animation: yic-cpi-btn-arrow .7s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
	.yic-cpi__glow,
	.yic-cpi__float,
	.yic-cpi__spark,
	.yic-calcpromo__card:hover .yic-calcpromo__btn .material-symbols-outlined {
		animation: none;
	}
	.yic-calcpromo__card:hover .yic-calcpromo__illu {
		transform: none;
	}
}
.yic-calcpromo__copy {
	grid-area: copy;
	display: grid;
	gap: 0.65rem;
	align-content: start;
	min-width: 0;
}
.yic-calcpromo__title {
	margin: 0;
	font-family: var(--yic-font-headline);
	font-size: clamp(1.45rem, 1.2rem + 1.1vw, 2rem);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.03em;
	color: #fff;
	max-width: none;
	min-height: 0;
	text-wrap: balance;
}
.yic-calcpromo__text {
	margin: 0;
	font-family: var(--yic-font-body);
	font-size: clamp(0.92rem, 0.88rem + 0.2vw, 1.02rem);
	font-weight: 400;
	line-height: 1.55;
	letter-spacing: normal;
	color: color-mix(in srgb, var(--yic-on-primary, #fff) 78%, transparent);
	max-width: 36ch;
	min-height: 0;
}
.yic-calcpromo__btn {
	grid-area: btn;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	justify-self: start;
	gap: 0.45rem;
	margin-top: 0;
	min-height: 3rem;
	padding: 0.75rem 1.45rem;
	border-radius: 999px;
	background: #fff;
	color: var(--yic-btn-outline-fg, var(--yic-primary, #c2410c));
	font-family: var(--yic-font-label);
	font-size: 0.95rem;
	font-weight: 700;
	text-decoration: none;
	letter-spacing: -0.01em;
	box-shadow: none;
	isolation: isolate;
	transition: transform 0.18s ease, background 0.18s ease, gap 0.18s ease;
}
.yic-calcpromo__btn .material-symbols-outlined {
	font-size: 1.2rem;
	line-height: 1;
}
.yic-calcpromo__btn:hover {
	background: var(--yic-btn-outline-bg-hover, var(--yic-primary-fixed, #ffedd5));
	color: var(--yic-btn-outline-fg-hover, var(--yic-primary, #c2410c));
	gap: 0.65rem;
	transform: translateY(-1px);
}
.yic-calcpromo__btn:focus-visible {
	outline: 3px solid var(--yic-primary-fixed, #ffedd5);
	outline-offset: 2px;
}
@media (max-width: 720px) {
	.yic-calcpromo { grid-template-columns: 1fr; }
	.yic-calcpromo__card {
		grid-template-columns: 1fr;
		grid-template-areas:
			"visual"
			"copy"
			"btn";
		justify-items: start;
		row-gap: 1rem;
		padding: 1.5rem 1.35rem;
	}
	.yic-calcpromo__visual { justify-self: start; }
	.yic-calcpromo__illu { width: 5.25rem; }
	.yic-calcpromo__title { max-width: 14em; }
	.yic-calcpromo__text { max-width: none; }
}

/*
 * Servizi digitali — CSS mobile-first.
 * Base = telefono (1 colonna). Desktop con @media (min-width: …).
 * Nota: il builder stacka le colonne solo ≤600px; qui forziamo 1 colonna
 * fino a 800px sulle sezioni SD per un layout davvero pensato al mobile.
 */
.yic-sd-hero .yic-builder-cols > .yic-builder-col,
.yic-sd-split .yic-builder-cols > .yic-builder-col,
.yic-sd-features .yic-builder-cols > .yic-builder-col,
.yic-sd-lists .yic-builder-cols > .yic-builder-col,
.yic-sd-download .yic-builder-cols > .yic-builder-col,
.yic-sd-teasers .yic-builder-cols > .yic-builder-col,
.yic-sd-intro .yic-builder-cols > .yic-builder-col {
	grid-column: span 60 !important;
}
/* Hero SD: stesso breakpoint 2-col di Privati (.yic-hub-hero). */
@media (min-width: 768px) {
	.yic-sd-hero .yic-builder-cols > .yic-builder-col {
		grid-column: span 30 !important;
	}
}
@media (min-width: 801px) {
	.yic-sd-split .yic-builder-cols > .yic-builder-col,
	.yic-sd-download .yic-builder-cols > .yic-builder-col {
		grid-column: span 30 !important;
	}
	.yic-sd-features .yic-builder-cols > .yic-builder-col {
		grid-column: span 20 !important;
	}
	.yic-sd-lists .yic-builder-cols > .yic-builder-col {
		grid-column: span 30 !important;
	}
	/* Teaser app: sempre 2 card per riga */
	.yic-sd-teasers .yic-builder-cols > .yic-builder-col {
		grid-column: span 30 !important;
	}
	.yic-sd-intro .yic-builder-cols > .yic-builder-col {
		grid-column: span 60 !important;
	}
	/* Download unificato: una colonna (titolo + anteprime + badge). */
	.yic-sd-download .yic-builder-cols > .yic-builder-col {
		grid-column: span 60 !important;
	}
}

.yic-digispot { position: relative; }
.yic-digispot__head { margin-bottom: 0.75rem; }
.yic-digispot__eyebrow {
	margin: 0 0 .35rem;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--yic-primary-container, #ea580c);
}
.yic-digispot__title {
	margin: 0;
	font-size: clamp(1.35rem, 5.5vw, 1.75rem);
	line-height: 1.2;
	color: var(--yic-primary, #c2410c);
}
.yic-digispot__stage {
	position: relative;
	min-height: 0;
	/* Swipe orizzontale gestito in JS; scroll verticale pagina resta libero. */
	touch-action: pan-y;
}
.yic-digispot__track { min-height: 0; }
.yic-digispot__slide {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.15rem;
	align-items: start;
	min-height: 0;
	padding: 1.1rem;
	background: var(--yic-surface-container-lowest, #fff);
	border: 1px solid var(--yic-ui-card-border, var(--yic-surface-container-low, #f4f3f3));
	border-radius: 22px;
	overflow: hidden;
}
.yic-digispot__slide[hidden] { display: none !important; }
.yic-digispot__media {
	position: relative;
	align-self: stretch;
	min-height: 0;
	aspect-ratio: 16 / 10;
	height: auto;
	border-radius: 16px;
	background-color: var(--yic-surface-container-low, #f4f3f3);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	overflow: hidden;
}
.yic-digispot__media::after { content: none; display: none; }
.yic-digispot__media-ico {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
	font-size: 2.5rem;
	color: var(--yic-primary, #c2410c);
	opacity: .55;
}
.yic-digispot__copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: .7rem;
	padding: 0;
	min-width: 0;
}
.yic-digispot__label {
	margin: 0;
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--yic-primary-container, #ea580c);
}
.yic-digispot__slide-title {
	margin: 0;
	font-size: clamp(1.2rem, 4.5vw, 1.5rem);
	line-height: 1.25;
	font-weight: 700;
	color: var(--yic-on-surface, #1a1c1c);
}
.yic-digispot__text {
	margin: 0;
	font-size: .98rem;
	line-height: 1.55;
	color: var(--yic-on-surface-variant, #584142);
	max-width: 36rem;
}
.yic-digispot__actions {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	gap: .65rem;
	margin-top: .25rem;
}
.yic-digispot__actions .yic-btn {
	width: 100%;
	justify-content: center;
	min-height: 2.85rem;
}
.yic-digispot__nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	margin-top: 1.15rem;
}
.yic-digispot__arrow {
	width: 2.5rem;
	height: 2.5rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 2.5rem;
	border: 1px solid var(--yic-outline-variant, #e0bfc0);
	border-radius: 999px;
	background: #fff;
	color: var(--yic-primary, #c2410c);
	cursor: pointer;
	padding: 0;
}
/* Pillola compatta: altezza allineata alle frecce; tap via ::before (non gonfia il layout). */
.yic-digispot__dots {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .45rem;
	min-height: 2.5rem;
	padding: .55rem .85rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--yic-primary, #c2410c) 8%, #f3f4f5);
	box-sizing: border-box;
}
.yic-digispot__dot {
	position: relative;
	box-sizing: border-box;
	width: .45rem;
	height: .45rem;
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: 999px;
	background: color-mix(in srgb, var(--yic-primary, #c2410c) 40%, #d8d6d7);
	cursor: pointer;
	flex: 0 0 auto;
	transition: width .2s ease, background .2s ease;
	-webkit-tap-highlight-color: transparent;
}
.yic-digispot__dot::before {
	content: "";
	position: absolute;
	inset: -.85rem -.5rem;
}
.yic-digispot__dot::after { content: none; display: none; }
.yic-digispot__dot.is-active {
	width: 1.15rem;
	background: var(--yic-primary, #c2410c);
}
.yic-digispot__dot:focus-visible {
	outline: 2px solid var(--yic-primary, #c2410c);
	outline-offset: 3px;
}
@media (min-width: 601px) {
	.yic-digispot__head { margin-bottom: 1.35rem; }
	.yic-digispot__slide { padding: 1.35rem; border-radius: 28px; gap: 1.35rem; }
	.yic-digispot__actions {
		flex-direction: row;
		flex-wrap: wrap;
	}
	.yic-digispot__actions .yic-btn { width: auto; }
}
@media (min-width: 801px) {
	.yic-digispot__title { font-size: clamp(1.45rem, 2.4vw, 1.9rem); }
	.yic-digispot__slide {
		grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
		align-items: center;
		gap: clamp(1.75rem, 3.5vw, 3rem);
		padding: clamp(1.35rem, 2.8vw, 2rem);
		border-radius: var(--yic-ui-card-radius, var(--yic-card-radius, 24px));
	}
	.yic-digispot__media {
		min-height: 18rem;
		aspect-ratio: 4 / 3;
		height: 100%;
		border-radius: calc(var(--yic-ui-card-radius, 24px) - 10px);
	}
	.yic-digispot__copy { padding: .35rem .25rem .35rem 0; gap: .85rem; }
	.yic-digispot__slide-title { font-size: clamp(1.35rem, 2.2vw, 1.75rem); }
}
@media (hover: hover) {
	.yic-digispot__arrow:hover {
		background: var(--yic-primary, #c2410c);
		border-color: var(--yic-primary, #c2410c);
		color: #fff;
	}
}

/* Screenshot App Store — 4 per riga (desktop), intere senza crop/bordi */
.yic-sd-store-shots .yic-builder-gallery {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: .75rem !important;
	overflow: visible;
	margin-inline: 0;
	padding-bottom: 0;
}
.yic-sd-store-shots .yic-builder-gallery__item,
.yic-sd-store-shots .yic-builder-gallery--rounded .yic-builder-gallery__item {
	width: 100%;
	margin: 0;
	aspect-ratio: auto;
	background: transparent;
	border: 0;
	box-shadow: none;
	border-radius: 12px;
	overflow: hidden;
}
.yic-sd-store-shots .yic-builder-gallery__link {
	display: block;
	width: 100%;
	height: auto;
}
.yic-sd-store-shots .yic-builder-gallery--r-auto .yic-builder-gallery__item img,
.yic-sd-store-shots .yic-builder-gallery__item img {
	display: block;
	width: 100%;
	height: auto !important;
	max-height: none;
	object-fit: contain;
	object-position: center top;
	background: transparent;
}
.yic-sd-store-shots .yic-builder-gallery__item:hover img {
	transform: none;
}
@media (min-width: 801px) {
	.yic-sd-store-shots .yic-builder-gallery {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		gap: 1rem !important;
	}
	.yic-sd-store-shots .yic-builder-gallery__item,
	.yic-sd-store-shots .yic-builder-gallery--rounded .yic-builder-gallery__item {
		border-radius: 16px;
	}
}

/*
 * Hero SD — allineato a Privati (.yic-hub-hero):
 * sfondo piatto, frame 16/10 → 1/1, raggio 28→40, niente ombra/card.
 */
.yic-sd-hero {
	position: relative;
	overflow: hidden;
	background: var(--yic-surface-container-lowest, #fff);
	border-radius: 0;
	/* Override padding builder: stessi clamp di .yic-hub-hero */
	padding-top: clamp(24px, 4vw, 40px) !important;
	padding-bottom: clamp(48px, 8vw, 96px) !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}
/* Rail boxed del tema: gutter laterale sempre presente */
.yic-sd-hero > .yic-container,
.yic-sd-split > .yic-container {
	width: 100%;
	max-width: var(--yic-container-max, 1280px);
	margin-inline: auto;
	padding-inline: var(--yic-gutter, 24px);
	box-sizing: border-box;
}
.yic-sd-hero .yic-builder-cols {
	--yic-col-gutter: clamp(1.5rem, 3vw, 2.5rem);
	align-items: center !important;
	/* niente gap shorthand: rompe il pattern gutter (overflow + testo tagliato) */
	column-gap: 0;
	row-gap: clamp(1.5rem, 4vw, 2.5rem);
}
.yic-sd-hero .yic-builder-title__main {
	font-size: clamp(32px, 5vw, 48px);
	line-height: 1.1;
	letter-spacing: -.02em;
	font-weight: 700;
	color: var(--yic-primary, #c2410c);
	max-width: none;
	margin: 0 0 16px;
}
.yic-sd-hero .yic-builder-title__eyebrow {
	color: var(--yic-primary, #c2410c);
}
.yic-sd-hero__lead {
	margin: 0 0 24px;
	max-width: 36rem;
	font-size: 18px;
	line-height: 1.6;
	color: var(--yic-on-surface-variant, #584142);
}
.yic-sd-hero .yic-builder-col:first-child {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	align-content: center;
	gap: 16px;
	min-width: 0;
	order: 0;
}
.yic-sd-hero .yic-builder-col:last-child {
	min-width: 0;
	width: 100%;
	order: 0;
}
.yic-sd-hero .yic-builder-col:first-child > .yic-builder-el--title,
.yic-sd-hero .yic-builder-col:first-child > .yic-builder-el--text {
	flex: 1 1 100%;
}
.yic-sd-hero .yic-builder-col:first-child > .yic-builder-el--button {
	margin: 0;
	flex: 0 1 auto;
}
.yic-sd-hero .yic-builder-col:first-child > .yic-builder-el--button .yic-btn {
	min-height: 2.85rem;
}
/* Frame immagine = stesso trattamento di .yic-hub-hero__frame */
.yic-sd-hero .yic-builder-el--image,
.yic-sd-hero .yic-builder-figure {
	display: block;
	width: 100%;
	margin: 0 auto;
	max-width: none;
	aspect-ratio: 16 / 10;
	max-height: min(52vw, 280px);
	background: var(--yic-surface-container-low, #f4f3f3);
	border-radius: 28px;
	overflow: hidden;
	border: 0;
	box-shadow: none;
}
.yic-sd-hero .yic-builder-img {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	min-height: 0 !important;
	aspect-ratio: auto !important;
	object-fit: cover !important;
	/* Default: un filo più in basso — nelle lifestyle il telefono sta spesso sotto. */
	object-position: var(--yic-sd-hero-pos, center 72%);
	border-radius: 0 !important;
	box-shadow: none !important;
	background: transparent;
}
/* Punto focale per scheda: telefono (e schermata app) nel crop 1:1. */
.yic-sd-hero--hub,
.yic-sd-hero--app { --yic-sd-hero-pos: center 78%; }
.yic-sd-hero--inbank { --yic-sd-hero-pos: 42% 58%; }
.yic-sd-hero--notify { --yic-sd-hero-pos: 72% 82%; }
.yic-sd-hero--nexi { --yic-sd-hero-pos: 45% 52%; }
.yic-sd-hero--pilea { --yic-sd-hero-pos: 70% 55%; }
.yic-sd-hero--ioin { --yic-sd-hero-pos: 84% 48%; }
/* Pagine istituzionali (Assistenza, ecc.): crop centrato, non telefono. */
.yic-sd-hero--page {
	--yic-sd-hero-pos: center center;
	/* Meno respiro sotto: la banda successiva (es. Contatti) parte a filo. */
	padding-bottom: clamp(28px, 5vw, 48px) !important;
}
/* Dopo hero split: niente fascia bianca prima di una banda full (help_cards, ecc.). */
.yic-builder-content > .yic-sd-hero + .yic-builder-container--full,
.yic-builder-content > .yic-builder-container.yic-sd-hero + .yic-builder-container--full {
	margin-top: 0;
}
@media (max-width: 767px) {
	.yic-sd-hero .yic-builder-col:first-child > .yic-builder-el--button {
		flex: 1 1 100%;
	}
	.yic-sd-hero .yic-builder-col:first-child > .yic-builder-el--button .yic-btn {
		width: 100%;
		justify-content: center;
	}
}
@media (min-width: 768px) {
	/* Come .yic-hub-hero__frame su Privati: quadrato pieno, senza tetto di altezza */
	.yic-sd-hero .yic-builder-el--image,
	.yic-sd-hero .yic-builder-figure {
		aspect-ratio: 1 / 1;
		max-height: none;
		border-radius: 40px;
	}
}

/* Lead / intro / features / split / teaser / download — mobile-first */
.yic-sd-lead-wrap .yic-sd-lead,
.yic-sd-lead {
	margin: 0;
	max-width: 46rem;
	font-size: 1.05rem;
	line-height: 1.65;
	color: var(--yic-on-surface-variant, #584142);
}
@media (min-width: 801px) {
	.yic-sd-lead-wrap .yic-sd-lead,
	.yic-sd-lead {
		font-size: clamp(1.05rem, 1.5vw, 1.2rem);
	}
}

.yic-sd-intro .yic-builder-cols { align-items: flex-start; }
.yic-sd-intro .yic-builder-col {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
}
.yic-sd-intro .yic-builder-el--image .yic-builder-img {
	width: 72px !important;
	height: 72px !important;
	max-width: 72px !important;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 16px;
	box-shadow: 0 12px 28px -14px rgba(28, 20, 22, .4);
	background: #fff;
}
.yic-sd-intro .yic-builder-el--title { margin-top: .85rem; }
.yic-sd-intro .yic-builder-title__main {
	font-size: clamp(1.4rem, 5.5vw, 1.75rem);
	color: var(--yic-primary, #c2410c);
}
/* Desktop: icona a sx, titolo + lead a dx (niente icona “app store” sopra il titolo). */
@media (min-width: 768px) {
	.yic-sd-intro .yic-builder-col:has(> .yic-builder-el--image) {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		column-gap: 1.35rem;
		row-gap: .55rem;
		align-items: start;
	}
	.yic-sd-intro .yic-builder-col:has(> .yic-builder-el--image) > .yic-builder-el--image {
		grid-column: 1;
		grid-row: 1 / span 3;
		margin: 0;
		align-self: start;
	}
	.yic-sd-intro .yic-builder-col:has(> .yic-builder-el--image) > .yic-builder-el--title {
		grid-column: 2;
		grid-row: 1;
		margin-top: .15rem;
	}
	.yic-sd-intro .yic-builder-col:has(> .yic-builder-el--image) > .yic-builder-el--text {
		grid-column: 2;
		grid-row: 2;
		margin-top: 0;
	}
	.yic-sd-intro .yic-builder-el--image .yic-builder-img {
		width: 88px !important;
		height: 88px !important;
		max-width: 88px !important;
		border-radius: 20px;
	}
	.yic-sd-intro .yic-builder-title__main {
		font-size: clamp(1.55rem, 2.4vw, 2rem);
	}
}

.yic-sd-features .yic-builder-cols {
	--yic-col-gutter: .85rem;
	align-items: stretch;
	row-gap: .85rem;
}
.yic-sd-features .yic-builder-col {
	display: flex;
	min-width: 0;
	padding-inline: calc(var(--yic-col-gutter) / 2);
}
.yic-sd-features .yic-builder-col > .yic-builder-el--iconbox {
	display: flex;
	flex: 1 1 auto;
	height: auto;
	min-height: 100%;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
}
.yic-sd-features .yic-builder-iconbox.yic-card {
	flex: 1 1 auto;
	width: 100%;
	min-height: 100%;
	background: var(--yic-surface-container-lowest, #fff);
	border: 1px solid var(--yic-ui-card-border, #ebe4e4);
	border-radius: 18px;
	box-shadow: 0 10px 28px -22px rgba(28, 20, 22, .28);
	overflow: hidden;
}
.yic-sd-features .yic-builder-iconbox .yic-card__body {
	display: flex;
	flex-direction: column;
	gap: .75rem;
	height: 100%;
	padding: 1.15rem 1.15rem 1.25rem;
}
.yic-sd-features .yic-builder-iconbox__ico.yic-icon-circle,
.yic-sd-features .yic-icon-circle {
	width: 2.75rem;
	height: 2.75rem;
	flex: 0 0 auto;
	background: color-mix(in srgb, var(--yic-primary, #c2410c) 10%, #fff);
	color: var(--yic-primary, #c2410c);
	border: 0;
}
.yic-sd-features .yic-builder-iconbox__ico .material-symbols-outlined {
	font-size: 1.35rem;
	line-height: 1;
}
.yic-sd-features .yic-card__title {
	margin: 0;
	font-size: 1.08rem;
	line-height: 1.3;
	color: var(--yic-primary, #c2410c);
	min-height: 0;
}
.yic-sd-features .yic-card__text {
	margin: 0;
	flex: 1 1 auto;
	font-size: .96rem;
	line-height: 1.55;
	color: var(--yic-on-surface-variant, #584142);
}
@media (min-width: 601px) {
	.yic-sd-features .yic-builder-cols { --yic-col-gutter: 1.1rem; }
	.yic-sd-features .yic-builder-iconbox.yic-card { border-radius: 22px; }
}
@media (min-width: 801px) {
	.yic-sd-features .yic-builder-cols { --yic-col-gutter: 1.25rem; }
	.yic-sd-features .yic-builder-iconbox.yic-card { border-radius: var(--yic-ui-card-radius, 24px); }
	.yic-sd-features .yic-builder-iconbox .yic-card__body { padding: 1.4rem 1.35rem 1.5rem; gap: .85rem; }
	.yic-sd-features .yic-card__title {
		font-size: clamp(1.05rem, 1.5vw, 1.2rem);
		min-height: 2.6em;
	}
}
@media (hover: hover) {
	.yic-sd-features .yic-builder-iconbox.yic-card--hover:hover {
		border-color: var(--yic-ui-card-border, #ebe4e4);
		box-shadow: 0 16px 36px -20px rgba(194, 65, 12, .22);
	}
}

/* Split sotto-hero: mockup app (split-*.jpg), frame pieno metà colonna */
.yic-sd-split {
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.yic-sd-split .yic-builder-cols {
	--yic-col-gutter: clamp(1.25rem, 3vw, 2rem);
	align-items: start;
	column-gap: 0;
	row-gap: 1.15rem;
}
.yic-sd-split .yic-builder-col {
	min-width: 0;
	overflow: visible;
	padding-inline: calc(var(--yic-col-gutter) / 2);
}
.yic-sd-split .yic-builder-el--image,
.yic-sd-split .yic-builder-figure {
	display: block;
	width: 100%;
	max-width: none;
	margin: 0;
	aspect-ratio: 4 / 5;
	max-height: min(420px, 78vw);
	overflow: hidden;
	border-radius: 24px;
	background: var(--yic-surface-container-low, #f4f3f3);
	border: 0;
	box-shadow: none;
}
.yic-sd-split .yic-builder-img {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	min-height: 0 !important;
	aspect-ratio: auto !important;
	object-fit: cover !important;
	object-position: center center;
	background: transparent;
	border-radius: 0 !important;
	box-shadow: none !important;
}
.yic-sd-split .yic-builder-title__main {
	color: var(--yic-primary, #c2410c);
	font-size: clamp(1.35rem, 3.2vw, 1.75rem);
	line-height: 1.25;
	margin: 0 0 .35rem;
}
.yic-sd-split .yic-builder-el--title,
.yic-sd-split .yic-builder-el--list,
.yic-sd-split .yic-builder-list,
.yic-sd-split .yic-builder-list__item {
	min-width: 0;
	max-width: 100%;
	overflow: visible;
}
.yic-sd-split .yic-builder-list {
	display: flex;
	flex-direction: column;
	gap: .65rem;
	margin: .85rem 0 0;
	padding: 0;
	list-style: none;
}
.yic-sd-split .yic-builder-list__item {
	display: flex;
	align-items: flex-start;
	gap: .65rem;
	overflow-wrap: break-word;
	word-break: normal;
	white-space: normal;
	color: var(--yic-on-surface, #1a1c1c);
	font-size: clamp(.95rem, 1.6vw, 1.05rem);
	line-height: 1.45;
}
.yic-sd-split .yic-builder-list__item > :not(.yic-builder-list__marker) {
	min-width: 0;
	flex: 1 1 auto;
	white-space: normal;
}
@media (min-width: 801px) {
	/* 50/50: mockup grande a sinistra, lista a destra */
	.yic-sd-split .yic-builder-cols > .yic-builder-col:first-child,
	.yic-sd-split .yic-builder-cols > .yic-builder-col:last-child {
		grid-column: span 30 !important;
	}
	.yic-sd-split .yic-builder-cols {
		align-items: center;
		--yic-col-gutter: clamp(1.5rem, 3vw, 2.5rem);
	}
	.yic-sd-split .yic-builder-el--image,
	.yic-sd-split .yic-builder-figure {
		max-width: none;
		max-height: min(560px, 62vh);
		aspect-ratio: 3 / 4;
		border-radius: 32px;
		margin: 0;
	}
}

/* Liste SD (Notify ecc.): card separate + icone per voce. */
.yic-sd-lists .yic-builder-cols {
	--yic-col-gutter: 1rem;
	row-gap: 1rem;
	align-items: stretch;
}
.yic-sd-lists .yic-builder-col {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: .85rem;
	padding: 1.25rem calc(1.15rem + var(--yic-col-gutter) / 2) 1.35rem;
	background: transparent;
	border: 0;
	border-radius: 0;
	overflow: visible;
}
.yic-sd-lists .yic-builder-col::before {
	content: "";
	position: absolute;
	inset: 0 calc(var(--yic-col-gutter) / 2);
	background: var(--yic-surface-container-lowest, #fff);
	border: 1px solid var(--yic-ui-card-border, var(--yic-surface-container-low, #f4f3f3));
	border-radius: 20px;
	box-shadow: 0 10px 28px -22px rgba(28, 20, 22, .28);
	pointer-events: none;
	z-index: 0;
}
.yic-sd-lists .yic-builder-col > .yic-builder-el {
	position: relative;
	z-index: 1;
	margin: 0;
}
.yic-sd-lists .yic-builder-col > .yic-builder-el--icon {
	margin-bottom: .1rem;
}
.yic-sd-lists .yic-builder-title__main {
	font-size: 1.15rem;
	color: var(--yic-primary, #c2410c);
	margin: 0;
}
.yic-sd-lists .yic-builder-list {
	display: flex;
	flex-direction: column;
	gap: .7rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.yic-sd-lists .yic-builder-list__item {
	display: flex;
	align-items: flex-start;
	gap: .75rem;
	margin: 0;
	padding: .65rem .75rem;
	background: var(--yic-surface-container-low, #f4f3f3);
	border-radius: 14px;
	color: var(--yic-on-surface, #1c1416);
	font-size: .95rem;
	line-height: 1.45;
}
.yic-sd-lists .yic-builder-list__marker {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	margin-top: .05rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--yic-primary, #c2410c) 10%, #fff);
	font-size: 1.15rem !important;
	line-height: 1;
}
.yic-sd-lists .yic-builder-list__item > :not(.yic-builder-list__marker) {
	min-width: 0;
	flex: 1 1 auto;
	padding-top: .3rem;
}
@media (min-width: 801px) {
	.yic-sd-lists .yic-builder-cols {
		--yic-col-gutter: 1.5rem;
		row-gap: 1.5rem;
	}
	.yic-sd-lists .yic-builder-col {
		padding: 1.5rem calc(1.4rem + var(--yic-col-gutter) / 2) 1.6rem;
		gap: 1rem;
	}
	.yic-sd-lists .yic-builder-col::before {
		border-radius: var(--yic-ui-card-radius, 24px);
	}
	.yic-sd-lists .yic-builder-title__main {
		font-size: clamp(1.15rem, 1.8vw, 1.35rem);
	}
	.yic-sd-lists .yic-builder-list__item {
		padding: .75rem .9rem;
		border-radius: 16px;
	}
}

.yic-sd-showcase .yic-builder-figure { margin: 0; }
.yic-sd-showcase .yic-builder-img {
	width: 100%;
	height: auto;
	max-height: min(360px, 55vh);
	object-fit: contain;
	object-position: center;
	background: var(--yic-surface-container-low, #f4f3f3);
	border-radius: 18px;
	box-shadow: 0 16px 36px -24px rgba(28, 20, 22, .4);
}
@media (min-width: 801px) {
	.yic-sd-showcase .yic-builder-img {
		max-height: min(560px, 72vh);
		border-radius: var(--yic-ui-card-radius, 24px);
	}
}

/* Teaser hub App */
.yic-sd-teasers .yic-builder-cols { --yic-col-gutter: .9rem; }
.yic-sd-teasers .yic-builder-col {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-content: start;
	column-gap: .7rem;
	row-gap: 0;
	padding-top: 0;
	padding-bottom: 0;
	padding-inline: calc(var(--yic-col-gutter) / 2);
	background: transparent;
	border: 0;
	border-radius: 0;
	overflow: visible;
	position: relative;
}
.yic-sd-teasers .yic-builder-col::before {
	content: "";
	position: absolute;
	inset: 0 calc(var(--yic-col-gutter) / 2);
	background: var(--yic-surface-container-lowest, #fff);
	border: 1px solid var(--yic-ui-card-border, var(--yic-surface-container-low, #f4f3f3));
	border-radius: 18px;
	box-shadow: 0 10px 28px -22px rgba(28, 20, 22, .35);
	pointer-events: none;
	z-index: 0;
}
.yic-sd-teasers .yic-builder-col > .yic-builder-el {
	position: relative;
	z-index: 1;
}
.yic-sd-teasers .yic-builder-col > .yic-builder-el--image:first-child {
	grid-column: 1 / -1;
	margin: 0;
	overflow: hidden;
	border-radius: 18px 18px 0 0;
}
.yic-sd-teasers .yic-builder-figure { margin: 0; }
.yic-sd-teasers .yic-builder-col > .yic-builder-el--image:first-child .yic-builder-img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	object-position: center;
	border-radius: 0;
	display: block;
}
.yic-sd-teasers .yic-builder-el--image + .yic-builder-el--image {
	grid-column: 1;
	margin-top: 0;
	padding: 1rem 0 0 1.1rem;
	align-self: center;
}
.yic-sd-teasers .yic-builder-el--image + .yic-builder-el--image .yic-builder-img {
	width: 48px !important;
	height: 48px !important;
	max-width: 48px !important;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 12px;
	box-shadow: 0 8px 20px -10px rgba(0,0,0,.35);
	background: #fff;
	border: 1px solid var(--yic-ui-card-border, #f0e8e8);
}
.yic-sd-teasers .yic-builder-el + .yic-builder-el { margin-top: 0; }
.yic-sd-teasers .yic-builder-el--image + .yic-builder-el--image + .yic-builder-el--title {
	grid-column: 2;
	margin: 0;
	padding: 1rem 1.1rem 0 0;
	align-self: center;
}
.yic-sd-teasers .yic-builder-el--text,
.yic-sd-teasers .yic-builder-el--button {
	grid-column: 1 / -1;
	padding-inline: 1.1rem;
}
.yic-sd-teasers .yic-builder-el--text { margin-top: .7rem; }
.yic-sd-teasers .yic-builder-el--button {
	margin-top: .85rem;
	padding-bottom: 1.15rem;
}
.yic-sd-teasers .yic-builder-el--button .yic-btn {
	width: 100%;
	justify-content: center;
	min-height: 2.75rem;
}
.yic-sd-teasers .yic-builder-title__main {
	font-size: 1.15rem;
	line-height: 1.25;
	color: var(--yic-primary, #c2410c);
}
.yic-sd-teasers .yic-builder-el--text p {
	margin: 0;
	color: var(--yic-on-surface-variant, #584142);
	line-height: 1.55;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
@media (min-width: 601px) {
	.yic-sd-teasers .yic-builder-cols { --yic-col-gutter: 1.25rem; }
	.yic-sd-teasers .yic-builder-col::before,
	.yic-sd-teasers .yic-builder-col > .yic-builder-el--image:first-child {
		border-radius: 22px;
	}
	.yic-sd-teasers .yic-builder-col > .yic-builder-el--image:first-child {
		border-radius: 22px 22px 0 0;
	}
	.yic-sd-teasers .yic-builder-el--button .yic-btn {
		width: auto;
	}
}
@media (min-width: 801px) {
	.yic-sd-teasers .yic-builder-cols { --yic-col-gutter: 1.5rem; }
	.yic-sd-teasers .yic-builder-col { column-gap: .85rem; }
	.yic-sd-teasers .yic-builder-col::before {
		border-radius: var(--yic-ui-card-radius, 24px);
	}
	.yic-sd-teasers .yic-builder-col > .yic-builder-el--image:first-child {
		border-radius: var(--yic-ui-card-radius, 24px) var(--yic-ui-card-radius, 24px) 0 0;
	}
	.yic-sd-teasers .yic-builder-el--image + .yic-builder-el--image {
		padding: 1.2rem 0 0 1.35rem;
	}
	.yic-sd-teasers .yic-builder-el--image + .yic-builder-el--image .yic-builder-img {
		width: 56px !important;
		height: 56px !important;
		max-width: 56px !important;
		border-radius: 14px;
	}
	.yic-sd-teasers .yic-builder-el--image + .yic-builder-el--image + .yic-builder-el--title {
		padding: 1.2rem 1.35rem 0 0;
	}
	.yic-sd-teasers .yic-builder-el--text,
	.yic-sd-teasers .yic-builder-el--button { padding-inline: 1.35rem; }
	.yic-sd-teasers .yic-builder-el--button { padding-bottom: 1.35rem; }
	.yic-sd-teasers .yic-builder-title__main {
		font-size: clamp(1.2rem, 1.8vw, 1.35rem);
	}
}
@media (hover: hover) {
	.yic-sd-teasers .yic-builder-col {
		transition: transform .2s ease;
	}
	.yic-sd-teasers .yic-builder-col::before {
		transition: box-shadow .2s ease;
	}
	.yic-sd-teasers .yic-builder-col:hover {
		transform: translateY(-3px);
	}
	.yic-sd-teasers .yic-builder-col:hover::before {
		box-shadow: var(--yic-ui-card-hover-shadow, 0 16px 36px -20px rgba(194, 65, 12, .28));
	}
	.yic-store-row__badge:hover {
		transform: translateY(-2px);
		opacity: .92;
	}
	.yic-sd-download__web:hover,
	.yic-sd-download .yic-btn--on-dark:hover {
		background: color-mix(in srgb, #fff 90%, var(--yic-primary, #c2410c));
		color: var(--yic-primary, #c2410c);
	}
}

/* Download #scarica: titolo → lead → badge → anteprime */
.yic-sd-download {
	background: var(--yic-primary, #c2410c);
}
.yic-sd-download .yic-builder-anchor,
.yic-sd-apps-head .yic-builder-anchor,
#scarica,
#le-app {
	scroll-margin-top: calc(var(--yic-header-height, 76px) + 12px);
}
.yic-sd-download > .yic-container {
	padding-inline: 1.1rem;
}
.yic-sd-download .yic-builder-cols {
	--yic-col-gutter: 1rem;
	align-items: stretch;
}
.yic-sd-download .yic-builder-col {
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	gap: 0;
}
.yic-sd-download .yic-builder-col > .yic-builder-el {
	width: 100%;
	max-width: 100%;
	flex: 0 0 auto;
}
.yic-sd-download .yic-builder-title__main,
.yic-sd-download .yic-builder-title__eyebrow { color: #fff; }
.yic-sd-download .yic-builder-title__main {
	font-size: clamp(1.35rem, 5.5vw, 1.65rem);
	line-height: 1.2;
}
.yic-sd-download .yic-builder-title__sep {
	width: 3rem;
	background: rgba(255, 255, 255, .55);
}
.yic-sd-download .yic-builder-el--title + .yic-builder-el--text { margin-top: .85rem; }
.yic-sd-download .yic-sd-download__lead,
.yic-sd-download .yic-builder-el--text > p.yic-sd-download__lead {
	margin: 0;
	max-width: 40rem;
	color: rgba(255, 255, 255, .86);
	font-size: 1rem;
	line-height: 1.55;
}
/* Badge subito sotto il lead */
.yic-sd-download .yic-builder-el--text:has(.yic-sd-download__actions) {
	margin-top: 1.35rem;
}
.yic-sd-download__actions {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	align-items: stretch;
	gap: .85rem;
	width: 100%;
	max-width: 22rem;
	margin: 0;
}
.yic-sd-download .yic-store-row,
.yic-store-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .75rem;
	margin: 0;
	width: auto;
	max-width: 100%;
}
.yic-store-row__badge {
	display: inline-flex;
	flex: 0 0 auto;
	line-height: 0;
	transition: transform .18s ease, opacity .18s ease;
}
.yic-store-row__badge img {
	display: block;
	height: 44px;
	width: auto;
	max-width: 160px;
	object-fit: contain;
	object-position: left center;
}
.yic-store-row__fallback {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	min-height: 44px;
	padding: 0 1rem;
	border-radius: 10px;
	background: #000;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
}
.yic-sd-download__web,
.yic-sd-download .yic-btn--on-dark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .45rem;
	width: auto;
	align-self: flex-start;
	min-height: 2.75rem;
	padding: .7rem 1.15rem;
	border-radius: 999px;
	background: #fff;
	color: var(--yic-primary, #c2410c);
	border: 1px solid #fff;
	font-weight: 700;
	text-decoration: none;
	box-shadow: none;
}
.yic-sd-download__web .material-symbols-outlined,
.yic-sd-download .yic-btn--on-dark .material-symbols-outlined {
	font-size: 1.15rem;
	line-height: 1;
}
/* Anteprime dopo i badge — 4 per riga, intere, senza cornice */
.yic-sd-download--shots .yic-builder-el--gallery {
	margin-top: 1.75rem;
}
.yic-sd-download--shots .yic-builder-gallery {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: .75rem !important;
	overflow: visible;
	padding-bottom: 0;
}
.yic-sd-download--shots .yic-builder-gallery__item,
.yic-sd-download--shots .yic-builder-gallery--rounded .yic-builder-gallery__item {
	width: 100%;
	margin: 0;
	aspect-ratio: auto;
	background: transparent;
	border: 0;
	box-shadow: none;
	border-radius: 12px;
	overflow: hidden;
}
.yic-sd-download--shots .yic-builder-gallery__link {
	display: block;
	width: 100%;
	height: auto;
}
.yic-sd-download--shots .yic-builder-gallery--r-auto .yic-builder-gallery__item img,
.yic-sd-download--shots .yic-builder-gallery__item img {
	display: block;
	width: 100%;
	height: auto !important;
	max-height: none;
	object-fit: contain;
	object-position: center top;
	background: transparent;
}
.yic-sd-download--shots .yic-builder-gallery__item:hover img {
	transform: none;
}
@media (min-width: 601px) {
	.yic-sd-download > .yic-container { padding-inline: 1.35rem; }
	.yic-sd-download__actions {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		max-width: none;
		gap: 1rem 1.25rem;
	}
	.yic-store-row__badge img { height: 48px; max-width: 170px; }
}
@media (min-width: 801px) {
	.yic-sd-download > .yic-container { padding-inline: clamp(1.25rem, 3vw, 2rem); }
	.yic-sd-download .yic-builder-title__main {
		font-size: clamp(1.45rem, 2.4vw, 1.85rem);
	}
	.yic-sd-download .yic-sd-download__lead,
	.yic-sd-download .yic-builder-el--text > p.yic-sd-download__lead {
		max-width: 42rem;
		font-size: 1.05rem;
	}
	.yic-sd-download .yic-builder-el--text:has(.yic-sd-download__actions) {
		margin-top: 1.5rem;
	}
	.yic-store-row__badge img { height: 52px; max-width: 180px; }
	.yic-sd-download--shots .yic-builder-el--gallery { margin-top: 2rem; }
	.yic-sd-download--shots .yic-builder-gallery {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		gap: 1rem !important;
	}
	.yic-sd-download--shots .yic-builder-gallery__item,
	.yic-sd-download--shots .yic-builder-gallery--rounded .yic-builder-gallery__item {
		border-radius: 16px;
	}
}

/*
 * Ritmo sezioni SD: respiro chiaro tra bande (prima erano ~1.5rem → “attaccate”).
 * Copre anche blocchi intermedi senza classe (es. alert SMS Notify).
 */
.yic-builder-content > .yic-sd-intro,
.yic-builder-content > .yic-sd-features,
.yic-builder-content > .yic-sd-lists,
.yic-builder-content > .yic-sd-split,
.yic-builder-content > .yic-sd-store-shots,
.yic-builder-content > .yic-sd-download,
.yic-builder-content > .yic-sd-showcase,
.yic-builder-content > .yic-sd-teasers,
.yic-builder-content > .yic-sd-apps-head,
.yic-builder-content > .yic-sd-split + .yic-builder-container:not([class*="yic-sd-"]),
.yic-builder-content > .yic-sd-lists + .yic-builder-container:not([class*="yic-sd-"]),
.yic-builder-content > .yic-sd-features + .yic-builder-container:not([class*="yic-sd-"]) {
	margin-top: clamp(2.75rem, 6vw, 4.5rem);
}
.yic-builder-content > .yic-sd-hero + .yic-sd-intro,
.yic-builder-content > .yic-sd-hero + .yic-sd-teasers {
	/* Dopo l’hero il padding del hero basta un filo meno. */
	margin-top: clamp(1.75rem, 4vw, 3rem);
}
@media (min-width: 801px) {
	.yic-builder-content > .yic-sd-intro,
	.yic-builder-content > .yic-sd-features,
	.yic-builder-content > .yic-sd-lists,
	.yic-builder-content > .yic-sd-split,
	.yic-builder-content > .yic-sd-store-shots,
	.yic-builder-content > .yic-sd-download,
	.yic-builder-content > .yic-sd-showcase,
	.yic-builder-content > .yic-sd-teasers,
	.yic-builder-content > .yic-sd-apps-head,
	.yic-builder-content > .yic-sd-split + .yic-builder-container:not([class*="yic-sd-"]),
	.yic-builder-content > .yic-sd-lists + .yic-builder-container:not([class*="yic-sd-"]),
	.yic-builder-content > .yic-sd-features + .yic-builder-container:not([class*="yic-sd-"]) {
		margin-top: clamp(3.25rem, 5vw, 5rem);
	}
	.yic-builder-content > .yic-sd-hero + .yic-sd-intro,
	.yic-builder-content > .yic-sd-hero + .yic-sd-teasers {
		margin-top: clamp(2rem, 3.5vw, 3.25rem);
	}
}

/* =============================================================
 * La Banca — Chi siamo / La storia (layout istituzionale)
 * ============================================================= */
.yic-lb-intro .yic-builder-title__main,
.yic-lb-prose .yic-builder-title__main,
.yic-lb-section-head .yic-builder-title__main {
	letter-spacing: -0.03em;
	text-wrap: balance;
}
.yic-lb-intro .yic-builder-text,
.yic-lb-prose .yic-builder-text {
	max-width: 40rem;
}
/* Chi siamo / La storia — tipografia più moderna e gerarchia più chiara. */
.yic-lb-chi .yic-builder-title,
.yic-lb-chi .yic-builder-text,
.yic-lb-origini .yic-builder-title,
.yic-lb-timeline .yic-builder-title {
	max-width: none;
	width: 100%;
}
.yic-lb-chi .yic-builder-title__eyebrow,
.yic-lb-origini .yic-builder-title__eyebrow,
.yic-lb-timeline .yic-builder-title__eyebrow {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--yic-primary-container, #ea580c);
	margin-bottom: 0.55rem;
}
.yic-lb-chi .yic-builder-title__main,
.yic-lb-origini .yic-builder-title__main,
.yic-lb-timeline > .yic-builder-cols .yic-builder-title__main {
	font-size: clamp(1.85rem, 1.35rem + 1.8vw, 2.55rem);
	line-height: 1.12;
	letter-spacing: -0.035em;
	font-weight: 750;
	color: var(--yic-primary, #c2410c);
	margin: 0;
}
.yic-lb-chi-split .yic-builder-title__main {
	font-size: clamp(1.65rem, 1.25rem + 1.4vw, 2.2rem);
}
.yic-lb-chi .yic-builder-title__sep,
.yic-lb-origini .yic-builder-title__sep,
.yic-lb-timeline .yic-builder-title__sep {
	width: 2.25rem;
	height: 3px;
	border-radius: 999px;
	margin-top: 0.85rem;
	background: var(--yic-primary, #c2410c);
}
.yic-lb-chi .yic-builder-text p {
	text-wrap: pretty;
	font-size: 1.0625rem;
	line-height: 1.72;
	max-width: 46rem;
	color: var(--yic-on-surface, #1c1b1b);
}
.yic-builder-content:has(.yic-lb-chi) .yic-sd-hero .yic-builder-title__main,
.yic-builder-content:has(.yic-lb-timeline) .yic-sd-hero .yic-builder-title__main {
	font-size: clamp(2.15rem, 1.5rem + 2.4vw, 3.15rem);
	letter-spacing: -0.04em;
	line-height: 1.05;
}
.yic-builder-content:has(.yic-lb-chi) .yic-sd-hero__lead,
.yic-builder-content:has(.yic-lb-timeline) .yic-sd-hero__lead {
	font-size: clamp(1.05rem, 0.95rem + 0.35vw, 1.2rem);
	line-height: 1.65;
	max-width: 38rem;
	color: var(--yic-on-surface-variant, #4a3f40);
}
.yic-lb-chi-territorio .yic-builder-text p,
.yic-lb-chi-identita .yic-builder-text p {
	max-width: none;
}
.yic-lb-chi-split .yic-builder-text p {
	max-width: none;
	font-size: 1.02rem;
	line-height: 1.68;
}
.yic-lb-chi .yic-builder-text strong {
	color: var(--yic-on-surface, #1a1a1a);
	font-weight: 700;
}
/* Bande Chi siamo: solo due toni (light/soft), niente terzi grigi. */
.yic-lb-chi-band--light,
.yic-lb-chi-band--soft {
	border-top: 0;
	border-bottom: 0;
}
/* Chi siamo / La storia: sezioni a filo (niente gap bianco tra bande). */
.yic-builder-content:has(.yic-lb-chi) > .yic-builder-container + .yic-builder-container,
.yic-builder-content:has(.yic-lb-timeline) > .yic-builder-container + .yic-builder-container,
.yic-builder-content:has(.yic-lb-claim) > .yic-builder-container + .yic-builder-container,
.yic-builder-content:has(.yic-lb-origini) > .yic-builder-container + .yic-builder-container {
	margin-top: 0;
}
.yic-entry--builder:has(.yic-lb-chi),
.yic-entry--builder:has(.yic-lb-timeline) {
	margin-bottom: 0;
}
.yic-lb-chi-profilo .yic-builder-anchor,
.yic-lb-chi-valori .yic-builder-anchor {
	scroll-margin-top: calc(var(--yic-header-height, 76px) + 16px);
}
/* 4 KPI: specificità > .yic-lb-facts (3 col) che compare più sotto. */
.yic-lb-facts.yic-lb-facts--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
.yic-lb-chi-identita .yic-lb-facts.yic-lb-facts--4 {
	margin: 2.25rem 0 0.5rem;
	max-width: none;
	width: 100%;
	gap: 0;
	border: 1px solid color-mix(in srgb, var(--yic-primary, #c2410c) 12%, var(--yic-outline-variant, #e0bfc0));
	border-radius: 14px;
	overflow: hidden;
	background: #fff;
}
.yic-lb-chi-identita .yic-lb-facts.yic-lb-facts--4 li {
	min-height: 0;
	height: auto;
	padding: 1.35rem 1.1rem 1.4rem;
	border: 0;
	border-radius: 0;
	border-top: 0;
	border-left: 0;
	background: transparent;
	box-shadow: none;
	justify-content: flex-start;
	gap: 0.35rem;
}
.yic-lb-chi-identita .yic-lb-facts.yic-lb-facts--4 li + li {
	border-left: 1px solid color-mix(in srgb, var(--yic-primary, #c2410c) 12%, var(--yic-outline-variant, #e0bfc0));
}
.yic-lb-chi-identita .yic-lb-facts__val {
	font-size: clamp(1.35rem, 2.2vw, 1.75rem);
	font-weight: 800;
	line-height: 1.1;
	color: var(--yic-primary, #c2410c);
	letter-spacing: -0.02em;
}
.yic-lb-chi-identita .yic-lb-facts__label {
	font-size: 0.875rem;
	line-height: 1.35;
	color: var(--yic-on-surface-variant, #584142);
}
@media (max-width: 960px) {
	.yic-lb-facts.yic-lb-facts--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.yic-lb-chi-identita .yic-lb-facts.yic-lb-facts--4 li:nth-child(2) {
		border-left: 1px solid color-mix(in srgb, var(--yic-primary, #c2410c) 12%, var(--yic-outline-variant, #e0bfc0));
	}
	.yic-lb-chi-identita .yic-lb-facts.yic-lb-facts--4 li:nth-child(n + 3) {
		border-top: 1px solid color-mix(in srgb, var(--yic-primary, #c2410c) 12%, var(--yic-outline-variant, #e0bfc0));
	}
	.yic-lb-chi-identita .yic-lb-facts.yic-lb-facts--4 li:nth-child(3) {
		border-left: 0;
	}
}
@media (max-width: 520px) {
	.yic-lb-chi-identita .yic-lb-facts.yic-lb-facts--4 li {
		padding: 1.1rem 0.85rem 1.15rem;
	}
}
/* Chi siamo — valori (icone + testo, densità istituzionale). */
.yic-lb-chi-valori .yic-builder-title {
	margin-bottom: 0.35rem;
}
.yic-lb-chi-valori__lead {
	max-width: 40rem !important;
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center;
	margin-bottom: 0.25rem !important;
}
.yic-lb-chi-pillars {
	list-style: none;
	margin: 1.85rem 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	align-items: stretch;
}
.yic-lb-chi-pillars li {
	margin: 0;
	padding: 1.35rem 1.25rem 1.4rem;
	background: #fff;
	border: 1px solid color-mix(in srgb, var(--yic-primary, #c2410c) 12%, var(--yic-outline-variant, #e0bfc0));
	border-radius: 14px;
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 0.95rem;
	box-shadow: 0 1px 0 color-mix(in srgb, var(--yic-primary, #c2410c) 6%, transparent);
	min-height: 100%;
}
.yic-lb-chi-pillars__ico {
	flex: 0 0 auto;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: color-mix(in srgb, var(--yic-primary, #c2410c) 10%, #fff);
	color: var(--yic-primary, #c2410c);
}
.yic-lb-chi-pillars__ico .material-symbols-outlined {
	font-size: 1.35rem;
	line-height: 1;
}
.yic-lb-chi-pillars__body {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	min-width: 0;
}
.yic-lb-chi-pillars strong {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--yic-on-surface, #1c1b1b);
	letter-spacing: -0.01em;
}
.yic-lb-chi-pillars__body > span {
	font-size: 0.95rem;
	line-height: 1.55;
	color: var(--yic-on-surface, #3a2f30);
}
@media (max-width: 720px) {
	.yic-lb-chi-pillars {
		grid-template-columns: 1fr;
	}
}
/* Chi siamo — concetti «nuovo modo di fare banca». */
.yic-lb-chi-features {
	list-style: none;
	margin: 1.1rem 0 1.35rem;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.65rem 0.85rem;
}
.yic-lb-chi-features li {
	margin: 0;
	padding: 0.75rem 0.85rem;
	border-left: 3px solid var(--yic-primary, #c2410c);
	background: color-mix(in srgb, var(--yic-surface-container-low, #f7f2f2) 80%, #fff);
	border-radius: 0 8px 8px 0;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}
.yic-lb-chi-features strong {
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--yic-on-surface, #1c1b1b);
}
.yic-lb-chi-features span {
	font-size: 0.875rem;
	line-height: 1.45;
	color: var(--yic-on-surface-variant, #584142);
}
.yic-lb-chi-modello .yic-lb-chi-features {
	grid-template-columns: 1fr;
}
@media (min-width: 1100px) {
	.yic-lb-chi-modello .yic-lb-chi-features {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
/* Zigzag: A foto sx, B foto dx — padding ravvicinato tra i due blocchi. */
.yic-lb-chi-modello--a + .yic-lb-chi-modello--b {
	border-top: 0;
}
/* Chi siamo / La storia — CTA finali: card chiare, non banner bordeaux. */
.yic-lb-chi-approfondimenti .yic-builder-cta,
.yic-lb-cta .yic-builder-cta {
	height: 100%;
}
.yic-lb-chi-approfondimenti .yic-cta-banner,
.yic-lb-cta .yic-cta-banner {
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1.35rem;
	min-height: 100%;
	padding: 1.5rem 1.45rem 1.4rem;
	border-radius: 20px;
	background: #fff;
	color: var(--yic-on-surface, #1c1b1b);
	border: 1px solid color-mix(in srgb, var(--yic-primary, #c2410c) 14%, var(--yic-outline-variant, #e0bfc0));
	box-shadow: none;
}
.yic-lb-chi-approfondimenti .yic-cta-banner__glow,
.yic-lb-cta .yic-cta-banner__glow {
	display: none;
}
.yic-lb-chi-approfondimenti .yic-cta-banner__main,
.yic-lb-cta .yic-cta-banner__main {
	flex: 1 1 auto;
	align-items: flex-start;
	gap: 1rem;
	width: 100%;
}
.yic-lb-chi-approfondimenti .yic-cta-banner__ico,
.yic-lb-cta .yic-cta-banner__ico {
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 50%;
	background: color-mix(in srgb, var(--yic-primary, #c2410c) 10%, #fff);
	color: var(--yic-primary, #c2410c);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.yic-lb-chi-approfondimenti .yic-cta-banner__ico .material-symbols-outlined,
.yic-lb-cta .yic-cta-banner__ico .material-symbols-outlined {
	font-size: 1.35rem;
	color: inherit;
}
.yic-lb-chi-approfondimenti .yic-cta-banner__title,
.yic-lb-cta .yic-cta-banner__title {
	color: var(--yic-primary, #c2410c);
	font-size: clamp(1.2rem, 1.05rem + 0.6vw, 1.45rem);
	margin: 0 0 0.4rem;
}
.yic-lb-chi-approfondimenti .yic-cta-banner__text,
.yic-lb-cta .yic-cta-banner__text {
	color: var(--yic-on-surface-variant, #584142);
	max-width: none;
	font-size: 0.95rem;
	line-height: 1.5;
}
.yic-lb-chi-approfondimenti .yic-cta-banner > .yic-btn,
.yic-lb-cta .yic-cta-banner > .yic-btn {
	margin-left: 0;
	align-self: flex-start;
	background: transparent;
	color: var(--yic-primary, #c2410c);
	border: 0;
	padding: 0;
	min-height: 0;
	font-weight: 700;
	font-size: 0.95rem;
	box-shadow: none;
	gap: 0.35rem;
}
.yic-lb-chi-approfondimenti .yic-cta-banner > .yic-btn:hover,
.yic-lb-chi-approfondimenti .yic-cta-banner > .yic-btn:focus-visible,
.yic-lb-cta .yic-cta-banner > .yic-btn:hover,
.yic-lb-cta .yic-cta-banner > .yic-btn:focus-visible {
	background: transparent;
	color: var(--yic-primary-container, #ea580c);
	transform: none;
}
.yic-lb-chi-approfondimenti .yic-cta-banner:hover,
.yic-lb-cta .yic-cta-banner:hover {
	border-color: color-mix(in srgb, var(--yic-primary, #c2410c) 28%, var(--yic-outline-variant, #e0bfc0));
}
@media (max-width: 782px) {
	.yic-lb-chi-approfondimenti .yic-cta-banner,
	.yic-lb-cta .yic-cta-banner {
		padding: 1.25rem 1.15rem;
	}
	.yic-lb-chi-approfondimenti .yic-cta-banner > .yic-btn,
	.yic-lb-cta .yic-cta-banner > .yic-btn {
		width: auto;
		justify-content: flex-start;
	}
}
/* Chi siamo — split istituzionali (testo + foto). */
.yic-lb-chi-split .yic-builder-title,
.yic-lb-chi-split .yic-builder-text {
	max-width: none;
}
/* Come hero split (Privati/SD): quadro su desktop, landscape soft su mobile. */
.yic-lb-chi-split .yic-builder-el--image,
.yic-lb-chi-split .yic-builder-figure {
	display: block;
	width: 100%;
	margin: 0;
	aspect-ratio: 4 / 3;
	border-radius: 28px;
	overflow: hidden;
	background: var(--yic-surface-container-low, #f4f3f3);
}
.yic-lb-chi-split .yic-builder-img,
.yic-lb-chi-split .yic-builder-figure img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	aspect-ratio: auto !important;
	object-fit: cover !important;
	object-position: center;
	border-radius: 0 !important;
}
@media (min-width: 768px) {
	.yic-lb-chi-split .yic-builder-el--image,
	.yic-lb-chi-split .yic-builder-figure {
		aspect-ratio: 1 / 1;
		border-radius: 40px;
	}
}
.yic-lb-chi-photo--hero .yic-builder-img,
.yic-lb-chi-photo--hero .yic-builder-figure img {
	width: 100%;
	max-height: min(62vh, 560px);
	aspect-ratio: 21 / 9;
	object-fit: cover;
	object-position: center;
}
@media (max-width: 900px) {
	.yic-lb-chi-photo--hero .yic-builder-img,
	.yic-lb-chi-photo--hero .yic-builder-figure img {
		aspect-ratio: 16 / 10;
		max-height: none;
	}
}
/* La storia — ancora CTA hero → percorso (sotto header sticky). */
.yic-lb-timeline .yic-builder-anchor {
	scroll-margin-top: calc(var(--yic-header-height, 76px) + 16px);
}
/* La storia — Origini: larghezza boxed del sito (niente colonna stretta). */
.yic-lb-origini .yic-builder-title,
.yic-lb-origini .yic-builder-text {
	max-width: none;
	width: 100%;
	margin-left: 0;
	margin-right: 0;
}
.yic-lb-origini .yic-builder-text p {
	text-wrap: pretty;
	max-width: none;
}
.yic-lb-origini .yic-builder-text strong {
	font-weight: 700;
	color: var(--yic-on-surface, #1c1b1b);
}
.yic-lb-origini .yic-lb-facts,
.yic-lb-chi-identita .yic-lb-facts {
	max-width: none;
	width: 100%;
	margin: 2.25rem 0 1.35rem;
	gap: 0.85rem;
	align-items: stretch;
}
.yic-lb-origini .yic-lb-facts li,
.yic-lb-chi-identita .yic-lb-facts li {
	background: #fff;
	border: 1px solid color-mix(in srgb, var(--yic-primary, #c2410c) 14%, var(--yic-outline-variant, #e0bfc0));
	border-top: 3px solid var(--yic-primary, #c2410c);
	border-left: 1px solid color-mix(in srgb, var(--yic-primary, #c2410c) 14%, var(--yic-outline-variant, #e0bfc0));
	border-radius: 12px;
	box-shadow: none;
	padding: 1.15rem 1.2rem;
	min-height: 6.75rem;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.4rem;
	text-align: center;
}
.yic-lb-origini .yic-lb-facts__val {
	font-size: 1.05rem;
}
.yic-lb-chi-identita .yic-lb-facts.yic-lb-facts--4 .yic-lb-facts__val {
	font-size: clamp(1.35rem, 2.2vw, 1.75rem);
	font-weight: 800;
	line-height: 1.1;
}
.yic-lb-origini .yic-lb-facts__label {
	font-size: 0.9rem;
	line-height: 1.4;
	color: var(--yic-on-surface-variant, #584142);
}
.yic-lb-chi-identita .yic-lb-facts.yic-lb-facts--4 .yic-lb-facts__label {
	font-size: 0.875rem;
	line-height: 1.35;
	color: var(--yic-on-surface-variant, #584142);
}
.yic-lb-origini .yic-lb-bridge {
	text-align: center;
	margin-top: 0.5rem !important;
	padding-top: 0.35rem;
	font-size: 0.95rem !important;
	color: var(--yic-on-surface-variant, #584142) !important;
}
.yic-lb-chi-photo .yic-builder-figure,
.yic-lb-chi-photo .yic-builder-el--image {
	display: block;
	width: 100%;
	max-width: 56rem;
	margin: 0 auto;
	aspect-ratio: 16 / 9;
	border-radius: 28px;
	overflow: hidden;
	background: var(--yic-surface-container-low, #f4f3f3);
}
.yic-lb-chi-photo .yic-builder-img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center;
	border-radius: 0 !important;
}
.yic-lb-chi-photo .yic-builder-figcaption,
.yic-lb-chi-photo figcaption {
	margin-top: 0.75rem;
	text-align: center;
	font-size: 0.9rem;
	color: var(--yic-on-surface-variant);
}
.yic-lb-intro .yic-builder-text p,
.yic-lb-prose .yic-builder-text p {
	font-size: 1.0625rem;
	line-height: 1.7;
	color: var(--yic-on-surface, #1c1b1b);
	margin: 0 0 1rem;
	font-weight: 400;
}
.yic-lb-intro .yic-builder-text p:last-child,
.yic-lb-prose .yic-builder-text p:last-child {
	margin-bottom: 0;
}
/* Evita contrasto brutale lead/body: stesso corpo tipografico. */
.yic-lb-lead {
	font-size: 1.0625rem !important;
	line-height: 1.7 !important;
	color: var(--yic-on-surface, #1c1b1b) !important;
	font-weight: 400 !important;
}
.yic-lb-intro:not(.yic-lb-origini) .yic-lb-facts,
.yic-lb-chi .yic-lb-facts {
	max-width: 56rem;
}
.yic-lb-facts {
	margin: 1.75rem 0 1.5rem;
	padding: 0;
	border: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.85rem;
}
.yic-lb-facts li {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	padding: 1.1rem 1.15rem;
	border-radius: 16px;
	background: var(--yic-surface-container-low, #f4f3f3);
	border-left: 3px solid var(--yic-primary, #c2410c);
	font-size: 0.95rem;
	line-height: 1.45;
	color: var(--yic-on-surface-variant, #584142);
}
.yic-lb-facts__val,
.yic-lb-facts strong {
	display: block;
	color: var(--yic-primary, #c2410c);
	font-weight: 800;
	font-size: 1.05rem;
	line-height: 1.2;
	letter-spacing: -0.02em;
	font-variant-numeric: tabular-nums;
}
.yic-lb-facts__label {
	display: block;
	font-weight: 400;
	color: var(--yic-on-surface, #1c1b1b);
}
.yic-lb-bridge {
	margin-top: 0.25rem !important;
	color: var(--yic-on-surface-variant, #584142) !important;
	font-size: 1rem !important;
}
@media (max-width: 782px) {
	.yic-lb-facts {
		grid-template-columns: 1fr;
		gap: 0.65rem;
		/* Spazio dal FAB Accessibilità in basso a sinistra */
		padding-bottom: 0.25rem;
		margin-bottom: 1.75rem;
	}
}
.yic-lb-openings {
	margin: 1rem 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.65rem;
}
.yic-lb-openings li {
	display: grid;
	grid-template-columns: 4.5rem 1fr;
	gap: 0.75rem;
	align-items: baseline;
	margin: 0;
	font-size: 0.98rem;
	line-height: 1.45;
	color: var(--yic-on-surface, #1c1b1b);
}
.yic-lb-openings time {
	font-weight: 700;
	color: var(--yic-primary, #c2410c);
	font-variant-numeric: tabular-nums;
}

/* KPI band */
.yic-lb-stats .yic-stat {
	padding: clamp(0.75rem, 1.5vw, 1.25rem) 0.5rem;
	position: relative;
}
.yic-lb-stats .yic-stat__value {
	font-size: clamp(2.4rem, 1.8rem + 2.2vw, 3.5rem);
	letter-spacing: -0.04em;
	background: linear-gradient(
		135deg,
		var(--yic-primary, #c2410c) 0%,
		var(--yic-primary-container, #ea580c) 100%
	);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.yic-lb-stats .yic-stat__label {
	margin-top: 0.55rem;
	letter-spacing: 0.1em;
}
@media (min-width: 782px) {
	.yic-lb-stats .yic-builder-col:not(:last-child) .yic-stat::after {
		content: "";
		position: absolute;
		right: 0;
		top: 18%;
		bottom: 18%;
		width: 1px;
		background: linear-gradient(
			to bottom,
			transparent,
			var(--yic-outline-variant, #e0bfc0),
			transparent
		);
	}
}
/* Chi siamo — banda cifre (separata dal testo profilo). */
.yic-lb-chi-kpi {
	align-items: stretch;
}
.yic-lb-chi-kpi .yic-stat {
	padding: clamp(0.35rem, 1vw, 0.75rem) 0.75rem;
}
.yic-lb-chi-kpi .yic-stat__value {
	font-size: clamp(1.65rem, 1.2rem + 1.6vw, 2.65rem);
	line-height: 1.05;
	font-variant-numeric: tabular-nums;
}
.yic-lb-chi-kpi .yic-stat__label {
	margin-top: 0.65rem;
	font-size: 0.78rem;
	letter-spacing: 0.12em;
	color: var(--yic-on-surface-variant, #584142);
}
@media (max-width: 781px) {
	.yic-lb-chi-kpi .yic-builder-row,
	.yic-lb-chi-kpi .yic-builder-cols {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.25rem 0.75rem;
	}
	.yic-lb-chi-kpi .yic-builder-col {
		width: 100% !important;
		max-width: none !important;
		flex: none !important;
	}
	.yic-lb-chi-kpi .yic-builder-col:not(:last-child) .yic-stat::after {
		display: none;
	}
}

/* Pillar / era cards */
.yic-lb-pillars .yic-builder-iconbox.yic-card {
	height: 100%;
	border: 1px solid var(--yic-ui-card-border, var(--yic-outline-variant, #e0bfc0));
	border-radius: var(--yic-ui-card-radius, 24px);
	background:
		linear-gradient(180deg, color-mix(in srgb, var(--yic-primary, #c2410c) 4%, #fff) 0%, #fff 42%);
	box-shadow: 0 10px 28px -22px color-mix(in srgb, var(--yic-primary, #c2410c) 55%, transparent);
	transition: transform .28s cubic-bezier(.22, 1, .36, 1), box-shadow .28s ease, border-color .28s ease;
}
.yic-lb-pillars .yic-builder-iconbox .yic-card__body {
	padding: clamp(1.35rem, 2vw, 1.75rem);
	gap: 0.9rem;
}
.yic-lb-pillars .yic-builder-iconbox__ico.yic-icon-circle {
	width: 3.25rem;
	height: 3.25rem;
	background: color-mix(in srgb, var(--yic-primary, #c2410c) 10%, #fff);
	color: var(--yic-primary, #c2410c);
}
.yic-lb-pillars .yic-builder-iconbox__img {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3.75rem;
	height: 3.75rem;
	padding: 0.45rem;
	border-radius: 1rem;
	background: color-mix(in srgb, var(--yic-primary, #c2410c) 8%, #fff);
}
.yic-lb-pillars .yic-builder-iconbox__img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}
/*
 * Split La Banca (intro/prose): stesso linguaggio visuale di hub/SD —
 * 50/50, frame quadrato con cover (le foto seed sono panoramiche 1024×202
 * e senza aspect-ratio restano una “strisciolina” a fianco del testo).
 */
.yic-lb-split .yic-builder-cols {
	--yic-col-gutter: clamp(1.5rem, 3vw, 2.5rem);
	align-items: center !important;
	column-gap: 0;
	row-gap: clamp(1.5rem, 4vw, 2.5rem);
}
.yic-lb-split .yic-builder-cols > .yic-builder-col {
	grid-column: span 60 !important;
	min-width: 0;
}
.yic-lb-split .yic-builder-text {
	max-width: none;
}
.yic-lb-split .yic-builder-el--image,
.yic-lb-split .yic-builder-figure {
	display: block;
	width: 100%;
	max-width: none;
	margin: 0 auto;
	aspect-ratio: 16 / 10;
	max-height: min(52vw, 280px);
	background: var(--yic-surface-container-low, #f4f3f3);
	border-radius: 28px;
	overflow: hidden;
	border: 0;
	box-shadow: none;
}
.yic-lb-split .yic-builder-img {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	min-height: 0 !important;
	aspect-ratio: auto !important;
	object-fit: cover !important;
	object-position: center center;
	border-radius: 0 !important;
	box-shadow: none !important;
}
@media (min-width: 768px) {
	.yic-lb-split .yic-builder-cols > .yic-builder-col {
		grid-column: span 30 !important;
	}
	.yic-lb-split .yic-builder-el--image,
	.yic-lb-split .yic-builder-figure {
		aspect-ratio: 1 / 1;
		max-height: none;
		border-radius: 40px;
	}
}
.yic-lb-pillars .yic-builder-iconbox .yic-card__title {
	font-size: clamp(1.15rem, 1.05rem + 0.35vw, 1.35rem);
	letter-spacing: -0.02em;
}
.yic-lb-pillars .yic-builder-iconbox.yic-card--hover:hover {
	transform: translateY(-4px);
	border-color: color-mix(in srgb, var(--yic-primary, #c2410c) 35%, var(--yic-outline-variant));
	box-shadow: 0 18px 36px -24px color-mix(in srgb, var(--yic-primary, #c2410c) 65%, transparent);
}

/* Claim / quote band (bordeaux) */
.yic-lb-claim .yic-builder-quote,
.yic-lb-claim .yic-infobox--quote {
	margin: 0 auto;
	max-width: 44rem;
	padding: clamp(0.5rem, 1.5vw, 1rem) 0;
	background: transparent;
	border: 0;
	text-align: center;
}
.yic-lb-claim .yic-builder-quote__text {
	font-family: var(--yic-font-headline);
	font-size: clamp(1.55rem, 1.25rem + 1.3vw, 2.35rem);
	font-style: normal;
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.25;
	color: var(--yic-on-primary, #fff);
	text-wrap: balance;
}
.yic-lb-claim .yic-builder-quote__cite {
	justify-content: center;
	color: color-mix(in srgb, var(--yic-on-primary, #fff) 82%, transparent);
}
.yic-lb-claim .yic-builder-quote__cite strong {
	color: var(--yic-on-primary, #fff);
}
.yic-lb-claim .yic-builder-quote__role {
	color: color-mix(in srgb, var(--yic-on-primary, #fff) 72%, transparent);
}

/* Ancore one-page La storia (sotto header sticky). */
.yic-lb-origini .yic-builder-anchor,
.yic-lb-timeline .yic-builder-anchor,
#origini,
#percorso {
	scroll-margin-top: calc(var(--yic-header-h, 72px) + 16px);
}

/* Timeline band polish */
.yic-lb-timeline .yic-builder-title {
	margin-bottom: clamp(0.75rem, 2vw, 1.25rem);
}
/* Sticky sotto header: usa --yic-header-height (tema) + gap aria, non a filo. */
.yic-lb-timeline .yic-builder-timeline__nav {
	top: calc(var(--yic-header-height, 76px) + 12px);
	background: color-mix(in srgb, var(--yic-surface, #fff) 92%, transparent);
}
body.admin-bar .yic-lb-timeline .yic-builder-timeline__nav {
	top: calc(var(--yic-header-height, 76px) + var(--wp-admin--admin-bar--height, 32px) + 12px);
}
.yic-lb-timeline .yic-builder-timeline__decade-tick.is-active,
.yic-lb-timeline .yic-builder-timeline__decade-tick:hover,
.yic-lb-timeline .yic-builder-timeline__decade-tick:focus-visible {
	color: var(--yic-primary-container, #ea580c);
	background: transparent;
}
.yic-lb-timeline .yic-builder-timeline__range {
	accent-color: var(--yic-primary-container, #ea580c);
}
.yic-lb-timeline .yic-builder-timeline__range::-webkit-slider-runnable-track {
	background: linear-gradient(
		to right,
		var(--yic-primary-container, #ea580c) 0%,
		var(--yic-primary-container, #ea580c) var(--yic-tl-pct, 0%),
		color-mix(in srgb, var(--yic-outline-variant, #e0bfc0) 70%, #fff) var(--yic-tl-pct, 0%),
		color-mix(in srgb, var(--yic-outline-variant, #e0bfc0) 70%, #fff) 100%
	);
}
.yic-lb-timeline .yic-builder-timeline__range::-webkit-slider-thumb,
.yic-lb-timeline .yic-builder-timeline__range::-moz-range-thumb,
.yic-lb-timeline .yic-builder-timeline__range::-moz-range-progress {
	background: var(--yic-primary-container, #ea580c);
}
.yic-lb-timeline .yic-builder-timeline__scrub-value {
	color: var(--yic-primary-container, #ea580c);
}
@media (max-width: 782px) {
	.yic-lb-timeline .yic-builder-timeline__nav {
		/* Gap sotto header + inset laterale (niente margin negativo a filo schermo). */
		top: calc(var(--yic-header-height, 76px) + 14px);
		margin-left: 0.5rem;
		margin-right: 0.5rem;
		padding: 0.7rem 0.8rem 0.85rem;
		border-radius: 14px;
		box-shadow: 0 10px 28px -18px rgba(194, 65, 12, 0.4);
	}
	body.admin-bar .yic-lb-timeline .yic-builder-timeline__nav {
		top: calc(var(--yic-header-height, 76px) + 14px);
	}
}
@media (max-width: 600px) {
	/* Admin bar WP non fissa sotto i 601px. */
	body.admin-bar .yic-lb-timeline .yic-builder-timeline__nav {
		top: calc(var(--yic-header-height, 76px) + 14px);
	}
}
.yic-lb-timeline-note {
	max-width: 36rem;
	margin: 0 auto 2rem !important;
	text-align: center;
	font-size: 0.98rem !important;
	color: var(--yic-on-surface-variant);
}
.yic-lb-timeline .yic-builder-timeline--modern .yic-builder-timeline__list::before {
	background: linear-gradient(
		to bottom,
		color-mix(in srgb, var(--yic-primary, #c2410c) 55%, transparent),
		var(--yic-outline-variant, #e0bfc0),
		color-mix(in srgb, var(--yic-primary, #c2410c) 35%, transparent)
	);
}
.yic-lb-timeline .yic-builder-timeline--modern .yic-builder-timeline__row {
	grid-template-columns: 1fr 76px 1fr;
}
.yic-lb-timeline .yic-builder-timeline--modern .yic-builder-timeline__badge {
	width: auto;
	min-width: 70px;
	height: 70px;
	padding: 0 0.4rem;
	border-radius: 999px;
	font-size: 1.05rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	font-variant-numeric: tabular-nums;
	box-shadow: 0 8px 20px -10px color-mix(in srgb, var(--yic-primary, #c2410c) 70%, transparent);
}
/* Tipografia card: anno evidente, label piccola, titolo sotto. */
.yic-lb-timeline .yic-builder-timeline__meta {
	display: block;
	margin: 0 0 0.35rem;
	line-height: 1.15;
	color: var(--yic-on-surface-variant, #584142);
}
.yic-lb-timeline .yic-builder-timeline__meta--kind {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 0.15rem;
}
.yic-lb-timeline .yic-builder-timeline__year {
	display: block;
	margin: 0 0 0.45rem;
	font-size: clamp(1.25rem, 1.1rem + 0.45vw, 1.5rem);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.025em;
	font-variant-numeric: tabular-nums;
	font-style: normal;
	text-transform: none;
	color: var(--yic-primary, #c2410c);
}
.yic-lb-timeline .yic-builder-timeline__year--full {
	font-size: clamp(1.05rem, 0.95rem + 0.35vw, 1.28rem);
	letter-spacing: -0.015em;
	line-height: 1.2;
}
.yic-lb-timeline .yic-builder-timeline__name {
	display: block;
}
/* Badge tipo: pill arrotondate (con e senza foto). Min 12px per a11y WAVE. */
.yic-lb-timeline .yic-builder-timeline__kind {
	display: inline-block;
	margin: 0 0 0.35rem;
	padding: 0.4rem 0.8rem;
	border: 0;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.25;
	text-transform: uppercase;
	color: #fff !important;
	background: var(--yic-primary, #ea580c);
}
.yic-lb-timeline .yic-builder-timeline__card--branch .yic-builder-timeline__kind {
	background: var(--yic-primary, #ea580c);
}
.yic-lb-timeline .yic-builder-timeline__card--restyling .yic-builder-timeline__kind {
	background: #3d5a6c;
}
.yic-lb-timeline .yic-builder-timeline__card--presidio .yic-builder-timeline__kind {
	background: #7a5333;
}
.yic-lb-timeline .yic-builder-timeline__card--president .yic-builder-timeline__kind {
	background: color-mix(in srgb, var(--yic-primary, #c2410c) 88%, #1a1a1a);
}
.yic-lb-timeline .yic-builder-timeline__media {
	position: relative;
}
.yic-lb-timeline .yic-builder-timeline__kind--on-media {
	position: absolute;
	right: 0.8rem;
	left: auto;
	bottom: 0.8rem;
	z-index: 2;
	margin: 0;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
}
.yic-lb-timeline .yic-builder-timeline--modern .yic-builder-timeline__title {
	display: block;
	margin: 0 0 0.4rem;
	font-size: clamp(1.1rem, 1rem + 0.3vw, 1.28rem);
	font-weight: 700;
	letter-spacing: -0.015em;
	line-height: 1.25;
}
.yic-lb-timeline .yic-builder-timeline--modern .yic-builder-timeline__title .yic-builder-timeline__name {
	font-size: inherit;
	font-weight: inherit;
	letter-spacing: inherit;
	line-height: inherit;
	color: inherit;
}
.yic-lb-timeline .yic-builder-timeline--modern .yic-builder-timeline__text {
	font-size: 0.97rem;
	line-height: 1.65;
}
/* Presidenza: stile istituzionale. */
.yic-lb-timeline .yic-builder-timeline__card--president {
	background: #fff;
	border: 1px solid color-mix(in srgb, var(--yic-primary, #c2410c) 18%, var(--yic-outline-variant, #e0bfc0));
	border-top-width: 1px;
	border-left: 3px solid var(--yic-primary, #c2410c);
	border-radius: 12px;
	box-shadow: 0 10px 28px -24px rgba(0, 0, 0, 0.28);
	padding: 1.35rem 1.5rem;
}
.yic-lb-timeline .yic-builder-timeline__card--president .yic-builder-timeline__title {
	font-size: clamp(1.18rem, 1.05rem + 0.35vw, 1.38rem);
	margin-bottom: 0.5rem;
}
.yic-lb-timeline .yic-builder-timeline__card--president .yic-builder-timeline__text {
	max-width: 36em;
}
.yic-lb-timeline .yic-builder-timeline__card--milestone {
	border-left: 3px solid var(--yic-outline, #a08a8b);
	background: #fff;
	border-radius: 12px;
}
.yic-lb-timeline .yic-builder-timeline__row--grouped .yic-builder-timeline__stack {
	gap: 1rem;
}
.yic-lb-timeline .yic-builder-timeline__card--has-media {
	border-top-width: 0;
	padding: 0;
}
@media (max-width: 782px) {
	/* Colonna anni più stretta → card più larghe su mobile. */
	.yic-lb-timeline .yic-builder-timeline--modern .yic-builder-timeline__row {
		grid-template-columns: 44px 1fr;
		column-gap: 0.65rem;
	}
	.yic-lb-timeline .yic-builder-timeline--modern .yic-builder-timeline__list::before {
		left: 22px;
	}
	.yic-lb-timeline .yic-builder-timeline--modern .yic-builder-timeline__badge {
		min-width: 40px;
		width: 40px;
		height: 40px;
		padding: 0 0.15rem;
		border-width: 3px;
		font-size: 0.72rem;
		letter-spacing: -0.03em;
		margin-top: 0.2rem;
		box-shadow: 0 4px 12px -8px color-mix(in srgb, var(--yic-primary, #c2410c) 70%, transparent);
	}
	.yic-lb-timeline .yic-builder-timeline--modern .yic-builder-timeline__card {
		padding: 0.95rem 1rem;
	}
	.yic-lb-timeline .yic-builder-timeline__card--has-media .yic-builder-timeline__body {
		padding: 0.85rem 1rem 1rem;
	}
}
.yic-lb-timeline .yic-builder-timeline--modern .yic-builder-timeline__card {
	border-radius: var(--yic-ui-card-radius, 20px);
	border: 1px solid var(--yic-outline-variant, #e0bfc0);
	border-top: 3px solid var(--yic-primary, #c2410c);
	box-shadow: 0 12px 28px -22px rgba(0, 0, 0, 0.25);
	transition: transform .25s ease, box-shadow .25s ease;
	text-align: left;
}
.yic-lb-timeline .yic-builder-timeline--modern .yic-builder-timeline__row:nth-child(even) .yic-builder-timeline__card,
.yic-lb-timeline .yic-builder-timeline--modern .yic-builder-timeline__row:nth-child(even) .yic-builder-timeline__body,
.yic-lb-timeline .yic-builder-timeline--modern .yic-builder-timeline__row.is-stripe-even .yic-builder-timeline__card,
.yic-lb-timeline .yic-builder-timeline--modern .yic-builder-timeline__row.is-stripe-even .yic-builder-timeline__body {
	text-align: left;
}
.yic-lb-timeline .yic-builder-timeline--modern .yic-builder-timeline__row:nth-child(even) .yic-builder-timeline__meta--kind,
.yic-lb-timeline .yic-builder-timeline--modern .yic-builder-timeline__row.is-stripe-even .yic-builder-timeline__meta--kind {
	justify-content: flex-end;
}
.yic-lb-timeline .yic-builder-timeline--modern .yic-builder-timeline__row:nth-child(even) .yic-builder-timeline__kind--on-media,
.yic-lb-timeline .yic-builder-timeline--modern .yic-builder-timeline__row.is-stripe-even .yic-builder-timeline__kind--on-media {
	right: 0.8rem;
	left: auto;
}
.yic-lb-timeline .yic-builder-timeline--modern .yic-builder-timeline__row--has-media .yic-builder-timeline__card {
	border-top-width: 0;
}
.yic-lb-timeline .yic-builder-timeline--modern .yic-builder-timeline__media img {
	filter: contrast(1.02) saturate(0.96);
}
.yic-lb-timeline .yic-builder-timeline--modern .yic-builder-timeline__card:hover {
	transform: translateY(-2px);
	box-shadow: 0 16px 32px -20px color-mix(in srgb, var(--yic-primary, #c2410c) 45%, transparent);
}
/* Cronologia densa: tappe senza foto più compatte. */
.yic-lb-timeline .yic-builder-timeline--modern .yic-builder-timeline__list {
	gap: clamp(1.25rem, 2.5vw, 2rem);
}
.yic-lb-timeline .yic-builder-timeline--modern .yic-builder-timeline__row:not(.yic-builder-timeline__row--has-media) .yic-builder-timeline__card {
	padding: 1.1rem 1.3rem;
}

@media (prefers-reduced-motion: reduce) {
	.yic-lb-pillars .yic-builder-iconbox.yic-card,
	.yic-lb-timeline .yic-builder-timeline--modern .yic-builder-timeline__card {
		transition: none;
	}
	.yic-lb-pillars .yic-builder-iconbox.yic-card--hover:hover,
	.yic-lb-timeline .yic-builder-timeline--modern .yic-builder-timeline__card:hover {
		transform: none;
	}
}

/*
 * Stile card “Classico” (Impostazioni Tema → Componenti → Stile card).
 * Ripristina raggio minore, bordo rosa e hover senza anello spesso.
 */
body.yic-card-style-classic {
	--yic-ui-card-radius: 14px;
	--yic-ui-card-border: var(--yic-outline-variant, #e0bfc0);
	--yic-ui-card-hover-shadow: 0 10px 30px rgba(194, 65, 12, .10);
	--yic-ui-hub-hover-shadow: 0 12px 24px -8px rgba(194, 65, 12, .15);
	--yic-ui-card-title-size: 1.2rem;
	--yic-ui-card-pad: 1.35rem;
	--yic-ui-card-body-gap: 0.5rem;
	--yic-ui-card-icon-margin: 1.35rem 1.35rem 0;
	--yic-ui-card-grid-gap: 1.5rem;
	--yic-ui-card-media-radius: 12px;
	--bpcb-img-radius: 16px;
}
body.yic-card-style-classic .yic-hub-cat {
	border-top: 4px solid var(--yic-outline-variant, #e0bfc0);
}
body.yic-card-style-classic .yic-hub-cat:hover {
	border-top-color: var(--yic-primary-container, #ea580c);
}
body.yic-card-style-classic .yic-hub-cat--disabled:hover {
	border-top-color: var(--yic-outline-variant, #e0bfc0);
}
body.yic-card-style-classic .yic-home-news .yic-post-card__title {
	font-size: 1.1rem;
	letter-spacing: 0;
}
