/*
Theme Name: Santi Martiri dell'Uganda
Theme URI: https://www.santimartiridelluganda.it/
Author: Parrocchia Santi Martiri dell'Uganda
Author URI: https://www.santimartiridelluganda.it/
Description: Tema custom per la Parrocchia dei Santi Martiri dell'Uganda di Roma. Design sobrio e moderno, gestione completa di orari, bacheca avvisi, attività e iscrizioni dal Personalizzatore.
Version: 2.2.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: santi-martiri-uganda
*/

/* ═══════════════════════════════════════════════════════════════
   DESIGN TOKENS
   ─────────────────────────────────────────────────────────────── */
:root {
	/* Inchiostro / superfici */
	--ink:        #111111;
	--ink-soft:   #3a3a38;
	--ink-mute:   #8a857d;
	--paper:      #fafaf7;
	--paper-2:    #f4f1ea;
	--white:      #ffffff;
	--line:       #e8e3d8;
	--line-soft:  #f0ece2;

	/* Brand */
	--wine:       #7B1D2E;
	--wine-dark:  #5A1220;
	--wine-soft:  #f7eef0;
	--gold:       #B8922A;
	--gold-2:     #C9A961;
	--gold-soft:  #f5ecd0;

	/* Tipografia */
	--display:    'Fraunces', 'Iowan Old Style', 'Hoefler Text', Georgia, serif;
	--sans:       'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

	/* Layout */
	--radius:     2px;
	--container:  1180px;
}

/* ═══════════════════════════════════════════════════════════════
   RESET
   ─────────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
	font-family: var(--sans);
	font-size: 16px;
	line-height: 1.6;
	color: var(--ink);
	background: var(--paper);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-feature-settings: 'kern' 1, 'liga' 1;
}
main { display: block; padding-top: 64px; }
a { color: inherit; }
img, svg { display: block; max-width: 100%; }
.smu-icon { display: inline-block; vertical-align: middle; flex-shrink: 0; }

/* ═══════════════════════════════════════════════════════════════
   NAV
   ─────────────────────────────────────────────────────────────── */
.smu-nav {
	position: fixed;
	top: 0; left: 0; right: 0;
	z-index: 300;
	background: rgba(250, 250, 247, 0.92);
	backdrop-filter: saturate(180%) blur(14px);
	-webkit-backdrop-filter: saturate(180%) blur(14px);
	border-bottom: 1px solid var(--line);
	height: 64px;
}
.smu-nav-inner {
	max-width: var(--container);
	height: 100%;
	margin: 0 auto;
	padding: 0 32px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.nav-brand {
	font-family: var(--display);
	font-size: 18px;
	font-weight: 500;
	color: var(--ink);
	text-decoration: none;
	letter-spacing: -0.01em;
	display: inline-flex;
	align-items: center;
	gap: 10px;
}
.nav-brand .smu-icon { color: var(--wine); }

/* Menu orizzontale + hamburger */
.nav-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 2px;
}
.nav-item { margin: 0; padding: 0; list-style: none; }
.nav-item a {
	display: block;
	font-size: 12.5px;
	font-weight: 500;
	color: var(--ink-soft);
	text-decoration: none;
	letter-spacing: 0.01em;
	padding: 8px 12px;
	border-radius: var(--radius);
	transition: color .2s;
	white-space: nowrap;
	position: relative;
}
.nav-item a:hover { color: var(--wine); }
.nav-item.is-active a { color: var(--wine); }
.nav-item.is-active a::after {
	content: "";
	position: absolute;
	left: 12px; right: 12px;
	bottom: 4px;
	height: 1.5px;
	background: var(--gold);
}

/* Hamburger toggle (nascosto su desktop) */
.nav-toggle {
	display: none;
	background: none;
	border: none;
	cursor: pointer;
	padding: 8px;
	flex-direction: column;
	gap: 4px;
}
.nav-toggle span {
	display: block;
	width: 22px;
	height: 1.5px;
	background: var(--ink);
	transition: transform .25s, opacity .25s;
	transform-origin: center;
}

.nav-back {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	font-weight: 500;
	color: var(--ink-soft);
	text-decoration: none;
	padding: 6px 14px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	transition: all .2s;
}
.nav-back:hover { color: var(--wine); border-color: var(--wine); }

@media (max-width: 1099px) {
	.nav-toggle { display: flex; }
	.nav-menu {
		position: absolute;
		top: 100%;
		left: 0; right: 0;
		background: var(--white);
		border-bottom: 1px solid var(--line);
		flex-direction: column;
		gap: 0;
		padding: 12px 32px 24px;
		max-height: 0;
		overflow: hidden;
		transition: max-height .35s ease;
	}
	.smu-nav.is-open .nav-menu { max-height: 600px; }
	.nav-item { width: 100%; }
	.nav-item a {
		padding: 14px 0;
		border-bottom: 1px solid var(--line-soft);
		font-size: 14px;
	}
	.nav-item:last-child a { border-bottom: none; }
	.nav-item.is-active a::after { display: none; }
	.nav-item.is-active a {
		padding-left: 14px;
		border-left: 2px solid var(--gold);
	}
	.smu-nav.is-open .nav-toggle span:nth-child(1) {
		transform: translateY(5.5px) rotate(45deg);
	}
	.smu-nav.is-open .nav-toggle span:nth-child(2) { opacity: 0; }
	.smu-nav.is-open .nav-toggle span:nth-child(3) {
		transform: translateY(-5.5px) rotate(-45deg);
	}
}
@media (max-width: 640px) {
	.smu-nav-inner { padding: 0 20px; }
	.nav-brand-text { display: none; }
	.nav-menu { padding: 12px 20px 20px; }
}

/* ═══════════════════════════════════════════════════════════════
   HERO HOME — Split layout (testo a sinistra, immagine a destra)
   ─────────────────────────────────────────────────────────────── */
.home-hero {
	background: var(--wine);
	color: var(--white);
	min-height: 600px;
	position: relative;
	overflow: hidden;
	border-bottom: none;
}

/* Senza immagini: fallback centrato */
.home-hero:not(.has-bg) {
	padding: 110px 32px 96px;
	text-align: center;
	display: block;
}
.home-hero:not(.has-bg) .home-hero-left {
	max-width: 760px;
	margin: 0 auto;
	padding: 0;
	display: block;
	text-align: center;
}
.home-hero:not(.has-bg) .hero-eye::after {
	content: ""; display: inline-block;
	width: 36px; height: 1px;
	background: var(--gold-2);
	margin-left: 14px;
	opacity: .7;
}
.home-hero:not(.has-bg) .hero-sub {
	margin-left: auto;
	margin-right: auto;
}
.home-hero:not(.has-bg) .hero-byline {
	justify-content: center;
}

/* Con immagini: split */
.home-hero.has-bg {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
}
.home-hero-left {
	padding: 96px 56px 96px 80px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	position: relative;
	z-index: 2;
}
.home-hero-right {
	position: relative;
	overflow: hidden;
	min-height: 600px;
}
.hero-slides {
	position: absolute; inset: 0; z-index: 0;
}
.hero-slide {
	position: absolute; inset: 0;
	background-size: cover; background-position: center;
	opacity: 0;
	transition: opacity 1.4s ease-in-out;
}
.hero-slide.is-active { opacity: 1; }
.home-hero-right::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(90deg,
		rgba(123, 29, 46, .92) 0%,
		rgba(123, 29, 46, .55) 22%,
		rgba(123, 29, 46, .25) 60%,
		rgba(123, 29, 46, .15) 100%);
	z-index: 1; pointer-events: none;
}

/* Contenuto pannello */
.hero-eye {
	display: inline-flex;
	align-items: center;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--gold-2);
	margin-bottom: 28px;
}
.hero-eye::before {
	content: ""; display: inline-block;
	width: 36px; height: 1px;
	background: var(--gold-2);
	margin-right: 14px;
	opacity: .7;
}
.hero-t {
	font-family: var(--display);
	font-size: clamp(46px, 5.4vw, 78px);
	font-weight: 400;
	color: var(--white);
	line-height: 1.0;
	letter-spacing: -0.025em;
	margin-bottom: 24px;
}
.hero-t em {
	font-style: italic;
	color: var(--gold-2);
	display: block;
	margin-top: 6px;
}
.hero-sub {
	font-size: 16px;
	color: rgba(255, 255, 255, .75);
	line-height: 1.65;
	margin-bottom: 36px;
	max-width: 440px;
	font-weight: 300;
}
.hero-btn {
	background: var(--wine-dark);
	color: var(--white);
	padding: 16px 30px;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	border: 1px solid rgba(255, 255, 255, .18);
	transition: all .25s;
	margin-bottom: 28px;
}
.hero-btn:hover {
	background: var(--ink);
	border-color: var(--ink);
}
.hero-btn .smu-icon { transition: transform .25s; }
.hero-btn:hover .smu-icon { transform: translateX(4px); }

.hero-byline {
	font-size: 11px;
	letter-spacing: 0.18em;
	color: rgba(255, 255, 255, .55);
	text-transform: uppercase;
	display: inline-flex;
	align-items: center;
	gap: 10px;
}
.hero-byline .smu-icon { color: var(--gold-2); }

/* Pagination dots */
.hero-dots {
	position: absolute;
	bottom: 36px;
	left: 80px;
	display: flex;
	gap: 8px;
	z-index: 3;
}
.hero-dot {
	width: 32px;
	height: 2px;
	background: rgba(255, 255, 255, .22);
	transition: background .3s;
	border: none;
	padding: 0;
	cursor: pointer;
}
.hero-dot.is-active { background: var(--gold-2); }
.hero-dot:hover { background: rgba(255, 255, 255, .45); }

@media (max-width: 880px) {
	.home-hero.has-bg {
		grid-template-columns: 1fr;
		min-height: auto;
	}
	.home-hero.has-bg .home-hero-right {
		min-height: 320px;
		order: -1;
	}
	.home-hero.has-bg .home-hero-left {
		padding: 56px 32px;
	}
	.hero-dots { left: 32px; bottom: 24px; }
}

/* ═══════════════════════════════════════════════════════════════
   INFO GRID HOME
   ─────────────────────────────────────────────────────────────── */
.home-grid-wrap {
	max-width: var(--container);
	margin: 80px auto;
	padding: 0 32px;
}
.home-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 1px;
	background: var(--line);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	overflow: hidden;
}
@media (max-width: 880px) { .home-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 580px) { .home-grid { grid-template-columns: 1fr; } }

.col-card {
	background: var(--white);
	padding: 32px 28px;
}
.col-head {
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ink);
	display: flex;
	align-items: center;
	gap: 10px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--line);
}
.col-head .smu-icon { color: var(--gold); }

.orario-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 14px 0;
	border-bottom: 1px solid var(--line-soft);
	gap: 16px;
}
.orario-row:last-of-type { border-bottom: none; }
.og { font-size: 14px; color: var(--ink-soft); }
.oo {
	font-family: var(--display);
	font-size: 16px;
	font-weight: 400;
	color: var(--ink);
	text-align: right;
	letter-spacing: -0.005em;
}
.orario-row.hi .og { color: var(--wine); font-weight: 500; }
.orario-row.hi .oo { color: var(--wine); }
.orario-note {
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px solid var(--line-soft);
	font-size: 12.5px;
	color: var(--ink-mute);
	line-height: 1.55;
	font-style: italic;
}

.contact-item {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 14px 0;
	border-bottom: 1px solid var(--line-soft);
}
.contact-item:last-of-type { border-bottom: none; }
.ci-icon { color: var(--gold); margin-top: 2px; }
.ci-label {
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink-mute);
	margin-bottom: 4px;
}
.ci-val { font-size: 14px; color: var(--ink); line-height: 1.55; }
.ci-val a { color: var(--wine); text-decoration: none; transition: opacity .2s; }
.ci-val a:hover { opacity: .75; }

.avviso {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	padding: 16px 0;
	border-bottom: 1px solid var(--line-soft);
}
.avviso:last-of-type { border-bottom: none; }
.av-d { flex-shrink: 0; text-align: center; min-width: 44px; padding-top: 2px; }
.av-d .g {
	font-family: var(--display);
	font-size: 24px;
	font-weight: 400;
	line-height: 1;
	color: var(--wine);
	display: block;
}
.av-d .m {
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink-mute);
	margin-top: 4px;
	display: block;
}
.av-tag {
	display: inline-block;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 3px 8px;
	border: 1px solid var(--gold);
	color: var(--gold);
	border-radius: var(--radius);
	margin-bottom: 6px;
}
.av-tag.g { border-color: #4a7e58; color: #4a7e58; }
.av-tag.b { border-color: #3666a3; color: #3666a3; }
.av-t {
	font-size: 14.5px;
	font-weight: 500;
	color: var(--ink);
	margin-bottom: 4px;
	line-height: 1.35;
}
.av-tx { font-size: 13px; color: var(--ink-mute); line-height: 1.55; }
.av-empty { padding: 32px 0; text-align: center; color: var(--ink-mute); font-size: 14px; }
.av-empty a { color: var(--wine); text-decoration: none; font-weight: 500; }
.av-empty a:hover { opacity: .75; }

/* ═══════════════════════════════════════════════════════════════
   5×1000
   ─────────────────────────────────────────────────────────────── */
.strip-5x {
	background: var(--wine);
	color: var(--white);
	padding: 96px 32px;
}
.strip-5x-inner {
	max-width: var(--container);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 80px;
	align-items: center;
}
@media (max-width: 880px) { .strip-5x-inner { grid-template-columns: 1fr; gap: 48px; } }

.s5-label {
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--gold-2);
	margin-bottom: 20px;
	display: inline-flex;
	align-items: center;
}
.s5-label::before {
	content: ""; display: inline-block;
	width: 28px; height: 1px;
	background: var(--gold-2);
	margin-right: 14px;
}
.s5-title {
	font-family: var(--display);
	font-size: clamp(32px, 4vw, 48px);
	font-weight: 400;
	color: var(--white);
	line-height: 1.05;
	letter-spacing: -0.02em;
	margin-bottom: 24px;
}
.s5-text {
	font-size: 15px;
	color: rgba(255,255,255,.7);
	line-height: 1.75;
	margin-bottom: 32px;
	max-width: 480px;
}
.s5-text strong { color: var(--gold-2); font-weight: 500; }
.s5-table { border-top: 1px solid rgba(255,255,255,.12); }
.s5-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 14px 0;
	border-bottom: 1px solid rgba(255,255,255,.08);
	gap: 16px;
	font-size: 14px;
}
.s5-rl { color: rgba(255,255,255,.45); letter-spacing: 0.02em; }
.s5-rv { font-family: var(--display); color: var(--white); text-align: right; }
.s5-rv.gold { color: var(--gold-2); letter-spacing: 0.04em; }
.s5-rv.mono {
	font-family: var(--sans);
	font-feature-settings: 'tnum';
	letter-spacing: 0.04em;
	font-size: 13.5px;
}
.s5-hint {
	margin-top: 32px;
	padding: 20px 24px;
	border: 1px solid rgba(184, 146, 42, .25);
	border-left: 2px solid var(--gold-2);
	background: rgba(184, 146, 42, .05);
}
.s5-hint strong {
	display: block;
	color: var(--gold-2);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-bottom: 8px;
}
.s5-hint p { font-size: 14px; color: rgba(255,255,255,.65); line-height: 1.7; }
.s5-img img { width: 100%; max-width: 480px; display: block; }
.s5-img p {
	font-size: 12.5px;
	color: rgba(255,255,255,.4);
	margin-top: 14px;
	font-style: italic;
	letter-spacing: 0.02em;
}

/* ═══════════════════════════════════════════════════════════════
   ATTIVITÀ GRID
   ─────────────────────────────────────────────────────────────── */
.attivita-section { max-width: var(--container); margin: 0 auto; padding: 96px 32px; }
.attivita-head { text-align: center; margin-bottom: 64px; }
.attivita-head .t-eye {
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--gold);
	margin-bottom: 18px;
	display: inline-flex;
	align-items: center;
}
.attivita-head .t-eye::before, .attivita-head .t-eye::after {
	content: ""; display: inline-block;
	width: 28px; height: 1px;
	background: var(--gold);
	opacity: .5;
	margin: 0 14px;
}
.attivita-head h2 {
	font-family: var(--display);
	font-size: clamp(32px, 4vw, 44px);
	font-weight: 400;
	color: var(--ink);
	letter-spacing: -0.02em;
	margin-bottom: 14px;
	line-height: 1.05;
}
.attivita-head p {
	font-size: 15px;
	color: var(--ink-mute);
	max-width: 540px;
	margin: 0 auto;
	line-height: 1.65;
}
.att-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
@media (max-width: 880px) { .att-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .att-grid { grid-template-columns: 1fr; } }

.att-card {
	display: block;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 36px 32px 32px;
	text-decoration: none;
	color: inherit;
	transition: border-color .25s, transform .25s;
}
.att-card:hover { border-color: var(--ink); transform: translateY(-2px); }
.att-card-icon { color: var(--gold); margin-bottom: 28px; }
.att-card-name {
	font-family: var(--display);
	font-size: 22px;
	font-weight: 400;
	color: var(--ink);
	letter-spacing: -0.01em;
	margin-bottom: 8px;
	line-height: 1.2;
}
.att-card-desc {
	font-size: 14px;
	color: var(--ink-mute);
	line-height: 1.6;
	margin-bottom: 24px;
}
.att-card-cta {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wine);
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: gap .25s;
}
.att-card:hover .att-card-cta { gap: 12px; }

/* Variante card con immagine di sfondo */
.att-card.has-img {
	position: relative;
	overflow: hidden;
	min-height: 320px;
	border: none;
	padding: 24px;
	display: flex;
	flex-direction: column;
	color: var(--white);
}
.att-card-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	transition: transform .7s ease;
	z-index: 0;
}
.att-card.has-img:hover .att-card-bg { transform: scale(1.06); }
.att-card.has-img::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(20,8,12,.05) 0%, rgba(20,8,12,.1) 35%, rgba(20,8,12,.85) 100%);
	z-index: 1;
	pointer-events: none;
}
.att-card.has-img > .att-card-icon,
.att-card.has-img > .att-card-text { position: relative; z-index: 2; }
.att-card.has-img > .att-card-icon {
	width: 44px; height: 44px;
	border-radius: 50%;
	background: rgba(255,255,255,.95);
	color: var(--wine);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 0;
	align-self: flex-start;
}
.att-card.has-img > .att-card-text { margin-top: auto; }
.att-card.has-img .att-card-name { color: var(--white); margin-bottom: 8px; }
.att-card.has-img .att-card-desc { color: rgba(255, 255, 255, .85); margin-bottom: 16px; }
.att-card.has-img .att-card-cta { color: var(--gold-2); }
.att-card.has-img:hover { transform: translateY(-2px); }

/* ═══════════════════════════════════════════════════════════════
   ACTIVITY PAGE
   ─────────────────────────────────────────────────────────────── */
.act-hero {
	background: var(--paper);
	padding: 88px 32px 64px;
	border-bottom: 1px solid var(--line);
	position: relative;
	overflow: hidden;
}
/* Variante con immagine */
.act-hero.has-bg {
	background: var(--wine-dark);
	border-bottom: none;
	padding: 120px 32px 96px;
	min-height: 380px;
}
.act-hero-bg {
	position: absolute; inset: 0;
	background-size: cover; background-position: center;
	z-index: 0;
}
.act-hero-overlay {
	position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(20,8,12,.45) 0%, rgba(20,8,12,.7) 100%);
	z-index: 1;
}
.act-hero.has-bg .act-hero-inner {
	position: relative; z-index: 2;
}
.act-hero.has-bg .act-hero-icon {
	background: rgba(255,255,255,.95);
	color: var(--wine);
	border: none;
}
.act-hero.has-bg .act-label { color: var(--gold-2); }
.act-hero.has-bg .act-title { color: var(--white); }
.act-hero.has-bg .act-sub { color: rgba(255,255,255,.78); }
.act-hero-inner {
	max-width: var(--container);
	margin: 0 auto;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 40px;
	align-items: center;
}
@media (max-width: 720px) {
	.act-hero-inner { grid-template-columns: 1fr; gap: 24px; }
}
.act-hero-icon {
	width: 72px; height: 72px;
	border: 1px solid var(--line);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--wine);
	background: var(--white);
}
.act-label {
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--gold);
	margin-bottom: 12px;
}
.act-title {
	font-family: var(--display);
	font-size: clamp(36px, 5vw, 56px);
	font-weight: 400;
	color: var(--ink);
	line-height: 1.0;
	letter-spacing: -0.02em;
	margin-bottom: 12px;
}
.act-sub {
	font-size: 15px;
	color: var(--ink-mute);
	font-family: var(--display);
	font-style: italic;
}
.act-body { max-width: var(--container); margin: 0 auto; padding: 80px 32px 120px; }
.act-intro {
	font-size: 18px;
	color: var(--ink-soft);
	line-height: 1.7;
	margin-bottom: 64px;
	max-width: 720px;
	font-weight: 300;
}
.act-intro p + p { margin-top: 1em; }

.two {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: start;
}
@media (max-width: 880px) { .two { grid-template-columns: 1fr; gap: 32px; } }
.three { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 720px) { .three { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .three { grid-template-columns: 1fr; } }

.ic {
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 28px;
}
.ic.dk { background: var(--ink); border-color: rgba(255,255,255,.08); color: var(--white); }
.ic-t {
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ink);
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 20px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--line);
}
.ic-t .smu-icon { color: var(--gold); }
.ic.dk .ic-t { color: var(--gold-2); border-bottom-color: rgba(255,255,255,.1); }
.irow {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	border-bottom: 1px solid var(--line-soft);
	padding: 12px 0;
	font-size: 14px;
	gap: 16px;
}
.ic.dk .irow { border-bottom-color: rgba(255,255,255,.06); }
.irow:last-child { border-bottom: none; padding-bottom: 0; }
.il { color: var(--ink-mute); }
.ic.dk .il { color: rgba(255,255,255,.5); }
.iv {
	font-family: var(--display);
	font-weight: 400;
	color: var(--ink);
	text-align: right;
	letter-spacing: -0.005em;
}
.ic.dk .iv { color: rgba(255,255,255,.92); }
.iv a { color: var(--wine); text-decoration: none; }
.iv a:hover { opacity: .75; }

.sec-t {
	font-family: var(--display);
	font-size: clamp(24px, 3vw, 32px);
	font-weight: 400;
	color: var(--ink);
	letter-spacing: -0.015em;
	margin-bottom: 8px;
	line-height: 1.15;
}
.divider {
	display: inline-block;
	width: 32px;
	height: 1px;
	background: var(--gold);
	margin: 8px 0 24px;
}

.hint-box {
	margin-top: 32px;
	padding: 18px 22px;
	background: var(--paper-2);
	border-left: 2px solid var(--gold);
	font-size: 14px;
	color: var(--ink-soft);
	line-height: 1.65;
	display: flex;
	align-items: flex-start;
	gap: 12px;
}
.hint-box .smu-icon { color: var(--gold); margin-top: 2px; flex-shrink: 0; }
.hint-box a { color: var(--wine); font-weight: 500; text-decoration: none; }
.hint-box a:hover { opacity: .75; }

.alert-box {
	padding: 20px 24px;
	background: #fef9ed;
	border: 1px solid #f4d68a;
	border-left: 2px solid #c98a18;
	margin-bottom: 32px;
	display: flex;
	align-items: flex-start;
	gap: 14px;
	font-size: 14px;
	color: #5a4a1e;
	line-height: 1.65;
	border-radius: var(--radius);
}
.alert-box .smu-icon { color: #c98a18; flex-shrink: 0; margin-top: 2px; }
.alert-box strong { display: block; margin-bottom: 6px; color: #443714; font-weight: 600; }

.feats { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 480px) { .feats { grid-template-columns: 1fr; } }
.feat {
	padding: 20px 22px;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius);
}
.feat-i { color: var(--gold); margin-bottom: 10px; }
.feat-t {
	font-family: var(--display);
	font-size: 17px;
	font-weight: 500;
	color: var(--ink);
	margin-bottom: 4px;
	letter-spacing: -0.005em;
}
.feat-d { font-size: 13.5px; color: var(--ink-mute); line-height: 1.55; }

.icard-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 16px;
}
.icard {
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 28px 26px;
	transition: border-color .25s;
}
.icard:hover { border-color: var(--ink); }
.icard-icon { color: var(--gold); margin-bottom: 16px; }
.icard-t {
	font-family: var(--display);
	font-size: 19px;
	font-weight: 500;
	color: var(--ink);
	letter-spacing: -0.01em;
	margin-bottom: 6px;
}
.icard-d { font-size: 14px; color: var(--ink-mute); line-height: 1.6; }

.spett {
	background: var(--ink);
	color: var(--white);
	padding: 32px 28px;
	border-radius: var(--radius);
	text-align: center;
}
.spett-y {
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--gold-2);
	margin-bottom: 16px;
}
.spett-t {
	font-family: var(--display);
	font-size: 26px;
	font-weight: 400;
	color: var(--white);
	margin-bottom: 8px;
	letter-spacing: -0.01em;
	line-height: 1.15;
}
.spett-s {
	font-family: var(--display);
	font-style: italic;
	font-size: 14px;
	color: rgba(255,255,255,.55);
	margin-bottom: 18px;
}
.spett-d {
	display: inline-block;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.04em;
	color: var(--gold-2);
	padding: 8px 18px;
	border: 1px solid rgba(212, 172, 82, .35);
	border-radius: var(--radius);
}

.fase { display: flex; gap: 18px; align-items: flex-start; margin-bottom: 22px; }
.fase-n {
	width: 32px; height: 32px;
	border-radius: 50%;
	border: 1px solid var(--line);
	color: var(--wine);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--display);
	font-size: 14px;
	font-weight: 500;
	flex-shrink: 0;
}
.fase-b h4 {
	font-family: var(--display);
	font-size: 17px;
	font-weight: 500;
	color: var(--ink);
	margin-bottom: 4px;
	letter-spacing: -0.005em;
}
.fase-b p { font-size: 13.5px; color: var(--ink-mute); line-height: 1.6; }

.mat {
	display: inline-block;
	font-size: 12.5px;
	font-weight: 500;
	color: var(--ink);
	padding: 6px 12px;
	border: 1px solid var(--line);
	border-radius: 999px;
	background: var(--white);
}

.qbox {
	background: var(--ink);
	color: var(--white);
	padding: 28px;
	border-radius: var(--radius);
}
.qbox h3 {
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--gold-2);
	margin-bottom: 16px;
	padding-bottom: 14px;
	border-bottom: 1px solid rgba(255,255,255,.1);
}
.qi { padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.06); }
.qi:last-child { border-bottom: none; padding-bottom: 0; }
.qn { font-size: 13px; color: rgba(255,255,255,.55); margin-bottom: 4px; }
.qv {
	font-family: var(--display);
	font-size: 20px;
	font-weight: 400;
	color: var(--white);
	letter-spacing: -0.01em;
}

.rep-box {
	background: var(--ink);
	color: var(--white);
	padding: 28px;
	border-radius: var(--radius);
}
.rep-box h3 {
	font-family: var(--display);
	font-size: 19px;
	font-weight: 400;
	color: var(--gold-2);
	margin-bottom: 16px;
	letter-spacing: -0.005em;
}
.rep-i {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	margin-bottom: 12px;
	font-size: 14px;
	color: rgba(255,255,255,.65);
	line-height: 1.55;
}
.rep-dot { width: 4px; height: 4px; border-radius: 50%; background: var(--gold-2); flex-shrink: 0; margin-top: 9px; }

.btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: var(--wine);
	color: var(--white);
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 14px 28px;
	border-radius: var(--radius);
	text-decoration: none;
	border: none;
	cursor: pointer;
	transition: background .2s;
}
.btn:hover { background: var(--wine-dark); }
.btn-ghost { background: transparent; color: var(--ink); border: 1px solid var(--ink); }
.btn-ghost:hover { background: var(--ink); color: var(--white); }

/* Form (Forminator/CF7) */
.form-wrap {
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 40px;
}
@media (max-width: 540px) { .form-wrap { padding: 24px; } }
.form-wrap-eye {
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--gold);
	margin-bottom: 8px;
}
.form-wrap h3 {
	font-family: var(--display);
	font-size: 28px;
	font-weight: 400;
	color: var(--ink);
	letter-spacing: -0.015em;
	margin-bottom: 6px;
	line-height: 1.15;
}
.form-wrap-sub { font-size: 14px; color: var(--ink-mute); margin-bottom: 28px; }
.form-wrap input[type=text],
.form-wrap input[type=email],
.form-wrap input[type=tel],
.form-wrap input[type=date],
.form-wrap input[type=number],
.form-wrap select,
.form-wrap textarea {
	background: var(--paper);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 12px 14px;
	font-family: var(--sans);
	font-size: 14.5px;
	color: var(--ink);
	width: 100%;
	transition: border-color .2s, background .2s;
}
.form-wrap input:focus, .form-wrap select:focus, .form-wrap textarea:focus {
	outline: none;
	border-color: var(--ink);
	background: var(--white);
}
.form-wrap label {
	font-size: 12.5px;
	font-weight: 500;
	letter-spacing: 0.04em;
	color: var(--ink-soft);
	display: block;
	margin-bottom: 6px;
}
.form-wrap button[type=submit],
.form-wrap input[type=submit] {
	background: var(--wine);
	color: var(--white);
	border: none;
	padding: 14px 32px;
	border-radius: var(--radius);
	cursor: pointer;
	font-family: var(--sans);
	font-weight: 500;
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	transition: background .2s;
}
.form-wrap button[type=submit]:hover, .form-wrap input[type=submit]:hover { background: var(--wine-dark); }

/* Rassegna stampa */
.rs-list { display: flex; flex-direction: column; gap: 20px; }
.rs-card {
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	display: grid;
	grid-template-columns: 120px 1fr;
	overflow: hidden;
	transition: border-color .25s;
}
.rs-card:hover { border-color: var(--ink); }
@media (max-width: 540px) { .rs-card { grid-template-columns: 90px 1fr; } }
.rs-meta {
	background: var(--paper-2);
	padding: 24px 18px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	border-right: 1px solid var(--line);
}
.rs-meta-icon { color: var(--gold); margin-bottom: 8px; }
.rs-meta-date { font-family: var(--display); font-size: 14px; color: var(--ink); letter-spacing: -0.005em; }
.rs-body { padding: 24px 28px; }
.rs-testata {
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ink-mute);
	margin-bottom: 8px;
}
.rs-title {
	font-family: var(--display);
	font-size: 20px;
	font-weight: 400;
	color: var(--ink);
	letter-spacing: -0.01em;
	margin-bottom: 8px;
	line-height: 1.25;
}
.rs-excerpt { font-size: 14px; color: var(--ink-mute); line-height: 1.6; margin-bottom: 12px; }
.rs-link {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wine);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: gap .25s;
}
.rs-link:hover { gap: 10px; }

/* ═══════════════════════════════════════════════════════════════
   FOOTER
   ─────────────────────────────────────────────────────────────── */
.smu-footer {
	background: var(--wine);
	color: rgba(255,255,255,.75);
	padding: 64px 32px 48px;
	text-align: center;
}
.f-mark { color: var(--gold-2); margin: 0 auto 18px; display: inline-flex; justify-content: center; }
.f-name {
	font-family: var(--display);
	font-size: 20px;
	font-weight: 400;
	color: var(--white);
	margin-bottom: 8px;
	letter-spacing: -0.01em;
}
.f-sub { font-size: 13px; color: rgba(255,255,255,.45); margin-bottom: 36px; letter-spacing: 0.02em; }
.f-copy {
	font-size: 12px;
	color: rgba(255,255,255,.3);
	padding-top: 24px;
	border-top: 1px solid rgba(255,255,255,.08);
	max-width: 480px;
	margin: 0 auto;
}

/* WP reset */
.entry-title { display: none; }
.admin-bar .smu-nav { top: 32px; }
@media screen and (max-width: 782px) {
	.admin-bar .smu-nav { top: 46px; }
}
