/* =====================================================
   TECNOJUS — FOGLIO NOTIZIE / RASSEGNE
   Versione consolidata e integrata
   Dipende da: base.css (variabili, reset, navbar, footer)
===================================================== */


/* =====================================================
   0. BASE PAGINA FOGLIO NOTIZIE
===================================================== */

.rassegna-page {
  background: var(--carta);
}


/* =====================================================
   1. HERO RASSEGNE
===================================================== */

.rassegna-hero {
  background: #f4f8fc;
  border-bottom: none;
  padding: 1rem 1.25rem 1.6rem;
}

@media (min-width: 768px) {
  .rassegna-hero {
    padding: 1rem 2rem 1.8rem;
  }
}

.rassegna-hero .container {
  display: flex;
  flex-direction: column;
  gap: .55rem;
}


/* Breadcrumb */
.fn-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .3rem;
  font-family: var(--font-sans);
  font-size: .78rem;
  color: var(--testo-lt);
}

.fn-breadcrumb a {
  color: var(--blu);
  text-decoration: none;
}

.fn-breadcrumb a:hover {
  color: var(--arancione);
}

.fn-breadcrumb .sep {
  color: var(--bordo);
}

.fn-breadcrumb .current {
  color: var(--testo-m);
  font-weight: 700;
}


/* Titolo hero */
.rassegna-super {
  font-family: var(--font-sans);
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--arancione);
}

.rassegna-titolo {
  font-family: var(--font-sans);
  font-size: clamp(2rem, 4.2vw, 3.35rem);
  line-height: 1.08;
  font-weight: 700;
  color: var(--blu-scuro);
}

.rassegna-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .85rem;
}

.rassegna-periodo {
  font-family: var(--font-serif);
  font-size: clamp(1.05rem, 2.2vw, 1.45rem);
  font-weight: 700;
  color: var(--testo);
}

.rassegna-badge {
  padding: .35rem .95rem;
  border: 1px solid var(--blu-lt);
  border-radius: 999px;
  background: #fff;
  font-family: var(--font-sans);
  font-size: .82rem;
  font-weight: 700;
  color: var(--blu-scuro);
  line-height: 1;
}

.rassegna-intro {
  font-family: var(--font-sans);
  font-size: 1rem;
  line-height: 1.65;
  color: var(--testo-m);
}


/* =====================================================
   2. TOOLBAR
===================================================== */

.rassegna-toolbar {
  position: sticky;
  top: 50px; /* altezza navbar */
  z-index: 180;
  background: #f4f8fc;
  border-top: none;
  border-bottom: 1px solid var(--bordo-lt);
  backdrop-filter: none;
}

.rassegna-toolbar-single {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  padding: .55rem 0;
}

.toolbar-left,
.toolbar-center,
.toolbar-right {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
  align-items: center;
}

.toolbar-center {
  flex: 1;
  justify-content: center;
}

.toolbar-label {
  font-family: var(--font-sans);
  font-size: .76rem;
  font-weight: 700;
  color: var(--testo-lt);
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
}

.rassegna-btn-soft {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 .95rem;
  border: 1px solid var(--blu-lt);
  border-radius: 999px;
  background: #fff;
  font-family: var(--font-sans);
  font-size: .84rem;
  font-weight: 700;
  color: var(--blu-scuro);
  text-decoration: none;
  cursor: pointer;
  transition: background .18s, border-color .18s, color .18s;
  white-space: nowrap;
}

.rassegna-btn-soft:hover {
  background: var(--blu-xlt);
  border-color: var(--blu);
}

.rassegna-btn-soft.is-active {
  background: #5579b2;
  border-color: #5579b2;
  color: #fff;
}

.rassegna-btn-print {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 1rem;
  background: var(--arancione);
  color: #fff;
  border: none;
  border-radius: 999px;
  font-family: var(--font-sans);
  font-size: .84rem;
  font-weight: 700;
  cursor: pointer;
  transition: background .18s;
  white-space: nowrap;
}

.rassegna-btn-print:hover {
  background: var(--arancione-lt);
}

/* Selettore territorio nella toolbar */
.rassegna-territory-select-wrap {
  display: none; /* visibile solo su mobile, vedi responsive */
}

.rassegna-territory-select {
  min-height: 34px;
  padding: 0 .85rem;
  border: 1px solid var(--bordo);
  border-radius: 999px;
  background: #fff;
  color: var(--testo);
  font-family: var(--font-sans);
  font-size: .84rem;
  font-weight: 700;
  cursor: pointer;
}


/* =====================================================
   3. LAYOUT RASSEGNA
===================================================== */

.rassegna-layout {
  padding: 1.6rem 1.25rem 3rem;
}

.rassegna-grid {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 2rem;
  align-items: start;
}


/* =====================================================
   4. SIDEBAR INDICE
===================================================== */

.rassegna-indice {
  position: sticky;
  top: 112px; /* navbar 50px + toolbar ~62px */
  background: #fff;
  border: 1px solid var(--bordo-lt);
  border-radius: 12px;
  padding: 1rem 1.1rem;
}

.rassegna-indice-titolo {
  font-family: var(--font-sans);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--arancione);
  margin-bottom: .65rem;
}

.rassegna-indice-lista {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: .1rem;
  margin-bottom: .9rem;
}

.rassegna-indice-lista li a {
  display: block;
  font-family: var(--font-sans);
  font-size: .82rem;
  color: var(--testo-m);
  text-decoration: none;
  padding: .3rem .35rem;
  border-radius: 5px;
  line-height: 1.45;
  transition: background .15s, color .15s;
}

.rassegna-indice-lista li a:hover {
  background: var(--blu-xlt);
  color: var(--blu-scuro);
}

.rassegna-indice-note {
  font-family: var(--font-sans);
  font-size: .76rem;
  color: var(--testo-lt);
  line-height: 1.55;
  border-top: 1px solid var(--bordo-lt);
  padding-top: .65rem;
  font-style: italic;
}


/* =====================================================
   5. SEZIONI CONTENUTO
===================================================== */

.rassegna-content {
  min-width: 0;
}

.rassegna-sez {
  margin-bottom: 2.8rem;
}

/* Testa sezione */
.rassegna-sez-head {
  margin-bottom: 1.2rem;
  padding-bottom: .8rem;
  border-bottom: 2px solid var(--blu-xlt);
}

.rassegna-sez-kicker {
  display: inline-block;
  font-family: var(--font-sans);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--arancione);
  margin-bottom: .3rem;
}

.rassegna-sez-titolo {
  font-family: var(--font-sans);
  font-size: clamp(1.05rem, 2vw, 1.3rem);
  font-weight: 700;
  color: var(--blu-scuro);
  line-height: 1.3;
  margin-bottom: .35rem;
}

.rassegna-sez-desc {
  font-family: var(--font-sans);
  font-size: .9rem;
  color: var(--testo-m);
  line-height: 1.6;
}

/* Sezione vuota */
.rassegna-empty {
  font-family: var(--font-sans);
  font-size: .9rem;
  color: var(--testo-lt);
  font-style: italic;
  padding: .75rem 1rem;
  background: var(--blu-xlt);
  border-radius: 8px;
}


/* =====================================================
   6. ITEM / PRONUNCE
===================================================== */

.rassegna-item {
  background: #fff;
  border: 1px solid var(--bordo-lt);
  border-left: 4px solid var(--blu);
  border-radius: 14px;
  padding: 1.2rem 1.25rem;
  margin-bottom: 1.25rem;
  transition: box-shadow .2s;
}

.rassegna-item:hover {
  box-shadow: 0 4px 18px rgba(45, 62, 80, .07);
}

/* Testa item: numero + tag */
.rassegna-item-head {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .5rem;
  margin-bottom: .7rem;
}

.rassegna-item-num {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--blu-lt);
  line-height: 1;
  min-width: 1.6rem;
}

.rassegna-tag {
  display: inline-flex;
  align-items: center;
  padding: .2rem .65rem;
  border: 1px solid var(--blu-lt);
  border-radius: 999px;
  background: var(--blu-xlt);
  font-family: var(--font-sans);
  font-size: .74rem;
  font-weight: 700;
  color: var(--blu-scuro);
  line-height: 1;
  white-space: nowrap;
}

/* Titolo e occhiello */
.rassegna-item-titolo {
  font-family: var(--font-sans);
  font-size: clamp(1rem, 1.8vw, 1.18rem);
  font-weight: 700;
  color: var(--blu-scuro);
  line-height: 1.3;
  margin-bottom: .45rem;
}

.rassegna-item-occhiello {
  font-family: var(--font-serif);
  font-size: .95rem;
  font-style: italic;
  color: var(--testo-m);
  line-height: 1.55;
  margin-bottom: .85rem;
}

/* Griglia metadati */
.rassegna-meta-grid {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem 1.4rem;
  margin-bottom: .9rem;
  padding: .65rem .8rem;
  background: var(--blu-xlt);
  border-radius: 8px;
}

.rassegna-meta-box {
  display: flex;
  flex-direction: column;
  gap: .12rem;
}

.rassegna-meta-label {
  font-family: var(--font-sans);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--testo-lt);
}

.rassegna-meta-value {
  font-family: var(--font-sans);
  font-size: .88rem;
  color: var(--testo);
  font-weight: 600;
}

/* Sintesi */
.rassegna-sintesi {
  font-family: var(--font-sans);
  font-size: .93rem;
  color: var(--testo-m);
  line-height: 1.7;
  margin-bottom: .9rem;
}

/* Implicazioni operative */
.rassegna-impatti {
  background: #f8fef5;
  border: 1px solid #cde8c5;
  border-radius: 10px;
  padding: .75rem 1rem;
  margin-bottom: .85rem;
}

.rassegna-impatti-titolo {
  font-family: var(--font-sans);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #3d7040;
  margin-bottom: .5rem;
}

.rassegna-impatti-lista {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: .35rem;
}

.rassegna-impatti-lista li {
  font-family: var(--font-sans);
  font-size: .88rem;
  color: var(--testo-m);
  line-height: 1.6;
  padding-left: 1.1rem;
  position: relative;
}

.rassegna-impatti-lista li::before {
  content: '›';
  position: absolute;
  left: 0;
  color: #5a9e5e;
  font-weight: 700;
}

/* Fonte */
.rassegna-fonte {
  font-family: var(--font-sans);
  font-size: .8rem;
  color: var(--testo-lt);
  padding-top: .6rem;
  border-top: 1px solid var(--bordo-lt);
}

.rassegna-fonte a {
  color: var(--blu);
  text-decoration: none;
  font-weight: 600;
}

.rassegna-fonte a:hover {
  color: var(--arancione);
}


/* =====================================================
   7. FOGLIO NOTIZIE – PAGINA INDICE / INDEX GENERALE
===================================================== */

/* HERO INDEX */
.fn-header {
  background: #f4f8fc;
  border-bottom: none;
  padding: 1.1rem 1.25rem 1.35rem;
}

@media (min-width: 768px) {
  .fn-header {
    padding: 1.15rem 2rem 1.5rem;
  }
}

.fn-header .container {
  max-width: 1020px;
  margin: 0 auto;
}

.fn-header--index {
  padding: .75rem 1.25rem .9rem;
}

@media (min-width: 768px) {
  .fn-header--index {
    padding: .8rem 2rem 1rem;
  }
}

.fn-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .3rem;
  font-family: var(--font-sans);
  font-size: .78rem;
  color: var(--testo-lt);
}

.fn-breadcrumb a {
  color: var(--blu);
  text-decoration: none;
}

.fn-breadcrumb a:hover {
  color: var(--arancione);
}

.fn-breadcrumb .sep {
  color: var(--bordo);
}

.fn-breadcrumb .current {
  color: var(--testo-m);
  font-weight: 700;
}

.fn-header-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .9rem 2rem;
}

.fn-header-titoli {
  flex: 1 1 auto;
  min-width: 0;
}

.fn-titolo {
  font-family: var(--font-serif);
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.08;
  color: var(--blu-scuro);
  margin: 0 0 .35rem;
}

.fn-header--index .fn-titolo {
  font-size: clamp(1.35rem, 2.6vw, 2rem);
  margin-bottom: .15rem;
}

.fn-titolo span {
  color: var(--testo);
}

.fn-sub {
  font-family: var(--font-sans);
  font-size: 1rem;
  line-height: 1.55;
  color: var(--testo-m);
  margin: 0 0 .85rem;
}

.fn-header--index .fn-sub {
  font-size: .9rem;
  margin-bottom: 0;
}

.fn-intro-box {
  margin-top: 1rem;
  padding: .95rem 1rem;
  border: 1px solid var(--bordo-lt);
  border-radius: 12px;
  background: #fff;
}

.fn-intro-box p {
  font-family: var(--font-sans);
  font-size: .9rem;
  line-height: 1.65;
  color: var(--testo-m);
}

/* STICKY MENU INDEX */
.fn-index-toolbar {
  position: sticky;
  top: 50px;
  z-index: 180;
  background: #f4f8fc;
  border-bottom: 1px solid var(--bordo-lt);
  backdrop-filter: none;
}

.fn-index-toolbar__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem 1rem;
  padding: .55rem 0 .7rem;
}

.fn-index-toolbar__left,
.fn-index-toolbar__right {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
}

.fn-index-toolbar__right {
  margin-left: auto;
}

.fn-index-toolbar__label {
  font-family: var(--font-sans);
  font-size: .76rem;
  font-weight: 700;
  color: var(--testo-lt);
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
}

.fn-edizioni {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  align-items: center;
  flex: 0 1 auto;
  justify-content: flex-end;
}

.fn-pill,
.fn-pill-altre-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 1rem;
  border: 1px solid var(--blu-lt);
  border-radius: 999px;
  background: #fff;
  color: var(--blu);
  text-decoration: none;
  font-family: var(--font-sans);
  font-size: .9rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transition: all .18s ease;
}

.fn-pill:hover,
.fn-pill-altre-btn:hover {
  background: var(--blu-xlt);
  border-color: var(--blu);
  color: var(--blu-scuro);
}

.fn-pill.attivo {
  background: #5579b2;
  border-color: #5579b2;
  color: #fff;
}

.fn-pill-altre {
  position: relative;
}

.fn-pill-altre .chevron {
  margin-left: .45rem;
  font-size: .72rem;
}

.fn-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + .4rem);
  left: 0;
  min-width: 220px;
  background: #fff;
  border: 1px solid var(--bordo);
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(45, 62, 80, .12);
  padding: .45rem;
  z-index: 30;
}

.fn-pill-altre.aperto .fn-dropdown {
  display: block;
}

.fn-dropdown a {
  display: block;
  padding: .7rem .8rem;
  border-radius: 8px;
  font-family: var(--font-sans);
  font-size: .92rem;
  color: var(--testo-m);
  text-decoration: none;
}

.fn-dropdown a:hover {
  background: var(--blu-xlt);
  color: var(--blu-scuro);
}

/* CONTENUTO INDEX */
.sez-fn {
  background: transparent;
}

.fn-section-head {
  margin-bottom: .9rem;
}

.fn-section-note {
  font-family: var(--font-sans);
  font-size: .9rem;
  color: var(--testo-m);
  line-height: 1.6;
  max-width: 760px;
  margin-top: .35rem;
}

.fn-settimana-label {
  font-family: var(--font-sans);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--arancione);
  margin-bottom: .25rem;
}

.fn-settimana-date {
  font-family: var(--font-serif);
  font-size: clamp(1.35rem, 2.2vw, 1.8rem);
  font-weight: 700;
  color: var(--blu-scuro);
  margin-bottom: 1rem;
}

.fn-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.fn-card {
  display: flex;
  flex-direction: column;
  gap: .55rem;
  min-height: 100%;
  padding: 1.1rem 1rem;
  background: #fff;
  border: 1px solid var(--bordo-lt);
  border-top: 4px solid var(--blu-lt);
  border-radius: 14px;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 1px 4px rgba(45, 62, 80, .03);
  transition: transform .18s ease, box-shadow .18s ease, border-top-color .18s ease;
}

.fn-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(45, 62, 80, .08);
}

.fn-card.giurisprudenza:hover { border-top-color: #5579b2; }
.fn-card.normativa:hover      { border-top-color: #3f6e9c; }
.fn-card.notizie:hover        { border-top-color: var(--arancione); }

.fn-card-icon {
  width: 50px;
  height: 50px;
  border-radius: 999px;
  background: var(--blu-xlt);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--blu);
  margin-bottom: .2rem;
  flex: 0 0 auto;
}

.fn-card-icon svg {
  width: 24px;
  height: 24px;
  display: block;
}

.fn-card-titolo {
  font-family: var(--font-sans);
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--blu-scuro);
}

.fn-card-desc {
  font-family: var(--font-sans);
  font-size: .94rem;
  line-height: 1.55;
  color: var(--testo-m);
  flex: 1;
}

.fn-card-arrow {
  font-family: var(--font-sans);
  font-size: .84rem;
  font-weight: 700;
  color: var(--blu);
  margin-top: .2rem;
}

.fn-card:hover .fn-card-arrow {
  color: var(--arancione);
}

.fn-edizioni-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: .85rem;
  margin-top: .85rem;
}

.fn-edizione-card {
  display: block;
  padding: 1rem 1rem;
  background: #fff;
  border: 1px solid var(--bordo-lt);
  border-top: 4px solid var(--blu-lt);
  border-radius: 14px;
  text-decoration: none;
  color: inherit;
  transition: transform .18s ease, box-shadow .18s ease, border-top-color .18s ease;
}

.fn-edizione-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(45, 62, 80, .08);
  border-top-color: var(--arancione);
}

.fn-edizione-card h3 {
  font-family: var(--font-sans);
  font-size: 1rem;
  font-weight: 700;
  color: var(--blu-scuro);
  line-height: 1.25;
  margin-bottom: .4rem;
}

.fn-edizione-card p {
  font-family: var(--font-sans);
  font-size: .88rem;
  line-height: 1.55;
  color: var(--testo-m);
}

.fn-edizione-card > strong {
  display: block;
  font-family: var(--font-sans);
  font-size: 1rem;
  color: var(--blu-scuro);
  line-height: 1.25;
  margin-bottom: .4rem;
}

.fn-edizione-card > span {
  display: block;
  font-family: var(--font-sans);
  font-size: .88rem;
  line-height: 1.55;
  color: var(--testo-m);
}

.fn-edizione-link {
  display: inline-block;
  margin-top: .55rem;
  font-family: var(--font-sans);
  font-size: .82rem;
  font-weight: 700;
  color: var(--blu);
}

.fn-system-note {
  margin-top: 1rem;
  font-family: var(--font-sans);
  font-size: .84rem;
  color: var(--testo-lt);
  line-height: 1.6;
}

.fn-archivio {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  margin-top: 1.15rem;
  padding-top: 1rem;
  border-top: 1px solid var(--bordo-lt);
}

.fn-archivio-label {
  font-family: var(--font-sans);
  font-size: .92rem;
  font-weight: 700;
  color: var(--testo-m);
}

.fn-archivio select {
  min-height: 40px;
  padding: 0 .85rem;
  border: 1px solid var(--bordo);
  border-radius: 999px;
  background: #fff;
  color: var(--testo);
  font-family: var(--font-sans);
  font-size: .9rem;
}

.fn-archivio-link {
  font-family: var(--font-sans);
  font-size: .9rem;
  font-weight: 700;
  color: var(--blu);
  text-decoration: none;
}

.fn-archivio-link:hover {
  color: var(--arancione);
}

/* Footer specifico rassegna */
.rassegna-footer {
  background: var(--blu-xlt);
  border-top: 1px solid var(--bordo-lt);
  padding: .85rem 1.25rem;
  font-family: var(--font-sans);
  font-size: .8rem;
  color: var(--testo-lt);
  text-align: center;
}

@media (min-width: 768px) {
  .rassegna-footer {
    padding: .85rem 2rem;
  }
}


/* =====================================================
   8. RESPONSIVE
===================================================== */

@media (max-width: 920px) {
  .rassegna-grid {
    grid-template-columns: 1fr;
  }

  .rassegna-indice {
    position: static;
  }

  .toolbar-center .rassegna-btn-soft {
    display: none;
  }

  .rassegna-territory-select-wrap {
    display: block;
  }

  .fn-card-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px) {
  .fn-header {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .fn-sub {
    font-size: .96rem;
  }

  .fn-pill,
  .fn-pill-altre-btn {
    min-height: 38px;
    font-size: .88rem;
    padding: 0 .9rem;
  }

  .fn-dropdown {
    min-width: 200px;
  }

  .fn-card-grid {
    grid-template-columns: 1fr;
  }

  .rassegna-meta-grid {
    flex-direction: column;
    gap: .5rem;
  }

  .rassegna-item {
    padding: 1rem;
  }

  .fn-index-toolbar__inner {
    align-items: stretch;
  }

  .fn-index-toolbar__left,
  .fn-index-toolbar__right {
    width: 100%;
  }

  .fn-index-toolbar__right {
    justify-content: flex-start;
  }
}


/* =====================================================
   9. STAMPA / PDF
===================================================== */

@media print {
  nav.navbar,
  .rassegna-toolbar,
  .rassegna-indice,
  .rassegna-footer,
  .fn-index-toolbar {
    display: none;
  }

  .rassegna-grid {
    grid-template-columns: 1fr;
  }

  .rassegna-item {
    break-inside: avoid;
    box-shadow: none;
    border-left-width: 3px;
  }

  .rassegna-impatti {
    break-inside: avoid;
  }

  .rassegna-titolo {
    font-size: 2rem;
  }
}

/* =========================================================
   FOGLIO NOTIZIE — piccoli correttivi index generale
   ========================================================= */

.fn-section-head {
  text-align: left;
}

.fn-section-note {
  margin-left: 0;
  margin-right: 0;
}

.fn-edizioni {
  margin-top: 2.4rem;
  padding-bottom: 2rem;
}

.fn-edizioni .fn-card-grid {
  margin-top: 1rem;
}

/* =========================================================
   ARCHIVIO IN EVIDENZA
   ========================================================= */

.evidenza-archivio-lista {
  display: grid;
  gap: 1.15rem;
}

.evidenza-archivio-card {
  display: grid;
  grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--bordo-lt);
  border-radius: 14px;
  box-shadow: 0 2px 10px rgba(45, 62, 80, .05);
}

.evidenza-archivio-media {
  position: relative;
  display: block;
  min-height: 100%;
  overflow: hidden;
  background: var(--blu-scuro);
}

.evidenza-archivio-media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 210px;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  transition: transform .2s ease, opacity .2s ease;
}

.evidenza-archivio-media:hover img {
  transform: scale(1.015);
  opacity: .9;
}

.evidenza-archivio-play {
  position: absolute;
  left: 50%;
  top: 50%;
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  padding-left: 3px;
  border-radius: 50%;
  color: #fff;
  background: rgba(45, 62, 80, .78);
  box-shadow: 0 4px 14px rgba(0, 0, 0, .25);
  transform: translate(-50%, -50%);
}

.evidenza-archivio-corpo {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 1.15rem 1.25rem;
}

.evidenza-archivio-corpo .rassegna-item-occhiello {
  margin-bottom: .75rem;
}

.evidenza-archivio-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem 1rem;
  margin-top: auto;
  padding-top: .15rem;
  font-family: var(--font-sans);
  font-size: .78rem;
  color: var(--testo-lt);
}

.evidenza-archivio-link {
  display: inline-block;
  margin-top: .7rem;
  font-family: var(--font-sans);
  font-size: .84rem;
  font-weight: 700;
  color: var(--blu);
  text-decoration: none;
}

.evidenza-archivio-link:hover {
  color: var(--arancione);
}

@media (max-width: 720px) {
  .evidenza-archivio-card {
    grid-template-columns: 1fr;
  }

  .evidenza-archivio-media img {
    height: auto;
    min-height: 0;
  }
}

@media print {
  .evidenza-archivio-card {
    grid-template-columns: 180px minmax(0, 1fr);
    break-inside: avoid;
    box-shadow: none;
  }

  .evidenza-archivio-play {
    display: none;
  }
}

