/* Home — gutter da tokens.css (16 / 32 / 100px) */

/* Solo pagina: niente barra di scroll orizzontale (cover GSAP incluso) */
html:has(body.nenne-body--home),
body.nenne-body--home,
body.nenne-body--home:not(.nenne-hero-cut-done) {
	overflow-x: clip;
	max-width: 100%;
}

@supports not (overflow: clip) {
	html:has(body.nenne-body--home),
	body.nenne-body--home,
	body.nenne-body--home:not(.nenne-hero-cut-done) {
		overflow-x: hidden;
	}
}

.nenne-page--home {
	max-width: 100%;
	background-color: var(--nenne-color-bg);
}

.nenne-body--home .nenne-main {
	max-width: 100%;
	background-color: var(--nenne-color-bg);
}

/* Container full-width senza gutter (caso raro) */
.nenne-page--home .container-fluid.g-0 {
	width: 100%;
	margin-inline: 0;
	padding-inline: 0;
}

/* Home — hero (sfondo + contenuto centrato) */

.nenne-home-intro {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	margin-inline: 0;
	padding: 0;
	background-color: var(--nenne-color-bg);
}

/* Hero con sfondo — sticky 100svh + scroll reveal (come Chi siamo) */
.nenne-page--home .nenne-home-intro.nenne-hero-stage.nenne-section {
	padding-block: 0;
	position: sticky;
	top: 0;
	z-index: 1;
	isolation: isolate;
	overflow: hidden;
}

.nenne-page--home .nenne-home-intro.nenne-hero-stage .nenne-home-intro__inner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: var(--nenne-viewport-height);
	max-height: var(--nenne-viewport-height);
	min-height: var(--nenne-viewport-height);
	padding-block: clamp(2rem, 8vh, 4rem);
	padding-inline: var(--nenne-layout-gutter);
	background-color: #000;
	overflow: hidden;
}

/* Hero senza sfondo — blocco centrato statico */
.nenne-home-intro:not(.nenne-hero-stage) .nenne-home-intro__inner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: var(--nenne-viewport-height);
	padding-block: clamp(2rem, 8vh, 4rem);
	padding-inline: var(--nenne-layout-gutter);
}

.nenne-home-intro--has-media {
	background-color: #000;
	color: #fff;
}

/* Con preloader: hero nascosta (solo opacity — layout misurabile da ScrollTrigger) */
body.nenne-preloader-active .nenne-home-intro--has-media .nenne-home-intro__bg {
	opacity: 0;
	pointer-events: none;
}

body.nenne-preloader-done .nenne-home-intro--has-media .nenne-home-intro__bg {
	opacity: 1;
	pointer-events: auto;
}

.nenne-page--home .nenne-home-intro__bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	min-height: 100%;
	overflow: hidden;
}

/* Overlay pieno — leggibilità testi e navbar sopra il media */
.nenne-page--home .nenne-home-intro--has-media .nenne-home-intro__bg::after {
	z-index: 1;
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-color: var(--nenne-intro-overlay);
}

.nenne-page--home .nenne-home-intro__bg::before {
	z-index: 2;
	content: "";
	position: absolute;
	inset: 0;
	background-color: #000;
	opacity: var(--nenne-stage-overlay-opacity, 0);
	pointer-events: none;
}

.nenne-page--home .nenne-home-intro__media[data-hero-media] {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	min-width: 100%;
	min-height: 100%;
	overflow: hidden;
	will-change: transform;
}

.nenne-page--home .nenne-home-intro__media-slot {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	min-width: 100%;
	min-height: 100%;
}

.nenne-page--home .nenne-home-intro__media-slot--mobile {
	display: none;
}

.nenne-page--home .nenne-home-intro__image,
.nenne-page--home .nenne-home-intro__video {
	display: block;
	width: 100%;
	height: 100%;
	min-width: 100%;
	min-height: 100%;
	object-fit: cover;
	object-position: center;
	transform-origin: center center;
	backface-visibility: hidden;
}

@media (max-width: 767.98px) {
	.nenne-page--home .nenne-home-intro--has-mobile-media .nenne-home-intro__media-slot--desktop {
		display: none;
	}

	.nenne-page--home .nenne-home-intro--has-mobile-media .nenne-home-intro__media-slot--mobile {
		display: block;
	}
}

.nenne-main .nenne-page--home .nenne-section:not(.nenne-home-intro) {
	position: relative;
	z-index: 2;
}

.nenne-home-intro__content {
	position: relative;
	z-index: 3;
	width: 100%;
	max-width: var(--nenne-intro-content-max-width);
	margin-inline: auto;
	text-align: center;
}

.nenne-home-intro:not(.nenne-hero-stage) .nenne-home-intro__content {
	z-index: 2;
}

.nenne-home-intro__inner-content {
	--nenne-intro-stack-gap: clamp(1rem, 2.5vh, 1.5rem);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--nenne-intro-stack-gap);
	width: 100%;
	margin-inline: auto;
	text-align: center;
}

/* Solo gap del flex: niente margin-top globali (.nenne-title + .nenne-text, ecc.) */
.nenne-home-intro__inner-content > .nenne-title,
.nenne-home-intro__inner-content > .nenne-text,
.nenne-home-intro__inner-content > .nenne-btn-group {
	margin-block: 0;
}

.nenne-home-intro__inner-content > .nenne-title + .nenne-text,
.nenne-home-intro__inner-content > .nenne-text + .nenne-btn-group {
	margin-top: 0;
}

.nenne-home-intro__inner-content .nenne-wysiwyg > :first-child {
	margin-top: 0;
}

.nenne-home-intro__inner-content .nenne-wysiwyg > :last-child {
	margin-bottom: 0;
}

.nenne-home-intro__inner-content .nenne-wysiwyg > * + * {
	margin-top: 0.75em;
}

.nenne-home-intro__title {
	margin-inline: auto;
	max-width: var(--nenne-intro-title-max-width);
	text-align: center;
	font-size: clamp(40px, 4.5vw, 58px);
	line-height: 1.1;
	font-weight: var(--nenne-title-weight);
	letter-spacing: 0;
}

@media (min-width: 768px) {
	.nenne-home-intro__title {
		font-size: clamp(75px, 5.5vw, 96px);
		font-weight: var(--nenne-title-weight);
		letter-spacing: 0;
	}
}

.nenne-home-intro__text {
	margin-inline: auto;
	max-width: var(--nenne-intro-text-max-width);
	text-align: center;
	line-height: 1.5;
}

.nenne-home-intro--has-media .nenne-home-intro__title,
.nenne-home-intro--has-media .nenne-home-intro__text,
.nenne-home-intro--has-media .nenne-home-intro__text a {
	color: inherit;
}

.nenne-home-intro .nenne-media-overlay {
	display: none;
}

.nenne-home-intro__actions {
	justify-content: center;
	flex-wrap: wrap;
}

/* Hero — primo pulsante pieno, secondo bianco con bordo bianco */
.nenne-home-intro--has-media .nenne-home-intro__actions .nenne-btn {
	border-radius: var(--nenne-btn-radius);
	border-width: 2px;
	border-style: solid;
}

.nenne-home-intro--has-media .nenne-home-intro__actions .nenne-btn:nth-child(1) {
	background-color: var(--nenne-color-primary);
	border-color: var(--nenne-color-primary);
	color: var(--nenne-color-accent-contrast);
	font-weight: 600;
}

.nenne-home-intro--has-media .nenne-home-intro__actions .nenne-btn:nth-child(2) {
	background-color: #ffffff;
	border-color: #ffffff;
	color: var(--nenne-color-primary);
	font-weight: 600;
}

.nenne-home-intro--has-media .nenne-home-intro__actions .nenne-btn:nth-child(1):hover,
.nenne-home-intro--has-media .nenne-home-intro__actions .nenne-btn:nth-child(1):focus-visible,
.nenne-home-intro--has-media .nenne-home-intro__actions .nenne-btn:nth-child(2):hover,
.nenne-home-intro--has-media .nenne-home-intro__actions .nenne-btn:nth-child(2):focus-visible {
	opacity: 0.9;
}

/* Navbar fixed — bianco sulla hero, difference sulle sezioni chiare */
body.nenne-body--home:not(.nenne-mobile-nav-open):not(.nenne-home-hero-scrolled)
	.nenne-site-header--overlay
	.nenne-site-header__menu-link {
	color: #ffffff;
}

body.nenne-body--home:not(.nenne-mobile-nav-open):not(.nenne-home-hero-scrolled)
	.nenne-site-header--overlay
	.nenne-site-header__menu-link.nenne-btn--outline {
	border-color: #ffffff;
	color: #ffffff;
}

body.nenne-body--home:not(.nenne-mobile-nav-open):not(.nenne-home-hero-scrolled)
	.nenne-site-header--overlay
	.nenne-site-header__logo-link,
body.nenne-body--home:not(.nenne-mobile-nav-open):not(.nenne-home-hero-scrolled)
	.nenne-site-header--overlay
	.nenne-site-header__logo-text,
body.nenne-body--home:not(.nenne-mobile-nav-open):not(.nenne-home-hero-scrolled)
	.nenne-site-header--overlay
	.nenne-site-header__burger {
	color: #ffffff;
}

body.nenne-body--home:not(.nenne-mobile-nav-open).nenne-home-hero-scrolled
	.nenne-site-header--overlay {
	mix-blend-mode: difference;
}

body.nenne-body--home .nenne-site-header--overlay .nenne-site-header__menu-link,
body.nenne-body--home .nenne-site-header--overlay .nenne-site-header__logo-link,
body.nenne-body--home .nenne-site-header--overlay .nenne-site-header__logo-text,
body.nenne-body--home .nenne-site-header--overlay .nenne-site-header__burger {
	transition:
		color 0.45s ease,
		border-color 0.45s ease,
		opacity 0.45s ease;
}

body.nenne-body--home .nenne-site-header--overlay .nenne-site-header__logo-img {
	transition: filter 0.45s ease;
}

@media (prefers-reduced-motion: reduce) {
	.nenne-page--home .nenne-home-intro__media[data-hero-media] {
		will-change: auto;
	}

	section.nenne-home-split-1.nenne-section {
		--nenne-split-1-reveal: 1;
		width: 100%;
	}
}

.nenne-main .nenne-section:not(.nenne-about-hero) {
	position: relative;
}

.nenne-main .nenne-section:not(.nenne-about-hero):not(.nenne-home-intro):not(.nenne-home-split-1):not(.nenne-home-split-2):not(.nenne-home-stack):not(.nenne-home-cta) {
	background-color: var(--nenne-color-bg);
}

@media (max-width: 991.98px) {
	.nenne-home-intro {
		--nenne-intro-content-max-width: 52rem;
		--nenne-intro-title-max-width: 48rem;
		--nenne-intro-text-max-width: 42rem;
	}
}

@media (max-width: 767.98px) {
	.nenne-home-intro {
		--nenne-intro-content-max-width: 100%;
		--nenne-intro-title-max-width: 100%;
		--nenne-intro-text-max-width: 100%;
	}

	.nenne-home-carousel__header,
	.nenne-home-cta__inner {
		text-align: start;
	}

	.nenne-home-carousel__header .nenne-title--2,
	.nenne-home-carousel__header .nenne-text,
	.nenne-home-cta .nenne-title--2,
	.nenne-home-cta .nenne-text {
		margin-inline: 0;
		max-width: 100%;
		text-align: start;
	}

	.col-inner.nenne-home-split-1__content,
	.col-inner.nenne-home-split-2__content {
		max-width: 100%;
	}

	.nenne-home-cta .nenne-btn-group {
		justify-content: flex-start;
	}
}

/* Carosello / galleria marquee — padding top disattivato di default (toggle in admin) */
.nenne-home-carousel.nenne-section {
	padding-top: 0;
}

.nenne-home-carousel.nenne-section.nenne-home-carousel--padding-top {
	padding-top: var(--nenne-section-padding-y);
}

.nenne-home-carousel--marquee {
	overflow: hidden;
}

.nenne-home-carousel__header {
	max-width: 52rem;
	margin-inline: auto;
	margin-block-end: clamp(2rem, 5vw, 3.5rem);
	text-align: center;
}

.nenne-home-carousel__header .nenne-text {
	margin-inline: auto;
}

.nenne-home-carousel__viewport {
	overflow: hidden;
	width: 100%;
	min-height: var(--nenne-carousel-slide-height);
}

.nenne-home-carousel__track {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	width: max-content;
	min-height: 100%;
	gap: var(--nenne-carousel-gap);
	padding-block: 1.5rem;
	animation: nenne-home-carousel-marquee var(--nenne-carousel-marquee-duration, 45s) linear infinite;
	animation-play-state: paused;
	will-change: transform;
}

.nenne-home-carousel__track.is-marquee-ready {
	animation-play-state: running;
}

@keyframes nenne-home-carousel-marquee {
	from {
		transform: translate3d(0, 0, 0);
	}

	to {
		transform: translate3d(-50%, 0, 0);
	}
}

.nenne-home-carousel__slide {
	flex: 0 0 auto;
	width: auto;
	max-width: var(--nenne-carousel-slide-width);
	height: 100%;
	overflow: visible;
}

.nenne-home-carousel__slide .nenne-media-frame {
	width: auto;
	max-width: var(--nenne-carousel-slide-width);
	height: 100%;
	transform: rotate(var(--nenne-carousel-slide-rotate, -6deg));
	transform-origin: center center;
}

.nenne-media {
	position: relative;
	overflow: hidden;
}

.nenne-media__image,
.nenne-media__video {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

/* Split — padding desktop (mobile: tokens.css → --nenne-split-section-padding-y-mobile) */
@media (min-width: 768px) {
	.nenne-home-split-1.nenne-split--simple.nenne-section,
	.nenne-home-split-2.nenne-section,
	section.nenne-home-split-1.nenne-section,
	.nenne-main .nenne-page--home .nenne-home-stack.nenne-section {
		padding-block: var(--nenne-split-section-padding-y);
	}
}

/* Split 1 — card con angoli superiori arrotondati (--nenne-split-1-reveal animata in home.js / about.js) */
section.nenne-home-split-1.nenne-section {
	box-sizing: border-box;
	--nenne-split-1-reveal: 0;
	width: calc(
		100% - (1 - var(--nenne-split-1-reveal, 0)) * var(--nenne-split-1-reveal-inset, 3rem)
	);
	max-width: 100%;
	margin-inline: auto;
	background-color: var(--nenne-split-1-content-bg);
	border-radius: var(--nenne-split-1-content-radius) var(--nenne-split-1-content-radius) 0 0;
	overflow: hidden;
}

/* Split ricca (home, 2 foto) — container a filo sezione; gutter su row/colonne */
.nenne-home-split-1:not(.nenne-split--simple).nenne-section .nenne-home__container,
.nenne-home-split-2:not(.nenne-split--simple).nenne-section .nenne-home__container,
.nenne-home-stack .nenne-home__container {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin-inline: 0;
	padding-inline: 0;
}

/* Split semplice — col-6 + container standard (tokens); un solo media */
.nenne-split--simple .nenne-home__container > .row {
	margin-inline: 0;
	max-width: 100%;
	padding-inline: 0;
	overflow: hidden;
}

.nenne-split--simple .col-inner.nenne-home-split-1__media,
.nenne-split--simple .col-inner.nenne-home-split-2__media {
	display: block;
	width: 100%;
	max-width: 100%;
	padding-top: 0;
	overflow: hidden;
}

.nenne-split--simple .nenne-media-frame {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin-top: 0;
	aspect-ratio: var(--nenne-split-media-aspect-ratio);
	border-radius: var(--nenne-split-media-radius);
	overflow: hidden;
	background-color: var(--nenne-color-border);
	transform-origin: center center;
}

/* Chi siamo split semplice — inclinazione (animata in about.js) + contenimento overflow */
body.nenne-body--chi-siamo .nenne-page--chi-siamo .nenne-split--simple.nenne-section {
	overflow-x: clip;
}

body.nenne-body--chi-siamo .nenne-page--chi-siamo .nenne-split--simple .nenne-home__container {
	overflow-x: clip;
}

body.nenne-body--chi-siamo .nenne-page--chi-siamo .nenne-split--simple .nenne-home__container > .row {
	overflow-x: clip;
	overflow-y: visible;
}

body.nenne-body--chi-siamo .nenne-page--chi-siamo .nenne-home-split-1.nenne-split--simple {
	--nenne-split-simple-media-rotate: var(--nenne-split-simple-media-rotate-1);
}

body.nenne-body--chi-siamo .nenne-page--chi-siamo .nenne-home-split-2.nenne-split--simple {
	--nenne-split-simple-media-rotate: var(--nenne-split-simple-media-rotate-2);
}

body.nenne-body--chi-siamo .nenne-page--chi-siamo .nenne-split--simple .col-inner.nenne-home-split-1__media,
body.nenne-body--chi-siamo .nenne-page--chi-siamo .nenne-split--simple .col-inner.nenne-home-split-2__media {
	overflow: visible;
	padding-block: 0.75rem;
}

body.nenne-body--chi-siamo .nenne-page--chi-siamo .nenne-split--simple .nenne-home__container > .row > .col-12:has(.nenne-home-split-1__media),
body.nenne-body--chi-siamo .nenne-page--chi-siamo .nenne-split--simple .nenne-home__container > .row > .col-12:has(.nenne-home-split-2__media) {
	box-sizing: border-box;
	padding-inline: var(--nenne-split-simple-media-safe-inline);
}

.nenne-split--simple .nenne-media-frame .nenne-media,
.nenne-split--simple .nenne-media-frame .nenne-media__image,
.nenne-split--simple .nenne-media-frame .nenne-media__video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.col-inner.nenne-home-split-1__content {
	max-width: 640px;
}

.nenne-home-split-1:not(.nenne-split--simple) .col-inner.nenne-home-split-1__media,
.nenne-home-split-2:not(.nenne-split--simple) .col-inner.nenne-home-split-2__media {
	display: block;
	width: 100%;
	max-width: 100%;
	overflow: visible;
	padding-top: var(--nenne-split-media-offset-compensate);
}

/* Row split ricca — spazio per margin-top negativo prima foto */
.nenne-home-split-1:not(.nenne-split--simple) .nenne-home__container > .row,
.nenne-home-split-2:not(.nenne-split--simple) .nenne-home__container > .row {
	overflow: visible;
}

/* Split — due foto affiancate, ciascuna ~50% del contenitore media */
.nenne-home-split-1__media-stack,
.nenne-home-split-2__media-stack {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	gap: var(--nenne-split-media-gap);
	width: 100%;
	max-width: 100%;
}

.nenne-home-split-1__media-stack > .nenne-media-frame,
.nenne-home-split-2__media-stack > .nenne-media-frame,
.nenne-home-split-1__media-extra .nenne-media-frame,
.nenne-home-split-2__media-extra .nenne-media-frame {
	box-sizing: border-box;
	display: grid;
	grid-template: 1fr / 1fr;
	flex: 1 1 0;
	min-width: 0;
	width: 100%;
	height: auto;
	aspect-ratio: var(--nenne-split-media-aspect-ratio);
	border-radius: var(--nenne-split-media-radius);
	overflow: hidden;
	background-color: var(--nenne-color-border);
	transform-origin: center center;
}

.nenne-home-split-1__media-stack > .nenne-media-frame,
.nenne-home-split-2__media-stack > .nenne-media-frame {
	margin-top: var(--nenne-split-media-offset-up);
	transform: rotate(var(--nenne-split-media-rotate-1));
}

.nenne-home-split-1__media-extra .nenne-media-frame,
.nenne-home-split-2__media-extra .nenne-media-frame {
	transform: rotate(var(--nenne-split-media-rotate-2));
}

.nenne-home-split-1__media-extra,
.nenne-home-split-2__media-extra {
	flex: 1 1 0;
	min-width: 0;
	margin: 0;
}

@media (min-width: 992px) {
	section.nenne-home-split-1.nenne-section {
		--nenne-split-1-reveal: 0;
		width: calc(
			100% - (1 - var(--nenne-split-1-reveal, 0)) * var(--nenne-split-1-reveal-inset, 3rem)
		);
	}

	.nenne-home-split-1:not(.nenne-split--simple) .nenne-home__container > .row,
	.nenne-home-split-2:not(.nenne-split--simple) .nenne-home__container > .row {
		--bs-gutter-x: var(--nenne-split-column-gap);
		box-sizing: border-box;
		padding-inline: var(--nenne-layout-gutter);
	}

	.col-inner.nenne-home-split-1__content {
		margin-inline-end: 0;
	}

	.col-inner.nenne-home-split-1__media {
		justify-content: flex-start;
	}

	.col-inner.nenne-home-split-2__media {
		justify-content: flex-end;
	}

	/* Chi siamo — split semplice: media più piccole + cap altezza */
	body.nenne-body--chi-siamo .nenne-page--chi-siamo .nenne-split--simple .nenne-media-frame {
		width: min(100%, var(--nenne-split-simple-media-max-width));
		max-width: var(--nenne-split-simple-media-max-width);
		max-height: var(--nenne-split-simple-media-max-height);
		height: auto;
	}

}

@media (min-width: 992px) and (max-width: 1024px) {
	.nenne-home-split-1:not(.nenne-split--simple) .nenne-home__container > .row,
	.nenne-home-split-2:not(.nenne-split--simple) .nenne-home__container > .row {
		--bs-gutter-x: 0;
		--bs-gutter-y: 64px;
	}
}

/* Mobile / tablet — split ricca, stack */
@media (max-width: 991.98px) {
	.nenne-home-split-1:not(.nenne-split--simple).nenne-section .nenne-home__container,
	.nenne-home-split-2:not(.nenne-split--simple).nenne-section .nenne-home__container,
	.nenne-home-stack .nenne-home__container {
		width: 100%;
		max-width: 100%;
		margin-inline: 0;
		padding-inline: 0;
	}

	.nenne-split--simple.nenne-section .nenne-home__container > .row > .col-12 {
		padding-inline: 0;
	}

	body.nenne-body--chi-siamo .nenne-page--chi-siamo .nenne-split--simple .nenne-home__container > .row > .col-12:has(.nenne-home-split-1__media),
	body.nenne-body--chi-siamo .nenne-page--chi-siamo .nenne-split--simple .nenne-home__container > .row > .col-12:has(.nenne-home-split-2__media) {
		padding-inline: calc(
			var(--nenne-layout-gutter) + var(--nenne-split-simple-media-safe-inline)
		);
	}

	body.nenne-body--chi-siamo .nenne-page--chi-siamo .nenne-split--simple .nenne-media-frame {
		width: var(--nenne-split-simple-media-frame-width-mobile);
		max-width: min(100%, var(--nenne-split-simple-media-frame-width-mobile));
		max-height: none;
		margin-inline: auto;
	}

	/* Ogni sezione home resta nel viewport; le foto non vengono clipate */
	.nenne-page--home .nenne-section {
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		overflow-x: hidden;
	}

	/* Su mobile niente reveal larghezza (resta 100%); su desktop vedi @media (min-width: 992px) */
	section.nenne-home-split-1.nenne-section {
		--nenne-split-1-reveal: 1;
		width: 100%;
	}

	.nenne-home-split-1:not(.nenne-split--simple) .nenne-home__container > .row,
	.nenne-home-split-2:not(.nenne-split--simple) .nenne-home__container > .row {
		--bs-gutter-y: var(--nenne-split-row-gap-mobile);
		margin-inline: 0;
		max-width: none;
	}

	.nenne-home-split-1:not(.nenne-split--simple) .nenne-home__container > .row > .col-12:first-child,
	.nenne-home-split-2:not(.nenne-split--simple) .nenne-home__container > .row > .col-12:first-child {
		padding-top: 0;
	}

	.nenne-home-split-1:not(.nenne-split--simple).nenne-section .nenne-home__container > .row > .col-12,
	.nenne-home-split-2:not(.nenne-split--simple).nenne-section .nenne-home__container > .row > .col-12 {
		box-sizing: border-box;
		padding-inline: var(--nenne-layout-gutter);
	}

	.nenne-home-split-1:not(.nenne-split--simple) .nenne-home__container > .row > .col-12:has(.nenne-home-split-1__media),
	.nenne-home-split-2:not(.nenne-split--simple) .nenne-home__container > .row > .col-12:has(.nenne-home-split-2__media) {
		padding-inline: calc(
			var(--nenne-layout-gutter) + var(--nenne-split-media-mobile-safe-inline)
		);
	}

	.nenne-home-split-1__media-stack,
	.nenne-home-split-2__media-stack,
	.nenne-home-stack .nenne-home-split__media-pair {
		display: flex;
		flex-flow: row nowrap;
		align-items: flex-start;
		justify-content: center;
		gap: var(--nenne-split-media-gap-mobile);
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		overflow: visible;
	}

	/* Come colonna media split 1/2 */
	.nenne-home-stack .nenne-home-split__media-pair {
		padding-inline: calc(
			var(--nenne-layout-gutter) + var(--nenne-split-media-mobile-safe-inline)
		);
		padding-top: var(--nenne-split-media-offset-compensate);
	}

	.nenne-home-stack .nenne-home-split__media-pair > .nenne-home-split__media--start,
	.nenne-home-stack .nenne-home-split__media-pair > .nenne-home-split__media--end {
		display: block;
		flex: 0 0 auto;
		width: auto;
		max-width: none;
		min-width: 0;
	}

	.nenne-home-stack .nenne-home-split__media-pair .nenne-home-split__media-side {
		width: auto;
		max-width: none;
		padding: 0;
	}

	.nenne-home-split-1__media-stack > .nenne-media-frame,
	.nenne-home-split-1__media-extra,
	.nenne-home-split-2__media-stack > .nenne-media-frame,
	.nenne-home-split-2__media-extra,
	.nenne-home-stack .nenne-home-split__media-pair > .nenne-home-split__media--start,
	.nenne-home-stack .nenne-home-split__media-pair > .nenne-home-split__media--end {
		flex: 0 0 auto;
		min-width: 0;
		margin-top: 0;
	}

	.nenne-home-split-1__media-stack > .nenne-media-frame,
	.nenne-home-split-1__media-extra .nenne-media-frame,
	.nenne-home-split-2__media-stack > .nenne-media-frame,
	.nenne-home-split-2__media-extra .nenne-media-frame,
	.nenne-home-stack .nenne-home-split__media-pair .nenne-media-frame {
		width: var(--nenne-split-media-frame-width-mobile);
		max-width: min(100%, var(--nenne-split-media-frame-width-mobile));
	}

	.nenne-home-split-1__media-stack > .nenne-media-frame,
	.nenne-home-split-2__media-stack > .nenne-media-frame,
	.nenne-home-stack .nenne-home-split__media-pair > .nenne-home-split__media--start .nenne-media-frame {
		margin-top: var(--nenne-split-media-offset-up);
		transform: rotate(var(--nenne-split-media-rotate-1));
	}

	.nenne-home-split-1__media-extra .nenne-media-frame,
	.nenne-home-split-2__media-extra .nenne-media-frame,
	.nenne-home-stack .nenne-home-split__media-pair > .nenne-home-split__media--end .nenne-media-frame {
		transform: rotate(var(--nenne-split-media-rotate-2));
	}

	.nenne-home-split-1:not(.nenne-split--simple) .col-inner.nenne-home-split-1__media,
	.nenne-home-split-2:not(.nenne-split--simple) .col-inner.nenne-home-split-2__media {
		overflow: visible;
		padding-top: var(--nenne-split-media-offset-compensate);
	}

	.nenne-home-carousel__viewport {
		max-width: 100%;
	}

	.nenne-home-stack .nenne-home-split__media--start,
	.nenne-home-stack .nenne-home-split__media--end {
		overflow: visible;
	}

	/* Stack — testo: stesso gutter laterale delle altre sezioni (container a padding 0) */
	.nenne-home-stack .nenne-home-split__content-inner {
		box-sizing: border-box;
		padding-inline: var(--nenne-layout-gutter);
	}
}

.nenne-home-split-1 [data-section-text] {
	will-change: transform, opacity;
}

/* Video con controlli — split 1, split 2, stack */
.nenne-video-player {
	position: relative;
	width: 100%;
	cursor: pointer;
}

.nenne-media__video--controlled {
	display: block;
	width: 100%;
}

.nenne-video-player__center {
	position: absolute;
	inset: 0;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	color: #ffffff;
	transition: opacity 0.25s ease;
}

.nenne-video-player.is-playing .nenne-video-player__center {
	opacity: 0;
}

.nenne-video-player__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	filter: drop-shadow(0 2px 8px rgb(0 0 0 / 0.35));
}

.nenne-video-player__icon[hidden] {
	display: none;
}

.nenne-video-player__btn--mute {
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 4;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background-color: rgb(20 20 20 / 0.72);
	color: #ffffff;
	cursor: pointer;
	transition: opacity 0.2s ease, background-color 0.2s ease;
}

.nenne-video-player__btn--mute:hover,
.nenne-video-player__btn--mute:focus-visible {
	opacity: 0.9;
	background-color: rgb(20 20 20 / 0.88);
}

.nenne-home-split-1__media-stack .nenne-media-frame .nenne-media,
.nenne-home-split-2__media-stack .nenne-media-frame .nenne-media {
	grid-area: 1 / 1;
	width: 100%;
	min-width: 0;
	height: 100%;
	min-height: 0;
	max-width: none;
	max-height: none;
	overflow: hidden;
}

.nenne-home-split-1__media-stack .nenne-media-frame .nenne-media__image,
.nenne-home-split-1__media-stack .nenne-media-frame .nenne-media__video,
.nenne-home-split-2__media-stack .nenne-media-frame .nenne-media__image,
.nenne-home-split-2__media-stack .nenne-media-frame .nenne-media__video {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	object-fit: cover;
	object-position: center;
	transform-origin: 50% 50%;
	will-change: transform, opacity;
}

.nenne-home-split-1__media-stack .nenne-media-frame .nenne-video-player,
.nenne-home-split-2__media-stack .nenne-media-frame .nenne-video-player {
	grid-area: 1 / 1;
	width: 100%;
	min-width: 0;
	height: 100%;
	min-height: 0;
	max-width: none;
}

@media (prefers-reduced-motion: reduce) {
	.nenne-home-split-1 [data-section-text],
	.nenne-home-split-1__media-stack .nenne-media__image,
	.nenne-home-split-1__media-stack .nenne-media__video {
		opacity: 1 !important;
		transform: none !important;
		will-change: auto;
	}

	.nenne-home-split-1__media-stack > .nenne-media-frame {
		transform: rotate(var(--nenne-split-media-rotate-1)) !important;
	}

	.nenne-home-split-1__media-extra .nenne-media-frame {
		transform: rotate(var(--nenne-split-media-rotate-2)) !important;
	}
}

/* Sfondo: variabile --nenne-home-split-2-bg impostata inline sulla <section> dal metafield colore */
.nenne-home-split-2 {
	background-color: var(--nenne-home-split-2-bg, var(--nenne-color-bg));
}

.col-inner.nenne-home-split-2__content {
	max-width: 550px;
}

.nenne-home-split-2--custom-accent {
	--nenne-home-split-2-btn-label: var(--nenne-home-split-2-bg, var(--nenne-color-bg));
}

.nenne-home-split-2--custom-accent .nenne-title,
.nenne-home-split-2--custom-accent .nenne-text,
.nenne-home-split-2--custom-accent .nenne-wysiwyg,
.nenne-home-split-2--custom-accent .nenne-wysiwyg a {
	color: var(--nenne-home-split-2-accent);
}

.nenne-home-split-2--custom-accent .nenne-btn--filled {
	background-color: var(--nenne-home-split-2-accent);
	border-color: var(--nenne-home-split-2-accent);
	color: var(--nenne-home-split-2-btn-label);
}

.nenne-home-split-2--custom-accent .nenne-btn--outline {
	background-color: transparent;
	color: var(--nenne-home-split-2-accent);
	border-color: var(--nenne-home-split-2-accent);
}

.nenne-home-split-2--custom-accent .nenne-btn--underline {
	color: var(--nenne-home-split-2-accent);
}

.nenne-home-split-2 [data-section-text] {
	will-change: transform, opacity;
}

@media (prefers-reduced-motion: reduce) {
	.nenne-home-split-2 [data-section-text],
	.nenne-home-split-2__media-stack .nenne-media__image,
	.nenne-home-split-2__media-stack .nenne-media__video {
		opacity: 1 !important;
		transform: none !important;
		will-change: auto;
	}

	.nenne-home-split-2__media-stack > .nenne-media-frame {
		transform: rotate(var(--nenne-split-media-rotate-1)) !important;
	}

	.nenne-home-split-2__media-extra .nenne-media-frame {
		transform: rotate(var(--nenne-split-media-rotate-2)) !important;
	}

	.nenne-home-stack .nenne-home-split__media-side--start .nenne-media-frame {
		transform: rotate(var(--nenne-split-media-rotate-1)) !important;
	}

	.nenne-home-stack .nenne-home-split__media-side--end .nenne-media-frame {
		transform: rotate(var(--nenne-split-media-rotate-2)) !important;
	}

	body.nenne-body--chi-siamo .nenne-page--chi-siamo .nenne-home-split-1.nenne-split--simple .nenne-media-frame {
		transform: rotate(var(--nenne-split-simple-media-rotate-1)) !important;
	}

	body.nenne-body--chi-siamo .nenne-page--chi-siamo .nenne-home-split-2.nenne-split--simple .nenne-media-frame {
		transform: rotate(var(--nenne-split-simple-media-rotate-2)) !important;
	}
}

/* Split / stack — 3 colonne: media sinistra | testo centro | media destra */
.nenne-home-split__layout {
	display: grid;
	align-items: center;
	gap: clamp(1.5rem, 4vw, var(--nenne-split-column-gap, 128px));
	width: 100%;
}

.nenne-home-split__layout--cols-3 {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) minmax(0, 1fr);
}

.nenne-home-split__layout--cols-2 {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
}

.nenne-home-split__layout--cols-1 {
	grid-template-columns: minmax(0, 1fr);
}

.nenne-home-split__content {
	display: flex;
	justify-content: center;
	min-width: 0;
}

.nenne-home-split__content-inner {
	width: 100%;
	max-width: 36rem;
	margin-inline: auto;
	text-align: center;
}

.nenne-home-split__content-inner .nenne-title--2,
.nenne-home-split__content-inner .nenne-text {
	margin-inline: auto;
	text-align: center;
}

.nenne-home-split__actions {
	margin-block-start: clamp(1.25rem, 3vw, 2rem);
}

.nenne-home-split__actions .nenne-btn-group {
	justify-content: center;
}

.nenne-home-split__media {
	display: flex;
	min-width: 0;
	overflow: visible;
}

.nenne-home-split__media--start {
	justify-content: flex-start;
}

.nenne-home-split__media--end {
	justify-content: flex-end;
}

.nenne-home-split__media-side {
	width: 100%;
	max-width: 100%;
}

.nenne-home-split__media-side .nenne-media-frame {
	box-sizing: border-box;
	display: grid;
	grid-template: 1fr / 1fr;
	width: 100%;
	height: auto;
	aspect-ratio: var(--nenne-split-media-aspect-ratio);
	border-radius: var(--nenne-split-media-radius);
	overflow: hidden;
	background-color: var(--nenne-color-border);
	transform-origin: center center;
}

.nenne-home-split__media-side--start .nenne-media-frame {
	margin-top: var(--nenne-split-media-offset-up);
	transform: rotate(var(--nenne-split-media-rotate-1));
}

.nenne-home-split__media-side--end .nenne-media-frame {
	transform: rotate(var(--nenne-split-media-rotate-2));
}

@media (min-width: 992px) {
	.nenne-home-split__media--start .nenne-home-split__media-side {
		margin-inline-end: auto;
	}

	.nenne-home-split__media--end .nenne-home-split__media-side {
		margin-inline-start: auto;
	}
}

@media (max-width: 991.98px) {
	.nenne-home-split__layout--cols-3:not(.nenne-home-split__layout--stack-pair),
	.nenne-home-split__layout--cols-2 {
		grid-template-columns: minmax(0, 1fr);
		justify-items: center;
	}

	.nenne-home-split__media-side {
		width: var(--nenne-split-media-frame-width-mobile);
		max-width: min(100%, var(--nenne-split-media-frame-width-mobile));
	}

	.nenne-home-stack .nenne-home-split__media-pair .nenne-home-split__media-side {
		width: auto;
		max-width: none;
	}

	.nenne-home-split__media-side--start .nenne-media-frame {
		margin-top: 0;
	}

	.nenne-home-split__layout--cols-2 .nenne-home-split__content {
		order: -1;
	}

	/* Stack mobile — testo sopra, media-pair sotto (stessi token split) */
	.nenne-home-stack .nenne-home-split__layout--stack-pair {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		min-height: 0;
		gap: var(--nenne-split-row-gap-mobile);
	}

	.nenne-home-stack .nenne-home-split__layout--stack-pair .nenne-home-split__content {
		box-sizing: border-box;
		width: 100%;
		min-width: 0;
		max-width: 100%;
	}

	.nenne-home-stack .nenne-home-split__layout--stack-pair .nenne-home-split__content-inner {
		max-width: 100%;
	}

	.nenne-home-split__layout--cols-2 .nenne-home-split__content-inner,
	.nenne-home-split__layout--cols-1 .nenne-home-split__content-inner {
		max-width: 100%;
	}
}

@media (min-width: 992px) {
	/* Stack desktop — 3 colonne (display:contents espande media-pair) */
	.nenne-home-stack .nenne-home-split__layout--stack-pair {
		display: grid;
		grid-template-areas: "start content end";
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) minmax(0, 1fr);
		align-items: center;
		min-height: var(--nenne-home-stack-min-height);
	}

	.nenne-home-stack .nenne-home-split__layout--stack-pair .nenne-home-split__media-pair {
		display: contents;
		padding: 0;
	}

	.nenne-home-stack .nenne-home-split__layout--stack-pair .nenne-home-split__content {
		grid-area: content;
		padding-inline: 0;
	}

	.nenne-home-stack .nenne-home-split__layout--stack-pair .nenne-home-split__media--start {
		grid-area: start;
	}

	.nenne-home-stack .nenne-home-split__layout--stack-pair .nenne-home-split__media--end {
		grid-area: end;
	}
}

.nenne-home-split [data-section-text] {
	will-change: transform, opacity;
}

/* Stack — layout 3 colonne + colori da metafield (esclusa dalla regola .nenne-section generica sopra) */
.nenne-main .nenne-page--home .nenne-home-stack.nenne-section {
	background-color: var(--nenne-color-bg);
}

.nenne-main .nenne-page--home .nenne-home-stack.nenne-section.nenne-home-stack--has-custom-bg {
	background-color: var(--nenne-home-stack-bg);
}

.nenne-home-stack .nenne-home-split__layout--cols-3:not(.nenne-home-split__layout--stack-pair) {
	min-height: var(--nenne-home-stack-min-height);
}

.nenne-home-stack--custom-accent {
	--nenne-home-stack-btn-label: var(--nenne-home-stack-bg, var(--nenne-color-bg));
}

.nenne-home-stack--custom-accent .nenne-home-split__content-inner .nenne-title,
.nenne-home-stack--custom-accent .nenne-home-split__content-inner .nenne-text,
.nenne-home-stack--custom-accent .nenne-home-split__content-inner .nenne-wysiwyg,
.nenne-home-stack--custom-accent .nenne-home-split__content-inner .nenne-wysiwyg a {
	color: var(--nenne-home-stack-accent);
}

.nenne-home-stack--custom-accent .nenne-home-split__content-inner .nenne-btn--filled {
	background-color: var(--nenne-home-stack-accent);
	border-color: var(--nenne-home-stack-accent);
	color: var(--nenne-home-stack-btn-label);
}

.nenne-home-stack--custom-accent .nenne-home-split__content-inner .nenne-btn--outline {
	background-color: transparent;
	color: var(--nenne-home-stack-accent);
	border-color: var(--nenne-home-stack-accent);
}

.nenne-home-stack--custom-accent .nenne-home-split__content-inner .nenne-btn--underline {
	color: var(--nenne-home-stack-accent);
}

/* CTA — ultima sezione home, angoli inferiori arrotondati (come split 1 in alto) */
.nenne-home-cta.nenne-section {
	box-sizing: border-box;
	overflow: hidden;
	background-color: var(--nenne-home-cta-bg, var(--nenne-color-bg));
}

.nenne-home-cta__inner {
	text-align: center;
}

.nenne-home-cta .nenne-title--2 {
	margin-inline: auto;
	max-width: 900px;
}

.nenne-home-cta .nenne-text {
	margin-inline: auto;
	max-width: 650px;
}

.nenne-home-cta .nenne-btn-group {
	justify-content: center;
}

.nenne-home-cta [data-section-text] {
	will-change: transform, opacity;
}

/* Colore custom (solo se metafield accent è impostato — classe aggiunta in PHP) */
.nenne-home-cta--custom-accent {
	--nenne-home-cta-btn-label: var(--nenne-home-cta-bg, var(--nenne-color-bg));
}

.nenne-home-cta--custom-accent .nenne-title,
.nenne-home-cta--custom-accent .nenne-text,
.nenne-home-cta--custom-accent .nenne-wysiwyg,
.nenne-home-cta--custom-accent .nenne-wysiwyg a {
	color: var(--nenne-home-cta-accent);
}

.nenne-home-cta--custom-accent .nenne-btn--filled {
	background-color: var(--nenne-home-cta-accent);
	border-color: var(--nenne-home-cta-accent);
	color: var(--nenne-home-cta-btn-label);
}

.nenne-home-cta--custom-accent .nenne-btn--outline {
	background-color: transparent;
	color: var(--nenne-home-cta-accent);
	border-color: var(--nenne-home-cta-accent);
}

.nenne-home-cta--custom-accent .nenne-btn--underline {
	color: var(--nenne-home-cta-accent);
}

@media (prefers-reduced-motion: reduce) {
	.nenne-home-cta [data-section-text] {
		opacity: 1 !important;
		transform: none !important;
		will-change: auto;
	}
}

/* Gallery — full width, padding e gap 4px (nessun container home) */
.nenne-home-gallery.nenne-section {
	padding-block: 0;
	padding-inline: 0;
}

.nenne-home-gallery__grid {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 1fr;
	gap: 4px;
	width: 100%;
	padding: 4px;
}

@media (min-width: 768px) {
	.nenne-home-gallery__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Testo overlay su immagini — basso sinistra 24px */
.nenne-media-frame {
	position: relative;
	overflow: hidden;
}

.nenne-media-frame--fill {
	width: 100%;
	height: 100%;
}

/* Home — cornice media unificata (radius, cover) */
.nenne-home-carousel__slide .nenne-media-frame,
.nenne-home-gallery__item .nenne-media-frame {
	border-radius: var(--nenne-media-radius);
	overflow: hidden;
	background-color: var(--nenne-color-border);
}

.nenne-main .nenne-media-frame .nenne-media,
.nenne-main .nenne-media-frame .nenne-media__image,
.nenne-main .nenne-media-frame .nenne-media__video,
.nenne-main .nenne-media-frame .nenne-home-carousel__image,
.nenne-main .nenne-media-frame .nenne-home-carousel__video,
.nenne-main .nenne-media-frame .nenne-home-gallery__image {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: center;
}

.nenne-home-split .nenne-media-frame .nenne-media {
	border-radius: var(--nenne-split-media-radius);
}

.nenne-home-carousel__slide .nenne-media-frame .nenne-home-carousel__image,
.nenne-home-carousel__slide .nenne-media-frame .nenne-home-carousel__video,
.nenne-home-gallery__item .nenne-home-gallery__image {
	transform-origin: 50% 50%;
	will-change: transform, opacity;
}

@media (prefers-reduced-motion: reduce) {
	.nenne-home-carousel__slide .nenne-media-frame {
		transform: none;
	}

	.nenne-home-carousel__slide .nenne-media-frame .nenne-home-carousel__image,
	.nenne-home-carousel__slide .nenne-media-frame .nenne-home-carousel__video,
	.nenne-home-gallery__item .nenne-home-gallery__image {
		opacity: 1 !important;
		transform: none !important;
		will-change: auto;
	}
}

.nenne-media-overlay {
	position: absolute;
	left: 24px;
	bottom: 24px;
	z-index: 2;
	max-width: calc(100% - 48px);
	color: #fff;
	font-size: 14px;
	line-height: 1.4;
	pointer-events: none;
}

.nenne-home-gallery__item .nenne-media-frame {
	height: 100%;
	width: 100%;
}

.nenne-home-gallery__item {
	overflow: visible;
	min-width: 0;
	aspect-ratio: var(--nenne-home-media-aspect);
}

@media (prefers-reduced-motion: reduce) {
	.nenne-home-carousel__track {
		animation-duration: calc(var(--nenne-carousel-marquee-duration, 45s) * 2);
	}

	.nenne-home-carousel__slide[aria-hidden='true'] {
		display: none;
	}

	.nenne-home-carousel__slide {
		max-width: min(100%, var(--nenne-carousel-slide-width));
		height: 100%;
	}

	.nenne-home-carousel__slide .nenne-media-frame {
		max-width: min(100%, var(--nenne-carousel-slide-width));
		height: 100%;
	}
}
