.lfr-layout-structure-item-container {padding: 0;} .lfr-layout-structure-item-row {overflow: hidden;} .portlet-borderless .portlet-content {padding: 0;}.lfr-layout-structure-item-41aab8ff-d67f-867c-c308-fd8eb190f85e {
margin-bottom: var(--spacer-2,0.5rem) !important;
}
.lfr-layout-structure-item-57faf79d-19e0-ec77-0d99-16aef04c0169 {
margin-bottom: var(--spacer-5,3rem) !important;
}
.lfr-layout-structure-item-245d4bb6-0570-2827-8029-1c6c725cc877 {
margin-bottom: var(--spacer-3,1rem) !important;
margin-top: var(--spacer-2,0.5rem) !important;
padding-bottom: var(--spacer-3,1rem) !important;
}

/* =========================================================
   Card comunicato / notizia in evidenza - Consob
   Classe wrapper da applicare al blocco:
   card-comunicato-stabile
   ========================================================= */


/* ---------------------------------------------------------
   Variabili locali della card
   --------------------------------------------------------- */

.card-comunicato-stabile {
  --card-image-max-width: 480px;
  --card-image-radius: 30px;
  --card-image-ratio: 3 / 2;

  --card-gap-desktop: 42px;
  --card-padding-desktop: 16px 26px 24px 22px;

  --card-title-color: #134dce;
  --card-button-color: #134dce;
  --card-button-color-hover: #0f3fa8;

  --card-blue-shape: #90caf9;
  --card-turquoise-shape: #aef3f2;

  --card-text-column-height: 346px;
}


/* ---------------------------------------------------------
   Contenitore generale
   --------------------------------------------------------- */

.card-comunicato-stabile .container-fluid {
  overflow: visible !important;
}


/* ---------------------------------------------------------
   Blocco image + text
   --------------------------------------------------------- */

.card-comunicato-stabile .image-text-buttons {
  display: grid !important;

  grid-template-columns: minmax(370px, 60fr) minmax(250px, 40fr);
  gap: var(--card-gap-desktop) !important;

  align-items: stretch !important;

  padding: var(--card-padding-desktop) !important;

  background: #ffffff;

  border: none;
  border-radius: 18px;

  box-shadow: 0 1px 4px rgba(15, 42, 89, 0.04);

  overflow: visible !important;
}


/* ---------------------------------------------------------
   Sezione immagine
   --------------------------------------------------------- */

.card-comunicato-stabile .image-section {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 18px !important;

  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;

  overflow: visible !important;
}

.card-comunicato-stabile .image-section-content {
  position: relative;

  width: 100%;
  max-width: var(--card-image-max-width);

  overflow: visible !important;
}


/* ---------------------------------------------------------
   Decorazioni del frame
   --------------------------------------------------------- */

.card-comunicato-stabile .decorative-shape-1,
.card-comunicato-stabile .decorative-shape-2 {
  display: block !important;
  position: absolute !important;

  z-index: 0 !important;

  border-radius: 20px !important;
  opacity: 1 !important;

  pointer-events: none;
}

.card-comunicato-stabile .decorative-shape-1 {
  top: -18px !important;
  left: -22px !important;

  width: 70% !important;
  height: 60% !important;

  background: var(--card-blue-shape) !important;
}

.card-comunicato-stabile .decorative-shape-2 {
  right: -20px !important;
  bottom: -18px !important;

  width: 70% !important;
  height: 60% !important;

  background: var(--card-turquoise-shape) !important;
}


/* ---------------------------------------------------------
   Frame immagine
   Proporzione richiesta: 3 / 2
   --------------------------------------------------------- */

.card-comunicato-stabile .image-wrapper {
  position: relative !important;
  z-index: 1 !important;

  width: 100% !important;
  margin-left: -2px !important;
  margin-top: -2px !important;

  aspect-ratio: var(--card-image-ratio);

  border-radius: var(--card-image-radius) !important;
  overflow: hidden !important;

  background: #eef3f9;

  box-shadow: 0 6px 16px rgba(15, 42, 89, 0.08) !important;

  transform: none !important;
  transition: none !important;
}


/* Fallback per browser che non supportano aspect-ratio */

@supports not (aspect-ratio: 3 / 2) {
  .card-comunicato-stabile .image-wrapper::before {
    content: "";
    display: block;
    padding-top: 66.6667%;
  }

  .card-comunicato-stabile .image-wrapper > div,
  .card-comunicato-stabile .image-wrapper picture,
  .card-comunicato-stabile .image-wrapper img {
    position: absolute !important;
    inset: 0 !important;
  }
}


/* Div interno Liferay */

.card-comunicato-stabile .image-wrapper > div {
  width: 100% !important;
  height: 100% !important;
}


/* Picture */

.card-comunicato-stabile .image-wrapper picture {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}


/* Immagine dentro il frame */

.card-comunicato-stabile .image-wrapper img {
  display: block;

  width: 100% !important;
  height: 100% !important;
  max-width: 100%;

  object-fit: cover;
  object-position: center center;

  position: static !important;

  image-rendering: auto !important;

  transform: translate3d(0, 0, 0) !important;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;

  filter: none;
}


/* ---------------------------------------------------------
   Sezione testo
   Griglia stabile:
   titolo sopra, descrizione al centro, bottone bloccato in basso
   --------------------------------------------------------- */

.card-comunicato-stabile .content-section {
  margin: 0 !important;
  padding: 12px 0 2px 0 !important;

  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto;

  max-width: 340px;

  height: var(--card-text-column-height);
  min-height: var(--card-text-column-height);

  overflow: visible;
}


/* ---------------------------------------------------------
   Titolo
   --------------------------------------------------------- */

.card-comunicato-stabile .event-label {
  margin: 0 0 14px 0 !important;

  color: var(--card-title-color) !important;

  font-family: "Playfair Display", serif !important;
  font-size: 21px !important;
  font-style: normal;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.01em !important;

  overflow: hidden;
}

.card-comunicato-stabile .event-label p,
.card-comunicato-stabile .event-label strong {
  margin: 0 !important;

  font-family: "Playfair Display", serif !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
}


/* Titolo massimo 5 righe */

.card-comunicato-stabile .event-label strong {
  display: -webkit-box;

  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;

  overflow: hidden;
  text-overflow: ellipsis;
}


/* ---------------------------------------------------------
   Descrizione
   --------------------------------------------------------- */

.card-comunicato-stabile .description {
  margin: 0 0 14px 0 !important;

  color: #2f3742 !important;

  font-family: "Inter", sans-serif !important;
  font-size: 15.5px !important;
  font-style: normal;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  letter-spacing: 0.01em !important;

  min-height: 0;
  overflow: hidden;
}

.card-comunicato-stabile .description p {
  margin: 0 !important;

  font-family: "Inter", sans-serif !important;
  line-height: 1.5 !important;

  display: -webkit-box;

  -webkit-line-clamp: 7;
  -webkit-box-orient: vertical;

  overflow: hidden;
  text-overflow: ellipsis;
}


/* ---------------------------------------------------------
   Bottone
   Bloccato in basso senza transform, quindi non viene tagliato
   --------------------------------------------------------- */

.card-comunicato-stabile .buttons {
  display: flex !important;
  flex-wrap: wrap;
  gap: 12px !important;

  align-self: end;

  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;

  transform: none !important;
}

.card-comunicato-stabile .buttons .btn,
.card-comunicato-stabile .buttons .consob-link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;

  min-height: 38px;

  padding: 8px 13px !important;

  border-radius: 4px !important;

  background-color: var(--card-button-color) !important;
  border-color: var(--card-button-color) !important;

  color: #ffffff !important;

  font-family: "Inter", sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 20px !important;

  text-decoration: none !important;

  box-shadow: none !important;

  transition:
    background-color 0.18s ease,
    border-color 0.18s ease;
}

.card-comunicato-stabile .buttons .btn:hover,
.card-comunicato-stabile .buttons .consob-link:hover,
.card-comunicato-stabile .buttons .btn:focus,
.card-comunicato-stabile .buttons .consob-link:focus {
  background-color: var(--card-button-color-hover) !important;
  border-color: var(--card-button-color-hover) !important;
  color: #ffffff !important;
}

.card-comunicato-stabile .buttons path {
  fill: #ffffff !important;
}


/* ---------------------------------------------------------
   Responsive tablet
   --------------------------------------------------------- */

@media (max-width: 991px) {
  .card-comunicato-stabile {
    --card-image-max-width: 540px;
  }

  .card-comunicato-stabile .image-text-buttons {
    grid-template-columns: 1fr !important;
    gap: 30px !important;

    padding: 24px !important;
  }

  .card-comunicato-stabile .image-section {
    margin-top: 0 !important;
    margin-bottom: 18px !important;
    padding-top: 8px !important;

    justify-content: center !important;
  }

  .card-comunicato-stabile .image-section-content {
    max-width: var(--card-image-max-width);
    margin: 0 auto;
  }

  .card-comunicato-stabile .image-wrapper {
    width: 100% !important;
    margin-left: 0 !important;
    margin-top: 0 !important;

    aspect-ratio: 3 / 2;
  }

  .card-comunicato-stabile .content-section {
    display: flex !important;
    flex-direction: column;

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

    max-width: none;
    height: auto;
    min-height: 0;

    overflow: visible;
  }

  .card-comunicato-stabile .event-label {
    font-size: 22px !important;
  }

  .card-comunicato-stabile .event-label strong {
    -webkit-line-clamp: 5;
  }

  .card-comunicato-stabile .description p {
    -webkit-line-clamp: 7;
  }

  .card-comunicato-stabile .buttons {
    margin-top: 8px !important;
    padding-top: 0 !important;

    align-self: flex-start;

    transform: none !important;
  }
}


/* ---------------------------------------------------------
   Responsive mobile
   --------------------------------------------------------- */

@media (max-width: 767px) {
  .card-comunicato-stabile {
    --card-image-radius: 18px;
  }

  .card-comunicato-stabile .image-text-buttons {
    padding: 18px !important;
    gap: 22px !important;

    border-radius: 14px;
  }

  .card-comunicato-stabile .image-section {
    margin-top: 0 !important;
    margin-bottom: 16px !important;
    padding-top: 6px !important;

    justify-content: center !important;
  }

  .card-comunicato-stabile .image-section-content {
    max-width: 100%;
  }

  .card-comunicato-stabile .image-wrapper {
    width: 100% !important;
    margin-left: 0 !important;
    margin-top: 0 !important;

    border-radius: var(--card-image-radius) !important;
    aspect-ratio: 3 / 2;
  }

  .card-comunicato-stabile .decorative-shape-1 {
    top: -12px !important;
    left: -10px !important;

    width: 70% !important;
    height: 60% !important;
  }

  .card-comunicato-stabile .decorative-shape-2 {
    right: -10px !important;
    bottom: -12px !important;

    width: 70% !important;
    height: 60% !important;
  }

  .card-comunicato-stabile .content-section {
    display: flex !important;
    flex-direction: column;

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

    max-width: none;
    height: auto;
    min-height: 0;

    overflow: visible;
  }

  .card-comunicato-stabile .event-label {
    font-size: 20px !important;
    line-height: 1.28 !important;
  }

  .card-comunicato-stabile .event-label strong {
    -webkit-line-clamp: 5;
  }

  .card-comunicato-stabile .description {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }

  .card-comunicato-stabile .description p {
    -webkit-line-clamp: 6;
  }

  .card-comunicato-stabile .buttons {
    margin-top: 8px !important;
    padding-top: 0 !important;

    align-self: stretch;

    transform: none !important;
  }

  .card-comunicato-stabile .buttons .btn,
  .card-comunicato-stabile .buttons .consob-link {
    width: 100%;
    justify-content: center;
  }
}


/* ---------------------------------------------------------
   Schermi molto piccoli
   --------------------------------------------------------- */

@media (max-width: 420px) {
  .card-comunicato-stabile .image-text-buttons {
    padding: 16px !important;
    gap: 20px !important;
  }

  .card-comunicato-stabile .event-label {
    font-size: 19px !important;
  }

  .card-comunicato-stabile .description {
    font-size: 14.5px !important;
  }

  .card-comunicato-stabile .description p {
    -webkit-line-clamp: 5;
  }
}
/* Classe sul contenitore: comunicati-card-uniformi */

/* Struttura esterna: lascia lavorare la same height grid */
.comunicati-card-uniformi .lfr-layout-structure-item-card-bianca {
  height: 100% !important;
  margin-bottom: 0 !important;
}

.comunicati-card-uniformi .lfr-layout-structure-item-card-bianca > div {
  height: 100% !important;
}

/* Wrapper grafico della card */
.comunicati-card-uniformi .card-bianca-wrapper {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;

  background: #ffffff !important;
  border: 1px solid #d8e2f0 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 6px 16px rgba(0, 43, 92, 0.10) !important;
}

/* Card interna */
.comunicati-card-uniformi .card.card-bianca {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Immagine uniforme */
.comunicati-card-uniformi .card.card-bianca img {
  width: 100% !important;
  height: 105px !important;
  object-fit: cover !important;
  display: block !important;
}

/* Titolo: massimo 3 righe */
.comunicati-card-uniformi .card.card-bianca .title {
  line-height: 1.4 !important;
  min-height: 4.2em !important;
  max-height: 4.2em !important;
  overflow: hidden !important;
}

.comunicati-card-uniformi .card.card-bianca .title div,
.comunicati-card-uniformi .card.card-bianca .title strong {
  line-height: 1.4 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;

  color: #003b7a !important;
  font-weight: 700 !important;
}

/* Testo: 4 righe visibili senza taglio */
.comunicati-card-uniformi .card.card-bianca .text {
  line-height: 1.45 !important;
  min-height: 5.9em !important;
  max-height: 5.9em !important;
  overflow: hidden !important;
}

.comunicati-card-uniformi .card.card-bianca .text div {
  line-height: 1.45 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 4 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Link sempre allineato in basso */
.comunicati-card-uniformi .card.card-bianca .link-wrapper {
  margin-top: auto !important;
  padding-top: 8px !important;
}

/* Stile del link */
.comunicati-card-uniformi .card.card-bianca .consob-link {
  color: #003b7a !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.comunicati-card-uniformi .card.card-bianca .consob-link:hover,
.comunicati-card-uniformi .card.card-bianca .consob-link:focus {
  color: #134dce !important;
  text-decoration: underline !important;
}