:root{--color-black:#11100d;--color-black-soft:#1a1713;--color-cream:#f4eadb;--color-cream-soft:#fff8ef;--color-sage:#8a9b7a;--color-coffee:#4b3327;--color-spritz:#d9824b;--color-text:#fff8ef;--color-text-dark:#17130f;--font-heading:Georgia,"Times New Roman",serif;--font-body:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--container:min(1120px,calc(100vw - 40px));--radius-pill:999px;--header-height:84px}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);background:var(--color-black);color:var(--color-text);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}img,picture,video{display:block;max-width:100%}a{color:inherit}button,input,textarea,select{font:inherit}.site-header{position:fixed;z-index:100;top:0;left:0;width:100%;color:var(--color-cream-soft);pointer-events:none}.site-header__inner{width:var(--container);min-height:var(--header-height);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;pointer-events:auto}.site-header__logo{text-decoration:none;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.site-header__brand{font-size:.9rem}.custom-logo,.site-header__logo-image{max-height:56px;width:auto}.site-header__actions{display:flex;align-items:center;gap:12px}.site-header__menu-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border:1px solid rgba(255,248,239,.45);border-radius:var(--radius-pill);text-decoration:none;font-size:.9rem;backdrop-filter:blur(12px);background:rgba(17,16,13,.28)}.site-header__toggle{width:46px;height:46px;border:1px solid rgba(255,248,239,.45);border-radius:50%;background:rgba(17,16,13,.28);backdrop-filter:blur(12px);color:currentColor;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer}.site-header__toggle-line{width:18px;height:2px;background:currentColor;border-radius:2px}.hero{position:relative;min-height:100vh;min-height:100svh;display:grid;place-items:center;overflow:hidden;background:var(--color-black);isolation:isolate}.hero__media,.hero__image,.hero__video{position:absolute;inset:0;width:100%;height:100%}.hero__image,.hero__video{object-fit:cover;object-position:center;transform:scale(1.02)}.hero__fallback{background:radial-gradient(circle at 70% 30%,rgba(217,130,75,.35),transparent 28%),linear-gradient(135deg,var(--color-black),var(--color-coffee))}.hero__overlay{position:absolute;inset:0;z-index:1;background:var(--hero-overlay-color,#11100d);opacity:var(--hero-overlay-opacity,.38)}.hero__content{position:relative;z-index:2;width:var(--container);padding:calc(var(--header-height) + 48px) 0 72px;text-align:center}.hero__logo-wrap{display:flex;justify-content:center;margin:0 0 26px}.hero__logo-image{max-width:min(360px,52vw);max-height:240px;width:auto;height:auto}.hero__eyebrow{margin:0 0 24px;font-size:clamp(.75rem,1.5vw,.95rem);text-transform:uppercase;letter-spacing:.16em;color:rgba(255,248,239,.82)}.hero__title{max-width:760px;margin:0 auto;font-family:var(--font-heading);font-size:clamp(2.4rem,5.25vw,5.6rem);line-height:.95;font-weight:500;letter-spacing:-.055em}.hero__subtitle{max-width:620px;margin:28px auto 0;font-size:clamp(1rem,2vw,1.25rem);line-height:1.55;color:rgba(255,248,239,.88)}.hero__actions{margin-top:36px;display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:var(--radius-pill);text-decoration:none;font-size:.95rem;font-weight:650;border:1px solid transparent;transition:transform 180ms ease,background-color 180ms ease,border-color 180ms ease}.button:hover{transform:translateY(-2px)}.button--primary{background:var(--color-cream-soft);color:var(--color-text-dark)}.button--secondary{border-color:rgba(255,248,239,.55);color:var(--color-cream-soft);background:rgba(255,248,239,.08)}.button--ghost{border-color:rgba(255,248,239,.28);color:var(--color-cream-soft);background:rgba(17,16,13,.22)}.hero__scroll{position:absolute;z-index:2;left:50%;bottom:26px;width:34px;height:54px;transform:translateX(-50%);border:1px solid rgba(255,248,239,.45);border-radius:999px;display:flex;align-items:flex-start;justify-content:center;padding-top:10px;text-decoration:none}.hero__scroll span{width:4px;height:9px;border-radius:4px;background:var(--color-cream-soft);animation:bgig-scroll-dot 1.5s ease-in-out infinite}@keyframes bgig-scroll-dot{0%{transform:translateY(0);opacity:1}70%{transform:translateY(18px);opacity:0}100%{transform:translateY(0);opacity:0}}.fullscreen-menu{position:fixed;inset:0;z-index:200;visibility:hidden;pointer-events:none}.fullscreen-menu.is-open{visibility:visible;pointer-events:auto}.fullscreen-menu__panel{position:absolute;inset:0;background:var(--color-black-soft);color:var(--color-cream-soft);transform:translateY(-100%);transition:transform 620ms cubic-bezier(.22,1,.36,1);overflow-y:auto}.fullscreen-menu.is-open .fullscreen-menu__panel{transform:translateY(0)}.fullscreen-menu__close{position:fixed;top:24px;right:24px;z-index:2;width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,248,239,.42);background:transparent;color:currentColor;font-size:2rem;cursor:pointer}.fullscreen-menu__content{width:var(--container);min-height:100vh;margin:0 auto;padding:120px 0 64px;display:flex;flex-direction:column;justify-content:center;gap:48px}.fullscreen-menu__list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.fullscreen-menu__list a{display:inline-block;font-family:var(--font-heading);font-size:clamp(3rem,8vw,7.5rem);line-height:.95;text-decoration:none;letter-spacing:-.06em}.fullscreen-menu__list .sub-menu{list-style:none;margin:12px 0 24px;padding:0;display:flex;flex-wrap:wrap;gap:12px}.fullscreen-menu__list .sub-menu a{font-family:var(--font-body);font-size:1rem;letter-spacing:0;border:1px solid rgba(255,248,239,.28);border-radius:var(--radius-pill);padding:10px 16px}.fullscreen-menu__quick{display:flex;flex-wrap:wrap;gap:12px}.fullscreen-menu__quick a{border:1px solid rgba(255,248,239,.3);border-radius:var(--radius-pill);padding:10px 16px;text-decoration:none}.site-footer{background:var(--color-black);color:var(--color-cream-soft);padding:48px 0}.site-footer__inner{width:var(--container);margin:0 auto;display:grid;gap:18px}.site-footer__brand,.site-footer__credit{margin:0}.site-footer__menu{display:flex;flex-wrap:wrap;gap:16px;list-style:none;margin:0;padding:0}.site-footer__menu a{text-decoration:none;color:rgba(255,248,239,.72)}body.menu-is-open{overflow:hidden}.site-main--default,.default-page{min-height:60vh;padding:140px 20px;text-align:center;background:var(--color-black);color:var(--color-text)}@media (max-width:767px){:root{--container:min(100vw - 28px,100%);--header-height:72px}.site-header__menu-link{display:none}.custom-logo,.site-header__logo-image{max-height:46px}.hero__logo-wrap{justify-content:flex-start}.hero__logo-image{max-width:230px;max-height:150px}.hero__content{text-align:left;padding-bottom:96px}.hero__title{margin-left:0;font-size:clamp(3.4rem,17vw,5.8rem)}.hero__subtitle{margin-left:0}.hero__actions{justify-content:flex-start;display:grid;grid-template-columns:1fr 1fr}.button{min-height:50px;padding:0 16px}.fullscreen-menu__list a{font-size:clamp(3rem,15vw,5rem)}.fullscreen-menu__content{padding-top:104px}}

.section-kicker{margin:0 0 18px;font-size:.78rem;text-transform:uppercase;letter-spacing:.17em;color:var(--color-spritz);font-weight:700}.manifesto{background:var(--color-cream);color:var(--color-text-dark);padding:clamp(72px,12vw,160px) 0}.manifesto__inner{width:var(--container);margin:0 auto}.manifesto__title{max-width:760px;margin:0;font-family:var(--font-heading);font-size:clamp(2.4rem,5.25vw,5.6rem);line-height:.95;letter-spacing:-.055em;font-weight:500}.manifesto__text{max-width:680px;margin:32px 0 0;font-size:clamp(1.1rem,2vw,1.45rem);line-height:1.55}.manifesto__words{list-style:none;margin:44px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:12px}.manifesto__words li{border:1px solid rgba(23,19,15,.22);border-radius:var(--radius-pill);padding:10px 16px;background:rgba(255,255,255,.35)}.moments{background:var(--color-black-soft);color:var(--color-cream-soft);padding:clamp(72px,10vw,140px) 0;overflow:hidden}.moments__intro{width:var(--container);margin:0 auto 46px}.moments__title{max-width:760px;margin:0;font-family:var(--font-heading);font-size:clamp(3rem,7vw,6.5rem);line-height:.95;letter-spacing:-.055em;font-weight:500}.moments__text{max-width:600px;margin:24px 0 0;color:rgba(255,248,239,.78);font-size:1.15rem;line-height:1.55}.moments__track{width:var(--container);margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.moment-card{position:relative;min-height:560px;border:1px solid rgba(255,248,239,.14);border-radius:32px;overflow:hidden;background:var(--color-black);isolation:isolate}.moment-card__media{position:absolute;inset:0;z-index:-2}.moment-card__media img,.moment-card__fallback{width:100%;height:100%;object-fit:cover}.moment-card__fallback{background:radial-gradient(circle at 70% 20%,rgba(217,130,75,.34),transparent 30%),linear-gradient(145deg,var(--color-coffee),var(--color-black))}.moment-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(17,16,13,.86),rgba(17,16,13,.24),rgba(17,16,13,.08))}.moment-card__content{position:absolute;left:24px;right:24px;bottom:28px}.moment-card__number{display:inline-block;margin-bottom:16px;color:rgba(255,248,239,.58);letter-spacing:.16em;font-size:.78rem}.moment-card h3{margin:0;font-family:var(--font-heading);font-size:clamp(2.6rem,4vw,4.8rem);line-height:.95;letter-spacing:-.055em;font-weight:500}.moment-card p{margin:18px 0 0;color:rgba(255,248,239,.84);line-height:1.5}.moment-card__link{display:inline-flex;margin-top:22px;border:1px solid rgba(255,248,239,.35);border-radius:var(--radius-pill);padding:10px 15px;text-decoration:none;background:rgba(17,16,13,.24);backdrop-filter:blur(10px)}.menu-online{background:var(--color-cream);color:var(--color-text-dark);padding:clamp(72px,10vw,140px) 0}.menu-online__inner{width:var(--container);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.8fr);gap:clamp(32px,7vw,90px);align-items:center}.menu-online h2{margin:0;font-family:var(--font-heading);font-size:clamp(3rem,7vw,6.4rem);line-height:.95;letter-spacing:-.055em;font-weight:500}.menu-online p{max-width:620px;font-size:1.15rem;line-height:1.6;margin:24px 0 30px}.menu-online__visual{min-height:420px;border-radius:36px;background:linear-gradient(145deg,var(--color-black),var(--color-coffee));display:grid;place-items:center;overflow:hidden}.menu-online__visual img{width:100%;height:100%;object-fit:cover}.menu-online__mockup{width:min(260px,80%);aspect-ratio:9/14;border:1px solid rgba(255,248,239,.28);border-radius:34px;color:var(--color-cream-soft);display:grid;place-items:center;text-align:center;background:rgba(255,255,255,.06);box-shadow:0 24px 70px rgba(0,0,0,.32)}.menu-online__mockup span{font-family:var(--font-heading);font-size:4rem}.menu-online__mockup strong{display:block;margin-top:-70px;text-transform:uppercase;letter-spacing:.16em;font-size:.82rem}.menu-online__cover-link{display:block;width:100%;height:100%;text-decoration:none}.menu-online__cover-link img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.22,1,.36,1)}.menu-online__cover-link:hover img,.menu-online__cover-link:focus-visible img{transform:scale(1.035)}.menu-online__mockup--link{text-decoration:none}
@media (max-width:1024px){.moments__track{grid-template-columns:repeat(2,minmax(0,1fr))}.moment-card{min-height:480px}}@media (max-width:767px){.manifesto,.moments,.menu-online{padding:72px 0}.manifesto__title,.moments__title,.menu-online h2{font-size:clamp(3rem,14vw,4.8rem)}.moments__track,.menu-online__inner{grid-template-columns:1fr}.moment-card{min-height:440px}.menu-online__visual{min-height:360px}}

/* Release 0.4.0 — scroll narrativo e reveal progressivi */
[data-reveal] {
	opacity: 0;
	transform: translate3d(0, 34px, 0);
	transition: opacity 720ms ease, transform 720ms cubic-bezier(.22, 1, .36, 1);
}

[data-reveal].is-visible,
.no-js [data-reveal] {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

.hero__content {
	animation: bgig-hero-enter 900ms cubic-bezier(.22, 1, .36, 1) both;
}

@keyframes bgig-hero-enter {
	from {
		opacity: 0;
		transform: translate3d(0, 22px, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

@media (min-width: 1025px) {
	.moments--interactive:not(.is-static) {
		height: var(--horizontal-scroll-height, 260vh);
		padding: 0;
	}

	.moments--interactive:not(.is-static) .moments__pin {
		position: sticky;
		top: 0;
		height: 100vh;
		height: 100svh;
		display: flex;
		flex-direction: column;
		justify-content: center;
		overflow: hidden;
		padding: clamp(72px, 8vw, 110px) 0;
	}

	.moments--interactive:not(.is-static) .moments__intro {
		margin-bottom: 34px;
	}

	.moments--interactive:not(.is-static) .moments__viewport {
		width: 100%;
		overflow: hidden;
	}

	.moments--interactive:not(.is-static) .moments__track {
		width: max-content;
		max-width: none;
		display: flex;
		gap: 22px;
		will-change: transform;
		transform: translate3d(0,0,0);
		padding-left: max(20px, calc((100vw - 1120px) / 2));
		padding-right: max(20px, calc((100vw - 1120px) / 2));
		margin: 0;
	}

	.moments--interactive:not(.is-static) .moment-card {
		width: min(78vw, 740px);
		min-height: min(58vh, 620px);
		flex: 0 0 auto;
	}

	.moments--interactive:not(.is-static) .moment-card:nth-child(even) {
		transform: translateY(26px);
	}

	.moments--interactive:not(.is-static) .moment-card h3 {
		font-size: clamp(3rem, 5.2vw, 5rem);
	}
}

@media (prefers-reduced-motion: reduce) {
	[data-reveal],
	[data-reveal].is-visible,
	.hero__content {
		opacity: 1 !important;
		transform: none !important;
		animation: none !important;
		transition: none !important;
	}

	.moments--interactive {
		height: auto !important;
		padding: clamp(72px, 10vw, 140px) 0 !important;
	}

	.moments--interactive .moments__pin {
		position: static !important;
		height: auto !important;
		overflow: visible !important;
		padding: 0 !important;
	}

	.moments--interactive .moments__track {
		transform: none !important;
	}
}

/* Release 0.5.0 — Focus Gelato e Catalogo Aperitivo */
.gelato-focus {
	position: relative;
	min-height: 140vh;
	background: var(--color-black);
	color: var(--color-cream-soft);
}

.gelato-focus__sticky {
	position: sticky;
	top: 0;
	min-height: 100vh;
	min-height: 100svh;
	display: grid;
	place-items: center;
	overflow: hidden;
	isolation: isolate;
}

.gelato-focus__media,
.gelato-focus__media img,
.gelato-focus__fallback,
.gelato-focus__overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.gelato-focus__media {
	z-index: -3;
}

.gelato-focus__media img {
	object-fit: cover;
	object-position: center;
	transform: scale(1.04);
}

.gelato-focus__fallback {
	background:
		radial-gradient(circle at 60% 35%, rgba(244,234,219,.18), transparent 26%),
		radial-gradient(circle at 34% 70%, rgba(217,130,75,.28), transparent 26%),
		linear-gradient(145deg, var(--color-coffee), var(--color-black));
}

.gelato-focus__overlay {
	z-index: -2;
	background: linear-gradient(90deg, rgba(17,16,13,.88), rgba(17,16,13,.48), rgba(17,16,13,.82));
}

.gelato-focus__content {
	width: var(--container);
	padding: clamp(80px, 10vw, 140px) 0;
}

.gelato-focus h2 {
	max-width: 850px;
	margin: 0;
	font-family: var(--font-heading);
	font-size: clamp(3rem, 7vw, 6.3rem);
	line-height: .9;
	letter-spacing: -.065em;
	font-weight: 500;
}

.gelato-focus__text {
	max-width: 560px;
	margin: 26px 0 0;
	font-size: clamp(1.1rem, 2vw, 1.35rem);
	line-height: 1.55;
	color: rgba(255,248,239,.84);
}

.gelato-focus__tags {
	list-style: none;
	margin: 44px 0 34px;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.gelato-focus__tags li {
	border: 1px solid rgba(255,248,239,.38);
	border-radius: var(--radius-pill);
	padding: 11px 18px;
	background: rgba(17,16,13,.32);
	backdrop-filter: blur(12px);
	font-weight: 700;
}

.aperitivo-catalog {
	background: var(--color-black-soft);
	color: var(--color-cream-soft);
	padding: clamp(78px, 11vw, 150px) 0;
	overflow: hidden;
}

.aperitivo-catalog__intro,
.aperitivo-catalog__list {
	width: var(--container);
	margin-left: auto;
	margin-right: auto;
}

.aperitivo-catalog__intro h2 {
	max-width: 880px;
	margin: 0;
	font-family: var(--font-heading);
	font-size: clamp(2.6rem, 5.6vw, 5.4rem);
	line-height: .92;
	letter-spacing: -.06em;
	font-weight: 500;
}

.aperitivo-catalog__intro p:not(.section-kicker) {
	max-width: 650px;
	margin: 24px 0 0;
	font-size: 1.15rem;
	line-height: 1.55;
	color: rgba(255,248,239,.78);
}

.aperitivo-catalog__list {
	margin-top: clamp(42px, 7vw, 88px);
	display: grid;
	gap: 18px;
}

.aperitivo-item {
	position: relative;
	min-height: 360px;
	border: 1px solid rgba(255,248,239,.14);
	border-radius: 34px;
	overflow: hidden;
	background: var(--color-black);
	isolation: isolate;
	display: grid;
	grid-template-columns: minmax(220px, .85fr) minmax(0, 1.15fr);
}

.aperitivo-item:nth-child(even) {
	grid-template-columns: minmax(0, 1.15fr) minmax(220px, .85fr);
}

.aperitivo-item__image {
	position: relative;
	min-height: 360px;
	overflow: hidden;
}

.aperitivo-item:nth-child(even) .aperitivo-item__image {
	order: 2;
}

.aperitivo-item__image img,
.aperitivo-item__fallback {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.aperitivo-item__fallback {
	background:
		radial-gradient(circle at 70% 22%, rgba(217,130,75,.36), transparent 28%),
		linear-gradient(145deg, var(--color-coffee), var(--color-black));
}

.aperitivo-item__body {
	padding: clamp(28px, 5vw, 64px);
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.aperitivo-item__number {
	margin-bottom: 20px;
	letter-spacing: .16em;
	font-size: .78rem;
	color: rgba(255,248,239,.55);
}

.aperitivo-item h3 {
	margin: 0;
	font-family: var(--font-heading);
	font-size: clamp(2.4rem, 5.6vw, 5rem);
	line-height: .9;
	letter-spacing: -.065em;
	font-weight: 500;
}

.aperitivo-item p {
	max-width: 520px;
	margin: 22px 0 0;
	line-height: 1.55;
	color: rgba(255,248,239,.82);
}

.aperitivo-item__toggle {
	align-self: flex-start;
	margin-top: 28px;
	border: 1px solid rgba(255,248,239,.36);
	border-radius: var(--radius-pill);
	padding: 12px 18px;
	background: rgba(255,248,239,.08);
	color: currentColor;
	cursor: pointer;
}

.bottom-panel {
	position: fixed;
	inset: 0;
	z-index: 240;
	visibility: hidden;
	pointer-events: none;
	background: rgba(17,16,13,0);
	transition: background 260ms ease, visibility 0s linear 260ms;
}

.bottom-panel.is-open {
	visibility: visible;
	pointer-events: auto;
	background: rgba(17,16,13,.62);
	transition-delay: 0s;
}

.bottom-panel__sheet {
	position: absolute;
	left: 50%;
	bottom: 18px;
	width: min(760px, calc(100vw - 28px));
	max-height: min(76vh, 720px);
	overflow: auto;
	transform: translate3d(-50%, calc(100% + 34px), 0);
	transition: transform 520ms cubic-bezier(.22, 1, .36, 1);
	border-radius: 34px;
	background: var(--color-cream-soft);
	color: var(--color-text-dark);
	padding: clamp(28px, 5vw, 54px);
	box-shadow: 0 30px 100px rgba(0,0,0,.42);
}

.bottom-panel.is-open .bottom-panel__sheet {
	transform: translate3d(-50%, 0, 0);
}

.bottom-panel__close {
	position: absolute;
	top: 18px;
	right: 18px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 1px solid rgba(23,19,15,.2);
	background: transparent;
	font-size: 1.8rem;
	line-height: 1;
	cursor: pointer;
}

.bottom-panel h4 {
	margin: 0;
	font-family: var(--font-heading);
	font-size: clamp(2.3rem, 5.6vw, 4.3rem);
	line-height: .92;
	letter-spacing: -.06em;
	font-weight: 500;
}

.bottom-panel p:not(.section-kicker) {
	max-width: 560px;
	font-size: 1.1rem;
	line-height: 1.55;
	margin: 22px 0 28px;
}

.bottom-panel .section-kicker {
	color: var(--color-spritz);
}

@media (min-width: 1025px) {
	.aperitivo-item[data-reveal] {
		transform: translate3d(0, 48px, 0);
	}

	.aperitivo-item[data-reveal].is-visible:nth-child(even) .aperitivo-item__image img,
	.aperitivo-item[data-reveal].is-visible:nth-child(odd) .aperitivo-item__image img {
		animation: bgig-soft-parallax 1100ms cubic-bezier(.22, 1, .36, 1) both;
	}
}

@keyframes bgig-soft-parallax {
	from { transform: scale(1.08) translateY(18px); }
	to { transform: scale(1.02) translateY(0); }
}

@media (max-width: 767px) {
	.gelato-focus {
		min-height: auto;
	}

	.gelato-focus__sticky {
		position: relative;
		min-height: auto;
		place-items: start;
	}

	.gelato-focus__content {
		padding: 92px 0;
	}

	.gelato-focus h2,
	.aperitivo-catalog__intro h2,
	.aperitivo-item h3 {
		font-size: clamp(3.2rem, 15vw, 5rem);
	}

	.aperitivo-item,
	.aperitivo-item:nth-child(even) {
		grid-template-columns: 1fr;
	}

	.aperitivo-item:nth-child(even) .aperitivo-item__image {
		order: 0;
	}

	.aperitivo-item__image {
		min-height: 260px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.gelato-focus__sticky {
		position: relative !important;
		min-height: auto !important;
	}

	.gelato-focus {
		min-height: auto !important;
	}

	.bottom-panel,
	.bottom-panel__sheet {
		transition: none !important;
	}
}

/* v0.6.0 — Contacts / where we are */
.contacts {
	background: var(--color-cream);
	color: var(--color-text-dark);
	padding: clamp(5rem, 9vw, 9rem) 0;
}

.contacts__inner {
	width: var(--container);
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(320px, 0.7fr);
	gap: clamp(2rem, 6vw, 5rem);
	align-items: center;
}

.contacts h2 {
	margin: 0;
	font-family: var(--font-heading);
	font-size: clamp(2.3rem, 5.6vw, 5rem);
	line-height: 0.92;
	letter-spacing: -0.055em;
}

.contacts__text {
	max-width: 640px;
	font-size: clamp(1.05rem, 2vw, 1.35rem);
	line-height: 1.55;
	color: rgba(23, 19, 15, 0.75);
}

.contacts__actions {
	margin-top: 30px;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.contacts .button--secondary,
.contacts .button--ghost {
	border-color: rgba(23, 19, 15, 0.22);
	color: var(--color-text-dark);
	background: rgba(255, 255, 255, 0.28);
}

.contacts__card {
	background: rgba(255, 255, 255, 0.42);
	border: 1px solid rgba(23, 19, 15, 0.11);
	border-radius: 28px;
	overflow: hidden;
	box-shadow: 0 30px 70px rgba(23, 19, 15, 0.12);
}

.contacts__image {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.contacts__details {
	padding: clamp(1.3rem, 3vw, 2rem);
	display: grid;
	gap: 18px;
}

.contacts__row {
	display: grid;
	gap: 5px;
}

.contacts__row strong {
	font-size: 0.78rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(23, 19, 15, 0.58);
}

.contacts__row a,
.contacts__row span {
	color: var(--color-text-dark);
	font-size: 1rem;
	line-height: 1.45;
}

.contacts__row--hours ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 7px;
}

.contacts__row--hours li {
	display: flex;
	justify-content: space-between;
	gap: 18px;
	border-bottom: 1px solid rgba(23, 19, 15, 0.10);
	padding-bottom: 7px;
}

.mobile-quickbar {
	display: none;
}

@media (max-width: 900px) {
	.contacts__inner {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px) {
	body {
		padding-bottom: calc(74px + env(safe-area-inset-bottom));
	}

	.mobile-quickbar {
		position: fixed;
		z-index: 120;
		left: 12px;
		right: 12px;
		bottom: calc(10px + env(safe-area-inset-bottom));
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 8px;
		padding: 8px;
		border: 1px solid rgba(255, 248, 239, 0.24);
		border-radius: 999px;
		background: rgba(17, 16, 13, 0.74);
		backdrop-filter: blur(16px);
		box-shadow: 0 18px 46px rgba(0, 0, 0, 0.32);
	}

	.mobile-quickbar a {
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 42px;
		border-radius: 999px;
		text-decoration: none;
		font-weight: 750;
		font-size: 0.86rem;
		background: rgba(255, 248, 239, 0.12);
		color: var(--color-cream-soft);
	}

	.mobile-quickbar a:first-child {
		background: var(--color-cream-soft);
		color: var(--color-text-dark);
	}

	body.menu-is-open .mobile-quickbar,
	body.bottom-panel-is-open .mobile-quickbar {
		display: none;
	}
}

/* v0.7.0 — video/performance refinements */
@media (max-width:767px){.hero__video--desktop-only{display:none}.hero__video-poster{display:block}}


.site-footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	font-size: 0.9rem;
}

.site-footer__legal a {
	color: rgba(255, 248, 239, 0.72);
	text-decoration: none;
}

.site-footer__legal a:hover {
	color: var(--color-cream-soft);
	text-decoration: underline;
}


/* Release 0.9.2 — correzione momenti della giornata: se ci sono meno di 4 pannelli, niente pinned scroll e niente spazio vuoto. */
.moments--static {
	padding: clamp(72px, 10vw, 140px) 0 !important;
	height: auto !important;
}

.moments--static .moments__pin,
.moments.is-static .moments__pin {
	position: static !important;
	height: auto !important;
	overflow: visible !important;
	padding: 0 !important;
	display: block !important;
}

.moments--static .moments__track,
.moments.is-static .moments__track {
	width: var(--container) !important;
	max-width: var(--container) !important;
	margin: 0 auto !important;
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)) !important;
	gap: 18px !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	transform: none !important;
}

.moments--static .moment-card,
.moments.is-static .moment-card {
	width: auto !important;
	min-height: 440px;
	transform: none !important;
}

.moments--static .moment-card--no-image .moment-card__fallback,
.moments.is-static .moment-card--no-image .moment-card__fallback {
	background:
		radial-gradient(circle at 72% 18%, rgba(217, 130, 75, .38), transparent 30%),
		radial-gradient(circle at 20% 80%, rgba(138, 155, 122, .22), transparent 28%),
		linear-gradient(145deg, var(--color-coffee), var(--color-black));
}

.moments--static .moment-card--no-image .moment-card__content,
.moments.is-static .moment-card--no-image .moment-card__content {
	top: 50%;
	bottom: auto;
	transform: translateY(-50%);
}

@media (max-width: 767px) {
	.moments--static .moment-card--no-image .moment-card__content,
	.moments.is-static .moment-card--no-image .moment-card__content {
		top: auto;
		bottom: 28px;
		transform: none;
	}
}

/* Release 0.9.3 — Momenti della giornata più scenografici e realmente orizzontali.
   Le card diventano grandi quasi una schermata, e lo scroll pinned può attivarsi già da 2 pannelli. */
@media (min-width: 1025px) {
	.moments--interactive:not(.is-static) .moments__pin {
		justify-content: flex-start;
		padding: clamp(56px, 6vw, 82px) 0 0;
	}

	.moments--interactive:not(.is-static) .moments__intro {
		margin-bottom: clamp(24px, 3vw, 36px);
	}

	.moments--interactive:not(.is-static) .moments__viewport {
		flex: 1;
		display: flex;
		align-items: center;
	}

	.moments--interactive:not(.is-static) .moments__track {
		gap: clamp(28px, 4vw, 54px);
		padding-left: max(20px, calc((100vw - 1120px) / 2));
		padding-right: max(20px, calc((100vw - 1120px) / 2));
	}

	.moments--interactive:not(.is-static) .moment-card {
		width: min(88vw, 980px);
		min-height: clamp(560px, 68vh, 760px);
		border-radius: clamp(34px, 4vw, 56px);
	}

	.moments--interactive:not(.is-static) .moment-card:nth-child(even) {
		transform: translateY(0);
	}

	.moments--interactive:not(.is-static) .moment-card__content {
		left: clamp(34px, 5vw, 72px);
		right: clamp(34px, 5vw, 72px);
		bottom: clamp(38px, 6vw, 82px);
		max-width: 720px;
	}

	.moments--interactive:not(.is-static) .moment-card h3 {
		font-size: clamp(4rem, 8vw, 8rem);
		max-width: 820px;
	}

	.moments--interactive:not(.is-static) .moment-card p {
		max-width: 560px;
		font-size: clamp(1.05rem, 1.4vw, 1.35rem);
	}

	.moments--interactive:not(.is-static) .moment-card--no-image .moment-card__content {
		top: auto;
		bottom: clamp(38px, 6vw, 82px);
		transform: none;
	}
}

/* Inner pages, blog, search and 404 */
.site-main--inner {
	background: var(--color-cream);
	color: var(--color-text-dark);
	min-height: 70vh;
}

.inner-hero,
.not-found-page {
	background: var(--color-black-soft);
	color: var(--color-cream-soft);
	padding: clamp(8rem, 15vw, 13rem) 0 clamp(4rem, 8vw, 7rem);
}

.inner-hero__inner,
.not-found-page__inner,
.inner-content-wrap,
.archive-list__inner {
	width: var(--container);
	margin: 0 auto;
}

.inner-hero__eyebrow,
.entry__eyebrow {
	margin: 0 0 18px;
	font-size: 0.78rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	opacity: 0.75;
}

.inner-hero h1,
.not-found-page h1,
.entry__title {
	margin: 0;
	font-family: var(--font-heading);
	font-size: clamp(2.3rem, 5.6vw, 5rem);
	line-height: 0.95;
	letter-spacing: -0.055em;
	font-weight: 500;
}

.inner-content-wrap {
	padding: clamp(3rem, 7vw, 6rem) 0;
}

.entry {
	max-width: 920px;
	margin: 0 auto;
}

.entry__header {
	margin-bottom: 32px;
}

.entry__meta {
	margin-top: 18px;
	opacity: 0.72;
}

.entry__media {
	margin: 0 0 36px;
	border-radius: 28px;
	overflow: hidden;
	background: rgba(17, 16, 13, 0.08);
}

.entry__image {
	width: 100%;
	height: auto;
}

.entry__content {
	font-size: clamp(1.05rem, 1.8vw, 1.22rem);
	line-height: 1.75;
}

.entry__content > *:first-child {
	margin-top: 0;
}

.entry__content a {
	color: inherit;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.18em;
}

.entry__content img {
	border-radius: 20px;
}

.entry__content h2,
.entry__content h3,
.entry__content h4 {
	font-family: var(--font-heading);
	line-height: 1.05;
	letter-spacing: -0.03em;
	margin-top: 2em;
}

.entry__pagination,
.post-navigation-clean,
.archive-pagination {
	margin-top: 40px;
}

.post-navigation-clean {
	max-width: 920px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: space-between;
	gap: 18px;
	padding-top: 28px;
	border-top: 1px solid rgba(17, 16, 13, 0.18);
}

.post-navigation-clean a,
.archive-pagination a,
.archive-pagination span {
	display: inline-flex;
	align-items: center;
	min-height: 42px;
	padding: 0 16px;
	border: 1px solid rgba(17, 16, 13, 0.22);
	border-radius: var(--radius-pill);
	text-decoration: none;
	color: inherit;
}

.archive-list {
	padding: clamp(3rem, 7vw, 6rem) 0;
}

.archive-list__inner {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.archive-pagination,
.empty-state {
	grid-column: 1 / -1;
}

.archive-card {
	background: rgba(255, 255, 255, 0.42);
	border: 1px solid rgba(17, 16, 13, 0.12);
	border-radius: 28px;
	overflow: hidden;
}

.archive-card__link {
	display: block;
	height: 100%;
	text-decoration: none;
	color: inherit;
}

.archive-card__media img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.archive-card__body {
	padding: 24px;
}

.archive-card__date {
	margin: 0 0 12px;
	font-size: 0.78rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	opacity: 0.65;
}

.archive-card h2 {
	margin: 0 0 14px;
	font-family: var(--font-heading);
	font-size: clamp(1.45rem, 2.4vw, 2.1rem);
	line-height: 1;
	letter-spacing: -0.04em;
}

.archive-card p:last-child {
	margin-bottom: 0;
}

.search-form-clean {
	margin-top: 28px;
	display: flex;
	gap: 10px;
	max-width: 620px;
}

.search-form-clean__field {
	flex: 1;
	min-width: 0;
	min-height: 52px;
	border: 1px solid rgba(255, 248, 239, 0.35);
	border-radius: var(--radius-pill);
	padding: 0 18px;
	background: rgba(255, 248, 239, 0.08);
	color: currentColor;
}

.site-main--inner .search-form-clean__field {
	border-color: rgba(17, 16, 13, 0.18);
	background: rgba(255, 255, 255, 0.46);
	color: var(--color-text-dark);
}

.inner-hero .search-form-clean__field,
.not-found-page .search-form-clean__field {
	color: var(--color-cream-soft);
}

.search-form-clean__submit {
	min-height: 52px;
	padding: 0 20px;
	border: 0;
	border-radius: var(--radius-pill);
	background: var(--color-cream-soft);
	color: var(--color-text-dark);
	font-weight: 700;
	cursor: pointer;
}

.not-found-page__inner {
	max-width: 900px;
}

.not-found-page p {
	max-width: 680px;
	font-size: clamp(1.05rem, 2vw, 1.25rem);
	line-height: 1.6;
	opacity: 0.84;
}

.not-found-page__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 30px 0 10px;
}

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

@media (max-width: 980px) {
	.archive-list__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.inner-hero,
	.not-found-page {
		padding-top: 7rem;
	}

	.archive-list__inner {
		grid-template-columns: 1fr;
	}

	.post-navigation-clean,
	.search-form-clean {
		flex-direction: column;
	}
}
.fullscreen-menu__search {
	max-width: 620px;
}
.fullscreen-menu__search .search-form-clean__field {
	border-color: rgba(255, 248, 239, 0.35);
	background: rgba(255, 248, 239, 0.08);
	color: var(--color-cream-soft);
}

/* Release 0.9.6 — Momenti full-width e pinned orizzontale reale.
   Ogni card è una scena larga 100vw; lo scroll verticale resta dentro la sezione
   finché il track orizzontale non è arrivato all'ultima card. */
.moments--interactive:not(.is-static) {
	height: var(--horizontal-scroll-height, 300vh) !important;
	padding: 0 !important;
	overflow: visible !important;
}

.moments--interactive:not(.is-static) .moments__pin {
	position: sticky !important;
	top: 0 !important;
	height: 100vh !important;
	height: 100svh !important;
	padding: 0 !important;
	overflow: hidden !important;
	display: block !important;
	background: var(--color-black-soft);
}

.moments--interactive:not(.is-static) .moments__intro {
	position: absolute;
	z-index: 4;
	left: clamp(20px, 4vw, 72px);
	top: clamp(84px, 9vh, 118px);
	width: min(760px, calc(100vw - 40px));
	margin: 0 !important;
	pointer-events: none;
	text-shadow: 0 12px 40px rgba(0,0,0,.45);
}

.moments--interactive:not(.is-static) .moments__title {
	max-width: 680px;
	font-size: clamp(2.4rem, 5.25vw, 5.6rem);
}

.moments--interactive:not(.is-static) .moments__text {
	max-width: 560px;
	font-size: clamp(1rem, 1.25vw, 1.22rem);
}

.moments--interactive:not(.is-static) .moments__viewport {
	position: relative;
	width: 100vw !important;
	height: 100vh !important;
	height: 100svh !important;
	overflow: hidden !important;
	display: block !important;
}

.moments--interactive:not(.is-static) .moments__track {
	width: max-content !important;
	height: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	gap: 0 !important;
	will-change: transform;
	transform: translate3d(0,0,0);
}

.moments--interactive:not(.is-static) .moment-card {
	flex: 0 0 100vw !important;
	width: 100vw !important;
	height: min(75vw, 100svh) !important;
	min-height: 0 !important;
	max-height: 100svh !important;
	align-self: center;
	border-radius: 0 !important;
	border: 0 !important;
	transform: none !important;
}

.moments--interactive:not(.is-static) .moment-card__content {
	left: clamp(24px, 6vw, 96px) !important;
	right: clamp(24px, 6vw, 96px) !important;
	bottom: clamp(62px, 11vh, 126px) !important;
	max-width: min(760px, calc(100vw - 48px));
}

.moments--interactive:not(.is-static) .moment-card h3 {
	font-size: clamp(3.4rem, 9.6vw, 9.6rem) !important;
	max-width: 980px;
}

.moments--interactive:not(.is-static) .moment-card p {
	max-width: 620px;
	font-size: clamp(1.05rem, 1.45vw, 1.45rem);
}

@media (max-width: 1024px) {
	.moments--interactive:not(.is-static) .moments__intro {
		top: 86px;
	}

	.moments--interactive:not(.is-static) .moment-card {
		height: 100svh !important;
	}
}

@media (max-width: 767px) {
	.moments--interactive:not(.is-static) .moments__intro {
		left: 18px;
		top: 78px;
		width: calc(100vw - 36px);
	}

	.moments--interactive:not(.is-static) .moments__title {
		font-size: clamp(2.6rem, 14vw, 4.8rem);
	}

	.moments--interactive:not(.is-static) .moments__text {
		display: none;
	}

	.moments--interactive:not(.is-static) .moment-card {
		width: 100vw !important;
		flex-basis: 100vw !important;
		height: 100svh !important;
		min-height: 100svh !important;
	}

	.moments--interactive:not(.is-static) .moment-card__content {
		left: 22px !important;
		right: 22px !important;
		bottom: max(116px, env(safe-area-inset-bottom) + 104px) !important;
	}

	.moments--interactive:not(.is-static) .moment-card h3 {
		font-size: clamp(3.6rem, 18vw, 6.6rem) !important;
	}

	.moments--interactive:not(.is-static) .moment-card p {
		font-size: 1rem;
	}
}

/* Release 0.9.8 — rifinitura navigazione/progresso Momenti.
   La linea di progresso è sotto i bottoni per non interferire col testo;
   il contenuto delle card è leggermente alzato per respirare meglio. */
.moments__scene-nav,
.moments__progress {
	display: none;
}

.moments--interactive:not(.is-static) .moments__scene-nav {
	position: absolute;
	z-index: 6;
	left: clamp(20px, 4vw, 72px);
	right: clamp(20px, 4vw, 72px);
	bottom: clamp(18px, 4vh, 38px);
	display: flex;
	gap: 8px;
	align-items: center;
	justify-content: center;
	pointer-events: auto;
}

.moments__scene-button {
	border: 1px solid rgba(255,248,239,.26);
	border-radius: var(--radius-pill);
	padding: 9px 13px;
	background: rgba(17,16,13,.24);
	backdrop-filter: blur(12px);
	color: var(--color-cream-soft);
	font-size: .82rem;
	line-height: 1;
	cursor: pointer;
	transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.moments__scene-button span {
	margin-right: 7px;
	color: rgba(255,248,239,.55);
	letter-spacing: .12em;
}

.moments__scene-button.is-active,
.moments__scene-button:hover,
.moments__scene-button:focus-visible {
	background: var(--color-cream-soft);
	border-color: var(--color-cream-soft);
	color: var(--color-text-dark);
	transform: translateY(-1px);
}

.moments__scene-button.is-active span,
.moments__scene-button:hover span,
.moments__scene-button:focus-visible span {
	color: rgba(23,19,15,.58);
}

.moments--interactive:not(.is-static) .moments__progress {
	position: absolute;
	z-index: 5;
	left: clamp(20px, 4vw, 72px);
	right: clamp(20px, 4vw, 72px);
	bottom: clamp(8px, 1.6vh, 16px);
	display: block;
	height: 2px;
	background: rgba(255,248,239,.2);
	transform: translateZ(0);
}

.moments--interactive:not(.is-static) .moments__progress span {
	display: block;
	width: 100%;
	height: 100%;
	background: var(--color-cream-soft);
	transform-origin: left center;
	transform: scaleX(0);
}

@media (max-width: 767px) {
	.moments--interactive:not(.is-static) .moments__scene-nav {
		left: 14px;
		right: 14px;
		bottom: max(12px, env(safe-area-inset-bottom) + 10px);
		overflow-x: auto;
		justify-content: flex-start;
		padding-bottom: 2px;
		scrollbar-width: none;
	}

	.moments--interactive:not(.is-static) .moments__scene-nav::-webkit-scrollbar {
		display: none;
	}

	.moments__scene-button {
		flex: 0 0 auto;
		font-size: .76rem;
		padding: 9px 12px;
	}

	.moments--interactive:not(.is-static) .moments__progress {
		left: 18px;
		right: 18px;
		bottom: max(4px, env(safe-area-inset-bottom) + 4px);
	}
}

/* v0.9.9 — Gelato sticky più percepibile e pannelli aperitivo rifiniti */
@media (min-width: 768px) {
	.gelato-focus {
		min-height: 185vh;
	}

	.gelato-focus__content {
		transform: translate3d(0, 0, 0);
	}

	.gelato-focus__tags li { transform: translateY(0); }
}

.gelato-focus__media img {
	will-change: transform;
}

.gelato-focus__content {
	will-change: transform, opacity;
}

.aperitivo-item__image::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(17,16,13,0), rgba(17,16,13,.22));
	pointer-events: none;
}

.aperitivo-item__toggle:hover,
.aperitivo-item__toggle:focus-visible {
	background: var(--color-cream-soft);
	color: var(--color-text-dark);
}

body.bottom-panel-is-open {
	overflow: hidden;
}

.bottom-panel.is-open {
	backdrop-filter: blur(10px);
}

.bottom-panel__sheet {
	border: 1px solid rgba(255,255,255,.45);
}

@media (max-width: 767px) {
	.bottom-panel__sheet {
		left: 0;
		bottom: 0;
		width: 100%;
		max-height: 82vh;
		border-radius: 28px 28px 0 0;
		transform: translate3d(0, calc(100% + 34px), 0);
	}

	.bottom-panel.is-open .bottom-panel__sheet {
		transform: translate3d(0, 0, 0);
	}
}


/* v1.0.0 — Tags gelato riallineati: niente effetto sfalsato sulle voci */
.gelato-focus__tags li {
	transform: translate3d(0, 0, 0);
}

.gelato-focus__tags {
	align-items: center;
}


/* v1.0.1 — Aperitivo come sequenza orizzontale full-width, con scroll invertito e pannello dettagli a linguetta. */
.aperitivo-catalog--interactive:not(.is-static) {
	height: var(--horizontal-scroll-height, 300vh) !important;
	padding: 0 !important;
	overflow: visible !important;
	background: var(--color-black-soft);
}

.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__pin {
	position: sticky !important;
	top: 0 !important;
	height: 100vh !important;
	height: 100svh !important;
	padding: 0 !important;
	overflow: hidden !important;
	display: block !important;
	background: var(--color-black-soft);
}

.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro {
	position: absolute;
	z-index: 4;
	left: clamp(20px, 4vw, 72px);
	top: clamp(84px, 9vh, 118px);
	width: min(760px, calc(100vw - 40px));
	margin: 0 !important;
	pointer-events: none;
	text-shadow: 0 12px 40px rgba(0,0,0,.45);
}

.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro h2 {
	max-width: 720px;
	font-size: clamp(2.4rem, 5.25vw, 5.6rem);
}

.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro p:not(.section-kicker) {
	max-width: 560px;
	font-size: clamp(1rem, 1.25vw, 1.22rem);
}

.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__viewport {
	position: relative;
	width: 100vw !important;
	height: 100vh !important;
	height: 100svh !important;
	overflow: hidden !important;
	display: block !important;
}

.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__track {
	width: max-content !important;
	height: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	gap: 0 !important;
	will-change: transform;
	transform: translate3d(0,0,0);
}

.aperitivo-catalog--interactive:not(.is-static) .aperitivo-card {
	position: relative;
	flex: 0 0 100vw !important;
	width: 100vw !important;
	height: min(75vw, 100svh) !important;
	min-height: 0 !important;
	max-height: 100svh !important;
	align-self: center;
	border-radius: 0 !important;
	border: 0 !important;
	display: block !important;
	isolation: isolate;
	background: var(--color-black);
	overflow: hidden;
}

.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__image {
	position: absolute !important;
	inset: 0 !important;
	min-height: 0 !important;
	width: 100% !important;
	height: 100% !important;
	z-index: -2;
}

.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__image img,
.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__fallback {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.aperitivo-catalog--interactive:not(.is-static) .aperitivo-card::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(to top, rgba(17,16,13,.88), rgba(17,16,13,.24), rgba(17,16,13,.08));
	pointer-events: none;
}

.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body {
	position: absolute;
	left: clamp(24px, 6vw, 96px);
	right: clamp(24px, 6vw, 96px);
	bottom: clamp(62px, 11vh, 126px);
	max-width: min(760px, calc(100vw - 48px));
	padding: 0 !important;
	display: block !important;
}

.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item h3 {
	font-size: clamp(3.4rem, 9.6vw, 9.6rem) !important;
	max-width: 980px;
}

.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item p {
	max-width: 620px;
	font-size: clamp(1.05rem, 1.45vw, 1.45rem);
}

.aperitivo-catalog__scene-nav,
.aperitivo-catalog__progress {
	display: none;
}

.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__scene-nav {
	position: absolute;
	z-index: 6;
	left: clamp(20px, 4vw, 72px);
	right: clamp(20px, 4vw, 72px);
	bottom: clamp(18px, 4vh, 38px);
	display: flex;
	gap: 8px;
	align-items: center;
	justify-content: center;
	pointer-events: auto;
}

.aperitivo-catalog__scene-button {
	border: 1px solid rgba(255,248,239,.26);
	border-radius: var(--radius-pill);
	padding: 9px 13px;
	background: rgba(17,16,13,.24);
	backdrop-filter: blur(12px);
	color: var(--color-cream-soft);
	font-size: .82rem;
	line-height: 1;
	cursor: pointer;
	transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.aperitivo-catalog__scene-button span {
	margin-right: 7px;
	color: rgba(255,248,239,.55);
	letter-spacing: .12em;
}

.aperitivo-catalog__scene-button.is-active,
.aperitivo-catalog__scene-button:hover,
.aperitivo-catalog__scene-button:focus-visible {
	background: var(--color-cream-soft);
	border-color: var(--color-cream-soft);
	color: var(--color-text-dark);
	transform: translateY(-1px);
}

.aperitivo-catalog__scene-button.is-active span,
.aperitivo-catalog__scene-button:hover span,
.aperitivo-catalog__scene-button:focus-visible span {
	color: rgba(23,19,15,.58);
}

.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__progress {
	position: absolute;
	z-index: 5;
	left: clamp(20px, 4vw, 72px);
	right: clamp(20px, 4vw, 72px);
	bottom: clamp(8px, 1.6vh, 16px);
	display: block;
	height: 2px;
	background: rgba(255,248,239,.2);
	transform: translateZ(0);
}

.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__progress span {
	display: block;
	width: 100%;
	height: 100%;
	background: var(--color-cream-soft);
	transform-origin: left center;
	transform: scaleX(0);
}

.bottom-panel__sheet {
	left: 0 !important;
	bottom: 0 !important;
	width: 100vw !important;
	height: clamp(280px, 34svh, 430px) !important;
	max-height: none !important;
	transform: translate3d(0, calc(100% + 34px), 0) !important;
	border-radius: 0 !important;
	border: 0 !important;
	border-top: 1px solid rgba(23,19,15,.24) !important;
	padding: clamp(32px, 4vw, 58px) clamp(22px, 6vw, 96px) !important;
	box-shadow: 0 -24px 90px rgba(0,0,0,.32);
}

.bottom-panel.is-open .bottom-panel__sheet {
	transform: translate3d(0,0,0) !important;
}

.bottom-panel__content {
	width: min(980px, 100%);
	margin: 0 auto;
}

.bottom-panel__close {
	position: absolute !important;
	top: 0 !important;
	left: 50% !important;
	right: auto !important;
	transform: translate3d(-50%, -50%, 0) !important;
	width: 52px !important;
	height: 52px !important;
	border-radius: 50% !important;
	border: 1px solid rgba(23,19,15,.26) !important;
	background: var(--color-cream-soft) !important;
	color: var(--color-text-dark) !important;
	display: grid !important;
	place-items: center !important;
	font-size: 0 !important;
	line-height: 1 !important;
	padding: 0 !important;
	cursor: pointer;
}

.bottom-panel__close span {
	display: block;
	font-size: 2rem;
	line-height: 1;
	transform: translateY(-1px);
}

.bottom-panel h4 {
	font-size: clamp(2rem, 4.2vw, 4rem);
}

@media (max-width: 1024px) {
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-card {
		height: 100svh !important;
	}
}

@media (max-width: 767px) {
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro {
		left: 18px;
		top: 78px;
		width: calc(100vw - 36px);
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro h2 {
		font-size: clamp(2.6rem, 14vw, 4.8rem);
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro p:not(.section-kicker) {
		display: none;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-card {
		width: 100vw !important;
		flex-basis: 100vw !important;
		height: 100svh !important;
		min-height: 100svh !important;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body {
		left: 22px !important;
		right: 22px !important;
		bottom: max(116px, env(safe-area-inset-bottom) + 104px) !important;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item h3 {
		font-size: clamp(3.6rem, 18vw, 6.6rem) !important;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item p {
		font-size: 1rem;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__scene-nav {
		left: 14px;
		right: 14px;
		bottom: max(12px, env(safe-area-inset-bottom) + 10px);
		overflow-x: auto;
		justify-content: flex-start;
		padding-bottom: 2px;
		scrollbar-width: none;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__scene-nav::-webkit-scrollbar {
		display: none;
	}

	.aperitivo-catalog__scene-button {
		flex: 0 0 auto;
		font-size: .76rem;
		padding: 9px 12px;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__progress {
		left: 18px;
		right: 18px;
		bottom: max(4px, env(safe-area-inset-bottom) + 4px);
	}

	.bottom-panel__sheet {
		height: min(44svh, 420px) !important;
		padding: 34px 22px 28px !important;
	}
}


/* v1.0.2 — Dettagli aperitivo: pannello pieno, bordo solo sopra, chiusura non tagliata */
.bottom-panel__sheet {
	left: 0 !important;
	right: auto !important;
	bottom: 0 !important;
	width: 100vw !important;
	height: 66.666svh !important;
	max-height: 66.666svh !important;
	transform: translate3d(0, calc(100% + 64px), 0) !important;
	border: 0 !important;
	border-top: 2px solid var(--color-spritz) !important;
	border-radius: 0 !important;
	outline: 0 !important;
	overflow: visible !important;
	padding: clamp(52px, 6vh, 78px) clamp(24px, 10vw, 140px) clamp(28px, 5vh, 56px) !important;
	box-shadow: 0 -24px 90px rgba(0,0,0,.34) !important;
}

.bottom-panel.is-open .bottom-panel__sheet {
	transform: translate3d(0, 0, 0) !important;
}

.bottom-panel__sheet:focus,
.bottom-panel__sheet:focus-visible {
	outline: 0 !important;
}

.bottom-panel__content {
	width: min(1120px, 100%) !important;
	max-height: calc(66.666svh - 110px);
	overflow: auto;
	margin: 0 auto !important;
}

.bottom-panel__close {
	top: 0 !important;
	left: 50% !important;
	right: auto !important;
	transform: translate3d(-50%, -50%, 0) !important;
	z-index: 3 !important;
	width: 54px !important;
	height: 54px !important;
	min-width: 54px !important;
	min-height: 54px !important;
	border-radius: 50% !important;
	border: 1px solid var(--color-spritz) !important;
	background: var(--color-cream-soft) !important;
	color: var(--color-text-dark) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	line-height: 1 !important;
	font-size: 0 !important;
	overflow: visible !important;
}

.bottom-panel__close span {
	display: block !important;
	font-size: 34px !important;
	line-height: 1 !important;
	font-weight: 300 !important;
	transform: translateY(-2px) !important;
}

@media (max-width: 767px) {
	.bottom-panel__sheet {
		height: 72svh !important;
		max-height: 72svh !important;
		padding: 50px 22px 32px !important;
	}

	.bottom-panel__content {
		max-height: calc(72svh - 96px);
	}
}


/* v1.0.3 — Fix dettagli aperitivo: pannello sempre centrato viewport e scroll stessa direzione dei momenti. */
body > .bottom-panel {
	z-index: 980 !important;
}

body > .bottom-panel .bottom-panel__sheet {
	position: absolute !important;
	left: 0 !important;
	right: auto !important;
	bottom: 0 !important;
	width: 100vw !important;
	height: 66.666svh !important;
	max-height: 66.666svh !important;
	transform: translate3d(0, calc(100% + 64px), 0) !important;
}

body > .bottom-panel.is-open .bottom-panel__sheet {
	transform: translate3d(0, 0, 0) !important;
}

body > .bottom-panel .bottom-panel__close {
	pointer-events: auto !important;
}

/* v1.0.6 hero/manifesto typography refinement */
@media (min-width: 768px) {
	.hero__logo-image { max-width: min(360px, 52vw); max-height: 240px; }
	.hero__title { max-width: 760px; font-size: clamp(2.4rem, 5.25vw, 5.6rem); line-height: .95; }
	.manifesto__title { max-width: 760px; font-size: clamp(2.4rem, 5.25vw, 5.6rem); line-height: .95; }
}


/* v1.0.7 header/menu/credits refinement */
.site-header__inner{
	width:100%;
	min-height:var(--header-height);
	padding:0 24px;
	margin:0;
}
.site-header__actions{
	margin-left:auto;
}
.site-header__toggle,
.fullscreen-menu__close{
	width:52px;
	height:52px;
}
.site-header__toggle{
	position:relative;
	right:0;
}
.fullscreen-menu__close{
	display:grid;
	place-items:center;
	line-height:1;
	padding:0;
}
.fullscreen-menu__close span{
	display:block;
	line-height:1;
	font-size:1.9rem;
	transform:translateY(-1px);
}
.fullscreen-menu__content{
	align-items:center;
	text-align:center;
	justify-content:center;
}
.fullscreen-menu__list{
	justify-items:center;
	gap:14px;
}
.fullscreen-menu__list a{
	font-size:clamp(2rem,4.2vw,4rem);
	letter-spacing:-0.035em;
	line-height:1.02;
}
.fullscreen-menu__list .sub-menu{
	justify-content:center;
}
.fullscreen-menu__quick{
	justify-content:center;
}
.hero-side-credit{
	position:fixed;
	right:24px;
	top:50%;
	z-index:90;
	transform:translateY(-50%);
	writing-mode:vertical-rl;
	text-orientation:mixed;
	text-decoration:none;
	font-size:.68rem;
	font-weight:700;
	letter-spacing:.16em;
	text-transform:uppercase;
	color:rgba(255,248,239,.78);
	transition:opacity .32s ease, transform .32s ease, visibility .32s ease;
	pointer-events:auto;
}
.hero-side-credit span{
	display:block;
	transform:rotate(180deg);
}
body.is-scrolled .hero-side-credit,
body.menu-is-open .hero-side-credit{
	opacity:0;
	visibility:hidden;
	transform:translateY(-50%) translateX(12px);
	pointer-events:none;
}
.site-footer__inner{
	text-align:center;
	justify-items:center;
}
.site-footer__menu,
.site-footer__legal{
	justify-content:center;
}
@media (max-width:767px){
	.site-header__inner{padding:0 18px;}
	.site-header__toggle,
	.fullscreen-menu__close{width:48px;height:48px;}
	.fullscreen-menu__close{top:18px;right:18px;}
	.fullscreen-menu__list a{font-size:clamp(2.15rem,11vw,3.6rem);}
	.hero-side-credit{display:none;}
}

/* v1.0.10 vertical credits: single line, full height, no wrapping */
.hero-side-credit{display:none!important;}
.hero-side-credits{
	position:fixed;
	top:50%;
	right:8px;
	z-index:90;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:.55rem;
	max-height:calc(100vh - 44px);
	transform:translateY(-50%) rotate(180deg);
	writing-mode:vertical-rl;
	text-orientation:mixed;
	white-space:nowrap;
	flex-wrap:nowrap;
	overflow:visible;
	pointer-events:none;
	transition:color .32s ease,opacity .32s ease,visibility .32s ease,transform .32s ease;
}
.hero-side-credits__text,
.hero-side-credits__link,
.hero-side-credits__sep{
	display:inline-block;
	flex:0 0 auto;
	white-space:nowrap;
	font-size:clamp(.52rem,1.05vh,.66rem);
	line-height:1;
	letter-spacing:.075em;
	text-transform:uppercase;
	color:rgba(255,248,239,.82);
}
.hero-side-credits__link{
	pointer-events:auto;
	text-decoration:none;
	padding:.25rem .1rem;
	transition:opacity .22s ease,color .22s ease;
}
.hero-side-credits__link:hover,
.hero-side-credits__link:focus-visible{
	opacity:.78;
	text-decoration:underline;
}
body.is-scrolled .hero-side-credits,
body.menu-is-open .hero-side-credits{
	opacity:0;
	visibility:hidden;
	transform:translateY(-50%) rotate(180deg) translateY(12px);
	pointer-events:none;
}
.footer-credits{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:center;
	gap:.4rem;
	font-size:.82rem;
	line-height:1.5;
	color:rgba(255,248,239,.68);
	text-align:center;
}
.footer-credits__text,
.footer-credits__sep,
.footer-credits__link{color:inherit;}
.footer-credits__link{text-decoration:none;}
.footer-credits__link:hover,
.footer-credits__link:focus-visible{text-decoration:underline;color:var(--color-cream-soft);}
.footer-credits__link:focus-visible{outline:2px solid var(--color-cream-soft);outline-offset:3px;border-radius:4px;}
@media (max-width:767px){.hero-side-credits{display:none;}.footer-credits{font-size:.78rem;}}

.custom-logo,
.site-header__logo-image{
	max-height:64.4px;
	width:auto;
}

body.home .site-header__logo{
	opacity:0;
	visibility:hidden;
	transform:translateX(-28px);
	transition:opacity .38s ease,transform .38s ease,visibility .38s ease;
}

body.home.bgig-hero-passed .site-header__logo{
	opacity:1;
	visibility:visible;
	transform:translateX(0);
}

.hero__logo-wrap{
	display:flex;
	justify-content:center;
	width:100%;
}

.hero__logo-image{
	margin-left:auto;
	margin-right:auto;
}

@media (min-width: 768px) {
	.hero__logo-image{
		max-width:min(414px,59.8vw);
		max-height:276px;
	}
}

.home .site-main .hero__title,
.home .site-main .hero__subtitle,
.home .site-main .section-kicker,
.home .site-main h2,
.home .site-main h3,
.home .site-main h4,
.home .site-main p,
.home .site-main li,
.home .site-main .contacts__row a,
.home .site-main .contacts__row span,
.home .site-main .moment-card__number,
.home .site-main .aperitivo-item__number{
	width:80%;
	max-width:80%;
	margin-left:auto;
	margin-right:auto;
	text-align:center;
}

.home .site-main .moments__scene-button,
.home .site-main .aperitivo-catalog__scene-button{
	text-align:center;
}

.home .moments__intro.is-visible,
.home .moments--interactive:not(.is-static) .moments__intro.is-visible{
	left:10% !important;
	width:80% !important;
	max-width:80% !important;
	margin-left:0 !important;
	margin-right:0 !important;
	text-align:center !important;
}

.home .moments__intro.is-visible > *,
.home .moments--interactive:not(.is-static) .moments__intro.is-visible > *{
	width:100% !important;
	max-width:100% !important;
	text-align:center !important;
	margin-left:0 !important;
	margin-right:0 !important;
}

.home .moment-card__content,
.home .moments--interactive:not(.is-static) .moment-card__content{
	left:10% !important;
	right:auto !important;
	width:80% !important;
	max-width:80% !important;
	text-align:center !important;
}

.home .moment-card__content > *,
.home .moments--interactive:not(.is-static) .moment-card__content > *{
	width:100% !important;
	max-width:100% !important;
	text-align:center !important;
	margin-left:0 !important;
	margin-right:0 !important;
}

.home .aperitivo-catalog__intro,
.home .aperitivo-catalog__intro.is-visible,
.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro,
.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro.is-visible{
	left:10% !important;
	right:10% !important;
	width:auto !important;
	max-width:none !important;
	margin-left:0 !important;
	margin-right:0 !important;
	text-align:center !important;
}

.home .aperitivo-catalog__intro > *,
.home .aperitivo-catalog__intro.is-visible > *,
.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro > *,
.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro.is-visible > *{
	width:100% !important;
	max-width:100% !important;
	text-align:center !important;
	margin-left:0 !important;
	margin-right:0 !important;
}

.home .aperitivo-item__body,
.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body{
	left:10% !important;
	right:10% !important;
	bottom:clamp(104px,16vh,182px) !important;
	width:auto !important;
	max-width:none !important;
	text-align:center !important;
}

.home .aperitivo-item__body > *,
.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body > *{
	width:100% !important;
	max-width:100% !important;
	text-align:center !important;
	margin-left:0 !important;
	margin-right:0 !important;
}

@media (max-width: 767px) {
	.home .aperitivo-catalog__intro,
	.home .aperitivo-catalog__intro.is-visible,
	.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro,
	.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro.is-visible{
		left:10% !important;
		right:10% !important;
		width:auto !important;
		max-width:none !important;
	}

	.home .aperitivo-item__body,
	.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body{
		left:10% !important;
		right:10% !important;
		bottom:max(148px, env(safe-area-inset-bottom) + 136px) !important;
		width:auto !important;
		max-width:none !important;
	}
}

.bgig-social-icons{
	position:fixed;
	left:20px;
	bottom:20px;
	z-index:90;
	display:flex;
	flex-direction:column;
	gap:8px;
	opacity:1;
	visibility:visible;
	transition:opacity 320ms ease, visibility 320ms ease, transform 320ms ease;
}

.bgig-social-icons__link{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:40px;
	height:40px;
	padding:0;
	margin:0;
	border:0;
	background:transparent;
	text-decoration:none;
	transform:translateY(0) scale(1);
	transition:transform 220ms ease, opacity 220ms ease;
}

.bgig-social-icons__icon{
	display:block;
	width:40px;
	height:40px;
	opacity:1;
	filter:brightness(0) invert(1);
	transition:transform 220ms ease, opacity 220ms ease;
}

.bgig-social-icons__link:hover .bgig-social-icons__icon,
.bgig-social-icons__link:focus-visible .bgig-social-icons__icon{
	transform:scale(1.08);
	opacity:0.92;
}

.bgig-social-icons__link:active .bgig-social-icons__icon{
	transform:scale(0.96);
}

.bgig-social-icons__link:focus-visible{
	outline:2px solid #ffffff;
	outline-offset:3px;
	border-radius:4px;
}

body.bgig-hero-passed .bgig-social-icons,
body.menu-is-open .bgig-social-icons{
	opacity:0;
	visibility:hidden;
	transform:translateY(8px);
}

@media (prefers-reduced-motion:reduce){
	.bgig-social-icons,
	.bgig-social-icons__link,
	.bgig-social-icons__icon{
		transition:none;
	}

	.bgig-social-icons__link:hover .bgig-social-icons__icon,
	.bgig-social-icons__link:focus-visible .bgig-social-icons__icon,
	.bgig-social-icons__link:active .bgig-social-icons__icon{
		transform:none;
		opacity:1;
	}

	body.bgig-hero-passed .bgig-social-icons{
		transform:none;
	}
}

/* v1.0.20 — rifiniture logo, bottoni/tag e sezione News/Eventi */
.site-header__logo-image,
.custom-logo {
	filter: drop-shadow(0 6px 14px rgba(17,16,13,.35)) drop-shadow(0 1px 2px rgba(17,16,13,.28));
}

.gelato-focus__content {
	text-align: center;
}

.gelato-focus h2,
.gelato-focus__text {
	margin-left: auto;
	margin-right: auto;
}

.gelato-focus__tags {
	justify-content: center;
	align-items: center;
	max-width: min(880px, calc(100vw - 40px));
	margin-left: auto;
	margin-right: auto;
}

.gelato-focus__tags li {
	width: auto !important;
	max-width: max-content;
	flex: 0 0 auto;
	padding: 8px 14px;
	font-size: clamp(.82rem, .95vw, .95rem);
	line-height: 1.15;
	text-align: center;
}

.gelato-focus .button {
	margin-left: auto;
	margin-right: auto;
}

.home-updates {
	background: var(--color-black);
	color: var(--color-cream-soft);
	padding: clamp(70px, 9vw, 130px) 0;
}

.home-updates__inner,
.updates-archive-grid {
	width: var(--container);
	margin: 0 auto;
}

.home-updates__intro {
	text-align: center;
	max-width: 760px;
	margin: 0 auto clamp(34px, 5vw, 62px);
}

.home-updates__intro h2 {
	margin: 0;
	font-family: var(--font-heading);
	font-size: clamp(2.4rem, 5vw, 5rem);
	line-height: .95;
	letter-spacing: -.055em;
	font-weight: 500;
}

.home-updates__intro p:last-child {
	margin: 22px auto 0;
	max-width: 560px;
	line-height: 1.6;
	color: rgba(255,248,239,.78);
}

.home-updates__grid,
.updates-archive-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(18px, 2.5vw, 30px);
}

.updates-card {
	position: relative;
	min-width: 0;
	background: rgba(255,248,239,.06);
	border: 1px solid rgba(255,248,239,.16);
	border-radius: 28px;
	overflow: hidden;
	box-shadow: 0 22px 70px rgba(0,0,0,.24);
}

.updates-card__main-link {
	display: block;
	text-decoration: none;
	height: 100%;
}

.updates-card__media {
	position: relative;
	aspect-ratio: 4 / 3;
	background: var(--color-coffee);
	overflow: hidden;
}

.updates-card__media img,
.updates-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 420ms ease;
}

.updates-card:hover .updates-card__media img {
	transform: scale(1.035);
}

.updates-card__fallback {
	width: 100%;
	height: 100%;
	display: grid;
	place-items: center;
	background: radial-gradient(circle at 70% 25%, rgba(217,130,75,.24), transparent 30%), linear-gradient(145deg, var(--color-coffee), var(--color-black));
	padding: 32px;
}

.updates-card__fallback-logo {
	max-width: min(70%, 260px);
	max-height: 70%;
	object-fit: contain;
	filter: drop-shadow(0 10px 24px rgba(0,0,0,.32));
}

.updates-card__fallback span {
	font-family: var(--font-heading);
	font-size: clamp(2.2rem, 4vw, 4rem);
	line-height: .95;
	letter-spacing: -.05em;
	text-align: center;
}

.updates-card__badge {
	position: absolute;
	left: 16px;
	top: 16px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 32px;
	padding: 0 12px;
	border-radius: 999px;
	background: var(--color-cream-soft);
	color: var(--color-text-dark);
	font-size: .74rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.updates-card--event .updates-card__badge {
	background: var(--color-spritz);
	color: #fff;
}

.updates-card__body {
	padding: 24px;
	text-align: center;
}

.updates-card__meta {
	margin: 0 0 12px;
	font-size: .78rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: rgba(255,248,239,.62);
}

.updates-card__body h3,
.updates-card__body h2 {
	margin: 0;
	font-family: var(--font-heading);
	font-size: clamp(1.9rem, 3vw, 3rem);
	line-height: .98;
	letter-spacing: -.05em;
	font-weight: 500;
}

.updates-card__body p {
	margin: 16px auto 0;
	line-height: 1.55;
	color: rgba(255,248,239,.78);
}

.updates-card__location {
	font-weight: 700;
	color: rgba(255,248,239,.9) !important;
}

.updates-card__actions {
	padding: 0 24px 24px;
	text-align: center;
}

.updates-card__save {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 16px;
	border-radius: 999px;
	background: var(--color-cream-soft);
	color: var(--color-text-dark);
	font-weight: 800;
	text-decoration: none;
}

.home-updates__archive-link {
	margin: clamp(28px, 4vw, 46px) 0 0;
	text-align: center;
}

.entry__meta--event {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 12px 18px;
}

.entry__actions {
	margin: 28px 0 0;
}

@media (max-width: 1024px) {
	.home-updates__grid,
	.updates-archive-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.home-updates {
		padding: 72px 0;
	}

	.home-updates__grid,
	.updates-archive-grid {
		grid-template-columns: 1fr;
	}

	.updates-card {
		border-radius: 24px;
	}

	.gelato-focus__tags {
		gap: 10px;
	}

	.gelato-focus__tags li {
		padding: 8px 12px;
	}
}


/* v1.0.21 — Rifiniture richieste: logo header +10%, tag compatti e CTA card centrate */
.custom-logo,
.site-header__logo-image{
	max-height:70.8px !important;
	filter: drop-shadow(0 8px 18px rgba(0,0,0,.32));
}

/* Secondo blocco manifesto: voci su una sola riga in desktop, padding contenuto */
.manifesto__words{
	justify-content:center !important;
	align-items:center !important;
	flex-wrap:nowrap !important;
	gap:10px !important;
}

.manifesto__words li,
.gelato-focus__tags li{
	width:auto !important;
	max-width:max-content !important;
	flex:0 0 auto !important;
	white-space:nowrap !important;
	padding:8px 16px !important;
	text-align:center !important;
}

/* Card orizzontali: contenuti e bottoni centrati senza allargare i bottoni a tutta larghezza */
.moments--interactive:not(.is-static) .moment-card__content,
.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body{
	text-align:center !important;
	left:50% !important;
	right:auto !important;
	transform:translateX(-50%) !important;
	width:min(980px, calc(100vw - 48px)) !important;
	max-width:min(980px, calc(100vw - 48px)) !important;
}

.moments--interactive:not(.is-static) .moment-card h3,
.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item h3,
.moments--interactive:not(.is-static) .moment-card p,
.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item p{
	margin-left:auto !important;
	margin-right:auto !important;
	text-align:center !important;
}

.moment-card__link,
.aperitivo-item__toggle{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	width:auto !important;
	max-width:max-content !important;
	margin-left:auto !important;
	margin-right:auto !important;
	text-align:center !important;
	white-space:nowrap !important;
}

.moments--interactive:not(.is-static) .moment-card__link,
.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__toggle{
	margin-top:22px !important;
}

@media (max-width: 767px){
	.custom-logo,
	.site-header__logo-image{
		max-height:50.6px !important;
	}

	.manifesto__words{
		flex-wrap:wrap !important;
		justify-content:center !important;
	}

	.moments--interactive:not(.is-static) .moment-card__content,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body{
		width:calc(100vw - 44px) !important;
		max-width:calc(100vw - 44px) !important;
	}
}


/* v1.0.23 — rifiniture logo header, tag manifesto e CTA card */
.custom-logo,
.site-header__logo-image{
	max-height:78px !important;
	filter:none !important;
}

/* Manifesto: gruppo voci realmente compatto e centrato su desktop */
.manifesto__inner{
	text-align:center !important;
}
.manifesto__title,
.manifesto__text{
	margin-left:auto !important;
	margin-right:auto !important;
}
.manifesto__words{
	display:inline-flex !important;
	width:auto !important;
	max-width:calc(100vw - 48px) !important;
	margin:44px auto 0 !important;
	padding:0 !important;
	justify-content:center !important;
	align-items:center !important;
	flex-wrap:nowrap !important;
	gap:10px !important;
}
.manifesto__words li{
	width:auto !important;
	max-width:max-content !important;
	flex:0 0 auto !important;
	white-space:nowrap !important;
	padding:8px 16px !important;
	text-align:center !important;
}

/* CTA delle card orizzontali: centrate e compatte, non larghe come il contenitore */
.moment-card__link,
.aperitivo-item__toggle,
.moments--interactive:not(.is-static) .moment-card__link,
.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__toggle{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	width:auto !important;
	min-width:0 !important;
	max-width:max-content !important;
	padding:12px !important;
	margin-left:auto !important;
	margin-right:auto !important;
	text-align:center !important;
	white-space:nowrap !important;
}

/* Navigazioni delle sezioni orizzontali: gruppo centrato nella viewport */
.moments--interactive:not(.is-static) .moments__scene-nav,
.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__scene-nav{
	left:50% !important;
	right:auto !important;
	transform:translateX(-50%) !important;
	justify-content:center !important;
	align-items:center !important;
	gap:10px !important;
	width:auto !important;
	max-width:calc(100vw - 48px) !important;
}

@media (max-width: 767px){
	.custom-logo,
	.site-header__logo-image{
		max-height:56px !important;
		filter:none !important;
	}

	.manifesto__words{
		display:flex !important;
		flex-direction:column !important;
		align-items:center !important;
		justify-content:center !important;
		gap:10px !important;
		width:100% !important;
		max-width:100% !important;
	}

	.manifesto__words li{
		width:auto !important;
		max-width:calc(100vw - 56px) !important;
	}
}

/* v1.0.24 — centratura reale delle scene orizzontali e CTA compatte.
   Le precedenti regole centravano alcuni testi, ma il contenuto della card restava
   visivamente sbilanciato per via dei titoli molto grandi e delle vecchie posizioni. */
.home .moments--interactive:not(.is-static) .moment-card__content,
.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body{
	left:0 !important;
	right:0 !important;
	bottom:clamp(104px, 16vh, 178px) !important;
	width:100vw !important;
	max-width:100vw !important;
	padding-left:clamp(28px, 6vw, 96px) !important;
	padding-right:clamp(28px, 6vw, 96px) !important;
	margin:0 !important;
	transform:none !important;
	text-align:center !important;
	display:flex !important;
	flex-direction:column !important;
	align-items:center !important;
	justify-content:center !important;
}

.home .moments--interactive:not(.is-static) .moment-card__content > *,
.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body > *{
	width:auto !important;
	max-width:min(1120px, calc(100vw - 56px)) !important;
	margin-left:auto !important;
	margin-right:auto !important;
	text-align:center !important;
}

.home .moments--interactive:not(.is-static) .moment-card h3,
.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item h3{
	width:100% !important;
	max-width:min(1180px, calc(100vw - 56px)) !important;
	white-space:nowrap !important;
	overflow:visible !important;
	text-align:center !important;
	font-size:clamp(3.6rem, 7.8vw, 8.4rem) !important;
	line-height:.94 !important;
	margin-left:auto !important;
	margin-right:auto !important;
}

.home .moments--interactive:not(.is-static) .moment-card p,
.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item p{
	max-width:min(760px, calc(100vw - 56px)) !important;
	text-align:center !important;
}

.home .moments--interactive:not(.is-static) .moment-card__link,
.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__toggle{
	align-self:center !important;
	width:auto !important;
	min-width:0 !important;
	max-width:max-content !important;
	padding:.72em .72em !important;
	margin-left:auto !important;
	margin-right:auto !important;
	text-align:center !important;
	white-space:nowrap !important;
}

.home .moments--interactive:not(.is-static) .moments__scene-nav,
.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__scene-nav{
	left:50% !important;
	right:auto !important;
	transform:translateX(-50%) !important;
	width:max-content !important;
	max-width:calc(100vw - 48px) !important;
	justify-content:center !important;
	align-items:center !important;
	gap:10px !important;
}

@media (max-width: 767px){
	.home .moments--interactive:not(.is-static) .moment-card__content,
	.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body{
		bottom:max(132px, env(safe-area-inset-bottom) + 118px) !important;
		padding-left:22px !important;
		padding-right:22px !important;
	}

	.home .moments--interactive:not(.is-static) .moment-card h3,
	.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item h3{
		white-space:normal !important;
		font-size:clamp(3rem, 15vw, 5.8rem) !important;
	}

	.home .moments--interactive:not(.is-static) .moments__scene-nav,
	.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__scene-nav{
		width:auto !important;
		max-width:calc(100vw - 28px) !important;
		overflow-x:auto !important;
		justify-content:flex-start !important;
	}
}

/* v1.0.25 — News/Eventi: roll-up, badge configurabili, fascia Save the Date/Oggi e share */
.updates-card__badge{
	background:var(--bgig-news-badge-bg, var(--color-cream-soft)) !important;
	color:var(--bgig-news-badge-text, var(--color-text-dark)) !important;
}

.updates-card--event .updates-card__badge{
	background:var(--bgig-event-badge-bg, var(--color-spritz)) !important;
	color:var(--bgig-event-badge-text, #fff) !important;
}

.updates-card__media::after{
	content:"";
	position:absolute;
	inset:auto 0 0;
	height:0;
	z-index:1;
	background:linear-gradient(0deg, rgba(17,16,13,.82), rgba(17,16,13,.08));
	transition:height 360ms cubic-bezier(.22,1,.36,1);
	pointer-events:none;
}

.updates-card__roll{
	position:absolute;
	left:50%;
	bottom:18px;
	z-index:3;
	transform:translate(-50%, 16px);
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:38px;
	padding:0 16px;
	border:1px solid rgba(255,248,239,.52);
	border-radius:999px;
	background:rgba(17,16,13,.32);
	color:var(--color-cream-soft);
	font-size:.82rem;
	font-weight:800;
	letter-spacing:.12em;
	text-transform:uppercase;
	opacity:0;
	transition:opacity 260ms ease, transform 360ms cubic-bezier(.22,1,.36,1);
	pointer-events:none;
}

.updates-card:hover .updates-card__media::after,
.updates-card:focus-within .updates-card__media::after{
	height:62%;
}

.updates-card:hover .updates-card__roll,
.updates-card:focus-within .updates-card__roll{
	opacity:1;
	transform:translate(-50%, 0);
}

.updates-card__actions{
	padding:0 !important;
	border-top:1px solid rgba(255,248,239,.12);
	display:flex;
	align-items:stretch;
	justify-content:center;
	gap:0;
	text-align:center;
}

.updates-card__save,
.updates-card__share{
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:52px;
	padding:0 18px;
	border-radius:0 !important;
	font-size:.82rem;
	font-weight:900;
	letter-spacing:.12em;
	text-transform:uppercase;
	text-decoration:none;
	transition:filter 180ms ease, opacity 180ms ease;
}

.updates-card__save{
	flex:1 1 auto;
	background:var(--bgig-event-save-bg, var(--color-cream-soft)) !important;
	color:var(--bgig-event-save-text, var(--color-text-dark)) !important;
}

.updates-card__save--today{
	background:var(--bgig-event-today-bg, var(--color-spritz)) !important;
	color:var(--bgig-event-today-text, #fff) !important;
}

.updates-card__share{
	flex:0 0 auto;
	border-left:1px solid rgba(255,248,239,.14);
	background:rgba(255,248,239,.07);
	color:var(--color-cream-soft);
}

.updates-card__save:hover,
.updates-card__share:hover{
	filter:brightness(1.06);
}

.entry__actions{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:12px;
	flex-wrap:wrap;
}

@media (max-width: 767px){
	.updates-card__actions{
		flex-direction:column;
	}
	.updates-card__share{
		border-left:0;
		border-top:1px solid rgba(255,248,239,.14);
	}
}

/* v1.0.26 — News/Eventi: colori card e fascia evento stile FCI */
.updates-card{
	background:var(--bgig-updates-card-bg, #17130f) !important;
	color:var(--bgig-updates-card-text, #fff8ef) !important;
	overflow:hidden;
}

.updates-card__body,
.updates-card__body h2,
.updates-card__body h3,
.updates-card__body p,
.updates-card__meta,
.updates-card__location{
	color:var(--bgig-updates-card-text, #fff8ef) !important;
}

.updates-card__body p:not(.updates-card__meta):not(.updates-card__location){
	opacity:.82;
}

.updates-card__event-strip{
	margin:0;
	padding:0;
	border-top:1px solid rgba(255,248,239,.12);
}

.updates-card__event-strip .updates-card__save{
	display:flex !important;
	align-items:center;
	justify-content:center;
	width:100%;
	min-height:52px;
	padding:.7rem 1rem;
	border-radius:0 !important;
	background:var(--bgig-event-save-bg, var(--color-cream-soft)) !important;
	color:var(--bgig-event-save-text, var(--color-text-dark)) !important;
	font-size:.84rem;
	font-weight:900;
	letter-spacing:.12em;
	line-height:1;
	text-align:center;
	text-transform:uppercase;
	text-decoration:none;
}

.updates-card__event-strip .updates-card__save--today{
	cursor:default;
	background:var(--bgig-event-today-bg, var(--color-spritz)) !important;
	color:var(--bgig-event-today-text, #fff) !important;
}

.updates-card__event-strip a.updates-card__save:hover,
.updates-card__event-strip a.updates-card__save:focus-visible{
	filter:brightness(1.06);
}

.updates-card__actions{
	padding:12px 18px 18px !important;
	border-top:0 !important;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	text-align:center;
}

.updates-card__share{
	flex:0 0 auto !important;
	min-height:34px;
	padding:0 14px;
	border:1px solid color-mix(in srgb, var(--bgig-updates-card-text, #fff8ef) 25%, transparent);
	border-radius:999px !important;
	background:transparent !important;
	color:var(--bgig-updates-card-text, #fff8ef) !important;
	font-size:.72rem;
	font-weight:800;
	letter-spacing:.08em;
	line-height:1;
	text-transform:uppercase;
	text-decoration:none;
}

.updates-card__share:hover,
.updates-card__share:focus-visible{
	background:color-mix(in srgb, var(--bgig-updates-card-text, #fff8ef) 10%, transparent) !important;
}

.updates-card__main-link{
	color:inherit !important;
}

@supports not (color: color-mix(in srgb, white 10%, transparent)){
	.updates-card__share{
		border-color:rgba(255,248,239,.25);
	}
	.updates-card__share:hover,
	.updates-card__share:focus-visible{
		background:rgba(255,248,239,.1) !important;
	}
}


/* v1.0.27 — News/Eventi: Save the Date sempre visibile tra immagine e testo */
.updates-card{
	display:flex !important;
	flex-direction:column !important;
}
.updates-card__media-link,
.updates-card__body-link{
	display:block !important;
	color:inherit !important;
	text-decoration:none !important;
}
.updates-card__body-link{
	flex:1 1 auto;
}
.updates-card__event-strip{
	display:block !important;
	order:2;
	position:relative;
	z-index:4;
	border-top:0 !important;
	border-bottom:1px solid color-mix(in srgb, var(--bgig-updates-card-text, #fff8ef) 16%, transparent);
}
.updates-card__event-strip .updates-card__save{
	min-height:56px !important;
	font-size:.9rem !important;
}
.updates-card__body{
	padding-top:22px !important;
}
.updates-card__actions{
	margin-top:auto;
}
@supports not (color: color-mix(in srgb, white 10%, transparent)){
	.updates-card__event-strip{border-bottom-color:rgba(255,248,239,.16);}
}

/* v1.0.28 — pannello Condividi News/Eventi */
.bgig-share{
	position:relative;
	display:inline-flex;
	justify-content:center;
	align-items:center;
	z-index:12;
}
.bgig-share__toggle{
	cursor:pointer;
}
.bgig-share__panel{
	position:absolute;
	left:50%;
	bottom:calc(100% + 10px);
	transform:translateX(-50%);
	min-width:210px;
	padding:10px;
	border:1px solid rgba(255,248,239,.22);
	border-radius:18px;
	background:rgba(17,16,13,.96);
	box-shadow:0 18px 50px rgba(0,0,0,.28);
	backdrop-filter:blur(14px);
	display:grid;
	gap:6px;
	color:var(--color-cream-soft);
}
.bgig-share__panel[hidden]{
	display:none;
}
.bgig-share__panel a,
.bgig-share__panel button{
	width:100%;
	border:0;
	border-radius:999px;
	background:rgba(255,248,239,.08);
	color:inherit;
	padding:10px 14px;
	text-align:center;
	text-decoration:none;
	font:inherit;
	font-weight:700;
	cursor:pointer;
}
.bgig-share__panel a:hover,
.bgig-share__panel button:hover,
.bgig-share__panel a:focus-visible,
.bgig-share__panel button:focus-visible{
	background:var(--color-cream-soft);
	color:var(--color-text-dark);
}
.entry__actions .bgig-share__panel{
	bottom:auto;
	top:calc(100% + 10px);
}
@media (max-width:767px){
	.bgig-share__panel{
		position:fixed;
		left:14px;
		right:14px;
		bottom:20px;
		transform:none;
		min-width:0;
		z-index:999;
	}
}

/* v1.0.29 — Singolo News/Eventi con hero full-width */
.site-main--news-event-single{
	background:var(--color-cream-soft);
	color:var(--color-text-dark);
}
.news-event-hero{
	position:relative;
	width:100%;
	min-height:clamp(520px, 72vh, 820px);
	display:grid;
	place-items:center;
	overflow:hidden;
	background:var(--color-black-soft);
	color:var(--color-cream-soft);
	isolation:isolate;
}
.news-event-hero--no-image{
	min-height:clamp(430px, 62vh, 680px);
}
.news-event-hero__image{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
	z-index:-2;
}
.news-event-hero__overlay{
	position:absolute;
	inset:0;
	z-index:-1;
	background:linear-gradient(180deg, rgba(17,16,13,.46), rgba(17,16,13,.58));
}
.news-event-hero__content{
	width:min(1120px, calc(100vw - 40px));
	margin:0 auto;
	padding:calc(var(--header-height) + 64px) 0 72px;
	text-align:center;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	min-height:inherit;
}
.news-event-hero__badge{
	margin:0 0 clamp(24px, 4vw, 42px);
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:34px;
	padding:0 16px;
	border-radius:999px;
	font-size:.74rem;
	font-weight:900;
	letter-spacing:.16em;
	text-transform:uppercase;
	background:var(--bgig-news-badge-bg);
	color:var(--bgig-news-badge-text);
}
.news-event-hero__badge--event{
	background:var(--bgig-event-badge-bg);
	color:var(--bgig-event-badge-text);
}
.news-event-hero__title{
	width:min(980px, 100%);
	margin:0 auto;
	font-family:var(--font-heading);
	font-size:clamp(3rem, 7vw, 7rem);
	line-height:.92;
	letter-spacing:-.055em;
	font-weight:500;
	text-wrap:balance;
}
.news-event-hero__meta{
	margin:clamp(18px, 3vw, 30px) auto 0;
	display:flex;
	justify-content:center;
	align-items:center;
	flex-wrap:wrap;
	gap:10px 18px;
	max-width:820px;
	font-weight:700;
	font-size:clamp(1rem, 1.5vw, 1.15rem);
	color:rgba(255,248,239,.9);
}
.inner-content-wrap--news-event{
	max-width:920px;
}
.entry__actions--bottom{
	margin:clamp(32px, 5vw, 54px) 0 0;
	display:flex;
	justify-content:center;
	align-items:center;
	gap:12px;
	flex-wrap:wrap;
	text-align:center;
}
.entry__actions--bottom .button,
.entry__actions--bottom .bgig-share__toggle{
	min-height:46px;
	padding:0 18px;
	border-radius:999px;
}
.button--static{
	cursor:default;
	background:var(--bgig-event-today-bg);
	color:var(--bgig-event-today-text);
}
@media (max-width:767px){
	.news-event-hero{
		min-height:100svh;
	}
	.news-event-hero__content{
		width:min(100vw - 28px, 100%);
		padding:calc(var(--header-height) + 48px) 0 56px;
	}
	.news-event-hero__title{
		font-size:clamp(2.8rem, 14vw, 5rem);
	}
	.news-event-hero__meta{
		flex-direction:column;
		gap:8px;
	}
}

/* v1.0.30 — Singolo News/Eventi: hero davvero full viewport e azioni visibili */
.entry--news-event{
	max-width:none !important;
	width:100% !important;
	margin:0 !important;
}
.entry--news-event .news-event-hero{
	width:100vw !important;
	max-width:100vw !important;
	margin-left:calc(50% - 50vw) !important;
	margin-right:calc(50% - 50vw) !important;
	min-height:clamp(380px, 52vh, 600px) !important;
	border-radius:0 !important;
}
.entry--news-event .news-event-hero__content{
	min-height:clamp(380px, 52vh, 600px) !important;
	padding:calc(var(--header-height) + 48px) 20px 54px !important;
}
.entry--news-event .news-event-hero__image{
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
}
.entry__actions--bottom{
	width:100%;
	display:flex !important;
	justify-content:center !important;
	align-items:center !important;
	gap:14px !important;
	flex-wrap:wrap !important;
}
.entry__actions--bottom .button--primary,
.entry__actions--bottom .button--static,
.entry__actions--bottom .bgig-share__toggle{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	min-width:0 !important;
	width:auto !important;
	min-height:46px !important;
	padding:0 22px !important;
	border-radius:999px !important;
	font-weight:800 !important;
	line-height:1 !important;
	text-decoration:none !important;
}
.entry__actions--bottom .button--primary{
	background:var(--bgig-event-save-bg, var(--color-black)) !important;
	color:var(--bgig-event-save-text, var(--color-cream-soft)) !important;
	border:1px solid var(--bgig-event-save-bg, var(--color-black)) !important;
}
.entry__actions--bottom .button--static{
	background:var(--bgig-event-today-bg, var(--color-spritz)) !important;
	color:var(--bgig-event-today-text, #fff) !important;
	border:1px solid var(--bgig-event-today-bg, var(--color-spritz)) !important;
}
.entry__actions--bottom .bgig-share__toggle{
	background:transparent !important;
	color:var(--color-text-dark) !important;
	border:1px solid color-mix(in srgb, var(--color-text-dark) 35%, transparent) !important;
}
.entry__actions--bottom .bgig-share__toggle:hover,
.entry__actions--bottom .bgig-share__toggle:focus-visible{
	background:var(--color-black) !important;
	color:var(--color-cream-soft) !important;
	border-color:var(--color-black) !important;
}
@media (max-width:767px){
	.entry--news-event .news-event-hero{
		min-height:62svh !important;
	}
	.entry--news-event .news-event-hero__content{
		min-height:62svh !important;
		padding:calc(var(--header-height) + 40px) 14px 44px !important;
	}
	.entry__actions--bottom{
		gap:10px !important;
	}
}

/* v1.0.31 — Singolo News/Eventi: badge in linea header e azioni uniformi */
.entry--news-event .news-event-hero__badge{
	position:absolute !important;
	top:calc((var(--header-height) - 34px) / 2) !important;
	left:50% !important;
	transform:translateX(-50%) !important;
	z-index:5 !important;
	margin:0 !important;
	background:transparent !important;
	border:0 !important;
	box-shadow:none !important;
	color:var(--color-cream-soft) !important;
	text-shadow:0 2px 16px rgba(0,0,0,.36) !important;
	padding:0 !important;
	min-height:34px !important;
	white-space:nowrap !important;
}
.entry--news-event .news-event-hero__badge--event,
.entry--news-event .news-event-hero__badge--news{
	background:transparent !important;
	color:var(--color-cream-soft) !important;
}
.entry--news-event .news-event-hero__content{
	position:relative;
}
.entry__actions--bottom .button--primary,
.entry__actions--bottom .button--static,
.entry__actions--bottom .bgig-share__toggle{
	background:transparent !important;
	color:var(--color-text-dark) !important;
	border:1px solid color-mix(in srgb, var(--color-text-dark) 35%, transparent) !important;
	box-shadow:none !important;
}
.entry__actions--bottom .button--primary:hover,
.entry__actions--bottom .button--primary:focus-visible,
.entry__actions--bottom .bgig-share__toggle:hover,
.entry__actions--bottom .bgig-share__toggle:focus-visible{
	background:var(--color-black) !important;
	color:var(--color-cream-soft) !important;
	border-color:var(--color-black) !important;
}
.entry__actions--bottom .button--static{
	cursor:default !important;
	opacity:.9;
}
@supports not (color: color-mix(in srgb, white 10%, transparent)){
	.entry__actions--bottom .button--primary,
	.entry__actions--bottom .button--static,
	.entry__actions--bottom .bgig-share__toggle{
		border-color:rgba(23,19,15,.35) !important;
	}
}
@media (max-width:767px){
	.entry--news-event .news-event-hero__badge{
		top:calc((var(--header-height) - 30px) / 2) !important;
		font-size:.68rem !important;
		min-height:30px !important;
	}
}


/* v1.0.32 — News/Eventi card: data più grande, titoli/testi controllati */
.updates-card__meta{
	font-size:clamp(1.02rem, 1.45vw, 1.25rem) !important;
	line-height:1.1 !important;
	letter-spacing:.14em !important;
	margin:0 0 22px !important;
	font-weight:700 !important;
}
.updates-card__body h2,
.updates-card__body h3{
	font-size:clamp(1.55rem, 2.25vw, 2.1rem) !important;
	line-height:1.04 !important;
	letter-spacing:-.035em !important;
	max-width:100% !important;
	display:-webkit-box !important;
	-webkit-line-clamp:2 !important;
	-webkit-box-orient:vertical !important;
	overflow:hidden !important;
	text-overflow:ellipsis !important;
}
.updates-card__body p:not(.updates-card__meta):not(.updates-card__location){
	display:-webkit-box !important;
	-webkit-line-clamp:2 !important;
	-webkit-box-orient:vertical !important;
	overflow:hidden !important;
	text-overflow:ellipsis !important;
	margin-top:18px !important;
}
.updates-card__location{
	display:-webkit-box !important;
	-webkit-line-clamp:3 !important;
	-webkit-box-orient:vertical !important;
	overflow:hidden !important;
	text-overflow:ellipsis !important;
}
@media (max-width:767px){
	.updates-card__meta{
		font-size:1rem !important;
		margin-bottom:18px !important;
	}
	.updates-card__body h2,
	.updates-card__body h3{
		font-size:clamp(1.45rem, 8vw, 2rem) !important;
	}
}


/* v1.0.33 — Distinzione date card News/Eventi */
.updates-card__meta{
	text-align:center !important;
	margin-left:auto !important;
	margin-right:auto !important;
}
.updates-card__meta--event{
	font-weight:400 !important;
	letter-spacing:.16em !important;
}
.updates-card__meta--news{
	font-size:1rem !important;
	line-height:1.45 !important;
	letter-spacing:.02em !important;
	text-transform:none !important;
	font-weight:400 !important;
	color:rgba(255,248,239,.76) !important;
}
.updates-card__body h2,
.updates-card__body h3{
	margin-top:18px !important;
}


/* v1.0.34 — logo fisso header +30% rispetto alla v1.0.33 */
.custom-logo,
.site-header__logo-image{
	max-height:101px !important;
}

@media (max-width: 767px){
	.custom-logo,
	.site-header__logo-image{
		max-height:73px !important;
	}
}


/* v1.0.35 — News/Eventi: centratura reale delle card come gruppo */
.home-updates__grid,
.updates-archive-grid{
	display:flex !important;
	flex-wrap:wrap;
	justify-content:center !important;
	align-items:stretch;
	gap:clamp(18px, 2.5vw, 30px);
	width:var(--container);
	margin-left:auto;
	margin-right:auto;
}

.home-updates__grid .updates-card,
.updates-archive-grid .updates-card{
	flex:0 1 min(100%, 360px);
	max-width:360px;
	width:100%;
}

@media (min-width: 1280px){
	.home-updates__grid .updates-card,
	.updates-archive-grid .updates-card{
		flex-basis:360px;
	}
}

@media (min-width: 768px) and (max-width: 1120px){
	.home-updates__grid .updates-card,
	.updates-archive-grid .updates-card{
		flex-basis:min(100%, 420px);
		max-width:420px;
	}
}

@media (max-width: 767px){
	.home-updates__grid,
	.updates-archive-grid{
		width:var(--container);
		justify-content:center !important;
	}
	.home-updates__grid .updates-card,
	.updates-archive-grid .updates-card{
		flex-basis:100%;
		max-width:100%;
	}
}

/* v1.0.36 — Contacts section minimal centered layout */
.contacts {
	text-align: center;
}

.contacts__inner {
	width: var(--container);
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: clamp(2.5rem, 6vw, 4.5rem);
}

.contacts__content {
	max-width: 850px;
	margin: 0 auto;
	text-align: center;
}

.contacts__text {
	margin-left: auto;
	margin-right: auto;
}

.contacts__actions {
	justify-content: center;
}

.contacts__footer-info {
	max-width: 920px;
	margin: 0 auto;
	text-align: center;
	font-size: clamp(0.82rem, 1vw, 0.95rem);
	line-height: 1.7;
	color: rgba(23, 19, 15, 0.72);
}

.contacts__footer-info p {
	margin: 0 0 0.55rem;
}

.contacts__place-name {
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-text-dark);
}

.contacts__footer-info a {
	color: inherit;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.contacts__hours {
	margin-top: 1rem;
}

.contacts__hours-title {
	margin: 0 0 0.45rem !important;
	font-size: clamp(0.95rem, 1.25vw, 1.15rem);
	font-weight: 700;
	letter-spacing: 0.10em;
	text-transform: uppercase;
	color: var(--color-text-dark);
}

.contacts__hours ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.4rem 1rem;
}

.contacts__hours li {
	display: inline-flex;
	align-items: baseline;
	gap: 0.35rem;
	white-space: nowrap;
}

.contacts__hours li span:first-child {
	font-weight: 650;
}

@media (max-width: 767px) {
	.contacts__footer-info {
		font-size: 0.86rem;
	}

	.contacts__hours ul {
		display: grid;
		gap: 0.28rem;
	}

	.contacts__hours li {
		justify-content: center;
	}
}


/* v1.0.37 — Contacts footer details full-width and pushed lower */
.contacts.section-block {
	min-height: 92svh;
	display: flex;
	align-items: stretch;
}

.contacts__inner {
	width: 100%;
	min-height: calc(92svh - 2rem);
	justify-content: space-between;
	padding-left: 0;
	padding-right: 0;
}

.contacts__content {
	width: min(920px, calc(100vw - 40px));
	margin-left: auto;
	margin-right: auto;
}

.contacts__footer-info {
	width: 100vw;
	max-width: none;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding-left: clamp(18px, 4vw, 64px);
	padding-right: clamp(18px, 4vw, 64px);
	padding-bottom: clamp(0.5rem, 2vh, 1.4rem);
	text-align: center;
}

.contacts__place-name,
.contacts__line--address,
.contacts__line--contacts,
.contacts__hours-title {
	width: 100%;
	text-align: center;
}

@media (min-width: 900px) {
	.contacts__place-name,
	.contacts__line--address,
	.contacts__line--contacts {
		white-space: nowrap;
		font-size: clamp(0.78rem, 0.92vw, 0.96rem);
		line-height: 1.65;
	}

	.contacts__line--address br,
	.contacts__line--contacts br {
		display: none;
	}
}

.contacts__hours {
	width: 100%;
	text-align: center;
}

.contacts__hours-title {
	font-size: clamp(1rem, 1.35vw, 1.22rem);
}

@media (max-width: 767px) {
	.contacts.section-block {
		min-height: auto;
	}

	.contacts__inner {
		min-height: auto;
		width: var(--container);
	}

	.contacts__footer-info {
		width: 100%;
		margin-left: auto;
		margin-right: auto;
		padding-left: 0;
		padding-right: 0;
	}
}


/* v1.0.38 — Contacts footer details: true full-width, no unwanted wrapping, lower placement */
.contacts.section-block {
	min-height: 100svh;
}

.contacts__inner {
	min-height: 100svh;
	justify-content: flex-start;
}

.contacts__footer-info {
	box-sizing: border-box;
	width: 100vw !important;
	max-width: none !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	margin-top: auto !important;
	padding-left: clamp(16px, 3vw, 56px) !important;
	padding-right: clamp(16px, 3vw, 56px) !important;
	padding-bottom: clamp(72px, 10vh, 128px) !important;
	text-align: center !important;
}

.contacts__footer-info p,
.contacts__footer-info a,
.contacts__footer-info span {
	text-align: center !important;
}

.contacts__place-name,
.contacts__line--address,
.contacts__line--contacts {
	display: block;
	width: 100% !important;
	max-width: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
	white-space: nowrap !important;
	text-align: center !important;
	font-size: clamp(0.78rem, 0.9vw, 0.95rem);
	line-height: 1.55;
}

.contacts__line--address br,
.contacts__line--contacts br {
	display: none !important;
}

.contacts__hours,
.contacts__hours-title,
.contacts__hours ul {
	width: 100% !important;
	max-width: none !important;
	text-align: center !important;
	justify-content: center !important;
}

@media (max-width: 767px) {
	.contacts.section-block,
	.contacts__inner {
		min-height: auto;
	}

	.contacts__footer-info {
		width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		padding-bottom: clamp(32px, 8vh, 72px) !important;
	}

	.contacts__place-name,
	.contacts__line--address,
	.contacts__line--contacts {
		white-space: normal !important;
	}
}


/* v1.0.39 — Contacts section: reduce empty space after CTA and center hours correctly */
.contacts.section-block {
	min-height: 100svh;
}

.contacts__inner {
	min-height: 100svh;
	justify-content: flex-start !important;
	gap: clamp(2rem, 4.5vh, 4rem) !important;
}

.contacts__content {
	margin-bottom: 0 !important;
}

.contacts__footer-info {
	margin-top: clamp(3.5rem, 8vh, 6.5rem) !important;
	padding-bottom: clamp(42px, 7vh, 82px) !important;
}

.contacts__hours {
	margin-top: clamp(1rem, 2vh, 1.5rem) !important;
	text-align: center !important;
}

.contacts__hours-title {
	text-align: center !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.contacts__hours ul {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	align-items: center !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 0 !important;
	text-align: center !important;
}

.contacts__hours li {
	display: inline-flex !important;
	justify-content: center !important;
	align-items: baseline !important;
	text-align: center !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

@media (max-width: 767px) {
	.contacts__inner {
		gap: clamp(1.8rem, 5vh, 3rem) !important;
	}

	.contacts__footer-info {
		margin-top: clamp(2.4rem, 7vh, 4rem) !important;
		padding-bottom: clamp(32px, 6vh, 56px) !important;
	}

	.contacts__hours ul {
		display: grid !important;
		justify-items: center !important;
	}
}


/* v1.0.40 — Contacts section: remove useless bottom whitespace before footer */
.contacts.section-block {
	min-height: auto !important;
	padding-bottom: 20px !important;
}

.contacts__inner {
	min-height: auto !important;
	gap: clamp(1.8rem, 4vh, 3rem) !important;
}

.contacts__footer-info {
	margin-top: clamp(2rem, 5vh, 4rem) !important;
	padding-bottom: 20px !important;
}

.contacts__hours {
	margin-top: 0.85rem !important;
}

.contacts__hours ul {
	margin-bottom: 0 !important;
}

.contacts__hours li {
	margin-bottom: 0 !important;
}

@media (max-width: 767px) {
	.contacts.section-block {
		padding-bottom: 18px !important;
	}

	.contacts__footer-info {
		margin-top: clamp(1.8rem, 5vh, 3rem) !important;
		padding-bottom: 18px !important;
	}
}

/* v1.0.44 digital cards: carta vini + carta gin */
.digital-cards__inner{
	grid-template-columns:1fr;
	align-items:start;
}
.digital-cards__intro{
	max-width:860px;
}
.digital-cards__grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:clamp(22px,4vw,48px);
	width:100%;
}
.digital-card{
	border:1px solid rgba(23,19,15,.14);
	border-radius:36px;
	overflow:hidden;
	background:rgba(255,255,255,.38);
	box-shadow:0 28px 70px rgba(23,19,15,.08);
}
.digital-card__visual{
	min-height:420px;
	background:linear-gradient(145deg,var(--color-black),var(--color-coffee));
	display:grid;
	place-items:center;
	overflow:hidden;
}
.digital-card__visual img{
	width:100%;
	height:100%;
	object-fit:cover;
}
.digital-card__body{
	padding:clamp(24px,4vw,38px);
}
.digital-card__kicker{
	margin:0 0 12px!important;
	font-size:.78rem!important;	
	line-height:1.2!important;
	text-transform:uppercase;
	letter-spacing:.17em;
	font-weight:700;
	color:var(--color-spritz);
}
.digital-card h3{
	margin:0;
	font-family:var(--font-heading);
	font-size:clamp(2.2rem,4vw,4rem);
	line-height:.95;
	letter-spacing:-.045em;
	font-weight:500;
}
.digital-card__body p:not(.digital-card__kicker){
	font-size:1.05rem;
	line-height:1.55;
	margin:18px 0 24px;
}
.digital-card .menu-online__mockup{
	width:min(260px,76%);
	aspect-ratio:9/12;
}
.digital-card .menu-online__mockup span{
	font-size:clamp(2.2rem,5vw,4rem);
}
@media (max-width:900px){
	.digital-cards__grid{grid-template-columns:1fr;}
	.digital-card__visual{min-height:360px;}
}

/* v1.0.45 — Carte digitali: card visuali, testi minimi e centrati */
.digital-cards__intro{
	text-align:center;
	margin-left:auto;
	margin-right:auto;
}
.digital-cards__intro p{
	margin-left:auto;
	margin-right:auto;
}
.digital-cards__grid{
	align-items:start;
}
.digital-card{
	text-align:center;
	background:rgba(255,255,255,.32);
}
.digital-card__main-link{
	display:block;
	height:100%;
	padding:clamp(18px,3vw,30px);
	text-decoration:none;
	color:inherit;
}
.digital-card__visual{
	width:min(100%,390px);
	aspect-ratio:9/14;
	min-height:0!important;
	margin:0 auto;
	border-radius:28px;
	background:linear-gradient(145deg,var(--color-black),var(--color-coffee));
	box-shadow:0 22px 60px rgba(23,19,15,.18);
}
.digital-card__visual img{
	width:100%;
	height:100%;
	object-fit:contain;
	background:rgba(17,16,13,.96);
	transition:transform .55s cubic-bezier(.22,1,.36,1);
}
.digital-card__main-link:hover .digital-card__visual img,
.digital-card__main-link:focus-visible .digital-card__visual img{
	transform:scale(1.025);
}
.digital-card__fallback{
	width:100%;
	height:100%;
	display:grid;
	place-items:center;
	padding:28px;
	color:var(--color-cream-soft);
	background:radial-gradient(circle at 70% 25%,rgba(217,130,75,.28),transparent 34%),linear-gradient(145deg,var(--color-coffee),var(--color-black));
}
.digital-card__fallback span{
	max-width:82%;
	font-family:var(--font-heading);
	font-size:clamp(2rem,5vw,3.8rem);
	line-height:.95;
	letter-spacing:-.045em;
}
.digital-card__body{
	padding:clamp(18px,3vw,28px) 0 0!important;
	text-align:center;
}
.digital-card__kicker{
	margin:0!important;
	font-size:.78rem!important;
	line-height:1.2!important;
	text-transform:uppercase;
	letter-spacing:.17em;
	font-weight:800;
	color:var(--color-spritz);
}
.digital-card__hint{
	max-width:280px;
	margin:10px auto 0!important;
	font-size:.92rem!important;
	line-height:1.35!important;
	color:rgba(23,19,15,.64);
}
.digital-card h3,
.digital-card .button{
	display:none!important;
}
@media (max-width:900px){
	.digital-card__visual{width:min(100%,340px);}
}


/* v1.0.46 — Carte solo immagine, intro centrata e testo ridotto */
.digital-cards__inner{
	display:block!important;
	text-align:center!important;
}
.digital-cards__intro{
	max-width:760px!important;
	margin:0 auto clamp(30px,5vw,56px)!important;
	text-align:center!important;
}
.digital-cards__intro .section-kicker{
	display:none!important;
}
.digital-cards__intro h2{
	max-width:720px!important;
	margin:0 auto!important;
	font-size:clamp(2rem,4.2vw,4.2rem)!important;
	line-height:1!important;
	text-align:center!important;
}
.digital-cards__intro p{
	max-width:620px!important;
	margin:18px auto 0!important;
	text-align:center!important;
}
.digital-cards__grid{
	max-width:980px;
	margin:0 auto;
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:clamp(24px,4vw,54px);
	align-items:start;
}
.digital-card{
	border:0!important;
	background:transparent!important;
	box-shadow:none!important;
	overflow:visible!important;
	text-align:center!important;
}
.digital-card__main-link{
	display:block;
	width:min(100%,390px);
	margin:0 auto;
	padding:0!important;
	border-radius:30px;
	overflow:hidden;
	box-shadow:0 28px 70px rgba(23,19,15,.16);
	background:rgba(17,16,13,.96);
	transition:transform .45s cubic-bezier(.22,1,.36,1), box-shadow .45s cubic-bezier(.22,1,.36,1);
}
.digital-card__main-link:hover,
.digital-card__main-link:focus-visible{
	transform:translateY(-6px);
	box-shadow:0 38px 90px rgba(23,19,15,.24);
}
.digital-card__visual{
	width:100%!important;
	aspect-ratio:9/14;
	min-height:0!important;
	margin:0!important;
	border-radius:0!important;
	box-shadow:none!important;
	background:rgba(17,16,13,.96)!important;
	overflow:hidden!important;
}
.digital-card__visual img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover!important;
	background:transparent!important;
	transition:transform .6s cubic-bezier(.22,1,.36,1);
}
.digital-card__main-link:hover .digital-card__visual img,
.digital-card__main-link:focus-visible .digital-card__visual img{
	transform:scale(1.055);
}
.digital-card__fallback{
	width:100%;
	height:100%;
	display:block;
	background:linear-gradient(145deg,rgba(17,16,13,.9),rgba(63,39,24,.95));
}
.digital-card__fallback span,
.digital-card__body,
.digital-card__kicker,
.digital-card__hint,
.digital-card h3,
.digital-card .button{
	display:none!important;
}
@media (max-width:900px){
	.digital-cards__grid{grid-template-columns:1fr;max-width:430px;}
	.digital-card__main-link{width:min(100%,360px);}
}

/* v1.0.45 — Template pagine/articoli e galleria media accessibile */
.site-main--inner{
	background:var(--color-cream);
	color:var(--color-text-dark);
}
.site-main--inner .inner-content-wrap{
	width:100%;
	margin:0;
	padding:0;
}
.site-main--inner .entry{
	width:100%;
	max-width:none;
	margin:0;
}
.entry__hero{
	position:relative;
	min-height:min(72vh,760px);
	margin:0;
	display:grid;
	place-items:center;
	overflow:hidden;
	background:var(--color-coffee);
	color:var(--color-cream-soft);
	isolation:isolate;
}
.entry__hero-image{
	position:absolute;
	inset:0;
	z-index:-2;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
	border-radius:0!important;
}
.entry__hero-overlay{
	position:absolute;
	inset:0;
	z-index:-1;
	background:rgba(17,16,13,.42);
}
.entry__hero-content{
	width:min(1180px,90vw);
	padding:calc(var(--header-height) + 42px) 0 56px;
	text-align:center;
}
.entry__hero .entry__title{
	margin:0 auto;
	max-width:920px;
	color:var(--color-cream-soft);
	text-wrap:balance;
}
.entry__hero .entry__meta{
	margin-top:18px;
	color:rgba(255,248,239,.78);
}
.site-main--inner .entry__content{
	width:100%;
	max-width:none;
	padding:2% 5%;
	font-size:clamp(1.05rem,1.5vw,1.2rem);
	line-height:1.75;
}
.site-main--inner .entry__content img{
	border-radius:0;
}
.entry-gallery{
	margin-top:50px;
	padding:clamp(34px,5vw,70px) 5%;
	background:#2b211b;
	color:var(--color-cream-soft);
}
.entry-gallery__grid{
	column-count:4;
	column-gap:clamp(10px,1.4vw,18px);
}
.entry-gallery__item{
	break-inside:avoid;
	margin:0 0 clamp(10px,1.4vw,18px);
	background:#1f1814;
}
.entry-gallery__trigger{
	position:relative;
	display:block;
	width:100%;
	padding:0;
	border:0;
	border-radius:0;
	background:transparent;
	color:inherit;
	cursor:pointer;
	overflow:hidden;
}
.entry-gallery__trigger:focus-visible{
	outline:3px solid var(--color-cream-soft);
	outline-offset:4px;
}
.entry-gallery__media{
	display:block;
	width:100%;
	height:auto;
	border-radius:0!important;
	transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .45s cubic-bezier(.22,1,.36,1);
}
.entry-gallery__media--video{
	aspect-ratio:16/10;
	object-fit:cover;
	background:#17130f;
}
.entry-gallery__trigger:hover .entry-gallery__media,
.entry-gallery__trigger:focus-visible .entry-gallery__media{
	transform:scale(1.035);
	opacity:.9;
}
.entry-gallery__play{
	position:absolute;
	left:50%;
	top:50%;
	width:62px;
	height:62px;
	transform:translate(-50%,-50%);
	border-radius:50%;
	background:rgba(255,248,239,.9);
	box-shadow:0 16px 34px rgba(0,0,0,.28);
}
.entry-gallery__play::after{
	content:"";
	position:absolute;
	left:25px;
	top:19px;
	border-top:12px solid transparent;
	border-bottom:12px solid transparent;
	border-left:18px solid #17130f;
}
.entry-lightbox::backdrop{
	background:rgba(17,16,13,.82);
}
.entry-lightbox{
	width:min(1180px,92vw);
	max-width:1180px;
	max-height:92vh;
	padding:0;
	border:0;
	background:transparent;
	color:var(--color-cream-soft);
}
.entry-lightbox__inner{
	position:relative;
	display:grid;
	place-items:center;
	min-height:60vh;
}
.entry-lightbox__close{
	position:absolute;
	z-index:2;
	top:12px;
	right:12px;
	width:46px;
	height:46px;
	border:1px solid rgba(255,248,239,.55);
	border-radius:50%;
	background:rgba(17,16,13,.62);
	color:var(--color-cream-soft);
	font-size:2rem;
	line-height:1;
	cursor:pointer;
}
.entry-lightbox__close:focus-visible{
	outline:3px solid var(--color-cream-soft);
	outline-offset:4px;
}
.entry-lightbox__content{
	width:100%;
	display:grid;
	place-items:center;
}
.entry-lightbox__media{
	display:block;
	max-width:100%;
	max-height:88vh;
	width:auto;
	height:auto;
	object-fit:contain;
	background:#17130f;
}
body.entry-lightbox-is-open{
	overflow:hidden;
}
@media (max-width:1100px){
	.entry-gallery__grid{column-count:3;}
}
@media (max-width:760px){
	.entry__hero{min-height:62vh;}
	.entry__hero-content{width:min(100% - 28px,100%);}
	.site-main--inner .entry__content{padding:24px 5%;}
	.entry-gallery{margin-top:50px;padding:36px 5%;}
	.entry-gallery__grid{column-count:2;}
}
@media (max-width:480px){
	.entry-gallery__grid{column-count:1;}
}
@media (prefers-reduced-motion:reduce){
	.entry-gallery__media{transition:none;}
	.entry-gallery__trigger:hover .entry-gallery__media,
	.entry-gallery__trigger:focus-visible .entry-gallery__media{transform:none;}
}

/* v1.0.46 — News/Eventi: sfondo fotografico e card quadrate compatte */
.home-updates{
	position:relative;
	background:#17130f url("../images/fondo_eventi.jpg") center/cover no-repeat !important;
	color:var(--color-cream-soft);
	isolation:isolate;
}
.home-updates::before{
	content:"";
	position:absolute;
	inset:0;
	z-index:-1;
	background:linear-gradient(180deg,rgba(17,16,13,.7),rgba(17,16,13,.48) 42%,rgba(17,16,13,.76));
	pointer-events:none;
}
.home-updates__inner{
	position:relative;
	z-index:1;
}
.home-updates__intro{
	text-shadow:0 12px 30px rgba(0,0,0,.34);
}
.home-updates__grid{
	align-items:start;
}
.home-updates .updates-card{
	aspect-ratio:1/1;
	display:grid !important;
	grid-template-rows:minmax(0,54%) 1fr;
	border-radius:18px;
	background:rgba(23,19,15,.9) !important;
	border:1px solid rgba(255,248,239,.18);
	box-shadow:0 24px 70px rgba(0,0,0,.32);
	overflow:hidden;
}
.home-updates .updates-card--event{
	grid-template-rows:minmax(0,54%) auto 1fr;
}
.updates-card__media-frame{
	position:relative;
	min-height:0;
	overflow:visible;
}
.home-updates .updates-card__media-link{
	display:block !important;
	height:100%;
}
.home-updates .updates-card__media{
	height:100%;
	aspect-ratio:auto;
}
.home-updates .updates-card__media img,
.home-updates .updates-card__image,
.home-updates .updates-card__fallback{
	width:100%;
	height:100%;
	object-fit:cover;
}
.updates-card__topline{
	position:absolute;
	left:12px;
	right:12px;
	top:12px;
	z-index:8;
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:10px;
	pointer-events:none;
}
.updates-card__topline .updates-card__badge{
	position:static;
	min-height:30px;
	padding:0 11px;
	font-size:.68rem;
	box-shadow:0 10px 24px rgba(0,0,0,.22);
}
.updates-card__topline .updates-card__actions{
	margin:0 !important;
	padding:0 !important;
	border:0 !important;
	display:block !important;
	pointer-events:auto;
}
.updates-card__topline .updates-card__share{
	min-height:30px;
	padding:0 11px;
	border:1px solid rgba(255,248,239,.42);
	background:rgba(17,16,13,.56) !important;
	color:var(--color-cream-soft) !important;
	box-shadow:0 10px 24px rgba(0,0,0,.22);
	backdrop-filter:blur(10px);
}
.updates-card__topline .bgig-share__panel{
	left:auto;
	right:0;
	bottom:auto;
	top:calc(100% + 10px);
	transform:none;
}
.home-updates .updates-card__event-strip{
	order:initial;
	min-height:0;
	border-bottom:1px solid rgba(255,248,239,.12) !important;
}
.home-updates .updates-card__event-strip .updates-card__save{
	min-height:34px !important;
	padding:.48rem .75rem;
	font-size:.68rem !important;
	letter-spacing:.09em;
}
.home-updates .updates-card__body-link{
	min-height:0;
	overflow:hidden;
}
.home-updates .updates-card__body{
	height:100%;
	padding:14px 16px 16px !important;
	display:flex;
	flex-direction:column;
	justify-content:flex-start;
	text-align:left;
	overflow:hidden;
}
.home-updates .updates-card__meta{
	margin:0 0 7px;
	font-size:.66rem;
	line-height:1.2;
	letter-spacing:.08em;
}
.home-updates .updates-card__body h3{
	font-size:clamp(1.35rem,2vw,2rem);
	line-height:1;
	letter-spacing:-.04em;
	display:-webkit-box;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
	overflow:hidden;
}
.home-updates .updates-card__body p:not(.updates-card__meta):not(.updates-card__location){
	margin-top:8px;
	font-size:.86rem;
	line-height:1.35;
	display:-webkit-box;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
	overflow:hidden;
}
.home-updates .updates-card__location{
	margin-top:8px;
	font-size:.78rem;
	line-height:1.25;
	display:-webkit-box;
	-webkit-line-clamp:1;
	-webkit-box-orient:vertical;
	overflow:hidden;
}
.home-updates .home-updates__archive-link .button{
	background:rgba(17,16,13,.42);
	backdrop-filter:blur(10px);
}
@media (max-width:1024px){
	.home-updates .updates-card{grid-template-rows:minmax(0,55%) auto 1fr;}
}
@media (max-width:767px){
	.home-updates .updates-card{
		aspect-ratio:auto;
		min-height:460px;
		grid-template-rows:minmax(230px,54%) auto 1fr;
	}
	.updates-card__topline .bgig-share__panel{
		position:fixed;
		left:14px;
		right:14px;
		top:auto;
		bottom:20px;
		transform:none;
	}
}

/* v1.0.47 — News/Eventi: card grandi, immagine dominante, info sopra foto */
.home-updates__grid{
	grid-template-columns:repeat(auto-fit,minmax(min(100%,552px),552px)) !important;
	justify-content:center;
	gap:clamp(24px,3vw,38px);
}
.home-updates .updates-card,
.home-updates .updates-card--event{
	aspect-ratio:1/1;
	display:grid !important;
	grid-template-rows:1fr 54px;
	width:100%;
	border-radius:18px;
	background:rgba(23,19,15,.92) !important;
	border:0 !important;
	overflow:hidden;
}
.home-updates .updates-card__media-frame{
	position:relative;
	min-height:0;
	overflow:visible;
}
.home-updates .updates-card__media-link,
.home-updates .updates-card__media{
	display:block !important;
	width:100%;
	height:100%;
}
.home-updates .updates-card__media{
	position:relative;
	isolation:isolate;
}
.home-updates .updates-card__media::after{
	content:"";
	position:absolute;
	inset:0;
	z-index:1;
	height:auto;
	background:linear-gradient(180deg,rgba(17,16,13,.5),rgba(17,16,13,.22) 42%,rgba(17,16,13,.6));
	transition:none;
	pointer-events:none;
}
.home-updates .updates-card:hover .updates-card__media::after,
.home-updates .updates-card:focus-within .updates-card__media::after{
	height:auto;
}
.home-updates .updates-card__media img,
.home-updates .updates-card__image,
.home-updates .updates-card__fallback{
	width:100%;
	height:100%;
	object-fit:cover;
}
.updates-card__image-copy{
	position:absolute;
	inset:0;
	z-index:3;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:10px;
	padding:64px 34px 42px;
	text-align:center;
	color:var(--color-cream-soft);
	text-shadow:0 12px 30px rgba(0,0,0,.42);
}
.updates-card__image-copy .updates-card__meta{
	margin:0;
	color:rgba(255,248,239,.82) !important;
	font-size:.72rem;
	line-height:1.2;
	letter-spacing:.12em;
	text-transform:uppercase;
}
.updates-card__image-copy h3{
	margin:0;
	max-width:92%;
	font-family:var(--font-heading);
	font-size:clamp(2rem,3vw,3rem);
	line-height:.95;
	letter-spacing:-.05em;
	font-weight:500;
	color:var(--color-cream-soft);
	display:-webkit-box;
	-webkit-line-clamp:3;
	-webkit-box-orient:vertical;
	overflow:hidden;
}
.home-updates .updates-card__topline{
	z-index:6;
}
.home-updates .updates-card__event-strip,
.home-updates .updates-card__body-link{
	position:relative;
	z-index:2;
	display:block !important;
	min-height:54px;
	border:0 !important;
	background:rgba(17,16,13,.96);
	color:var(--color-cream-soft) !important;
	text-decoration:none !important;
}
.home-updates .updates-card__event-strip .updates-card__save{
	width:100%;
	min-height:54px !important;
	padding:0 18px;
	border-radius:0 !important;
	font-size:.78rem !important;
	letter-spacing:.11em;
}
.home-updates .updates-card__body{
	height:54px;
	padding:0 18px !important;
	display:flex;
	align-items:center;
	justify-content:flex-start;
	text-align:left;
}
.home-updates .updates-card__body p{
	width:100%;
	margin:0 !important;
	font-size:.86rem;
	line-height:1;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
	color:rgba(255,248,239,.84) !important;
}
.home-updates .updates-card::after{
	content:"";
	position:absolute;
	inset:0;
	z-index:9;
	background:#2b211b;
	opacity:0;
	transition:opacity .24s ease;
	pointer-events:none;
}
.home-updates .updates-card__roll{
	position:absolute;
	left:50%;
	top:50%;
	bottom:auto;
	z-index:10;
	transform:translate(-50%,-50%) scale(.96);
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:48px;
	padding:0 26px;
	border:1px solid rgba(255,248,239,.52);
	border-radius:999px;
	background:transparent;
	color:var(--color-cream-soft);
	font-size:.9rem;
	font-weight:900;
	letter-spacing:.14em;
	text-transform:uppercase;
	opacity:0;
	transition:opacity .24s ease,transform .24s ease;
	pointer-events:none;
}
.home-updates .updates-card:hover::after,
.home-updates .updates-card:focus-within::after{
	opacity:1;
}
.home-updates .updates-card:hover .updates-card__roll,
.home-updates .updates-card:focus-within .updates-card__roll{
	opacity:1;
	transform:translate(-50%,-50%) scale(1);
}
.home-updates .updates-card:hover .updates-card__media img,
.home-updates .updates-card:focus-within .updates-card__media img{
	transform:none;
}
@media (max-width:767px){
	.home-updates__grid{
		grid-template-columns:minmax(0,1fr) !important;
	}
	.home-updates .updates-card,
	.home-updates .updates-card--event{
		width:min(100%,460px);
		margin-inline:auto;
		min-height:0;
		aspect-ratio:1/1;
		grid-template-rows:1fr 54px;
	}
	.updates-card__image-copy{
		padding:62px 24px 36px;
	}
	.updates-card__image-copy h3{
		font-size:clamp(1.8rem,10vw,2.7rem);
	}
}

/* v1.0.49 — Archivio News/Eventi allineato alla home */
.site-main--updates-archive{
	min-height:100vh;
	background:#17130f url("../images/fondo_eventi.jpg") center/cover fixed no-repeat;
	color:var(--color-cream-soft);
}
.site-main--updates-archive .archive-list--updates{
	position:relative;
	padding:calc(var(--header-height) + 58px) 0 clamp(70px,8vw,120px);
	isolation:isolate;
}
.site-main--updates-archive .archive-list--updates::before{
	content:"";
	position:absolute;
	inset:0;
	z-index:-1;
	background:linear-gradient(180deg,rgba(17,16,13,.78),rgba(17,16,13,.52) 38%,rgba(17,16,13,.82));
	pointer-events:none;
}
.updates-archive-hero{
	width:min(900px,calc(100vw - 40px));
	margin:0 auto clamp(34px,5vw,62px);
	text-align:center;
	text-shadow:0 12px 30px rgba(0,0,0,.34);
}
.updates-archive-hero h1{
	margin:0;
	font-family:var(--font-heading);
	font-size:clamp(2.4rem,5vw,5rem);
	line-height:.95;
	letter-spacing:-.055em;
	font-weight:500;
}
.updates-archive-hero p:last-child{
	max-width:620px;
	margin:20px auto 0;
	color:rgba(255,248,239,.78);
	line-height:1.6;
}
.site-main--updates-archive .updates-archive-grid{
	width:var(--container);
	max-width:none;
	margin:0 auto;
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(min(100%,552px),552px)) !important;
	justify-content:center;
	gap:clamp(24px,3vw,38px);
}
.site-main--updates-archive .updates-card{
	aspect-ratio:1/1;
	display:grid !important;
	grid-template-rows:1fr 54px;
	border:0 !important;
}
.site-main--updates-archive .updates-card--event{
	grid-template-rows:1fr 54px;
}
.site-main--updates-archive .updates-card__image-copy h2{
	margin:0;
	max-width:92%;
	font-family:var(--font-heading);
	font-size:clamp(2rem,3vw,3rem);
	line-height:.95;
	letter-spacing:-.05em;
	font-weight:500;
	color:var(--color-cream-soft);
	display:-webkit-box;
	-webkit-line-clamp:3;
	-webkit-box-orient:vertical;
	overflow:hidden;
}
.updates-card__save--finished{
	cursor:default;
	background:#2b211b !important;
	color:var(--color-cream-soft) !important;
}
.site-main--updates-archive .archive-pagination{
	grid-column:1/-1;
	text-align:center;
	color:var(--color-cream-soft);
}
@media (max-width:767px){
	.site-main--updates-archive{
		background-attachment:scroll;
	}
	.site-main--updates-archive .updates-archive-grid{
		grid-template-columns:minmax(0,1fr) !important;
	}
	.site-main--updates-archive .updates-card{
		width:min(100%,460px);
		margin-inline:auto;
	}
}

/* v1.0.50 — Card archivio identiche alle card home */
.home-updates .updates-card,
.site-main--updates-archive .updates-card{
	aspect-ratio:1/1 !important;
	display:grid !important;
	grid-template-rows:1fr 54px !important;
	width:100% !important;
	max-width:none !important;
	border:0 !important;
	border-radius:18px !important;
	background:rgba(23,19,15,.92) !important;
	overflow:hidden !important;
	box-shadow:0 24px 70px rgba(0,0,0,.32) !important;
}
.home-updates .updates-card__media-frame,
.site-main--updates-archive .updates-card__media-frame{
	position:relative !important;
	min-height:0 !important;
	overflow:visible !important;
}
.home-updates .updates-card__media-link,
.home-updates .updates-card__media,
.site-main--updates-archive .updates-card__media-link,
.site-main--updates-archive .updates-card__media{
	display:block !important;
	width:100% !important;
	height:100% !important;
}
.home-updates .updates-card__media,
.site-main--updates-archive .updates-card__media{
	position:relative !important;
	aspect-ratio:auto !important;
	isolation:isolate !important;
}
.home-updates .updates-card__media::after,
.site-main--updates-archive .updates-card__media::after{
	content:"" !important;
	position:absolute !important;
	inset:0 !important;
	z-index:1 !important;
	height:auto !important;
	background:linear-gradient(180deg,rgba(17,16,13,.5),rgba(17,16,13,.22) 42%,rgba(17,16,13,.6)) !important;
	transition:none !important;
	pointer-events:none !important;
}
.home-updates .updates-card__image,
.home-updates .updates-card__media img,
.home-updates .updates-card__fallback,
.site-main--updates-archive .updates-card__image,
.site-main--updates-archive .updates-card__media img,
.site-main--updates-archive .updates-card__fallback{
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
}
.home-updates .updates-card__image-copy,
.site-main--updates-archive .updates-card__image-copy{
	position:absolute !important;
	inset:0 !important;
	z-index:3 !important;
	display:flex !important;
	flex-direction:column !important;
	align-items:center !important;
	justify-content:center !important;
	gap:10px !important;
	padding:64px 34px 42px !important;
	text-align:center !important;
	color:var(--color-cream-soft) !important;
	text-shadow:0 12px 30px rgba(0,0,0,.42) !important;
}
.home-updates .updates-card__image-copy .updates-card__meta,
.site-main--updates-archive .updates-card__image-copy .updates-card__meta{
	margin:0 !important;
	color:rgba(255,248,239,.82) !important;
	font-size:.72rem !important;
	line-height:1.2 !important;
	letter-spacing:.12em !important;
	text-transform:uppercase !important;
}
.home-updates .updates-card__image-copy h3,
.home-updates .updates-card__image-copy .updates-card__title,
.site-main--updates-archive .updates-card__image-copy h2,
.site-main--updates-archive .updates-card__image-copy .updates-card__title{
	margin:0 !important;
	max-width:92% !important;
	font-family:var(--font-heading) !important;
	font-size:clamp(2rem,3vw,3rem) !important;
	line-height:.95 !important;
	letter-spacing:-.05em !important;
	font-weight:500 !important;
	color:var(--color-cream-soft) !important;
	display:-webkit-box !important;
	-webkit-line-clamp:3 !important;
	-webkit-box-orient:vertical !important;
	overflow:hidden !important;
}
.home-updates .updates-card__topline,
.site-main--updates-archive .updates-card__topline{
	position:absolute !important;
	left:12px !important;
	right:12px !important;
	top:12px !important;
	z-index:6 !important;
	display:flex !important;
	align-items:flex-start !important;
	justify-content:space-between !important;
	gap:10px !important;
	pointer-events:none !important;
}
.home-updates .updates-card__topline .updates-card__actions,
.site-main--updates-archive .updates-card__topline .updates-card__actions{
	margin:0 !important;
	padding:0 !important;
	border:0 !important;
	display:block !important;
	pointer-events:auto !important;
}
.home-updates .updates-card__topline .updates-card__badge,
.site-main--updates-archive .updates-card__topline .updates-card__badge{
	position:static !important;
	min-height:30px !important;
	padding:0 11px !important;
	font-size:.68rem !important;
	box-shadow:0 10px 24px rgba(0,0,0,.22) !important;
}
.home-updates .updates-card__topline .updates-card__share,
.site-main--updates-archive .updates-card__topline .updates-card__share{
	min-height:30px !important;
	padding:0 11px !important;
	border:1px solid rgba(255,248,239,.42) !important;
	border-radius:999px !important;
	background:rgba(17,16,13,.56) !important;
	color:var(--color-cream-soft) !important;
	box-shadow:0 10px 24px rgba(0,0,0,.22) !important;
	backdrop-filter:blur(10px) !important;
}
.home-updates .updates-card__event-strip,
.home-updates .updates-card__body-link,
.site-main--updates-archive .updates-card__event-strip,
.site-main--updates-archive .updates-card__body-link{
	position:relative !important;
	z-index:2 !important;
	display:block !important;
	min-height:54px !important;
	border:0 !important;
	background:rgba(17,16,13,.96) !important;
	color:var(--color-cream-soft) !important;
	text-decoration:none !important;
}
.home-updates .updates-card__event-strip .updates-card__save,
.site-main--updates-archive .updates-card__event-strip .updates-card__save{
	width:100% !important;
	min-height:54px !important;
	padding:0 18px !important;
	border-radius:0 !important;
	font-size:.78rem !important;
	letter-spacing:.11em !important;
}
.home-updates .updates-card__body,
.site-main--updates-archive .updates-card__body{
	height:54px !important;
	padding:0 18px !important;
	display:flex !important;
	align-items:center !important;
	justify-content:flex-start !important;
	text-align:left !important;
}
.home-updates .updates-card__body p,
.site-main--updates-archive .updates-card__body p{
	width:100% !important;
	margin:0 !important;
	font-size:.86rem !important;
	line-height:1 !important;
	white-space:nowrap !important;
	overflow:hidden !important;
	text-overflow:ellipsis !important;
	color:rgba(255,248,239,.84) !important;
}
.home-updates .updates-card::after,
.site-main--updates-archive .updates-card::after{
	content:"" !important;
	position:absolute !important;
	inset:0 !important;
	z-index:9 !important;
	background:#2b211b !important;
	opacity:0 !important;
	transition:opacity .24s ease !important;
	pointer-events:none !important;
}
.home-updates .updates-card:hover::after,
.home-updates .updates-card:focus-within::after,
.site-main--updates-archive .updates-card:hover::after,
.site-main--updates-archive .updates-card:focus-within::after{
	opacity:1 !important;
}
.home-updates .updates-card__roll,
.site-main--updates-archive .updates-card__roll{
	position:absolute !important;
	left:50% !important;
	top:50% !important;
	bottom:auto !important;
	z-index:10 !important;
	transform:translate(-50%,-50%) scale(.96) !important;
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	min-height:48px !important;
	padding:0 26px !important;
	border:1px solid rgba(255,248,239,.52) !important;
	border-radius:999px !important;
	background:transparent !important;
	color:var(--color-cream-soft) !important;
	font-size:.9rem !important;
	font-weight:900 !important;
	letter-spacing:.14em !important;
	text-transform:uppercase !important;
	opacity:0 !important;
	transition:opacity .24s ease,transform .24s ease !important;
	pointer-events:none !important;
}
.home-updates .updates-card:hover .updates-card__roll,
.home-updates .updates-card:focus-within .updates-card__roll,
.site-main--updates-archive .updates-card:hover .updates-card__roll,
.site-main--updates-archive .updates-card:focus-within .updates-card__roll{
	opacity:1 !important;
	transform:translate(-50%,-50%) scale(1) !important;
}
@media (max-width:767px){
	.home-updates .updates-card,
	.site-main--updates-archive .updates-card{
		width:min(100%,460px) !important;
		margin-inline:auto !important;
	}
	.home-updates .updates-card__image-copy,
	.site-main--updates-archive .updates-card__image-copy{
		padding:62px 24px 36px !important;
	}
	.home-updates .updates-card__image-copy h3,
	.home-updates .updates-card__image-copy .updates-card__title,
	.site-main--updates-archive .updates-card__image-copy h2,
	.site-main--updates-archive .updates-card__image-copy .updates-card__title{
		font-size:clamp(1.8rem,10vw,2.7rem) !important;
	}
}

/* v1.0.51 — Fullscreen menu più compatto, maiuscolo e separato */
.fullscreen-menu__content{
	align-items:center !important;
	text-align:center !important;
	justify-content:center !important;
	width:100vw !important;
	max-width:none !important;
	padding-left:0 !important;
	padding-right:0 !important;
}
.fullscreen-menu__list{
	width:min(85vw,1280px) !important;
	margin-left:auto !important;
	margin-right:auto !important;
	padding:0 !important;
	display:block !important;
	list-style:none !important;
}
.fullscreen-menu__list > li{
	margin:0 !important;
	padding:0 !important;
	border-bottom:1px solid rgba(255,248,239,.22) !important;
}
.fullscreen-menu__list > li:first-child{
	border-top:1px solid rgba(255,248,239,.22) !important;
}
.fullscreen-menu__list > li > a{
	display:block !important;
	width:100% !important;
	padding:18px 0 !important;
	text-align:center !important;
	font-family:var(--font-heading) !important;
	font-size:clamp(1.2rem,2.52vw,2.4rem) !important;
	line-height:1 !important;
	letter-spacing:0 !important;
	font-weight:500 !important;
	text-transform:uppercase !important;
	white-space:nowrap !important;
	overflow:visible !important;
	text-overflow:clip !important;
	text-decoration:none !important;
	color:var(--color-cream-soft) !important;
	transition:color .22s ease,background-color .22s ease !important;
}
.fullscreen-menu__list > li > a:hover,
.fullscreen-menu__list > li > a:focus-visible{
	color:#d9a441 !important;
	background:rgba(255,248,239,.04) !important;
}
.fullscreen-menu__list .sub-menu{
	width:100% !important;
	margin:0 !important;
	padding:0 0 12px !important;
	display:block !important;
	list-style:none !important;
}
.fullscreen-menu__list .sub-menu li{
	border-top:1px solid rgba(255,248,239,.14) !important;
}
.fullscreen-menu__list .sub-menu a{
	display:block !important;
	width:100% !important;
	padding:12px 0 !important;
	text-align:center !important;
	border:0 !important;
	border-radius:0 !important;
	font-family:var(--font-body) !important;
	font-size:.85rem !important;
	line-height:1 !important;
	letter-spacing:.08em !important;
	text-transform:uppercase !important;
	white-space:nowrap !important;
	overflow:visible !important;
	text-overflow:clip !important;
	text-decoration:none !important;
	color:rgba(255,248,239,.78) !important;
	transition:color .22s ease,background-color .22s ease !important;
}
.fullscreen-menu__list .sub-menu a:hover,
.fullscreen-menu__list .sub-menu a:focus-visible{
	color:#d9a441 !important;
	background:rgba(255,248,239,.04) !important;
}
@media (max-width:767px){
	.fullscreen-menu__list{
		width:min(85vw,calc(100vw - 24px)) !important;
	}
	.fullscreen-menu__list > li > a{
		font-size:clamp(1.15rem,6.6vw,2.15rem) !important;
		padding:16px 0 !important;
	}
}

/* v1.0.60 — Mobile portrait parity/responsive hardening
 * Obiettivo: mantenere la ricchezza della home desktop senza forzare sul portrait
 * mobile griglie larghe, scene orizzontali, card troppo alte o controlli sovrapposti.
 */
@media (max-width: 767px) and (orientation: portrait) {
	:root{
		--container:calc(100vw - 28px) !important;
		--header-height:72px !important;
	}

	html,
	body{
		width:100% !important;
		max-width:100% !important;
		overflow-x:hidden !important;
	}

	.site-header__inner,
	.site-footer__inner,
	.manifesto__inner,
	.moments__intro,
	.moments__track,
	.gelato-focus__inner,
	.aperitivo-catalog__intro,
	.menu-online__inner,
	.digital-cards__inner,
	.contacts__inner,
	.home-updates__inner{
		width:var(--container) !important;
		max-width:var(--container) !important;
		margin-left:auto !important;
		margin-right:auto !important;
	}

	.site-header__inner{
		min-height:72px !important;
		gap:12px !important;
	}
	.site-header__logo,
	.site-header__brand{
		max-width:calc(100vw - 96px) !important;
		overflow:hidden !important;
		text-overflow:ellipsis !important;
		white-space:nowrap !important;
	}
	.site-header__toggle{
		flex:0 0 46px !important;
	}

	.hero{
		min-height:100svh !important;
		align-items:end !important;
		place-items:end center !important;
	}
	.hero__image,
	.hero__video{
		object-fit:cover !important;
		object-position:center center !important;
		transform:none !important;
	}
	.hero__content{
		width:var(--container) !important;
		max-width:var(--container) !important;
		padding:calc(var(--header-height) + 24px) 0 92px !important;
		text-align:left !important;
	}
	.hero__logo-wrap{
		justify-content:flex-start !important;
		margin-bottom:18px !important;
	}
	.hero__logo-image{
		max-width:min(64vw,240px) !important;
		max-height:145px !important;
	}
	.hero__title{
		max-width:100% !important;
		margin-left:0 !important;
		font-size:clamp(2.85rem,15vw,4.85rem) !important;
		line-height:.92 !important;
		letter-spacing:-.065em !important;
	}
	.hero__subtitle{
		max-width:100% !important;
		margin:18px 0 0 !important;
		font-size:1rem !important;
		line-height:1.45 !important;
	}
	.hero__actions{
		width:100% !important;
		margin-top:24px !important;
		display:grid !important;
		grid-template-columns:1fr !important;
		gap:10px !important;
		justify-content:stretch !important;
	}
	.hero__actions .button{
		width:100% !important;
		min-height:48px !important;
		padding:0 16px !important;
	}
	.hero__scroll{
		bottom:18px !important;
	}

	.section-kicker{
		font-size:.72rem !important;
		letter-spacing:.14em !important;
	}
	.manifesto,
	.moments,
	.gelato-focus,
	.aperitivo-catalog,
	.menu-online,
	.digital-cards,
	.contacts,
	.home-updates{
		padding-top:72px !important;
		padding-bottom:72px !important;
		overflow:hidden !important;
	}
	.manifesto__title,
	.moments__title,
	.gelato-focus__content h2,
	.aperitivo-catalog__intro h2,
	.menu-online h2,
	.digital-cards__intro h2,
	.contacts h2,
	.home-updates h2{
		max-width:100% !important;
		font-size:clamp(2.45rem,12.5vw,4.1rem) !important;
		line-height:.94 !important;
		letter-spacing:-.055em !important;
		word-break:normal !important;
		overflow-wrap:anywhere !important;
	}
	.manifesto__text,
	.moments__text,
	.gelato-focus__content p,
	.aperitivo-catalog__intro p,
	.menu-online p,
	.digital-cards__intro p,
	.contacts__text,
	.home-updates__intro p{
		max-width:100% !important;
		font-size:1rem !important;
		line-height:1.55 !important;
	}
	.manifesto__words{
		display:flex !important;
		flex-wrap:wrap !important;
		gap:8px !important;
		margin-top:28px !important;
	}
	.manifesto__words li{
		padding:9px 13px !important;
		font-size:.9rem !important;
	}

	/* Le scene desktop pinned/orizzontali diventano contenuto verticale naturale. */
	.moments,
	.moments--interactive,
	.aperitivo-catalog,
	.aperitivo-catalog--interactive{
		height:auto !important;
		min-height:0 !important;
	}
	.moments__pin,
	.aperitivo-catalog__pin{
		position:relative !important;
		top:auto !important;
		height:auto !important;
		min-height:0 !important;
		padding:0 !important;
	}
	.moments__viewport,
	.aperitivo-catalog__viewport{
		width:var(--container) !important;
		max-width:var(--container) !important;
		margin:28px auto 0 !important;
		overflow:visible !important;
	}
	.moments__track,
	.aperitivo-catalog__track{
		width:100% !important;
		max-width:100% !important;
		display:grid !important;
		grid-template-columns:1fr !important;
		gap:16px !important;
		transform:none !important;
	}
	.moments__scene-nav,
	.aperitivo-catalog__scene-nav,
	.moments__progress,
	.aperitivo-catalog__progress{
		display:none !important;
	}
	.moment-card,
	.aperitivo-card,
	.aperitivo-item{
		width:100% !important;
		max-width:100% !important;
		min-width:0 !important;
		min-height:420px !important;
		margin:0 !important;
		border-radius:24px !important;
		transform:none !important;
	}
	.moment-card__content,
	.aperitivo-item__body{
		left:20px !important;
		right:20px !important;
		bottom:22px !important;
	}
	.moment-card h3,
	.aperitivo-item h3{
		font-size:clamp(2.15rem,12vw,3.45rem) !important;
		line-height:.94 !important;
		letter-spacing:-.055em !important;
	}
	.moment-card p,
	.aperitivo-item p{
		font-size:.98rem !important;
		line-height:1.45 !important;
	}

	.gelato-focus,
	.gelato-focus[data-sticky-reveal]{
		height:auto !important;
		min-height:0 !important;
	}
	.gelato-focus__inner{
		display:grid !important;
		grid-template-columns:1fr !important;
		gap:24px !important;
		align-items:start !important;
	}
	.gelato-focus__media,
	.gelato-focus__content{
		position:relative !important;
		top:auto !important;
		transform:none !important;
		width:100% !important;
		max-width:100% !important;
	}
	.gelato-focus__media{
		order:2 !important;
		min-height:360px !important;
		border-radius:26px !important;
		overflow:hidden !important;
	}
	.gelato-focus__content{
		order:1 !important;
	}
	.gelato-focus__media img{
		width:100% !important;
		height:100% !important;
		object-fit:cover !important;
		transform:none !important;
	}
	.gelato-focus__tags{
		display:flex !important;
		flex-wrap:wrap !important;
		gap:8px !important;
		padding:0 !important;
	}
	.gelato-focus__tags li{
		transform:none !important;
	}

	.digital-cards__grid,
	.menu-online__grid,
	.contacts__grid,
	.contacts__inner{
		display:grid !important;
		grid-template-columns:1fr !important;
		gap:20px !important;
	}
	.digital-card,
	.digital-card__main-link,
	.digital-card__visual{
		width:100% !important;
		max-width:100% !important;
	}
	.digital-card__visual{
		aspect-ratio:3 / 4 !important;
		min-height:0 !important;
		border-radius:26px !important;
		overflow:hidden !important;
	}
	.digital-card__visual img{
		width:100% !important;
		height:100% !important;
		object-fit:cover !important;
	}

	.home-updates__grid,
	.updates-grid,
	.site-main--updates-archive .updates-grid{
		display:grid !important;
		grid-template-columns:1fr !important;
		gap:18px !important;
	}
	.home-updates .updates-card,
	.site-main--updates-archive .updates-card{
		width:100% !important;
		max-width:100% !important;
		min-width:0 !important;
	}

	.contacts__content,
	.contacts__footer-info,
	.contacts__hours,
	.contacts__actions{
		width:100% !important;
		max-width:100% !important;
		text-align:left !important;
	}
	.contacts__actions{
		display:grid !important;
		grid-template-columns:1fr !important;
	}
	.contacts__actions .button{
		width:100% !important;
	}
	.contacts__line,
	.contacts__hours,
	.contacts__hours *{
		overflow-wrap:anywhere !important;
	}

	.bottom-panel__sheet{
		width:100vw !important;
		max-width:100vw !important;
		border-radius:26px 26px 0 0 !important;
		padding:26px 18px calc(26px + env(safe-area-inset-bottom)) !important;
	}
	.bottom-panel__content{
		width:100% !important;
		max-width:100% !important;
	}
	.bottom-panel__content h4{
		font-size:clamp(2.1rem,11vw,3.4rem) !important;
		line-height:.95 !important;
	}

	.site-footer__inner{
		grid-template-columns:1fr !important;
		text-align:left !important;
	}
	.site-footer__menu{
		display:grid !important;
		grid-template-columns:1fr !important;
		gap:10px !important;
	}
}


/* v1.0.61 — migliorie richieste: titoli maiuscoli, titoli grandi -20%, rollup non invasivo, content home, momenti senza nav/numeri */
.site-main h1,
.site-main h2,
.site-main h3,
.site-main h4,
.site-main h5,
.site-main h6,
.fullscreen-menu__list a,
.section-kicker,
.updates-card__meta,
.updates-card__badge,
.digital-card__kicker,
.moment-card__number{
	text-transform:uppercase !important;
}

/* Riduzione circa 20% dei titoli principali più grandi. */
.home .site-main .hero__title{font-size:clamp(1.92rem,4.2vw,4.48rem) !important;}
.home .site-main .manifesto__title{font-size:clamp(1.92rem,4.2vw,4.48rem) !important;}
.home .site-main .moments__title{font-size:clamp(2.4rem,5.6vw,5.2rem) !important;}
.home .site-main .menu-online h2,
.home .site-main .digital-cards__intro h2,
.home .site-main .gelato-focus h2,
.home .site-main .aperitivo-catalog__intro h2,
.home .site-main .contacts h2,
.site-main--updates-archive .updates-archive-hero h1{font-size:clamp(2.4rem,5.6vw,5.12rem) !important;}
.home .site-main .home-updates__intro h2{font-size:clamp(1.92rem,4vw,4rem) !important;}
.home .moments--interactive:not(.is-static) .moment-card h3,
.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item h3{font-size:clamp(2.88rem,6.24vw,6.72rem) !important;}
.home .site-main .moment-card h3,
.home .site-main .digital-card h3,
.home .site-main .updates-card__image-copy h3,
.site-main--updates-archive .updates-card__image-copy h2{font-size:clamp(1.6rem,2.4vw,2.4rem) !important;}

/* News/Eventi: il rollup deve coprire solo la parte visuale, non descrizione o Save the Date. */
.home-updates .updates-card::after,
.site-main--updates-archive .updates-card::after{
	content:none !important;
	display:none !important;
}
.home-updates .updates-card__media::before,
.site-main--updates-archive .updates-card__media::before{
	content:"" !important;
	position:absolute !important;
	inset:0 !important;
	z-index:4 !important;
	background:rgba(43,33,27,.86) !important;
	opacity:0 !important;
	transition:opacity .24s ease !important;
	pointer-events:none !important;
}
.home-updates .updates-card:hover .updates-card__media::before,
.home-updates .updates-card:focus-within .updates-card__media::before,
.site-main--updates-archive .updates-card:hover .updates-card__media::before,
.site-main--updates-archive .updates-card:focus-within .updates-card__media::before{
	opacity:1 !important;
}
.home-updates .updates-card__roll,
.site-main--updates-archive .updates-card__roll{
	top:calc(50% - 27px) !important;
	bottom:auto !important;
	z-index:7 !important;
	transform:translate(-50%,-50%) scale(.96) !important;
}
.home-updates .updates-card:hover .updates-card__roll,
.home-updates .updates-card:focus-within .updates-card__roll,
.site-main--updates-archive .updates-card:hover .updates-card__roll,
.site-main--updates-archive .updates-card:focus-within .updates-card__roll{
	transform:translate(-50%,-50%) scale(1) !important;
}
.home-updates .updates-card__event-strip,
.home-updates .updates-card__body-link,
.site-main--updates-archive .updates-card__event-strip,
.site-main--updates-archive .updates-card__body-link{
	z-index:8 !important;
}

/* Contenuto editoriale della pagina Home subito dopo News/Eventi. */
.home-editorial-content{
	background:var(--color-black);
	color:var(--color-cream-soft);
	padding:clamp(28px,5vw,70px) 0 clamp(70px,9vw,130px);
}
.home-editorial-content__inner{
	width:min(860px,calc(100vw - 40px));
	margin:0 auto;
	text-align:center;
	font-size:clamp(1.05rem,1.45vw,1.22rem);
	line-height:1.65;
	color:rgba(255,248,239,.82);
}
.home-editorial-content__inner > *:first-child{margin-top:0;}
.home-editorial-content__inner > *:last-child{margin-bottom:0;}
.home-editorial-content__inner h1,
.home-editorial-content__inner h2,
.home-editorial-content__inner h3{
	font-family:var(--font-heading);
	line-height:.98;
	letter-spacing:-.045em;
	color:var(--color-cream-soft);
}

/* Momenti: niente bottoni di navigazione e niente numerini. */
.moments__scene-nav,
.moment-card__number{
	display:none !important;
}

@media (max-width:767px){
	.home .site-main .hero__title{font-size:clamp(2.08rem,11.2vw,3.84rem) !important;}
	.home .site-main .manifesto__title,
	.home .site-main .moments__title,
	.home .site-main .menu-online h2,
	.home .site-main .digital-cards__intro h2,
	.home .site-main .gelato-focus h2,
	.home .site-main .aperitivo-catalog__intro h2,
	.home .site-main .contacts h2{font-size:clamp(2.1rem,11vw,3.85rem) !important;}
	.home .moments--interactive:not(.is-static) .moment-card h3,
	.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item h3{font-size:clamp(2.4rem,12vw,4.64rem) !important;}
	.home .site-main .updates-card__image-copy h3,
	.site-main--updates-archive .updates-card__image-copy h2{font-size:clamp(1.44rem,8vw,2.16rem) !important;}
	.home-editorial-content__inner{width:min(100vw - 28px,100%);text-align:left;}
}


/* v1.0.66 — Desktop: elimina la striscia/spazio di giunzione tra Gelateria e Aperitivo.
   Il focus gelato deve chiudersi sulla viewport e il catalogo aperitivo deve agganciarsi
   subito sotto, senza margini/padding o sottili fughe di background tra le due scene. */
@media (min-width: 1025px) {
	.home .site-main .gelato-focus {
		min-height: 100vh !important;
		min-height: 100svh !important;
		margin-bottom: 0 !important;
	}

	.home .site-main .gelato-focus__sticky {
		min-height: 100vh !important;
		min-height: 100svh !important;
	}

	.home .site-main .gelato-focus + .aperitivo-catalog,
	.home .site-main .gelato-focus + .aperitivo-catalog--interactive {
		margin-top: -1px !important;
		padding-top: 0 !important;
	}

	.home .site-main .gelato-focus + .aperitivo-catalog .aperitivo-catalog__pin {
		margin-top: 0 !important;
	}
}


/* v1.0.67 — Desktop: la prima scena Aperitivo deve partire attaccata al fondo della Gelateria.
   La striscia visibile non era un padding tra sezioni: era la card Aperitivo alta meno della viewport
   e centrata verticalmente dentro lo sticky. Forziamo la prima schermata a piena altezza. */
@media (min-width: 1025px) {
	.home .site-main .gelato-focus + .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__pin,
	.home .site-main .gelato-focus + .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__viewport,
	.home .site-main .gelato-focus + .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__track {
		height: 100vh !important;
		height: 100svh !important;
	}

	.home .site-main .gelato-focus + .aperitivo-catalog--interactive:not(.is-static) .aperitivo-card {
		height: 100vh !important;
		height: 100svh !important;
		max-height: none !important;
		align-self: stretch !important;
	}

	.home .site-main .gelato-focus + .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__image,
	.home .site-main .gelato-focus + .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__image img,
	.home .site-main .gelato-focus + .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__fallback {
		top: 0 !important;
		bottom: 0 !important;
		height: 100% !important;
	}
}


/* v1.0.68 — Desktop: fix reale spazio sopra gli item Aperitivo.
   Il vuoto era causato dal reveal desktop su .aperitivo-item[data-reveal], che lasciava
   transform: translateY(48px) anche quando la card era visibile. Gli item ora riempiono
   la viewport e, quando visibili, tornano a Y=0. */
@media (min-width: 1025px) {
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__viewport,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__track {
		height: 100vh !important;
		height: 100svh !important;
		align-items: stretch !important;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-card,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item {
		height: 100vh !important;
		height: 100svh !important;
		min-height: 100vh !important;
		min-height: 100svh !important;
		max-height: none !important;
		align-self: stretch !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item[data-reveal],
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item[data-reveal].is-visible {
		transform: translate3d(0, 0, 0) !important;
	}
}


/* v1.0.70 — Gallerie pagine/articoli: image wall randomizzato e chiuso.
   La costruzione vera avviene in JS: ordine casuale a ogni caricamento, righe piene,
   nessun gap, nessun bordo laterale, nessun buco con sfondo a vista. */
.entry-gallery{
	margin:0!important;
	padding:0!important;
	width:100%;
	max-width:none;
	background:#17130f;
	line-height:0;
	overflow:hidden;
}
.entry-gallery__grid{
	display:block!important;
	width:100%;
	margin:0!important;
	padding:0!important;
	column-count:initial!important;
	column-gap:0!important;
	font-size:0;
	line-height:0;
}
.entry-gallery__row{
	display:flex;
	width:100%;
	margin:0!important;
	padding:0!important;
	gap:0!important;
	overflow:hidden;
}
.entry-gallery__item{
	position:relative;
	display:block;
	min-width:0;
	margin:0!important;
	padding:0!important;
	break-inside:auto;
	background:#17130f;
	overflow:hidden;
}
.entry-gallery__trigger{
	display:block;
	width:100%;
	height:100%;
	min-height:100%;
	margin:0!important;
	padding:0!important;
	border:0;
	line-height:0;
}
.entry-gallery__media{
	display:block;
	width:100%;
	height:100%!important;
	max-width:none;
	object-fit:cover;
	object-position:center;
}
.entry-gallery__media--video{
	aspect-ratio:auto;
}
@media (max-width:540px){
	.entry-gallery__row{min-height:180px;}
}
@media (prefers-reduced-motion: reduce){
	.entry-gallery__media{transition:none!important;}
	.entry-gallery__trigger:hover .entry-gallery__media,
	.entry-gallery__trigger:focus-visible .entry-gallery__media{transform:none!important;}
}

/* v1.0.71 — Gallerie pagine/articoli: vero muro fotografico a tasselli.
   Non righe justified: posizionamento assoluto su griglia interna, randomizzato,
   con finestre elastiche che vengono adattate per chiudere gli scalini. */
.entry-gallery{
	margin:0!important;
	padding:0!important;
	width:100%!important;
	max-width:none!important;
	background:#17130f!important;
	line-height:0!important;
	overflow:hidden!important;
}
.entry-gallery__grid{
	position:relative!important;
	display:block!important;
	width:100%!important;
	max-width:none!important;
	margin:0!important;
	padding:0!important;
	column-count:initial!important;
	column-gap:0!important;
	font-size:0!important;
	line-height:0!important;
	overflow:hidden!important;
}
.entry-gallery__grid--wall-ready .entry-gallery__row{
	display:contents!important;
}
.entry-gallery__item{
	display:block!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	background:#17130f!important;
	overflow:hidden!important;
	break-inside:auto!important;
}
.entry-gallery__trigger{
	display:block!important;
	width:100%!important;
	height:100%!important;
	min-height:100%!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	border-radius:0!important;
	line-height:0!important;
	overflow:hidden!important;
}
.entry-gallery__media{
	display:block!important;
	width:100%!important;
	height:100%!important;
	max-width:none!important;
	border-radius:0!important;
	object-fit:cover!important;
	object-position:center!important;
}
.entry-gallery__media--video{
	aspect-ratio:auto!important;
}

/* v1.0.72 — Gallerie pagine/articoli: griglia modulare randomizzata.
   Moduli pieni da 1/2/3/4 finestre, sfalsati e ripetibili, senza buchi.
   La finestra si adatta al pattern; l'immagine resta in cover e non viene deformata. */
.entry-gallery{
	margin:0!important;
	padding:0!important;
	width:100%!important;
	max-width:none!important;
	background:#17130f!important;
	line-height:0!important;
	overflow:hidden!important;
}
.entry-gallery__grid{
	position:relative!important;
	display:block!important;
	width:100%!important;
	max-width:none!important;
	margin:0!important;
	padding:0!important;
	column-count:initial!important;
	column-gap:0!important;
	font-size:0!important;
	line-height:0!important;
	overflow:hidden!important;
}
.entry-gallery__grid--modular-ready .entry-gallery__row,
.entry-gallery__grid--wall-ready .entry-gallery__row{
	display:contents!important;
}
.entry-gallery__item{
	display:block!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	background:#17130f!important;
	overflow:hidden!important;
	break-inside:auto!important;
}
.entry-gallery__trigger{
	display:block!important;
	width:100%!important;
	height:100%!important;
	min-height:100%!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	border-radius:0!important;
	line-height:0!important;
	overflow:hidden!important;
}
.entry-gallery__media{
	display:block!important;
	width:100%!important;
	height:100%!important;
	max-width:none!important;
	border-radius:0!important;
	object-fit:cover!important;
	object-position:center!important;
}
.entry-gallery__media--video{
	aspect-ratio:auto!important;
}

/* v1.0.73 — Galleria modulare a parete piena.
   Nessun gap: i moduli sono rettangoli completi; l'ultimo modulo si espande
   quando serve per non lasciare mezze fasce vuote. */
.entry-gallery{
	margin:0!important;
	padding:0!important;
	width:100%!important;
	max-width:none!important;
	background:#17130f!important;
	line-height:0!important;
	overflow:hidden!important;
}
.entry-gallery__grid{
	position:relative!important;
	display:block!important;
	width:100%!important;
	max-width:none!important;
	margin:0!important;
	padding:0!important;
	column-count:initial!important;
	column-gap:0!important;
	font-size:0!important;
	line-height:0!important;
	overflow:hidden!important;
}
.entry-gallery__grid--modular-ready .entry-gallery__row,
.entry-gallery__grid--wall-ready .entry-gallery__row{
	display:contents!important;
}
.entry-gallery__item{
	display:block!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	background:#17130f!important;
	overflow:hidden!important;
	break-inside:auto!important;
}
.entry-gallery__trigger{
	display:block!important;
	width:100%!important;
	height:100%!important;
	min-height:100%!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	border-radius:0!important;
	line-height:0!important;
	overflow:hidden!important;
}
.entry-gallery__media{
	display:block!important;
	width:100%!important;
	height:100%!important;
	max-width:none!important;
	border-radius:0!important;
	object-fit:cover!important;
	object-position:center!important;
}
.entry-gallery__media--video{
	aspect-ratio:auto!important;
}


/* v1.0.74 — Gallery quadrata controllata: 4 colonne desktop, 2 colonne portrait, ultima immagine estesa */
.entry-gallery{
	margin:0!important;
	padding:0!important;
	width:100%!important;
	max-width:none!important;
	background:#17130f!important;
	line-height:0!important;
	overflow:hidden!important;
}
.entry-gallery__grid.entry-gallery__grid--square-ready{
	display:grid!important;
	grid-template-columns:repeat(var(--entry-gallery-columns, 4), minmax(0, 1fr))!important;
	gap:0!important;
	width:100%!important;
	max-width:none!important;
	margin:0!important;
	padding:0!important;
	column-count:initial!important;
	column-gap:0!important;
	font-size:0!important;
	line-height:0!important;
	overflow:hidden!important;
	position:relative!important;
	height:auto!important;
}
.entry-gallery__grid.entry-gallery__grid--square-ready .entry-gallery__item{
	position:relative!important;
	display:block!important;
	width:auto!important;
	height:auto!important;
	left:auto!important;
	top:auto!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	background:#17130f!important;
	overflow:hidden!important;
	break-inside:auto!important;
}
.entry-gallery__grid.entry-gallery__grid--square-ready .entry-gallery__trigger{
	display:block!important;
	width:100%!important;
	height:100%!important;
	min-height:100%!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	border-radius:0!important;
	line-height:0!important;
	overflow:hidden!important;
}
.entry-gallery__grid.entry-gallery__grid--square-ready .entry-gallery__media{
	display:block!important;
	width:100%!important;
	height:100%!important;
	max-width:none!important;
	border-radius:0!important;
	object-fit:cover!important;
	object-position:center!important;
}
.entry-gallery__grid.entry-gallery__grid--square-ready .entry-gallery__media--video{
	aspect-ratio:auto!important;
}
@media (orientation:portrait), (max-width:900px){
	.entry-gallery__grid.entry-gallery__grid--square-ready{
		grid-template-columns:repeat(2, minmax(0, 1fr))!important;
	}
}


/* v1.0.75 — Correzione reale celle quadrate gallery.
   Il contenitore mantiene la proporzione; il bottone/media sono assoluti
   così l'immagine non torna mai alla propria altezza naturale. */
.entry-gallery__grid.entry-gallery__grid--square-ready{
	display:grid!important;
	grid-template-columns:repeat(var(--entry-gallery-columns, 4), minmax(0, 1fr))!important;
	gap:0!important;
	align-items:stretch!important;
}
.entry-gallery__grid.entry-gallery__grid--square-ready .entry-gallery__item{
	position:relative!important;
	display:block!important;
	width:100%!important;
	height:auto!important;
	min-height:0!important;
	margin:0!important;
	padding:0!important;
	overflow:hidden!important;
	background:#17130f!important;
}
.entry-gallery__grid.entry-gallery__grid--square-ready .entry-gallery__item::before{
	content:""!important;
	display:block!important;
	width:100%!important;
	padding-top:calc(100% / var(--entry-gallery-cell-ratio, 1))!important;
}
.entry-gallery__grid.entry-gallery__grid--square-ready .entry-gallery__trigger{
	position:absolute!important;
	inset:0!important;
	display:block!important;
	width:100%!important;
	height:100%!important;
	min-height:0!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	border-radius:0!important;
	line-height:0!important;
	overflow:hidden!important;
	background:transparent!important;
}
.entry-gallery__grid.entry-gallery__grid--square-ready .entry-gallery__media,
.entry-gallery__grid.entry-gallery__grid--square-ready img.entry-gallery__media,
.entry-gallery__grid.entry-gallery__grid--square-ready video.entry-gallery__media{
	position:absolute!important;
	inset:0!important;
	display:block!important;
	width:100%!important;
	height:100%!important;
	min-width:100%!important;
	min-height:100%!important;
	max-width:none!important;
	max-height:none!important;
	margin:0!important;
	padding:0!important;
	border-radius:0!important;
	object-fit:cover!important;
	object-position:center center!important;
}


/* v1.0.76 — Mobile portrait allineato alla resa desktop.
   La versione verticale non deve diventare una sequenza di card statiche:
   mantiene le scene pinned con avanzamento orizzontale, testi centrati e logo hero centrato. */
@media (max-width: 767px) and (orientation: portrait) {
	:root {
		--container: min(100vw - 32px, 100%);
	}

	.site-header__inner {
		justify-content: center;
		position: relative;
	}

	.site-header__logo {
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
	}

	.site-header__actions {
		margin-left: auto;
	}

	.hero {
		place-items: center;
		text-align: center;
	}

	.hero__content {
		width: var(--container);
		margin-left: auto !important;
		margin-right: auto !important;
		padding: calc(var(--header-height) + 54px) 0 96px !important;
		text-align: center !important;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}

	.hero__logo-wrap {
		width: 100%;
		justify-content: center !important;
		align-items: center;
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center;
	}

	.hero__logo-image {
		margin-left: auto !important;
		margin-right: auto !important;
		max-width: min(250px, 74vw);
		max-height: 160px;
	}

	.hero__eyebrow,
	.hero__title,
	.hero__subtitle {
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center !important;
	}

	.hero__title {
		max-width: 100%;
		font-size: clamp(3.05rem, 15vw, 5rem);
	}

	.hero__subtitle {
		max-width: 29rem;
	}

	.hero__actions {
		justify-content: center !important;
		width: 100%;
		grid-template-columns: 1fr;
	}

	/* Testi principali: blocchi centrati, non solo testo centrato. */
	.manifesto__inner,
	.moments__intro,
	.gelato-focus__content,
	.aperitivo-catalog__intro,
	.menu-online__inner,
	.contacts__inner,
	.home-content__inner,
	.entry__inner,
	.inner-hero__inner {
		width: var(--container) !important;
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center !important;
	}

	.manifesto__title,
	.manifesto__text,
	.moments__title,
	.moments__text,
	.gelato-focus h2,
	.gelato-focus__text,
	.aperitivo-catalog__intro h2,
	.aperitivo-catalog__intro p:not(.section-kicker),
	.menu-online h2,
	.menu-online p,
	.contacts h2,
	.contacts p,
	.inner-hero h1,
	.inner-hero p,
	.entry__content > p,
	.entry__content > h2,
	.entry__content > h3 {
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center !important;
	}

	.gelato-focus__tags,
	.manifesto__words {
		justify-content: center !important;
	}

	/* Ripristino scroll orizzontale anche in portrait. */
	.moments--interactive:not(.is-static),
	.aperitivo-catalog--interactive:not(.is-static) {
		height: var(--horizontal-scroll-height, 300vh) !important;
		padding: 0 !important;
		overflow: visible !important;
	}

	.moments--interactive:not(.is-static) .moments__pin,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__pin {
		position: sticky !important;
		top: 0 !important;
		height: 100vh !important;
		height: 100svh !important;
		overflow: hidden !important;
		padding: 0 !important;
	}

	.moments--interactive:not(.is-static) .moments__viewport,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__viewport {
		width: 100vw !important;
		height: 100vh !important;
		height: 100svh !important;
		overflow: hidden !important;
	}

	.moments--interactive:not(.is-static) .moments__track,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__track {
		width: max-content !important;
		height: 100% !important;
		display: flex !important;
		gap: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		transform: translate3d(0,0,0);
		will-change: transform;
	}

	.moments--interactive:not(.is-static) .moment-card,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-card {
		flex: 0 0 100vw !important;
		width: 100vw !important;
		height: 100vh !important;
		height: 100svh !important;
		min-height: 100svh !important;
		max-height: 100svh !important;
		align-self: stretch !important;
		border: 0 !important;
		border-radius: 0 !important;
		margin: 0 !important;
		display: block !important;
		position: relative !important;
		overflow: hidden !important;
	}

	.moments--interactive:not(.is-static) .moment-card__media,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__image {
		position: absolute !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 0 !important;
		z-index: -2;
	}

	.moments--interactive:not(.is-static) .moment-card__media img,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__image img,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__fallback {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: center !important;
	}

	.moments--interactive:not(.is-static) .moments__intro,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro {
		position: absolute !important;
		z-index: 4;
		left: 50% !important;
		right: auto !important;
		top: max(78px, env(safe-area-inset-top) + 66px) !important;
		width: min(88vw, 440px) !important;
		transform: translateX(-50%);
		margin: 0 !important;
		text-align: center !important;
		pointer-events: none;
	}

	.moments--interactive:not(.is-static) .moments__title,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro h2 {
		font-size: clamp(2.45rem, 12vw, 4.25rem) !important;
		line-height: .92;
		max-width: 100% !important;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro p:not(.section-kicker),
	.moments--interactive:not(.is-static) .moments__text {
		display: block !important;
		font-size: .98rem !important;
		line-height: 1.42;
		max-width: 22rem !important;
		margin-top: 12px !important;
	}

	.moments--interactive:not(.is-static) .moment-card__content,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body {
		position: absolute !important;
		left: 50% !important;
		right: auto !important;
		bottom: max(90px, env(safe-area-inset-bottom) + 78px) !important;
		width: min(88vw, 460px) !important;
		max-width: min(88vw, 460px) !important;
		transform: translateX(-50%);
		padding: 0 !important;
		text-align: center !important;
		display: flex !important;
		flex-direction: column;
		align-items: center;
		justify-content: flex-end;
	}

	.moments--interactive:not(.is-static) .moment-card h3,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item h3 {
		font-size: clamp(3rem, 16vw, 5.25rem) !important;
		line-height: .9;
		max-width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center !important;
	}

	.moments--interactive:not(.is-static) .moment-card p,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item p {
		max-width: 22rem !important;
		font-size: 1rem !important;
		line-height: 1.45 !important;
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center !important;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__toggle,
	.moments--interactive:not(.is-static) .moment-card__link {
		align-self: center !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__scene-nav,
	.moments--interactive:not(.is-static) .moments__scene-nav {
		display: none !important;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__progress,
	.moments--interactive:not(.is-static) .moments__progress {
		display: block !important;
		left: 20px !important;
		right: 20px !important;
		bottom: max(18px, env(safe-area-inset-bottom) + 10px) !important;
	}
}


/* v1.0.77 — Mobile portrait reale: header/logo centrati, scene pinned full-screen, gelato background. */
@media (max-width: 767px) and (orientation: portrait) {
  :root { --container: min(100vw - 32px, 100%); --header-height: 72px; }

  .site-header { pointer-events: none; }
  .site-header__inner {
    position: relative !important;
    width: 100% !important;
    min-height: var(--header-height) !important;
    padding: 10px 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .site-header__logo {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate3d(-50%, -50%, 0) !important;
    margin: 0 !important;
    z-index: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: auto !important;
    max-width: calc(100vw - 118px) !important;
    text-align: center !important;
  }
  .site-header__brand { text-align: center !important; }
  .custom-logo,
  .site-header__logo-image { max-height: 48px !important; width: auto !important; margin: 0 auto !important; }
  .site-header__actions {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    pointer-events: auto !important;
  }
  .site-header__toggle { flex: 0 0 48px !important; }

  .hero__content,
  .manifesto__inner,
  .moments__intro,
  .gelato-focus__content,
  .aperitivo-catalog__intro,
  .contacts__inner,
  .footer-cta__inner,
  .menu-online__inner,
  .home-content__inner,
  .home-updates__inner {
    width: var(--container) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    justify-items: center !important;
  }
  .hero__logo-wrap { justify-content: center !important; }
  .hero__logo-image { max-width: min(260px, 72vw) !important; margin: 0 auto !important; }
  .hero__title,
  .hero__subtitle,
  .manifesto__title,
  .manifesto__text,
  .moments__title,
  .moments__text,
  .gelato-focus h2,
  .gelato-focus__text,
  .aperitivo-catalog__intro h2,
  .aperitivo-catalog__intro p:not(.section-kicker),
  .moment-card h3,
  .moment-card p,
  .aperitivo-item h3,
  .aperitivo-item p {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }
  .hero__actions,
  .manifesto__words,
  .gelato-focus__tags { justify-content: center !important; }

  .moments--interactive:not(.is-static),
  .aperitivo-catalog--interactive:not(.is-static) {
    height: var(--horizontal-scroll-height, 300svh) !important;
    min-height: var(--horizontal-scroll-height, 300svh) !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  .moments--interactive:not(.is-static) .moments__pin,
  .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__pin {
    position: sticky !important;
    top: 0 !important;
    width: 100vw !important;
    height: 100svh !important;
    min-height: 100svh !important;
    overflow: hidden !important;
    display: block !important;
  }
  .moments--interactive:not(.is-static) .moments__viewport,
  .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__viewport {
    position: absolute !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100svh !important;
    overflow: hidden !important;
  }
  .moments--interactive:not(.is-static) .moments__track,
  .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__track {
    height: 100svh !important;
    width: max-content !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: none !important;
    transform: translate3d(0,0,0);
    will-change: transform;
  }
  .moments--interactive:not(.is-static) .moment-card,
  .aperitivo-catalog--interactive:not(.is-static) .aperitivo-card {
    flex: 0 0 100vw !important;
    width: 100vw !important;
    height: 100svh !important;
    min-height: 100svh !important;
    max-height: none !important;
    align-self: stretch !important;
    border: 0 !important;
    border-radius: 0 !important;
    transform: none !important;
    overflow: hidden !important;
  }
  .moment-card__media,
  .moment-card__media img,
  .moment-card__fallback,
  .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__image,
  .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__image img,
  .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__fallback {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
  .moments--interactive:not(.is-static) .moments__intro,
  .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro {
    position: absolute !important;
    z-index: 5 !important;
    left: 50% !important;
    top: calc(var(--header-height) + 18px) !important;
    transform: translateX(-50%) !important;
    width: min(88vw, 420px) !important;
    margin: 0 !important;
    text-align: center !important;
    pointer-events: none !important;
  }
  .moments--interactive:not(.is-static) .moments__title,
  .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro h2 {
    font-size: clamp(2.35rem, 12vw, 4.1rem) !important;
    line-height: .92 !important;
  }
  .moments--interactive:not(.is-static) .moments__text,
  .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro p:not(.section-kicker) {
    display: none !important;
  }
  .moments--interactive:not(.is-static) .moment-card__content,
  .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    bottom: max(92px, env(safe-area-inset-bottom) + 82px) !important;
    transform: translateX(-50%) !important;
    width: min(86vw, 430px) !important;
    max-width: min(86vw, 430px) !important;
    padding: 0 !important;
    text-align: center !important;
    display: block !important;
  }
  .moments--interactive:not(.is-static) .moment-card h3,
  .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item h3 {
    font-size: clamp(3rem, 15vw, 5.2rem) !important;
    line-height: .9 !important;
    max-width: 100% !important;
  }
  .moments--interactive:not(.is-static) .moment-card p,
  .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item p {
    font-size: .98rem !important;
    line-height: 1.45 !important;
    max-width: 320px !important;
  }
  .moment-card__link,
  .aperitivo-item__toggle { align-self: center !important; margin-left: auto !important; margin-right: auto !important; }
  .moments--interactive:not(.is-static) .moments__progress,
  .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__progress {
    display: block !important;
    left: 18px !important;
    right: 18px !important;
    bottom: max(10px, env(safe-area-inset-bottom) + 8px) !important;
  }
  .moments--interactive:not(.is-static) .moments__scene-nav,
  .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__scene-nav { display: none !important; }

  .gelato-focus {
    min-height: 150svh !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  .gelato-focus__sticky {
    position: sticky !important;
    top: 0 !important;
    height: 100svh !important;
    min-height: 100svh !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
  }
  .gelato-focus__media,
  .gelato-focus__media img,
  .gelato-focus__fallback,
  .gelato-focus__overlay {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }
  .gelato-focus__media img { object-fit: cover !important; object-position: center !important; }
  .gelato-focus__overlay { background: linear-gradient(180deg, rgba(17,16,13,.55), rgba(17,16,13,.42), rgba(17,16,13,.76)) !important; }
  .gelato-focus__content {
    position: relative !important;
    z-index: 2 !important;
    width: min(86vw, 430px) !important;
    padding: calc(var(--header-height) + 20px) 0 max(42px, env(safe-area-inset-bottom) + 32px) !important;
    text-align: center !important;
  }
  .gelato-focus h2 { font-size: clamp(3rem, 15vw, 5.4rem) !important; line-height: .9 !important; }
  .gelato-focus__text { font-size: 1rem !important; line-height: 1.48 !important; max-width: 340px !important; }
  .gelato-focus__tags { margin: 28px auto 26px !important; justify-content: center !important; gap: 8px !important; }
  .gelato-focus__tags li { padding: 9px 13px !important; font-size: .86rem !important; }
}

/* v1.0.78 — Mobile portrait reset chirurgico: header coerente e scroll orizzontale pinned reale. */
@media (max-width: 767px) and (orientation: portrait) {
	:root { --header-height: 72px; --container: min(calc(100vw - 32px), 100%); }

	.site-header {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		width: 100vw !important;
		height: var(--header-height) !important;
		z-index: 100 !important;
		pointer-events: none !important;
	}
	.site-header__inner {
		position: relative !important;
		width: 100vw !important;
		max-width: none !important;
		min-height: var(--header-height) !important;
		height: var(--header-height) !important;
		margin: 0 !important;
		padding: 0 !important;
		display: block !important;
	}
	.site-header__actions {
		position: absolute !important;
		top: 12px !important;
		right: max(10px, env(safe-area-inset-right) + 8px) !important;
		width: auto !important;
		height: 48px !important;
		margin: 0 !important;
		display: block !important;
		z-index: 3 !important;
		pointer-events: auto !important;
	}
	.site-header__toggle {
		width: 48px !important;
		height: 48px !important;
		margin: 0 !important;
	}
	.site-header__logo {
		position: absolute !important;
		top: 12px !important;
		left: max(14px, env(safe-area-inset-left) + 12px) !important;
		right: auto !important;
		width: auto !important;
		max-width: calc(100vw - 92px) !important;
		height: 48px !important;
		margin: 0 !important;
		transform: none !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		text-align: left !important;
		z-index: 2 !important;
		pointer-events: auto !important;
	}
	body.home:not(.bgig-hero-passed) .site-header__logo {
		opacity: 0 !important;
		visibility: hidden !important;
		transform: translate3d(-12px, 0, 0) !important;
	}
	body.home.bgig-hero-passed .site-header__logo,
	body:not(.home) .site-header__logo {
		opacity: 1 !important;
		visibility: visible !important;
		transform: translate3d(0, 0, 0) !important;
	}
	.custom-logo,
	.site-header__logo-image {
		max-height: 48px !important;
		width: auto !important;
		margin: 0 !important;
	}
	.site-header__brand {
		font-size: .84rem !important;
		line-height: 1 !important;
		text-align: left !important;
	}

	.hero__content {
		width: var(--container) !important;
		margin: 0 auto !important;
		padding: calc(var(--header-height) + 32px) 0 96px !important;
		text-align: center !important;
	}
	.hero__logo-wrap { justify-content: center !important; }
	.hero__title,
	.hero__subtitle { margin-left: auto !important; margin-right: auto !important; text-align: center !important; }
	.hero__actions { justify-content: center !important; }

	.moments--interactive:not(.is-static),
	.aperitivo-catalog--interactive:not(.is-static) {
		position: relative !important;
		height: var(--horizontal-scroll-height, 400svh) !important;
		min-height: var(--horizontal-scroll-height, 400svh) !important;
		padding: 0 !important;
		margin: 0 !important;
		overflow: visible !important;
	}
	.moments--interactive:not(.is-static) .moments__pin,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__pin {
		position: sticky !important;
		top: 0 !important;
		left: 0 !important;
		width: 100vw !important;
		height: 100vh !important;
		height: 100svh !important;
		min-height: 100svh !important;
		padding: 0 !important;
		margin: 0 !important;
		overflow: hidden !important;
		background: var(--color-black-soft) !important;
	}
	.moments--interactive:not(.is-static) .moments__viewport,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__viewport {
		position: absolute !important;
		inset: 0 !important;
		width: 100vw !important;
		height: 100svh !important;
		padding: 0 !important;
		margin: 0 !important;
		overflow: hidden !important;
	}
	.moments--interactive:not(.is-static) .moments__track,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__track {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		gap: 0 !important;
		width: max-content !important;
		max-width: none !important;
		height: 100svh !important;
		padding: 0 !important;
		margin: 0 !important;
		will-change: transform !important;
	}
	.moments--interactive:not(.is-static) .moment-card,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-card {
		position: relative !important;
		flex: 0 0 100vw !important;
		width: 100vw !important;
		height: 100svh !important;
		min-width: 100vw !important;
		min-height: 100svh !important;
		max-width: none !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		align-self: stretch !important;
		overflow: hidden !important;
		transform: none !important;
	}
	.moments--interactive:not(.is-static) .moment-card__media,
	.moments--interactive:not(.is-static) .moment-card__media img,
	.moments--interactive:not(.is-static) .moment-card__fallback,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__image,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__image img,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__fallback {
		position: absolute !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: center !important;
	}
	.moments--interactive:not(.is-static) .moment-card::after,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-card::after {
		content: "" !important;
		position: absolute !important;
		inset: 0 !important;
		z-index: -1 !important;
		background: linear-gradient(180deg, rgba(17,16,13,.18), rgba(17,16,13,.38), rgba(17,16,13,.82)) !important;
		pointer-events: none !important;
	}
	.moments--interactive:not(.is-static) .moments__intro,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro {
		position: absolute !important;
		z-index: 5 !important;
		left: 50% !important;
		top: calc(var(--header-height) + 18px) !important;
		transform: translate3d(-50%,0,0) !important;
		width: min(88vw, 430px) !important;
		max-width: min(88vw, 430px) !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: center !important;
		pointer-events: none !important;
	}
	.moments--interactive:not(.is-static) .moments__text,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro p:not(.section-kicker) { display: none !important; }
	.moments--interactive:not(.is-static) .moment-card__content,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body {
		position: absolute !important;
		z-index: 4 !important;
		left: 50% !important;
		top: 54% !important;
		right: auto !important;
		bottom: auto !important;
		transform: translate3d(-50%, -50%, 0) !important;
		width: min(86vw, 420px) !important;
		max-width: min(86vw, 420px) !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: center !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
	}
	.moments--interactive:not(.is-static) .moment-card h3,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item h3 {
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center !important;
		font-size: clamp(3rem, 15vw, 5.1rem) !important;
		line-height: .9 !important;
	}
	.moments--interactive:not(.is-static) .moment-card p,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item p {
		margin-left: auto !important;
		margin-right: auto !important;
		max-width: 320px !important;
		text-align: center !important;
	}
	.moments--interactive:not(.is-static) .moments__scene-nav,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__scene-nav { display: none !important; }
	.moments--interactive:not(.is-static) .moments__progress,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__progress {
		display: block !important;
		position: absolute !important;
		left: 18px !important;
		right: 18px !important;
		bottom: max(8px, env(safe-area-inset-bottom) + 8px) !important;
		z-index: 8 !important;
	}
}

/* v1.0.79 — Mobile portrait: ripristino funzionamento base v1.0.40.
   Desktop lasciato invariato. Qui si riallineano header mobile, Momenti, Gelateria e Aperitivo
   al comportamento portrait che funzionava nella release fornita come riferimento. */
@media (max-width: 767px) and (orientation: portrait) {
	:root { --header-height: 72px; --container: min(100vw - 28px, 100%); }

	.site-header { top: 0 !important; left: 0 !important; right: 0 !important; width: 100% !important; pointer-events: none !important; }
	.site-header__inner {
		width: 100% !important;
		min-height: var(--header-height) !important;
		margin: 0 !important;
		padding: 0 14px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 0 !important;
		pointer-events: auto !important;
	}
	.site-header__logo {
		position: static !important;
		margin: 0 !important;
		transform: none !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		max-width: 46vw !important;
	}
	.site-header__brand { display: none !important; }
	.custom-logo, .site-header__logo-image { max-height: 42px !important; width: auto !important; height: auto !important; }
	.site-header__actions { margin-left: auto !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; }
	.site-header__toggle { width: 46px !important; height: 46px !important; margin: 0 !important; transform: none !important; }
	.site-header__menu-link { display: none !important; }

	.hero__content { width: var(--container) !important; margin: 0 auto !important; text-align: center !important; padding-left: 0 !important; padding-right: 0 !important; }
	.hero__logo-wrap { justify-content: center !important; text-align: center !important; }
	.hero__title, .hero__subtitle { margin-left: auto !important; margin-right: auto !important; text-align: center !important; }
	.hero__actions { justify-content: center !important; }
}

@media (max-width: 767px) and (orientation: portrait) {
	.moments--interactive:not(.is-static) {
		height: var(--horizontal-scroll-height, 300vh) !important;
		padding: 0 !important;
		overflow: visible !important;
		background: var(--color-black-soft) !important;
	}
	.moments--interactive:not(.is-static) .moments__pin {
		position: sticky !important;
		top: 0 !important;
		height: 100vh !important;
		height: 100svh !important;
		padding: 0 !important;
		overflow: hidden !important;
		display: block !important;
		background: var(--color-black-soft) !important;
	}
	.moments--interactive:not(.is-static) .moments__intro {
		position: absolute !important;
		z-index: 4 !important;
		left: 18px !important;
		right: 18px !important;
		top: 78px !important;
		width: auto !important;
		margin: 0 !important;
		text-align: center !important;
		pointer-events: none !important;
		text-shadow: 0 12px 40px rgba(0,0,0,.45) !important;
	}
	.moments--interactive:not(.is-static) .moments__title {
		max-width: none !important;
		margin-left: auto !important;
		margin-right: auto !important;
		font-size: clamp(2.6rem, 14vw, 4.8rem) !important;
		text-align: center !important;
	}
	.moments--interactive:not(.is-static) .moments__text { display: none !important; }
	.moments--interactive:not(.is-static) .moments__viewport {
		position: relative !important;
		width: 100vw !important;
		height: 100vh !important;
		height: 100svh !important;
		overflow: hidden !important;
		display: block !important;
	}
	.moments--interactive:not(.is-static) .moments__track {
		width: max-content !important;
		height: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		display: flex !important;
		gap: 0 !important;
		will-change: transform !important;
		transform: translate3d(0,0,0);
	}
	.moments--interactive:not(.is-static) .moment-card {
		position: relative !important;
		flex: 0 0 100vw !important;
		width: 100vw !important;
		height: 100svh !important;
		min-height: 100svh !important;
		max-height: 100svh !important;
		align-self: center !important;
		border-radius: 0 !important;
		border: 0 !important;
		transform: none !important;
		margin: 0 !important;
		overflow: hidden !important;
	}
	.moments--interactive:not(.is-static) .moment-card__media,
	.moments--interactive:not(.is-static) .moment-card__media img,
	.moments--interactive:not(.is-static) .moment-card__fallback {
		position: absolute !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
	}
	.moments--interactive:not(.is-static) .moment-card__content {
		position: absolute !important;
		left: 22px !important;
		right: 22px !important;
		bottom: max(116px, env(safe-area-inset-bottom) + 104px) !important;
		max-width: none !important;
		margin: 0 auto !important;
		padding: 0 !important;
		text-align: center !important;
		display: block !important;
	}
	.moments--interactive:not(.is-static) .moment-card h3 {
		font-size: clamp(3.6rem, 18vw, 6.6rem) !important;
		max-width: none !important;
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center !important;
	}
	.moments--interactive:not(.is-static) .moment-card p {
		max-width: 92vw !important;
		margin-left: auto !important;
		margin-right: auto !important;
		font-size: 1rem !important;
		text-align: center !important;
	}
	.moments--interactive:not(.is-static) .moment-card__link { margin-left: auto !important; margin-right: auto !important; }
	.moments--interactive:not(.is-static) .moments__progress {
		left: 18px !important;
		right: 18px !important;
		bottom: max(4px, env(safe-area-inset-bottom) + 4px) !important;
		display: block !important;
	}
}

@media (max-width: 767px) and (orientation: portrait) {
	.gelato-focus { position: relative !important; padding: 0 !important; min-height: 100vh !important; min-height: 100svh !important; overflow: hidden !important; }
	.gelato-focus__sticky { position: relative !important; min-height: 100vh !important; min-height: 100svh !important; display: grid !important; place-items: center !important; padding: 92px 22px 84px !important; overflow: hidden !important; }
	.gelato-focus__media, .gelato-focus__media img, .gelato-focus__fallback, .gelato-focus__overlay { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; }
	.gelato-focus__media img { object-fit: cover !important; }
	.gelato-focus__content { position: relative !important; z-index: 2 !important; width: min(100%, 620px) !important; margin: 0 auto !important; text-align: center !important; color: var(--color-cream-soft) !important; }
	.gelato-focus h2, .gelato-focus__text { margin-left: auto !important; margin-right: auto !important; text-align: center !important; }
	.gelato-focus__tags { justify-content: center !important; padding-left: 0 !important; }
}

@media (max-width: 767px) and (orientation: portrait) {
	.aperitivo-catalog--interactive:not(.is-static) {
		height: var(--horizontal-scroll-height, 300vh) !important;
		padding: 0 !important;
		overflow: visible !important;
		background: var(--color-black-soft) !important;
	}
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__pin {
		position: sticky !important;
		top: 0 !important;
		height: 100vh !important;
		height: 100svh !important;
		padding: 0 !important;
		overflow: hidden !important;
		display: block !important;
		background: var(--color-black-soft) !important;
	}
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro {
		position: absolute !important;
		z-index: 4 !important;
		left: 18px !important;
		right: 18px !important;
		top: 78px !important;
		width: auto !important;
		margin: 0 !important;
		text-align: center !important;
		pointer-events: none !important;
		text-shadow: 0 12px 40px rgba(0,0,0,.45) !important;
	}
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro h2 {
		max-width: none !important;
		margin-left: auto !important;
		margin-right: auto !important;
		font-size: clamp(2.6rem, 14vw, 4.8rem) !important;
		text-align: center !important;
	}
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro p:not(.section-kicker) { display: none !important; }
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__viewport {
		position: relative !important;
		width: 100vw !important;
		height: 100vh !important;
		height: 100svh !important;
		overflow: hidden !important;
		display: block !important;
	}
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__track {
		width: max-content !important;
		height: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		display: flex !important;
		gap: 0 !important;
		will-change: transform !important;
		transform: translate3d(0,0,0);
	}
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-card {
		position: relative !important;
		flex: 0 0 100vw !important;
		width: 100vw !important;
		height: 100svh !important;
		min-height: 100svh !important;
		max-height: 100svh !important;
		align-self: center !important;
		border-radius: 0 !important;
		border: 0 !important;
		margin: 0 !important;
		display: block !important;
		isolation: isolate !important;
		background: var(--color-black) !important;
		overflow: hidden !important;
	}
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__image {
		position: absolute !important;
		inset: 0 !important;
		min-height: 0 !important;
		width: 100% !important;
		height: 100% !important;
		z-index: -2 !important;
	}
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__image img,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__fallback {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
	}
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body {
		position: absolute !important;
		left: 22px !important;
		right: 22px !important;
		bottom: max(116px, env(safe-area-inset-bottom) + 104px) !important;
		max-width: none !important;
		margin: 0 auto !important;
		padding: 0 !important;
		text-align: center !important;
		display: block !important;
	}
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item h3 {
		font-size: clamp(3.6rem, 18vw, 6.6rem) !important;
		max-width: none !important;
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center !important;
	}
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item p {
		max-width: 92vw !important;
		margin-left: auto !important;
		margin-right: auto !important;
		font-size: 1rem !important;
		text-align: center !important;
	}
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__toggle { margin-left: auto !important; margin-right: auto !important; }
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__progress {
		left: 18px !important;
		right: 18px !important;
		bottom: max(4px, env(safe-area-inset-bottom) + 4px) !important;
		display: block !important;
	}
}

/* v1.0.80 — Mobile portrait: ripristino layout card News/Eventi da v1.0.78 + titoli uppercase responsive */
@media (max-width: 767px) and (orientation: portrait) {
	/* News/Eventi: layout card moderno della 1.0.78, forzato sopra agli override mobile della 1.0.79 */
	.home-updates {
		padding: 72px 0 !important;
		background: var(--color-black) !important;
		color: var(--color-cream-soft) !important;
	}
	.home-updates__inner,
	.updates-archive-grid {
		width: var(--container) !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
	.home-updates__intro {
		max-width: 100% !important;
		margin: 0 auto 34px !important;
		text-align: center !important;
	}
	.home-updates__grid,
	.updates-archive-grid {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 22px !important;
	}
	.updates-card {
		display: flex !important;
		flex-direction: column !important;
		min-width: 0 !important;
		background: var(--bgig-updates-card-bg, #17130f) !important;
		color: var(--bgig-updates-card-text, #fff8ef) !important;
		border: 1px solid rgba(255,248,239,.16) !important;
		border-radius: 24px !important;
		overflow: hidden !important;
		box-shadow: 0 22px 70px rgba(0,0,0,.24) !important;
	}
	.updates-card__main-link,
	.updates-card__media-link,
	.updates-card__body-link {
		display: block !important;
		color: inherit !important;
		text-decoration: none !important;
	}
	.updates-card__media {
		position: relative !important;
		aspect-ratio: 4 / 3 !important;
		width: 100% !important;
		min-height: 0 !important;
		height: auto !important;
		background: var(--color-coffee) !important;
		overflow: hidden !important;
		order: 1 !important;
	}
	.updates-card__media img,
	.updates-card__image {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: center !important;
	}
	.updates-card__badge {
		position: absolute !important;
		left: 16px !important;
		top: 16px !important;
		z-index: 5 !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		min-height: 32px !important;
		padding: 0 12px !important;
		border-radius: 999px !important;
		font-size: .74rem !important;
		font-weight: 800 !important;
		letter-spacing: .12em !important;
		text-transform: uppercase !important;
		background: var(--bgig-news-badge-bg, var(--color-cream-soft)) !important;
		color: var(--bgig-news-badge-text, var(--color-text-dark)) !important;
	}
	.updates-card--event .updates-card__badge {
		background: var(--bgig-event-badge-bg, var(--color-spritz)) !important;
		color: var(--bgig-event-badge-text, #fff) !important;
	}
	.updates-card__event-strip {
		display: block !important;
		order: 2 !important;
		position: relative !important;
		z-index: 4 !important;
		border-top: 0 !important;
		border-bottom: 1px solid rgba(255,248,239,.16) !important;
	}
	.updates-card__event-strip .updates-card__save {
		width: 100% !important;
		min-height: 56px !important;
		border-radius: 0 !important;
		font-size: .9rem !important;
	}
	.updates-card__body {
		order: 3 !important;
		padding: 22px 22px 24px !important;
		text-align: center !important;
		color: var(--bgig-updates-card-text, #fff8ef) !important;
	}
	.updates-card__body h2,
	.updates-card__body h3 {
		font-size: clamp(1.9rem, 10vw, 3rem) !important;
		line-height: .96 !important;
		letter-spacing: -.05em !important;
		text-transform: uppercase !important;
		text-align: center !important;
	}
	.updates-card__body p,
	.updates-card__meta,
	.updates-card__location {
		text-align: center !important;
	}
	.updates-card__actions {
		order: 4 !important;
		padding: 0 22px 22px !important;
		margin-top: auto !important;
		text-align: center !important;
		display: flex !important;
		justify-content: center !important;
		align-items: center !important;
		gap: 10px !important;
		flex-wrap: wrap !important;
	}

	/* Titoli/sezioni: stesso trattamento desktop, ma scalato per portrait */
	.section-kicker,
	.hero__eyebrow,
	.home-updates__intro h2,
	.story-intro h2,
	.manifesto h2,
	.moments__title,
	.moment-card h3,
	.gelato-focus h2,
	.aperitivo-catalog__intro h2,
	.aperitivo-card h3,
	.drink-list h2,
	.drink-card h3,
	.content-section h1,
	.content-section h2,
	.entry__title,
	.page-title,
	.archive-title,
	.site-footer h2,
	.site-footer h3 {
		text-transform: uppercase !important;
	}

	.home-updates__intro h2,
	.story-intro h2,
	.manifesto h2,
	.moments__title,
	.gelato-focus h2,
	.aperitivo-catalog__intro h2,
	.drink-list h2,
	.content-section h1,
	.content-section h2,
	.entry__title,
	.page-title,
	.archive-title {
		font-size: clamp(2.25rem, 13vw, 4.35rem) !important;
		line-height: .9 !important;
		letter-spacing: -.055em !important;
		text-align: center !important;
		max-width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
		overflow-wrap: anywhere !important;
	}

	.moment-card h3,
	.aperitivo-card h3,
	.drink-card h3 {
		font-size: clamp(2.4rem, 13vw, 5.4rem) !important;
		line-height: .9 !important;
		letter-spacing: -.055em !important;
		text-align: center !important;
		overflow-wrap: anywhere !important;
	}
}

/* v1.0.81 — News/Eventi: home e archivio condividono lo stesso layout; news con data nella fascia inferiore */
.home-updates .updates-card__news-date-strip .updates-card__body,
.site-main--updates-archive .updates-card__news-date-strip .updates-card__body{
	justify-content:center !important;
	text-align:center !important;
}
.home-updates .updates-card__news-date-strip .updates-card__body p,
.site-main--updates-archive .updates-card__news-date-strip .updates-card__body p{
	text-align:center !important;
	text-transform:uppercase !important;
	letter-spacing:.12em !important;
	font-size:.78rem !important;
	font-weight:800 !important;
	white-space:normal !important;
	line-height:1.1 !important;
	color:rgba(255,248,239,.88) !important;
}
.home-updates .updates-card--news .updates-card__image-copy,
.site-main--updates-archive .updates-card--news .updates-card__image-copy{
	justify-content:center !important;
}


/* v1.0.82 — FIX REALE: homepage News/Eventi usa esattamente la struttura visiva dell'archivio */
.home-updates__grid,
.site-main--updates-archive .updates-archive-grid{
	display:grid !important;
	grid-template-columns:repeat(auto-fit,minmax(min(100%,552px),552px)) !important;
	justify-content:center !important;
	align-items:start !important;	
	gap:clamp(24px,3vw,38px) !important;
}
.home-updates .updates-card,
.site-main--updates-archive .updates-card{
	position:relative !important;
	width:100% !important;
	max-width:552px !important;
	aspect-ratio:1/1 !important;
	display:grid !important;
	grid-template-rows:1fr 54px !important;
	border:0 !important;
	border-radius:18px !important;
	background:rgba(23,19,15,.92) !important;
	overflow:hidden !important;
	box-shadow:0 24px 70px rgba(0,0,0,.32) !important;
	margin:0 !important;
}
.home-updates .updates-card__media-frame,
.site-main--updates-archive .updates-card__media-frame{
	position:relative !important;
	min-height:0 !important;
	overflow:hidden !important;
}
.home-updates .updates-card__media-link,
.home-updates .updates-card__media,
.site-main--updates-archive .updates-card__media-link,
.site-main--updates-archive .updates-card__media{
	display:block !important;
	position:relative !important;
	width:100% !important;
	height:100% !important;
	min-height:0 !important;
	aspect-ratio:auto !important;
}
.home-updates .updates-card__media img,
.home-updates .updates-card__image,
.home-updates .updates-card__fallback,
.site-main--updates-archive .updates-card__media img,
.site-main--updates-archive .updates-card__image,
.site-main--updates-archive .updates-card__fallback{
	display:block !important;
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
}
.home-updates .updates-card__image-copy,
.site-main--updates-archive .updates-card__image-copy{
	position:absolute !important;
	inset:0 !important;
	z-index:3 !important;
	display:flex !important;
	flex-direction:column !important;
	align-items:center !important;
	justify-content:center !important;
	gap:10px !important;
	padding:64px 34px 42px !important;
	text-align:center !important;
	color:var(--color-cream-soft) !important;
	text-shadow:0 12px 30px rgba(0,0,0,.42) !important;
}
.home-updates .updates-card__title,
.site-main--updates-archive .updates-card__title{
	margin:0 !important;
	max-width:92% !important;
	font-family:var(--font-heading) !important;
	font-size:clamp(2rem,3vw,3rem) !important;
	line-height:.95 !important;
	letter-spacing:-.05em !important;
	font-weight:500 !important;
	color:var(--color-cream-soft) !important;
	text-transform:uppercase !important;
	display:-webkit-box !important;
	-webkit-line-clamp:3 !important;
	-webkit-box-orient:vertical !important;
	overflow:hidden !important;
}
.home-updates .updates-card__topline,
.site-main--updates-archive .updates-card__topline{
	position:absolute !important;
	left:12px !important;
	right:12px !important;
	top:12px !important;
	z-index:6 !important;
	display:flex !important;
	align-items:flex-start !important;
	justify-content:space-between !important;
	gap:10px !important;
	pointer-events:none !important;
}
.home-updates .updates-card__topline .updates-card__badge,
.site-main--updates-archive .updates-card__topline .updates-card__badge{
	position:static !important;
	min-height:30px !important;
	padding:0 11px !important;
	font-size:.68rem !important;
	box-shadow:0 10px 24px rgba(0,0,0,.22) !important;
}
.home-updates .updates-card__topline .updates-card__actions,
.site-main--updates-archive .updates-card__topline .updates-card__actions{
	margin:0 !important;
	padding:0 !important;
	border:0 !important;
	display:block !important;
	pointer-events:auto !important;
}
.home-updates .updates-card__event-strip,
.home-updates .updates-card__body-link,
.site-main--updates-archive .updates-card__event-strip,
.site-main--updates-archive .updates-card__body-link{
	position:relative !important;
	z-index:2 !important;
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	min-height:54px !important;
	height:54px !important;
	border:0 !important;
	background:rgba(17,16,13,.96) !important;
	color:var(--color-cream-soft) !important;
	text-decoration:none !important;
	overflow:hidden !important;
}
.home-updates .updates-card__event-strip .updates-card__save,
.site-main--updates-archive .updates-card__event-strip .updates-card__save{
	width:100% !important;
	min-height:54px !important;
	height:54px !important;
	padding:0 18px !important;
	border-radius:0 !important;
	font-size:.78rem !important;
	letter-spacing:.11em !important;
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	text-align:center !important;
}
.home-updates .updates-card--news .updates-card__body,
.site-main--updates-archive .updates-card--news .updates-card__body{
	height:54px !important;
	padding:0 18px !important;
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	text-align:center !important;
}
.home-updates .updates-card--news .updates-card__body p,
.site-main--updates-archive .updates-card--news .updates-card__body p{
	width:100% !important;
	margin:0 !important;
	font-size:.78rem !important;
	line-height:1.1 !important;
	white-space:normal !important;
	overflow:hidden !important;
	text-overflow:ellipsis !important;
	color:rgba(255,248,239,.88) !important;
	text-align:center !important;
	text-transform:uppercase !important;
	letter-spacing:.12em !important;
	font-weight:800 !important;
}
@media (max-width:767px){
	.home-updates__grid,
	.site-main--updates-archive .updates-archive-grid{
		grid-template-columns:minmax(0,1fr) !important;
		gap:22px !important;
	}
	.home-updates .updates-card,
	.site-main--updates-archive .updates-card{
		width:min(100%,460px) !important;
		max-width:460px !important;
		margin-inline:auto !important;
		aspect-ratio:1/1 !important;
		grid-template-rows:1fr 54px !important;
	}
	.home-updates .updates-card__image-copy,
	.site-main--updates-archive .updates-card__image-copy{
		padding:62px 24px 36px !important;
	}
	.home-updates .updates-card__title,
	.site-main--updates-archive .updates-card__title{
		font-size:clamp(1.8rem,10vw,2.7rem) !important;
	}
}

/* v1.0.83 — sync reale card archivio/home: news come screenshot riferimento */
.home-updates .updates-card,
.site-main--updates-archive .updates-card{
	position:relative !important;
	aspect-ratio:1/1 !important;
	display:grid !important;
	grid-template-rows:minmax(0,1fr) 54px !important;
	overflow:hidden !important;
	border-radius:18px !important;
	background:rgba(17,16,13,.96) !important;
}
.home-updates .updates-card__media-frame,
.site-main--updates-archive .updates-card__media-frame{
	position:relative !important;
	min-width:0 !important;
	min-height:0 !important;
	overflow:hidden !important;
}
.home-updates .updates-card__media-link,
.home-updates .updates-card__media,
.site-main--updates-archive .updates-card__media-link,
.site-main--updates-archive .updates-card__media{
	position:relative !important;
	display:block !important;
	width:100% !important;
	height:100% !important;
	min-height:0 !important;
	overflow:hidden !important;
}
.home-updates .updates-card__media img,
.home-updates .updates-card__image,
.home-updates .updates-card__fallback,
.site-main--updates-archive .updates-card__media img,
.site-main--updates-archive .updates-card__image,
.site-main--updates-archive .updates-card__fallback{
	position:absolute !important;
	inset:0 !important;
	width:100% !important;
	height:100% !important;
	max-width:none !important;
	object-fit:cover !important;
}
.home-updates .updates-card__image-copy,
.site-main--updates-archive .updates-card__image-copy{
	position:absolute !important;
	inset:0 !important;
	z-index:3 !important;
	display:flex !important;
	flex-direction:column !important;
	align-items:center !important;
	justify-content:center !important;
	padding:60px 28px 44px !important;
	text-align:center !important;
	gap:10px !important;
}
.home-updates .updates-card__image-copy .updates-card__meta,
.site-main--updates-archive .updates-card__image-copy .updates-card__meta{
	display:block !important;
	margin:0 !important;
	font-size:clamp(.7rem,2.4vw,.92rem) !important;
	line-height:1.1 !important;
	letter-spacing:.18em !important;
	font-weight:500 !important;
	text-transform:uppercase !important;
	color:rgba(255,248,239,.88) !important;
}
.home-updates .updates-card__image-copy .updates-card__title,
.home-updates .updates-card__image-copy h3,
.site-main--updates-archive .updates-card__image-copy .updates-card__title,
.site-main--updates-archive .updates-card__image-copy h2{
	margin:0 !important;
	font-family:var(--font-heading) !important;
	font-size:clamp(2.3rem,10vw,4rem) !important;
	line-height:.9 !important;
	font-weight:500 !important;
	letter-spacing:-.055em !important;
	text-transform:uppercase !important;
	text-align:center !important;
	color:var(--color-cream-soft) !important;
	max-width:96% !important;
}
.home-updates .updates-card--news .updates-card__topline,
.site-main--updates-archive .updates-card--news .updates-card__topline{
	display:none !important;
}
.home-updates .updates-card--event .updates-card__topline,
.site-main--updates-archive .updates-card--event .updates-card__topline{
	display:flex !important;
	position:absolute !important;
	top:16px !important;
	left:16px !important;
	right:16px !important;
	z-index:7 !important;
	align-items:flex-start !important;
	justify-content:space-between !important;
	pointer-events:none !important;
}
.home-updates .updates-card--event .updates-card__topline .updates-card__actions,
.site-main--updates-archive .updates-card--event .updates-card__topline .updates-card__actions{
	display:block !important;
	pointer-events:auto !important;
}
.home-updates .updates-card__body-link,
.site-main--updates-archive .updates-card__body-link,
.home-updates .updates-card__event-strip,
.site-main--updates-archive .updates-card__event-strip{
	position:relative !important;
	z-index:4 !important;
	display:block !important;
	min-height:54px !important;
	background:rgba(17,16,13,.98) !important;
	color:var(--color-cream-soft) !important;
	border:0 !important;
	text-decoration:none !important;
}
.home-updates .updates-card--event .updates-card__event-strip,
.site-main--updates-archive .updates-card--event .updates-card__event-strip{
	background:var(--bgig-event-save-bg,var(--color-cream-soft)) !important;
	color:var(--bgig-event-save-text,var(--color-black)) !important;
}
.home-updates .updates-card__body,
.site-main--updates-archive .updates-card__body{
	height:54px !important;
	padding:0 18px !important;
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	text-align:center !important;
}
.home-updates .updates-card__body p,
.site-main--updates-archive .updates-card__body p{
	width:100% !important;
	margin:0 !important;
	font-size:clamp(.82rem,2.7vw,1rem) !important;
	line-height:1 !important;
	letter-spacing:.18em !important;
	font-weight:900 !important;
	text-transform:uppercase !important;
	white-space:nowrap !important;
	overflow:hidden !important;
	text-overflow:ellipsis !important;
	color:rgba(255,248,239,.9) !important;
}
.home-updates .updates-card__event-strip .updates-card__save,
.site-main--updates-archive .updates-card__event-strip .updates-card__save{
	width:100% !important;
	min-height:54px !important;
	padding:0 18px !important;
	border:0 !important;
	border-radius:0 !important;
	background:transparent !important;
	color:inherit !important;
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	font-size:.86rem !important;
	letter-spacing:.18em !important;
	font-weight:900 !important;
	text-transform:uppercase !important;
}
@media (hover:none), (max-width:767px){
	.home-updates .updates-card::after,
	.site-main--updates-archive .updates-card::after,
	.home-updates .updates-card__roll,
	.site-main--updates-archive .updates-card__roll{
		display:none !important;
		opacity:0 !important;
	}
}

/* v1.0.84 — MOBILE PORTRAIT REBUILD
   Regola: desktop intatto. Tutto quello che segue vive solo sotto 768px. */
@media (max-width: 767px) and (orientation: portrait) {
	:root {
		--container: calc(100vw - 28px);
		--header-height: 76px;
	}

	html,
	body {
		overflow-x: hidden !important;
	}

	body {
		background: var(--color-black) !important;
	}

	/* HEADER MOBILE: logo a sinistra, hamburger a destra, stessa quota. */
	.site-header {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		z-index: 120 !important;
		pointer-events: none !important;
	}

	.site-header__inner {
		width: 100% !important;
		min-height: var(--header-height) !important;
		padding: 14px 14px 0 18px !important;
		margin: 0 !important;
		display: flex !important;
		align-items: flex-start !important;
		justify-content: space-between !important;
		gap: 12px !important;
		pointer-events: none !important;
	}

	.site-header__logo {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		width: auto !important;
		max-width: 132px !important;
		margin: 0 !important;
		padding: 0 !important;
		pointer-events: auto !important;
	}

	.site-header__brand {
		display: none !important;
	}

	.custom-logo,
	.site-header__logo-image {
		display: block !important;
		width: auto !important;
		height: auto !important;
		max-width: 118px !important;
		max-height: 48px !important;
		object-fit: contain !important;
	}

	.site-header__actions {
		margin-left: auto !important;
		display: flex !important;
		align-items: flex-start !important;
		justify-content: flex-end !important;
		pointer-events: auto !important;
	}

	.site-header__toggle {
		width: 54px !important;
		height: 54px !important;
		margin: 0 !important;
		border-radius: 50% !important;
		background: rgba(17,16,13,.26) !important;
		border: 1px solid rgba(255,248,239,.52) !important;
		backdrop-filter: blur(12px) !important;
	}

	.site-header__toggle-line {
		width: 22px !important;
		height: 2px !important;
	}

	/* HERO MOBILE: tutto centrato. */
	.hero {
		min-height: 100svh !important;
		min-height: 100vh !important;
		padding: 0 !important;
	}

	.hero__content {
		width: var(--container) !important;
		max-width: var(--container) !important;
		margin: 0 auto !important;
		padding: calc(var(--header-height) + 28px) 0 82px !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		text-align: center !important;
	}

	.hero__logo-wrap {
		width: 100% !important;
		display: flex !important;
		justify-content: center !important;
		align-items: center !important;
		margin: 0 0 22px !important;
	}

	.hero__logo-image {
		max-width: min(62vw, 230px) !important;
		max-height: 160px !important;
		margin: 0 auto !important;
	}

	.hero__eyebrow,
	.hero__title,
	.hero__subtitle {
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center !important;
		max-width: 100% !important;
		text-transform: uppercase !important;
	}

	.hero__title {
		font-size: clamp(2.8rem, 14vw, 4.9rem) !important;
		line-height: .92 !important;
	}

	.hero__subtitle {
		font-size: clamp(.96rem, 4.2vw, 1.12rem) !important;
		line-height: 1.45 !important;
		text-transform: none !important;
	}

	.hero__actions {
		width: 100% !important;
		justify-content: center !important;
		display: flex !important;
		flex-wrap: wrap !important;
	}

	/* Titoli mobile coerenti col desktop: maiuscoli, scalati. */
	.section-kicker,
	.manifesto__title,
	.moments__title,
	.gelato-focus h2,
	.aperitivo-catalog__intro h2,
	.menu-online h2,
	.contacts h2,
	.home-updates__intro h2,
	.moment-card h3,
	.aperitivo-item h3,
	.updates-card__title {
		text-transform: uppercase !important;
	}

	.manifesto__inner,
	.home-updates__inner,
	.home-updates__intro,
	.menu-online__inner,
	.contacts__inner,
	.footer-cta__inner {
		width: var(--container) !important;
		max-width: var(--container) !important;
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center !important;
	}

	.manifesto__title,
	.home-updates__intro h2,
	.menu-online h2,
	.contacts h2 {
		font-size: clamp(2.35rem, 11vw, 4.1rem) !important;
		line-height: .94 !important;
		letter-spacing: -.045em !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.manifesto__text,
	.home-updates__intro p,
	.menu-online p,
	.contacts p {
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center !important;
	}

	/* NEWS/EVENTI HOME MOBILE: layout archivio pulito, senza vecchi rollover. */
	.home-updates {
		padding: 72px 0 !important;
		overflow: hidden !important;
	}

	.home-updates__grid {
		width: var(--container) !important;
		max-width: var(--container) !important;
		margin: 34px auto 0 !important;
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 28px !important;
	}

	.home-updates .updates-card {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 auto !important;
		aspect-ratio: 1 / 1 !important;
		display: grid !important;
		grid-template-rows: minmax(0, 1fr) 58px !important;
		border-radius: 24px !important;
		overflow: hidden !important;
		background: rgba(17,16,13,.98) !important;
		box-shadow: 0 20px 60px rgba(0,0,0,.32) !important;
	}

	.home-updates .updates-card__media-frame,
	.home-updates .updates-card__media-link,
	.home-updates .updates-card__media {
		position: relative !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 0 !important;
		display: block !important;
		overflow: hidden !important;
	}

	.home-updates .updates-card__media::after {
		content: "" !important;
		position: absolute !important;
		inset: 0 !important;
		z-index: 2 !important;
		background: linear-gradient(to bottom, rgba(17,16,13,.22), rgba(17,16,13,.28) 42%, rgba(17,16,13,.52)) !important;
		pointer-events: none !important;
	}

	.home-updates .updates-card__media img,
	.home-updates .updates-card__image,
	.home-updates .updates-card__fallback {
		position: absolute !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		max-width: none !important;
		object-fit: cover !important;
		object-position: center !important;
	}

	.home-updates .updates-card__image-copy {
		position: absolute !important;
		inset: 0 !important;
		z-index: 4 !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 12px !important;
		padding: 72px 24px 46px !important;
		text-align: center !important;
	}

	.home-updates .updates-card__image-copy .updates-card__meta {
		margin: 0 !important;
		font-size: clamp(.72rem, 3.2vw, .92rem) !important;
		line-height: 1.1 !important;
		letter-spacing: .18em !important;
		font-weight: 600 !important;
		text-transform: uppercase !important;
		color: rgba(255,248,239,.9) !important;
	}

	.home-updates .updates-card__image-copy .updates-card__title {
		margin: 0 !important;
		font-family: var(--font-heading) !important;
		font-size: clamp(2.35rem, 12vw, 4.15rem) !important;
		line-height: .88 !important;
		letter-spacing: -.055em !important;
		font-weight: 500 !important;
		text-align: center !important;
		color: var(--color-cream-soft) !important;
	}

	.home-updates .updates-card--news .updates-card__topline {
		display: none !important;
	}

	.home-updates .updates-card--event .updates-card__topline {
		position: absolute !important;
		top: 18px !important;
		left: 18px !important;
		right: 18px !important;
		z-index: 9 !important;
		display: flex !important;
		align-items: flex-start !important;
		justify-content: space-between !important;
		pointer-events: none !important;
	}

	.home-updates .updates-card--event .updates-card__actions {
		display: block !important;
		pointer-events: auto !important;
	}

	.home-updates .updates-card__badge,
	.home-updates .share-button {
		min-height: 42px !important;
		border-radius: 999px !important;
		padding: 0 18px !important;
		font-size: .78rem !important;
		letter-spacing: .16em !important;
		font-weight: 900 !important;
		text-transform: uppercase !important;
	}

	.home-updates .updates-card__body-link,
	.home-updates .updates-card__event-strip {
		position: relative !important;
		z-index: 5 !important;
		min-height: 58px !important;
		height: 58px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		border: 0 !important;
		text-decoration: none !important;
	}

	.home-updates .updates-card--news .updates-card__body-link {
		background: rgba(17,16,13,.98) !important;
		color: var(--color-cream-soft) !important;
	}

	.home-updates .updates-card--event .updates-card__event-strip {
		background: var(--bgig-event-save-bg, var(--color-cream-soft)) !important;
		color: var(--bgig-event-save-text, var(--color-black)) !important;
	}

	.home-updates .updates-card__body,
	.home-updates .updates-card__event-strip .updates-card__save {
		width: 100% !important;
		height: 58px !important;
		min-height: 58px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		padding: 0 18px !important;
		text-align: center !important;
	}

	.home-updates .updates-card__body p,
	.home-updates .updates-card__event-strip .updates-card__save {
		margin: 0 !important;
		font-size: clamp(.84rem, 3.4vw, 1rem) !important;
		line-height: 1 !important;
		letter-spacing: .18em !important;
		font-weight: 900 !important;
		text-transform: uppercase !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
	}

	.home-updates .updates-card__roll,
	.home-updates .updates-card::before,
	.home-updates .updates-card::after {
		display: none !important;
	}

	/* SCROLL ORIZZONTALE MOBILE — MOMENTI */
	.moments--interactive:not(.is-static) {
		position: relative !important;
		height: var(--horizontal-scroll-height, 420vh) !important;
		min-height: 220vh !important;
		padding: 0 !important;
		margin: 0 !important;
		overflow: visible !important;
		background: var(--color-black-soft) !important;
	}

	.moments--interactive:not(.is-static) .moments__pin {
		position: sticky !important;
		top: 0 !important;
		height: 100svh !important;
		height: 100vh !important;
		width: 100vw !important;
		overflow: hidden !important;
		display: grid !important;
		grid-template-rows: auto minmax(0, 1fr) 5px !important;
		background: var(--color-black-soft) !important;
	}

	.moments--interactive:not(.is-static) .moments__intro {
		width: var(--container) !important;
		max-width: var(--container) !important;
		margin: 0 auto !important;
		padding: 88px 0 16px !important;
		text-align: center !important;
		z-index: 5 !important;
	}

	.moments--interactive:not(.is-static) .moments__title {
		font-size: clamp(2.1rem, 10vw, 3.65rem) !important;
		line-height: .92 !important;
		letter-spacing: -.045em !important;
		margin: 0 auto !important;
		text-align: center !important;
	}

	.moments--interactive:not(.is-static) .moments__text {
		font-size: clamp(.9rem, 3.8vw, 1.04rem) !important;
		line-height: 1.35 !important;
		max-width: 92vw !important;
		margin: 14px auto 0 !important;
		text-align: center !important;
	}

	.moments--interactive:not(.is-static) .moments__viewport {
		position: relative !important;
		width: 100vw !important;
		height: 100% !important;
		min-height: 0 !important;
		overflow: hidden !important;
	}

	.moments--interactive:not(.is-static) .moments__track {
		display: flex !important;
		grid-template-columns: none !important;
		gap: 0 !important;
		width: max-content !important;
		max-width: none !important;
		height: 100% !important;
		margin: 0 !important;
		will-change: transform !important;
	}

	.moments--interactive:not(.is-static) .moment-card {
		flex: 0 0 100vw !important;
		width: 100vw !important;
		max-width: 100vw !important;
		height: 100% !important;
		min-height: 0 !important;
		margin: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		position: relative !important;
		overflow: hidden !important;
		isolation: isolate !important;
	}

	.moments--interactive:not(.is-static) .moment-card__media,
	.moments--interactive:not(.is-static) .moment-card__media img,
	.moments--interactive:not(.is-static) .moment-card__fallback {
		position: absolute !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: center !important;
	}

	.moments--interactive:not(.is-static) .moment-card__content {
		position: absolute !important;
		inset: 0 !important;
		z-index: 3 !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		height: 100% !important;
		padding: 28px !important;
		text-align: center !important;
	}

	.moments--interactive:not(.is-static) .moment-card h3 {
		font-size: clamp(2.8rem, 14vw, 5rem) !important;
		line-height: .88 !important;
		margin: 0 auto !important;
		max-width: 92vw !important;
		text-align: center !important;
	}

	.moments--interactive:not(.is-static) .moment-card p {
		font-size: clamp(.98rem, 4vw, 1.12rem) !important;
		line-height: 1.42 !important;
		max-width: 82vw !important;
		margin: 18px auto 0 !important;
		text-align: center !important;
	}

	.moments--interactive:not(.is-static) .moments__progress {
		height: 5px !important;
		background: rgba(255,248,239,.18) !important;
	}

	.moments--interactive:not(.is-static) .moments__progress span {
		display: block !important;
		height: 100% !important;
		transform-origin: left center !important;
		background: var(--color-spritz) !important;
	}

	/* GELATERIA MOBILE: sfondo pieno, non immagine sotto. */
	.gelato-focus {
		position: relative !important;
		min-height: 100svh !important;
		min-height: 100vh !important;
		padding: 0 !important;
		margin: 0 !important;
		overflow: hidden !important;
		background: var(--color-black) !important;
	}

	.gelato-focus__sticky {
		position: relative !important;
		min-height: 100svh !important;
		min-height: 100vh !important;
		width: 100vw !important;
		display: grid !important;
		place-items: center !important;
		overflow: hidden !important;
	}

	.gelato-focus__media,
	.gelato-focus__media img,
	.gelato-focus__fallback {
		position: absolute !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: center !important;
	}

	.gelato-focus__overlay {
		position: absolute !important;
		inset: 0 !important;
		background: rgba(17,16,13,.54) !important;
	}

	.gelato-focus__content {
		position: relative !important;
		z-index: 3 !important;
		width: var(--container) !important;
		max-width: var(--container) !important;
		margin: 0 auto !important;
		padding: 92px 0 72px !important;
		text-align: center !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
	}

	.gelato-focus h2 {
		font-size: clamp(2.65rem, 13vw, 4.75rem) !important;
		line-height: .9 !important;
		letter-spacing: -.05em !important;
		margin: 0 auto !important;
	}

	.gelato-focus__text {
		max-width: 86vw !important;
		margin: 18px auto 0 !important;
		text-align: center !important;
	}

	.gelato-focus__tags {
		justify-content: center !important;
		padding: 0 !important;
		margin: 22px auto 0 !important;
	}

	/* SCROLL ORIZZONTALE MOBILE — APERITIVO */
	.aperitivo-catalog--interactive:not(.is-static) {
		position: relative !important;
		height: var(--horizontal-scroll-height, 420vh) !important;
		min-height: 220vh !important;
		padding: 0 !important;
		margin: 0 !important;
		overflow: visible !important;
		background: var(--color-black) !important;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__pin {
		position: sticky !important;
		top: 0 !important;
		height: 100svh !important;
		height: 100vh !important;
		width: 100vw !important;
		overflow: hidden !important;
		display: grid !important;
		grid-template-rows: auto minmax(0, 1fr) 5px !important;
		background: var(--color-black) !important;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro {
		width: var(--container) !important;
		max-width: var(--container) !important;
		margin: 0 auto !important;
		padding: 88px 0 16px !important;
		text-align: center !important;
		z-index: 5 !important;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro h2 {
		font-size: clamp(2.1rem, 10vw, 3.65rem) !important;
		line-height: .92 !important;
		letter-spacing: -.045em !important;
		margin: 0 auto !important;
		text-align: center !important;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro p:not(.section-kicker) {
		font-size: clamp(.9rem, 3.8vw, 1.04rem) !important;
		line-height: 1.35 !important;
		max-width: 92vw !important;
		margin: 14px auto 0 !important;
		text-align: center !important;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__scene-nav {
		display: none !important;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__viewport {
		position: relative !important;
		width: 100vw !important;
		height: 100% !important;
		min-height: 0 !important;
		overflow: hidden !important;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__track {
		display: flex !important;
		grid-template-columns: none !important;
		gap: 0 !important;
		width: max-content !important;
		max-width: none !important;
		height: 100% !important;
		margin: 0 !important;
		will-change: transform !important;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-card,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item {
		flex: 0 0 100vw !important;
		width: 100vw !important;
		max-width: 100vw !important;
		height: 100% !important;
		min-height: 0 !important;
		margin: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		position: relative !important;
		overflow: hidden !important;
		isolation: isolate !important;
		background: var(--color-black) !important;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__image,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__image img,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__fallback {
		position: absolute !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: center !important;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-card::after {
		content: "" !important;
		position: absolute !important;
		inset: 0 !important;
		z-index: 1 !important;
		background: linear-gradient(to bottom, rgba(17,16,13,.18), rgba(17,16,13,.36), rgba(17,16,13,.72)) !important;
		pointer-events: none !important;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body {
		position: absolute !important;
		inset: 0 !important;
		z-index: 3 !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		height: 100% !important;
		padding: 28px !important;
		text-align: center !important;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__number {
		margin: 0 0 14px !important;
		text-align: center !important;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item h3 {
		font-size: clamp(2.8rem, 14vw, 5rem) !important;
		line-height: .88 !important;
		margin: 0 auto !important;
		max-width: 92vw !important;
		text-align: center !important;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item p {
		font-size: clamp(.98rem, 4vw, 1.12rem) !important;
		line-height: 1.42 !important;
		max-width: 82vw !important;
		margin: 18px auto 0 !important;
		text-align: center !important;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__toggle {
		margin: 22px auto 0 !important;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__progress {
		height: 5px !important;
		background: rgba(255,248,239,.18) !important;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__progress span {
		display: block !important;
		height: 100% !important;
		transform-origin: left center !important;
		background: var(--color-spritz) !important;
	}

	/* Drink list/finale/contatti: contenitore mobile ordinato. */
	.menu-online,
	.contacts,
	.footer-cta {
		padding: 76px 0 !important;
		overflow: hidden !important;
	}

	.menu-online__inner,
	.contacts__inner {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 28px !important;
	}

	.menu-online__visual {
		width: 100% !important;
		min-height: 360px !important;
		border-radius: 28px !important;
	}

	.mobile-quickbar {
		left: 18px !important;
		right: 18px !important;
		bottom: max(14px, env(safe-area-inset-bottom)) !important;
		width: auto !important;
		z-index: 130 !important;
	}
}

/* v1.0.85 — MOBILE PORTRAIT CLEAN RESET FROM v1.0.79
   Desktop untouched: all rules below are scoped only to max-width 767px + portrait. */
@media (max-width: 767px) and (orientation: portrait) {
	:root{
		--container:calc(100vw - 28px) !important;
		--header-height:72px !important;
	}

	html,
	body{
		width:100% !important;
		max-width:100% !important;
		overflow-x:hidden !important;
	}

	.site-header__inner,
	.site-footer__inner,
	.manifesto__inner,
	.moments__intro,
	.moments__track,
	.gelato-focus__inner,
	.aperitivo-catalog__intro,
	.menu-online__inner,
	.digital-cards__inner,
	.contacts__inner,
	.home-updates__inner{
		width:var(--container) !important;
		max-width:var(--container) !important;
		margin-left:auto !important;
		margin-right:auto !important;
	}

	.site-header__inner{
		min-height:72px !important;
		gap:12px !important;
	}
	.site-header__logo,
	.site-header__brand{
		max-width:calc(100vw - 96px) !important;
		overflow:hidden !important;
		text-overflow:ellipsis !important;
		white-space:nowrap !important;
	}
	.site-header__toggle{
		flex:0 0 46px !important;
	}

	.hero{
		min-height:100svh !important;
		align-items:end !important;
		place-items:end center !important;
	}
	.hero__image,
	.hero__video{
		object-fit:cover !important;
		object-position:center center !important;
		transform:none !important;
	}
	.hero__content{
		width:var(--container) !important;
		max-width:var(--container) !important;
		padding:calc(var(--header-height) + 24px) 0 92px !important;
		text-align:left !important;
	}
	.hero__logo-wrap{
		justify-content:flex-start !important;
		margin-bottom:18px !important;
	}
	.hero__logo-image{
		max-width:min(64vw,240px) !important;
		max-height:145px !important;
	}
	.hero__title{
		max-width:100% !important;
		margin-left:0 !important;
		font-size:clamp(2.85rem,15vw,4.85rem) !important;
		line-height:.92 !important;
		letter-spacing:-.065em !important;
	}
	.hero__subtitle{
		max-width:100% !important;
		margin:18px 0 0 !important;
		font-size:1rem !important;
		line-height:1.45 !important;
	}
	.hero__actions{
		width:100% !important;
		margin-top:24px !important;
		display:grid !important;
		grid-template-columns:1fr !important;
		gap:10px !important;
		justify-content:stretch !important;
	}
	.hero__actions .button{
		width:100% !important;
		min-height:48px !important;
		padding:0 16px !important;
	}
	.hero__scroll{
		bottom:18px !important;
	}

	.section-kicker{
		font-size:.72rem !important;
		letter-spacing:.14em !important;
	}
	.manifesto,
	.moments,
	.gelato-focus,
	.aperitivo-catalog,
	.menu-online,
	.digital-cards,
	.contacts,
	.home-updates{
		padding-top:72px !important;
		padding-bottom:72px !important;
		overflow:hidden !important;
	}
	.manifesto__title,
	.moments__title,
	.gelato-focus__content h2,
	.aperitivo-catalog__intro h2,
	.menu-online h2,
	.digital-cards__intro h2,
	.contacts h2,
	.home-updates h2{
		max-width:100% !important;
		font-size:clamp(2.45rem,12.5vw,4.1rem) !important;
		line-height:.94 !important;
		letter-spacing:-.055em !important;
		word-break:normal !important;
		overflow-wrap:anywhere !important;
	}
	.manifesto__text,
	.moments__text,
	.gelato-focus__content p,
	.aperitivo-catalog__intro p,
	.menu-online p,
	.digital-cards__intro p,
	.contacts__text,
	.home-updates__intro p{
		max-width:100% !important;
		font-size:1rem !important;
		line-height:1.55 !important;
	}
	.manifesto__words{
		display:flex !important;
		flex-wrap:wrap !important;
		gap:8px !important;
		margin-top:28px !important;
	}
	.manifesto__words li{
		padding:9px 13px !important;
		font-size:.9rem !important;
	}

	/* Le scene desktop pinned/orizzontali diventano contenuto verticale naturale. */
	.moments,
	.moments--interactive,
	.aperitivo-catalog,
	.aperitivo-catalog--interactive{
		height:auto !important;
		min-height:0 !important;
	}
	.moments__pin,
	.aperitivo-catalog__pin{
		position:relative !important;
		top:auto !important;
		height:auto !important;
		min-height:0 !important;
		padding:0 !important;
	}
	.moments__viewport,
	.aperitivo-catalog__viewport{
		width:var(--container) !important;
		max-width:var(--container) !important;
		margin:28px auto 0 !important;
		overflow:visible !important;
	}
	.moments__track,
	.aperitivo-catalog__track{
		width:100% !important;
		max-width:100% !important;
		display:grid !important;
		grid-template-columns:1fr !important;
		gap:16px !important;
		transform:none !important;
	}
	.moments__scene-nav,
	.aperitivo-catalog__scene-nav,
	.moments__progress,
	.aperitivo-catalog__progress{
		display:none !important;
	}
	.moment-card,
	.aperitivo-card,
	.aperitivo-item{
		width:100% !important;
		max-width:100% !important;
		min-width:0 !important;
		min-height:420px !important;
		margin:0 !important;
		border-radius:24px !important;
		transform:none !important;
	}
	.moment-card__content,
	.aperitivo-item__body{
		left:20px !important;
		right:20px !important;
		bottom:22px !important;
	}
	.moment-card h3,
	.aperitivo-item h3{
		font-size:clamp(2.15rem,12vw,3.45rem) !important;
		line-height:.94 !important;
		letter-spacing:-.055em !important;
	}
	.moment-card p,
	.aperitivo-item p{
		font-size:.98rem !important;
		line-height:1.45 !important;
	}

	.gelato-focus,
	.gelato-focus[data-sticky-reveal]{
		height:auto !important;
		min-height:0 !important;
	}
	.gelato-focus__inner{
		display:grid !important;
		grid-template-columns:1fr !important;
		gap:24px !important;
		align-items:start !important;
	}
	.gelato-focus__media,
	.gelato-focus__content{
		position:relative !important;
		top:auto !important;
		transform:none !important;
		width:100% !important;
		max-width:100% !important;
	}
	.gelato-focus__media{
		order:2 !important;
		min-height:360px !important;
		border-radius:26px !important;
		overflow:hidden !important;
	}
	.gelato-focus__content{
		order:1 !important;
	}
	.gelato-focus__media img{
		width:100% !important;
		height:100% !important;
		object-fit:cover !important;
		transform:none !important;
	}
	.gelato-focus__tags{
		display:flex !important;
		flex-wrap:wrap !important;
		gap:8px !important;
		padding:0 !important;
	}
	.gelato-focus__tags li{
		transform:none !important;
	}

	.digital-cards__grid,
	.menu-online__grid,
	.contacts__grid,
	.contacts__inner{
		display:grid !important;
		grid-template-columns:1fr !important;
		gap:20px !important;
	}
	.digital-card,
	.digital-card__main-link,
	.digital-card__visual{
		width:100% !important;
		max-width:100% !important;
	}
	.digital-card__visual{
		aspect-ratio:3 / 4 !important;
		min-height:0 !important;
		border-radius:26px !important;
		overflow:hidden !important;
	}
	.digital-card__visual img{
		width:100% !important;
		height:100% !important;
		object-fit:cover !important;
	}

	.home-updates__grid,
	.updates-grid,
	.site-main--updates-archive .updates-grid{
		display:grid !important;
		grid-template-columns:1fr !important;
		gap:18px !important;
	}
	.home-updates .updates-card,
	.site-main--updates-archive .updates-card{
		width:100% !important;
		max-width:100% !important;
		min-width:0 !important;
	}

	.contacts__content,
	.contacts__footer-info,
	.contacts__hours,
	.contacts__actions{
		width:100% !important;
		max-width:100% !important;
		text-align:left !important;
	}
	.contacts__actions{
		display:grid !important;
		grid-template-columns:1fr !important;
	}
	.contacts__actions .button{
		width:100% !important;
	}
	.contacts__line,
	.contacts__hours,
	.contacts__hours *{
		overflow-wrap:anywhere !important;
	}

	.bottom-panel__sheet{
		width:100vw !important;
		max-width:100vw !important;
		border-radius:26px 26px 0 0 !important;
		padding:26px 18px calc(26px + env(safe-area-inset-bottom)) !important;
	}
	.bottom-panel__content{
		width:100% !important;
		max-width:100% !important;
	}
	.bottom-panel__content h4{
		font-size:clamp(2.1rem,11vw,3.4rem) !important;
		line-height:.95 !important;
	}

	.site-footer__inner{
		grid-template-columns:1fr !important;
		text-align:left !important;
	}
	.site-footer__menu{
		display:grid !important;
		grid-template-columns:1fr !important;
		gap:10px !important;
	}
}


/* v1.0.61 — migliorie richieste: titoli maiuscoli, titoli grandi -20%, rollup non invasivo, content home, momenti senza nav/numeri */
.site-main h1,
.site-main h2,
.site-main h3,
.site-main h4,
.site-main h5,
.site-main h6,
.fullscreen-menu__list a,
.section-kicker,
.updates-card__meta,
.updates-card__badge,
.digital-card__kicker,
.moment-card__number{
	text-transform:uppercase !important;
}

/* Riduzione circa 20% dei titoli principali più grandi. */
.home .site-main .hero__title{font-size:clamp(1.92rem,4.2vw,4.48rem) !important;}
.home .site-main .manifesto__title{font-size:clamp(1.92rem,4.2vw,4.48rem) !important;}
.home .site-main .moments__title{font-size:clamp(2.4rem,5.6vw,5.2rem) !important;}
.home .site-main .menu-online h2,
.home .site-main .digital-cards__intro h2,
.home .site-main .gelato-focus h2,
.home .site-main .aperitivo-catalog__intro h2,
.home .site-main .contacts h2,
.site-main--updates-archive .updates-archive-hero h1{font-size:clamp(2.4rem,5.6vw,5.12rem) !important;}
.home .site-main .home-updates__intro h2{font-size:clamp(1.92rem,4vw,4rem) !important;}
.home .moments--interactive:not(.is-static) .moment-card h3,
.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item h3{font-size:clamp(2.88rem,6.24vw,6.72rem) !important;}
.home .site-main .moment-card h3,
.home .site-main .digital-card h3,
.home .site-main .updates-card__image-copy h3,
.site-main--updates-archive .updates-card__image-copy h2{font-size:clamp(1.6rem,2.4vw,2.4rem) !important;}

/* News/Eventi: il rollup deve coprire solo la parte visuale, non descrizione o Save the Date. */
.home-updates .updates-card::after,
.site-main--updates-archive .updates-card::after{
	content:none !important;
	display:none !important;
}
.home-updates .updates-card__media::before,
.site-main--updates-archive .updates-card__media::before{
	content:"" !important;
	position:absolute !important;
	inset:0 !important;
	z-index:4 !important;
	background:rgba(43,33,27,.86) !important;
	opacity:0 !important;
	transition:opacity .24s ease !important;
	pointer-events:none !important;
}
.home-updates .updates-card:hover .updates-card__media::before,
.home-updates .updates-card:focus-within .updates-card__media::before,
.site-main--updates-archive .updates-card:hover .updates-card__media::before,
.site-main--updates-archive .updates-card:focus-within .updates-card__media::before{
	opacity:1 !important;
}
.home-updates .updates-card__roll,
.site-main--updates-archive .updates-card__roll{
	top:calc(50% - 27px) !important;
	bottom:auto !important;
	z-index:7 !important;
	transform:translate(-50%,-50%) scale(.96) !important;
}
.home-updates .updates-card:hover .updates-card__roll,
.home-updates .updates-card:focus-within .updates-card__roll,
.site-main--updates-archive .updates-card:hover .updates-card__roll,
.site-main--updates-archive .updates-card:focus-within .updates-card__roll{
	transform:translate(-50%,-50%) scale(1) !important;
}
.home-updates .updates-card__event-strip,
.home-updates .updates-card__body-link,
.site-main--updates-archive .updates-card__event-strip,
.site-main--updates-archive .updates-card__body-link{
	z-index:8 !important;
}

/* Contenuto editoriale della pagina Home subito dopo News/Eventi. */
.home-editorial-content{
	background:var(--color-black);
	color:var(--color-cream-soft);
	padding:clamp(28px,5vw,70px) 0 clamp(70px,9vw,130px);
}
.home-editorial-content__inner{
	width:min(860px,calc(100vw - 40px));
	margin:0 auto;
	text-align:center;
	font-size:clamp(1.05rem,1.45vw,1.22rem);
	line-height:1.65;
	color:rgba(255,248,239,.82);
}
.home-editorial-content__inner > *:first-child{margin-top:0;}
.home-editorial-content__inner > *:last-child{margin-bottom:0;}
.home-editorial-content__inner h1,
.home-editorial-content__inner h2,
.home-editorial-content__inner h3{
	font-family:var(--font-heading);
	line-height:.98;
	letter-spacing:-.045em;
	color:var(--color-cream-soft);
}

/* Momenti: niente bottoni di navigazione e niente numerini. */
.moments__scene-nav,
.moment-card__number{
	display:none !important;
}

@media (max-width:767px){
	.home .site-main .hero__title{font-size:clamp(2.08rem,11.2vw,3.84rem) !important;}
	.home .site-main .manifesto__title,
	.home .site-main .moments__title,
	.home .site-main .menu-online h2,
	.home .site-main .digital-cards__intro h2,
	.home .site-main .gelato-focus h2,
	.home .site-main .aperitivo-catalog__intro h2,
	.home .site-main .contacts h2{font-size:clamp(2.1rem,11vw,3.85rem) !important;}
	.home .moments--interactive:not(.is-static) .moment-card h3,
	.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item h3{font-size:clamp(2.4rem,12vw,4.64rem) !important;}
	.home .site-main .updates-card__image-copy h3,
	.site-main--updates-archive .updates-card__image-copy h2{font-size:clamp(1.44rem,8vw,2.16rem) !important;}
	.home-editorial-content__inner{width:min(100vw - 28px,100%);text-align:left;}
}


/* v1.0.66 — Desktop: elimina la striscia/spazio di giunzione tra Gelateria e Aperitivo.
   Il focus gelato deve chiudersi sulla viewport e il catalogo aperitivo deve agganciarsi
   subito sotto, senza margini/padding o sottili fughe di background tra le due scene. */
@media (min-width: 1025px) {
	.home .site-main .gelato-focus {
		min-height: 100vh !important;
		min-height: 100svh !important;
		margin-bottom: 0 !important;
	}

	.home .site-main .gelato-focus__sticky {
		min-height: 100vh !important;
		min-height: 100svh !important;
	}

	.home .site-main .gelato-focus + .aperitivo-catalog,
	.home .site-main .gelato-focus + .aperitivo-catalog--interactive {
		margin-top: -1px !important;
		padding-top: 0 !important;
	}

	.home .site-main .gelato-focus + .aperitivo-catalog .aperitivo-catalog__pin {
		margin-top: 0 !important;
	}
}


/* v1.0.67 — Desktop: la prima scena Aperitivo deve partire attaccata al fondo della Gelateria.
   La striscia visibile non era un padding tra sezioni: era la card Aperitivo alta meno della viewport
   e centrata verticalmente dentro lo sticky. Forziamo la prima schermata a piena altezza. */
@media (min-width: 1025px) {
	.home .site-main .gelato-focus + .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__pin,
	.home .site-main .gelato-focus + .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__viewport,
	.home .site-main .gelato-focus + .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__track {
		height: 100vh !important;
		height: 100svh !important;
	}

	.home .site-main .gelato-focus + .aperitivo-catalog--interactive:not(.is-static) .aperitivo-card {
		height: 100vh !important;
		height: 100svh !important;
		max-height: none !important;
		align-self: stretch !important;
	}

	.home .site-main .gelato-focus + .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__image,
	.home .site-main .gelato-focus + .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__image img,
	.home .site-main .gelato-focus + .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__fallback {
		top: 0 !important;
		bottom: 0 !important;
		height: 100% !important;
	}
}


/* v1.0.68 — Desktop: fix reale spazio sopra gli item Aperitivo.
   Il vuoto era causato dal reveal desktop su .aperitivo-item[data-reveal], che lasciava
   transform: translateY(48px) anche quando la card era visibile. Gli item ora riempiono
   la viewport e, quando visibili, tornano a Y=0. */
@media (min-width: 1025px) {
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__viewport,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__track {
		height: 100vh !important;
		height: 100svh !important;
		align-items: stretch !important;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-card,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item {
		height: 100vh !important;
		height: 100svh !important;
		min-height: 100vh !important;
		min-height: 100svh !important;
		max-height: none !important;
		align-self: stretch !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item[data-reveal],
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item[data-reveal].is-visible {
		transform: translate3d(0, 0, 0) !important;
	}
}


/* v1.0.70 — Gallerie pagine/articoli: image wall randomizzato e chiuso.
   La costruzione vera avviene in JS: ordine casuale a ogni caricamento, righe piene,
   nessun gap, nessun bordo laterale, nessun buco con sfondo a vista. */
.entry-gallery{
	margin:0!important;
	padding:0!important;
	width:100%;
	max-width:none;
	background:#17130f;
	line-height:0;
	overflow:hidden;
}
.entry-gallery__grid{
	display:block!important;
	width:100%;
	margin:0!important;
	padding:0!important;
	column-count:initial!important;
	column-gap:0!important;
	font-size:0;
	line-height:0;
}
.entry-gallery__row{
	display:flex;
	width:100%;
	margin:0!important;
	padding:0!important;
	gap:0!important;
	overflow:hidden;
}
.entry-gallery__item{
	position:relative;
	display:block;
	min-width:0;
	margin:0!important;
	padding:0!important;
	break-inside:auto;
	background:#17130f;
	overflow:hidden;
}
.entry-gallery__trigger{
	display:block;
	width:100%;
	height:100%;
	min-height:100%;
	margin:0!important;
	padding:0!important;
	border:0;
	line-height:0;
}
.entry-gallery__media{
	display:block;
	width:100%;
	height:100%!important;
	max-width:none;
	object-fit:cover;
	object-position:center;
}
.entry-gallery__media--video{
	aspect-ratio:auto;
}
@media (max-width:540px){
	.entry-gallery__row{min-height:180px;}
}
@media (prefers-reduced-motion: reduce){
	.entry-gallery__media{transition:none!important;}
	.entry-gallery__trigger:hover .entry-gallery__media,
	.entry-gallery__trigger:focus-visible .entry-gallery__media{transform:none!important;}
}

/* v1.0.71 — Gallerie pagine/articoli: vero muro fotografico a tasselli.
   Non righe justified: posizionamento assoluto su griglia interna, randomizzato,
   con finestre elastiche che vengono adattate per chiudere gli scalini. */
.entry-gallery{
	margin:0!important;
	padding:0!important;
	width:100%!important;
	max-width:none!important;
	background:#17130f!important;
	line-height:0!important;
	overflow:hidden!important;
}
.entry-gallery__grid{
	position:relative!important;
	display:block!important;
	width:100%!important;
	max-width:none!important;
	margin:0!important;
	padding:0!important;
	column-count:initial!important;
	column-gap:0!important;
	font-size:0!important;
	line-height:0!important;
	overflow:hidden!important;
}
.entry-gallery__grid--wall-ready .entry-gallery__row{
	display:contents!important;
}
.entry-gallery__item{
	display:block!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	background:#17130f!important;
	overflow:hidden!important;
	break-inside:auto!important;
}
.entry-gallery__trigger{
	display:block!important;
	width:100%!important;
	height:100%!important;
	min-height:100%!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	border-radius:0!important;
	line-height:0!important;
	overflow:hidden!important;
}
.entry-gallery__media{
	display:block!important;
	width:100%!important;
	height:100%!important;
	max-width:none!important;
	border-radius:0!important;
	object-fit:cover!important;
	object-position:center!important;
}
.entry-gallery__media--video{
	aspect-ratio:auto!important;
}

/* v1.0.72 — Gallerie pagine/articoli: griglia modulare randomizzata.
   Moduli pieni da 1/2/3/4 finestre, sfalsati e ripetibili, senza buchi.
   La finestra si adatta al pattern; l'immagine resta in cover e non viene deformata. */
.entry-gallery{
	margin:0!important;
	padding:0!important;
	width:100%!important;
	max-width:none!important;
	background:#17130f!important;
	line-height:0!important;
	overflow:hidden!important;
}
.entry-gallery__grid{
	position:relative!important;
	display:block!important;
	width:100%!important;
	max-width:none!important;
	margin:0!important;
	padding:0!important;
	column-count:initial!important;
	column-gap:0!important;
	font-size:0!important;
	line-height:0!important;
	overflow:hidden!important;
}
.entry-gallery__grid--modular-ready .entry-gallery__row,
.entry-gallery__grid--wall-ready .entry-gallery__row{
	display:contents!important;
}
.entry-gallery__item{
	display:block!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	background:#17130f!important;
	overflow:hidden!important;
	break-inside:auto!important;
}
.entry-gallery__trigger{
	display:block!important;
	width:100%!important;
	height:100%!important;
	min-height:100%!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	border-radius:0!important;
	line-height:0!important;
	overflow:hidden!important;
}
.entry-gallery__media{
	display:block!important;
	width:100%!important;
	height:100%!important;
	max-width:none!important;
	border-radius:0!important;
	object-fit:cover!important;
	object-position:center!important;
}
.entry-gallery__media--video{
	aspect-ratio:auto!important;
}

/* v1.0.73 — Galleria modulare a parete piena.
   Nessun gap: i moduli sono rettangoli completi; l'ultimo modulo si espande
   quando serve per non lasciare mezze fasce vuote. */
.entry-gallery{
	margin:0!important;
	padding:0!important;
	width:100%!important;
	max-width:none!important;
	background:#17130f!important;
	line-height:0!important;
	overflow:hidden!important;
}
.entry-gallery__grid{
	position:relative!important;
	display:block!important;
	width:100%!important;
	max-width:none!important;
	margin:0!important;
	padding:0!important;
	column-count:initial!important;
	column-gap:0!important;
	font-size:0!important;
	line-height:0!important;
	overflow:hidden!important;
}
.entry-gallery__grid--modular-ready .entry-gallery__row,
.entry-gallery__grid--wall-ready .entry-gallery__row{
	display:contents!important;
}
.entry-gallery__item{
	display:block!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	background:#17130f!important;
	overflow:hidden!important;
	break-inside:auto!important;
}
.entry-gallery__trigger{
	display:block!important;
	width:100%!important;
	height:100%!important;
	min-height:100%!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	border-radius:0!important;
	line-height:0!important;
	overflow:hidden!important;
}
.entry-gallery__media{
	display:block!important;
	width:100%!important;
	height:100%!important;
	max-width:none!important;
	border-radius:0!important;
	object-fit:cover!important;
	object-position:center!important;
}
.entry-gallery__media--video{
	aspect-ratio:auto!important;
}


/* v1.0.74 — Gallery quadrata controllata: 4 colonne desktop, 2 colonne portrait, ultima immagine estesa */
.entry-gallery{
	margin:0!important;
	padding:0!important;
	width:100%!important;
	max-width:none!important;
	background:#17130f!important;
	line-height:0!important;
	overflow:hidden!important;
}
.entry-gallery__grid.entry-gallery__grid--square-ready{
	display:grid!important;
	grid-template-columns:repeat(var(--entry-gallery-columns, 4), minmax(0, 1fr))!important;
	gap:0!important;
	width:100%!important;
	max-width:none!important;
	margin:0!important;
	padding:0!important;
	column-count:initial!important;
	column-gap:0!important;
	font-size:0!important;
	line-height:0!important;
	overflow:hidden!important;
	position:relative!important;
	height:auto!important;
}
.entry-gallery__grid.entry-gallery__grid--square-ready .entry-gallery__item{
	position:relative!important;
	display:block!important;
	width:auto!important;
	height:auto!important;
	left:auto!important;
	top:auto!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	background:#17130f!important;
	overflow:hidden!important;
	break-inside:auto!important;
}
.entry-gallery__grid.entry-gallery__grid--square-ready .entry-gallery__trigger{
	display:block!important;
	width:100%!important;
	height:100%!important;
	min-height:100%!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	border-radius:0!important;
	line-height:0!important;
	overflow:hidden!important;
}
.entry-gallery__grid.entry-gallery__grid--square-ready .entry-gallery__media{
	display:block!important;
	width:100%!important;
	height:100%!important;
	max-width:none!important;
	border-radius:0!important;
	object-fit:cover!important;
	object-position:center!important;
}
.entry-gallery__grid.entry-gallery__grid--square-ready .entry-gallery__media--video{
	aspect-ratio:auto!important;
}
@media (orientation:portrait), (max-width:900px){
	.entry-gallery__grid.entry-gallery__grid--square-ready{
		grid-template-columns:repeat(2, minmax(0, 1fr))!important;
	}
}


/* v1.0.75 — Correzione reale celle quadrate gallery.
   Il contenitore mantiene la proporzione; il bottone/media sono assoluti
   così l'immagine non torna mai alla propria altezza naturale. */
.entry-gallery__grid.entry-gallery__grid--square-ready{
	display:grid!important;
	grid-template-columns:repeat(var(--entry-gallery-columns, 4), minmax(0, 1fr))!important;
	gap:0!important;
	align-items:stretch!important;
}
.entry-gallery__grid.entry-gallery__grid--square-ready .entry-gallery__item{
	position:relative!important;
	display:block!important;
	width:100%!important;
	height:auto!important;
	min-height:0!important;
	margin:0!important;
	padding:0!important;
	overflow:hidden!important;
	background:#17130f!important;
}
.entry-gallery__grid.entry-gallery__grid--square-ready .entry-gallery__item::before{
	content:""!important;
	display:block!important;
	width:100%!important;
	padding-top:calc(100% / var(--entry-gallery-cell-ratio, 1))!important;
}
.entry-gallery__grid.entry-gallery__grid--square-ready .entry-gallery__trigger{
	position:absolute!important;
	inset:0!important;
	display:block!important;
	width:100%!important;
	height:100%!important;
	min-height:0!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	border-radius:0!important;
	line-height:0!important;
	overflow:hidden!important;
	background:transparent!important;
}
.entry-gallery__grid.entry-gallery__grid--square-ready .entry-gallery__media,
.entry-gallery__grid.entry-gallery__grid--square-ready img.entry-gallery__media,
.entry-gallery__grid.entry-gallery__grid--square-ready video.entry-gallery__media{
	position:absolute!important;
	inset:0!important;
	display:block!important;
	width:100%!important;
	height:100%!important;
	min-width:100%!important;
	min-height:100%!important;
	max-width:none!important;
	max-height:none!important;
	margin:0!important;
	padding:0!important;
	border-radius:0!important;
	object-fit:cover!important;
	object-position:center center!important;
}


/* v1.0.76 — Mobile portrait allineato alla resa desktop.
   La versione verticale non deve diventare una sequenza di card statiche:
   mantiene le scene pinned con avanzamento orizzontale, testi centrati e logo hero centrato. */
@media (max-width: 767px) and (orientation: portrait) {
	:root {
		--container: min(100vw - 32px, 100%);
	}

	.site-header__inner {
		justify-content: center;
		position: relative;
	}

	.site-header__logo {
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
	}

	.site-header__actions {
		margin-left: auto;
	}

	.hero {
		place-items: center;
		text-align: center;
	}

	.hero__content {
		width: var(--container);
		margin-left: auto !important;
		margin-right: auto !important;
		padding: calc(var(--header-height) + 54px) 0 96px !important;
		text-align: center !important;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}

	.hero__logo-wrap {
		width: 100%;
		justify-content: center !important;
		align-items: center;
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center;
	}

	.hero__logo-image {
		margin-left: auto !important;
		margin-right: auto !important;
		max-width: min(250px, 74vw);
		max-height: 160px;
	}

	.hero__eyebrow,
	.hero__title,
	.hero__subtitle {
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center !important;
	}

	.hero__title {
		max-width: 100%;
		font-size: clamp(3.05rem, 15vw, 5rem);
	}

	.hero__subtitle {
		max-width: 29rem;
	}

	.hero__actions {
		justify-content: center !important;
		width: 100%;
		grid-template-columns: 1fr;
	}

	/* Testi principali: blocchi centrati, non solo testo centrato. */
	.manifesto__inner,
	.moments__intro,
	.gelato-focus__content,
	.aperitivo-catalog__intro,
	.menu-online__inner,
	.contacts__inner,
	.home-content__inner,
	.entry__inner,
	.inner-hero__inner {
		width: var(--container) !important;
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center !important;
	}

	.manifesto__title,
	.manifesto__text,
	.moments__title,
	.moments__text,
	.gelato-focus h2,
	.gelato-focus__text,
	.aperitivo-catalog__intro h2,
	.aperitivo-catalog__intro p:not(.section-kicker),
	.menu-online h2,
	.menu-online p,
	.contacts h2,
	.contacts p,
	.inner-hero h1,
	.inner-hero p,
	.entry__content > p,
	.entry__content > h2,
	.entry__content > h3 {
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center !important;
	}

	.gelato-focus__tags,
	.manifesto__words {
		justify-content: center !important;
	}

	/* Ripristino scroll orizzontale anche in portrait. */
	.moments--interactive:not(.is-static),
	.aperitivo-catalog--interactive:not(.is-static) {
		height: var(--horizontal-scroll-height, 300vh) !important;
		padding: 0 !important;
		overflow: visible !important;
	}

	.moments--interactive:not(.is-static) .moments__pin,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__pin {
		position: sticky !important;
		top: 0 !important;
		height: 100vh !important;
		height: 100svh !important;
		overflow: hidden !important;
		padding: 0 !important;
	}

	.moments--interactive:not(.is-static) .moments__viewport,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__viewport {
		width: 100vw !important;
		height: 100vh !important;
		height: 100svh !important;
		overflow: hidden !important;
	}

	.moments--interactive:not(.is-static) .moments__track,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__track {
		width: max-content !important;
		height: 100% !important;
		display: flex !important;
		gap: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		transform: translate3d(0,0,0);
		will-change: transform;
	}

	.moments--interactive:not(.is-static) .moment-card,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-card {
		flex: 0 0 100vw !important;
		width: 100vw !important;
		height: 100vh !important;
		height: 100svh !important;
		min-height: 100svh !important;
		max-height: 100svh !important;
		align-self: stretch !important;
		border: 0 !important;
		border-radius: 0 !important;
		margin: 0 !important;
		display: block !important;
		position: relative !important;
		overflow: hidden !important;
	}

	.moments--interactive:not(.is-static) .moment-card__media,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__image {
		position: absolute !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 0 !important;
		z-index: -2;
	}

	.moments--interactive:not(.is-static) .moment-card__media img,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__image img,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__fallback {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: center !important;
	}

	.moments--interactive:not(.is-static) .moments__intro,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro {
		position: absolute !important;
		z-index: 4;
		left: 50% !important;
		right: auto !important;
		top: max(78px, env(safe-area-inset-top) + 66px) !important;
		width: min(88vw, 440px) !important;
		transform: translateX(-50%);
		margin: 0 !important;
		text-align: center !important;
		pointer-events: none;
	}

	.moments--interactive:not(.is-static) .moments__title,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro h2 {
		font-size: clamp(2.45rem, 12vw, 4.25rem) !important;
		line-height: .92;
		max-width: 100% !important;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro p:not(.section-kicker),
	.moments--interactive:not(.is-static) .moments__text {
		display: block !important;
		font-size: .98rem !important;
		line-height: 1.42;
		max-width: 22rem !important;
		margin-top: 12px !important;
	}

	.moments--interactive:not(.is-static) .moment-card__content,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body {
		position: absolute !important;
		left: 50% !important;
		right: auto !important;
		bottom: max(90px, env(safe-area-inset-bottom) + 78px) !important;
		width: min(88vw, 460px) !important;
		max-width: min(88vw, 460px) !important;
		transform: translateX(-50%);
		padding: 0 !important;
		text-align: center !important;
		display: flex !important;
		flex-direction: column;
		align-items: center;
		justify-content: flex-end;
	}

	.moments--interactive:not(.is-static) .moment-card h3,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item h3 {
		font-size: clamp(3rem, 16vw, 5.25rem) !important;
		line-height: .9;
		max-width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center !important;
	}

	.moments--interactive:not(.is-static) .moment-card p,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item p {
		max-width: 22rem !important;
		font-size: 1rem !important;
		line-height: 1.45 !important;
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center !important;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__toggle,
	.moments--interactive:not(.is-static) .moment-card__link {
		align-self: center !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__scene-nav,
	.moments--interactive:not(.is-static) .moments__scene-nav {
		display: none !important;
	}

	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__progress,
	.moments--interactive:not(.is-static) .moments__progress {
		display: block !important;
		left: 20px !important;
		right: 20px !important;
		bottom: max(18px, env(safe-area-inset-bottom) + 10px) !important;
	}
}


/* v1.0.77 — Mobile portrait reale: header/logo centrati, scene pinned full-screen, gelato background. */
@media (max-width: 767px) and (orientation: portrait) {
  :root { --container: min(100vw - 32px, 100%); --header-height: 72px; }

  .site-header { pointer-events: none; }
  .site-header__inner {
    position: relative !important;
    width: 100% !important;
    min-height: var(--header-height) !important;
    padding: 10px 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .site-header__logo {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate3d(-50%, -50%, 0) !important;
    margin: 0 !important;
    z-index: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: auto !important;
    max-width: calc(100vw - 118px) !important;
    text-align: center !important;
  }
  .site-header__brand { text-align: center !important; }
  .custom-logo,
  .site-header__logo-image { max-height: 48px !important; width: auto !important; margin: 0 auto !important; }
  .site-header__actions {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    pointer-events: auto !important;
  }
  .site-header__toggle { flex: 0 0 48px !important; }

  .hero__content,
  .manifesto__inner,
  .moments__intro,
  .gelato-focus__content,
  .aperitivo-catalog__intro,
  .contacts__inner,
  .footer-cta__inner,
  .menu-online__inner,
  .home-content__inner,
  .home-updates__inner {
    width: var(--container) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    justify-items: center !important;
  }
  .hero__logo-wrap { justify-content: center !important; }
  .hero__logo-image { max-width: min(260px, 72vw) !important; margin: 0 auto !important; }
  .hero__title,
  .hero__subtitle,
  .manifesto__title,
  .manifesto__text,
  .moments__title,
  .moments__text,
  .gelato-focus h2,
  .gelato-focus__text,
  .aperitivo-catalog__intro h2,
  .aperitivo-catalog__intro p:not(.section-kicker),
  .moment-card h3,
  .moment-card p,
  .aperitivo-item h3,
  .aperitivo-item p {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }
  .hero__actions,
  .manifesto__words,
  .gelato-focus__tags { justify-content: center !important; }

  .moments--interactive:not(.is-static),
  .aperitivo-catalog--interactive:not(.is-static) {
    height: var(--horizontal-scroll-height, 300svh) !important;
    min-height: var(--horizontal-scroll-height, 300svh) !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  .moments--interactive:not(.is-static) .moments__pin,
  .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__pin {
    position: sticky !important;
    top: 0 !important;
    width: 100vw !important;
    height: 100svh !important;
    min-height: 100svh !important;
    overflow: hidden !important;
    display: block !important;
  }
  .moments--interactive:not(.is-static) .moments__viewport,
  .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__viewport {
    position: absolute !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100svh !important;
    overflow: hidden !important;
  }
  .moments--interactive:not(.is-static) .moments__track,
  .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__track {
    height: 100svh !important;
    width: max-content !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: none !important;
    transform: translate3d(0,0,0);
    will-change: transform;
  }
  .moments--interactive:not(.is-static) .moment-card,
  .aperitivo-catalog--interactive:not(.is-static) .aperitivo-card {
    flex: 0 0 100vw !important;
    width: 100vw !important;
    height: 100svh !important;
    min-height: 100svh !important;
    max-height: none !important;
    align-self: stretch !important;
    border: 0 !important;
    border-radius: 0 !important;
    transform: none !important;
    overflow: hidden !important;
  }
  .moment-card__media,
  .moment-card__media img,
  .moment-card__fallback,
  .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__image,
  .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__image img,
  .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__fallback {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
  .moments--interactive:not(.is-static) .moments__intro,
  .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro {
    position: absolute !important;
    z-index: 5 !important;
    left: 50% !important;
    top: calc(var(--header-height) + 18px) !important;
    transform: translateX(-50%) !important;
    width: min(88vw, 420px) !important;
    margin: 0 !important;
    text-align: center !important;
    pointer-events: none !important;
  }
  .moments--interactive:not(.is-static) .moments__title,
  .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro h2 {
    font-size: clamp(2.35rem, 12vw, 4.1rem) !important;
    line-height: .92 !important;
  }
  .moments--interactive:not(.is-static) .moments__text,
  .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro p:not(.section-kicker) {
    display: none !important;
  }
  .moments--interactive:not(.is-static) .moment-card__content,
  .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    bottom: max(92px, env(safe-area-inset-bottom) + 82px) !important;
    transform: translateX(-50%) !important;
    width: min(86vw, 430px) !important;
    max-width: min(86vw, 430px) !important;
    padding: 0 !important;
    text-align: center !important;
    display: block !important;
  }
  .moments--interactive:not(.is-static) .moment-card h3,
  .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item h3 {
    font-size: clamp(3rem, 15vw, 5.2rem) !important;
    line-height: .9 !important;
    max-width: 100% !important;
  }
  .moments--interactive:not(.is-static) .moment-card p,
  .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item p {
    font-size: .98rem !important;
    line-height: 1.45 !important;
    max-width: 320px !important;
  }
  .moment-card__link,
  .aperitivo-item__toggle { align-self: center !important; margin-left: auto !important; margin-right: auto !important; }
  .moments--interactive:not(.is-static) .moments__progress,
  .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__progress {
    display: block !important;
    left: 18px !important;
    right: 18px !important;
    bottom: max(10px, env(safe-area-inset-bottom) + 8px) !important;
  }
  .moments--interactive:not(.is-static) .moments__scene-nav,
  .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__scene-nav { display: none !important; }

  .gelato-focus {
    min-height: 150svh !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  .gelato-focus__sticky {
    position: sticky !important;
    top: 0 !important;
    height: 100svh !important;
    min-height: 100svh !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
  }
  .gelato-focus__media,
  .gelato-focus__media img,
  .gelato-focus__fallback,
  .gelato-focus__overlay {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }
  .gelato-focus__media img { object-fit: cover !important; object-position: center !important; }
  .gelato-focus__overlay { background: linear-gradient(180deg, rgba(17,16,13,.55), rgba(17,16,13,.42), rgba(17,16,13,.76)) !important; }
  .gelato-focus__content {
    position: relative !important;
    z-index: 2 !important;
    width: min(86vw, 430px) !important;
    padding: calc(var(--header-height) + 20px) 0 max(42px, env(safe-area-inset-bottom) + 32px) !important;
    text-align: center !important;
  }
  .gelato-focus h2 { font-size: clamp(3rem, 15vw, 5.4rem) !important; line-height: .9 !important; }
  .gelato-focus__text { font-size: 1rem !important; line-height: 1.48 !important; max-width: 340px !important; }
  .gelato-focus__tags { margin: 28px auto 26px !important; justify-content: center !important; gap: 8px !important; }
  .gelato-focus__tags li { padding: 9px 13px !important; font-size: .86rem !important; }
}

/* v1.0.78 — Mobile portrait reset chirurgico: header coerente e scroll orizzontale pinned reale. */
@media (max-width: 767px) and (orientation: portrait) {
	:root { --header-height: 72px; --container: min(calc(100vw - 32px), 100%); }

	.site-header {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		width: 100vw !important;
		height: var(--header-height) !important;
		z-index: 100 !important;
		pointer-events: none !important;
	}
	.site-header__inner {
		position: relative !important;
		width: 100vw !important;
		max-width: none !important;
		min-height: var(--header-height) !important;
		height: var(--header-height) !important;
		margin: 0 !important;
		padding: 0 !important;
		display: block !important;
	}
	.site-header__actions {
		position: absolute !important;
		top: 12px !important;
		right: max(10px, env(safe-area-inset-right) + 8px) !important;
		width: auto !important;
		height: 48px !important;
		margin: 0 !important;
		display: block !important;
		z-index: 3 !important;
		pointer-events: auto !important;
	}
	.site-header__toggle {
		width: 48px !important;
		height: 48px !important;
		margin: 0 !important;
	}
	.site-header__logo {
		position: absolute !important;
		top: 12px !important;
		left: max(14px, env(safe-area-inset-left) + 12px) !important;
		right: auto !important;
		width: auto !important;
		max-width: calc(100vw - 92px) !important;
		height: 48px !important;
		margin: 0 !important;
		transform: none !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		text-align: left !important;
		z-index: 2 !important;
		pointer-events: auto !important;
	}
	body.home:not(.bgig-hero-passed) .site-header__logo {
		opacity: 0 !important;
		visibility: hidden !important;
		transform: translate3d(-12px, 0, 0) !important;
	}
	body.home.bgig-hero-passed .site-header__logo,
	body:not(.home) .site-header__logo {
		opacity: 1 !important;
		visibility: visible !important;
		transform: translate3d(0, 0, 0) !important;
	}
	.custom-logo,
	.site-header__logo-image {
		max-height: 48px !important;
		width: auto !important;
		margin: 0 !important;
	}
	.site-header__brand {
		font-size: .84rem !important;
		line-height: 1 !important;
		text-align: left !important;
	}

	.hero__content {
		width: var(--container) !important;
		margin: 0 auto !important;
		padding: calc(var(--header-height) + 32px) 0 96px !important;
		text-align: center !important;
	}
	.hero__logo-wrap { justify-content: center !important; }
	.hero__title,
	.hero__subtitle { margin-left: auto !important; margin-right: auto !important; text-align: center !important; }
	.hero__actions { justify-content: center !important; }

	.moments--interactive:not(.is-static),
	.aperitivo-catalog--interactive:not(.is-static) {
		position: relative !important;
		height: var(--horizontal-scroll-height, 400svh) !important;
		min-height: var(--horizontal-scroll-height, 400svh) !important;
		padding: 0 !important;
		margin: 0 !important;
		overflow: visible !important;
	}
	.moments--interactive:not(.is-static) .moments__pin,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__pin {
		position: sticky !important;
		top: 0 !important;
		left: 0 !important;
		width: 100vw !important;
		height: 100vh !important;
		height: 100svh !important;
		min-height: 100svh !important;
		padding: 0 !important;
		margin: 0 !important;
		overflow: hidden !important;
		background: var(--color-black-soft) !important;
	}
	.moments--interactive:not(.is-static) .moments__viewport,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__viewport {
		position: absolute !important;
		inset: 0 !important;
		width: 100vw !important;
		height: 100svh !important;
		padding: 0 !important;
		margin: 0 !important;
		overflow: hidden !important;
	}
	.moments--interactive:not(.is-static) .moments__track,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__track {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		gap: 0 !important;
		width: max-content !important;
		max-width: none !important;
		height: 100svh !important;
		padding: 0 !important;
		margin: 0 !important;
		will-change: transform !important;
	}
	.moments--interactive:not(.is-static) .moment-card,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-card {
		position: relative !important;
		flex: 0 0 100vw !important;
		width: 100vw !important;
		height: 100svh !important;
		min-width: 100vw !important;
		min-height: 100svh !important;
		max-width: none !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		align-self: stretch !important;
		overflow: hidden !important;
		transform: none !important;
	}
	.moments--interactive:not(.is-static) .moment-card__media,
	.moments--interactive:not(.is-static) .moment-card__media img,
	.moments--interactive:not(.is-static) .moment-card__fallback,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__image,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__image img,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__fallback {
		position: absolute !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: center !important;
	}
	.moments--interactive:not(.is-static) .moment-card::after,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-card::after {
		content: "" !important;
		position: absolute !important;
		inset: 0 !important;
		z-index: -1 !important;
		background: linear-gradient(180deg, rgba(17,16,13,.18), rgba(17,16,13,.38), rgba(17,16,13,.82)) !important;
		pointer-events: none !important;
	}
	.moments--interactive:not(.is-static) .moments__intro,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro {
		position: absolute !important;
		z-index: 5 !important;
		left: 50% !important;
		top: calc(var(--header-height) + 18px) !important;
		transform: translate3d(-50%,0,0) !important;
		width: min(88vw, 430px) !important;
		max-width: min(88vw, 430px) !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: center !important;
		pointer-events: none !important;
	}
	.moments--interactive:not(.is-static) .moments__text,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro p:not(.section-kicker) { display: none !important; }
	.moments--interactive:not(.is-static) .moment-card__content,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body {
		position: absolute !important;
		z-index: 4 !important;
		left: 50% !important;
		top: 54% !important;
		right: auto !important;
		bottom: auto !important;
		transform: translate3d(-50%, -50%, 0) !important;
		width: min(86vw, 420px) !important;
		max-width: min(86vw, 420px) !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: center !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
	}
	.moments--interactive:not(.is-static) .moment-card h3,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item h3 {
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center !important;
		font-size: clamp(3rem, 15vw, 5.1rem) !important;
		line-height: .9 !important;
	}
	.moments--interactive:not(.is-static) .moment-card p,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item p {
		margin-left: auto !important;
		margin-right: auto !important;
		max-width: 320px !important;
		text-align: center !important;
	}
	.moments--interactive:not(.is-static) .moments__scene-nav,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__scene-nav { display: none !important; }
	.moments--interactive:not(.is-static) .moments__progress,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__progress {
		display: block !important;
		position: absolute !important;
		left: 18px !important;
		right: 18px !important;
		bottom: max(8px, env(safe-area-inset-bottom) + 8px) !important;
		z-index: 8 !important;
	}
}

/* v1.0.79 — Mobile portrait: ripristino funzionamento base v1.0.40.
   Desktop lasciato invariato. Qui si riallineano header mobile, Momenti, Gelateria e Aperitivo
   al comportamento portrait che funzionava nella release fornita come riferimento. */
@media (max-width: 767px) and (orientation: portrait) {
	:root { --header-height: 72px; --container: min(100vw - 28px, 100%); }

	.site-header { top: 0 !important; left: 0 !important; right: 0 !important; width: 100% !important; pointer-events: none !important; }
	.site-header__inner {
		width: 100% !important;
		min-height: var(--header-height) !important;
		margin: 0 !important;
		padding: 0 14px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 0 !important;
		pointer-events: auto !important;
	}
	.site-header__logo {
		position: static !important;
		margin: 0 !important;
		transform: none !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		max-width: 46vw !important;
	}
	.site-header__brand { display: none !important; }
	.custom-logo, .site-header__logo-image { max-height: 42px !important; width: auto !important; height: auto !important; }
	.site-header__actions { margin-left: auto !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; }
	.site-header__toggle { width: 46px !important; height: 46px !important; margin: 0 !important; transform: none !important; }
	.site-header__menu-link { display: none !important; }

	.hero__content { width: var(--container) !important; margin: 0 auto !important; text-align: center !important; padding-left: 0 !important; padding-right: 0 !important; }
	.hero__logo-wrap { justify-content: center !important; text-align: center !important; }
	.hero__title, .hero__subtitle { margin-left: auto !important; margin-right: auto !important; text-align: center !important; }
	.hero__actions { justify-content: center !important; }
}

@media (max-width: 767px) and (orientation: portrait) {
	.moments--interactive:not(.is-static) {
		height: var(--horizontal-scroll-height, 300vh) !important;
		padding: 0 !important;
		overflow: visible !important;
		background: var(--color-black-soft) !important;
	}
	.moments--interactive:not(.is-static) .moments__pin {
		position: sticky !important;
		top: 0 !important;
		height: 100vh !important;
		height: 100svh !important;
		padding: 0 !important;
		overflow: hidden !important;
		display: block !important;
		background: var(--color-black-soft) !important;
	}
	.moments--interactive:not(.is-static) .moments__intro {
		position: absolute !important;
		z-index: 4 !important;
		left: 18px !important;
		right: 18px !important;
		top: 78px !important;
		width: auto !important;
		margin: 0 !important;
		text-align: center !important;
		pointer-events: none !important;
		text-shadow: 0 12px 40px rgba(0,0,0,.45) !important;
	}
	.moments--interactive:not(.is-static) .moments__title {
		max-width: none !important;
		margin-left: auto !important;
		margin-right: auto !important;
		font-size: clamp(2.6rem, 14vw, 4.8rem) !important;
		text-align: center !important;
	}
	.moments--interactive:not(.is-static) .moments__text { display: none !important; }
	.moments--interactive:not(.is-static) .moments__viewport {
		position: relative !important;
		width: 100vw !important;
		height: 100vh !important;
		height: 100svh !important;
		overflow: hidden !important;
		display: block !important;
	}
	.moments--interactive:not(.is-static) .moments__track {
		width: max-content !important;
		height: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		display: flex !important;
		gap: 0 !important;
		will-change: transform !important;
		transform: translate3d(0,0,0);
	}
	.moments--interactive:not(.is-static) .moment-card {
		position: relative !important;
		flex: 0 0 100vw !important;
		width: 100vw !important;
		height: 100svh !important;
		min-height: 100svh !important;
		max-height: 100svh !important;
		align-self: center !important;
		border-radius: 0 !important;
		border: 0 !important;
		transform: none !important;
		margin: 0 !important;
		overflow: hidden !important;
	}
	.moments--interactive:not(.is-static) .moment-card__media,
	.moments--interactive:not(.is-static) .moment-card__media img,
	.moments--interactive:not(.is-static) .moment-card__fallback {
		position: absolute !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
	}
	.moments--interactive:not(.is-static) .moment-card__content {
		position: absolute !important;
		left: 22px !important;
		right: 22px !important;
		bottom: max(116px, env(safe-area-inset-bottom) + 104px) !important;
		max-width: none !important;
		margin: 0 auto !important;
		padding: 0 !important;
		text-align: center !important;
		display: block !important;
	}
	.moments--interactive:not(.is-static) .moment-card h3 {
		font-size: clamp(3.6rem, 18vw, 6.6rem) !important;
		max-width: none !important;
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center !important;
	}
	.moments--interactive:not(.is-static) .moment-card p {
		max-width: 92vw !important;
		margin-left: auto !important;
		margin-right: auto !important;
		font-size: 1rem !important;
		text-align: center !important;
	}
	.moments--interactive:not(.is-static) .moment-card__link { margin-left: auto !important; margin-right: auto !important; }
	.moments--interactive:not(.is-static) .moments__progress {
		left: 18px !important;
		right: 18px !important;
		bottom: max(4px, env(safe-area-inset-bottom) + 4px) !important;
		display: block !important;
	}
}

@media (max-width: 767px) and (orientation: portrait) {
	.gelato-focus { position: relative !important; padding: 0 !important; min-height: 100vh !important; min-height: 100svh !important; overflow: hidden !important; }
	.gelato-focus__sticky { position: relative !important; min-height: 100vh !important; min-height: 100svh !important; display: grid !important; place-items: center !important; padding: 92px 22px 84px !important; overflow: hidden !important; }
	.gelato-focus__media, .gelato-focus__media img, .gelato-focus__fallback, .gelato-focus__overlay { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; }
	.gelato-focus__media img { object-fit: cover !important; }
	.gelato-focus__content { position: relative !important; z-index: 2 !important; width: min(100%, 620px) !important; margin: 0 auto !important; text-align: center !important; color: var(--color-cream-soft) !important; }
	.gelato-focus h2, .gelato-focus__text { margin-left: auto !important; margin-right: auto !important; text-align: center !important; }
	.gelato-focus__tags { justify-content: center !important; padding-left: 0 !important; }
}

@media (max-width: 767px) and (orientation: portrait) {
	.aperitivo-catalog--interactive:not(.is-static) {
		height: var(--horizontal-scroll-height, 300vh) !important;
		padding: 0 !important;
		overflow: visible !important;
		background: var(--color-black-soft) !important;
	}
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__pin {
		position: sticky !important;
		top: 0 !important;
		height: 100vh !important;
		height: 100svh !important;
		padding: 0 !important;
		overflow: hidden !important;
		display: block !important;
		background: var(--color-black-soft) !important;
	}
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro {
		position: absolute !important;
		z-index: 4 !important;
		left: 18px !important;
		right: 18px !important;
		top: 78px !important;
		width: auto !important;
		margin: 0 !important;
		text-align: center !important;
		pointer-events: none !important;
		text-shadow: 0 12px 40px rgba(0,0,0,.45) !important;
	}
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro h2 {
		max-width: none !important;
		margin-left: auto !important;
		margin-right: auto !important;
		font-size: clamp(2.6rem, 14vw, 4.8rem) !important;
		text-align: center !important;
	}
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro p:not(.section-kicker) { display: none !important; }
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__viewport {
		position: relative !important;
		width: 100vw !important;
		height: 100vh !important;
		height: 100svh !important;
		overflow: hidden !important;
		display: block !important;
	}
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__track {
		width: max-content !important;
		height: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		display: flex !important;
		gap: 0 !important;
		will-change: transform !important;
		transform: translate3d(0,0,0);
	}
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-card {
		position: relative !important;
		flex: 0 0 100vw !important;
		width: 100vw !important;
		height: 100svh !important;
		min-height: 100svh !important;
		max-height: 100svh !important;
		align-self: center !important;
		border-radius: 0 !important;
		border: 0 !important;
		margin: 0 !important;
		display: block !important;
		isolation: isolate !important;
		background: var(--color-black) !important;
		overflow: hidden !important;
	}
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__image {
		position: absolute !important;
		inset: 0 !important;
		min-height: 0 !important;
		width: 100% !important;
		height: 100% !important;
		z-index: -2 !important;
	}
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__image img,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__fallback {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
	}
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body {
		position: absolute !important;
		left: 22px !important;
		right: 22px !important;
		bottom: max(116px, env(safe-area-inset-bottom) + 104px) !important;
		max-width: none !important;
		margin: 0 auto !important;
		padding: 0 !important;
		text-align: center !important;
		display: block !important;
	}
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item h3 {
		font-size: clamp(3.6rem, 18vw, 6.6rem) !important;
		max-width: none !important;
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center !important;
	}
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item p {
		max-width: 92vw !important;
		margin-left: auto !important;
		margin-right: auto !important;
		font-size: 1rem !important;
		text-align: center !important;
	}
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__toggle { margin-left: auto !important; margin-right: auto !important; }
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__progress {
		left: 18px !important;
		right: 18px !important;
		bottom: max(4px, env(safe-area-inset-bottom) + 4px) !important;
		display: block !important;
	}
}

/* v1.0.85 — final mobile safety overrides: responsive uppercase and centered containers only in portrait */
@media (max-width: 767px) and (orientation: portrait) {
	.site-branding,
	.hero__content,
	.home-updates__inner,
	.story-intro__inner,
	.manifesto__inner,
	.moments__intro,
	.moment-card__content,
	.gelato-focus__content,
	.aperitivo-catalog__intro,
	.aperitivo-card__content,
	.drink-list__inner,
	.contacts__inner,
	.site-footer__inner {
		margin-left:auto !important;
		margin-right:auto !important;
		text-align:center !important;
	}

	.home-updates__intro h2,
	.story-intro h2,
	.manifesto h2,
	.moments__title,
	.moment-card h3,
	.gelato-focus h2,
	.aperitivo-catalog__intro h2,
	.aperitivo-card h3,
	.drink-list h2,
	.drink-card h3,
	.entry__title,
	.page-title,
	.archive-title {
		text-transform:uppercase !important;
		text-align:center !important;
		font-size:clamp(2.05rem, 11vw, 4.2rem) !important;
		line-height:.9 !important;
		letter-spacing:-.055em !important;
		max-width:100% !important;
		overflow-wrap:anywhere !important;
	}

	/* Header mobile: logo left, hamburger right, same vertical line. */
	.site-header .site-branding,
	.site-header.is-scrolled .site-branding {
		position:fixed !important;
		left:max(14px, env(safe-area-inset-left) + 14px) !important;
		top:max(14px, env(safe-area-inset-top) + 14px) !important;
		transform:none !important;
		z-index:10020 !important;
	}
	.menu-toggle,
	.site-header .menu-toggle {
		position:fixed !important;
		right:max(10px, env(safe-area-inset-right) + 10px) !important;
		top:max(14px, env(safe-area-inset-top) + 14px) !important;
		z-index:10030 !important;
	}

	/* Pinned horizontal sections: force phone scroll to drive horizontal scenes. */
	.moments,
	.aperitivo-catalog {
		position:relative !important;
		overflow:visible !important;
	}
	.moments__sticky,
	.aperitivo-catalog__sticky,
	.moments__viewport,
	.aperitivo-catalog__viewport {
		position:sticky !important;
		top:0 !important;
		height:100svh !important;
		min-height:100svh !important;
		overflow:hidden !important;
	}
	.moments__track,
	.aperitivo-catalog__track {
		display:flex !important;
		flex-wrap:nowrap !important;
		height:100% !important;
		will-change:transform !important;
	}
	.moment-card,
	.aperitivo-card,
	.aperitivo-item {
		flex:0 0 100vw !important;
		width:100vw !important;
		height:100svh !important;
		min-height:100svh !important;
		position:relative !important;
		overflow:hidden !important;
	}
	.moment-card__image,
	.moment-card__media,
	.aperitivo-card__image,
	.aperitivo-card__media,
	.gelato-focus__media {
		position:absolute !important;
		inset:0 !important;
		width:100% !important;
		height:100% !important;
		z-index:0 !important;
	}
	.moment-card img,
	.aperitivo-card img,
	.gelato-focus img {
		width:100% !important;
		height:100% !important;
		object-fit:cover !important;
		object-position:center !important;
	}
	.moment-card__content,
	.aperitivo-card__content,
	.gelato-focus__content {
		position:relative !important;
		z-index:2 !important;
		left:auto !important;
		right:auto !important;
		top:auto !important;
		bottom:auto !important;
		width:min(88vw, 420px) !important;
		margin:0 auto !important;
		min-height:100svh !important;
		display:flex !important;
		flex-direction:column !important;
		align-items:center !important;
		justify-content:center !important;
		text-align:center !important;
		padding:88px 18px 72px !important;
	}

	.gelato-focus {
		position:relative !important;
		min-height:100svh !important;
		overflow:hidden !important;
		display:block !important;
	}
}


/* v1.0.86 — MOBILE ONLY: ripristino reale scroll orizzontale Momenti/Aperitivo.
   Desktop intoccato. Questa patch annulla gli override mobile generici della 1.0.85
   che rompevano le sezioni pinned mettendo i contenuti in relative/flex verticali. */
@media (max-width: 767px) and (orientation: portrait) {
	.moments--interactive:not(.is-static),
	.aperitivo-catalog--interactive:not(.is-static) {
		position: relative !important;
		height: var(--horizontal-scroll-height, 300vh) !important;
		min-height: var(--horizontal-scroll-height, 300vh) !important;
		padding: 0 !important;
		margin: 0 !important;
		overflow: visible !important;
	}

	.moments--interactive:not(.is-static) .moments__pin,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__pin {
		position: sticky !important;
		top: 0 !important;
		left: 0 !important;
		width: 100vw !important;
		height: 100vh !important;
		height: 100svh !important;
		min-height: 100svh !important;
		padding: 0 !important;
		margin: 0 !important;
		overflow: hidden !important;
		display: block !important;
		background: var(--color-black-soft) !important;
	}

	.moments--interactive:not(.is-static) .moments__viewport,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__viewport {
		position: relative !important;
		width: 100vw !important;
		height: 100vh !important;
		height: 100svh !important;
		min-height: 100svh !important;
		padding: 0 !important;
		margin: 0 !important;
		overflow: hidden !important;
		display: block !important;
		max-width: none !important;
	}

	.moments--interactive:not(.is-static) .moments__track,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__track {
		position: relative !important;
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		width: max-content !important;
		max-width: none !important;
		height: 100% !important;
		min-height: 100svh !important;
		padding: 0 !important;
		margin: 0 !important;
		gap: 0 !important;
		will-change: transform !important;
		transform: translate3d(0,0,0);
		transition: none !important;
	}

	.moments--interactive:not(.is-static) .moment-card,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-card,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item {
		position: relative !important;
		flex: 0 0 100vw !important;
		width: 100vw !important;
		min-width: 100vw !important;
		max-width: 100vw !important;
		height: 100vh !important;
		height: 100svh !important;
		min-height: 100svh !important;
		max-height: 100svh !important;
		padding: 0 !important;
		margin: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		overflow: hidden !important;
		transform: none !important;
		display: block !important;
		isolation: isolate !important;
	}

	.moments--interactive:not(.is-static) .moment-card__media,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__image {
		position: absolute !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 0 !important;
		z-index: -2 !important;
	}

	.moments--interactive:not(.is-static) .moment-card__media img,
	.moments--interactive:not(.is-static) .moment-card__fallback,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__image img,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__fallback {
		position: absolute !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: center center !important;
	}

	.moments--interactive:not(.is-static) .moments__intro,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro {
		position: absolute !important;
		z-index: 5 !important;
		left: 18px !important;
		right: 18px !important;
		top: 78px !important;
		width: auto !important;
		max-width: none !important;
		margin: 0 auto !important;
		padding: 0 !important;
		text-align: center !important;
		pointer-events: none !important;
		text-shadow: 0 12px 40px rgba(0,0,0,.45) !important;
	}

	.moments--interactive:not(.is-static) .moments__text,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro p:not(.section-kicker) {
		display: none !important;
	}

	.moments--interactive:not(.is-static) .moment-card__content,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body {
		position: absolute !important;
		z-index: 4 !important;
		left: 22px !important;
		right: 22px !important;
		top: auto !important;
		bottom: max(116px, env(safe-area-inset-bottom) + 104px) !important;
		width: auto !important;
		max-width: none !important;
		min-height: 0 !important;
		height: auto !important;
		margin: 0 auto !important;
		padding: 0 !important;
		display: block !important;
		text-align: center !important;
	}

	.moments--interactive:not(.is-static) .moment-card h3,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item h3 {
		margin-left: auto !important;
		margin-right: auto !important;
		max-width: none !important;
		font-size: clamp(3.2rem, 16vw, 6.2rem) !important;
		line-height: .88 !important;
		text-align: center !important;
		text-transform: uppercase !important;
	}

	.moments--interactive:not(.is-static) .moment-card p,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item p {
		max-width: 92vw !important;
		margin-left: auto !important;
		margin-right: auto !important;
		font-size: 1rem !important;
		text-align: center !important;
	}

	.moments--interactive:not(.is-static) .moment-card__link,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__toggle {
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.moments--interactive:not(.is-static) .moments__progress,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__progress {
		position: absolute !important;
		z-index: 7 !important;
		left: 18px !important;
		right: 18px !important;
		bottom: max(4px, env(safe-area-inset-bottom) + 4px) !important;
		display: block !important;
	}
}

/* v1.0.88 — MOBILE PORTRAIT ONLY: scroll verticale convertito in avanzamento orizzontale.
   Desktop non toccato. Vale solo per Momenti della giornata e Aperitivo. */
@media (max-width: 767px) and (orientation: portrait) {
	.moments--interactive:not(.is-static),
	.aperitivo-catalog--interactive:not(.is-static) {
		position: relative !important;
		height: var(--horizontal-scroll-height, 300vh) !important;
		min-height: var(--horizontal-scroll-height, 300vh) !important;
		padding: 0 !important;
		margin: 0 !important;
		overflow: visible !important;
	}

	.moments--interactive:not(.is-static) .moments__pin,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__pin {
		position: sticky !important;
		top: 0 !important;
		left: 0 !important;
		width: 100vw !important;
		height: 100vh !important;
		height: 100svh !important;
		height: 100dvh !important;
		min-height: 100vh !important;
		min-height: 100svh !important;
		min-height: 100dvh !important;
		padding: 0 !important;
		margin: 0 !important;
		overflow: hidden !important;
		display: block !important;
		background: var(--color-black-soft, #080706) !important;
	}

	.moments--interactive:not(.is-static) .moments__viewport,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__viewport {
		position: absolute !important;
		inset: 0 !important;
		width: 100vw !important;
		height: 100% !important;
		max-width: none !important;
		padding: 0 !important;
		margin: 0 !important;
		overflow: hidden !important;
		display: block !important;
	}

	.moments--interactive:not(.is-static) .moments__track,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__track {
		position: absolute !important;
		left: 0 !important;
		top: 0 !important;
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		height: 100% !important;
		min-height: 100% !important;
		width: max-content !important;
		max-width: none !important;
		gap: 0 !important;
		padding: 0 !important;
		margin: 0 !important;
		will-change: transform !important;
		transition: none !important;
		touch-action: pan-y !important;
	}

	.moments--interactive:not(.is-static) .moment-card,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-card,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item {
		position: relative !important;
		flex: 0 0 100vw !important;
		width: 100vw !important;
		min-width: 100vw !important;
		max-width: 100vw !important;
		height: 100% !important;
		min-height: 100% !important;
		max-height: none !important;
		padding: 0 !important;
		margin: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		overflow: hidden !important;
		transform: none !important;
		display: block !important;
		isolation: isolate !important;
	}

	.moments--interactive:not(.is-static) .moment-card__media,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__image {
		position: absolute !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 0 !important;
		z-index: -2 !important;
	}

	.moments--interactive:not(.is-static) .moment-card__media img,
	.moments--interactive:not(.is-static) .moment-card__fallback,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__image img,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__fallback {
		position: absolute !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: center center !important;
	}

	.moments--interactive:not(.is-static) .moments__intro,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro {
		position: absolute !important;
		z-index: 6 !important;
		left: 18px !important;
		right: 18px !important;
		top: 76px !important;
		width: auto !important;
		max-width: none !important;
		margin: 0 auto !important;
		padding: 0 !important;
		text-align: center !important;
		pointer-events: none !important;
	}

	.moments--interactive:not(.is-static) .moments__text,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro p:not(.section-kicker) {
		display: none !important;
	}

	.moments--interactive:not(.is-static) .moment-card__content,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body {
		position: absolute !important;
		z-index: 5 !important;
		left: 22px !important;
		right: 22px !important;
		top: auto !important;
		bottom: max(108px, env(safe-area-inset-bottom) + 96px) !important;
		width: auto !important;
		max-width: none !important;
		min-height: 0 !important;
		height: auto !important;
		margin: 0 auto !important;
		padding: 0 !important;
		display: block !important;
		text-align: center !important;
	}

	.moments--interactive:not(.is-static) .moment-card h3,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item h3 {
		margin: 0 auto .75rem !important;
		max-width: 92vw !important;
		font-size: clamp(3rem, 15vw, 5.9rem) !important;
		line-height: .88 !important;
		text-align: center !important;
		text-transform: uppercase !important;
	}

	.moments--interactive:not(.is-static) .moment-card p,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item p {
		max-width: 88vw !important;
		margin-left: auto !important;
		margin-right: auto !important;
		font-size: .98rem !important;
		line-height: 1.45 !important;
		text-align: center !important;
	}

	.moments--interactive:not(.is-static) .moments__progress,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__progress {
		position: absolute !important;
		z-index: 8 !important;
		left: 18px !important;
		right: 18px !important;
		bottom: max(6px, env(safe-area-inset-bottom) + 6px) !important;
		display: block !important;
	}
}

/* v1.0.89 — MOBILE PORTRAIT REBUILD ONLY
   Desktop e mobile landscape restano fuori da questo blocco.
   Obiettivo: scroll verticale che pilota il movimento orizzontale per
   Momenti della giornata e Aperitivo, con contenuto centrato nelle schede. */
@media (max-width: 767px) and (orientation: portrait) {
	body.home .moments--interactive:not(.is-static),
	body.home .aperitivo-catalog--interactive:not(.is-static) {
		position: relative !important;
		height: var(--pxl-mobile-horizontal-height, 300svh) !important;
		min-height: var(--pxl-mobile-horizontal-height, 300svh) !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: visible !important;
		contain: none !important;
		isolation: auto !important;
	}

	body.home .moments--interactive:not(.is-static) .moments__pin,
	body.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__pin {
		position: sticky !important;
		top: 0 !important;
		left: 0 !important;
		width: 100vw !important;
		height: 100svh !important;
		min-height: 100svh !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
		transform: none !important;
		display: block !important;
	}

	body.home .moments--interactive:not(.is-static) .moments__intro,
	body.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro {
		position: absolute !important;
		z-index: 8 !important;
		top: clamp(72px, 12svh, 110px) !important;
		left: 50% !important;
		width: min(86vw, 420px) !important;
		max-width: 86vw !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: center !important;
		transform: translate3d(-50%, 0, 0) !important;
		pointer-events: none !important;
	}

	body.home .moments--interactive:not(.is-static) .moments__intro .section-kicker,
	body.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro .section-kicker,
	body.home .moments--interactive:not(.is-static) .moments__title,
	body.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro h2 {
		text-align: center !important;
		text-transform: uppercase !important;
	}

	body.home .moments--interactive:not(.is-static) .moments__title,
	body.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro h2 {
		font-size: clamp(2rem, 12vw, 4.1rem) !important;
		line-height: .86 !important;
		letter-spacing: -.055em !important;
	}

	body.home .moments--interactive:not(.is-static) .moments__text,
	body.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro p:not(.section-kicker) {
		max-width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center !important;
		font-size: clamp(.88rem, 3.8vw, 1rem) !important;
		line-height: 1.35 !important;
	}

	body.home .moments--interactive:not(.is-static) .moments__viewport,
	body.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__viewport {
		position: absolute !important;
		inset: 0 !important;
		width: 100vw !important;
		height: 100svh !important;
		min-height: 100svh !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
		transform: none !important;
	}

	body.home .moments--interactive:not(.is-static) .moments__track,
	body.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__track {
		position: absolute !important;
		top: 0 !important;
		left: 0 !important;
		height: 100svh !important;
		min-height: 100svh !important;
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		gap: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		will-change: transform !important;
		transition: none !important;
	}

	body.home .moments--interactive:not(.is-static) .moment-card,
	body.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-card,
	body.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item {
		position: relative !important;
		width: 100vw !important;
		min-width: 100vw !important;
		max-width: 100vw !important;
		flex: 0 0 100vw !important;
		height: 100svh !important;
		min-height: 100svh !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
		border-radius: 0 !important;
		transform: none !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		background: #111 !important;
	}

	body.home .moments--interactive:not(.is-static) .moment-card__media,
	body.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__image {
		position: absolute !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		z-index: 0 !important;
		overflow: hidden !important;
		border-radius: 0 !important;
	}

	body.home .moments--interactive:not(.is-static) .moment-card__media img,
	body.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__image img {
		position: absolute !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		max-width: none !important;
		max-height: none !important;
		object-fit: cover !important;
		object-position: center center !important;
		transform: none !important;
	}

	body.home .moments--interactive:not(.is-static) .moment-card::after,
	body.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-card::after {
		content: "" !important;
		position: absolute !important;
		inset: 0 !important;
		z-index: 1 !important;
		background: linear-gradient(180deg, rgba(0,0,0,.22), rgba(0,0,0,.38) 48%, rgba(0,0,0,.54)) !important;
		pointer-events: none !important;
	}

	body.home .moments--interactive:not(.is-static) .moment-card__content,
	body.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body {
		position: relative !important;
		z-index: 3 !important;
		width: min(84vw, 420px) !important;
		max-width: 84vw !important;
		margin: 0 auto !important;
		padding: clamp(1.1rem, 6vw, 2.1rem) !important;
		text-align: center !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		gap: .75rem !important;
		min-height: 100svh !important;
		transform: none !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	body.home .moments--interactive:not(.is-static) .moment-card__content h3,
	body.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body h3 {
		margin: 0 auto !important;
		text-align: center !important;
		text-transform: uppercase !important;
		font-size: clamp(2.45rem, 15vw, 5rem) !important;
		line-height: .82 !important;
		letter-spacing: -.06em !important;
		max-width: 100% !important;
	}

	body.home .moments--interactive:not(.is-static) .moment-card__content p,
	body.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body p {
		margin: 0 auto !important;
		max-width: 32ch !important;
		text-align: center !important;
		font-size: clamp(.98rem, 4vw, 1.12rem) !important;
		line-height: 1.35 !important;
	}

	body.home .moments--interactive:not(.is-static) .moment-card__link,
	body.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__toggle,
	body.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body .button {
		align-self: center !important;
		margin: .25rem auto 0 !important;
	}

	body.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__number,
	body.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__scene-nav,
	body.home .moments--interactive:not(.is-static) .moments__scene-nav {
		display: none !important;
	}

	body.home .moments--interactive:not(.is-static) .moments__progress,
	body.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__progress {
		position: absolute !important;
		z-index: 12 !important;
		left: 8vw !important;
		right: 8vw !important;
		bottom: max(20px, env(safe-area-inset-bottom)) !important;
		height: 2px !important;
		margin: 0 !important;
		background: rgba(255,255,255,.32) !important;
	}
}


/* === v1.0.94 MOBILE PORTRAIT HORIZONTAL SCROLL — CLEAN FINAL OVERRIDE ===
   Scope: solo mobile portrait. Desktop e landscape non vengono toccati. */
@media (max-width: 900px) and (orientation: portrait) {
	.moments--interactive:not(.is-static),
	.aperitivo-catalog--interactive:not(.is-static) {
		position: relative !important;
		width: 100% !important;
		min-height: var(--bgig-portrait-scroll-height, 100svh) !important;
		height: var(--bgig-portrait-scroll-height, 100svh) !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: visible !important;
		background: #11100d !important;
		color: var(--color-cream-soft, #fff8ef) !important;
	}

	.moments--interactive:not(.is-static) .moments__pin,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__pin {
		position: sticky !important;
		top: 0 !important;
		left: 0 !important;
		width: 100vw !important;
		height: 100svh !important;
		min-height: 100svh !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
		background: #11100d !important;
		isolation: isolate !important;
	}

	.moments--interactive:not(.is-static) .moments__intro,
	.moments--interactive:not(.is-static) .moments__scene-nav,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__intro,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__scene-nav {
		display: none !important;
	}

	.moments--interactive:not(.is-static) .moments__viewport,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__viewport {
		position: absolute !important;
		inset: 0 !important;
		width: 100vw !important;
		height: 100svh !important;
		min-height: 100svh !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
		display: block !important;
		transform: none !important;
	}

	.moments--interactive:not(.is-static) .moments__track,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__track {
		position: absolute !important;
		top: 0 !important;
		left: 0 !important;
		height: 100svh !important;
		min-height: 100svh !important;
		margin: 0 !important;
		padding: 0 !important;
		display: block !important;
		gap: 0 !important;
		will-change: transform !important;
		transform: translate3d(0,0,0);
	}

	.moments--interactive:not(.is-static) .moment-card,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-card,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item {
		position: absolute !important;
		top: 0 !important;
		width: 100vw !important;
		min-width: 100vw !important;
		max-width: 100vw !important;
		height: 100svh !important;
		min-height: 100svh !important;
		max-height: 100svh !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		overflow: hidden !important;
		background: #11100d !important;
		transform: none !important;
		opacity: 1 !important;
		display: block !important;
		isolation: isolate !important;
	}

	.moments--interactive:not(.is-static) .moment-card__media,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__image {
		position: absolute !important;
		inset: 0 !important;
		z-index: -2 !important;
		width: 100% !important;
		height: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.moments--interactive:not(.is-static) .moment-card__media img,
	.moments--interactive:not(.is-static) .moment-card__fallback,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__image img,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__fallback {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: center !important;
		display: block !important;
	}

	.moments--interactive:not(.is-static) .moment-card::after,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-card::after {
		content: "" !important;
		position: absolute !important;
		inset: 0 !important;
		z-index: -1 !important;
		background: linear-gradient(to bottom, rgba(17,16,13,.16), rgba(17,16,13,.34) 42%, rgba(17,16,13,.78)) !important;
		pointer-events: none !important;
	}

	.moments--interactive:not(.is-static) .moment-card__content,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body {
		position: absolute !important;
		inset: 0 !important;
		z-index: 2 !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		height: 100% !important;
		box-sizing: border-box !important;
		padding: max(82px, env(safe-area-inset-top)) 24px max(54px, env(safe-area-inset-bottom)) !important;
		margin: 0 !important;
		text-align: center !important;
		color: var(--color-cream-soft, #fff8ef) !important;
		transform: none !important;
	}

	.moments--interactive:not(.is-static) .moment-card h3,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item h3 {
		margin: 0 auto !important;
		max-width: 10ch !important;
		font-family: var(--font-heading, inherit) !important;
		font-size: clamp(3rem, 16vw, 5.1rem) !important;
		line-height: .88 !important;
		letter-spacing: -.055em !important;
		font-weight: 500 !important;
		text-transform: uppercase !important;
		text-align: center !important;
		color: var(--color-cream-soft, #fff8ef) !important;
	}

	.moments--interactive:not(.is-static) .moment-card p,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item p {
		max-width: 30ch !important;
		margin: 18px auto 0 !important;
		font-size: clamp(.98rem, 4.2vw, 1.14rem) !important;
		line-height: 1.45 !important;
		color: rgba(255,248,239,.86) !important;
		text-align: center !important;
	}

	.moments--interactive:not(.is-static) .moment-card__link,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__toggle {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		margin: 24px auto 0 !important;
		padding: 11px 18px !important;
		border: 1px solid rgba(255,248,239,.42) !important;
		border-radius: 999px !important;
		background: rgba(17,16,13,.26) !important;
		color: var(--color-cream-soft, #fff8ef) !important;
		text-align: center !important;
		text-decoration: none !important;
		backdrop-filter: blur(10px) !important;
	}

	.moments--interactive:not(.is-static) .moments__progress,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__progress {
		display: block !important;
		position: absolute !important;
		left: 22px !important;
		right: 22px !important;
		bottom: max(18px, env(safe-area-inset-bottom)) !important;
		height: 2px !important;
		z-index: 8 !important;
		background: rgba(255,248,239,.22) !important;
		pointer-events: none !important;
	}

	.moments--interactive:not(.is-static) .moments__progress span,
	.aperitivo-catalog--interactive:not(.is-static) .aperitivo-catalog__progress span {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		background: var(--color-spritz, #d9824b) !important;
		transform: scaleX(0);
		transform-origin: left center !important;
	}
}
/* === /v1.0.94 MOBILE PORTRAIT HORIZONTAL SCROLL === */

/* === v1.0.95 MOBILE PORTRAIT FIXED HORIZONTAL SCROLL ===
   Tabula rasa funzionale solo per portrait: il JS mette il pin in fixed durante il tratto
   attivo, quindi lo scroll verticale alimenta il translateX del track. Desktop e landscape
   non sono coinvolti. */
@media (max-width: 900px) and (orientation: portrait) {
	.bgig-portrait-fixed-scroll-active .moments--interactive.bgig-portrait-fixed-scroll-ready,
	.bgig-portrait-fixed-scroll-active .aperitivo-catalog--interactive.bgig-portrait-fixed-scroll-ready{
		position:relative!important;
		width:100%!important;
		padding:0!important;
		margin:0!important;
		overflow:visible!important;
		background:#11100d!important;
	}

	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .moments__pin,
	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .aperitivo-catalog__pin{
		left:0!important;
		width:100vw!important;
		height:100svh!important;
		min-height:100svh!important;
		max-height:100svh!important;
		padding:0!important;
		margin:0!important;
		overflow:hidden!important;
		background:#11100d!important;
		z-index:4!important;
		isolation:isolate!important;
	}

	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .moments__intro,
	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .moments__scene-nav,
	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .aperitivo-catalog__intro,
	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .aperitivo-catalog__scene-nav{
		display:none!important;
	}

	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .moments__viewport,
	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .aperitivo-catalog__viewport{
		position:absolute!important;
		inset:0!important;
		width:100vw!important;
		height:100svh!important;
		min-height:100svh!important;
		max-height:100svh!important;
		padding:0!important;
		margin:0!important;
		overflow:hidden!important;
		display:block!important;
	}

	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .moments__track,
	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .aperitivo-catalog__track{
		position:absolute!important;
		top:0!important;
		left:0!important;
		height:100svh!important;
		min-height:100svh!important;
		max-height:100svh!important;
		display:block!important;
		gap:0!important;
		padding:0!important;
		margin:0!important;
		will-change:transform!important;
	}

	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .moment-card,
	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .aperitivo-card,
	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .aperitivo-item{
		position:absolute!important;
		top:0!important;
		width:100vw!important;
		min-width:100vw!important;
		max-width:100vw!important;
		height:100svh!important;
		min-height:100svh!important;
		max-height:100svh!important;
		padding:0!important;
		margin:0!important;
		border:0!important;
		border-radius:0!important;
		overflow:hidden!important;
		display:block!important;
		opacity:1!important;
	}

	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .moment-card__media,
	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .aperitivo-item__image{
		position:absolute!important;
		inset:0!important;
		z-index:-2!important;
		width:100%!important;
		height:100%!important;
		padding:0!important;
		margin:0!important;
	}

	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .moment-card__media img,
	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .moment-card__fallback,
	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .aperitivo-item__image img,
	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .aperitivo-item__fallback{
		width:100%!important;
		height:100%!important;
		object-fit:cover!important;
		object-position:center!important;
		display:block!important;
	}

	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .moment-card::after,
	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .aperitivo-card::after{
		content:""!important;
		position:absolute!important;
		inset:0!important;
		z-index:-1!important;
		background:linear-gradient(to bottom, rgba(17,16,13,.12), rgba(17,16,13,.38) 44%, rgba(17,16,13,.78))!important;
		pointer-events:none!important;
	}

	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .moment-card__content,
	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .aperitivo-item__body{
		position:absolute!important;
		inset:0!important;
		z-index:2!important;
		display:flex!important;
		flex-direction:column!important;
		align-items:center!important;
		justify-content:center!important;
		width:100%!important;
		height:100%!important;
		padding:max(82px, env(safe-area-inset-top)) 24px max(58px, env(safe-area-inset-bottom))!important;
		box-sizing:border-box!important;
		text-align:center!important;
		color:var(--color-cream-soft,#fff8ef)!important;
		transform:none!important;
	}

	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .moment-card__content > *,
	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .aperitivo-item__body > *{
		margin-left:auto!important;
		margin-right:auto!important;
		text-align:center!important;
	}

	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .moment-card h3,
	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .aperitivo-item h3{
		max-width:10ch!important;
		font-size:clamp(3rem,16vw,5.1rem)!important;
		line-height:.88!important;
		letter-spacing:-.055em!important;
		text-transform:uppercase!important;
		color:var(--color-cream-soft,#fff8ef)!important;
	}

	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .moment-card p,
	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .aperitivo-item p{
		max-width:30ch!important;
		font-size:clamp(.98rem,4.2vw,1.14rem)!important;
		line-height:1.45!important;
		color:rgba(255,248,239,.86)!important;
	}

	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .moments__progress,
	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .aperitivo-catalog__progress{
		display:block!important;
		position:absolute!important;
		left:22px!important;
		right:22px!important;
		bottom:max(18px, env(safe-area-inset-bottom))!important;
		height:2px!important;
		z-index:8!important;
		background:rgba(255,248,239,.22)!important;
	}

	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .moments__progress span,
	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .aperitivo-catalog__progress span{
		display:block!important;
		width:100%!important;
		height:100%!important;
		transform-origin:left center!important;
		background:var(--color-spritz,#d9824b)!important;
	}
}
/* === /v1.0.95 MOBILE PORTRAIT FIXED HORIZONTAL SCROLL === */


/* v1.0.96 — Mobile portrait: titoli schede orizzontali più compatti, senza spezzatura parole; gelateria senza border-radius.
   Scope limitato al portrait: desktop e landscape non vengono toccati. */
@media (max-width: 767px) and (orientation: portrait) {
	.moment-card__content h3,
	.aperitivo-item__body h3 {
		font-size: clamp(1.85rem, 8.2vw, 3rem) !important;
		line-height: .92 !important;
		letter-spacing: .035em !important;
		white-space: nowrap !important;
		word-break: keep-all !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
		max-width: 92vw !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.moment-card__content,
	.aperitivo-item__body {
		align-items: center !important;
		justify-content: center !important;
		text-align: center !important;
	}

	.moment-card__content p,
	.aperitivo-item__body p,
	.moment-card__link,
	.aperitivo-item__toggle {
		max-width: min(86vw, 30rem) !important;
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center !important;
	}

	.gelato-focus h2,
	.gelato-focus__content h2 {
		font-size: clamp(1.45rem, 5.6vw, 2.25rem) !important;
		line-height: .98 !important;
		letter-spacing: .04em !important;
		white-space: nowrap !important;
		word-break: keep-all !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
		max-width: 94vw !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.gelato-focus,
	.gelato-focus__sticky,
	.gelato-focus__inner,
	.gelato-focus__media,
	.gelato-focus__media img,
	.gelato-focus__fallback,
	.gelato-focus__overlay {
		border-radius: 0 !important;
	}
}


/* v1.0.97 — Mobile portrait: titoli centrati, parole non spezzate, capo solo tra parole; logo scroll 1.3x.
   Scope limitato al portrait: desktop e landscape non vengono toccati. */
@media (max-width: 767px) and (orientation: portrait) {
	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .moment-card__content,
	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .aperitivo-item__body,
	.moment-card__content,
	.aperitivo-item__body {
		left: 50% !important;
		right: auto !important;
		top: 50% !important;
		bottom: auto !important;
		transform: translate(-50%, -50%) !important;
		width: min(88vw, 34rem) !important;
		max-width: 88vw !important;
		margin: 0 auto !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		text-align: center !important;
	}

	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .moment-card h3,
	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .aperitivo-item h3,
	.moment-card__content h3,
	.aperitivo-item__body h3 {
		font-size: clamp(1.55rem, 7vw, 2.45rem) !important;
		line-height: 0.96 !important;
		letter-spacing: 0.028em !important;
		text-align: center !important;
		text-wrap: balance !important;
		white-space: normal !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
		max-width: 86vw !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .moment-card h3 *,
	.bgig-portrait-fixed-scroll-active .bgig-portrait-fixed-scroll-ready .aperitivo-item h3 *,
	.moment-card__content h3 *,
	.aperitivo-item__body h3 * {
		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
	}

	.moment-card__content p,
	.aperitivo-item__body p,
	.moment-card__link,
	.aperitivo-item__toggle {
		text-align: center !important;
		max-width: min(82vw, 28rem) !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.gelato-focus h2,
	.gelato-focus__content h2 {
		font-size: clamp(1.35rem, 5.1vw, 2rem) !important;
		line-height: 1 !important;
		letter-spacing: 0.03em !important;
		text-align: center !important;
		text-wrap: balance !important;
		white-space: normal !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
		max-width: 90vw !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.site-header.is-scrolled .site-logo img,
	.site-header--scrolled .site-logo img,
	.site-header.is-scrolled .custom-logo,
	.site-header--scrolled .custom-logo,
	.site-header.is-scrolled .site-branding img,
	.site-header--scrolled .site-branding img {
		max-width: 130% !important;
		width: auto !important;
		height: auto !important;
		transform: scale(1.3) !important;
		transform-origin: left center !important;
	}
}
/* === /v1.0.97 MOBILE TITLE CENTER + LOGO SIZE === */


/* v1.0.98 — Mobile portrait: centratura reale testi schede/gelateria + logo 1.5x.
   Scope limitato al portrait: desktop e landscape non vengono toccati. */
@media (max-width: 767px) and (orientation: portrait) {
	body .moments--interactive:not(.is-static) .moment-card__content,
	body .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body,
	body .bgig-portrait-fixed-scroll-ready .moment-card__content,
	body .bgig-portrait-fixed-scroll-ready .aperitivo-item__body {
		box-sizing: border-box !important;
		position: absolute !important;
		left: 50% !important;
		right: auto !important;
		top: 50% !important;
		bottom: auto !important;
		width: 90vw !important;
		max-width: 90vw !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		transform: translate3d(-50%, -50%, 0) !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		text-align: center !important;
	}

	body .moments--interactive:not(.is-static) .moment-card__content > *,
	body .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body > *,
	body .bgig-portrait-fixed-scroll-ready .moment-card__content > *,
	body .bgig-portrait-fixed-scroll-ready .aperitivo-item__body > *,
	body .gelato-focus__content > * {
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center !important;
	}

	body .moments--interactive:not(.is-static) .moment-card h3,
	body .moments--interactive:not(.is-static) .moment-card__content h3,
	body .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item h3,
	body .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body h3,
	body .bgig-portrait-fixed-scroll-ready .moment-card h3,
	body .bgig-portrait-fixed-scroll-ready .aperitivo-item h3 {
		box-sizing: border-box !important;
		display: block !important;
		width: 90vw !important;
		max-width: 90vw !important;
		min-width: 0 !important;
		margin: 0 auto .58rem auto !important;
		padding: 0 !important;
		font-size: clamp(2.05rem, 9.4vw, 3.1rem) !important;
		line-height: .98 !important;
		letter-spacing: .015em !important;
		text-align: center !important;
		white-space: normal !important;
		word-break: keep-all !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
		text-wrap: balance !important;
	}

	body .moments--interactive:not(.is-static) .moment-card p,
	body .moments--interactive:not(.is-static) .moment-card__content p,
	body .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item p,
	body .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body p,
	body .bgig-portrait-fixed-scroll-ready .moment-card p,
	body .bgig-portrait-fixed-scroll-ready .aperitivo-item p {
		width: 90vw !important;
		max-width: 90vw !important;
		margin-left: auto !important;
		margin-right: auto !important;
		font-size: clamp(.95rem, 4.2vw, 1.12rem) !important;
		line-height: 1.36 !important;
		text-align: center !important;
	}

	body .moments--interactive:not(.is-static) .moment-card__link,
	body .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__toggle,
	body .bgig-portrait-fixed-scroll-ready .moment-card__link,
	body .bgig-portrait-fixed-scroll-ready .aperitivo-item__toggle {
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center !important;
	}

	body .gelato-focus__content {
		box-sizing: border-box !important;
		left: 50% !important;
		right: auto !important;
		width: 90vw !important;
		max-width: 90vw !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		transform: translateX(-50%) !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		text-align: center !important;
	}

	body .gelato-focus h2,
	body .gelato-focus__content h2,
	body #gelato-focus-title {
		box-sizing: border-box !important;
		display: block !important;
		width: 90vw !important;
		max-width: 90vw !important;
		margin-left: auto !important;
		margin-right: auto !important;
		font-size: clamp(1.85rem, 8.4vw, 2.8rem) !important;
		line-height: 1.02 !important;
		letter-spacing: .03em !important;
		text-align: center !important;
		white-space: normal !important;
		word-break: keep-all !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
		text-wrap: balance !important;
	}

	body .gelato-focus__text,
	body .gelato-focus__content p,
	body .gelato-focus__tags {
		width: 90vw !important;
		max-width: 90vw !important;
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center !important;
		justify-content: center !important;
	}

	body .site-header .site-header__logo {
		width: 78px !important;
		height: 78px !important;
		max-width: 78px !important;
		max-height: 78px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}

	body .site-header .site-header__logo-image,
	body .site-header .custom-logo,
	body .site-header .site-header__logo img {
		width: 78px !important;
		height: 78px !important;
		max-width: 78px !important;
		max-height: 78px !important;
		object-fit: contain !important;
		transform: none !important;
		transform-origin: center center !important;
	}
}
/* === /v1.0.98 MOBILE TEXT CENTER + LOGO SIZE === */

/* v1.0.99 — Mobile portrait: centratura reale delle schede orizzontali.
   Correzione mirata su Momenti/Aperitivo: il box contenuto torna full-slide,
   i testi occupano 90vw, sono centrati e non ereditano left/translate delle patch precedenti. */
@media (max-width: 767px) and (orientation: portrait) {
	body .moments--interactive .moment-card__content,
	body .bgig-portrait-fixed-scroll-ready .moment-card__content,
	body .aperitivo-catalog--interactive .aperitivo-item__body,
	body .bgig-portrait-fixed-scroll-ready .aperitivo-item__body {
		position: absolute !important;
		inset: 0 !important;
		left: 0 !important;
		top: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		transform: none !important;
		width: 100vw !important;
		max-width: 100vw !important;
		min-width: 100vw !important;
		height: 100svh !important;
		min-height: 100svh !important;
		max-height: 100svh !important;
		box-sizing: border-box !important;
		margin: 0 !important;
		padding: max(82px, env(safe-area-inset-top)) 5vw max(150px, env(safe-area-inset-bottom)) !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		text-align: center !important;
		color: var(--color-cream-soft, #fff8ef) !important;
		z-index: 3 !important;
	}

	body .moments--interactive .moment-card__content > *,
	body .bgig-portrait-fixed-scroll-ready .moment-card__content > *,
	body .aperitivo-catalog--interactive .aperitivo-item__body > *,
	body .bgig-portrait-fixed-scroll-ready .aperitivo-item__body > * {
		box-sizing: border-box !important;
		width: 90vw !important;
		max-width: 90vw !important;
		min-width: 0 !important;
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center !important;
		align-self: center !important;
	}

	body .moments--interactive .moment-card h3,
	body .moments--interactive .moment-card__content h3,
	body .bgig-portrait-fixed-scroll-ready .moment-card h3,
	body .aperitivo-catalog--interactive .aperitivo-item h3,
	body .aperitivo-catalog--interactive .aperitivo-item__body h3,
	body .bgig-portrait-fixed-scroll-ready .aperitivo-item h3 {
		display: block !important;
		width: 90vw !important;
		max-width: 90vw !important;
		min-width: 0 !important;
		margin: 0 auto .65rem !important;
		padding: 0 !important;
		font-size: clamp(1.9rem, 8.2vw, 2.9rem) !important;
		line-height: .98 !important;
		letter-spacing: .018em !important;
		text-align: center !important;
		text-transform: uppercase !important;
		white-space: normal !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
		text-wrap: balance !important;
	}

	body .moments--interactive .moment-card h3 *,
	body .bgig-portrait-fixed-scroll-ready .moment-card h3 *,
	body .aperitivo-catalog--interactive .aperitivo-item h3 *,
	body .bgig-portrait-fixed-scroll-ready .aperitivo-item h3 * {
		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
		text-align: center !important;
	}

	body .moments--interactive .moment-card p,
	body .moments--interactive .moment-card__content p,
	body .bgig-portrait-fixed-scroll-ready .moment-card p,
	body .aperitivo-catalog--interactive .aperitivo-item p,
	body .aperitivo-catalog--interactive .aperitivo-item__body p,
	body .bgig-portrait-fixed-scroll-ready .aperitivo-item p {
		width: 90vw !important;
		max-width: 90vw !important;
		margin: 0 auto 1rem !important;
		padding: 0 !important;
		font-size: clamp(.95rem, 4vw, 1.08rem) !important;
		line-height: 1.42 !important;
		text-align: center !important;
		white-space: normal !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
	}

	body .moments--interactive .moment-card__link,
	body .bgig-portrait-fixed-scroll-ready .moment-card__link,
	body .aperitivo-catalog--interactive .aperitivo-item__toggle,
	body .bgig-portrait-fixed-scroll-ready .aperitivo-item__toggle {
		display: inline-flex !important;
		width: auto !important;
		max-width: 90vw !important;
		margin-left: auto !important;
		margin-right: auto !important;
		align-self: center !important;
		justify-content: center !important;
		text-align: center !important;
	}

	body .aperitivo-catalog--interactive .aperitivo-item__number,
	body .bgig-portrait-fixed-scroll-ready .aperitivo-item__number {
		display: block !important;
		width: 90vw !important;
		text-align: center !important;
		margin: 0 auto .55rem !important;
	}
}
/* === /v1.0.99 MOBILE HORIZONTAL TEXT REAL CENTER === */


/* v1.0.100 — Mobile portrait: centratura verticale reale dei contenuti nelle schede orizzontali.
   Punto fermo: il contenitore testo deve stare al centro della slide, non sul bottom.
   Desktop e landscape non toccati. */
@media (max-width: 900px) and (orientation: portrait) {
	html.bgig-portrait-fixed-scroll-active body .bgig-portrait-fixed-scroll-ready .moment-card__content,
	html.bgig-portrait-fixed-scroll-active body .bgig-portrait-fixed-scroll-ready .aperitivo-item__body,
	body .bgig-portrait-fixed-scroll-ready .moment-card__content,
	body .bgig-portrait-fixed-scroll-ready .aperitivo-item__body,
	body .moments--interactive:not(.is-static) .moment-card__content,
	body .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body {
		box-sizing: border-box !important;
		position: absolute !important;
		left: 5vw !important;
		right: 5vw !important;
		top: 50% !important;
		bottom: auto !important;
		width: 90vw !important;
		max-width: 90vw !important;
		min-width: 0 !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 0 !important;
		transform: translate3d(0, -50%, 0) !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		text-align: center !important;
		z-index: 6 !important;
	}

	html.bgig-portrait-fixed-scroll-active body .bgig-portrait-fixed-scroll-ready .moment-card__content > *,
	html.bgig-portrait-fixed-scroll-active body .bgig-portrait-fixed-scroll-ready .aperitivo-item__body > *,
	body .bgig-portrait-fixed-scroll-ready .moment-card__content > *,
	body .bgig-portrait-fixed-scroll-ready .aperitivo-item__body > *,
	body .moments--interactive:not(.is-static) .moment-card__content > *,
	body .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body > * {
		box-sizing: border-box !important;
		width: 90vw !important;
		max-width: 90vw !important;
		min-width: 0 !important;
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center !important;
		align-self: center !important;
	}

	html.bgig-portrait-fixed-scroll-active body .bgig-portrait-fixed-scroll-ready .moment-card h3,
	html.bgig-portrait-fixed-scroll-active body .bgig-portrait-fixed-scroll-ready .aperitivo-item h3,
	body .bgig-portrait-fixed-scroll-ready .moment-card h3,
	body .bgig-portrait-fixed-scroll-ready .aperitivo-item h3,
	body .moments--interactive:not(.is-static) .moment-card h3,
	body .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item h3 {
		display: block !important;
		width: 90vw !important;
		max-width: 90vw !important;
		min-width: 0 !important;
		margin: 0 auto .7rem !important;
		padding: 0 !important;
		font-size: clamp(1.75rem, 7.4vw, 2.65rem) !important;
		line-height: 1.02 !important;
		letter-spacing: .025em !important;
		text-align: center !important;
		text-transform: uppercase !important;
		white-space: normal !important;
		word-break: keep-all !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
		text-wrap: balance !important;
	}

	html.bgig-portrait-fixed-scroll-active body .bgig-portrait-fixed-scroll-ready .moment-card p,
	html.bgig-portrait-fixed-scroll-active body .bgig-portrait-fixed-scroll-ready .aperitivo-item p,
	body .bgig-portrait-fixed-scroll-ready .moment-card p,
	body .bgig-portrait-fixed-scroll-ready .aperitivo-item p,
	body .moments--interactive:not(.is-static) .moment-card p,
	body .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item p {
		display: block !important;
		width: 90vw !important;
		max-width: 90vw !important;
		margin: 0 auto 1.05rem !important;
		padding: 0 !important;
		font-size: clamp(.95rem, 4vw, 1.08rem) !important;
		line-height: 1.42 !important;
		text-align: center !important;
		white-space: normal !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
	}

	html.bgig-portrait-fixed-scroll-active body .bgig-portrait-fixed-scroll-ready .moment-card__link,
	html.bgig-portrait-fixed-scroll-active body .bgig-portrait-fixed-scroll-ready .aperitivo-item__toggle,
	body .bgig-portrait-fixed-scroll-ready .moment-card__link,
	body .bgig-portrait-fixed-scroll-ready .aperitivo-item__toggle,
	body .moments--interactive:not(.is-static) .moment-card__link,
	body .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__toggle {
		display: inline-flex !important;
		width: auto !important;
		max-width: 90vw !important;
		margin: .25rem auto 0 !important;
		align-self: center !important;
		justify-content: center !important;
		text-align: center !important;
	}
}
/* === /v1.0.100 MOBILE HORIZONTAL TEXT TRUE VERTICAL CENTER === */


/* v1.0.100 — Mobile portrait: centratura verticale reale dei testi nelle schede orizzontali.
   Correzione mirata: il blocco testo non occupa più tutta la slide e non viene spinto in basso.
   Desktop, landscape, gelateria e logo non vengono toccati. */
@media (max-width: 767px) and (orientation: portrait) {
	body .bgig-portrait-fixed-scroll-ready .moment-card__content,
	body .bgig-portrait-fixed-scroll-ready .aperitivo-item__body,
	body .moments--interactive .moment-card__content,
	body .aperitivo-catalog--interactive .aperitivo-item__body {
		position: absolute !important;
		inset: auto !important;
		top: 50% !important;
		left: 50% !important;
		right: auto !important;
		bottom: auto !important;
		transform: translate3d(-50%, -50%, 0) !important;
		width: 90vw !important;
		max-width: 90vw !important;
		min-width: 0 !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 0 !important;
		box-sizing: border-box !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		text-align: center !important;
		z-index: 5 !important;
	}

	body .bgig-portrait-fixed-scroll-ready .moment-card__content > *,
	body .bgig-portrait-fixed-scroll-ready .aperitivo-item__body > *,
	body .moments--interactive .moment-card__content > *,
	body .aperitivo-catalog--interactive .aperitivo-item__body > * {
		width: 90vw !important;
		max-width: 90vw !important;
		min-width: 0 !important;
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center !important;
		align-self: center !important;
	}

	body .bgig-portrait-fixed-scroll-ready .moment-card h3,
	body .bgig-portrait-fixed-scroll-ready .aperitivo-item h3,
	body .moments--interactive .moment-card h3,
	body .moments--interactive .moment-card__content h3,
	body .aperitivo-catalog--interactive .aperitivo-item h3,
	body .aperitivo-catalog--interactive .aperitivo-item__body h3 {
		display: block !important;
		width: 90vw !important;
		max-width: 90vw !important;
		margin: 0 auto .65rem !important;
		padding: 0 !important;
		font-size: clamp(1.72rem, 7.2vw, 2.65rem) !important;
		line-height: 1.02 !important;
		letter-spacing: .012em !important;
		text-align: center !important;
		text-transform: uppercase !important;
		white-space: normal !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
		text-wrap: balance !important;
	}

	body .bgig-portrait-fixed-scroll-ready .moment-card p,
	body .bgig-portrait-fixed-scroll-ready .aperitivo-item p,
	body .moments--interactive .moment-card p,
	body .moments--interactive .moment-card__content p,
	body .aperitivo-catalog--interactive .aperitivo-item p,
	body .aperitivo-catalog--interactive .aperitivo-item__body p {
		width: 90vw !important;
		max-width: 90vw !important;
		margin: 0 auto 1rem !important;
		padding: 0 !important;
		font-size: clamp(.95rem, 4vw, 1.08rem) !important;
		line-height: 1.42 !important;
		text-align: center !important;
		white-space: normal !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
	}

	body .bgig-portrait-fixed-scroll-ready .moment-card__link,
	body .bgig-portrait-fixed-scroll-ready .aperitivo-item__toggle,
	body .moments--interactive .moment-card__link,
	body .aperitivo-catalog--interactive .aperitivo-item__toggle {
		display: inline-flex !important;
		width: auto !important;
		max-width: 90vw !important;
		margin: .2rem auto 0 !important;
		align-self: center !important;
		justify-content: center !important;
		text-align: center !important;
	}
}
/* === /v1.0.100 MOBILE HORIZONTAL TEXT VERTICAL CENTER === */


/* v1.0.101 — Mobile portrait: blocco testo centrato nella SINGOLA scheda.
   Correzione mirata sul blocco indicato: il contenitore testo riempie la card con inset:0
   e centra i contenuti al suo interno. Desktop e landscape non toccati. */
@media (max-width: 900px) and (orientation: portrait) {
	body.home .moments--interactive:not(.is-static) .moment-card,
	body.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item,
	body .bgig-portrait-fixed-scroll-ready .moment-card,
	body .bgig-portrait-fixed-scroll-ready .aperitivo-item {
		position: relative !important;
	}

	body.home .moments--interactive:not(.is-static) .moment-card__content,
	body.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body,
	body .bgig-portrait-fixed-scroll-ready .moment-card__content,
	body .bgig-portrait-fixed-scroll-ready .aperitivo-item__body {
		box-sizing: border-box !important;
		position: absolute !important;
		inset: 0 !important;
		left: 0 !important;
		top: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		z-index: 6 !important;
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		height: 100% !important;
		min-height: 0 !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 0 5vw !important;
		transform: none !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		gap: .75rem !important;
		text-align: center !important;
	}

	body.home .moments--interactive:not(.is-static) .moment-card__content > *,
	body.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body > *,
	body .bgig-portrait-fixed-scroll-ready .moment-card__content > *,
	body .bgig-portrait-fixed-scroll-ready .aperitivo-item__body > * {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 90vw !important;
		min-width: 0 !important;
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center !important;
		align-self: center !important;
	}

	body.home .moments--interactive:not(.is-static) .moment-card__content h3,
	body.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body h3,
	body .bgig-portrait-fixed-scroll-ready .moment-card__content h3,
	body .bgig-portrait-fixed-scroll-ready .aperitivo-item__body h3 {
		width: 100% !important;
		max-width: 90vw !important;
		margin: 0 auto .35rem !important;
		padding: 0 !important;
		font-size: clamp(1.65rem, 7vw, 2.5rem) !important;
		line-height: 1.05 !important;
		letter-spacing: .012em !important;
		text-align: center !important;
		text-transform: uppercase !important;
		white-space: normal !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
		text-wrap: balance !important;
	}

	body.home .moments--interactive:not(.is-static) .moment-card__content p,
	body.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body p,
	body .bgig-portrait-fixed-scroll-ready .moment-card__content p,
	body .bgig-portrait-fixed-scroll-ready .aperitivo-item__body p {
		width: 100% !important;
		max-width: 90vw !important;
		margin: 0 auto .65rem !important;
		padding: 0 !important;
		font-size: clamp(.95rem, 4vw, 1.08rem) !important;
		line-height: 1.42 !important;
		text-align: center !important;
		white-space: normal !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
	}

	body.home .moments--interactive:not(.is-static) .moment-card__content .moment-card__link,
	body.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body .aperitivo-item__toggle,
	body .bgig-portrait-fixed-scroll-ready .moment-card__content .moment-card__link,
	body .bgig-portrait-fixed-scroll-ready .aperitivo-item__body .aperitivo-item__toggle {
		width: auto !important;
		max-width: 90vw !important;
		margin: 0 auto !important;
		align-self: center !important;
		justify-content: center !important;
		text-align: center !important;
	}
}
/* === /v1.0.101 MOBILE CARD TEXT BLOCK CENTERED IN CARD === */


/* v1.0.102 — Mobile portrait: titoli schede orizzontali +30%, senza cambiare centratura.
   Partenza v1.0.101: manteniamo il blocco testo centrato nella card e aumentiamo solo h3. */
@media (max-width: 900px) and (orientation: portrait) {
	body.home .moments--interactive:not(.is-static) .moment-card__content h3,
	body.home .aperitivo-catalog--interactive:not(.is-static) .aperitivo-item__body h3,
	body .bgig-portrait-fixed-scroll-ready .moment-card__content h3,
	body .bgig-portrait-fixed-scroll-ready .aperitivo-item__body h3 {
		font-size: clamp(2.15rem, 9.1vw, 3.25rem) !important;
		line-height: 1.02 !important;
		letter-spacing: .006em !important;
	}
}
/* === /v1.0.102 MOBILE CARD TITLES BIGGER === */


/* v1.0.103 — Home mobile: barra Carte/Indicazioni più stretta e centrata sulla hero.
   Desktop e landscape non toccati. */
@media (max-width: 900px) and (orientation: portrait) {
	body.home .mobile-quickbar {
		left: 50% !important;
		right: auto !important;
		width: min(50vw, 360px) !important;
		min-width: 250px !important;
		max-width: calc(100vw - 32px) !important;
		transform: translateX(-50%) !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		justify-content: center !important;
	}

	body.home .mobile-quickbar a {
		min-width: 0 !important;
		padding-left: 14px !important;
		padding-right: 14px !important;
		white-space: nowrap !important;
	}

	body.home .mobile-quickbar a:nth-child(n+3) {
		display: none !important;
	}
}
/* === /v1.0.103 MOBILE QUICKBAR WIDTH CENTERED === */


/* === v1.0.104 - Mobile portrait: remove quickbar, compact hero CTAs === */
.mobile-quickbar,
.footer-cta {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

@media (max-width: 767px) and (orientation: portrait) {
  body .mobile-quickbar,
  body .footer-cta {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.home .hero__actions,
  .hero__actions {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.75rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.home .hero__actions .button,
  .hero__actions .button {
    width: 50vw !important;
    min-width: 50vw !important;
    max-width: 50vw !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0.8rem !important;
    padding-right: 0.8rem !important;
    text-align: center !important;
    white-space: nowrap !important;
  }
}

/* v1.0.105 — Pagina nativa Drinklist: card automatiche da link app */
.drinklist-page{
	background:var(--color-cream);
	color:var(--color-text-dark);
	min-height:100svh;
	padding:clamp(92px,12vw,160px) 0 clamp(76px,10vw,140px);
}
.drinklist-page__inner{
	width:var(--container);
	margin:0 auto;
}
.drinklist-page__header{
	max-width:880px;
	margin:0 auto clamp(42px,7vw,78px);
	text-align:center;
}
.drinklist-page__header .section-kicker{
	margin-left:auto;
	margin-right:auto;
}
.drinklist-page__header h1{
	margin:0;
	font-family:var(--font-heading);
	font-size:clamp(3.2rem,8vw,7.2rem);
	line-height:.9;
	letter-spacing:-.06em;
	font-weight:500;
	text-transform:uppercase;
}
.drinklist-page__intro{
	max-width:680px;
	margin:clamp(18px,3vw,28px) auto 0;
	font-size:clamp(1rem,1.5vw,1.18rem);
	line-height:1.55;
	color:rgba(23,19,15,.72);
}
.drinklist-wall{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:clamp(18px,3vw,42px);
	align-items:start;
	max-width:1180px;
	margin:0 auto;
}
.drinklist-wall__item{
	margin:0;
}
.drinklist-wall__link{
	position:relative;
	display:block;
	width:100%;
	aspect-ratio:9/14;
	border-radius:30px;
	overflow:hidden;
	background:rgba(17,16,13,.96);
	box-shadow:0 28px 70px rgba(23,19,15,.16);
	text-decoration:none;
	color:var(--color-cream-soft);
	isolation:isolate;
	transition:transform .45s cubic-bezier(.22,1,.36,1), box-shadow .45s cubic-bezier(.22,1,.36,1);
}
.drinklist-wall__link:hover,
.drinklist-wall__link:focus-visible{
	transform:translateY(-6px);
	box-shadow:0 38px 90px rgba(23,19,15,.25);
	outline:none;
}
.drinklist-wall__visual,
.drinklist-wall__visual img,
.drinklist-wall__fallback{
	position:absolute;
	inset:0;
	display:block;
	width:100%;
	height:100%;
}
.drinklist-wall__visual img{
	object-fit:cover;
	transform:scale(1.001);
	transition:transform .65s cubic-bezier(.22,1,.36,1), filter .45s cubic-bezier(.22,1,.36,1);
}
.drinklist-wall__link:hover .drinklist-wall__visual img,
.drinklist-wall__link:focus-visible .drinklist-wall__visual img{
	transform:scale(1.055);
	filter:saturate(.95) contrast(.95);
}
.drinklist-wall__fallback{
	background:radial-gradient(circle at 70% 24%,rgba(217,130,75,.28),transparent 34%),linear-gradient(145deg,rgba(63,39,24,.98),rgba(17,16,13,.98));
}
.drinklist-wall__overlay{
	position:absolute;
	inset:0;
	z-index:2;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:clamp(22px,4vw,42px);
	text-align:center;
	background:rgba(17,16,13,.66);
	opacity:0;
	transition:opacity .36s cubic-bezier(.22,1,.36,1);
}
.drinklist-wall__link:hover .drinklist-wall__overlay,
.drinklist-wall__link:focus-visible .drinklist-wall__overlay{
	opacity:1;
}
.drinklist-wall__title{
	font-family:var(--font-heading);
	font-size:clamp(2rem,4vw,4.2rem);
	line-height:.92;
	letter-spacing:-.055em;
	text-transform:uppercase;
	text-wrap:balance;
}
.drinklist-page__empty{
	max-width:720px;
	margin:0 auto;
	padding:28px;
	border:1px solid rgba(23,19,15,.14);
	border-radius:24px;
	text-align:center;
	background:rgba(255,255,255,.35);
}
@media (max-width:1024px){
	.drinklist-wall{grid-template-columns:repeat(2,minmax(0,1fr));max-width:780px;}
}
@media (max-width:767px){
	.drinklist-page{padding:96px 0 72px;}
	.drinklist-page__inner{width:min(90vw,520px);}
	.drinklist-page__header h1{font-size:clamp(2.7rem,15vw,4.8rem);}
	.drinklist-wall{grid-template-columns:1fr;max-width:360px;gap:26px;}
	.drinklist-wall__link{border-radius:26px;}
	.drinklist-wall__overlay{opacity:1;background:linear-gradient(to top,rgba(17,16,13,.82),rgba(17,16,13,.34),rgba(17,16,13,.16));}
	.drinklist-wall__title{font-size:clamp(2.15rem,12vw,3.9rem);}
}

/* v1.0.106 — Drinklist unica da Home: card usate sia in Home sia nella pagina /drinklist/ */
.digital-card--drinklist .digital-card__main-link{
	position:relative;
	isolation:isolate;
	overflow:hidden;
}
.digital-card--drinklist .drinklist-wall__overlay{
	pointer-events:none;
}
.drinklist-page__content{
	max-width:820px;
	margin:clamp(46px,7vw,86px) auto 0;
	font-size:clamp(1rem,1.35vw,1.16rem);
	line-height:1.72;
	color:rgba(23,19,15,.78);
}
.drinklist-page__content > *:first-child{
	margin-top:0;
}
.drinklist-page__content h2,
.drinklist-page__content h3{
	font-family:var(--font-heading);
	line-height:.98;
	letter-spacing:-.045em;
	text-transform:uppercase;
	color:var(--color-text-dark);
}
@media (hover:none){
	.digital-card--drinklist .drinklist-wall__overlay{
		opacity:1;
		background:linear-gradient(to top,rgba(17,16,13,.82),rgba(17,16,13,.34),rgba(17,16,13,.12));
	}
}
@media (max-width:767px){
	.drinklist-page__content{
		width:min(90vw,520px);
		margin-top:44px;
	}
}


/* v1.0.107 — Pagina nativa Drink List: centratura card quando sono poche */
.drinklist-page .drinklist-wall{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:flex-start;
	gap:clamp(18px,3vw,42px);
	max-width:1180px;
	margin-left:auto;
	margin-right:auto;
}
.drinklist-page .drinklist-wall__item{
	flex:0 1 calc((100% - (clamp(18px,3vw,42px) * 2)) / 3);
	max-width:360px;
	min-width:260px;
}
@media (max-width:1024px){
	.drinklist-page .drinklist-wall{max-width:780px;}
	.drinklist-page .drinklist-wall__item{
		flex-basis:calc((100% - clamp(18px,3vw,42px)) / 2);
		max-width:360px;
	}
}
@media (max-width:767px){
	.drinklist-page .drinklist-wall{max-width:360px;gap:26px;}
	.drinklist-page .drinklist-wall__item{
		flex-basis:100%;
		max-width:360px;
		min-width:0;
	}
}


/* v1.0.108 — Singolo evento: hero senza data/ora e data evento in evidenza sopra il contenuto */
.entry--news-event .news-event-hero__meta--location{
	margin-top:clamp(18px, 3vw, 30px) !important;
	font-size:clamp(1rem, 1.5vw, 1.18rem) !important;
	letter-spacing:.02em !important;
}
.news-event-date-card{
	position:relative;
	margin:clamp(34px, 5vw, 64px) auto clamp(30px, 4vw, 48px);
	padding:clamp(24px, 4vw, 42px) clamp(20px, 4vw, 46px);
	border-top:1px solid rgba(23,19,15,.22);
	border-bottom:1px solid rgba(23,19,15,.22);
	text-align:center;
}
.news-event-date-card__date,
.news-event-date-card__time{
	margin:0;
}
.news-event-date-card__date{
	font-family:var(--font-heading);
	font-size:clamp(2.6rem, 7vw, 5.8rem);
	line-height:.94;
	font-weight:500;
	letter-spacing:-.045em;
	color:var(--color-text-dark);
	text-wrap:balance;
}
.news-event-date-card__time{
	margin-top:clamp(10px, 1.8vw, 18px);
	font-size:clamp(1.18rem, 2.2vw, 1.65rem);
	line-height:1.2;
	font-weight:850;
	letter-spacing:.04em;
	text-transform:uppercase;
	color:var(--color-text-dark);
}
@media (max-width:767px){
	.news-event-date-card{
		margin-top:30px;
		padding:24px 0 28px;
	}
	.news-event-date-card__date{
		font-size:clamp(2.25rem, 13vw, 4.2rem);
	}
	.news-event-date-card__time{
		font-size:1.08rem;
	}
}


/* v1.0.109 — Singolo evento: data più compatta, niente giorno settimana, titolo hero maiuscolo più piccolo */
.entry--news-event .news-event-hero__title{
	font-size:clamp(2rem, 4.65vw, 4.7rem) !important;
	line-height:.95 !important;
	letter-spacing:-.04em !important;
	text-transform:uppercase !important;
}
.news-event-date-card{
	margin:clamp(24px, 4vw, 46px) auto clamp(24px, 3.5vw, 40px) !important;
	padding:clamp(18px, 3vw, 30px) clamp(18px, 3vw, 36px) !important;
}
.news-event-date-card__date{
	font-size:clamp(1.9rem, 4.4vw, 3.8rem) !important;
	line-height:1 !important;
	letter-spacing:-.035em !important;
}
.news-event-date-card__time{
	margin-top:clamp(8px, 1.4vw, 14px) !important;
	font-size:clamp(1rem, 1.45vw, 1.25rem) !important;
	letter-spacing:.08em !important;
	text-transform:uppercase !important;
}
@media (max-width:767px){
	.entry--news-event .news-event-hero__title{
		font-size:clamp(1.95rem, 9.3vw, 3.35rem) !important;
	}
	.news-event-date-card{
		margin-top:24px !important;
		padding:20px 0 22px !important;
	}
	.news-event-date-card__date{
		font-size:clamp(1.75rem, 8.8vw, 3rem) !important;
	}
	.news-event-date-card__time{
		font-size:.98rem !important;
	}
}

/* v1.0.110 — Singolo evento: blocco data avvicinato alla base della hero */
.news-event-date-card{
	margin-top:clamp(6px, 1.2vw, 14px) !important;
}
@media (max-width:767px){
	.news-event-date-card{
		margin-top:8px !important;
	}
}


/* v1.0.113 — Template Pagina Catalogo */
.site-main--gin-catalog{
	background:var(--color-bg, #fff8ef);
}
.entry--gin-catalog{
	width:min(100% - 32px, 1320px);
	margin:0 auto;
	padding:clamp(72px, 10vw, 132px) 0 clamp(64px, 9vw, 120px);
}
.gin-catalog-hero{
	text-align:center;
	margin:0 auto clamp(34px, 5vw, 68px);
}
.gin-catalog-title{
	margin:0;
	font-family:var(--font-heading);
	font-size:clamp(3rem, 8vw, 8.8rem);
	line-height:.88;
	letter-spacing:-.06em;
	font-weight:500;
	color:var(--color-text-dark);
	text-transform:uppercase;
	text-wrap:balance;
}
.gin-catalog-grid{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:clamp(16px, 2vw, 28px);
	width:100%;
	margin:0 auto;
}
.gin-card{
	flex:0 1 calc((100% - (3 * clamp(16px, 2vw, 28px))) / 4);
	min-width:0;
}
.gin-card__button{
	appearance:none;
	-webkit-appearance:none;
	display:block;
	width:100%;
	padding:0;
	border:0;
	border-radius:24px;
	background:#17130f;
	color:#fff8ef;
	text-align:left;
	cursor:pointer;
	overflow:hidden;
	box-shadow:0 18px 45px rgba(0,0,0,.16);
	transition:transform .25s ease, box-shadow .25s ease;
}
.gin-card__button:hover,
.gin-card__button:focus-visible{
	transform:translateY(-4px);
	box-shadow:0 24px 58px rgba(0,0,0,.22);
	outline:0;
}
.gin-card__button:focus-visible{
	box-shadow:0 0 0 4px rgba(217,130,75,.42), 0 24px 58px rgba(0,0,0,.22);
}
.gin-card__media{
	display:block;
	position:relative;
	aspect-ratio:1 / 1;
	background:#241e18;
	overflow:hidden;
}
.gin-card__media img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform .45s ease;
}
.gin-card__button:hover .gin-card__media img,
.gin-card__button:focus-visible .gin-card__media img{
	transform:scale(1.045);
}
.gin-card__placeholder{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	height:100%;
	font-family:var(--font-heading);
	font-size:5rem;
	line-height:1;
	color:#f1d28a;
}
.gin-card__label{
	display:block;
	padding:18px 18px 20px;
}
.gin-card__name{
	display:block;
	font-family:var(--font-heading);
	font-size:clamp(1.25rem, 1.8vw, 2rem);
	line-height:.98;
	letter-spacing:-.035em;
	font-weight:500;
}
.gin-card__origin{
	display:block;
	margin-top:8px;
	font-size:.82rem;
	line-height:1.25;
	letter-spacing:.12em;
	text-transform:uppercase;
	opacity:.72;
}
.gin-catalog-empty{
	max-width:720px;
	margin:0 auto;
	padding:26px 28px;
	border:1px dashed rgba(23,19,15,.32);
	border-radius:18px;
	text-align:center;
	color:var(--color-text-dark);
}
.gin-catalog-separator{
	width:100%;
	height:1px;
	border:0;
	margin:clamp(42px, 6vw, 78px) 0 clamp(30px, 4vw, 54px);
	background:rgba(23,19,15,.24);
}
.gin-catalog-page-content{
	max-width:920px;
	margin-left:auto;
	margin-right:auto;
}
.gin-dialog[hidden]{
	display:none !important;
}
.gin-dialog{
	position:fixed;
	inset:0;
	z-index:9999;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:clamp(18px, 4vw, 44px);
}
.gin-dialog__backdrop{
	position:absolute;
	inset:0;
	background:rgba(9,7,5,.72);
	backdrop-filter:blur(10px);
}
.gin-dialog__panel{
	position:relative;
	display:grid;
	grid-template-columns:minmax(220px, .88fr) minmax(280px, 1fr);
	gap:clamp(22px, 4vw, 54px);
	width:min(100%, 1060px);
	max-height:min(86vh, 760px);
	overflow:auto;
	padding:clamp(22px, 4vw, 54px);
	border-radius:32px;
	background:#fff8ef;
	color:#17130f;
	box-shadow:0 30px 90px rgba(0,0,0,.42);
}
.gin-dialog__close{
	position:absolute;
	top:14px;
	right:14px;
	z-index:2;
	display:flex;
	align-items:center;
	justify-content:center;
	width:44px;
	height:44px;
	border:1px solid rgba(23,19,15,.16);
	border-radius:50%;
	background:#17130f;
	color:#fff8ef;
	font-size:30px;
	line-height:1;
	cursor:pointer;
}
.gin-dialog__media{
	align-self:start;
	border-radius:24px;
	background:#17130f;
	overflow:hidden;
	aspect-ratio:1 / 1;
}
.gin-dialog__media img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}
.gin-dialog__content{
	align-self:center;
	padding-right:18px;
}
.gin-dialog__content h2{
	margin:0;
	font-family:var(--font-heading);
	font-size:clamp(2.4rem, 5vw, 5.7rem);
	line-height:.9;
	letter-spacing:-.055em;
	font-weight:500;
	text-transform:uppercase;
	text-wrap:balance;
}
.gin-dialog__origin{
	margin:16px 0 0;
	font-weight:800;
	font-size:.92rem;
	letter-spacing:.14em;
	text-transform:uppercase;
	color:#d9824b;
}
.gin-dialog__description{
	margin-top:clamp(18px, 3vw, 34px);
	font-size:1.02rem;
	line-height:1.65;
}
html.gin-dialog-is-open,
html.gin-dialog-is-open body{
	overflow:hidden;
}
@media (max-width:1024px){
	.gin-card{
		flex-basis:calc((100% - clamp(16px, 2vw, 28px)) / 2);
	}
}
@media (max-width:767px){
	.entry--gin-catalog{
		width:min(100% - 24px, 1320px);
		padding-top:54px;
	}
	.gin-card{
		flex-basis:100%;
	}
	.gin-dialog{
		align-items:flex-end;
		padding:12px;
	}
	.gin-dialog__panel{
		grid-template-columns:1fr;
		gap:22px;
		max-height:88vh;
		padding:22px;
		border-radius:26px;
	}
	.gin-dialog__media{
		max-height:48vh;
	}
	.gin-dialog__content{
		padding-right:0;
	}
}
@media (prefers-reduced-motion:reduce){
	.gin-card__button,
	.gin-card__media img{
		transition:none;
	}
	.gin-card__button:hover,
	.gin-card__button:focus-visible{
		transform:none;
	}
}


/* v1.0.115 — Pagina Catalogo: card uniformi, provenienza + azienda produttrice */
.gin-card__button{
	height:100%;
	display:flex;
	flex-direction:column;
}
.gin-card__media{
	flex:0 0 auto;
}
.gin-card__label{
	min-height:82px;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:5px;
	padding:16px 14px 18px;
	text-align:center;
}
.gin-card__name{
	display:none;
}
.gin-card__origin,
.gin-card__producer{
	display:block;
	width:100%;
	margin:0;
	font-size:.78rem;
	line-height:1.18;
	letter-spacing:.11em;
	text-transform:uppercase;
	font-weight:800;
	opacity:.82;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}
.gin-card__producer{
	opacity:.58;
}
.gin-dialog__origin{
	display:flex;
	flex-wrap:wrap;
	gap:8px 14px;
	align-items:center;
}
.gin-dialog__origin span + span::before{
	content:'•';
	margin-right:14px;
	color:rgba(217,130,75,.55);
}
@media (max-width:767px){
	.gin-card__label{
		min-height:76px;
	}
}

/* v1.0.116 — Pagina Catalogo: provenienza e azienda davvero centrate nella card */
.gin-card{
	display:flex;
}
.gin-card__button{
	min-height:100%;
}
.gin-card__label{
	align-items:center !important;
	justify-content:center !important;
	text-align:center !important;
}
.gin-card__origin,
.gin-card__producer{
	max-width:100%;
	margin-left:auto !important;
	margin-right:auto !important;
	text-align:center !important;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}

/* v1.0.117 — Catalogo: centratura testi card frontend */
.gin-card__button{
	text-align:center !important;
}
.gin-card__label{
	display:flex !important;
	flex-direction:column !important;
	align-items:center !important;
	justify-content:center !important;
	min-height:76px !important;
	padding:14px 16px 16px !important;
	text-align:center !important;
}
.gin-card__origin,
.gin-card__producer{
	display:block !important;
	width:100% !important;
	max-width:100% !important;
	margin:0 auto !important;
	text-align:center !important;
	font-size:.78rem !important;
	line-height:1.2 !important;
	letter-spacing:.11em !important;
	text-transform:uppercase !important;
	overflow:hidden !important;
	text-overflow:ellipsis !important;
	white-space:nowrap !important;
}
.gin-card__producer{
	margin-top:6px !important;
	opacity:.72 !important;
}


/* v1.0.123 — Pagina Catalogo: centratura reale e rigida dei testi nelle card prodotto */
.site-main--catalog .gin-card__button,
.site-main--gin-catalog .gin-card__button{
	display:flex !important;
	flex-direction:column !important;
	text-align:center !important;
}
.site-main--catalog .gin-card__label,
.site-main--gin-catalog .gin-card__label{
	display:flex !important;
	flex-direction:column !important;
	align-items:stretch !important;
	justify-content:center !important;
	width:100% !important;
	box-sizing:border-box !important;
	text-align:center !important;
}
.site-main--catalog .gin-card__origin,
.site-main--catalog .gin-card__producer,
.site-main--gin-catalog .gin-card__origin,
.site-main--gin-catalog .gin-card__producer{
	display:block !important;
	width:100% !important;
	max-width:100% !important;
	box-sizing:border-box !important;
	margin-left:0 !important;
	margin-right:0 !important;
	padding-left:0 !important;
	padding-right:0 !important;
	text-align:center !important;
	align-self:stretch !important;
	white-space:nowrap !important;
	overflow:hidden !important;
	text-overflow:ellipsis !important;
}


/* v1.0.125 — Pagina Catalogo: ulteriore centratura forzata provenienza/azienda */
.site-main--catalog .gin-card__label,
.site-main--gin-catalog .gin-card__label{
	align-items:center!important;
	text-align:center!important;
}
.site-main--catalog .gin-card__origin,
.site-main--catalog .gin-card__producer,
.site-main--gin-catalog .gin-card__origin,
.site-main--gin-catalog .gin-card__producer{
	text-align:center!important;
	margin-left:auto!important;
	margin-right:auto!important;
}


/* v1.0.126 — Pagina Catalogo: card front-end più compatte, senza radius, testo invertito e titolo ridotto */
.site-main--catalog .entry--gin-catalog,
.site-main--gin-catalog .entry--gin-catalog{
	width:min(100% - 24px, 1320px) !important;
}
.site-main--catalog .gin-catalog-hero,
.site-main--gin-catalog .gin-catalog-hero{
	margin-bottom:clamp(22px, 3.5vw, 44px) !important;
}
.site-main--catalog .gin-catalog-title,
.site-main--gin-catalog .gin-catalog-title{
	font-size:clamp(2.25rem, 6vw, 6.6rem) !important;
}
.site-main--catalog .gin-catalog-grid,
.site-main--gin-catalog .gin-catalog-grid{
	gap:clamp(4px, .55vw, 7px) !important;
	padding-left:clamp(4px, .55vw, 8px) !important;
	padding-right:clamp(4px, .55vw, 8px) !important;
	box-sizing:border-box !important;
}
.site-main--catalog .gin-card,
.site-main--gin-catalog .gin-card{
	flex:0 1 calc((100% - (3 * clamp(4px, .55vw, 7px))) / 4) !important;
}
.site-main--catalog .gin-card__button,
.site-main--catalog .gin-card__media,
.site-main--catalog .gin-card__media img,
.site-main--gin-catalog .gin-card__button,
.site-main--gin-catalog .gin-card__media,
.site-main--gin-catalog .gin-card__media img{
	border-radius:0 !important;
}
.site-main--catalog .gin-card__button,
.site-main--gin-catalog .gin-card__button{
	box-shadow:none !important;
}
.site-main--catalog .gin-card__label,
.site-main--gin-catalog .gin-card__label{
	min-height:68px !important;
	padding:12px 10px 13px !important;
	gap:4px !important;
}
.site-main--catalog .gin-card__producer,
.site-main--gin-catalog .gin-card__producer{
	order:1 !important;
	margin-top:0 !important;
	opacity:.84 !important;
}
.site-main--catalog .gin-card__origin,
.site-main--gin-catalog .gin-card__origin{
	order:2 !important;
	opacity:.62 !important;
}
@media (max-width:1024px){
	.site-main--catalog .gin-card,
	.site-main--gin-catalog .gin-card{
		flex-basis:calc((100% - clamp(4px, .55vw, 7px)) / 2) !important;
	}
}
@media (max-width:767px){
	.site-main--catalog .entry--gin-catalog,
	.site-main--gin-catalog .entry--gin-catalog{
		width:min(100% - 18px, 1320px) !important;
	}
	.site-main--catalog .gin-card,
	.site-main--gin-catalog .gin-card{
		flex-basis:100% !important;
	}
	.site-main--catalog .gin-catalog-title,
	.site-main--gin-catalog .gin-catalog-title{
		font-size:clamp(2.1rem, 14vw, 4.6rem) !important;
	}
}

/* v1.0.129 — Pagina Catalogo: griglia percentuale e filtri front-end eleganti */
.site-main--catalog .entry--gin-catalog,
.site-main--gin-catalog .entry--gin-catalog{
	width:100% !important;
	max-width:1480px !important;
	padding-left:clamp(10px, 1.8vw, 28px) !important;
	padding-right:clamp(10px, 1.8vw, 28px) !important;
	box-sizing:border-box !important;
}
.site-main--catalog .gin-catalog-hero,
.site-main--gin-catalog .gin-catalog-hero{
	width:100% !important;
	max-width:100% !important;
	text-align:center !important;
	margin-left:auto !important;
	margin-right:auto !important;
	margin-bottom:clamp(24px, 4vw, 56px) !important;
}
.site-main--catalog .gin-catalog-title,
.site-main--gin-catalog .gin-catalog-title{
	text-align:center !important;
	margin-left:auto !important;
	margin-right:auto !important;
}
.site-main--catalog .gin-catalog-filters,
.site-main--gin-catalog .gin-catalog-filters{
	display:flex;
	align-items:center;
	justify-content:center;
	flex-wrap:wrap;
	gap:10px;
	width:min(100%, 880px);
	margin:clamp(18px, 2.8vw, 34px) auto 0;
	padding:8px;
	border:1px solid rgba(23,19,15,.13);
	border-radius:999px;
	background:rgba(255,248,239,.74);
	box-shadow:0 18px 45px rgba(23,19,15,.07);
	backdrop-filter:blur(10px);
}
.site-main--catalog .gin-catalog-filter,
.site-main--gin-catalog .gin-catalog-filter{
	display:flex;
	align-items:center;
	gap:10px;
	min-width:min(100%, 260px);
	padding:8px 12px 8px 16px;
	border-radius:999px;
	background:#fff8ef;
	border:1px solid rgba(23,19,15,.10);
	color:var(--color-text-dark);
}
.site-main--catalog .gin-catalog-filter span,
.site-main--gin-catalog .gin-catalog-filter span{
	font-size:.68rem;
	line-height:1;
	letter-spacing:.14em;
	text-transform:uppercase;
	opacity:.58;
	white-space:nowrap;
}
.site-main--catalog .gin-catalog-filter select,
.site-main--gin-catalog .gin-catalog-filter select{
	appearance:none;
	-webkit-appearance:none;
	width:100%;
	min-width:0;
	border:0;
	border-radius:0;
	background:transparent;
	color:var(--color-text-dark);
	font-family:var(--font-body);
	font-size:.92rem;
	line-height:1.2;
	font-weight:600;
	outline:0;
	padding:2px 22px 2px 0;
	cursor:pointer;
	background-image:linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
	background-position:calc(100% - 12px) 50%, calc(100% - 7px) 50%;
	background-size:5px 5px, 5px 5px;
	background-repeat:no-repeat;
}
.site-main--catalog .gin-catalog-filter:focus-within,
.site-main--gin-catalog .gin-catalog-filter:focus-within{
	box-shadow:0 0 0 3px rgba(217,130,75,.24);
	border-color:rgba(217,130,75,.38);
}
.site-main--catalog .gin-catalog-filter-reset,
.site-main--gin-catalog .gin-catalog-filter-reset{
	appearance:none;
	-webkit-appearance:none;
	border:0;
	border-radius:999px;
	padding:10px 16px;
	background:#17130f;
	color:#fff8ef;
	font-family:var(--font-body);
	font-size:.72rem;
	line-height:1;
	letter-spacing:.12em;
	text-transform:uppercase;
	cursor:pointer;
}
.site-main--catalog .gin-catalog-filter-reset[hidden],
.site-main--gin-catalog .gin-catalog-filter-reset[hidden]{
	display:none !important;
}
.site-main--catalog .gin-catalog-grid,
.site-main--gin-catalog .gin-catalog-grid{
	display:flex !important;
	flex-wrap:wrap !important;
	justify-content:center !important;
	align-items:flex-start !important;
	gap:clamp(4px, .55vw, 8px) !important;
	width:100% !important;
	padding-left:clamp(4px, .45vw, 8px) !important;
	padding-right:clamp(4px, .45vw, 8px) !important;
	box-sizing:border-box !important;
}
.site-main--catalog .gin-card,
.site-main--gin-catalog .gin-card{
	flex:0 0 calc((100% - (3 * clamp(4px, .55vw, 8px))) / 4) !important;
	max-width:calc((100% - (3 * clamp(4px, .55vw, 8px))) / 4) !important;
	min-width:0 !important;
}
.site-main--catalog .gin-card[hidden],
.site-main--gin-catalog .gin-card[hidden]{
	display:none !important;
}
.site-main--catalog .gin-card__button,
.site-main--gin-catalog .gin-card__button{
	width:100% !important;
}
.site-main--catalog .gin-card__media,
.site-main--gin-catalog .gin-card__media{
	aspect-ratio:1 / 1 !important;
}
.site-main--catalog .gin-catalog-no-results,
.site-main--gin-catalog .gin-catalog-no-results{
	width:min(100%, 640px);
	margin:clamp(28px, 4vw, 52px) auto 0;
	padding:18px 22px;
	border:1px dashed rgba(23,19,15,.24);
	border-radius:16px;
	text-align:center;
	color:var(--color-text-dark);
}
.site-main--catalog .gin-catalog-no-results[hidden],
.site-main--gin-catalog .gin-catalog-no-results[hidden]{
	display:none !important;
}
@media (max-width:1024px){
	.site-main--catalog .gin-card,
	.site-main--gin-catalog .gin-card{
		flex-basis:calc((100% - clamp(4px, .55vw, 8px)) / 2) !important;
		max-width:calc((100% - clamp(4px, .55vw, 8px)) / 2) !important;
	}
}
@media (max-width:767px){
	.site-main--catalog .entry--gin-catalog,
	.site-main--gin-catalog .entry--gin-catalog{
		padding-left:10px !important;
		padding-right:10px !important;
	}
	.site-main--catalog .gin-catalog-filters,
	.site-main--gin-catalog .gin-catalog-filters{
		border-radius:22px;
		padding:8px;
		gap:8px;
	}
	.site-main--catalog .gin-catalog-filter,
	.site-main--gin-catalog .gin-catalog-filter{
		width:100%;
		min-width:0;
	}
	.site-main--catalog .gin-catalog-filter-reset,
	.site-main--gin-catalog .gin-catalog-filter-reset{
		width:100%;
	}
	.site-main--catalog .gin-card,
	.site-main--gin-catalog .gin-card{
		flex-basis:100% !important;
		max-width:100% !important;
	}
}

/* v1.0.130 — Pagina Catalogo: 4 card desktop a tutta larghezza percentuale reale */
.site-main--catalog .entry--gin-catalog,
.site-main--gin-catalog .entry--gin-catalog{
	width:100% !important;
	max-width:none !important;
	padding-left:clamp(12px, 1.5vw, 24px) !important;
	padding-right:clamp(12px, 1.5vw, 24px) !important;
	box-sizing:border-box !important;
}
.site-main--catalog .gin-catalog-grid,
.site-main--gin-catalog .gin-catalog-grid{
	--gin-catalog-gap:6px;
	display:flex !important;
	flex-wrap:wrap !important;
	align-items:flex-start !important;
	justify-content:center !important;
	gap:var(--gin-catalog-gap) !important;
	width:100% !important;
	max-width:none !important;
	padding-left:0 !important;
	padding-right:0 !important;
	box-sizing:border-box !important;
}
.site-main--catalog .gin-card,
.site-main--gin-catalog .gin-card{
	flex:0 0 calc((100% - (3 * var(--gin-catalog-gap))) / 4) !important;
	width:calc((100% - (3 * var(--gin-catalog-gap))) / 4) !important;
	max-width:calc((100% - (3 * var(--gin-catalog-gap))) / 4) !important;
	min-width:0 !important;
	box-sizing:border-box !important;
}
.site-main--catalog .gin-card__button,
.site-main--gin-catalog .gin-card__button{
	width:100% !important;
	max-width:none !important;
}
.site-main--catalog .gin-card__media,
.site-main--gin-catalog .gin-card__media{
	width:100% !important;
	aspect-ratio:1 / 1 !important;
}
@media (max-width:1024px){
	.site-main--catalog .gin-catalog-grid,
	.site-main--gin-catalog .gin-catalog-grid{
		--gin-catalog-gap:6px;
	}
	.site-main--catalog .gin-card,
	.site-main--gin-catalog .gin-card{
		flex-basis:calc((100% - var(--gin-catalog-gap)) / 2) !important;
		width:calc((100% - var(--gin-catalog-gap)) / 2) !important;
		max-width:calc((100% - var(--gin-catalog-gap)) / 2) !important;
	}
}
@media (max-width:767px){
	.site-main--catalog .entry--gin-catalog,
	.site-main--gin-catalog .entry--gin-catalog{
		padding-left:10px !important;
		padding-right:10px !important;
	}
	.site-main--catalog .gin-card,
	.site-main--gin-catalog .gin-card{
		flex-basis:100% !important;
		width:100% !important;
		max-width:100% !important;
	}
}

/* v1.0.132 — Pagina Catalogo: lightbox prodotto premium con sfondo sfocato */
.site-main--catalog .gin-dialog,
.site-main--gin-catalog .gin-dialog{
	padding:clamp(14px, 3vw, 42px) !important;
}
.site-main--catalog .gin-dialog__panel,
.site-main--gin-catalog .gin-dialog__panel{
	position:relative !important;
	display:grid !important;
	grid-template-columns:minmax(280px, 1fr) minmax(320px, 1fr) !important;
	gap:0 !important;
	width:min(100%, 1120px) !important;
	max-height:min(88vh, 780px) !important;
	overflow:auto !important;
	padding:0 !important;
	border-radius:26px !important;
	background:#0f0c09 !important;
	color:#ffffff !important;
	box-shadow:0 34px 110px rgba(0,0,0,.56) !important;
	isolation:isolate !important;
}
.site-main--catalog .gin-dialog__panel::before,
.site-main--gin-catalog .gin-dialog__panel::before{
	content:"";
	position:absolute;
	inset:-34px;
	z-index:-2;
	background-image:var(--gin-dialog-bg);
	background-size:cover;
	background-position:center;
	filter:blur(28px);
	transform:scale(1.08);
	opacity:.72;
}
.site-main--catalog .gin-dialog__panel::after,
.site-main--gin-catalog .gin-dialog__panel::after{
	content:"";
	position:absolute;
	inset:0;
	z-index:-1;
	background:linear-gradient(90deg, rgba(0,0,0,.42), rgba(0,0,0,.72)), rgba(0,0,0,.36);
}
.site-main--catalog .gin-dialog__close,
.site-main--gin-catalog .gin-dialog__close{
	z-index:4 !important;
	top:14px !important;
	right:14px !important;
	border-color:rgba(255,255,255,.24) !important;
	background:rgba(255,255,255,.92) !important;
	color:#11100d !important;
}
.site-main--catalog .gin-dialog__media,
.site-main--gin-catalog .gin-dialog__media{
	position:relative !important;
	z-index:1 !important;
	align-self:stretch !important;
	width:100% !important;
	height:100% !important;
	min-height:min(74vh, 720px) !important;
	aspect-ratio:auto !important;
	border-radius:0 !important;
	background:rgba(0,0,0,.24) !important;
	overflow:hidden !important;
}
.site-main--catalog .gin-dialog__media img,
.site-main--gin-catalog .gin-dialog__media img{
	width:100% !important;
	height:100% !important;
	min-height:inherit !important;
	object-fit:cover !important;
	object-position:center !important;
}
.site-main--catalog .gin-dialog__content,
.site-main--gin-catalog .gin-dialog__content{
	position:relative !important;
	z-index:1 !important;
	align-self:center !important;
	padding:clamp(38px, 5vw, 72px) clamp(30px, 4.4vw, 62px) !important;
	color:#ffffff !important;
	text-align:left !important;
}
.site-main--catalog .gin-dialog__content h2,
.site-main--gin-catalog .gin-dialog__content h2{
	color:#ffffff !important;
	text-align:left !important;
	margin:0 !important;
}
.site-main--catalog .gin-dialog__origin,
.site-main--gin-catalog .gin-dialog__origin{
	display:flex !important;
	flex-direction:column !important;
	align-items:flex-start !important;
	gap:5px !important;
	margin:clamp(14px, 2vw, 22px) 0 0 !important;
	color:#ffffff !important;
	text-align:left !important;
	opacity:.84 !important;
}
.site-main--catalog .gin-dialog__origin span,
.site-main--gin-catalog .gin-dialog__origin span{
	color:#ffffff !important;
	text-align:left !important;
}
.site-main--catalog .gin-dialog__origin span + span::before,
.site-main--gin-catalog .gin-dialog__origin span + span::before{
	content:none !important;
}
.site-main--catalog .gin-dialog__description,
.site-main--gin-catalog .gin-dialog__description{
	margin:clamp(18px, 3vw, 34px) 0 0 !important;
	padding:0 !important;
	color:#ffffff !important;
	text-align:left !important;
	max-width:none !important;
}
.site-main--catalog .gin-dialog__description *,
.site-main--gin-catalog .gin-dialog__description *{
	color:#ffffff !important;
	text-align:left !important;
}
.site-main--catalog .gin-dialog__description p,
.site-main--gin-catalog .gin-dialog__description p{
	margin-left:0 !important;
	margin-right:0 !important;
}
@media (max-width:767px){
	.site-main--catalog .gin-dialog,
	.site-main--gin-catalog .gin-dialog{
		align-items:flex-end !important;
		padding:10px !important;
	}
	.site-main--catalog .gin-dialog__panel,
	.site-main--gin-catalog .gin-dialog__panel{
		grid-template-columns:1fr !important;
		width:100% !important;
		max-height:90vh !important;
		border-radius:22px !important;
	}
	.site-main--catalog .gin-dialog__panel::after,
	.site-main--gin-catalog .gin-dialog__panel::after{
		background:rgba(0,0,0,.64) !important;
	}
	.site-main--catalog .gin-dialog__media,
	.site-main--gin-catalog .gin-dialog__media{
		order:1 !important;
		width:100% !important;
		height:min(58vh, 430px) !important;
		min-height:280px !important;
		max-height:none !important;
		border-radius:0 !important;
		margin:0 !important;
	}
	.site-main--catalog .gin-dialog__media img,
	.site-main--gin-catalog .gin-dialog__media img{
		min-height:0 !important;
	}
	.site-main--catalog .gin-dialog__content,
	.site-main--gin-catalog .gin-dialog__content{
		order:2 !important;
		padding:26px 22px 30px !important;
		text-align:center !important;
	}
	.site-main--catalog .gin-dialog__content h2,
	.site-main--gin-catalog .gin-dialog__content h2,
	.site-main--catalog .gin-dialog__origin,
	.site-main--gin-catalog .gin-dialog__origin,
	.site-main--catalog .gin-dialog__origin span,
	.site-main--gin-catalog .gin-dialog__origin span,
	.site-main--catalog .gin-dialog__description,
	.site-main--gin-catalog .gin-dialog__description,
	.site-main--catalog .gin-dialog__description *,
	.site-main--gin-catalog .gin-dialog__description *{
		text-align:center !important;
	}
	.site-main--catalog .gin-dialog__origin,
	.site-main--gin-catalog .gin-dialog__origin{
		align-items:center !important;
	}
}


/* v1.0.133 — Pagina Catalogo: lightbox senza scroll orizzontale, titolo ridotto, fondo continuo */
.site-main--catalog .gin-dialog,
.site-main--gin-catalog .gin-dialog{
	overflow-x:hidden !important;
	overflow-y:hidden !important;
	box-sizing:border-box !important;
	padding:clamp(12px, 2.4vw, 34px) !important;
}
.site-main--catalog .gin-dialog__panel,
.site-main--gin-catalog .gin-dialog__panel{
	width:min(calc(100vw - 32px), 1280px) !important;
	max-width:calc(100vw - 32px) !important;
	max-height:min(86vh, 820px) !important;
	overflow:hidden !important;
	box-sizing:border-box !important;
	grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) !important;
	background:rgba(15,12,9,.78) !important;
}
.site-main--catalog .gin-dialog__panel::before,
.site-main--gin-catalog .gin-dialog__panel::before{
	inset:0 !important;
	z-index:-2 !important;
	filter:blur(22px) !important;
	transform:scale(1.12) !important;
	opacity:.82 !important;
}
.site-main--catalog .gin-dialog__panel::after,
.site-main--gin-catalog .gin-dialog__panel::after{
	inset:0 !important;
	z-index:-1 !important;
	background:linear-gradient(90deg, rgba(0,0,0,.30), rgba(0,0,0,.58)), rgba(0,0,0,.22) !important;
}
.site-main--catalog .gin-dialog__media,
.site-main--gin-catalog .gin-dialog__media{
	align-self:stretch !important;
	min-width:0 !important;
	min-height:min(70vh, 720px) !important;
	height:auto !important;
	margin:0 !important;
}
.site-main--catalog .gin-dialog__media img,
.site-main--gin-catalog .gin-dialog__media img{
	display:block !important;
	width:100% !important;
	height:100% !important;
	min-height:min(70vh, 720px) !important;
	object-fit:cover !important;
}
.site-main--catalog .gin-dialog__content,
.site-main--gin-catalog .gin-dialog__content{
	min-width:0 !important;
	box-sizing:border-box !important;
	align-self:stretch !important;
	max-height:min(86vh, 820px) !important;
	overflow-x:hidden !important;
	overflow-y:auto !important;
	padding:clamp(34px, 4.2vw, 64px) clamp(28px, 4vw, 58px) !important;
	scrollbar-width:thin;
	scrollbar-color:rgba(217,130,75,.85) rgba(255,255,255,.14);
}
.site-main--catalog .gin-dialog__content::-webkit-scrollbar,
.site-main--gin-catalog .gin-dialog__content::-webkit-scrollbar{
	width:7px;
}
.site-main--catalog .gin-dialog__content::-webkit-scrollbar-track,
.site-main--gin-catalog .gin-dialog__content::-webkit-scrollbar-track{
	background:rgba(255,255,255,.12);
	border-radius:999px;
}
.site-main--catalog .gin-dialog__content::-webkit-scrollbar-thumb,
.site-main--gin-catalog .gin-dialog__content::-webkit-scrollbar-thumb{
	background:rgba(217,130,75,.86);
	border-radius:999px;
}
.site-main--catalog .gin-dialog__content h2,
.site-main--gin-catalog .gin-dialog__content h2{
	font-size:clamp(2.05rem, 3.05vw, 3.45rem) !important;
	line-height:.96 !important;
	letter-spacing:-.045em !important;
	max-width:100% !important;
	overflow-wrap:anywhere !important;
	word-break:normal !important;
	text-wrap:balance !important;
}
.site-main--catalog .gin-dialog__origin,
.site-main--gin-catalog .gin-dialog__origin,
.site-main--catalog .gin-dialog__description,
.site-main--gin-catalog .gin-dialog__description{
	max-width:100% !important;
}
.site-main--catalog .gin-dialog__description,
.site-main--gin-catalog .gin-dialog__description{
	font-size:clamp(.98rem, 1.15vw, 1.09rem) !important;
	line-height:1.62 !important;
}
.site-main--catalog .gin-dialog__description *,
.site-main--gin-catalog .gin-dialog__description *{
	max-width:100% !important;
	overflow-wrap:break-word !important;
}
@media (min-width:768px){
	.site-main--catalog .gin-dialog__panel,
	.site-main--gin-catalog .gin-dialog__panel{
		min-height:min(68vh, 720px) !important;
	}
}
@media (max-width:767px){
	.site-main--catalog .gin-dialog,
	.site-main--gin-catalog .gin-dialog{
		overflow-x:hidden !important;
		padding:10px !important;
	}
	.site-main--catalog .gin-dialog__panel,
	.site-main--gin-catalog .gin-dialog__panel{
		width:100% !important;
		max-width:calc(100vw - 20px) !important;
		max-height:90vh !important;
		overflow-y:auto !important;
		overflow-x:hidden !important;
		scrollbar-width:thin;
		scrollbar-color:rgba(217,130,75,.85) rgba(255,255,255,.14);
	}
	.site-main--catalog .gin-dialog__media,
	.site-main--gin-catalog .gin-dialog__media{
		min-height:0 !important;
		height:min(54vh, 420px) !important;
	}
	.site-main--catalog .gin-dialog__media img,
	.site-main--gin-catalog .gin-dialog__media img{
		min-height:0 !important;
		height:100% !important;
	}
	.site-main--catalog .gin-dialog__content,
	.site-main--gin-catalog .gin-dialog__content{
		max-height:none !important;
		overflow:visible !important;
		padding:24px 20px 30px !important;
	}
	.site-main--catalog .gin-dialog__content h2,
	.site-main--gin-catalog .gin-dialog__content h2{
		font-size:clamp(2rem, 10vw, 3.1rem) !important;
	}
}

/* v1.0.133 — Pagina Catalogo: popup bloccato, solo descrizione scrollabile */
html.gin-dialog-is-open,
html.gin-dialog-is-open body{
	overflow:hidden !important;
}
.site-main--catalog .gin-dialog,
.site-main--gin-catalog .gin-dialog{
	position:fixed !important;
	inset:0 !important;
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	width:100vw !important;
	height:100vh !important;
	height:100dvh !important;
	padding:clamp(10px, 2vw, 24px) !important;
	overflow:hidden !important;
	box-sizing:border-box !important;
}
.site-main--catalog .gin-dialog[hidden],
.site-main--gin-catalog .gin-dialog[hidden]{
	display:none !important;
}
.site-main--catalog .gin-dialog__backdrop,
.site-main--gin-catalog .gin-dialog__backdrop{
	position:absolute !important;
	inset:0 !important;
}
.site-main--catalog .gin-dialog__panel,
.site-main--gin-catalog .gin-dialog__panel{
	position:relative !important;
	display:grid !important;
	grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) !important;
	width:min(94vw, 1360px) !important;
	height:min(82vh, 780px) !important;
	max-width:calc(100vw - 32px) !important;
	max-height:calc(100dvh - 32px) !important;
	min-height:0 !important;
	gap:0 !important;
	padding:0 !important;
	margin:0 !important;
	overflow:hidden !important;
	box-sizing:border-box !important;
	border-radius:24px !important;
	background:rgba(15,12,9,.58) !important;
	color:#fff !important;
	isolation:isolate !important;
	box-shadow:0 34px 110px rgba(0,0,0,.56) !important;
}
.site-main--catalog .gin-dialog__panel::before,
.site-main--gin-catalog .gin-dialog__panel::before{
	content:"" !important;
	position:absolute !important;
	inset:0 !important;
	z-index:-2 !important;
	background-image:var(--gin-dialog-bg) !important;
	background-size:cover !important;
	background-position:center !important;
	filter:blur(24px) !important;
	transform:scale(1.13) !important;
	opacity:.84 !important;
}
.site-main--catalog .gin-dialog__panel::after,
.site-main--gin-catalog .gin-dialog__panel::after{
	content:"" !important;
	position:absolute !important;
	inset:0 !important;
	z-index:-1 !important;
	background:linear-gradient(90deg, rgba(0,0,0,.28), rgba(0,0,0,.50)), rgba(0,0,0,.20) !important;
}
.site-main--catalog .gin-dialog__close,
.site-main--gin-catalog .gin-dialog__close{
	z-index:5 !important;
	top:14px !important;
	right:14px !important;
	background:rgba(255,255,255,.90) !important;
	color:#11100d !important;
	border:1px solid rgba(255,255,255,.34) !important;
}
.site-main--catalog .gin-dialog__media,
.site-main--gin-catalog .gin-dialog__media{
	position:relative !important;
	z-index:1 !important;
	align-self:stretch !important;
	width:100% !important;
	height:100% !important;
	min-height:0 !important;
	max-height:none !important;
	aspect-ratio:auto !important;
	margin:0 !important;
	padding:0 !important;
	border-radius:0 !important;
	overflow:hidden !important;
	background:rgba(0,0,0,.18) !important;
}
.site-main--catalog .gin-dialog__media img,
.site-main--gin-catalog .gin-dialog__media img{
	display:block !important;
	width:100% !important;
	height:100% !important;
	min-height:0 !important;
	max-height:none !important;
	object-fit:cover !important;
	object-position:center !important;
}
.site-main--catalog .gin-dialog__content,
.site-main--gin-catalog .gin-dialog__content{
	position:relative !important;
	z-index:1 !important;
	display:flex !important;
	flex-direction:column !important;
	align-self:stretch !important;
	justify-content:center !important;
	min-width:0 !important;
	min-height:0 !important;
	height:100% !important;
	max-height:none !important;
	overflow:hidden !important;
	box-sizing:border-box !important;
	padding:clamp(34px, 4vw, 62px) clamp(30px, 4.3vw, 64px) !important;
	color:#fff !important;
	text-align:left !important;
}
.site-main--catalog .gin-dialog__content h2,
.site-main--gin-catalog .gin-dialog__content h2{
	flex:0 0 auto !important;
	margin:0 !important;
	max-width:100% !important;
	color:#fff !important;
	text-align:left !important;
	font-size:clamp(1.65rem, 2.35vw, 2.75rem) !important;
	line-height:1 !important;
	letter-spacing:-.035em !important;
	overflow-wrap:anywhere !important;
	text-wrap:balance !important;
}
.site-main--catalog .gin-dialog__origin,
.site-main--gin-catalog .gin-dialog__origin{
	flex:0 0 auto !important;
	display:flex !important;
	flex-direction:column !important;
	align-items:flex-start !important;
	gap:5px !important;
	margin:clamp(12px, 1.8vw, 20px) 0 0 !important;
	color:#fff !important;
	text-align:left !important;
	opacity:.88 !important;
}
.site-main--catalog .gin-dialog__origin span,
.site-main--gin-catalog .gin-dialog__origin span{
	color:#fff !important;
	text-align:left !important;
}
.site-main--catalog .gin-dialog__origin span + span::before,
.site-main--gin-catalog .gin-dialog__origin span + span::before{
	content:none !important;
}
.site-main--catalog .gin-dialog__description-wrap,
.site-main--gin-catalog .gin-dialog__description-wrap{
	position:relative !important;
	flex:0 1 auto !important;
	min-height:0 !important;
	max-height:clamp(180px, 34vh, 370px) !important;
	margin:clamp(16px, 2.4vw, 30px) 0 0 !important;
	padding-right:28px !important;
	box-sizing:border-box !important;
}
.site-main--catalog .gin-dialog__description,
.site-main--gin-catalog .gin-dialog__description{
	height:100% !important;
	max-height:inherit !important;
	min-height:0 !important;
	margin:0 !important;
	padding:0 !important;
	overflow-x:hidden !important;
	overflow-y:auto !important;
	-webkit-overflow-scrolling:touch !important;
	scrollbar-width:none !important;
	color:#fff !important;
	text-align:left !important;
	font-size:clamp(.96rem, 1.08vw, 1.08rem) !important;
	line-height:1.6 !important;
}
.site-main--catalog .gin-dialog__description::-webkit-scrollbar,
.site-main--gin-catalog .gin-dialog__description::-webkit-scrollbar{
	width:0 !important;
	height:0 !important;
}
.site-main--catalog .gin-dialog__description *,
.site-main--gin-catalog .gin-dialog__description *{
	max-width:100% !important;
	color:#fff !important;
	text-align:left !important;
	overflow-wrap:break-word !important;
}
.site-main--catalog .gin-dialog__description p,
.site-main--gin-catalog .gin-dialog__description p{
	margin-left:0 !important;
	margin-right:0 !important;
}
.site-main--catalog .gin-dialog__scroll-button,
.site-main--gin-catalog .gin-dialog__scroll-button{
	position:absolute !important;
	right:0 !important;
	z-index:3 !important;
	width:22px !important;
	height:22px !important;
	border:1px solid rgba(255,255,255,.30) !important;
	border-radius:999px !important;
	background:rgba(255,248,239,.14) !important;
	color:#fff !important;
	font-size:10px !important;
	line-height:1 !important;
	padding:0 !important;
	cursor:pointer !important;
	opacity:0 !important;
	pointer-events:none !important;
	transition:opacity .18s ease, background .18s ease, transform .18s ease !important;
	backdrop-filter:blur(8px) !important;
}
.site-main--catalog .gin-dialog__scroll-button--up,
.site-main--gin-catalog .gin-dialog__scroll-button--up{
	top:0 !important;
}
.site-main--catalog .gin-dialog__scroll-button--down,
.site-main--gin-catalog .gin-dialog__scroll-button--down{
	bottom:0 !important;
}
.site-main--catalog .gin-dialog__description-wrap.has-scroll .gin-dialog__scroll-button,
.site-main--gin-catalog .gin-dialog__description-wrap.has-scroll .gin-dialog__scroll-button{
	opacity:.92 !important;
	pointer-events:auto !important;
}
.site-main--catalog .gin-dialog__scroll-button:hover,
.site-main--gin-catalog .gin-dialog__scroll-button:hover,
.site-main--catalog .gin-dialog__scroll-button:focus-visible,
.site-main--gin-catalog .gin-dialog__scroll-button:focus-visible{
	background:rgba(217,130,75,.78) !important;
	transform:scale(1.06) !important;
}
.site-main--catalog .gin-dialog__description-wrap:not(.can-scroll-up) .gin-dialog__scroll-button--up,
.site-main--gin-catalog .gin-dialog__description-wrap:not(.can-scroll-up) .gin-dialog__scroll-button--up,
.site-main--catalog .gin-dialog__description-wrap:not(.can-scroll-down) .gin-dialog__scroll-button--down,
.site-main--gin-catalog .gin-dialog__description-wrap:not(.can-scroll-down) .gin-dialog__scroll-button--down{
	opacity:.28 !important;
}
@media (max-width:767px){
	.site-main--catalog .gin-dialog,
	.site-main--gin-catalog .gin-dialog{
		align-items:center !important;
		justify-content:center !important;
		padding:6px !important;
	}
	.site-main--catalog .gin-dialog__panel,
	.site-main--gin-catalog .gin-dialog__panel{
		grid-template-columns:1fr !important;
		grid-template-rows:minmax(0, 46vh) minmax(0, 1fr) !important;
		width:calc(100vw - 12px) !important;
		height:calc(100dvh - 12px) !important;
		max-width:calc(100vw - 12px) !important;
		max-height:calc(100dvh - 12px) !important;
		border-radius:18px !important;
		overflow:hidden !important;
	}
	.site-main--catalog .gin-dialog__panel::after,
	.site-main--gin-catalog .gin-dialog__panel::after{
		background:rgba(0,0,0,.44) !important;
	}
	.site-main--catalog .gin-dialog__media,
	.site-main--gin-catalog .gin-dialog__media{
		order:1 !important;
		width:100% !important;
		height:100% !important;
		min-height:0 !important;
		margin:0 !important;
		padding:0 !important;
	}
	.site-main--catalog .gin-dialog__content,
	.site-main--gin-catalog .gin-dialog__content{
		order:2 !important;
		justify-content:flex-start !important;
		height:100% !important;
		min-height:0 !important;
		padding:22px 20px 24px !important;
		text-align:center !important;
		overflow:hidden !important;
	}
	.site-main--catalog .gin-dialog__content h2,
	.site-main--gin-catalog .gin-dialog__content h2{
		font-size:clamp(1.75rem, 8vw, 2.7rem) !important;
		text-align:center !important;
	}
	.site-main--catalog .gin-dialog__origin,
	.site-main--gin-catalog .gin-dialog__origin{
		align-items:center !important;
		text-align:center !important;
		margin-top:12px !important;
	}
	.site-main--catalog .gin-dialog__origin span,
	.site-main--gin-catalog .gin-dialog__origin span{
		text-align:center !important;
	}
	.site-main--catalog .gin-dialog__description-wrap,
	.site-main--gin-catalog .gin-dialog__description-wrap{
		flex:1 1 auto !important;
		max-height:none !important;
		min-height:0 !important;
		width:100% !important;
		margin-top:16px !important;
		padding-right:0 !important;
	}
	.site-main--catalog .gin-dialog__description,
	.site-main--gin-catalog .gin-dialog__description{
		max-height:none !important;
		height:100% !important;
		text-align:center !important;
		font-size:1rem !important;
		line-height:1.58 !important;
	}
	.site-main--catalog .gin-dialog__description *,
	.site-main--gin-catalog .gin-dialog__description *{
		text-align:center !important;
	}
	.site-main--catalog .gin-dialog__scroll-button,
	.site-main--gin-catalog .gin-dialog__scroll-button{
		right:50% !important;
		transform:translateX(50%) !important;
		background:rgba(255,248,239,.20) !important;
	}
	.site-main--catalog .gin-dialog__scroll-button:hover,
	.site-main--gin-catalog .gin-dialog__scroll-button:hover,
	.site-main--catalog .gin-dialog__scroll-button:focus-visible,
	.site-main--gin-catalog .gin-dialog__scroll-button:focus-visible{
		transform:translateX(50%) scale(1.06) !important;
	}
}


/* v1.0.134 — Catalog lightbox arrows, mobile menu wrapping, home-screen icon refinements */
.site-main--catalog .gin-dialog__description-wrap:not(.has-scroll) .gin-dialog__scroll-button,
.site-main--gin-catalog .gin-dialog__description-wrap:not(.has-scroll) .gin-dialog__scroll-button,
.site-main--catalog .gin-dialog__description-wrap:not(.can-scroll-up) .gin-dialog__scroll-button--up,
.site-main--gin-catalog .gin-dialog__description-wrap:not(.can-scroll-up) .gin-dialog__scroll-button--up,
.site-main--catalog .gin-dialog__description-wrap:not(.can-scroll-down) .gin-dialog__scroll-button--down,
.site-main--gin-catalog .gin-dialog__description-wrap:not(.can-scroll-down) .gin-dialog__scroll-button--down{
	opacity:0 !important;
	pointer-events:none !important;
	visibility:hidden !important;
}

.site-main--catalog .gin-dialog__description-wrap.has-scroll.can-scroll-up .gin-dialog__scroll-button--up,
.site-main--gin-catalog .gin-dialog__description-wrap.has-scroll.can-scroll-up .gin-dialog__scroll-button--up,
.site-main--catalog .gin-dialog__description-wrap.has-scroll.can-scroll-down .gin-dialog__scroll-button--down,
.site-main--gin-catalog .gin-dialog__description-wrap.has-scroll.can-scroll-down .gin-dialog__scroll-button--down{
	opacity:.92 !important;
	pointer-events:auto !important;
	visibility:visible !important;
}

.fullscreen-menu,
.fullscreen-menu__panel,
.fullscreen-menu__content,
.fullscreen-menu__list{
	overflow-x:hidden !important;
}

@media (max-width:767px){
	.fullscreen-menu__list{
		width:min(88vw, calc(100vw - 28px)) !important;
	}
	.fullscreen-menu__list > li > a,
	.fullscreen-menu__list a{
		white-space:normal !important;
		overflow-wrap:break-word !important;
		word-break:normal !important;
		hyphens:auto !important;
		max-width:100% !important;
		font-size:clamp(1.02rem, 5.75vw, 1.86rem) !important;
		line-height:1.08 !important;
		padding-left:10px !important;
		padding-right:10px !important;
	}
	.fullscreen-menu__list .sub-menu a{
		white-space:normal !important;
		font-size:.78rem !important;
		line-height:1.18 !important;
	}
	.site-main--catalog .gin-dialog__description-wrap,
	.site-main--gin-catalog .gin-dialog__description-wrap{
		padding-right:34px !important;
		padding-left:0 !important;
	}
	.site-main--catalog .gin-dialog__description,
	.site-main--gin-catalog .gin-dialog__description{
		padding-right:0 !important;
	}
	.site-main--catalog .gin-dialog__scroll-button,
	.site-main--gin-catalog .gin-dialog__scroll-button{
		right:2px !important;
		left:auto !important;
		transform:none !important;
	}
	.site-main--catalog .gin-dialog__scroll-button:hover,
	.site-main--gin-catalog .gin-dialog__scroll-button:hover,
	.site-main--catalog .gin-dialog__scroll-button:focus-visible,
	.site-main--gin-catalog .gin-dialog__scroll-button:focus-visible{
		transform:scale(1.06) !important;
	}
}

/* v1.0.135 — Catalog lightbox: mobile without arrows, centered/justified text */
@media (max-width:767px){
	.site-main--catalog .gin-dialog__description-wrap,
	.site-main--gin-catalog .gin-dialog__description-wrap{
		padding-right:0 !important;
		padding-left:0 !important;
	}

	.site-main--catalog .gin-dialog__scroll-button,
	.site-main--gin-catalog .gin-dialog__scroll-button{
		display:none !important;
		visibility:hidden !important;
		opacity:0 !important;
		pointer-events:none !important;
	}

	.site-main--catalog .gin-dialog__content,
	.site-main--gin-catalog .gin-dialog__content,
	.site-main--catalog .gin-dialog__content h2,
	.site-main--gin-catalog .gin-dialog__content h2,
	.site-main--catalog .gin-dialog__origin,
	.site-main--gin-catalog .gin-dialog__origin,
	.site-main--catalog .gin-dialog__origin span,
	.site-main--gin-catalog .gin-dialog__origin span{
		text-align:center !important;
	}

	.site-main--catalog .gin-dialog__origin,
	.site-main--gin-catalog .gin-dialog__origin{
		align-items:center !important;
	}

	.site-main--catalog .gin-dialog__description,
	.site-main--gin-catalog .gin-dialog__description{
		text-align:justify !important;
		text-align-last:center !important;
		padding-left:0 !important;
		padding-right:0 !important;
	}

	.site-main--catalog .gin-dialog__description *,
	.site-main--gin-catalog .gin-dialog__description *{
		text-align:justify !important;
		text-align-last:center !important;
	}
}

/* v1.0.136 — Catalog lightbox: mobile justified text with softer spacing/hyphenation */
@media (max-width:767px){
	.site-main--catalog .gin-dialog__description,
	.site-main--gin-catalog .gin-dialog__description{
		text-align:justify !important;
		text-align-last:left !important;
		hyphens:auto !important;
		-webkit-hyphens:auto !important;
		-ms-hyphens:auto !important;
		overflow-wrap:break-word !important;
		word-break:normal !important;
		word-spacing:normal !important;
		letter-spacing:.005em !important;
		font-size:clamp(.94rem, 3.9vw, 1rem) !important;
		line-height:1.56 !important;
	}

	.site-main--catalog .gin-dialog__description p,
	.site-main--gin-catalog .gin-dialog__description p,
	.site-main--catalog .gin-dialog__description li,
	.site-main--gin-catalog .gin-dialog__description li,
	.site-main--catalog .gin-dialog__description strong,
	.site-main--gin-catalog .gin-dialog__description strong,
	.site-main--catalog .gin-dialog__description em,
	.site-main--gin-catalog .gin-dialog__description em,
	.site-main--catalog .gin-dialog__description span,
	.site-main--gin-catalog .gin-dialog__description span{
		text-align:inherit !important;
		text-align-last:inherit !important;
		hyphens:auto !important;
		-webkit-hyphens:auto !important;
		-ms-hyphens:auto !important;
		overflow-wrap:break-word !important;
		word-break:normal !important;
		word-spacing:normal !important;
	}

	.site-main--catalog .gin-dialog__description p,
	.site-main--gin-catalog .gin-dialog__description p{
		margin-top:0 !important;
		margin-bottom:.82em !important;
	}

	.site-main--catalog .gin-dialog__description p:last-child,
	.site-main--gin-catalog .gin-dialog__description p:last-child{
		margin-bottom:0 !important;
	}
}


/* v1.0.137 — Pagina Catalogo: icona informativa sulle card frontend */
.site-main--catalog .gin-card__media,
.site-main--gin-catalog .gin-card__media{
	position:relative !important;
}

.site-main--catalog .gin-card__info-icon,
.site-main--gin-catalog .gin-card__info-icon{
	position:absolute;
	top:10px;
	right:10px;
	z-index:3;
	display:flex;
	align-items:center;
	justify-content:center;
	width:30px;
	height:30px;
	border:1px solid rgba(255,248,239,.62);
	border-radius:999px;
	background:rgba(17,16,13,.42);
	color:#fff8ef;
	font-family:Georgia, 'Times New Roman', serif;
	font-size:18px;
	font-style:italic;
	font-weight:700;
	line-height:1;
	box-shadow:0 10px 24px rgba(0,0,0,.24);
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
	pointer-events:none;
	transition:background .22s ease, transform .22s ease, border-color .22s ease;
}

.site-main--catalog .gin-card__button:hover .gin-card__info-icon,
.site-main--catalog .gin-card__button:focus-visible .gin-card__info-icon,
.site-main--gin-catalog .gin-card__button:hover .gin-card__info-icon,
.site-main--gin-catalog .gin-card__button:focus-visible .gin-card__info-icon{
	background:rgba(217,130,75,.88);
	border-color:rgba(255,248,239,.9);
	transform:scale(1.05);
}

@media (max-width:767px){
	.site-main--catalog .gin-card__info-icon,
	.site-main--gin-catalog .gin-card__info-icon{
		top:9px;
		right:9px;
		width:28px;
		height:28px;
		font-size:16px;
	}
}


/* v1.0.140 — Home Drinklist: tre card sempre in linea su desktop */
@media (min-width: 1024px){
	.home .site-main .digital-cards__grid--drinklist{
		width:100% !important;
		max-width:none !important;
		margin-left:auto !important;
		margin-right:auto !important;
		display:grid !important;
		grid-template-columns:repeat(3,minmax(0,1fr)) !important;
		gap:clamp(14px,1.4vw,24px) !important;
		align-items:start !important;
	}
	.home .site-main .digital-cards__grid--drinklist .digital-card{
		width:100% !important;
		max-width:none !important;
	}
	.home .site-main .digital-cards__grid--drinklist .digital-card__main-link{
		width:100% !important;
		max-width:none !important;
		margin:0 !important;
	}
	.home .site-main .digital-cards__grid--drinklist .digital-card__visual{
		width:100% !important;
		max-width:none !important;
		aspect-ratio:3/4 !important;
	}
	.home .site-main .digital-cards__grid--drinklist .drinklist-wall__title{
		font-size:clamp(1.55rem,2.45vw,2.85rem) !important;
		line-height:.95 !important;
	}
}

/* v1.0.141 — Home aperitivo: dettagli centrati e CTA evidenti */
.home .aperitivo-catalog .bottom-panel__content,
.home .aperitivo-catalog--interactive .bottom-panel__content,
.home .aperitivo-catalog--interactive:not(.is-static) .bottom-panel__content{
	width:90vw !important;
	max-width:90vw !important;
	margin-left:auto !important;
	margin-right:auto !important;
	display:flex !important;
	flex-direction:column !important;
	align-items:center !important;
	justify-content:flex-start !important;
	text-align:center !important;
}

.home .aperitivo-catalog .bottom-panel__content > *,
.home .aperitivo-catalog--interactive .bottom-panel__content > *,
.home .aperitivo-catalog--interactive:not(.is-static) .bottom-panel__content > *{
	width:100% !important;
	max-width:100% !important;
	margin-left:auto !important;
	margin-right:auto !important;
	text-align:center !important;
}

.home .aperitivo-catalog .bottom-panel__content .section-kicker,
.home .aperitivo-catalog--interactive .bottom-panel__content .section-kicker,
.home .aperitivo-catalog--interactive:not(.is-static) .bottom-panel__content .section-kicker{
	width:auto !important;
	max-width:100% !important;
	display:inline-block !important;
}

.home .aperitivo-catalog .bottom-panel__content h4,
.home .aperitivo-catalog--interactive .bottom-panel__content h4,
.home .aperitivo-catalog--interactive:not(.is-static) .bottom-panel__content h4{
	max-width:90vw !important;
}

.home .aperitivo-catalog .bottom-panel__content p:not(.section-kicker),
.home .aperitivo-catalog--interactive .bottom-panel__content p:not(.section-kicker),
.home .aperitivo-catalog--interactive:not(.is-static) .bottom-panel__content p:not(.section-kicker){
	width:100% !important;
	max-width:90vw !important;
	text-align:center !important;
}

.home .aperitivo-catalog .bottom-panel__content .button,
.home .aperitivo-catalog--interactive .bottom-panel__content .button,
.home .aperitivo-catalog--interactive:not(.is-static) .bottom-panel__content .button{
	width:auto !important;
	max-width:max-content !important;
	align-self:center !important;
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	padding:13px 24px !important;
	border:1px solid var(--color-spritz) !important;
	background:var(--color-spritz) !important;
	color:#ffffff !important;
	text-decoration:none !important;
}

.home .aperitivo-catalog .bottom-panel__content .button:hover,
.home .aperitivo-catalog .bottom-panel__content .button:focus-visible,
.home .aperitivo-catalog--interactive .bottom-panel__content .button:hover,
.home .aperitivo-catalog--interactive .bottom-panel__content .button:focus-visible,
.home .aperitivo-catalog--interactive:not(.is-static) .bottom-panel__content .button:hover,
.home .aperitivo-catalog--interactive:not(.is-static) .bottom-panel__content .button:focus-visible{
	border-color:var(--color-coffee) !important;
	background:var(--color-coffee) !important;
	color:#ffffff !important;
}


/* v1.0.142 — Home aperitivo: dettagli realmente centrati, sheet più basso e CTA arancioni */
body.home > .bottom-panel--aperitivo .bottom-panel__sheet,
body > .bottom-panel--aperitivo .bottom-panel__sheet{
	width:100vw !important;
	max-width:100vw !important;
	height:44svh !important;
	max-height:44svh !important;
	padding:clamp(42px,5vh,58px) 5vw clamp(22px,4vh,36px) !important;
	overflow:hidden !important;
}

body.home > .bottom-panel--aperitivo .bottom-panel__content,
body > .bottom-panel--aperitivo .bottom-panel__content{
	width:90vw !important;
	max-width:90vw !important;
	height:100% !important;
	max-height:calc(44svh - 76px) !important;
	margin-left:auto !important;
	margin-right:auto !important;
	display:flex !important;
	flex-direction:column !important;
	align-items:center !important;
	justify-content:flex-start !important;
	text-align:center !important;
	overflow:auto !important;
}

body.home > .bottom-panel--aperitivo .bottom-panel__content > *,
body > .bottom-panel--aperitivo .bottom-panel__content > *{
	width:100% !important;
	max-width:100% !important;
	margin-left:auto !important;
	margin-right:auto !important;
	text-align:center !important;
}

body.home > .bottom-panel--aperitivo .bottom-panel__content .section-kicker,
body > .bottom-panel--aperitivo .bottom-panel__content .section-kicker{
	width:auto !important;
	display:inline-block !important;
}

body.home > .bottom-panel--aperitivo .bottom-panel__content h4,
body > .bottom-panel--aperitivo .bottom-panel__content h4{
	font-size:clamp(2.1rem,4.2vw,4.6rem) !important;
	line-height:.95 !important;
}

body.home > .bottom-panel--aperitivo .bottom-panel__content p:not(.section-kicker),
body > .bottom-panel--aperitivo .bottom-panel__content p:not(.section-kicker){
	width:100% !important;
	max-width:100% !important;
	font-size:clamp(1rem,1.35vw,1.22rem) !important;
	line-height:1.55 !important;
	margin:clamp(12px,1.8vh,20px) auto clamp(14px,2vh,24px) !important;
	text-align:center !important;
}

body.home > .bottom-panel--aperitivo .bottom-panel__content .button,
body > .bottom-panel--aperitivo .bottom-panel__content .button{
	width:auto !important;
	max-width:max-content !important;
	align-self:center !important;
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	min-height:46px !important;
	padding:0 24px !important;
	border:1px solid var(--color-spritz) !important;
	border-radius:var(--radius-pill) !important;
	background:var(--color-spritz) !important;
	color:#ffffff !important;
	font-weight:700 !important;
	text-decoration:none !important;
	transition:background-color 180ms ease,border-color 180ms ease,transform 180ms ease !important;
}

body.home > .bottom-panel--aperitivo .bottom-panel__content .button:hover,
body.home > .bottom-panel--aperitivo .bottom-panel__content .button:focus-visible,
body > .bottom-panel--aperitivo .bottom-panel__content .button:hover,
body > .bottom-panel--aperitivo .bottom-panel__content .button:focus-visible{
	border-color:var(--color-coffee) !important;
	background:var(--color-coffee) !important;
	color:#ffffff !important;
}

@media (max-width:767px){
	body.home > .bottom-panel--aperitivo .bottom-panel__sheet,
	body > .bottom-panel--aperitivo .bottom-panel__sheet{
		height:58svh !important;
		max-height:58svh !important;
		padding:44px 18px calc(24px + env(safe-area-inset-bottom)) !important;
	}
	body.home > .bottom-panel--aperitivo .bottom-panel__content,
	body > .bottom-panel--aperitivo .bottom-panel__content{
		width:90vw !important;
		max-width:90vw !important;
		max-height:calc(58svh - 72px) !important;
	}
}


/* v1.0.143 — Home aperitivo: X dettagli completamente visibile */
body.home > .bottom-panel--aperitivo .bottom-panel__sheet,
body > .bottom-panel--aperitivo .bottom-panel__sheet{
	overflow:visible !important;
}

body.home > .bottom-panel--aperitivo .bottom-panel__close,
body > .bottom-panel--aperitivo .bottom-panel__close{
	z-index:20 !important;
	top:0 !important;
	transform:translate3d(-50%, -50%, 0) !important;
	clip-path:none !important;
}

body.home > .bottom-panel--aperitivo .bottom-panel__content,
body > .bottom-panel--aperitivo .bottom-panel__content{
	overflow:auto !important;
}
