/* ICCJ Project — componenti frontend. Riusa i token del tema (--iccj-*). */

/* ---------------------------------------------------------- Layout base */
.ipj-wrap { max-width: 1100px; margin-inline: auto; padding: clamp(1.2rem, 3vw, 2.2rem) clamp(1rem, 4vw, 2rem); }
.ipj-band { padding-block: clamp(1.5rem, 4vw, 3rem); }
.ipj-title { margin-top: 2rem; }
.ipj-intro { text-align: center; max-width: 60ch; margin: 0 auto 2rem; color: var(--iccj-grey-light, #7f8082); }
.ipj-desc { max-width: 70ch; margin-inline: auto; }

/* ------------------------------------------- Header Kadence sugli eventi
   Via categoria "Events", "By autore" e data: informazioni che sulla pagina
   evento non servono (la data vera sta nella summary card). Resta solo il
   titolo, senza fascia grigia. */
.ipj-event .entry-hero .entry-taxonomies,
.ipj-event .entry-hero .entry-meta { display: none; }
.ipj-event .hero-section-overlay { display: none; }
.ipj-event .entry-hero.post-hero-section .entry-header { min-height: 0; }
.ipj-event .entry-hero .entry-hero-container-inner,
.ipj-event .entry-hero.post-hero-section { background: none; padding-top: 1.2rem; padding-bottom: 0; }
.ipj-event .entry-hero .entry-title { margin-bottom: 0; }
/* Featured image duplicata: via quando i media guidano la pagina */
.ipj-event--media-first .post-thumbnail.article-post-thumbnail { display: none; }

/* ------------------------------------------------------------ Breadcrumb */
.ipj-crumbs {
	font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; font-weight: 600;
	color: var(--iccj-grey-light, #7f8082); margin-bottom: 1.2rem;
}
.ipj-crumbs a { color: var(--iccj-grey-light, #7f8082); text-decoration: none; }
.ipj-crumbs a:hover { color: var(--iccj-red, #b82d32); }
.ipj-crumbs span { color: var(--iccj-grey, #58595c); }
.ipj-crumbs i { font-style: normal; color: var(--iccj-border, #e3e3e5); margin: 0 .4rem; }

/* ----------------------------------------------------------------- Badge */
.ipj-badge {
	display: inline-block; font-size: .66rem; font-weight: 700; letter-spacing: .08em;
	text-transform: uppercase; padding: .22rem .55rem; border-radius: 3px; vertical-align: middle;
}
.ipj-badge--part { background: var(--iccj-bg-soft, #f7f7f8); color: var(--iccj-grey, #58595c); border: 1px solid var(--iccj-border, #e3e3e5); }
.ipj-badge--tba { background: transparent; color: #a87b2f; border: 1px dashed #a87b2f; }
.ipj-badge--live { background: var(--iccj-red, #b82d32); color: #fff; }
.ipj-badge--done { background: var(--iccj-grey-light, #7f8082); color: #fff; }
.ipj-badge--sold_out { background: #2d2e30; color: #fff; }
.ipj-badge--cancelled { background: var(--iccj-red, #b82d32); color: #fff; }
.ipj-badge--postponed { background: #a87b2f; color: #fff; }

/* ------------------------------------------------------- Summary card
   Pattern "pagina evento" (Luma/Eventbrite): un solo blocco sopra la piega
   con data-tile, quando/dove e CTA. Desktop: tile | righe | CTA.
   Mobile: tile+righe affiancati, CTA a tutta larghezza sotto. */
.ipj-hero {
	display: grid; grid-template-columns: auto 1fr auto; gap: 1.1rem 1.4rem; align-items: center;
	padding: 1.1rem 1.3rem; margin: 0 0 1.6rem;
	background: var(--iccj-bg-soft, #f7f7f8); border: 1px solid var(--iccj-border, #e3e3e5); border-radius: 6px;
}
.ipj-hero--past { grid-template-columns: auto 1fr; padding-block: .9rem; }

.ipj-cal {
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	min-width: 4.4rem; padding: .5rem .6rem; border-radius: 6px; background: #fff;
	border: 1px solid var(--iccj-border, #e3e3e5); border-top: 3px solid var(--iccj-red, #b82d32);
	line-height: 1.1; font-variant-numeric: tabular-nums; align-self: start;
}
.ipj-cal__m { font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--iccj-red, #b82d32); }
.ipj-cal__d { font-size: 1.55rem; font-weight: 800; color: var(--iccj-grey, #58595c); white-space: nowrap; }
.ipj-cal__y { font-size: .66rem; font-weight: 600; color: var(--iccj-grey-light, #7f8082); }
.ipj-cal__tba { font-size: 1rem; font-weight: 800; letter-spacing: .1em; color: #a87b2f; padding-block: .55rem; }

.ipj-hero__rows { display: grid; gap: .45rem; min-width: 0; }
.ipj-row { display: flex; gap: .55rem; align-items: baseline; font-size: .92rem; color: var(--iccj-grey, #58595c); }
.ipj-row b { font-weight: 700; }
.ipj-row .ipj-sub { color: var(--iccj-grey-light, #7f8082); font-size: .84rem; }
.ipj-row--minor, .ipj-row--minor a { font-size: .8rem; color: var(--iccj-grey-light, #7f8082); }
.ipj-row--minor a { text-decoration: none; font-weight: 600; }
.ipj-row--minor a:hover { color: var(--iccj-red, #b82d32); }
.ipj-ico { flex: 0 0 auto; width: 1em; height: 1em; transform: translateY(.12em); color: var(--iccj-red, #b82d32); }
.ipj-ico svg { width: 100%; height: 100%; display: block; }
.ipj-maplink {
	font-size: .76rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
	text-decoration: none; white-space: nowrap; margin-left: .3rem;
}

.ipj-hero__cta { display: flex; flex-direction: column; gap: .35rem; align-items: center; text-align: center; }
.ipj-hero__cta small { color: var(--iccj-grey-light, #7f8082); font-size: .74rem; }
.iccj-btn[aria-disabled="true"] { background: var(--iccj-grey-light, #7f8082); cursor: not-allowed; }
.iccj-btn--ghost { background: transparent; color: var(--iccj-red, #b82d32); border: 1.5px solid var(--iccj-red, #b82d32); }
.iccj-btn--ghost:hover, .iccj-btn--ghost:focus-visible { background: var(--iccj-red, #b82d32); color: #fff; }

@media (max-width: 680px) {
	.ipj-hero { grid-template-columns: auto 1fr; }
	.ipj-hero__cta { grid-column: 1 / -1; }
	.ipj-hero__cta .iccj-btn { width: 100%; }
}

/* Blocco fatti semplice (usato dalle activity) */
.ipj-facts {
	display: flex; flex-wrap: wrap; gap: .6rem 2.2rem; padding: 1rem 1.25rem; margin: 0 0 1.2rem;
	background: var(--iccj-bg-soft, #f7f7f8); border: 1px solid var(--iccj-border, #e3e3e5); border-radius: 6px;
}
.ipj-facts div { min-width: 0; }
.ipj-facts dt { font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 700; color: var(--iccj-grey-light, #7f8082); margin: 0; }
.ipj-facts dd { margin: 0; font-weight: 700; color: var(--iccj-grey, #58595c); font-size: .95rem; }

/* Barra CTA sticky: solo mobile, mostrata da JS quando la CTA inline
   esce dal viewport. */
.ipj-sticky {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 90;
	display: none; align-items: center; gap: .8rem; padding: .6rem .9rem;
	padding-bottom: calc(.6rem + env(safe-area-inset-bottom, 0px));
	background: #fff; border-top: 1px solid var(--iccj-border, #e3e3e5);
	box-shadow: 0 -4px 16px rgba(0, 0, 0, .08);
}
.ipj-sticky span { font-size: .78rem; font-weight: 700; color: var(--iccj-grey, #58595c); min-width: 0; }
.ipj-sticky .iccj-btn { margin-left: auto; padding: .6rem 1.2rem; white-space: nowrap; }
.ipj-sticky small { display: none; }
@media (max-width: 768px) {
	.ipj-sticky.is-on { display: flex; }
	body.ipj-has-sticky { padding-bottom: 4rem; }
}

/* ------------------------------------------------------------- Barra live */
.ipj-live {
	background: var(--iccj-red, #b82d32); color: #fff; border-radius: 4px; padding: .9rem 1.25rem;
	margin: 0 0 1.4rem; display: flex; align-items: center; gap: 1rem; flex-wrap: wrap;
}
.ipj-live b { text-transform: uppercase; letter-spacing: .08em; font-size: .8rem; }
.ipj-live a { color: #fff; font-weight: 700; margin-left: auto; font-size: .85rem; }
.ipj-live__dot { width: .65rem; height: .65rem; border-radius: 50%; background: #fff; animation: ipj-pulse 1.4s infinite; }
@keyframes ipj-pulse { 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) { .ipj-live__dot { animation: none; } }

/* --------------------------------------------------------- Video + galleria
   Striscia orizzontale scorrevole (filmstrip): altezza fissa, ogni immagine
   mantiene le sue proporzioni (banner 760x300 e foto quadrate convivono),
   scroll-snap per lo swipe, click per il lightbox. */
.ipj-video { margin: 0 0 1rem; }
.ipj-video iframe { width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; border-radius: 4px; display: block; }
.ipj-galwrap { position: relative; margin: 0 0 .7rem; }
.ipj-gallery {
	display: flex; gap: 8px;
	overflow-x: auto; overscroll-behavior-x: contain;
	scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch;
	scrollbar-width: none; /* niente barra: frecce su desktop, swipe su touch */
}
.ipj-gallery::-webkit-scrollbar { display: none; }
.ipj-gallery__item {
	flex: 0 0 auto; display: block; border-radius: 3px; overflow: hidden;
	height: 250px; scroll-snap-align: start;
}
.ipj-gallery__item img { height: 100%; width: auto; max-width: none; aspect-ratio: var(--r, 1.33); object-fit: cover; display: block; }

/* Frecce di scorrimento (solo dispositivi con puntatore) */
.ipj-galnav {
	position: absolute; top: 50%; transform: translateY(-50%); z-index: 2;
	width: 40px; height: 40px; border-radius: 50%;
	background: #fff; border: 1px solid var(--iccj-border, #e3e3e5);
	box-shadow: 0 2px 10px rgba(0, 0, 0, .12);
	font-size: 1.5rem; line-height: 1; color: var(--iccj-grey, #58595c);
	cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0 0 3px;
}
.ipj-galnav:hover, .ipj-galnav:focus-visible { color: #fff; background: var(--iccj-red, #b82d32); border-color: var(--iccj-red, #b82d32); }
.ipj-galnav--prev { left: -12px; }
.ipj-galnav--next { right: -12px; }
.ipj-galnav[hidden] { display: none; }
@media (hover: none) { .ipj-galnav { display: none; } } /* touch: si scorre col dito */

/* Link all'album completo: riga propria sotto la strip, va a capo da solo */
.ipj-gallery-cta { margin: 0 0 1.4rem; }
.ipj-gallery__more {
	display: inline-flex; align-items: center; gap: .35rem;
	padding: .55rem 1.1rem; border: 1.5px dashed var(--iccj-red, #b82d32); border-radius: 3px;
	font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em;
	color: var(--iccj-red, #b82d32); text-decoration: none; line-height: 1.4;
}
.ipj-gallery__more:hover, .ipj-gallery__more:focus-visible { background: var(--iccj-red, #b82d32); color: #fff; }

@media (max-width: 640px) {
	.ipj-gallery__item { height: 180px; }
	.ipj-gallery__more { width: 100%; justify-content: center; }
}

/* Lightbox minimale */
.ipj-lightbox {
	position: fixed; inset: 0; z-index: 9999; background: rgba(20, 20, 22, .92);
	display: flex; align-items: center; justify-content: center; padding: 2rem;
}
.ipj-lightbox img { max-width: 100%; max-height: 90vh; border-radius: 4px; }
.ipj-lightbox__close {
	position: absolute; top: 1rem; right: 1.2rem; background: none; border: 0; color: #fff;
	font-size: 2rem; cursor: pointer; line-height: 1;
}
.ipj-lightbox__nav {
	position: absolute; top: 50%; transform: translateY(-50%); background: none; border: 0;
	color: #fff; font-size: 2.4rem; cursor: pointer; padding: 1rem;
}
.ipj-lightbox__nav--prev { left: .5rem; }
.ipj-lightbox__nav--next { right: .5rem; }

/* ------------------------------------------------- Programma (timeline) */
.ipj-prog {
	margin: 1rem 0 2rem; padding-left: 1.4rem; list-style: none;
	border-left: 2px solid var(--iccj-border, #e3e3e5);
}
.ipj-prog__item { position: relative; padding: .9rem 0; }
.ipj-prog__item::before {
	content: ""; position: absolute; left: calc(-1.4rem - 7px); top: 1.45rem;
	width: 12px; height: 12px; border-radius: 50%; background: var(--iccj-border, #e3e3e5);
	border: 2px solid #fff;
}
.ipj-prog__item.is-done::before { background: var(--iccj-grey-light, #7f8082); }
.ipj-prog__item.is-next::before { background: var(--iccj-red, #b82d32); }
.ipj-prog__item h4 { margin: 0; font-size: .95rem; text-transform: uppercase; font-weight: 700; }
.ipj-prog__item h4 a { color: var(--iccj-grey, #58595c); text-decoration: none; }
.ipj-prog__item h4 a:hover { color: var(--iccj-red, #b82d32); }
.ipj-prog__item p { margin: .15rem 0 0; font-size: .8rem; color: var(--iccj-grey-light, #7f8082); }

/* ---------------------------------------------------- Box "fa parte di" */
.ipj-partof {
	background: var(--iccj-bg-soft, #f7f7f8); border: 1px solid var(--iccj-border, #e3e3e5);
	border-radius: 4px; padding: 1rem 1.25rem; margin: 0 0 1.4rem;
	display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; font-size: .85rem;
}
.ipj-partof b { text-transform: uppercase; }
.ipj-partof b a { color: var(--iccj-grey, #58595c); text-decoration: none; }
.ipj-partof b a:hover { color: var(--iccj-red, #b82d32); }
.ipj-partof__nav { margin-left: auto; display: flex; gap: 1.2rem; font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.ipj-partof__nav a { text-decoration: none; }

/* ------------------------------------------------------ Hero di progetto */
.ipj-phero { padding: clamp(1.4rem, 3vw, 2.2rem) clamp(1rem, 4vw, 2rem); }
.ipj-wrap--first { padding-top: clamp(1.4rem, 3vw, 2rem); }
.ipj-phero__inner { max-width: 1100px; margin-inline: auto; display: flex; gap: 2rem; align-items: center; flex-wrap: wrap; }
.ipj-phero__logo {
	flex: 0 0 auto; width: 150px; height: 150px; background: #fff;
	border: 1px solid var(--iccj-border, #e3e3e5); border-radius: 6px;
	display: flex; align-items: center; justify-content: center; padding: .8rem;
}
.ipj-phero__logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.ipj-phero h1 { margin: .1rem 0 .3rem; text-transform: uppercase; font-weight: 800; font-size: clamp(1.5rem, 3.4vw, 2.2rem); color: var(--iccj-grey, #58595c); }
.ipj-phero__tagline { font-size: 1rem; color: var(--iccj-grey-light, #7f8082); margin: 0 0 .8rem; max-width: 56ch; }
.ipj-phero__links { display: flex; gap: .9rem; flex-wrap: wrap; font-size: .78rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.ipj-phero__links a {
	text-decoration: none; color: var(--iccj-grey, #58595c);
	border: 1px solid var(--iccj-border, #e3e3e5); border-radius: 3px; padding: .4rem .7rem; background: #fff;
}
.ipj-phero__links a:hover { color: var(--iccj-red, #b82d32); border-color: var(--iccj-red, #b82d32); }

/* --------------------------------------------------- Lista prossimamente */
.ipj-uplist { display: grid; gap: 1rem; max-width: 860px; margin-inline: auto; }
.ipj-up {
	display: grid; grid-template-columns: auto 1fr auto; gap: 1.2rem; align-items: center;
	background: #fff; border: 1px solid var(--iccj-border, #e3e3e5); border-radius: 4px; padding: 1rem 1.25rem;
}
.ipj-up__date {
	text-align: center; min-width: 4.6rem; font-weight: 800; color: var(--iccj-red, #b82d32);
	text-transform: uppercase; line-height: 1.05; font-variant-numeric: tabular-nums;
}
.ipj-up__date b { display: block; font-size: 1.6rem; }
.ipj-up__date small { font-size: .72rem; letter-spacing: .08em; }
.ipj-up__body h3 { margin: 0 0 .15rem; font-size: 1rem; text-transform: uppercase; font-weight: 700; }
.ipj-up__body h3 a { color: var(--iccj-grey, #58595c); text-decoration: none; }
.ipj-up__body h3 a:hover { color: var(--iccj-red, #b82d32); }
.ipj-up__body p { margin: 0; font-size: .8rem; color: var(--iccj-grey-light, #7f8082); }
@media (max-width: 640px) {
	.ipj-up { grid-template-columns: auto 1fr; }
	.ipj-up > .iccj-btn { grid-column: 2; justify-self: start; }
}

/* ------------------------------------------------------- Card edizione */
.ipj-edgrid { display: grid; gap: clamp(1.25rem, 2.5vw, 2rem); grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); }
.ipj-edcard { background: #fff; border: 1px solid var(--iccj-border, #e3e3e5); border-radius: 4px; overflow: hidden; display: flex; flex-direction: column; text-decoration: none; }
.ipj-edcard__media { aspect-ratio: 16 / 9; position: relative; display: flex; align-items: flex-end; padding: 1rem; background: linear-gradient(120deg, #58595c, #2d2e30); overflow: hidden; }
.ipj-edcard__media > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ipj-edcard__media .ipj-badge { position: absolute; top: .75rem; right: .75rem; z-index: 2; }
.ipj-collage { position: absolute; inset: 0; display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; gap: 2px; }
.ipj-collage img { width: 100%; height: 100%; object-fit: cover; }
.ipj-collage img:first-child { grid-row: 1 / 3; }
.ipj-edcard__label {
	position: relative; z-index: 1; color: #fff; font-weight: 800; font-size: clamp(1.5rem, 3vw, 2rem);
	line-height: 1; text-transform: uppercase; letter-spacing: .03em; text-shadow: 0 1px 8px rgba(0, 0, 0, .45);
}
.ipj-edcard__label small { display: block; font-weight: 700; font-size: .66em; opacity: .92; }
.ipj-edcard__label--long { font-size: clamp(1rem, 1.8vw, 1.25rem); line-height: 1.2; } /* card senza campo Città: titolo intero */
.ipj-edcard__body { padding: .9rem 1.1rem 1.1rem; display: flex; flex-direction: column; gap: .3rem; }
.ipj-edcard__date { font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; color: var(--iccj-red, #b82d32); font-weight: 600; }
.ipj-edcard__extra { font-size: .78rem; color: var(--iccj-grey-light, #7f8082); }

/* -------------------------------------------------------- Card progetto
   auto-fill (non auto-fit): una card sola non si stira a tutta riga. */
.ipj-pjgrid { display: grid; gap: clamp(1.25rem, 2.5vw, 2rem); grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); }
.ipj-pjcard {
	background: #fff; border: 1px solid var(--iccj-border, #e3e3e5); border-radius: 4px;
	padding: 1.4rem 1.25rem; display: flex; flex-direction: column; gap: .6rem; text-decoration: none;
}
.ipj-pjcard:hover { border-color: var(--iccj-red, #b82d32); }
.ipj-pjcard__logo { height: 140px; display: flex; align-items: center; justify-content: center; }
.ipj-pjcard__logo img { max-height: 100%; max-width: 100%; object-fit: contain; }
.ipj-pjcard__name { font-weight: 800; letter-spacing: .04em; text-transform: uppercase; font-size: 1.15rem; color: var(--iccj-grey, #58595c); }
.ipj-pjcard p { margin: 0; font-size: .8rem; color: var(--iccj-grey-light, #7f8082); flex: 1; }
.ipj-pjcard__next { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--iccj-red, #b82d32); }

/* Titolo di sezione allineato a sinistra (pagine "documento" come le activity:
   il titolo centrato del tema è per le fasce della home, qui spezza la colonna) */
.ipj-subhead {
	text-transform: uppercase; font-weight: 600; font-size: 1.1rem;
	color: var(--iccj-grey, #58595c); margin: 2rem 0 1rem;
}
.ipj-subhead::after {
	content: ""; display: block; width: 48px; height: 3px;
	margin-top: .5rem; background: var(--iccj-red, #b82d32);
}

/* La pagina activity è una colonna unica allineata a sinistra: la descrizione
   non si centra (si disallineerebbe dal box fatti e dalla galleria). */
.ipj-activity .ipj-desc { margin-inline: 0; }

/* ---------------------------------------------------------------- Activity */
.ipj-typenav { display: flex; gap: .5rem; flex-wrap: wrap; justify-content: center; margin: 0 0 2rem; }
.ipj-typenav a {
	font-size: .75rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase;
	color: var(--iccj-grey, #58595c); text-decoration: none;
	border: 1px solid var(--iccj-border, #e3e3e5); border-radius: 999px; padding: .4rem .9rem;
}
.ipj-typenav a:hover { border-color: var(--iccj-red, #b82d32); color: var(--iccj-red, #b82d32); }
.ipj-typenav a.is-on { background: var(--iccj-red, #b82d32); border-color: var(--iccj-red, #b82d32); color: #fff; }
.ipj-actgrid { display: grid; gap: clamp(1.25rem, 2.5vw, 2rem); grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); align-items: stretch; }
.ipj-banner { margin: 0 0 1.4rem; }
.ipj-banner img { width: 100%; border-radius: 4px; display: block; }
.ipj-links ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .5rem; }
.ipj-links li a {
	display: block; background: var(--iccj-bg-soft, #f7f7f8); border: 1px solid var(--iccj-border, #e3e3e5);
	border-radius: 4px; padding: .8rem 1.1rem; text-decoration: none; font-weight: 600; color: var(--iccj-grey, #58595c);
}
.ipj-links li a:hover { border-color: var(--iccj-red, #b82d32); color: var(--iccj-red, #b82d32); }

/* ------------------------------------------------------- Liste [iccj_agenda] */
.ipj-listcard .iccj-card__media { position: relative; }
.ipj-listcard .iccj-card__media .ipj-badge { position: absolute; top: .6rem; right: .6rem; z-index: 2; }
.ipj-listcard__badgeline { padding: .8rem 1.25rem 0; }
.ipj-listcard .iccj-card__meta .ipj-badge--part { margin-right: .35rem; }
.ipj-pages { display: flex; gap: .4rem; justify-content: center; margin: 2rem 0 0; flex-wrap: wrap; }
.ipj-pages__num {
	min-width: 2.4rem; padding: .5rem .6rem; text-align: center; border-radius: 3px;
	border: 1px solid var(--iccj-border, #e3e3e5); background: #fff;
	font-weight: 700; font-size: .85rem; text-decoration: none; color: var(--iccj-grey, #58595c);
}
.ipj-pages__num:hover, .ipj-pages__num:focus-visible { border-color: var(--iccj-red, #b82d32); color: var(--iccj-red, #b82d32); }
.ipj-pages__num.is-on { background: var(--iccj-red, #b82d32); border-color: var(--iccj-red, #b82d32); color: #fff; }
.ipj-pages__dots { align-self: center; color: var(--iccj-grey-light, #7f8082); padding: 0 .2rem; }
.ipj-pages__arrow { font-size: 1.05rem; line-height: 1; }

/* --------------------------------------------- Strip progetti in homepage
   La griglia del tema tiene tutti i loghi su una riga: con 8 progetti le
   celle scendono a ~110px e i loghi diventano francobolli. Su desktop si
   va a capo con celle minime da 200px (8 loghi = 4+4, il doppio più grandi). */
@media (min-width: 1025px) {
	.iccj-section--projects .iccj-logo-strip {
		grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
		max-width: 1100px;
	}
	.iccj-section--projects .iccj-logo-strip img {
		height: clamp(130px, 12vw, 180px);
	}
	.iccj-section--projects .iccj-logo-strip li {
		padding: 1.1rem;
	}
}
