/* =========================================================
   Errebi Tendaggi — Realizzazioni
   Palette e ritmo ripresi dal sito esistente.
   ========================================================= */

:root {
	--errebi-rosso: #A81916;
	--errebi-rosso-scuro: #8B0000;
	--errebi-inchiostro: #1a1a1a;
	--errebi-grigio: #666666;
	--errebi-bordo: #d0d0d0;
	--errebi-fondo: #F5F5F5;
}

/* ---------- Griglia ---------- */

.errebi-realizzazioni {
	max-width: 1200px;
	margin: 0 auto;
}

.errebi-filtro {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	justify-content: center;
	margin-bottom: 2.5rem;
}

.errebi-filtro__voce {
	background: none;
	border: 1px solid var(--errebi-bordo);
	border-radius: 999px;
	padding: 0.45rem 1.1rem;
	font-size: 0.9rem;
	color: var(--errebi-grigio);
	cursor: pointer;
	transition: border-color 0.15s, color 0.15s;
}

.errebi-filtro__voce:hover {
	border-color: var(--errebi-rosso);
	color: var(--errebi-rosso);
}

.errebi-filtro__voce.is-attiva {
	background: var(--errebi-rosso);
	border-color: var(--errebi-rosso);
	color: #fff;
}

.errebi-filtro__voce:focus-visible,
.errebi-card__link:focus-visible,
.errebi-caso__scatto:focus-visible,
.errebi-bottone:focus-visible {
	outline: 3px solid var(--errebi-rosso);
	outline-offset: 3px;
}

.errebi-griglia {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 2rem 1.75rem;
}

.errebi-card__link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.errebi-card__foto {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--errebi-fondo);
}

.errebi-card__foto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}

.errebi-card__link:hover .errebi-card__foto img {
	transform: scale(1.04);
}

/* Barra brand che compare al passaggio: unico movimento della griglia. */
.errebi-card__foto::after {
	content: "";
	position: absolute;
	inset: auto 0 0 0;
	height: 4px;
	background: var(--errebi-rosso);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.3s ease;
}

.errebi-card__link:hover .errebi-card__foto::after {
	transform: scaleX(1);
}

.errebi-card__testo {
	padding-top: 1rem;
}

.errebi-card__dove {
	font-size: 0.85rem;
	color: var(--errebi-grigio);
	margin: 0 0 0.35rem;
}

.errebi-card__titolo {
	font-size: 1.25rem;
	line-height: 1.25;
	margin: 0 0 0.4rem;
	color: var(--errebi-inchiostro);
}

.errebi-card__link:hover .errebi-card__titolo {
	color: var(--errebi-rosso);
}

.errebi-card__sintesi {
	font-size: 0.95rem;
	color: var(--errebi-grigio);
	margin: 0 0 0.75rem;
	max-width: 42ch;
}

.errebi-tag {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin: 0;
	padding: 0;
}

.errebi-tag li {
	font-size: 0.75rem;
	color: var(--errebi-grigio);
	border: 1px solid var(--errebi-bordo);
	padding: 0.15rem 0.55rem;
	border-radius: 3px;
}

.errebi-vuoto {
	text-align: center;
	color: var(--errebi-grigio);
	max-width: 46ch;
	margin: 2rem auto;
}

/* ---------- Caso studio ---------- */

.errebi-caso__copertina {
	position: relative;
	min-height: 60vh;
	display: flex;
	align-items: flex-end;
	border-bottom: 5px solid var(--errebi-rosso);
}

.errebi-caso__copertina.senza-foto {
	min-height: 0;
	background: var(--errebi-fondo);
	padding-top: 3rem;
}

.errebi-caso__sfondo {
	position: absolute;
	inset: 0;
	overflow: hidden;
}

.errebi-caso__sfondo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.errebi-caso__sfondo::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient( to top, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.25) 55%, rgba(0,0,0,0.05) 100% );
}

.errebi-caso__intestazione {
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
	padding: 3rem 1.5rem 2.5rem;
	width: 100%;
}

.errebi-caso__copertina:not(.senza-foto) .errebi-caso__intestazione {
	color: #fff;
}

.errebi-caso__dove {
	font-size: 0.9rem;
	margin: 0 0 0.6rem;
	opacity: 0.9;
}

.errebi-caso__titolo {
	font-size: clamp( 2rem, 5vw, 3.25rem );
	line-height: 1.08;
	margin: 0;
	max-width: 18ch;
}

.errebi-caso__sintesi {
	font-size: 1.1rem;
	margin: 0.9rem 0 0;
	max-width: 52ch;
	opacity: 0.95;
}

/* Scheda tecnica */

.errebi-caso__scheda {
	background: var(--errebi-fondo);
	padding: 2rem 1.5rem;
}

.errebi-caso__scheda dl {
	max-width: 1200px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 1.5rem 2rem;
}

.errebi-caso__scheda dt {
	font-size: 0.78rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--errebi-rosso);
	margin-bottom: 0.3rem;
}

.errebi-caso__scheda dd {
	margin: 0;
	color: var(--errebi-inchiostro);
	font-size: 1rem;
	line-height: 1.45;
}

/* Racconto */

.errebi-caso__racconto {
	max-width: 68ch;
	margin: 0 auto;
	padding: 3.5rem 1.5rem 1rem;
}

.errebi-caso__racconto section + section {
	margin-top: 2.5rem;
}

.errebi-caso__racconto h2 {
	font-size: 1.4rem;
	color: var(--errebi-rosso);
	margin: 0 0 0.8rem;
}

.errebi-caso__racconto p {
	line-height: 1.7;
	color: var(--errebi-inchiostro);
}

/* Galleria */

.errebi-caso__galleria {
	max-width: 1200px;
	margin: 3rem auto 0;
	padding: 0 1.5rem;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 1rem;
}

.errebi-caso__scatto {
	display: block;
	overflow: hidden;
	background: var(--errebi-fondo);
}

.errebi-caso__scatto img {
	width: 100%;
	height: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	display: block;
}

/* Chiusura */

.errebi-caso__chiusura {
	background: var(--errebi-rosso);
	color: #fff;
	text-align: center;
	padding: 3.5rem 1.5rem;
	margin-top: 4rem;
}

.errebi-caso__chiusura h2 {
	color: #fff;
	margin: 0 0 0.6rem;
	font-size: clamp( 1.5rem, 3vw, 2rem );
}

.errebi-caso__chiusura p {
	margin: 0 auto 1.6rem;
	max-width: 48ch;
	opacity: 0.95;
}

.errebi-bottone {
	display: inline-block;
	background: #fff;
	color: var(--errebi-rosso);
	padding: 0.85rem 2rem;
	text-decoration: none;
	font-weight: 600;
	transition: background 0.15s, color 0.15s;
}

.errebi-bottone:hover {
	background: var(--errebi-inchiostro);
	color: #fff;
}


/* ---------- Neutralizza il contenitore del tema ---------- */

.single-portfolio .entry-header,
.single-portfolio .entry-meta,
.single-portfolio .post-navigation,
.single-portfolio .ast-single-post-order,
.single-portfolio .ast-author-details,
.single-portfolio .read-more {
	display: none !important;
}

/* Il template disegna già la propria larghezza.
   ATTENZIONE alla portata dei selettori: .ast-container è usato da Astra
   anche per header e footer, quindi restiamo dentro #content. */
.single-portfolio #content > .ast-container,
.single-portfolio #content .ast-container,
.single-portfolio #content #primary,
.single-portfolio #content .site-main,
.single-portfolio #content .entry-content,
.single-portfolio #content .ast-article-single {
	max-width: 100% !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

/* Con il layout "page-builder" Astra rende .ast-container un contenitore
   flex: senza questo, l'articolo si dimensiona sul contenuto e resta
   stretto invece di occupare tutta la larghezza. */
.single-portfolio .errebi-caso {
	width: 100%;
	flex: 1 1 100%;
	min-width: 0;
}

.single-portfolio #content #secondary,
.single-portfolio #content .widget-area {
	display: none !important;
}

/* Il colore dei titoli del tema ha specificità alta: la superiamo qui,
   limitandoci alla sola copertina. */
.single-portfolio .errebi-caso__copertina:not(.senza-foto) .errebi-caso__titolo,
.single-portfolio .errebi-caso__copertina:not(.senza-foto) .errebi-caso__dove,
.single-portfolio .errebi-caso__copertina:not(.senza-foto) .errebi-caso__sintesi {
	color: #fff;
}

.single-portfolio .errebi-caso__copertina:not(.senza-foto) .errebi-caso__titolo {
	text-shadow: 0 2px 24px rgba( 0, 0, 0, 0.45 );
}

.single-portfolio .errebi-caso__chiusura h2 {
	color: #fff;
}

/* Mobile */

@media ( max-width: 600px ) {
	.errebi-caso__copertina { min-height: 48vh; }
	.errebi-caso__intestazione { padding: 2rem 1.25rem 1.75rem; }
	.errebi-caso__racconto { padding: 2.5rem 1.25rem 1rem; }
	.errebi-griglia { gap: 1.75rem 1.25rem; }
}

@media ( prefers-reduced-motion: reduce ) {
	.errebi-card__foto img,
	.errebi-card__foto::after {
		transition: none;
	}
	.errebi-card__link:hover .errebi-card__foto img {
		transform: none;
	}
}

/* ---------- Altre immagini (il blocco sotto le card) ----------
   Deve leggersi come una sezione diversa da quella dei progetti: stacco
   marcato sopra, intestazione più piccola, nessuna cornice da card. */

.errebi-altre {
	margin-top: 72px;
	padding-top: 48px;
	border-top: 1px solid var(--errebi-bordo);
}

.errebi-altre__testata {
	max-width: 46rem;
	margin: 0 0 28px;
}

.errebi-altre__titolo {
	font-size: 1.35rem;
	line-height: 1.25;
	margin: 0 0 8px;
	color: var(--errebi-inchiostro);
}

.errebi-altre__testo {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.55;
	color: var(--errebi-grigio);
}

/* La galleria non deve sembrare fatta di schede cliccabili verso una pagina:
   le foto si ingrandiscono e basta. */
.errebi-altre__foto img {
	display: block;
}

@media (max-width: 782px) {
	.errebi-altre {
		margin-top: 48px;
		padding-top: 32px;
	}
	.errebi-altre__titolo {
		font-size: 1.2rem;
	}
}

/* ---------- Briciole di pane ---------- */

.errebi-briciole {
	max-width: 1200px;
	margin: 0 auto;
	padding: 18px 1.5rem 0;
	font-size: 0.85rem;
	color: var(--errebi-grigio);
}
.errebi-briciole a { color: var(--errebi-grigio); text-decoration: none; }
.errebi-briciole a:hover { color: var(--errebi-rosso); text-decoration: underline; }
.errebi-briciole span[aria-hidden] { margin: 0 6px; opacity: .6; }

/* ---------- La scheda dati, in riga ----------
   Non deve fermare la lettura fra il titolo e il racconto: quattro voci
   affiancate, piccole. Su schermi stretti vanno a capo da sole. */

.errebi-caso__scheda--riga dl {
	display: flex;
	flex-wrap: wrap;
	gap: 0 2.5rem;
	margin: 0;
	padding: 1.1rem 0;
	border-top: 1px solid var(--errebi-bordo);
	border-bottom: 1px solid var(--errebi-bordo);
}
.errebi-caso__scheda--riga dl > div {
	flex: 1 1 auto;
	min-width: 0;
	padding: 0.3rem 0;
}
.errebi-caso__scheda--riga dt {
	font-size: 0.7rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--errebi-grigio);
	margin: 0 0 2px;
}
.errebi-caso__scheda--riga dd {
	margin: 0;
	font-size: 0.92rem;
	line-height: 1.4;
	color: var(--errebi-inchiostro);
}

/* ---------- Precedente / successivo ---------- */

.errebi-caso__salto { text-decoration: none; max-width: 17rem; }
.errebi-caso__salto--succ { text-align: right; margin-left: auto; }
.errebi-caso__salto-etichetta {
	display: block;
	font-size: 0.72rem;
	letter-spacing: .07em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--errebi-rosso);
	margin-bottom: 3px;
}
.errebi-caso__salto-titolo {
	display: block;
	font-size: 0.95rem;
	color: var(--errebi-inchiostro);
	line-height: 1.35;
}
.errebi-caso__salto:hover .errebi-caso__salto-titolo { text-decoration: underline; }
.errebi-caso__tutte {
	font-size: 0.88rem;
	color: var(--errebi-grigio);
	text-decoration: none;
	white-space: nowrap;
}
.errebi-caso__tutte:hover { color: var(--errebi-rosso); }

.errebi-bottone--secondario {
	background: transparent;
	color: var(--errebi-inchiostro);
	border: 1px solid var(--errebi-bordo);
}

/* ---------- Fotografia ingrandita ---------- */

.errebi-caso__scatto { cursor: zoom-in; display: block; }
body.errebi-bloccato { overflow: hidden; }

.errebi-lightbox {
	position: fixed;
	inset: 0;
	z-index: 99999;
	background: rgba(10, 10, 10, .93);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 3.5rem 1rem 4rem;
}
.errebi-lightbox[hidden] { display: none; }
.errebi-lightbox__corpo { margin: 0; max-width: 100%; max-height: 100%; text-align: center; }
.errebi-lightbox__corpo img {
	max-width: min(1400px, 100%);
	max-height: 78vh;
	width: auto;
	height: auto;
	object-fit: contain;
}
.errebi-lightbox figcaption {
	color: #e8e8e8;
	font-size: .85rem;
	margin-top: .8rem;
	line-height: 1.4;
}
.errebi-lightbox button {
	position: absolute;
	background: rgba(255, 255, 255, .1);
	border: 0;
	color: #fff;
	cursor: pointer;
	border-radius: 50%;
	width: 46px;
	height: 46px;
	font-size: 1.8rem;
	line-height: 1;
	display: grid;
	place-items: center;
}
.errebi-lightbox button:hover { background: rgba(255, 255, 255, .22); }
.errebi-lightbox button:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.errebi-lightbox__chiudi { top: 1rem; right: 1rem; }
.errebi-lightbox__prec { left: 1rem; }
.errebi-lightbox__succ { right: 1rem; }
.errebi-lightbox__conta {
	position: absolute;
	bottom: 1.2rem;
	left: 0;
	right: 0;
	text-align: center;
	color: #cfcfcf;
	font-size: .8rem;
	margin: 0;
}

@media (max-width: 782px) {
	.errebi-caso__scheda--riga dl { gap: 0 1.5rem; }
	.errebi-caso__scheda--riga dl > div { flex: 1 1 42%; }
	.errebi-lightbox { padding: 3.5rem .5rem 3.5rem; }
	.errebi-lightbox button { width: 40px; height: 40px; }
	.errebi-lightbox__prec { left: .4rem; }
	.errebi-lightbox__succ { right: .4rem; }
}

.errebi-card__tipi {
	margin: 2px 0 0;
	font-size: 0.82rem;
	line-height: 1.4;
	color: var(--errebi-grigio);
}

/* ============================================================
   SCHEDA REALIZZAZIONE — impaginazione rivista (1.9.0)
   Le regole qui sotto vengono dopo e sovrascrivono le precedenti.
   ============================================================ */

/* --- Copertina: non deve mangiarsi la prima schermata --------------------
   Prima era al 60% dell'altezza: su un portatile il contenuto cominciava
   sotto la piega e bisognava scorrere per capire di cosa parlasse la pagina. */
.errebi-caso__copertina { min-height: 52vh; }

/* --- Titolo e sintesi ---------------------------------------------------- */
.errebi-caso__titolo { font-size: clamp( 1.75rem, 4.2vw, 2.9rem ); }
.errebi-caso__sintesi { max-width: 56ch; }

/* --- La scheda dati: griglia, non riga ------------------------------------
   Con valori veri ("Lino chiaro, microfibra oscurante, acrilico tinta unita")
   cinque colonne affiancate diventavano parole incolonnate una sotto l'altra. */
.errebi-caso__scheda--riga dl {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( 210px, 1fr ) );
	gap: 1.1rem 2.5rem;
	padding: 1.4rem 0;
}
.errebi-caso__scheda--riga dl > div { padding: 0; }
.errebi-caso__scheda--riga dd { max-width: 34ch; }

/* --- Racconto: riga di lettura più corta e titoletti meno squillanti ------ */
.errebi-caso__racconto { max-width: 62ch; }
.errebi-caso__racconto h2 {
	font-size: 1.05rem;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--errebi-inchiostro);
	margin: 0 0 0.6rem;
	padding-bottom: 0.5rem;
	border-bottom: 2px solid var(--errebi-rosso);
	display: inline-block;
}

/* --- Galleria: la prima foto apre, le altre seguono ---------------------- */
.errebi-caso__galleria {
	grid-template-columns: repeat( 4, 1fr );
	gap: 0.85rem;
}
.errebi-caso__scatto { grid-column: span 2; }
.errebi-caso__scatto--apertura { grid-column: span 4; }
.errebi-caso__scatto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	aspect-ratio: 4 / 3;
}
.errebi-caso__scatto--apertura img { aspect-ratio: 16 / 9; }

/* --- Chiusura ------------------------------------------------------------ */
.errebi-caso__chiusura { padding-block: 3.5rem; }

/* ---------------------------------------------------------------- TABLET */
@media ( max-width: 900px ) {
	.errebi-caso__galleria { grid-template-columns: repeat( 2, 1fr ); }
	.errebi-caso__scatto,
	.errebi-caso__scatto--apertura { grid-column: span 2; }
	.errebi-caso__scatto--apertura img { aspect-ratio: 3 / 2; }
}

/* --------------------------------------------------------------- TELEFONO */
@media ( max-width: 600px ) {
	.errebi-caso__copertina { min-height: 42vh; }
	.errebi-caso__intestazione { padding: 1.75rem 1.25rem 1.5rem; }
	.errebi-caso__titolo { font-size: clamp( 1.5rem, 7vw, 2rem ); line-height: 1.15; }
	.errebi-caso__sintesi { font-size: 0.95rem; }

	.errebi-caso__scheda--riga dl {
		grid-template-columns: 1fr;
		gap: 0.9rem;
	}
	.errebi-caso__scheda--riga dd { max-width: none; }

	.errebi-caso__racconto { padding: 2.25rem 1.25rem 0.5rem; }
	.errebi-caso__racconto h2 { font-size: 0.95rem; }

	.errebi-caso__galleria {
		grid-template-columns: 1fr;
		gap: 0.6rem;
		padding-inline: 1.25rem;
	}
	.errebi-caso__scatto,
	.errebi-caso__scatto--apertura { grid-column: span 1; }
	.errebi-caso__scatto img,
	.errebi-caso__scatto--apertura img { aspect-ratio: 4 / 3; }

	/* i pulsanti si prendono tutta la riga: più facili da centrare col pollice */
	.errebi-caso__chiusura .errebi-bottone {
		display: block;
		width: 100%;
		margin-inline: 0;
	}
	.errebi-caso__chiusura .errebi-bottone + .errebi-bottone { margin-top: 0.6rem; }
	.errebi-briciole { padding: 14px 1.25rem 0; font-size: 0.8rem; }
}

/* ============================================================
   DUE COLONNE — card dei dati a sinistra, racconto a destra (2.0.0)
   ============================================================ */

.errebi-caso__corpo {
	max-width: 1200px;
	margin: 0 auto;
	padding: 3rem 1.5rem 0;
	display: grid;
	grid-template-columns: 310px minmax( 0, 1fr );
	gap: 3rem;
	align-items: start;
}

/* --- La card dei dati ---------------------------------------------------- */
.errebi-caso__scheda {
	background: var(--errebi-fondo);
	border: 1px solid var(--errebi-bordo);
	border-radius: 10px;
	padding: 1.5rem 1.5rem 1.6rem;
	/* resta a fianco mentre si scorre il racconto */
	position: sticky;
	top: 2rem;
}

.errebi-caso__scheda-titolo {
	font-size: 0.72rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--errebi-rosso);
	margin: 0 0 1.1rem;
	padding: 0 0 0.9rem;
	border-bottom: 1px solid var(--errebi-bordo);
}

/* dentro la card le voci tornano incolonnate, una sotto l'altra */
.errebi-caso__scheda--riga dl,
.errebi-caso__scheda dl {
	display: block;
	padding: 0;
	border: 0;
	margin: 0;
}
.errebi-caso__scheda dl > div { padding: 0; }
.errebi-caso__scheda dl > div + div {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid var(--errebi-bordo);
}
.errebi-caso__scheda dt {
	font-size: 0.68rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--errebi-grigio);
	margin: 0 0 3px;
}
.errebi-caso__scheda dd {
	margin: 0;
	max-width: none;
	font-size: 0.9rem;
	line-height: 1.45;
	color: var(--errebi-inchiostro);
}

/* --- Il racconto, nella colonna di destra -------------------------------- */
.errebi-caso__racconto--colonna {
	max-width: 68ch;
	margin: 0;
	padding: 0;
}

/* ------------------------------------------------------------ TABLET */
@media ( max-width: 900px ) {
	.errebi-caso__corpo {
		grid-template-columns: 1fr;
		gap: 2rem;
		padding-top: 2.25rem;
	}
	/* in colonna singola non ha senso che resti appiccicata in alto */
	.errebi-caso__scheda { position: static; }
	.errebi-caso__racconto--colonna { max-width: 68ch; }
}

/* ---------------------------------------------------------- TELEFONO */
@media ( max-width: 600px ) {
	.errebi-caso__corpo { padding: 1.75rem 1.25rem 0; gap: 1.75rem; }
	.errebi-caso__scheda { padding: 1.25rem; border-radius: 8px; }
	.errebi-caso__racconto--colonna { padding: 0; }
}

/* Senza card, il racconto si prende tutta la larghezza e si centra */
.errebi-caso__corpo--solo {
	grid-template-columns: minmax( 0, 1fr );
	justify-items: center;
}
.errebi-caso__corpo--solo .errebi-caso__racconto--colonna { max-width: 66ch; }

/* ============================================================
   ALLINEAMENTO — una misura sola per tutta la scheda (2.1.0)
   Prima ogni blocco ripeteva max-width e padding per conto suo: bastava
   cambiarne uno perché la pagina andasse fuori asse. Ora la larghezza e il
   margine laterale sono due valori, e tutti i blocchi si agganciano a quelli.
   ============================================================ */

.errebi-caso,
.single-portfolio {
	--errebi-larghezza: 1200px;
	--errebi-lato: 1.5rem;
}

.errebi-briciole,
.errebi-caso__intestazione,
.errebi-caso__corpo,
.errebi-caso__galleria,
.errebi-caso__altri {
	max-width: var( --errebi-larghezza );
	margin-inline: auto;
	padding-inline: var( --errebi-lato );
	width: 100%;
	box-sizing: border-box;
}

/* Le briciole stanno sotto la copertina: sopra un'immagine a tutta larghezza
   restavano orfane e spostate rispetto a tutto il resto. */
.errebi-briciole {
	padding-top: 1.25rem;
	padding-bottom: 0;
}

/* La galleria conserva il suo passo interno */
.errebi-caso__galleria { margin-top: 3rem; }

@media ( max-width: 600px ) {
	.errebi-caso,
	.single-portfolio { --errebi-lato: 1.25rem; }

	.errebi-briciole {
		padding-top: 1rem;
		font-size: 0.8rem;
		/* su schermo stretto il percorso completo va a capo: si tiene su una riga
		   e si fa scorrere, invece di spezzare l'impaginazione */
		white-space: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.errebi-briciole::-webkit-scrollbar { display: none; }
}

/* ============================================================
   IN FONDO ALLA SCHEDA (2.2.0)
   Il blocco era nato per un solo link centrato; poi sono arrivati
   precedente e successivo e le due impostazioni si accavallavano.
   ============================================================ */

.errebi-caso__altri {
	margin-top: 0;
	padding-top: 1.75rem;
	padding-bottom: 3rem;
	border-top: 1px solid var(--errebi-bordo);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	text-align: left;
}

/* Quando non c'è né precedente né successivo — per esempio con una sola
   realizzazione pubblicata — "Vedi tutte" resterebbe schiacciato a sinistra. */
.errebi-caso__tutte:only-child {
	margin-inline: auto;
}

.errebi-caso__tutte {
	border: 1px solid var(--errebi-bordo);
	border-radius: 999px;
	padding: 0.55rem 1.2rem;
	background: #fff;
	transition: border-color .15s, color .15s;
}
.errebi-caso__tutte:hover {
	border-color: var(--errebi-rosso);
	color: var(--errebi-rosso);
}

/* La fascia rossa non deve incollarsi alla navigazione sotto */
.errebi-caso__chiusura { margin-bottom: 0; }

@media ( max-width: 600px ) {
	.errebi-caso__altri {
		flex-direction: column;
		align-items: stretch;
		text-align: center;
		gap: 1rem;
		padding-bottom: 2.5rem;
	}
	.errebi-caso__salto--succ { text-align: center; }
	.errebi-caso__salto { text-align: center; max-width: none; }
	.errebi-caso__tutte { order: 3; }
}

/* ---------- Galleria generale della pagina Realizzazioni ---------- */

.errebi-galleria-generale {
	display: grid;
	grid-template-columns: repeat( auto-fill, minmax( 240px, 1fr ) );
	gap: 0.85rem;
}
.errebi-scatto-generale { display: block; cursor: zoom-in; }
.errebi-scatto-generale img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	aspect-ratio: 4 / 3;
	border-radius: 4px;
}

@media ( max-width: 600px ) {
	.errebi-galleria-generale {
		grid-template-columns: repeat( 2, 1fr );
		gap: 0.5rem;
	}
}

/* Link alle pagine prodotto, in fondo alla scheda (2.5.0) */
.errebi-caso__chiusura .errebi-caso__prodotti { font-size: .95rem; }
.errebi-caso__chiusura .errebi-caso__prodotti a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
