/* =============================================================================
   OLIMPIA FOOTER - Custom Footer Styles
   ============================================================================= */

.olimpia-footer {
	background-color: var(--color-primary, #8B1A2B);
	color: #fff;
}

/* --- Footer Main (colonne) --- */
.olimpia-footer__main {
	max-width: 1440px;
	margin: 0 auto;
	padding: 60px 30px 40px;
}

.olimpia-footer__grid {
	display: grid;
	gap: 30px;
}

/* --- Colonne singole --- */
.olimpia-footer__col {
	min-width: 0; /* previene overflow su grid */
}

/* Widget dentro le colonne */
.olimpia-footer .footer-widget {
	margin-bottom: 20px;
}

.olimpia-footer .footer-widget__title {
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 12px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.olimpia-footer a {
	color: rgba(255, 255, 255, 0.85);
	text-decoration: none;
	transition: color 0.2s ease;
}

.olimpia-footer a:hover,
.olimpia-footer a:focus {
	color: #fff;
}

/* =============================================================================
   GRID LAYOUTS — per numero colonne e proporzione
   ============================================================================= */

/* 1 colonna */
.olimpia-footer--cols-1 {
	grid-template-columns: 1fr;
}

/* 2 colonne */
.olimpia-footer--layout-2-1 { grid-template-columns: 1fr 1fr; }
.olimpia-footer--layout-2-2 { grid-template-columns: 1fr 3fr; }
.olimpia-footer--layout-2-3 { grid-template-columns: 3fr 1fr; }
.olimpia-footer--layout-2-4 { grid-template-columns: 2fr 3fr; }
.olimpia-footer--layout-2-5 { grid-template-columns: 3fr 2fr; }

/* 3 colonne */
.olimpia-footer--layout-3-1 { grid-template-columns: 1fr 1fr 1fr; }
.olimpia-footer--layout-3-2 { grid-template-columns: 1fr 1fr 2fr; }
.olimpia-footer--layout-3-3 { grid-template-columns: 1fr 2fr 1fr; }
.olimpia-footer--layout-3-4 { grid-template-columns: 2fr 1fr 1fr; }
.olimpia-footer--layout-3-5 { grid-template-columns: 3fr 14fr 3fr; }

/* 4 colonne */
.olimpia-footer--layout-4-1 { grid-template-columns: 1fr 1fr 1fr 1fr; }
.olimpia-footer--layout-4-2 { grid-template-columns: 3fr 1fr 1fr 1fr; }
.olimpia-footer--layout-4-3 { grid-template-columns: 1fr 1fr 1fr 3fr; }

/* =============================================================================
   LOGHI Footer
   ============================================================================= */
#olimpia-footer .olimpia-footer__main .wp-block-image img {
    height: 120px;
    width: auto;
}

/* =============================================================================
   SUB-FOOTER
   ============================================================================= */

.olimpia-footer__sub {
	border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.olimpia-footer__sub-inner {
	max-width: 1440px;
	margin: 0 auto;
	padding: 20px 30px;
	text-align: center;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.7);
}

.olimpia-footer__sub a {
	color: rgba(255, 255, 255, 0.85);
}

.olimpia-footer__sub a:hover {
	color: #fff;
}

/* --- Menu Legal (inline con separatore /) --- */
#menu-legal {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0;
}

#menu-legal li {
	display: inline-flex;
	align-items: center;
}

#menu-legal li + li::before {
	content: "/";
	margin: 0 8px;
	opacity: 0.5;
}

#menu-legal li a {
	font-size: 13px;
}

/* =============================================================================
   RESPONSIVE — mobile: colonne impilate, testo centrato
   ============================================================================= */

@media (max-width: 767px) {
	.olimpia-footer__grid {
		grid-template-columns: 1fr !important;
		text-align: center;
	}

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

	.olimpia-footer__main {
		padding: 40px 20px 30px;
	}
}
