/* ===== FOOTER BASE (Mobile-First) ===== */
footer {
   background-color: var(--bg-dark);
   color: var(--bg-dark-txt);
   font-size: 0.875rem;  /* ~14px nativo BS5 small */
	/*font-size: 0.875rem;  ~14px nativo BS5 small */
}

/* Link reset globale per il footer */
footer a {
   text-decoration: none;
   color: inherit;
   transition: opacity 0.2s ease-in-out;
}
footer a:link, footer a:visited {
   color: var(--body-color-light);
}
footer a:hover {
   opacity: 0.8;
   color: var(--theme-color1-bg);
}

/* Titoli delle sezioni */
footer h5, 
footer .heading h5{
   font-size: 1rem;
   font-weight: 600;
   margin-bottom: 1rem;
   text-transform: uppercase;
   letter-spacing: 0.1rem;
}

/* Distanziamento liste e contatti */
footer ul li,
footer p {
   margin-bottom: 0.5rem;
}

/* Icone allineate nei contatti */
footer .icon i,
.footer-contacts i {
   width: 1.25rem;
   text-align: center;
}

/* Bottone Torna in Cima (BS5 Floting/Circle) */
.scroll-top {
   border-radius: 50%;
   width: 40px;
   height: 40px;
   padding: 0;
   display: inline-flex;
   align-items: center;
   justify-content: center;
}

/* ===== STRUTTURA SEZIONI / COLONNE ===== */
/* Separatori verticali solo su Mobile per le colonne in stack */
footer .row > [class*="col-"] {
   border-bottom: 1px solid rgba(255, 255, 255, 0.1);
   padding-bottom: 1.5rem;
   margin-bottom: 1.5rem;
}

/* ===== LEGAL NOTES ===== */
#legalnotes ul {
   display: flex;
   flex-direction: column;   /* Stack verticale su mobile */
   gap: .5rem;
   padding-left: 0;
   margin-bottom: 1rem;
   list-style: none;
}
#legalnotes .nav-link{
   padding: 0.25rem 0;
   font-size: 0.8rem;
}

/* ===== CREDITS ===== */
#credits{
	background-image: url(../../easyAdmin/common/images/CreditsGrigio.gif);
	background-position: right center;
	background-repeat: no-repeat;
   font-size: .7rem;
   display: inline-block;
	margin: 5px 2rem 0;
}
#credits span{
   visibility: hidden;
   display: inline-block;
   width: 106px;
}


/* ==========================================
   MEDIA QUERIES (Slicing progressivo BS5)
   ========================================== */

/* Tablet / Desktop Small (md >= 768px) */
@media (min-width: 768px){
   /* Rimuove i bordi di separazione mobile quando le colonne vanno in riga */
   footer .row > [class*="col-"]{
       border-bottom: none;
       padding-bottom: 0;
       margin-bottom: 0;
   }
   /* Note legali in riga */
	#legalnotes ul{
       flex-direction: row;
       flex-wrap: wrap;
       gap: 0 1.5rem;
       margin-bottom: 0;
   }
   #credits{
       margin-bottom: 0;
   }
}

/* Desktop Large (lg >= 992px) */
@media (min-width: 992px){
	footer{
       font-size: 0.9375rem;  /* Leggermente più grande su schermi grandi */
   }
   footer h5, 
   footer .heading h5{	
      font-size: 1.05rem;
   }
}