/*
Theme Name: AP Grading
Theme URI: https://www.apgrading.de
Author: AP Grading
Author URI: https://www.apgrading.de
Description: Modernes, wartbares Block-Theme für AP Grading (WooCommerce + Polylang). Sauberer Ersatz für das alte, hand-editierte twentytwenty-child. Markenfarben Schwarz/Gold, Schrift Inter. Vollständig im Site-Editor anpassbar.
Version: 1.0.24
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: apgrading
Tags: full-site-editing, block-patterns, e-commerce, custom-colors, custom-logo, translation-ready, wide-blocks
*/

/* =========================================================================
   Ergänzendes CSS (nur was theme.json nicht abdeckt):
   - Header-/Navigations-Layout (Polylang-Classic-Menü via Shortcode)
   - Mobile-Navigation (Hamburger)
   - Sprachumschalter
   - kleine WooCommerce-Anpassungen
   theme.json bleibt die Quelle für Farben/Typografie/Abstände.
   ========================================================================= */

:root {
	--apg-header-h: 76px;
}

/* ---------- Header ---------- */
.apg-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--wp--preset--color--base);
	border-bottom: 1px solid var(--wp--preset--color--border);
}
.apg-header { padding-block: 12px; }
.apg-header__logo img { display: block; height: 44px; width: auto; }
.apg-header__right { display: flex; align-items: center; gap: clamp(14px, 2.2vw, 28px); }

/* ---------- Footer ---------- */
.apg-footer {
	background: var(--wp--preset--color--surface);
	border-top: 1px solid var(--wp--preset--color--border);
	margin-top: var(--wp--preset--spacing--60);
	padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40);
}
.apg-footer__logo img { height: 40px; width: auto; }
.apg-footer .apg-social a { color: var(--wp--preset--color--contrast); margin-right: 14px; opacity: .8; }
.apg-footer .apg-social a:hover { color: var(--wp--preset--color--gold-dark); opacity: 1; }
.apg-footer__bottom {
	border-top: 1px solid var(--wp--preset--color--border);
	margin-top: var(--wp--preset--spacing--40);
	padding-top: var(--wp--preset--spacing--30);
	color: var(--wp--preset--color--muted);
	font-size: .9rem;
}
.apg-footer__bottom a { color: var(--wp--preset--color--muted); text-decoration: none; }
.apg-footer__bottom a:hover { color: var(--wp--preset--color--contrast); }
/* Footer-Menü (wp_nav_menu via [apg_menu location="footer"]) als schlichte Liste */
.apg-footer .apg-nav ul { flex-direction: column; align-items: flex-start; gap: 8px; }
.apg-footer .apg-nav a { color: var(--wp--preset--color--muted); font-weight: 500; }
.apg-footer .apg-nav a:hover { color: var(--wp--preset--color--contrast); }
/* USP-Leiste (oben im Footer) */
.apg-footer__usps {
	gap: 8px 28px;
	padding-bottom: var(--wp--preset--spacing--30);
	border-bottom: 1px solid var(--wp--preset--color--border);
	color: var(--wp--preset--color--muted);
}
.apg-footer__usps p { margin: 0; }
/* Newsletter-Formular (apgrading-core) im Footer kompakt */
.apg-footer .apgc-form--newsletter { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.apg-footer .apgc-form--newsletter .apgc-field { margin: 0; flex: 1 1 150px; }
.apg-footer .apgc-form--newsletter .apgc-field label { font-size: 0; }
.apg-footer .apgc-form--newsletter input[type="email"] {
	width: 100%; padding: 9px 12px; border: 1px solid var(--wp--preset--color--border);
	border-radius: 8px; font-size: .95rem; background: #fff;
}
.apg-footer .apgc-form--newsletter .apgc-actions { margin: 0; }
.apg-footer .apgc-form--newsletter .apgc-submit { padding: 9px 18px; white-space: nowrap; }
.apg-footer .apgc-form--newsletter .apgc-status { flex-basis: 100%; font-size: .85rem; margin: 4px 0 0; }
.apg-footer .apgc-form .apgc-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
/* Zahlungsarten-Leiste */
.apg-footer__pay { gap: 8px 14px; margin-top: var(--wp--preset--spacing--40); }
.apg-footer__pay p { margin: 0; }
.apg-pay-icons { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.apg-pay-icons svg { display: block; height: 29px; width: auto; }

/* ---------- Hauptnavigation (wp_nav_menu via [apg_menu]) ---------- */
.apg-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: clamp(1rem, 2.4vw, 2rem);
}
.apg-nav li { position: relative; }
.apg-nav a {
	display: inline-block;
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	font-weight: 500;
	font-size: 0.97rem;
	padding: 0.4rem 0;
	transition: color .15s ease;
}
.apg-nav a:hover,
.apg-nav .current-menu-item > a { color: var(--wp--preset--color--gold-dark); }

/* Untermenüs */
.apg-nav .sub-menu {
	position: absolute;
	left: 0;
	top: 100%;
	min-width: 200px;
	flex-direction: column;
	gap: 0;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
	box-shadow: 0 12px 32px -12px rgba(24,24,27,.18);
	padding: 8px;
	display: none;
}
.apg-nav li:hover > .sub-menu { display: flex; }
.apg-nav .sub-menu a { padding: 8px 12px; border-radius: 8px; width: 100%; }
.apg-nav .sub-menu a:hover { background: var(--wp--preset--color--surface); }

/* ---------- Sprachumschalter (Polylang) ---------- */
.apg-lang ul { list-style: none; display: flex; gap: 10px; margin: 0; padding: 0; align-items: center; }
.apg-lang a { text-decoration: none; opacity: .6; transition: opacity .15s; font-weight: 600; font-size: .85rem; text-transform: uppercase; color: var(--wp--preset--color--contrast); }
.apg-lang a:hover, .apg-lang .current-lang a { opacity: 1; color: var(--wp--preset--color--gold-dark); }
.apg-lang img { display: inline-block; vertical-align: middle; }

/* ---------- Mobile-Navigation ---------- */
.apg-nav-toggle {
	display: none;
	background: none;
	border: 0;
	cursor: pointer;
	padding: 10px;
	color: var(--wp--preset--color--contrast);
}
.apg-nav-toggle svg { display: block; width: 26px; height: 26px; }

@media (max-width: 860px) {
	.apg-nav-toggle { display: inline-flex; }
	.apg-nav {
		position: fixed;
		inset: var(--apg-header-h) 0 auto 0;
		background: var(--wp--preset--color--base);
		border-bottom: 1px solid var(--wp--preset--color--border);
		padding: 16px 20px 24px;
		display: none;
		box-shadow: 0 18px 32px -18px rgba(24,24,27,.25);
	}
	body.apg-nav-open .apg-nav { display: block; }
	.apg-nav ul { flex-direction: column; align-items: stretch; gap: 0; }
	.apg-nav li { border-bottom: 1px solid var(--wp--preset--color--border); }
	.apg-nav a { padding: 12px 0; font-size: 1.05rem; }
	.apg-nav .sub-menu { position: static; display: flex; border: 0; box-shadow: none; padding: 0 0 8px 12px; }
}

/* ---------- WooCommerce-Feinschliff (an theme.json angelehnt) ---------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error { border-top-color: var(--wp--preset--color--gold); }
.woocommerce ul.products li.product .price { color: var(--wp--preset--color--contrast); font-weight: 600; }
a.button, button.button, .woocommerce a.button, .woocommerce button.button {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	border-radius: 10px;
	font-weight: 600;
}
a.button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover {
	background: var(--wp--preset--color--gold-dark);
}

/* ---------- FAQ / Details-Akkordeon ---------- */
.wp-block-details { background: var(--wp--preset--color--base); }
.wp-block-details summary {
	list-style: none;
	cursor: pointer;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
	position: relative;
	padding-right: 1.75rem;
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
	content: "+";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.4em;
	line-height: 1;
	color: var(--wp--preset--color--gold-dark);
}
.wp-block-details[open] summary::after { content: "\2013"; }
.wp-block-details summary:hover { color: var(--wp--preset--color--gold-dark); }
.wp-block-details > *:not(summary) { margin-top: .6rem; }

/* ---------- Lesbarkeit: Listen & Outline-Buttons ---------- */
.wp-block-list,
.wp-block-list li { color: var(--wp--preset--color--contrast) !important; }
.wp-block-button.is-style-outline .wp-block-button__link {
	color: var(--wp--preset--color--contrast);
	border-color: var(--wp--preset--color--contrast);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	border-color: var(--wp--preset--color--contrast);
}

/* ---------- Diverses ---------- */
.apg-skip-link {
	position: absolute; left: -9999px; top: 0;
	background: var(--wp--preset--color--contrast); color: #fff;
	padding: 10px 16px; border-radius: 0 0 8px 0; z-index: 1000;
}
.apg-skip-link:focus { left: 0; }
