/* hub.css — pagine Hub (Argomenti / Lettori). Abbozzo, da rifinire. */

.epr-hub-wrap { background: var(--pr-cream); }

/* ---- Hero scuro ---- */
.epr-hub-hero { position: relative; background: var(--pr-ink); color: var(--pr-cream); overflow: hidden; }
.epr-hub-hero__in { max-width: 1120px; margin: 0 auto; padding: 64px 48px 58px; position: relative; z-index: 1; }
.epr-hub-hero__cavo { position: absolute; right: -40px; top: 50%; transform: translateY(-50%); height: 150%; opacity: .10; pointer-events: none; z-index: 0; }
.epr-hub-hero__eyebrow { font-family: var(--font-display); font-size: max(0.8125rem, 14px); font-weight: 800; text-transform: uppercase; letter-spacing: .18em; color: var(--pr-orange); margin: 0 0 14px; }
.epr-hub-hero__title { font-family: var(--font-display); font-weight: 900; font-size: clamp(2.4rem, 5.2vw, 4rem); line-height: 1.02; letter-spacing: -.02em; margin: 0; color: var(--pr-cream); }
.epr-hub-hero__dek { font-family: var(--font-editorial); font-size: max(1.15rem, 17px); line-height: 1.5; max-width: 40em; margin: 18px 0 0; color: #EDE6DB; }

/* ---- Corpo ---- */
.epr-hub-main { max-width: 1120px; margin: 0 auto; padding: 52px 48px 72px; }
.epr-hub-intro { font-family: var(--font-editorial); font-size: max(1.15rem, 17px); line-height: 1.6; max-width: 42em; margin: 0 0 44px; color: var(--pr-ink); }
.epr-hub-intro p { margin: 0 0 1em; }

.epr-hub-block { margin: 0 0 52px; }
.epr-hub-eyebrow { font-family: var(--font-display); font-size: max(0.8125rem, 14px); font-weight: 900; text-transform: uppercase; letter-spacing: .16em; color: var(--epr-orange-ontext); border-bottom: 2px solid var(--pr-ink); padding-bottom: 9px; margin: 0 0 22px; }

/* ---- Card dossier (orizzontali, foto a sinistra) ---- */
.epr-hub-dossiers { display: grid; gap: 18px; }
.epr-hub-dcard { display: grid; grid-template-columns: 190px 1fr; gap: 20px; align-items: stretch; text-decoration: none; color: var(--pr-ink); background: #fff; border: 1px solid var(--pr-line-2); border-radius: 4px; overflow: hidden; transition: box-shadow .16s, transform .16s; }
.epr-hub-dcard:hover { box-shadow: 0 10px 30px rgba(14,14,15,.10); transform: translateY(-2px); }
.epr-hub-dcard__pic { display: block; overflow: hidden; background: var(--pr-cream-2); }
.epr-hub-dcard__pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.epr-hub-dcard__txt { display: flex; flex-direction: column; justify-content: center; padding: 20px 22px 20px 0; min-width: 0; }
.epr-hub-dcard__tag { font-family: var(--font-display); font-size: max(0.6875rem, 12px); font-weight: 800; text-transform: uppercase; letter-spacing: .14em; color: var(--pr-orange); margin-bottom: 7px; }
.epr-hub-dcard__t { font-family: var(--font-display); font-size: max(1.35rem, 18px); font-weight: 800; line-height: 1.12; }
.epr-hub-dcard:hover .epr-hub-dcard__t { color: var(--epr-orange-ontext); }
.epr-hub-dcard__d { font-family: var(--font-editorial); font-size: max(1rem, 15px); line-height: 1.45; color: #55514B; margin-top: 8px; }
.epr-hub-dcard--noimg { grid-template-columns: 1fr; }
.epr-hub-dcard--noimg .epr-hub-dcard__txt { padding: 22px 24px; }

/* ---- Domande del tema/ruolo ---- */
.epr-hub-qs { display: flex; flex-wrap: wrap; gap: 10px; }
.epr-hub-q {
  display: inline-block; text-decoration: none;
  font-family: var(--font-display); font-size: max(0.9375rem, 14px); font-weight: 700; line-height: 1.25;
  color: var(--pr-ink); background: #fff; border: 1px solid var(--pr-line-2); border-left: 3px solid var(--pr-orange);
  padding: 11px 16px; border-radius: 4px;
}
.epr-hub-q:hover { border-color: var(--pr-orange); color: var(--epr-orange-ontext); box-shadow: 0 4px 14px rgba(14,14,15,.07); }

/* ---- Articoli ---- */
.epr-hub-arts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.epr-hub-art { text-decoration: none; color: var(--pr-ink); display: block; }
.epr-hub-art img { width: 100%; aspect-ratio: 16/10; object-fit: cover; display: block; margin-bottom: 11px; border-radius: 3px; }
.epr-hub-art__t { font-family: var(--font-display); font-size: max(1.05rem, 15px); font-weight: 700; line-height: 1.18; }
.epr-hub-art:hover .epr-hub-art__t { color: var(--epr-orange-ontext); }

/* ---- Casi studio (archivio categoria): card cover-sinistra + riepilogo ----
   ALTEZZA CARD FISSA (= titolo a 3 righe). La cover riempie quell'altezza al giusto
   16/9 (colonna cover = altezza × 16/9): SEMPRE intera, mai ritagliata, niente bande.
   Il testo a destra è clampato per stare nell'altezza. */
.epr-cs-list { display: grid; gap: 22px; }
.epr-cs-card { --cs-h: 292px; display: grid; grid-template-columns: calc( (var(--cs-h) - 2px) * 16 / 9 ) 1fr; height: var(--cs-h); text-decoration: none; color: var(--pr-ink); background: #fff; border: 1px solid var(--pr-line-2); border-radius: 10px; overflow: hidden; transition: box-shadow .16s, transform .16s; }
.epr-cs-card:hover { box-shadow: 0 12px 32px rgba(14,14,15,.10); transform: translateY(-2px); }
.epr-cs-card__cover { overflow: hidden; background: var(--pr-ink); }
.epr-cs-card__cover .ep-cover { width: 100%; height: 100%; aspect-ratio: auto; margin: 0; }
.epr-cs-card__body { display: flex; flex-direction: column; padding: 26px 30px; min-width: 0; overflow: hidden; }
.epr-cs-card__tag { font-family: var(--font-display); font-size: max(0.75rem, 12px); font-weight: 800; text-transform: uppercase; letter-spacing: .14em; color: var(--epr-orange-ontext); margin-bottom: 10px; }
.epr-cs-card__title { font-family: var(--font-display); font-size: max(1.55rem, 20px); font-weight: 900; line-height: 1.12; color: var(--pr-ink); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.epr-cs-card:hover .epr-cs-card__title { color: var(--epr-orange-ontext); }
.epr-cs-card__excerpt { font-family: var(--font-editorial); font-size: max(1.05rem, 15px); line-height: 1.5; color: #55514B; margin-top: 12px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.epr-cs-card__link { font-family: var(--font-display); font-size: max(0.95rem, 14px); font-weight: 800; color: var(--epr-orange-ontext); margin-top: auto; padding-top: 14px; }
.epr-cs-card--noimg { grid-template-columns: 1fr; height: auto; }
.epr-cs-pagination, .epr-hub-main .pagination { margin-top: 32px; font-family: var(--font-display); font-weight: 800; }
@media (max-width: 720px) {
	.epr-cs-card { grid-template-columns: 1fr; height: auto; }
	.epr-cs-card__cover { aspect-ratio: 16/9; }
	.epr-cs-card__cover .ep-cover { height: auto; aspect-ratio: 16 / 9; }
	.epr-cs-card__title, .epr-cs-card__excerpt { -webkit-line-clamp: unset; }
	.epr-cs-card__link { margin-top: 14px; }
	.epr-cs-card__body { padding: 22px 22px 26px; }
}

/* ---- CTA ---- */
.epr-hub-cta { background: var(--pr-ink); color: var(--pr-cream); border-radius: 6px; padding: 34px 40px; display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.epr-hub-cta__t { font-family: var(--font-display); font-size: max(1.5rem, 19px); font-weight: 800; margin: 0; color: var(--pr-cream); }
.epr-hub-cta__btn { font-family: var(--font-display); font-size: max(1rem, 15px); font-weight: 800; background: var(--pr-orange); color: #1a1206; text-decoration: none; padding: 14px 26px; border-radius: 4px; white-space: nowrap; }
.epr-hub-cta__btn:hover { background: #ff8a45; }

@media (max-width: 900px) {
	.epr-hub-hero__in, .epr-hub-main { padding-left: 24px; padding-right: 24px; }
	.epr-hub-arts { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 620px) {
	.epr-hub-dcard { grid-template-columns: 1fr; }
	.epr-hub-dcard__pic { aspect-ratio: 16/9; }
	.epr-hub-dcard__txt { padding: 0 18px 20px; }
	.epr-hub-arts { grid-template-columns: 1fr; }
}

/* ---- Team (La redazione): griglia foto tonde + battuta ---- */
.epr-team { display: grid; grid-template-columns: repeat(4, 1fr); gap: 34px 26px; }
.epr-team__card { text-align: center; }
.epr-team__photo { width: 140px; height: 140px; border-radius: 50%; object-fit: cover; display: block; margin: 0 auto 15px; border: 3px solid #fff; box-shadow: 0 8px 24px rgba(14,14,15,.14); background: var(--pr-cream-2); }
.epr-team__name { font-family: var(--font-display); font-weight: 800; font-size: max(1.15rem, 17px); color: var(--pr-ink); margin: 0; }
.epr-team__role { font-family: var(--font-editorial); font-size: max(0.95rem, 14px); line-height: 1.45; color: #55514B; margin: 6px auto 0; max-width: 22em; }
@media (max-width: 900px) { .epr-team { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px) { .epr-team { grid-template-columns: repeat(2, 1fr); gap: 28px 18px; } .epr-team__photo { width: 118px; height: 118px; } }

/* ---- Da leggere: bottone "Carica altri" (load-more via REST) ---- */
.epr-hub-more { text-align: center; margin-top: 30px; }
.epr-hub-more__btn { font-family: var(--font-display); font-weight: 800; font-size: max(1rem, 15px); color: var(--pr-ink); background: transparent; border: 2px solid var(--pr-ink); border-radius: 6px; padding: 13px 30px; cursor: pointer; transition: background .16s, color .16s; }
.epr-hub-more__btn:hover { background: var(--pr-ink); color: var(--pr-cream); }
.epr-hub-more__btn[data-loading] { opacity: .6; cursor: default; }
