/* ==========================================================================
   Noi — hero parallax, intro, timeline storica, banda logo, sezione "oggi"
   NB: i titoli "tofani" / claim usano #91a5b2 (un punto diverso da --c-blue
   #92a5b3): distinzione voluta, presente nell'originale.
   ========================================================================== */

/* ---------- Hero: foto storica full-width ---------- */
.noi-hero { background-position: center top; }
.noi-hero__spacer { height: 574px; } /* 700px originali − 126px nascosti sotto l'header */

@media (max-width: 768px) {
	.noi-hero__spacer { height: 380px; }
}

/* ---------- Intro "tofani" ---------- */
.noi-intro {
	max-width: var(--container-wide);
	margin: 0 auto;
	background: #fff;
}
.noi-intro__title {
	font-family: 'Cinzel', serif;
	font-size: 52px;
	line-height: 1;
	letter-spacing: 4px;
	text-transform: uppercase;
	text-align: center;
	color: #91a5b2;
	margin: 0;
	padding: 100px 0 0;
}
.noi-intro__text {
	padding: 42px 160px 80px;
	text-align: center;
}
.noi-intro__text p {
	font-size: 16px;
	line-height: 27px;
	color: var(--c-text);
	margin: 0 0 1em;
}

@media (max-width: 1024px) {
	.noi-intro__text { padding: 42px 80px 80px; }
}
@media (max-width: 768px) {
	.noi-intro__title { font-size: 36px; letter-spacing: 3px; padding-top: 60px; }
	.noi-intro__text { padding: 30px 24px 50px; }
}

/* ---------- Timeline storica (carosello) ---------- */
.noi-timeline-sec {
	max-width: var(--container-wide);
	margin: 0 auto;
	padding: 20px 15px 0;
}
.noi-timeline { position: relative; }

/* Reveal come la Qi Timeline originale: wrapper in fade 550ms… */
.noi-timeline[data-anim="fade"] { transition: opacity .55s cubic-bezier(.23, 1, .32, 1); }

.noi-timeline__viewport { overflow: hidden; }
.noi-timeline__track {
	display: flex;
	transition: transform .4s ease;
	will-change: transform;
}
.noi-timeline__item {
	position: relative;
	flex: 0 0 33.3333%;
	min-width: 33.3333%;
	padding: 0 15px;
}

/* Linea centrale e punto (si uniscono da card a card) */
.noi-timeline__line {
	position: absolute;
	left: 0; right: 0;
	top: 50%;
	height: 1px;
	background: #ebebeb;
}
.noi-timeline__point {
	position: absolute;
	top: 50%; left: 50%;
	width: 16px; height: 16px;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	background: #111;
	z-index: 2;
}

/* Le due metà: contenuto agganciato alla linea con respiro del 10% */
.noi-timeline__half { display: flex; flex-direction: column; min-height: 300px; }
.noi-timeline__half--top { justify-content: flex-end; padding-bottom: 10%; }
.noi-timeline__half--bottom { justify-content: flex-start; padding-top: 10%; }

.noi-timeline__img { width: 100%; max-width: 454px; margin: 0 auto; overflow: hidden; }
.noi-timeline__img img { display: block; width: 100%; height: auto; }
.noi-timeline__content { text-align: center; }
.noi-timeline__year {
	font-family: 'Cinzel', serif;
	font-size: 19px;
	line-height: 29px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--c-text);
	margin: 0 0 .85em;
}
.noi-timeline__text {
	font-size: 16px;
	line-height: 27px;
	color: var(--c-text);
	margin: 0;
}

/* Frecce laterali (stile Qi: linee sottili, colore scuro) */
.noi-timeline__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: center;
	background: none;
	border: 0;
	padding: 4px;
	color: #111;
	cursor: pointer;
	transition: color .2s ease-out, opacity .2s ease-out;
}
.noi-timeline__nav svg {
	display: block;
	width: 26px;
	height: auto;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
}
.noi-timeline__nav:hover { color: var(--c-blue); }
.noi-timeline__nav--prev { left: 0; }
.noi-timeline__nav--next { right: 0; }
.noi-timeline__nav.is-disabled { opacity: .35; pointer-events: none; }

/* Bullet */
.noi-timeline__bullets {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-top: 46px;
}
.noi-timeline__bullet {
	width: 10px; height: 10px;
	padding: 0;
	border: 1px solid #b9b9b9;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
	transition: background .2s ease, border-color .2s ease;
}
.noi-timeline__bullet:hover { border-color: var(--c-blue); }
.noi-timeline__bullet.is-active { background: var(--c-blue); border-color: var(--c-blue); }

/* …e card che entrano sfalsate verso la linea (come qi horizontal-alternating):
   immagine e contenuto scivolano di ±60px, punti in scale, delay crescenti */
.noi-timeline[data-anim] .noi-timeline__img,
.noi-timeline[data-anim] .noi-timeline__content {
	opacity: 0;
	transition: opacity .55s cubic-bezier(.23, 1, .32, 1), transform .55s cubic-bezier(.23, 1, .32, 1);
}
.noi-timeline[data-anim] .noi-timeline__item--img-top .noi-timeline__img { transform: translateY(-60px); }
.noi-timeline[data-anim] .noi-timeline__item--img-top .noi-timeline__content { transform: translateY(60px); }
.noi-timeline[data-anim] .noi-timeline__item--img-bottom .noi-timeline__img { transform: translateY(60px); }
.noi-timeline[data-anim] .noi-timeline__item--img-bottom .noi-timeline__content { transform: translateY(-60px); }
.noi-timeline[data-anim] .noi-timeline__point {
	opacity: 0;
	transform: translate(-50%, -50%) scale(0);
	transition: opacity .55s cubic-bezier(.23, 1, .32, 1), transform .55s cubic-bezier(.23, 1, .32, 1);
}
.noi-timeline[data-anim] .noi-timeline__item:nth-child(1) .noi-timeline__img { transition-delay: .3s; }
.noi-timeline[data-anim] .noi-timeline__item:nth-child(1) .noi-timeline__point { transition-delay: .4s; }
.noi-timeline[data-anim] .noi-timeline__item:nth-child(1) .noi-timeline__content { transition-delay: .4s; }
.noi-timeline[data-anim] .noi-timeline__item:nth-child(2) .noi-timeline__img { transition-delay: .6s; }
.noi-timeline[data-anim] .noi-timeline__item:nth-child(2) .noi-timeline__point { transition-delay: .7s; }
.noi-timeline[data-anim] .noi-timeline__item:nth-child(2) .noi-timeline__content { transition-delay: .8s; }
.noi-timeline[data-anim] .noi-timeline__item:nth-child(3) .noi-timeline__img { transition-delay: .9s; }
.noi-timeline[data-anim] .noi-timeline__item:nth-child(3) .noi-timeline__point { transition-delay: 1s; }
.noi-timeline[data-anim] .noi-timeline__item:nth-child(3) .noi-timeline__content { transition-delay: 1.2s; }
.noi-timeline[data-anim] .noi-timeline__item:nth-child(4) .noi-timeline__img { transition-delay: 1.2s; }
.noi-timeline[data-anim] .noi-timeline__item:nth-child(4) .noi-timeline__point { transition-delay: 1.3s; }
.noi-timeline[data-anim] .noi-timeline__item:nth-child(4) .noi-timeline__content { transition-delay: 1.6s; }
.noi-timeline[data-anim] .noi-timeline__item:nth-child(5) .noi-timeline__img { transition-delay: 1.5s; }
.noi-timeline[data-anim] .noi-timeline__item:nth-child(5) .noi-timeline__point { transition-delay: 1.6s; }
.noi-timeline[data-anim] .noi-timeline__item:nth-child(5) .noi-timeline__content { transition-delay: 2s; }
.noi-timeline[data-anim] .noi-timeline__item:nth-child(6) .noi-timeline__img { transition-delay: 1.8s; }
.noi-timeline[data-anim] .noi-timeline__item:nth-child(6) .noi-timeline__point { transition-delay: 1.9s; }
.noi-timeline[data-anim] .noi-timeline__item:nth-child(6) .noi-timeline__content { transition-delay: 2.4s; }

.noi-timeline[data-anim].is-in .noi-timeline__img,
.noi-timeline[data-anim].is-in .noi-timeline__content {
	opacity: 1;
	transform: none;
}
.noi-timeline[data-anim].is-in .noi-timeline__point {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
}

@media (max-width: 768px) {
	.noi-timeline__item { flex-basis: 50%; min-width: 50%; }
	.noi-timeline__half { min-height: 240px; }
}
@media (max-width: 680px) {
	.noi-timeline__item { flex-basis: 100%; min-width: 100%; padding: 0 34px; }
	.noi-timeline__bullets { margin-top: 34px; }
}

@media (prefers-reduced-motion: reduce) {
	.noi-timeline[data-anim] .noi-timeline__img,
	.noi-timeline[data-anim] .noi-timeline__content,
	.noi-timeline[data-anim] .noi-timeline__point {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
	.noi-timeline[data-anim] .noi-timeline__point { transform: translate(-50%, -50%) !important; }
	.noi-timeline__track { transition: none; }
}

/* ---------- Banda azzurra con logo watermark ---------- */
.noi-band {
	background: var(--c-blue);
	margin-top: 150px;
	overflow: hidden;
}
.noi-band__spacer { height: 525px; }

@media (max-width: 900px) {
	.noi-band { margin-top: 80px; }
	.noi-band__spacer { height: 340px; }
}

/* ---------- Claim "dal cuore del forno a legna" ---------- */
.noi-claim { text-align: center; padding: 160px 30px; background: #fff; }
.noi-claim__text {
	font-family: 'Cinzel', serif;
	font-size: 26px;
	line-height: 1;
	letter-spacing: 4px;
	text-transform: uppercase;
	color: #91a5b2;
	margin: 0;
}

@media (max-width: 900px) {
	.noi-claim { padding: 80px 24px; }
	.noi-claim__text { font-size: 19px; line-height: 28px; letter-spacing: 3px; }
}

/* ---------- Sezione "2025 / oggi" (ex RevSlider, griglia 1200x800) ---------- */
.noi-oggi { background: #fff; overflow: hidden; }
.noi-oggi__inner {
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
	min-height: 800px;
}
.noi-oggi__photo {
	position: absolute;
	left: -323px;
	bottom: 0;
	width: 658px;
	z-index: 1;
}
.noi-oggi__photo-el { display: block; width: 100%; height: auto; }
.noi-oggi__kicker {
	position: absolute;
	left: 350px;
	top: 150px;
	font-family: 'Playball', cursive;
	font-size: 25px;
	line-height: 50px;
	letter-spacing: -1px;
	color: var(--c-brown);
	z-index: 2;
}
.noi-oggi__title {
	position: absolute;
	left: 350px;
	top: 200px;
	width: min(577px, calc(100% - 370px));
	margin: 0;
	font-family: 'Cinzel', serif;
	font-size: 60px;
	line-height: 70px;
	letter-spacing: -2px;
	text-transform: none;
	color: var(--c-blue);
	z-index: 2;
}
.noi-oggi__text {
	position: absolute;
	left: 350px;
	top: 330px;
	width: min(833px, calc(100% - 380px));
	margin: 0;
	font-family: 'Gantari', sans-serif;
	font-weight: 300;
	font-size: 20px;
	line-height: 30px;
	color: #000;
	z-index: 2;
}

@media (max-width: 1024px) {
	.noi-oggi__inner { min-height: 768px; }
	.noi-oggi__photo { left: -368px; width: 561px; }
	.noi-oggi__kicker, .noi-oggi__title, .noi-oggi__text { left: 220px; }
	.noi-oggi__title { width: min(577px, calc(100% - 240px)); }
	.noi-oggi__text { width: min(710px, calc(100% - 250px)); }
}
@media (max-width: 768px) {
	.noi-oggi__inner { min-height: 0; padding: 60px 24px 70px; text-align: center; }
	.noi-oggi__photo,
	.noi-oggi__kicker,
	.noi-oggi__title,
	.noi-oggi__text { position: static; width: auto; }
	.noi-oggi__photo { max-width: 420px; margin: 0 auto 30px; }
	.noi-oggi__kicker { font-size: 21px; line-height: 40px; }
	.noi-oggi__title { font-size: 24px; line-height: 35px; margin: 0 0 20px; }
	.noi-oggi__text { max-width: 420px; margin: 0 auto; }
}
@media (max-width: 480px) {
	/* Come l'originale: su mobile la foto non viene mostrata */
	.noi-oggi__photo { display: none; }
}
