/*
Theme Name: Monis Häkelschätze
Theme URI: https://monis-haekelschaetze.de
Description: Child-Theme von Twenty Twenty-Five für Monis Häkelschätze – verspielt, pastell, babynah (Design B).
Author: Monis Häkelschätze
Template: twentytwentyfive
Version: 0.1.1
Requires at least: 6.7
Requires PHP: 8.1
License: GNU General Public License v2 or later
Text Domain: haekelschaetze
*/

/* Farben/Schriften: theme.json. Hier nur, was theme.json nicht abbildet.
   Klassen heißen gg-…, weil das MU-Plugin (Formular, Anfrage-Button) sie so ausgibt. */

.wp-site-blocks > * + * { margin-block-start: 0 !important; }
html, body { overflow-x: clip; }

/* Überzeile als Pille */
.gg-eyebrow {
	display: inline-block;
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--wp--preset--color--mint-dark);
	background: var(--wp--preset--color--mint);
	padding: 0.3rem 1rem;
	border-radius: 999px;
}
.gg-eyebrow a { color: inherit; text-decoration: none; }
.gg-link { font-weight: 700; }

/* Kopf */
.gg-header { padding-block: 20px; }
.gg-marke { gap: 0.75rem; align-items: center; }
.gg-logo-mono { margin: 0; }
.gg-logo-mono img { display: block; height: auto; }
.gg-unterzeile { margin: 0; font-size: 0.875rem; color: var(--wp--preset--color--muted); line-height: 1.2; }
.gg-header .wp-block-navigation-item__content {
	padding: 0.55rem 1.1rem;
	border-radius: 999px;
	background: var(--wp--preset--color--rose);
	color: var(--wp--preset--color--ink);
}
.gg-header .wp-block-navigation-item:nth-child(2) .wp-block-navigation-item__content { background: var(--wp--preset--color--mint); color: #2F5E4C; }
.gg-header .wp-block-navigation-item:nth-child(3) .wp-block-navigation-item__content { background: var(--wp--preset--color--lavender); color: #4A3F7A; }
.gg-header .wp-block-navigation-item:nth-child(4) .wp-block-navigation-item__content { background: #FBEBD3; color: #6B4A1E; }
.gg-header .wp-block-navigation__container { gap: 0.5rem; }
.gg-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.25rem; }
.gg-header .wp-block-search__button {
	width: 44px; height: 44px; min-width: 44px; padding: 0; border-radius: 50%;
	background: var(--wp--preset--color--white); color: var(--wp--preset--color--ink);
	border: 2px solid var(--wp--preset--color--rose-dark);
}
.gg-header .wp-block-search__button svg { width: 20px; height: 20px; fill: currentColor; }
@media (max-width: 600px) {
	.gg-header > .alignwide { flex-wrap: nowrap; gap: 0.5rem; }
	.gg-marke { min-width: 0; flex: 1 1 auto; gap: 0.5rem; }
	.gg-logo-mono img { width: 56px !important; }
	.gg-marke .wp-block-site-title { font-size: 1.35rem; white-space: nowrap; }
	.gg-unterzeile { font-size: 0.8rem; }
}

/* Abschnitte */
.gg-section { padding-block: clamp(3rem, 7vw, 5rem); }
.gg-hero { text-align: center; padding-block: clamp(2rem, 5vw, 3rem) clamp(3rem, 7vw, 4.5rem); }
.gg-hero h1 { max-width: 820px; margin-inline: auto; }
.gg-hero .gg-lead { max-width: 640px; margin-inline: auto; color: var(--wp--preset--color--muted); }
.gg-hero-bilder { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; margin-top: 2rem !important; }
.gg-hero-bilder .gg-bild img { aspect-ratio: 4 / 5; height: auto; border-radius: 40px; border: 6px solid var(--wp--preset--color--rose); }
.gg-hero-bilder .gg-bild:nth-child(2) img { border-color: var(--wp--preset--color--mint); }
.gg-hero-bilder .gg-bild:nth-child(3) img { border-color: var(--wp--preset--color--lavender); }
.gg-welle { display: block; width: 100%; height: 50px; margin: 0; line-height: 0; }
.gg-welle svg { display: block; width: 100%; height: 50px; }
.gg-bild { margin: 0; }
.gg-bild img { width: 100%; object-fit: cover; display: block; }

/* Über-Oma-Moni-Karte */
.gg-ueber { border-radius: 40px; padding: clamp(1.5rem, 4vw, 2.5rem) !important; gap: 2rem; }
.gg-ueber .gg-portrait img { width: 180px; height: 180px; border-radius: 50%; object-fit: cover; border: 6px solid var(--wp--preset--color--rose-dark); }
.gg-zitat { font-weight: 700; color: var(--wp--preset--color--mint-dark); }

/* WooCommerce-Raster (Shortcodes) */
.gg-section > .woocommerce { max-width: var(--wp--style--global--wide-size) !important; width: 100%; }
.gg-section .woocommerce ul.products {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.5rem; margin: 0;
}
.gg-section .woocommerce ul.products::before,
.gg-section .woocommerce ul.products::after { display: none; }
.gg-section .woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; }
.woocommerce ul.products li.product {
	background: var(--wp--preset--color--white); border-radius: 32px; padding: 16px !important;
	box-shadow: 0 2px 0 var(--wp--preset--color--rose-dark);
}
.woocommerce ul.products li.product a { text-decoration: none; }
.woocommerce ul.products li.product a img { aspect-ratio: 4 / 5; object-fit: cover; border-radius: 24px; margin-bottom: 0.75rem !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--wp--preset--font-family--baloo); font-size: 1.375rem !important; font-weight: 700; color: var(--wp--preset--color--ink); padding: 0 6px !important;
}
/* Kategorien als Pillen-Karten */
.woocommerce ul.products li.product-category { box-shadow: none; }
.woocommerce ul.products li.product-category img { aspect-ratio: 1 / 1; border-radius: 50%; width: 120px !important; margin: 0 auto 0.75rem !important; display: block; }
.woocommerce ul.products li.product-category h2 { text-align: center; font-family: var(--wp--preset--font-family--baloo); font-size: 1.375rem !important; }
.woocommerce ul.products li.product-category .count { display: none; }
.gg-kategorien { background: var(--wp--preset--color--rose-soft); }

/* Anfrage-Button und Formular (Markup aus dem MU-Plugin) */
.gg-anfrage-cta { display: flex; flex-direction: column; gap: 0.5rem; margin: 1.5rem 0; }
.gg-anfrage-cta .gg-unikat { font-size: 0.9375rem; font-weight: 700; color: var(--wp--preset--color--mint-dark); }
.gg-anfrage-cta .gg-unikat::before {
	content: ""; display: inline-block; width: 10px; height: 10px; border-radius: 50%;
	background: #6F9E8A; margin-right: 0.6em; vertical-align: middle;
}
.gg-button {
	display: block; box-sizing: border-box; width: 100%; text-align: center;
	padding: 1rem 1.5rem; border: 0; border-radius: 18px; cursor: pointer;
	background: var(--wp--preset--color--berry); color: var(--wp--preset--color--white) !important;
	text-decoration: none !important; font: inherit; font-weight: 700; font-size: 1rem;
}
.gg-button:hover, .gg-button:focus-visible { background: var(--wp--preset--color--berry-dark); }
.gg-hinweis { font-size: 0.875rem; color: var(--wp--preset--color--muted); text-align: center; margin: 0; }
.gg-form { display: flex; flex-direction: column; gap: 1.1rem; }
.gg-form .gg-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.1rem; }
.gg-form label { display: flex; flex-direction: column; gap: 0.35rem; font-size: 0.9375rem; font-weight: 600; }
.gg-form input, .gg-form textarea {
	font: inherit; font-weight: 400; font-size: 1rem; color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--white); border: 2px solid var(--wp--preset--color--rose-dark);
	border-radius: 14px; padding: 0.75rem 0.9rem; min-height: 48px; box-sizing: border-box;
}
.gg-form input[readonly] { background: var(--wp--preset--color--rose-soft); }
.gg-form input:focus, .gg-form textarea:focus { outline: 3px solid var(--wp--preset--color--berry); outline-offset: 1px; }
.gg-form .gg-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.gg-form .gg-datenschutz { font-size: 0.8125rem; margin: 0; }
.gg-form > p:not([class]) { display: contents; }
.gg-form > p:empty { display: none; }
.gg-meldung { padding: 1rem 1.25rem; border-radius: 18px; background: var(--wp--preset--color--mint); }
.gg-meldung--fehler { background: #F9DADA; }

/* Produktseite */
.gg-produkt { padding-top: 1.5rem; }
.gg-produkt-kopf { gap: clamp(2rem, 5vw, 3.5rem); margin-block: 2rem 4rem; }
.gg-produkt .wp-block-post-terms.gg-eyebrow a { text-decoration: none; }
.gg-produkt .wp-block-woocommerce-breadcrumbs { font-size: 0.875rem; color: var(--wp--preset--color--muted); }
.gg-produkt .wp-block-woocommerce-breadcrumbs a { color: var(--wp--preset--color--muted); text-decoration: none; }
.woocommerce-product-gallery img { border-radius: 32px; }
.wp-block-woocommerce-product-image-gallery, .woocommerce-product-gallery .flex-viewport { overflow: hidden; border-radius: 32px; }
.woocommerce-product-gallery .flex-control-thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 10px !important; }
.woocommerce-product-gallery .flex-control-thumbs li { width: auto !important; margin: 0 !important; }
.woocommerce-product-gallery .flex-control-thumbs img { border-radius: 14px; }
.wp-block-woocommerce-product-details .wc-tabs li a { font-family: var(--wp--preset--font-family--baloo); font-size: 1.2rem; text-decoration: none; }
.woocommerce-Tabs-panel > h2:first-child { display: none; }
.gg-anfrage-box { border-radius: 40px; }

/* Fuß */
.gg-footer { padding-block: 3rem 2rem; text-align: center; }
.gg-footer a { color: #F7D3DE; }
.gg-logo-siegel { margin: 0; }
.gg-logo-siegel img { display: block; height: auto; max-width: 100%; margin: 0 auto 0.5rem; }
.gg-footer-claim { margin-top: 0.75rem; opacity: 0.9; }
.gg-footer-nav { margin-top: 1rem; }
.gg-footer-nav .wp-block-navigation__container { gap: 0.6rem 1.75rem; justify-content: center; }
.gg-footer .wp-block-separator { border-color: #5A4855; opacity: 1; }

/* "Bald da"-Seite (WooCommerce Coming Soon) */
.gg-baldda { min-height: 100vh; padding: 2rem 16px; text-align: center; gap: 1rem; box-sizing: border-box; }
.gg-baldda img { width: 160px; height: auto; }
.gg-baldda .gg-baldda-titel { font-size: var(--wp--preset--font-size--xx-large); margin: 0; }
.gg-baldda p { margin: 0; }
.gg-baldda .gg-baldda-recht { margin-top: 2.5rem; }
.gg-baldda .gg-baldda-recht a { color: var(--wp--preset--color--muted); text-decoration: none; }

/* Einwilligungsbanner (Complianz): Akzeptieren und Ablehnen GLEICH gewichtet */
.cmplz-cookiebanner {
	font-family: var(--wp--preset--font-family--nunito) !important;
	background: var(--wp--preset--color--white) !important;
	color: var(--wp--preset--color--ink) !important;
	border: 2px solid var(--wp--preset--color--rose-dark) !important;
	border-radius: 28px !important;
	box-shadow: 0 10px 40px rgba(62, 46, 58, 0.14) !important;
	box-sizing: border-box; overflow-x: hidden;
}
.cmplz-cookiebanner .cmplz-title { font-family: var(--wp--preset--font-family--baloo) !important; font-size: 1.4rem !important; font-weight: 700 !important; }
.cmplz-cookiebanner .cmplz-btn { border-radius: 14px !important; font-family: inherit !important; font-weight: 700 !important; min-height: 44px; }
.cmplz-cookiebanner .cmplz-btn.cmplz-accept,
.cmplz-cookiebanner .cmplz-btn.cmplz-deny {
	background: var(--wp--preset--color--berry) !important; color: var(--wp--preset--color--white) !important; border: 2px solid var(--wp--preset--color--berry) !important;
}
.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences,
.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences {
	background: transparent !important; color: var(--wp--preset--color--ink) !important; border: 2px solid var(--wp--preset--color--rose-dark) !important;
}
.cmplz-cookiebanner .cmplz-divider { max-width: 100%; }
.cmplz-cookiebanner .cmplz-links a { color: var(--wp--preset--color--berry-dark) !important; }

/* Korrekturen nach erster Sichtprüfung (12.11.2026) */
main.wp-block-group > * + * { margin-block-start: 0 !important; }   /* kein Spalt unter der Welle */
.gg-welle { margin-bottom: -1px !important; }
.woocommerce ul.products li.product-category img { width: 120px !important; height: 120px !important; object-fit: cover; border-radius: 50% !important; }
.gg-ueber { flex-wrap: nowrap !important; align-items: center !important; }
.gg-ueber > .wp-block-group { flex: 1 1 auto; min-width: 0; }
.gg-ueber .gg-portrait { flex: 0 0 180px; }
@media (max-width: 700px) { .gg-ueber { flex-wrap: wrap !important; } }
