/* ===== GRID PRINCIPALE ===== */
.orl-grid {
  display: flex;
  flex-wrap: wrap;
  row-gap: 16px;         /* spazio verticale reale */
  width: 100%;
  position: relative;
  justify-content: space-between; 
}


.orl-grid-elenco {
  display: flex;
  flex-wrap: wrap;
  row-gap: 16px;         /* spazio verticale reale */
  width: 100%;
  position: relative;
  /* MODIFICA 2026-04-04 */
  /* justify-content: space-between; */
  justify-content: flex-start !important;
  gap: 20px;
}


/* ===== CARD BASE ===== */
.orl-card {
  width: 300px;
  height: 400px;
  flex: 0 0 300px;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
}

.orl-card-elenco {
  width: 300px;
  height: 400px;
  flex: 0 0 300px;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
}

/* ===== IMMAGINE ===== */
.orl-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.orl-card-elenco img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}



/* ===== OVERLAY SICURO ===== */
.orl-overlay {
  position: absolute;
  inset: 0;
  /* background: linear-gradient( to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.6) 40%, rgba(0,0,0,0) 75%); */
  background: linear-gradient(
    to top,
    rgba(0,0,0,0.85) 0%,
    rgba(0,0,0,0.5) 25%,
    rgba(0,0,0,0) 50%
  );
  pointer-events: none;
}

/* ===== TESTO ===== */
.orl-content {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 20px;
  color: #fff;
  z-index: 2;
}


/* ===== BANNER SENZA OVERLAY ===== */
.orl-banner .orl-overlay,
.orl-banner .orl-content {
  display: none;
  width: 300px;
  height: 400px;
  overflow: hidden;        /* evita che l'immagine esca */
}

/* ===== BANNER STATICO ===== */
.orl-banner {
  width: 300px;
  height: 400px;
  flex: 0 0 auto;      /* evita scaling automatico da flex */
  overflow: hidden;    /* taglia eventuale eccesso, anche se non necessario */
}


.orl-banner img {
  width: auto;          /* dimensione reale immagine */
  height: auto;         /* dimensione reale immagine */
  max-width: none;      /* disattiva restrizioni bootstrap */
  display: block;
  object-fit: initial; /* nessun riempimento o taglio */
}

.orl-banner-col {
  flex: 0 0 300px;  /* fissa la larghezza a 300px */
  max-width: 300px; /* impedisce scaling */
}

.orl-banner-wrapper {
  width: 300px;
  height: 400px;
  overflow: hidden;      /* taglia eventuale fuoriuscita */
}
.orl-banner-wrapper img {
  width: 300px;          /* dimensione reale */
  height: 400px;         /* dimensione reale */
  display: block;
  object-fit: initial;    /* nessun scaling */
  max-width: none;
}


/* ===== MOBILE ===== */
@media (max-width: 1199px) {
  .orl-grid {
    justify-content: center;
    column-gap: 16px;
  }
  .orl-grid-elenco {
    justify-content: center;
    column-gap: 16px;
  }
}



@media (max-width: 991.98px) {
  .orl-banner {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .banner-link-mobile {
    display: block !important;
    width: 300px !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    float: none !important;
    position: static !important;
    text-align: center !important;
  }

  .banner-mobile-fix {
    display: block !important;
    width: 300px !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
    float: none !important;
    position: static !important;
  }
}

.categoria-articolo-primo-piano {
  display: inline-block;
  background-color: #ddb300; /* giallo oro */
  color: #18212d;            /* blu molto scuro */
  padding: 6px 12px;
  border-radius: 4px;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1;
  margin: 0 0 5px 0;
}


.banner-wrapper {
  width: 300px;   /* dimensione fissa */
  height: 400px;  /* dimensione fissa */
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden; /* previene overflow indesiderato */
}

.img-banner-fixed {
  width: 300px;      /* larghezza fissa */
  height: 400px;     /* altezza fissa */
  display: block;
  margin: 0 auto;    /* centra orizzontalmente */
  /* object-fit: cover; */ /* mantiene l’immagine piena nel box senza distorsione */
  object-fit: contain; /* mantiene tutta l'immagine senza tagli */
}


/* 1 colonna */
@media (max-width: 576px) {
  .orl-grid-elenco {
    grid-template-columns: 1fr;
  }

  .orl-card-elenco:last-child {
    grid-column: auto;
    max-width: 100%;
    justify-self: stretch;
  }
}

