/* ------------------------------------------------------------------
   BASE
-------------------------------------------------------------------*/
html {
  scroll-behavior: smooth;
}

#wrapper,
.content-page {
  overflow-x: hidden;               /* evita scroll orizzontali accidentali */
}

/* Mantiene la class “justify-content-right” allineata a flex-end */
.justify-content-right {
  justify-content: flex-end !important;
}

/* ------------------------------------------------------------------
   TABELLE
-------------------------------------------------------------------*/
.table-responsive-custom {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; /* inerzia fluida su iOS */
}

/* Dimensioni base celle (verranno ridotte sotto i breakpoint) */
#scadenzario th,
#scadenzario td {
  font-size: 0.85rem;
  white-space: nowrap;              /* evita il wrap indesiderato */
}

/* ------------------------------------------------------------------
   BREAKPOINT XS – Telefoni <576 px
-------------------------------------------------------------------*/
@media (max-width: 575.98px) {

  /* Colonne bootstrap: da 50 % a 100 % */
  .col-6 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }

  /* Blocchi di pulsanti impilati */
  .row .col-12.d-flex {
    flex-direction: column !important;
  }
  .row .col-12.d-flex > * {
    width: 100%;
    margin-bottom: .5rem;
  }

  /* Form ricerca */
  .d-flex.justify-content-right {
    flex-direction: column;
  }
  .d-flex.justify-content-right label {
    margin-bottom: .25rem;
  }
  .d-flex.justify-content-right input[type="text"] {
    width: 100%;
    margin-bottom: .5rem;
  }
  .d-flex.justify-content-right .btn {
    width: 100%;
  }

  /* Titolo pagina un po’ più piccolo */
  .header-title {
    font-size: 1.1rem;
  }

  /* Tabella: caratteri più compatti */
  #scadenzario th,
  #scadenzario td {
    font-size: 0.75rem;
  }

  /* Nasconde colonne meno essenziali per ridurre lo scroll orizzontale;
     regola gli indici in base alla tua tabella (qui 8-9 = “Data invio mail”+col pulsanti) */
  #scadenzario th:nth-child(8),
  #scadenzario td:nth-child(8),
  #scadenzario th:nth-child(9),
  #scadenzario td:nth-child(9) {
    display: none;
  }
}

/* ------------------------------------------------------------------
   BREAKPOINT SM – 576-767 px (tablet in verticale)
-------------------------------------------------------------------*/
@media (min-width: 576px) and (max-width: 767.98px) {

  .header-title {
    font-size: 1.25rem;
  }

  #scadenzario th,
  #scadenzario td {
    font-size: 0.8rem;
  }
}

/* ------------------------------------------------------------------
   BREAKPOINT MD – 768-991 px (tablet orizzontale / laptop piccoli)
-------------------------------------------------------------------*/
@media (min-width: 768px) and (max-width: 991.98px) {
  #scadenzario th,
  #scadenzario td {
    font-size: 0.8rem;
  }
}

/* ------------------------------------------------------------------
   BREAKPOINT LG+ – ≥992 px: eventuali ritocchi desktop
-------------------------------------------------------------------*/
@media (min-width: 992px) {
  /* niente per ora, ma mantieni la sezione per future esigenze */
}

/* ------------------------------------------------------------------
   UTILITIES PERSONALIZZATE
-------------------------------------------------------------------*/

/* Nasconde elementi etichettati con .d-none-mobile solo su mobile,
   già presente ma la teniamo per completezza */
@media (max-width: 575.98px) {
  .d-none-mobile {
    display: none !important;
  }
  .d-hidden-mobile {
    visibility: hidden;
  }
}

/* Esempio: riduce margine/letter-spacing in hero header mobile
   (l’avevi già; spostato qui per coerenza) */
@media (max-width: 575.98px) {
  .welcome-area .header-text h1 {
    margin-bottom: 0;
    font-size: 30px;
    letter-spacing: 0;
  }
}


/* ------------------------------------------------------------------
   FORM / RICERCA
-------------------------------------------------------------------*/

/* Wrapper già presente .d-flex.justify-content-right */
@media (max-width: 575.98px) {
  .d-flex.justify-content-right {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .d-flex.justify-content-right label   { margin-bottom: .25rem; }
  .d-flex.justify-content-right input,
  .d-flex.justify-content-right .btn    { width: 100%; }
}

/* ------------------------------------------------------------------
   TABELLA #scadenzario – Vista desktop (piccoli ritocchi)
-------------------------------------------------------------------*/
#scadenzario th,
#scadenzario td {
  font-size: 0.85rem;
  white-space: nowrap;
  padding: .45rem .6rem;
}

/* ------------------------------------------------------------------
   MOBILE – card-view per schermi <576 px
-------------------------------------------------------------------*/
@media (max-width: 575.98px) {

  /* Nasconde intestazioni */
  #scadenzario thead {
    display: none;
  }

  /* Ogni record = card */
  #scadenzario,
  #scadenzario tbody,
  #scadenzario tr {
    display: block;
    width: 100%;
  }

  #scadenzario tr {
    background: #fff;
    border: 1px solid #e5e9ec;
    border-radius: .35rem;
    margin-bottom: 1rem;
    padding: .75rem .9rem;
  }

  /* Celle allineate etichetta → valore */
  #scadenzario td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: .78rem;
    border: 0;                 /* elimino i bordi colonna */
    padding: .25rem 0;
  }

  /* Etichetta: se NON vuoi toccare il PHP
     impostala via nth-child (meno elegante ma rapido) */
  #scadenzario td:nth-child(1)::before { content: "Argomento";   }
  #scadenzario td:nth-child(2)::before { content: "Anagrafica";  }
  #scadenzario td:nth-child(3)::before { content: "Descrizione"; }
  #scadenzario td:nth-child(4)::before { content: "Referente";   }
  #scadenzario td:nth-child(5)::before { content: "Periodicità"; }
  #scadenzario td:nth-child(6)::before { content: "Faldone";     }
  #scadenzario td:nth-child(7)::before { content: "Scadenza";    }
  #scadenzario td:nth-child(8)::before { content: "Invio mail";  }
  /* il penultimo contiene campanella, l’ultimo i pulsanti;
     lasciali senza etichetta per non appesantire la card */

  /* Etichetta visiva */
  #scadenzario td::before {
    font-weight: 600;
    margin-right: .5rem;
    color: #6c757d;
    text-transform: capitalize;
  }

  /* Pulsanti di azione in fondo alla card, allineati a destra */
  #scadenzario td:last-child {
    justify-content: flex-end;
    margin-top: .35rem;
  }
}
 
/* ------------------------------------------------------------------
   TABLET – 576-767 px
-------------------------------------------------------------------*/
@media (min-width: 576px) and (max-width: 767.98px) {
  #scadenzario th, #scadenzario td { font-size: .8rem; }
  .header-title                    { font-size: 1.25rem; }
}

/* ------------------------------------------------------------------
   SMOOTH SCROLL E VARI
-------------------------------------------------------------------*/
html { scroll-behavior: smooth; }

/* Previene scroll orizzontale in wrapper/colonne */
#wrapper, .content-page { overflow-x: hidden; }


@media (max-width: 767.98px) {
    .responsive-table {
  display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; /* per iOS */
  }
}