/*
################
    NEWS PLUGIN CSS 
    v1.0.0
    @author Sandro Cantagallo
################
*/

/*
* —Sistema a griglia CUSTOM —
*/

/* Grid generale */
.news-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

/* 3 cards per riga quando aggiungi la classe */
.news-grid.three-per-row .news-card {
    flex: 0 0 32.1%;
}

.news-grid.two-per-row .news-card {
    flex: 0 0 49%;
}

.news-grid.one-per-row .news-card {
    flex: 0 0 100%;
}

/*
#############################
    GRID SYSTEM 12 COLONNE
    v1.0.0
#############################
*/

/* Contenitore principale */
.grid-container {
  width: 100%;
  margin: 0 auto;
  /* padding: 0 15px; */
  padding: 0rem;
  box-sizing: border-box;
}

/* Riga */
.grid-row {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 20px; /* spazio tra colonne */
}

/* Colonne base */
[class*="col-"] {
  box-sizing: border-box;
}

/* Definizione colonne */
.col-1 { grid-column: span 1; }
.col-2 { grid-column: span 2; }
.col-3 { grid-column: span 3; }
.col-4 { grid-column: span 4; }
.col-5 { grid-column: span 5; }
.col-6 { grid-column: span 6; }
.col-7 { grid-column: span 7; }
.col-8 { grid-column: span 8; }
.col-9 { grid-column: span 9; }
.col-10 { grid-column: span 10; }
.col-11 { grid-column: span 11; }
.col-12 { grid-column: span 12; }

.mt-4 {
  margin-top: 2rem;
}

/* Responsività */
@media (max-width: 1024px) {
  .grid-row {
    grid-template-columns: repeat(12, 1fr);
    gap: 15px;
  }
  .col-8, .col-4 {
    grid-column: span 12; /* su tablet: stack */
  }
  .elementor-139 .elementor-element.elementor-element-c8bc039, .elementor-139 .elementor-element.elementor-element-cfcfef7,
  .elementor-139 .elementor-element.elementor-element-1db876c {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .elementor-139 .elementor-element.elementor-element-c8bc039 .e-con-inner {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .elementor-139 .elementor-element.elementor-element-0959751 {
    padding-left: 0rem !important;
  }

  .elementor-139 .elementor-element.elementor-element-6bd5072 {
    padding-left: 0rem !important
  }

  .elementor-139 .elementor-element.elementor-element-4976bd76 {
    margin-bottom: 1rem !important;
  }
  .elementor-139 .elementor-element.elementor-element-150cfc1 {
    width: 100% !important;
    padding-left: 0rem !important;
  }
  .elementor-139 .elementor-element.elementor-element-3dec8bbc .e-con-inner {
    padding-top: 1rem !important;
  }
  .elementor-139 .elementor-element.elementor-element-edc3ffa {
    padding-left: 0rem !important;
  }
  .elementor-139 .elementor-element.elementor-element-7dd5f8d {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .elementor-element-bfb10b6 {
    text-align: center !important;
  }
  .filter-row {
    display:grid !important;
   
  }
  .btn-header {
    max-width: 100% !important;
  }
}

@media (max-width: 768px) {
  .grid-row {
    grid-template-columns: 1fr; /* su mobile: una colonna sola */
    gap: 10px;
  }
  [class*="col-"] {
    grid-column: span 1 !important;
  }

}

/*
* — Cards —
*/

/* Singola card */
.news-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* spinge .news-bottom in basso */
    flex: 0 0 25%; /* 4 card per riga */
    box-sizing: border-box;
    padding: 15px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
    transition: transform 0.3s, box-shadow 0.3s;
}

/* effetto zoom quando si mette il mouse sulla card aumentando anche l'ombreggiatura */
.news-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    cursor: pointer;
}

/* Parte bassa della cards sempre in fondo. Mostrerà il bottone per leggere la notizia, la fonte, i tags, la categoria e la data */
.news-bottom {
    margin-top: 0.5rem; /* piccolo spazio sopra tags/categorie/bottone */
    display: flex;
    flex-direction: column;
    gap: 0rem;
}

/* Immagine */
.news-image {
    width: 100%;
    aspect-ratio: 16/9;   /* oppure 4/3 o quello che preferisci */
    overflow: hidden;
}

.news-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 6px;
    margin-bottom: 10px;
    object-fit: cover;
}

/* Titolo */
.news-title {
    font-size: 1.2rem;
    margin: 0 0 10px 0;
}

/* Excerpt - Il contenuto tagliato della notizia */
.news-excerpt {
    font-size: 0.95rem;
    margin-bottom: 10px;
    color: #555;
    text-align: justify;
}

/* Tags cliccabili */
.news-tags .tag {
    display: inline-block;
    background: #eee;
    color: #333;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 0.85rem;
    margin: 0 5px 5px 0;
    text-decoration: none;
    transition: background 0.3s, transform 0.2s;
}

.news-tags .tag:hover {
    background: #ccc;
    transform: translateY(-2px);
}

.news-tags .tag:active {
    transform: translateY(0);
}

/* Categorie come bottoni */
.news-categories .category {
    display: inline-block;
    background: #eee;
    color: #333;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 0.85rem;
    margin: 0 5px 5px 0;
    text-decoration: none;
    transition: background 0.3s, transform 0.2s;
}

.news-categories .category:hover {
    background: #e0e0e0;
    transform: translateY(-2px);
}

.news-categories .category:active {
    transform: translateY(0);
}

/* il bottone di approfondimento lo pongo al centro della cards con unpo di margine dal contenuto testuale*/

.news-button {
    text-align: center;
    margin-top: 1rem;
}

/* Bottone approfondisci */
.news-button .btn {
    display: inline-block;
    padding: 10px 20px;
    border-radius: 25px;
    text-decoration: none;
    font-weight: bold;
    transition: background 0.3s, transform 0.2s, box-shadow 0.2s;
}

/* Bottone arancione */
.news-button .btn-orange {
    background: #ff7f00;
    color: #fff;
}

.news-button .btn-orange:hover {
    background: #ff9400;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    color: #fff
}

.news-button .btn-orange:active {
    background: #e67300;
    transform: translateY(0);
    box-shadow: none;
}

/* Dimensione font delle etichette date ai bottoni tags categoria e fonte*/
.label_cards {
    font-size: 0.85rem;
}

/* data di pubblicazione*/
.news-published {
    font-size: 0.85rem;
    color: #333;
    margin-bottom: 5px;
}

.news-published strong {
    color: #333;
}

.text-carousel {
  /* max-width: 600px;
  margin: 20px auto; */
  font-family: "CodecPro", Sans-serif;
  line-height: 1.6;
  color: #000;
  position: relative;
}

p.excerpt {
      margin-block-end: 0rem !important;
}

.more-text {
  /* display: none;
  opacity: 0;
  transition: opacity 1.6s ease-in-out; */
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.45s cubic-bezier(.2,.8,.2,1), opacity 0.35s ease;
  will-change: max-height, opacity;
}

.more-text.show {
  /* display: block;
  opacity: 1; */
  opacity: 1;
}

.read-more {
  background: none;
  border: none;
  color: #000;
  font-weight: bold;
  cursor: pointer;
  margin-top: 10px;
  font-size: 1rem;
  padding-left: 0rem !important;
  transition: color 0.2s ease-in-out;
}

.read-more:hover, .read-more:focus, .read-more:active {
  padding-left: 0rem !important;
  border: none !important;
  background-color: #fff !important;
  color: #ED7102 !important;
}

/* Responsività */
@media (max-width: 1024px) {
   .news-grid .news-card,
    .news-grid.three-per-row .news-card {
        flex: 0 0 100%; /* 2 per riga tablet */
    }
    .news-grid.two-per-row .news-card {
        flex: 0 0 100%; /* 2 per riga tablet */
    }
    .news-grid.one-per-row .news-card {
        flex: 0 0 100%; /* 2 per riga tablet */
    }
    .elementor-70 .elementor-element.elementor-element-02cff19 {
      padding-left: 0px !important;
      padding-right: 0px !important;
    }
}

@media (max-width: 768px) {
   .news-grid .news-card,
    .news-grid.three-per-row .news-card, .news-grid.two-per-row .news-card {
        flex: 0 0 100%; /* 1 per riga mobile */
    }
    .news-grid.one-per-row .news-card {
        flex: 0 0 100%; /* 1 per riga mobile */
    }
}

/*
* - Box Home cos'è il sistema bilaterale
*/
.elementor-70 .elementor-element.elementor-element-02cdb07 {
  min-height: 0px !important;
}

/*
* — Paginazione delle cards news con sitema a griglia responsiva —
*/

/* 🔹 Grid layout */
.custom-pagination {
    margin-bottom: 2rem;
}
.custom-pagination .pagination-grid {
    display: grid;
    grid-template-columns: 1fr 10fr 1fr;
    align-items: center;
    gap: 0.5rem;
    margin-top: 2rem;
}

.pagination-numbers {
    text-align: center !important;
}
.pagination-next {
    text-align: right !important;
    padding-right: 1.5rem !important;
}

/* 🔸 Mobile: stack */
@media (max-width: 768px) {
    .custom-pagination .pagination-grid {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .custom-pagination .pagination-prev,
    .custom-pagination .pagination-next {
        margin-bottom: 0.5rem;
    }
}

/* 🔹 Buttons */
.page-btn {
    display: inline-block;
    padding: 0.5rem 1rem;
    margin: 0.2rem;
    font-size: 14px;
    border-radius: 6px;
    border: 1px solid #ddd;
    background: #f7f7f7;
    color: #333;
    text-decoration: none;
    transition: all 0.2s ease-in-out;
}

/* Hover effect */
.page-btn:hover {
    background: #ff6600;
    color: #fff !important;
    border-color: #ff6600;
}

/* Active page */
.page-btn.active {
    background: #ff6600;
    color: #fff;
    font-weight: bold;
    border-color: #ff6600;
    cursor: default;
}

/* Disabled */
.page-btn.disabled {
    background: #eee;
    color: #aaa;
    border-color: #ddd;
    cursor: not-allowed;
}

/* 🔹 Contenitore accordion */
.filter-accordion {
  margin: 1rem 0;
}

/* 🔸 Bottone toggle */
.accordion-toggle {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.7rem 1rem;
  font-size: 1rem;
  font-weight: 600;
  border: 1px solid #ddd;
  background: #f7f7f7;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.3s ease;
  width: 100%;
  color: #ff6600;
}

.accordion-toggle:hover {
  background: #ff6600;
  color: #fff;
}

.accordion-toggle:focus {
  background: #ff6600a1;
  color: #fff;
}

/* Icona filtro */
.accordion-toggle .icon {
  font-size: 1.2rem;
}

/* 🔹 Pannello nascosto */
.accordion-panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease;
}

/* Stato aperto */
.accordion-panel.open {
  /* max-height: 30rem; grande abbastanza per il contenuto */
    max-height: 9999px; /* o auto */
  overflow: visible;
}

/* 🔹 Grid di base */
.filter-grid {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.filter-row {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 1rem;
}

.filter-col {
  display: flex;
  flex-direction: column;
}

.col-4 { grid-column: span 4; }

/* Colonne speciali */
.col-8 { grid-column: span 8; }
.col-2 { grid-column: span 2; }

/* Mobile: stack */
@media (max-width: 768px) {
  .filter-row {
    grid-template-columns: 1fr;
  }
  .col-50, .col-25 {
    grid-column: span 1 !important;
  }
}

/*
* — Personalizzazione FORM filtri —
*/

/* Contenitore generale */
.filter-grid {
  max-width: 100%;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  font-family: "CodecPro", Sans-serif;
}

/* Disposizione righe */
.filter-row {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

/* Colonne */
.filter-col {
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* Label */
.filter-col label {
  font-size: 0.85rem;
  font-weight: 500;
  color: #444;
  margin-bottom: 0.4rem;
}

/* Input e Select stile documento */
.filter-col input,
.filter-col select {
  border: none !important;
  border-bottom: 2px solid #ccc !important;
  padding: 10px 4px !important;
  font-size: 0.95rem !important;
  background: transparent !important;
  transition: all 0.3s ease !important;
}

.elementor-form .elementor-button.elementor-size-sm {
    min-height: 44px !important;
}

/* 🔹 Disattiva stile documento per gli input clonati di Choices.js */
.choices__input.choices__input--cloned {
    border: none !important;
    border-bottom: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    font-size: inherit !important;
    padding-left: 4px !important;
    padding-top: 4px !important;
}

.choices__list--multiple .choices__item {
    padding-top: 0rem !important;
    padding-bottom: 0rem !important;
    margin-bottom: 0px !important;
    background-color:#e67300 !important;
    color: #fff !important;
    font-weight: bold !important;
    border: none !important;
}

[type=button]:focus, [type=button]:hover, [type=submit]:focus, [type=submit]:hover, button:focus, button:hover {
    background-color:#e67300 !important;
    color: #fff !important;
}

.choices__button:focus {
  background: none !important;
  box-shadow: none !important;
}

/* Mettere questo CSS *dopo* il CSS del tema (es. Custom CSS di Elementor o child theme) */

/* Rimuove lo sfondo/hover impostato dal tema sui pulsanti di Choices */
.choices__list--multiple .choices__item .choices__button,
.choices__list--multiple .choices__item .choices__button:hover,
.choices__list--multiple .choices__item .choices__button:active,
.choices__list--multiple .choices__item .choices__button:focus {
  background-color: transparent !important;
  /* background-image: none !important; */
  box-shadow: none !important;
  border: none !important;
  color: #fff !important;        /* mantiene il colore del testo/badge */
}

/* Mostra un indicatore di focus SOLO per chi usa la tastiera (migliora accessibilità) */
.choices__list--multiple .choices__item .choices__button:focus-visible {
  outline: 2px solid rgba(0,115,230,0.25);
  outline-offset: 2px;
}


.filter-col input:focus,
.filter-col select:focus {
  border-bottom-color: #0073e6;
  outline: none;
}

/* Bottone */
.elementor-button {
  width: 100%;
  background: #0073e6;
  color: #fff;
  font-size: 0.9rem;
  font-weight: 600;
  padding: 8px 12px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.25s;
}

.elementor-button:hover {
  background: #005bb5;
}

/* Badge selezionati */
.choices__list--multiple .choices__item {
  background-color: #0073e6;
  border-radius: 12px;
  color: #fff;
  padding: 4px 8px;
  font-size: 0.8rem;
  margin: 2px;
}

/* Hover sul badge */
.choices__list--multiple .choices__item.is-highlighted {
  background-color: #005bb5;
}

/* Input con solo bordo inferiore */
.choices__inner {
  border: none !important;
  border-bottom: 2px solid #ccc !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 4px 0 !important;
}

/* Input text stile documento */
    .filter-col input[type="text"] {
      border: none;
      border-bottom: 2px solid #ccc;
      padding: 6px 4px;
      font-size: 0.95rem;
      background: transparent;
      transition: all 0.3s ease;
      padding-bottom: 0.8rem;
        background-color: #f9f9f9;
    }

    .filter-col input[type="text"]:focus {
      border-bottom-color: #0073e6;
      outline: none;
    }

    .breadcrumbs {
  font-size: 0.9rem;
  margin: 1rem 0;
  color: #555;
}

.breadcrumbs ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 0;
  margin: 0;
}

.breadcrumbs li {
  display: flex;
  align-items: center;
}

.breadcrumbs li::after {
  content: "/";
  margin-left: 0.5rem;
  color: #aaa;
}

.breadcrumbs li:last-child::after {
  content: "";
}

.breadcrumbs a {
  text-decoration: none;
  color: #0073aa; /* blu WordPress */
  transition: color 0.2s ease;
}

.breadcrumbs a:hover {
  color: #005177;
  text-decoration: underline;
}

/*
* — Colonna di destra ente card —
*/

.ente p {
    font-size: 0.95rem;
    margin-bottom: 10px;
    color: #555;
    text-align: justify;
}

/* Modale base */
.news-modal {
  display: none; /* nascosta di default */
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  background-color: rgba(0,0,0,0.6);
}

/* Contenuto modale */
.news-modal-content {
  background: #fff;
  margin: 5% auto;
  padding: 20px;
  border-radius: 12px;
  width: 90%;
  max-width: 600px;
  box-shadow: 0 5px 20px rgba(0,0,0,0.2);
  animation: fadeIn 0.3s ease-in-out;
}

/* Titolo modale */
.news-modal-content h2 {
  margin-top: 0;
  font-size: 1.5rem;
}

/* Chiudi modale */
.news-modal-close {
  float: right;
  font-size: 28px;
  font-weight: bold;
  color: #333;
  cursor: pointer;
}

.news-modal-close:hover {
  color: #ff6600;
}

/* Animazione */
@keyframes fadeIn {
  from {opacity: 0; transform: translateY(-10px);}
  to {opacity: 1; transform: translateY(0);}
}

.text-center {
    text-align: center;
}

.news-group {
    margin-bottom: 2rem;
}

/* Debug box: contenitore */
.debug_box {
  border: 1px dashed rgba(0,0,0,0.15);
  background: #f7f7f7;
  padding: 10px;
  border-radius: 6px;
  color: #111;
  font-family: "Menlo", "Monaco", "Consolas", "Liberation Mono", "DejaVu Sans Mono", "Courier New", monospace;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Titolo h3 all'interno della debug_box (stessa "aria" della shell) */
.debug_box h3 {
  margin: 0 0 8px 0;
  padding: 0;
  font-size: 10px;         /* dimensione massima richiesta */
  line-height: 1.2;
  font-weight: 600;
  font-family: inherit;    /* eredita la monospace impostata sopra */
  color: #222;
}

/* Preformattato con scroll e altezza delimitata */
.debug_box pre {
  margin: 0;
  padding: 8px;
  background: rgba(0,0,0,0.02);
  border-radius: 4px;
  overflow: auto;          /* abilita lo scroll se necessario */
  max-height: 220px;       /* altezza massima: modifica se necessario */
  font-size: 10px;         /* dimensione massima richiesta */
  line-height: 1.25;
  white-space: pre;        /* mantiene formattazione tipo shell */
  word-break: normal;
  tab-size: 4;
}

/* Piccola ottimizzazione per il comportamento mobile */
@media (max-width: 480px) {
  .debug_box pre {
    max-height: 160px;
    font-size: 10px;
  }
}

.no-rounded {
  border-radius: 0 !important;
}
.btn-header {
  max-width: 50%;
  font-size: 1.5rem !important;
  padding: 0rem !important;
}

/**
* — Header del portale —
*/

.elementor-element.elementor-element-9c698b8.e-flex.e-con-boxed.e-con.e-parent.elementor-motion-effects-element.elementor-motion-effects-element-type-background.e-lazyloaded,
.elementor-element.elementor-element-64a5999f.e-flex.e-con-boxed.e-con.e-parent.elementor-motion-effects-element.elementor-motion-effects-element-type-background.e-lazyloaded {
  padding-left: 8rem !important;
  padding-right: 8rem !important;
}
.elementor-element.elementor-element-1eb24568.e-con-full.e-flex.e-con.e-child,
.elementor-593 .elementor-element.elementor-element-3ab49c27,
.elementor-593 .elementor-element.elementor-element-114d19d {
  margin-left: 0rem !important;
  margin-right: 0rem !important;
  padding-left: 0rem !important;
  padding-right: 0rem !important;
}

.elementor-element.elementor-element-6d44153.elementor-widget.elementor-widget-heading {
  max-width: 70% !important;
}

@media (max-width: 1024px) {
  .elementor-element.elementor-element-9c698b8.e-flex.e-con-boxed.e-con.e-parent.elementor-motion-effects-element.elementor-motion-effects-element-type-background.e-lazyloaded {
    padding-left: 6rem !important;
    padding-right: 6rem !important;
  }
  .elementor-70 .elementor-element.elementor-element-c9440f3 .elementor-heading-title {
    font-size: 25px !important;
  }
  .elementor-element.elementor-element-6d44153.elementor-widget.elementor-widget-heading {
    max-width: 100% !important;
  }
}

@media (max-width: 768px) {
    .elementor-element.elementor-element-9c698b8.e-flex.e-con-boxed.e-con.e-parent.elementor-motion-effects-element.elementor-motion-effects-element-type-background.e-lazyloaded {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }
      .elementor-92 .elementor-element.elementor-element-a4b02fa  {
        width: 100% !important;
      }
      .elementor-element.elementor-element-6d44153.elementor-widget.elementor-widget-heading {
        max-width: 100% !important;
      }
}

.elementor-element.elementor-element-92e2a9f.e-con-full.e-flex.e-con.e-child {
  margin-left: 0rem !important;
  margin-right: 0rem !important;

}
.elementor-element.elementor-element-a4b02fa.e-con-full.e-flex.e-con.e-child,
.elementor-element.elementor-element-97a0cd8.e-con-full.e-flex.e-con.e-child {
  margin-left: 0px !important;
  margin-right: 0px !important;
  padding-left: 0px !important;
  padding-right: 0px !important;
}



/*
* —Pagina di dettaglio della notizia—
*/

/* === BRICIOLE DI PANE === */
nav.breadcrumbs ul li a, nav.breadcrumbs ul li a:hover {
  font-family: "CodecPro", Sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: #000;
  text-transform: lowercase;
  text-decoration: none;
  transition: color 0.3s ease;
}

nav.breadcrumbs ul li a:hover {
  color: #ED7102;
}

nav.breadcrumbs ul li a::first-letter {
  text-transform: uppercase;
}

/* === CONTENUTO DELL'ARTICOLO === */
.grid-container .grid-row .col-8 .entry-content p {
    font-family: "CodecPro", Sans-serif;
    font-size: 18px;
    color: #000;
    text-align: justify;
}

.grid-container .grid-row .col-8 .entry-content {
  padding-right: 1rem;
}

.original-link a, .next-previous-row a {
  font-family: "CodecPro", Sans-serif !important;
  font-size: 18px !important;
  color: #000 !important;
  text-decoration: underline !important;
  transition: color 0.3s ease !important;
}

.original-link a:hover, .next-previous-row a:hover {
  color: #ED7102 !important;
}

.entry-footer {
  margin-top: 1rem;
}

.entry-footer .news-published {
  margin-top: 1rem !important;
  font-family: "CodecPro", Sans-serif !important;
  font-size: 18px !important;
  color: #2d2d2d !important;
}

.entry-footer .news-published .icona {
  width: 1.2em;  /* stessa altezza del testo */
  height: 1.2em;
  margin-bottom: -3px;
  fill: #2d2d2d;
}

/* === SPALLA DESTRA STICKY === */
.news-sidebar {
  background-color: #fff; /* sfondo bianco */
  border: 1px solid rgba(0,0,0,0.2); /* bordo sottile, quasi impercettibile */
  border-radius: 10px; /* angoli arrotondati */
  box-shadow: 0 2px 6px rgba(0,0,0,0.3); /* leggera ombreggiatura */
  padding: 20px; /* spazio interno */
}

/* Sticky nella colonna */
.col-4 .news-sidebar {
  position: sticky;
  top: 20px; /* distanza dal top della finestra */
}

/* Input di ricerca  */
.form-search-news {
  width: 100%;
}

.form-search-news input[type="text"] {
  width: 100%;
  padding: 10px;
  padding-left:20px;
  padding-right: 20px;
  border: 1px solid rgba(0,0,0,0.5);
  border-radius: 20px;
  font-size: 18px;
  box-sizing: border-box;
  outline: none; 
  transition: border-color 0.3s ease, box-shadow 0.3s ease; 
  -webkit-appearance: none;  /* utile su Safari/Chrome */
}

.form-search-news input[type="text"]:focus {
  border-color: #ED7102 !important;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3) !important;
}

/* titolo dell'ente da cui proviene la notizia */
.ente-description-box, .leggi-di-piu-header, .elenco-categorie-header {
  width: 100%;
  border-bottom: 1px solid rgba(0,0,0,0.1);
}

.ente-description-box h3.ente-title a, .news-grid.ente .leggi-di-piu-header h3, .leggi-di-piu-header h3 a, .elenco-categorie-header h3 {
  font-family: "CodecPro", Sans-serif;
  font-weight: 500;
  font-size: 1.75rem;
  color: #000;
  transition: color 0.3s ease !important;
}

.ente-description-box h3.ente-title a:hover, .leggi-di-piu-header h3 a:hover {
  color: #ED7102;
  text-decoration: none;
}

/* bottone approfondisci dell'ente */
.ente-button-box, .ente-button {
  width: 100%;

}

/* lista categorie nella pagina di dettaglio di un articolo */
.news-grid.ente h3 {

}


.lista {
  list-style: none;
  padding: 0;
  margin: 0;
  width: 100%;
  margin-bottom: 1rem;
}

.lista li {
  /* border-bottom: 1px solid #000; */
}

.lista li a {
  display: flex;
  justify-content: space-between; /* titolo a sinistra, freccia a destra */
  align-items: center;
  padding: 12px 10px;
  text-decoration: none;
  color: #000; /* colore del testo */
  transition: color 0.3s ease !important;
}

.lista li a:hover {
  /* background-color: rgba(237, 113, 2, 0.08); */
  transition: background-color 0.3s ease;
  color: #ED7102;
}

/* Freccia nera a destra */
.freccia {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-top: 2px solid black;
  border-right: 2px solid black;
  transform: rotate(45deg);
}

/* === Link precedenti e successivo di un articolo === */
.next-previous-row {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(0,0,0,0.1);
}

.next-previous-row a {
  text-decoration: none !important;
}

.align-right {
  text-align: right;
}

