.lfr-layout-structure-item-container {padding: 0;} .lfr-layout-structure-item-row {overflow: hidden;} .portlet-borderless .portlet-content {padding: 0;}.lfr-layout-structure-item-5f4dc4df-3e69-b98d-4095-93f3180481a7 {
display: none !important;
}
/* =========================================
   Card comunicati stampa
   Classe contenitore: comunicati-card-pulite

   Versione stabile
   - niente regole complesse con :has()
   - non rompe il rendering in Liferay
   - mostra sempre il contenuto del comunicato
   - riduce l'impatto delle righe vuote
   - mantiene link con stile nativo
   ========================================= */


/* =========================================
   Card
   ========================================= */

.comunicati-card-pulite .card.card-bianca {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;

  height: 258px !important;
  min-height: 258px !important;
  max-height: 258px !important;

  padding: 18px !important;
  gap: 0 !important;

  box-sizing: border-box !important;
  overflow: hidden !important;

  border: 1px solid #d9e2ef !important;
  border-radius: 8px !important;
  background: #ffffff !important;

  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;

  transition:
    box-shadow 0.2s ease,
    transform 0.2s ease,
    border-color 0.2s ease !important;
}

.comunicati-card-pulite .card.card-bianca:hover {
  border-color: #c6d5e8 !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.07) !important;
  transform: translateY(-1px) !important;
}


/* =========================================
   Allineamento generale
   ========================================= */

.comunicati-card-pulite,
.comunicati-card-pulite p,
.comunicati-card-pulite div,
.comunicati-card-pulite span,
.comunicati-card-pulite strong,
.comunicati-card-pulite b,
.comunicati-card-pulite i,
.comunicati-card-pulite em,
.comunicati-card-pulite u,
.comunicati-card-pulite li,
.comunicati-card-pulite font {
  text-align: left !important;
}


/* =========================================
   Numero/data comunicato
   ========================================= */

.comunicati-card-pulite .card .title {
  width: 100% !important;

  min-height: auto !important;
  max-height: none !important;

  margin: 0 0 10px 0 !important;
  padding: 0 0 8px 0 !important;

  border-bottom: 1px solid #e7edf5 !important;

  overflow: visible !important;
}

.comunicati-card-pulite .card .title,
.comunicati-card-pulite .card .title * {
  display: block !important;

  color: #134dce !important;

  font-family: "Playfair Display", serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  font-style: normal !important;
  line-height: 22px !important;
  letter-spacing: 0.01em !important;

  text-decoration: none !important;
  text-decoration-line: none !important;

  overflow: visible !important;
}


/* =========================================
   Area testo
   ========================================= */

.comunicati-card-pulite .card .text {
  width: 100% !important;
  flex: 1 1 auto !important;

  margin: 0 !important;
  padding: 0 !important;

  font-family: Inter, sans-serif !important;
  font-size: 13px !important;
  font-style: normal !important;
  line-height: 18px !important;

  overflow: hidden !important;
}


/* Contenitore interno */
.comunicati-card-pulite .card .text > div {
  display: block !important;
  max-height: 150px !important;
  overflow: hidden !important;
}


/* =========================================
   Paragrafi del comunicato

   Scelta stabile:
   - non nascondiamo più p3, p4, p5
   - così il testo non sparisce quando ci sono righe vuote
   - riduciamo margini e spazi per contenere il problema
   ========================================= */

.comunicati-card-pulite .card .text p {
  margin: 0 0 6px 0 !important;
  padding: 0 !important;

  font-family: Inter, sans-serif !important;
  font-size: 13px !important;
  font-style: normal !important;
  line-height: 18px !important;

  overflow: hidden !important;

  text-decoration: none !important;
  text-decoration-line: none !important;
}


/* Primo paragrafo: possibile titolo */
.comunicati-card-pulite .card .text p:first-of-type {
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 19px !important;
  margin-bottom: 10px !important;
}


/* Secondo e terzo paragrafo: spesso possono essere titolo o testo se ci sono righe vuote sopra */
.comunicati-card-pulite .card .text p:nth-of-type(2),
.comunicati-card-pulite .card .text p:nth-of-type(3) {
  margin-bottom: 7px !important;
}


/* Limita visivamente i paragrafi molto lunghi */
.comunicati-card-pulite .card .text p {
  display: -webkit-box !important;
  -webkit-line-clamp: 4 !important;
  -webkit-box-orient: vertical !important;
}


/* Il primo paragrafo, quando è titolo, resta massimo su 3 righe */
.comunicati-card-pulite .card .text p:first-of-type {
  -webkit-line-clamp: 3 !important;
}


/* =========================================
   Pulizia tag sporchi
   ========================================= */

.comunicati-card-pulite .card .text font,
.comunicati-card-pulite .card .text span,
.comunicati-card-pulite .card .text div,
.comunicati-card-pulite .card .text p,
.comunicati-card-pulite .card .text li {
  font-family: Inter, sans-serif !important;
}


/* Elimina corsivo */
.comunicati-card-pulite i,
.comunicati-card-pulite em,
.comunicati-card-pulite i *,
.comunicati-card-pulite em * {
  font-style: normal !important;
}


/* Elimina sottolineato */
.comunicati-card-pulite u,
.comunicati-card-pulite u * {
  text-decoration: none !important;
  text-decoration-line: none !important;
}


/* Mantiene il grassetto */
.comunicati-card-pulite strong,
.comunicati-card-pulite b {
  font-weight: 700 !important;
  font-style: normal !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
}


/* Titoli spesso dentro b/u/i */
.comunicati-card-pulite .card .text p b,
.comunicati-card-pulite .card .text p strong {
  font-weight: 800 !important;
}


/* Evita immagini o elementi strani dentro la card */
.comunicati-card-pulite .card .text picture,
.comunicati-card-pulite .card .text img,
.comunicati-card-pulite .card .text iframe,
.comunicati-card-pulite .card .text video {
  display: none !important;
}


/* Nasconde liste troppo lunghe nella card */
.comunicati-card-pulite .card .text ul,
.comunicati-card-pulite .card .text ol {
  display: none !important;
}


/* =========================================
   Area link finale
   Solo posizione: nessuno stile sul link
   ========================================= */

.comunicati-card-pulite .card .link-wrapper {
  width: 100% !important;
  margin-top: auto !important;
  padding-top: 10px !important;

  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
}


/* =========================================
   Mobile
   ========================================= */

@media (max-width: 767px) {
  .comunicati-card-pulite .card.card-bianca {
    height: auto !important;
    min-height: 240px !important;
    max-height: none !important;
  }

  .comunicati-card-pulite .card .text > div {
    max-height: 190px !important;
  }
}
.lfr-layout-structure-item-6acd1b6c-a00b-b13d-e865-5117d20cd196 {
margin-bottom: var(--spacer-4,1.5rem) !important;
}
