/* ============================================================
   Footer: Ergaenzende Styles zum Astra Footer Builder
   Gilt in Verbindung mit den Customizer-Einstellungen aus
   inc/setup.php (Funktion psv_setup_astra_config).

   Komponenten-Uebersicht:
   - Above Row: HTML-3 mit [psv_site_logo title="yes"] (Logo + Name)
   - Primary Row: HTML-1 (Adresse), HTML-2 (Kontakt), Menu (Service)
   - Below Row: Copyright + Social Icons (dunkler BG)

   Selektoren geprueft gegen echtes Astra-Markup (April 2026).
   Alle Selektoren unter .site-footer gescoped.
   ============================================================ */

/* ----------------------------------------------------------------
   Above Row — Logo + Vereinsname, zentriert
   ---------------------------------------------------------------- */
.site-footer .psv-footer-logo {
	display: block;
	max-height: 80px;
	width: auto;
	margin: 0 auto 0.8rem;
	object-fit: contain;
}

.site-footer .psv-footer-sitename {
	margin: 0;
	color: var(--color-text-on-dark);
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 1.05rem;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	text-align: center;
	line-height: 1.3;
}

/* HTML-3 Komponente in der Above-Row zentrieren */
.site-footer .site-above-footer-wrap .ast-builder-html-element {
	text-align: center;
}

/* ----------------------------------------------------------------
   Primary Row — Spalten-Headlines
   Die H5-Tags stehen direkt im .ast-builder-html-element
   ---------------------------------------------------------------- */
/* Kein bare .site-footer h5 — nur explizite HTML-Komponenten-/Widget-Klassen,
   um Widget- oder Shortcode-eigene h5 nicht ungewollt zu ueberschreiben. */
.site-footer .ast-builder-html-element h5 {
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 0.85rem;
	color: var(--color-accent-red);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin: 0 0 0.8rem 0;
}

/* Widget-Title (falls Astra Widget-Wrapper genutzt wird) */
.site-footer .widget-title {
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 0.85rem;
	color: var(--color-accent-red);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin: 0 0 0.8rem 0;
}

/* ----------------------------------------------------------------
   Primary Row — Body-Text in HTML-Komponenten
   ---------------------------------------------------------------- */
.site-footer .ast-builder-html-element,
.site-footer .ast-builder-html-element p {
	font-family: var(--font-body);
	color: #d1d5db;
	font-size: 0.9rem;
	line-height: 1.6;
}

.site-footer .ast-builder-html-element p {
	margin: 0;
}

.site-footer .ast-builder-html-element p + p {
	margin-top: 0.4rem;
}

.site-footer .ast-builder-html-element small {
	color: #9ca3af;
	font-size: 0.78rem;
}

/* ----------------------------------------------------------------
   Primary Row — Service-Navigation (Footer Menu)
   Echte Selektoren: .footer-navigation ul#astra-footer-menu,
   Links haben class="menu-link"
   ---------------------------------------------------------------- */
.site-footer .footer-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.site-footer .footer-navigation li {
	padding: 0.18rem 0;
	margin: 0;
}

/* Horizontales Menu in Desktop zu vertikalem Stack umwandeln */
.site-footer .footer-navigation .astra-footer-horizontal-menu {
	flex-direction: column;
	align-items: flex-start;
}

.site-footer .footer-navigation .menu-link {
	color: #d1d5db;
	text-decoration: none;
	display: inline-block;
	font-family: var(--font-body);
	font-size: 0.9rem;
	transition: color 0.2s ease;
}

.site-footer .footer-navigation .menu-link::before {
	content: "›";
	color: var(--color-accent-red);
	margin-right: 0.5rem;
	font-weight: 700;
	display: inline-block;
}

.site-footer .footer-navigation .menu-link:hover {
	color: var(--color-accent-red);
}

/* ----------------------------------------------------------------
   Below Row — Copyright
   ---------------------------------------------------------------- */
.site-footer .ast-footer-copyright,
.site-footer .ast-footer-copyright p {
	color: #9ca3af;
	margin: 0;
	font-family: var(--font-body);
	font-size: 0.82rem;
}

.site-footer .ast-footer-copyright a {
	color: #d1d5db;
	text-decoration: none;
	margin: 0 0.3rem;
	transition: color 0.2s ease;
}

.site-footer .ast-footer-copyright a:hover {
	color: var(--color-accent-red);
}

/* ----------------------------------------------------------------
   Social Icons Polish
   Astra nutzt fuer "custom" Farbtyp direkte background/fill-Properties
   (nicht CSS Custom Properties). Die inline style="--color:..." sind
   nur fuer den "official" Typ relevant.
   Computed styles geprueft: background transparent, fill schwarz.
   ---------------------------------------------------------------- */
.site-footer .ast-builder-social-element.footer-social-item {
	background: rgba(255, 255, 255, 0.1) !important;
	border-radius: 4px;
	padding: 0.4em;
	transition: background 0.2s ease, transform 0.2s ease;
}

.site-footer .ast-builder-social-element.footer-social-item:hover {
	background: var(--color-accent-red) !important;
	transform: translateY(-2px);
}

/* SVG-Fill weiss setzen — ueberschreibt Astra-Defaults */
.site-footer .ast-builder-social-element.footer-social-item svg,
.site-footer .ast-builder-social-element.footer-social-item svg path {
	fill: #ffffff !important;
}

/* ----------------------------------------------------------------
   Trenner zwischen Reihen
   ---------------------------------------------------------------- */
.site-footer .site-above-footer-wrap {
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	padding-bottom: 1.5rem;
}

.site-footer .site-primary-footer-wrap {
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

/* ----------------------------------------------------------------
   Responsive — Mobile (< 768px)
   ---------------------------------------------------------------- */
@media (max-width: 767px) {
	.site-footer .psv-footer-logo {
		max-height: 64px;
	}

	.site-footer .psv-footer-sitename {
		font-size: 0.95rem;
	}

	.site-footer .site-below-footer-wrap {
		text-align: center;
	}

	/* Social Icons Container zentrieren */
	.site-footer .ast-footer-social-wrap,
	.site-footer .footer-social-inner-wrap {
		justify-content: center;
	}
}

/* ----------------------------------------------------------------
   Responsive — Tablet (768-1023px)
   ---------------------------------------------------------------- */
@media (min-width: 768px) and (max-width: 1023px) {
	.site-footer .psv-footer-logo {
		max-height: 72px;
	}
}
