/*--------------------------------------------------------------
# CSS Specifico per Footer Personalizzato BresciaPC
# Target: footer.php
# Version: 1.7 (Show column titles on desktop, keep mobile accordion)
--------------------------------------------------------------*/

/* --- Stili Generali Footer --- */
.bresciapc-main-footer {
	background-color: #f5f5f7; /* Grigio chiaro Apple */
	color: #6e6e73; /* Grigio testo secondario Apple */
	font-size: 13px;
	line-height: 1.6;
	padding: 50px 0 30px;
	margin-top: 50px;
	border-top: 1px solid #d2d2d7;
}

/* Contenitore interno del footer */
.footer-container {
	max-width: var(--content-width, 1080px); /* Usa var globale se definita in style.css */
	margin: 0 auto;
	padding: 0 25px;
	box-sizing: border-box;
}

/* ================================================== */
/* ============ STILI DESKTOP (>= 768px) ============ */
/* ================================================== */
@media (min-width: 768px) {
	/* --- Navigazione Footer a Colonne (Desktop) --- */
	.footer-nav {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
		gap: 30px 20px;
		padding-bottom: 30px;
		margin-bottom: 30px;
		border-bottom: 1px solid #d2d2d7;
	}

	/* Singola Colonna del Footer */
	.footer-column {
		/* Nessuno stile specifico necessario qui con Grid */
	}

	/* Titolo Colonna (H3) - VISIBILE e non cliccabile su desktop */
	.footer-column .footer-column-title {
        /* Rimuovi stili screen-reader-text e rendi visibile */
        clip: auto !important;
        -webkit-clip-path: none !important;
                clip-path: none !important;
        height: auto !important;
        margin: 0 0 15px 0 !important; /* Margine solo sotto */
        overflow: visible !important;
        position: relative !important; /* Posizione normale */
        width: auto !important;
        white-space: normal !important; /* Permetti a capo */
        /* Stili per titolo visibile */
		display: block;
		color: #1d1d1f;
		font-size: 14px;
		font-weight: 600;
		padding: 0; /* Nessun padding extra */
		cursor: default; /* Cursore normale */
		text-align: left;
	}
	/* Nascondi l'icona +/- su desktop */
	.footer-column .footer-column-title::after {
		display: none;
	}

	/* Lista Link dentro una Colonna (VISIBILE su desktop) */
	.footer-column ul.footer-links {
		list-style: none;
		padding: 0 !important;
		margin: 0 !important;
		max-height: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		background-color: transparent !important;
		transition: none !important;
		overflow: visible !important;
	}
	.footer-column ul.footer-links li {
		margin-bottom: 10px;
	}
	.footer-column ul.footer-links li:last-child {
		margin-bottom: 0;
	}
	.footer-column ul.footer-links a {
		text-decoration: none;
		color: #515154;
		font-size: 13px;
		transition: color 0.2s ease;
	}
	.footer-column ul.footer-links a:hover,
	.footer-column ul.footer-links a:focus {
		color: #0071e3;
		text-decoration: underline;
	    outline: none;
	}
	.footer-column ul.footer-links a:focus-visible {
	    text-decoration: underline;
	}

	/* --- Parte Inferiore Footer (Desktop) --- */
	.footer-bottom {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: baseline;
		gap: 15px 20px;
		font-size: 12px;
		color: #86868b;
	}
	.footer-copyright {
		line-height: 1.4;
	    margin-right: 20px;
		flex-basis: auto;
		flex-grow: 1;
	}
	.footer-legal-nav {
		flex-shrink: 0;
	}
	ul.footer-legal-links {
		list-style: none;
		padding: 0;
		margin: 0;
		display: flex;
		flex-wrap: wrap;
		gap: 5px 15px;
		align-items: center;
	}
	ul.footer-legal-links li {
		position: relative;
		padding-right: 18px;
	}
	ul.footer-legal-links li:last-child {
		padding-right: 0;
	}
	ul.footer-legal-links li:not(:last-child)::after {
		content: '|';
		position: absolute;
		right: 6px;
		top: 50%;
		transform: translateY(-50%);
		color: #d2d2d7;
		font-size: 10px;
		line-height: 1;
	    font-weight: normal;
		pointer-events: none;
	}
	ul.footer-legal-links a {
		text-decoration: none;
		color: #515154;
		transition: color 0.2s ease;
	}
	ul.footer-legal-links a:hover,
	ul.footer-legal-links a:focus {
		color: #0071e3;
		text-decoration: underline;
	    outline: none;
	}
	ul.footer-legal-links a:focus-visible {
	     text-decoration: underline;
	}
	.footer-extra {
		margin-left: auto;
		flex-shrink: 0;
	}
	.footer-extra a {
		text-decoration: none;
		color: #515154;
		transition: color 0.2s ease;
	}
	.footer-extra a:hover,
	.footer-extra a:focus {
		color: #0071e3;
	    outline: none;
	}
	.footer-extra a:focus-visible {}

} /* Fine @media (min-width: 768px) */


/* ================================================== */
/* ============ STILI MOBILE (<= 767px) ============= */
/* ================================================== */
@media (max-width: 767px) {
	.bresciapc-main-footer {
		padding: 30px 0 20px;
	}
	.footer-container {
		padding: 0 15px;
	}

	/* --- Navigazione Footer Mobile (Accordion) --- */
	.footer-nav {
		display: block;
		border-bottom: none;
		margin-bottom: 0;
		padding-bottom: 0;
	}
	.footer-column {
		border-bottom: 1px solid #d2d2d7;
		margin-bottom: 0;
	}
	.footer-column:last-child {
		border-bottom: none;
	}

	/* Titolo Colonna Cliccabile (Accordion Toggle) - VISIBILE */
	.footer-column .footer-column-title {
        /* Assicura sia visibile */
        clip: auto !important;
        -webkit-clip-path: none !important;
                clip-path: none !important;
        height: auto !important;
        margin: 0 !important;
        overflow: visible !important;
        position: relative !important;
        width: auto !important;
        white-space: normal !important;
        /* Stili per renderlo cliccabile */
		display: block;
		font-size: 13px;
		font-weight: 500;
		padding: 12px 30px 12px 0; /* Spazio a destra per icona */
		cursor: pointer;
		transition: background-color 0.1s ease;
        color: #1d1d1f;
		border: none;
		background: none;
		text-align: left;
	}
	.footer-column .footer-column-title:active {
		background-color: rgba(0, 0, 0, 0.03);
	}
	/* Icona +/- */
	.footer-column .footer-column-title::after {
		content: '+';
		position: absolute;
		right: 10px;
		top: 50%;
		transform: translateY(-50%);
		font-size: 18px;
		font-weight: normal;
		color: #86868b;
		transition: transform 0.3s ease;
	}
	/* Icona quando aperto (classe .open aggiunta da JS alla colonna) */
	.footer-column.open > .footer-column-title::after {
		content: '\2013'; /* Minus sign */
	}

	/* Lista Link Accordion (Stile base + Animazione) */
	.footer-column ul.footer-links {
		list-style: none;
		margin: 0;
		overflow: hidden;
		max-height: 0; /* Nascosto di default */
		transition: max-height 0.4s ease-out, padding-top 0.4s ease-out, padding-bottom 0.4s ease-out;
        padding: 0 0 0 10px; /* Padding sinistro, top/bottom 0 inizialmente */
		background-color: rgba(0, 0, 0, 0.02);
	}
    /* Aggiungi padding quando la classe .open è presente sulla colonna */
    .footer-column.open ul.footer-links {
		padding-top: 10px;
		padding-bottom: 15px;
		/* max-height viene impostato da JS */
	}
	/* Classe transizione (opzionale, già definita sopra) */
	/* .footer-links-accordion-transition {
		transition: max-height 0.4s ease-out, padding-top 0.4s ease-out, padding-bottom 0.4s ease-out;
	} */

	.footer-column ul.footer-links a {
		font-size: 12px;
	}

	/* --- Parte Inferiore Footer (Mobile) --- */
	.footer-bottom {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
		margin-top: 25px;
		border-top: 1px solid #d2d2d7;
		padding-top: 25px;
	}
	.footer-copyright {
		margin-right: 0;
		margin-bottom: 5px;
		width: 100%;
		text-align: left;
		flex-basis: auto;
		flex-grow: 0;
	}
	.footer-legal-nav {
		width: 100%;
	}
	ul.footer-legal-links {
		justify-content: flex-start;
		gap: 5px 10px;
	}
	ul.footer-legal-links li {
		padding-right: 13px;
		margin-bottom: 5px;
	}
	ul.footer-legal-links li:not(:last-child)::after {
		right: 4px;
	}
	.footer-extra {
		width: 100%;
		margin-left: 0;
		padding-top: 15px;
		border-top: 1px solid #d2d2d7;
		margin-top: 10px;
		text-align: left;
	}
} /* Fine @media (max-width: 767px) */