/*
Theme Name: Interaktiver Handel
Theme URI: https://interaktiver-handel.de
Author: Interaktiver Handel
Description: Block-Theme für Interaktiver Handel aus Köln: Düfte & Co., Veedels-Trödelmarkt, Gutscheinbuch und weitere Anlaufstellen mit gemeinsamem Warenkorb.
Requires at least: 6.7
Tested up to: 7.1
Requires PHP: 8.1
Version: 0.1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: interaktiver-handel
*/

/* Grundlagen */
body { -webkit-font-smoothing: antialiased; }
:where(h1, h2, h3, h4) { text-wrap: balance; }
:where(p, li) { text-wrap: pretty; }
a { text-underline-offset: 0.15em; text-decoration-thickness: 1px; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--wp--preset--color--brand);
	outline-offset: 2px;
}
:where(a, .wp-element-button, .wp-block-button__link) {
	transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
	.ih-tuer:hover .ih-tuer__bild img, .ih-kategoriekacheln a:hover img { transform: none !important; }
}
.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 50;
}
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: var(--wp-admin--admin-bar--height, 32px); }
.wp-site-blocks > footer.wp-block-template-part { margin-block-start: 0; }

.ih-kopf__aktionen .wp-block-woocommerce-customer-account a { color: var(--wp--preset--color--contrast); }

/* Kopfzeile */
.ih-kopf {
	position: relative;
	z-index: 0;
	padding-block: 0.5rem;
	border-bottom: 1px solid var(--wp--preset--color--line);
}
/* Beim Scrollen: Hintergrund zu 50 % durchsichtig, leicht weichgezeichnet; Schrift und Symbole bleiben voll deckend und lesbar.
   Der Weichzeichner liegt auf einer eigenen Ebene, damit mobiles Menü und Warenkorb-Drawer (position: fixed) nicht im Kopf festhängen. */
.ih-kopf::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	opacity: 0;
	pointer-events: none;
	background-color: color-mix(in srgb, var(--wp--preset--color--base) 50%, transparent);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	transition: opacity 0.2s ease;
}
.ih-gescrollt .ih-kopf.has-background { background-color: transparent !important; }
.ih-gescrollt .ih-kopf::before { opacity: 1; }
.ih-kopf__zeile { gap: 1.5rem; align-items: center; }
.ih-marke { gap: 0.75rem; flex-shrink: 0; align-items: center; }
.ih-marke__logo { margin: 0; }
.ih-marke__logo img { display: block; height: auto; }
.ih-marke__text { gap: 0; }
.ih-marke .wp-block-site-title { margin: 0; }
.ih-marke__ort {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}
.ih-hauptmenue { font-weight: 500; }
.ih-hauptmenue .wp-block-navigation-item__content {
	padding-block: 0.5rem;
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}
.ih-hauptmenue .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--brand); text-decoration: underline; }
.ih-kopf__aktionen { gap: 0.25rem; align-items: center; flex-shrink: 0; }
.ih-kopf__aktionen .wp-block-search__button,
.ih-kopf__aktionen .wp-block-woocommerce-customer-account a,
.ih-kopf__aktionen .wc-block-mini-cart__button {
	min-width: 44px;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.ih-kopf__aktionen .wp-block-search__button {
	background: transparent;
	color: var(--wp--preset--color--contrast);
	border: 0;
	padding: 0.5rem;
}
.ih-kopf__aktionen .wp-block-search__button svg { fill: currentColor; }

/* Shop-Kopf: Dachzeile in Shop-Farbe, darunter die Wortmarke */
.ih-dachzeile { padding-block: 0.375rem; font-size: 0.875rem; }
.ih-dachzeile p { margin: 0; }
.ih-dachzeile a { color: inherit; }
.ih-vorteile-leiste > span + span::before { content: "·"; margin-inline: 0.5rem; }
/* Schleife: alle Vorteile liegen übereinander in einer Zelle, einer ist sichtbar (assets/ih.js) */
.ih-vorteile-leiste.ih-dreht { display: inline-grid; justify-items: end; }
.ih-vorteile-leiste.ih-dreht > span { display: block; grid-area: 1 / 1; opacity: 0; transform: translateY(0.5em); transition: opacity 0.4s ease, transform 0.4s ease; }
.ih-vorteile-leiste.ih-dreht > span.ist-aktiv { opacity: 1; transform: none; }
.ih-vorteile-leiste.ih-dreht > span + span::before { content: none; }
@media (max-width: 600px) {
	.ih-vorteile-leiste:not(.ih-dreht) > span + span { display: none; }
	.ih-dachzeile .is-layout-flex { justify-content: center; }
	.ih-vorteile-leiste.ih-dreht { justify-items: center; }
}
.ih-kopf--shop { border-bottom: 3px solid var(--ih-akzent); }
.ih-kopf--shop .ih-hauptmenue .wp-block-navigation-item__content:hover { color: var(--ih-akzent); }
/* Rückweg zur Dachmarke: nur im Handymenü, dort steht die Dachzeile nicht */
@media (min-width: 600px) { .ih-kopf__nav .ih-zurueck { display: none !important; } }
.ih-kopf__nav .ih-zurueck { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid currentColor; }

/* Schmale Bildschirme: Marke darf umbrechen, die Suche wandert ins Menü */
.ih-nur-mobil { display: none; }
@media (max-width: 600px) {
	.ih-kopf__zeile { gap: 0.5rem; }
	.ih-marke { flex-shrink: 1; min-width: 0; gap: 0.5rem; }
	.ih-marke__logo img { width: 64px !important; }
	.ih-marke .wp-block-site-title { font-size: var(--wp--preset--font-size--medium); }
	.ih-marke__ort, .ih-nur-breit { display: none; }
	.ih-kopf--shop .ih-wortmarke { min-width: 0; font-size: var(--wp--preset--font-size--large); white-space: normal; }
	.ih-kopf__aktionen { gap: 0; }
	.ih-kopf__aktionen .wp-block-search { display: none; }
	.ih-nur-mobil { display: block; }
}

/* Einstiegsseiten: Aufmacherfoto über die volle Breite, die Textkarte ragt hinein */
.ih-ortsmarke {
	margin-bottom: 0.5rem;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ih-akzent);
}
.ih-lead {
	font-size: var(--wp--preset--font-size--large);
	color: var(--wp--preset--color--muted);
}
.ih-held { margin-block: 0 !important; }
.ih-held__bild { margin: 0; }
.ih-held__bild img { display: block; width: 100%; height: clamp(18rem, 42vw, 34rem); object-fit: cover; }
.ih-held__karte {
	position: relative;
	box-sizing: border-box;
	width: min(40rem, calc(100% - 2 * var(--wp--style--root--padding-left)));
	margin: clamp(-9rem, -12vw, -4rem) 0 0 max(var(--wp--style--root--padding-left), calc((100% - var(--wp--style--global--wide-size)) / 2)) !important;
	padding: clamp(1.5rem, 4vw, 2.5rem);
	border-top: 6px solid var(--ih-akzent);
	border-radius: 12px;
	background-color: var(--wp--preset--color--base);
	box-shadow: var(--wp--preset--shadow--sanft);
}
.ih-held__karte > * { margin-block: 0; }
.ih-held__karte > * + * { margin-top: 1rem; }
.ih-held__karte h1 { font-size: clamp(2rem, 4.5vw, 3rem); }
.ih-held__karte .wp-block-buttons { margin-top: 1.5rem; }

.ih-abschnitt { padding-top: clamp(3rem, 7vw, 5rem); }
.ih-abschnitt > h2 + .ih-unterzeile { margin-top: 0.5rem; }
.ih-unterzeile { max-width: 45rem; margin-bottom: 0; color: var(--wp--preset--color--muted); }
.ih-abschnittskopf { align-items: baseline; gap: 0.5rem 1.5rem; }
.ih-abschnittskopf > * { margin: 0; }
.ih-kachel__mehr { font-weight: 600; }
.ih-kachel__mehr::after { content: " →" / ""; }
.ih-abstand-oben { margin-top: clamp(3rem, 7vw, 5rem) !important; }
main:not(.ih-seite) > .wp-block-post-content > :last-child:not(.alignfull) { margin-bottom: clamp(3rem, 7vw, 5rem); }

/* Shop-Türen auf der Startseite: Foto, darüber hängt das Schild */
.ih-tueren, .ih-kachelraster { gap: 1.5rem; }
.ih-tuer { padding: 0; overflow: hidden; }
.ih-tuer > * { margin-inline: clamp(1.25rem, 3vw, 2rem) !important; }
.ih-tuer > .ih-tuer__bild { width: 100%; margin: 0 !important; }
.ih-tuer__bild img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; transition: transform 0.2s ease; }
.ih-tuer:hover .ih-tuer__bild img { transform: scale(1.03); }
.ih-tuer .ih-wortmarke { margin-top: 1.5rem !important; font-size: clamp(1.75rem, 5vw, 2.25rem); }
.ih-tuer > :last-child { margin-bottom: clamp(1.25rem, 3vw, 2rem) !important; }

/* Bild und Text nebeneinander */
.ih-geteilt { overflow: hidden; border-radius: 12px; background-color: var(--wp--preset--color--surface); }
.ih-geteilt .wp-block-media-text__media img { aspect-ratio: 4 / 3; object-fit: cover; }
.ih-geteilt .wp-block-media-text__content { padding: clamp(1.5rem, 4vw, 3rem); }
.ih-geteilt .wp-block-media-text__content > * { margin-block: 0; }
.ih-geteilt .wp-block-media-text__content > * + * { margin-top: 1rem; }

/* Breite Kachel mit Link rechts */
.ih-querkachel { align-items: center; gap: 1rem 2rem; padding: clamp(1.5rem, 3vw, 2rem); }
.ih-querkachel h3 { margin: 0; }
.ih-querkachel p { margin: 0.25rem 0 0; }
.ih-querkachel .ih-kachel__link { margin-top: 0 !important; }

/* Kategoriekacheln im Shop-Einstieg */
.ih-kategoriekacheln { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); gap: 1.5rem; }
.ih-kategoriekacheln a { display: grid; gap: 0.25rem; color: var(--wp--preset--color--contrast) !important; text-decoration: none; }
.ih-kategoriekacheln img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; margin-bottom: 0.5rem; border-radius: 12px; transition: transform 0.2s ease; }
.ih-kategoriekacheln a:hover img { transform: scale(1.02); }
.ih-kategoriekacheln__name { font-family: var(--wp--preset--font-family--vollkorn); font-size: var(--wp--preset--font-size--large); font-weight: 600; }
.ih-kategoriekacheln a:hover .ih-kategoriekacheln__name { text-decoration: underline; }
.ih-kategoriekacheln__anzahl { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
@media (max-width: 600px) {
	.ih-kategoriekacheln { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
}

/* Liste mit Häkchen und Bild im Hinweisband */
.ih-hakenliste { display: grid; gap: 0.75rem; padding: 0; list-style: none; }
.ih-hakenliste li { position: relative; padding-left: 2rem; }
.ih-hakenliste li::before { content: "✓" / ""; position: absolute; left: 0; font-weight: 700; color: var(--ih-akzent); }
.ih-band__bild img { aspect-ratio: 4 / 3; object-fit: cover; border-radius: 12px; }

.is-style-kachel {
	position: relative;
	gap: 1rem;
	padding: 1.5rem;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 12px;
	background: var(--wp--preset--color--base);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.is-style-kachel > * { margin-block: 0; }
.is-style-kachel:has(a):hover { border-color: var(--wp--preset--color--field-border); }
.is-style-kachel:focus-within { outline: 3px solid var(--wp--preset--color--brand); outline-offset: 2px; }
.is-style-kachel :focus-visible { outline: none; }
.ih-kachel__link { margin-top: auto !important; font-weight: 600; }
.ih-kachel__link a { color: var(--wp--preset--color--contrast) !important; }
.ih-kachel__link a::after { content: ""; position: absolute; inset: 0; border-radius: 12px; }
.ih-kachel__link::after { content: " →" / ""; }
.ih-platzhalter { color: var(--wp--preset--color--muted); font-style: italic; }

/* Band mit Hinweisen */
.ih-band { padding-block: clamp(2.5rem, 6vw, 4rem); }
.ih-band h2 { margin-top: 0; font-size: var(--wp--preset--font-size--x-large); }
.ih-band h3 { font-size: var(--wp--preset--font-size--large); margin-bottom: 0.25rem; }
.ih-band p { margin-top: 0; }

/* Fußzeile */
.ih-fuss { padding-block: clamp(2.5rem, 6vw, 4rem) 1.5rem; }
.ih-fuss__spalten { gap: 2rem; }
.ih-fuss__titel {
	margin-bottom: 0.75rem;
	font-family: var(--wp--preset--font-family--fira-sans);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}
.ih-linkliste { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
.ih-linkliste a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.ih-linkliste a:hover { color: var(--wp--preset--color--brand); text-decoration: underline; }
.ih-fuss__unten {
	margin-top: 2rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--wp--preset--color--line);
	gap: 0.5rem 2rem;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
}
.ih-fuss__unten p { margin: 0; }

/* Standardseiten */
.ih-seite { padding-block: clamp(2rem, 5vw, 3.5rem) clamp(3rem, 7vw, 5rem); }
.wp-block-post-content > h2 { margin-block: clamp(2.5rem, 5vw, 3.5rem) 1rem; }

/* Formularfelder überall gleich */
:where(input[type="text"], input[type="email"], input[type="tel"], input[type="search"], input[type="number"], input[type="password"], input[type="url"], select, textarea, .input-text) {
	font: inherit;
	color: var(--wp--preset--color--contrast);
	background-color: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--field-border);
	border-radius: 8px;
	padding: 0.625rem 0.875rem;
	min-height: 48px;
	max-width: 100%;
	box-sizing: border-box;
}
:where(textarea) { min-height: 8rem; width: 100%; }
:where(input[type="checkbox"], input[type="radio"]) { width: 1.25rem; height: 1.25rem; accent-color: var(--wp--preset--color--brand); }

/* Shop-Farben: Düfte & Co. grün, Veedels-Trödelmarkt Backstein */
body { --ih-akzent: var(--wp--preset--color--brand); --ih-akzent-hell: var(--wp--preset--color--brand-tint); }
body.ih-shop-duefte { --ih-akzent: var(--wp--preset--color--duefte); --ih-akzent-hell: var(--wp--preset--color--duefte-tint); }
body.ih-shop-troedel { --ih-akzent: var(--wp--preset--color--troedel); --ih-akzent-hell: var(--wp--preset--color--troedel-tint); }
:is(.ih-shop-duefte, .ih-shop-troedel) main :is(.wp-element-button, .button, .wc-block-components-product-button__button):not(.is-style-outline > *) {
	background-color: var(--ih-akzent);
	border-color: var(--ih-akzent);
	color: var(--wp--preset--color--base);
}
:is(.wp-element-button, .button, .wc-block-components-product-button__button):hover { filter: brightness(0.9); }
.wp-block-button.is-style-outline > .wp-block-button__link { border: 2px solid currentColor; background-color: transparent; color: var(--ih-akzent); }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background-color: var(--ih-akzent-hell); filter: none; }
:is(.ih-shop-duefte, .ih-shop-troedel) main a:not(.wp-element-button):not(.button) { color: var(--ih-akzent); }

/* Shopseiten */
.ih-shopseite, .ih-produktseite { padding-block: clamp(1.25rem, 3vw, 2rem) clamp(3rem, 7vw, 5rem); }
.woocommerce-breadcrumb { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.ih-shopkopf { margin-block: 1rem 1.5rem; }
.ih-shopkopf .wp-block-query-title { margin: 0; }
.ih-shopkopf .wp-block-term-description { margin-top: 1rem; color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--large); }
.ih-kategorien ul { list-style: none; margin: 0 0 1.5rem; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.ih-kategorien a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0.375rem 1.125rem;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 999px;
	color: var(--wp--preset--color--contrast) !important;
	font-weight: 500;
	text-decoration: none;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}
.ih-kategorien a:hover { border-color: var(--ih-akzent); }
.ih-kategorien a[aria-current="page"] { background-color: var(--ih-akzent); border-color: var(--ih-akzent); color: var(--wp--preset--color--base) !important; }
.ih-shopleiste { align-items: center; gap: 0.75rem 1.5rem; margin-bottom: 2rem; padding-block: 0.75rem; border-block: 1px solid var(--wp--preset--color--line); }
.ih-shopleiste :is(p, .woocommerce-result-count, .woocommerce-ordering) { margin: 0; }
.ih-shopleiste .woocommerce-result-count { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); }

/* Produktkarten */
.ih-produkte .wc-block-product-template { row-gap: clamp(2rem, 4vw, 3rem); }
.ih-produkte .wc-block-product { display: flex; flex-direction: column; gap: 0.5rem; text-align: left; }
.ih-produkte .wc-block-product > * { margin-block: 0 !important; text-align: left !important; }
.ih-produkte .wc-block-components-product-image {
	aspect-ratio: 1;
	margin-bottom: 0.5rem !important;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 12px;
	background-color: var(--wp--preset--color--base);
	overflow: hidden;
}
.ih-produkte .wc-block-components-product-image :is(a, img) { display: block; width: 100%; height: 100%; }
.ih-produkte .wc-block-components-product-image img { object-fit: contain; padding: 6%; }
.ih-produkte .wp-block-post-title { font-size: 1rem; line-height: 1.3; text-wrap: pretty; }
.ih-produkte .wp-block-post-title a { color: var(--wp--preset--color--contrast) !important; text-decoration: none; }
.ih-produkte .wp-block-post-title a:hover { text-decoration: underline; }
.ih-produkte .wc-block-components-product-price { font-weight: 600; font-size: 1rem; }
.ih-produkte .wc-gzd-additional-info, .ih-produkte .wc-gzd-additional-info a { font-size: 0.875rem; line-height: 1.4; color: var(--wp--preset--color--muted) !important; }
/* Germanized hängt den Grundpreis in Block-Listen an den Titel; er gehört unter den Preis. */
.ih-produkte .wp-block-woocommerce-product-price { order: 1; }
.ih-produkte .wc-gzd-additional-info-loop.price-unit { order: 2; }
.ih-produkte .wc-gzd-additional-info-loop:not(.price-unit) { order: 3; }
.ih-produkte .ih-karten-hinweis { order: 2; }
.ih-karten-hinweis { margin: 0; font-size: 0.875rem; font-weight: 600; color: var(--ih-akzent, var(--wp--preset--color--brand)); }
.ih-produkte .wp-block-woocommerce-product-button { margin-top: auto !important; order: 10; align-self: stretch; align-items: stretch; }
.ih-produkte .wp-block-woocommerce-product-button :is(a, button) { width: 100%; justify-content: center; padding-block: 0.625rem; font-size: 0.9375rem; }
.wp-block-query-pagination { margin-top: clamp(2rem, 5vw, 3rem); gap: 0.5rem; }
.wp-block-query-pagination :is(a, .page-numbers) { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding-inline: 0.75rem; border: 1px solid var(--wp--preset--color--line); border-radius: 8px; text-decoration: none; }
.wp-block-query-pagination .current { background-color: var(--wp--preset--color--contrast); border-color: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); }
@media (max-width: 600px) {
	.ih-produkte .wp-block-woocommerce-product-button :is(a, button) { font-size: 0.9375rem; padding: 0.625rem 0.5rem; }
	.ih-shopkopf .wp-block-query-title { font-size: var(--wp--preset--font-size--x-large); }
}

/* Produktseite nach Primavera-Vorbild: großes Bild links, Kaufbereich rechts */
.ih-produktseite div.product { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: clamp(1.5rem, 3vw, 2.5rem) clamp(1.5rem, 4vw, 4rem); align-items: start; margin-top: 1rem; }
.ih-produktseite .woocommerce-product-gallery img { max-height: 26rem; object-fit: contain; }
.ih-produktseite div.product > :is(.woocommerce-product-gallery, .summary) { width: auto !important; float: none !important; margin: 0 !important; }
.ih-produktseite div.product > :not(.woocommerce-product-gallery):not(.summary) { grid-column: 1 / -1; }
.ih-produktseite .woocommerce-product-gallery { padding: 6%; border: 1px solid var(--wp--preset--color--line); border-radius: 12px; background-color: var(--wp--preset--color--base); }
.ih-produktseite .product_title { margin: 0 0 0.75rem; font-size: var(--wp--preset--font-size--xx-large); }
.ih-produktseite .summary .price { margin: 0; font-size: var(--wp--preset--font-size--x-large); font-weight: 600; color: var(--wp--preset--color--contrast) !important; }
.ih-produktseite .summary .wc-gzd-additional-info { margin: 0.25rem 0 0; font-size: 0.9375rem; color: var(--wp--preset--color--muted); }
.ih-produktseite .woocommerce-product-details__short-description { margin-block: 1.25rem; }
.ih-produktseite form.cart { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-block: 1.5rem !important; }
/* WooCommerce setzt das Mengenfeld als schwebenden Block; für Minus/Feld/Plus als eine Einheit wird es zur Flex-Zeile. */
.ih-produktseite form.cart .quantity { display: flex !important; float: none !important; align-items: stretch; margin: 0 !important; }
.ih-produktseite form.cart .quantity .qty { width: 3.5rem; min-height: 48px; margin: 0 !important; text-align: center; border-radius: 0; -moz-appearance: textfield; appearance: textfield; }
.ih-produktseite form.cart .quantity .qty::-webkit-inner-spin-button, .ih-produktseite form.cart .quantity .qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.ih-menge { min-width: 44px; padding: 0; border: 1px solid var(--wp--preset--color--field-border); background-color: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); font-size: 1.25rem; line-height: 1; cursor: pointer; }
.ih-menge:first-child { border-right: 0; border-radius: 8px 0 0 8px; }
.ih-menge:last-child { border-left: 0; border-radius: 0 8px 8px 0; }
.ih-menge:hover { background-color: var(--wp--preset--color--surface); }
.ih-menge:focus-visible { position: relative; outline: 3px solid var(--ih-akzent, var(--wp--preset--color--brand)); outline-offset: -3px; }
.ih-produktseite form.cart .single_add_to_cart_button { flex: 1 1 14rem; min-height: 48px; }
.ih-produktseite .product_meta { display: grid; gap: 0.25rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--wp--preset--color--line); font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
/* Abstand zwischen Kaufbereich, Beschreibung und Empfehlungen kommt nur aus dem Zeilenabstand des Rasters */
.ih-produktseite div.product > :is(.woocommerce-tabs, .related, .upsells) { margin-block: 0 !important; }
.ih-produktseite .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 0.25rem; margin: 0 0 1.5rem; padding: 0; list-style: none; border-bottom: 1px solid var(--wp--preset--color--line); }
.ih-produktseite .woocommerce-tabs ul.tabs::before, .ih-produktseite .woocommerce-tabs ul.tabs li::before, .ih-produktseite .woocommerce-tabs ul.tabs li::after { display: none; }
.ih-produktseite .woocommerce-tabs ul.tabs li { margin: 0; padding: 0; border: 0; background: none; }
.ih-produktseite .woocommerce-tabs ul.tabs li a { display: inline-block; padding: 0.75rem 1rem; color: var(--wp--preset--color--muted) !important; font-weight: 600; text-decoration: none; }
.ih-produktseite .woocommerce-tabs ul.tabs li.active a { color: var(--wp--preset--color--contrast) !important; box-shadow: inset 0 -3px 0 var(--ih-akzent); }
.ih-produktseite .woocommerce-Tabs-panel { max-width: 72ch; }
.ih-produktseite :is(.related, .upsells) > h2 { margin: 0 0 1rem; font-size: var(--wp--preset--font-size--x-large); }
.ih-produktseite ul.products { display: grid; grid-template-columns: repeat(auto-fill, minmax(max(150px, calc(25% - 1.25rem * 3 / 4)), 1fr)); gap: 1.25rem; margin: 0; padding: 0; list-style: none; }
.ih-produktseite ul.products::before, .ih-produktseite ul.products::after { display: none; }
.ih-produktseite ul.products li.product { display: flex; flex-direction: column; gap: 0.5rem; width: auto !important; margin: 0 !important; float: none !important; }
.ih-produktseite ul.products li.product > *, .ih-produktseite ul.products a.woocommerce-LoopProduct-link > * { margin: 0 !important; }
.ih-produktseite ul.products a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; gap: 0.5rem; }
.ih-produktseite ul.products li.product .button { margin-top: auto !important; padding: 0.625rem 0.75rem; font-size: 0.9375rem; text-align: center; white-space: nowrap; }
/* § 19-Hinweis steht auf der Produktseite beim Hauptpreis, nicht an jeder Karte */
.ih-produktseite ul.products .small-business-info { display: none; }
.ih-produktseite ul.products li.product img { box-sizing: border-box; width: 100%; aspect-ratio: 1; object-fit: contain; padding: 8%; border: 1px solid var(--wp--preset--color--line); border-radius: 12px; background-color: var(--wp--preset--color--base); }
.ih-produktseite ul.products .woocommerce-loop-product__title { padding: 0 !important; font-size: 1rem !important; line-height: 1.3; text-wrap: pretty; color: var(--wp--preset--color--contrast); }
.ih-produktseite ul.products a.woocommerce-LoopProduct-link { color: var(--wp--preset--color--contrast) !important; text-decoration: none; }
.ih-produktseite ul.products .price { font-weight: 600; color: var(--wp--preset--color--contrast) !important; }
.ih-produktseite ul.products .wc-gzd-additional-info { font-size: 0.875rem; font-weight: 400; color: var(--wp--preset--color--muted) !important; }

/* Größen-Gruppen: alle Größen derselben Ware als eigene Zeilen */
.ih-groessen { margin-top: 1.25rem; }
.ih-groessen__titel { margin: 0 0 0.5rem; font-weight: 600; }
.ih-groessen__liste { display: grid; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
.ih-groessen__eintrag { display: grid; grid-template-columns: 3rem minmax(0, 1fr) auto; align-items: center; gap: 0.75rem; padding: 0.5rem 0.75rem; border: 1px solid var(--wp--preset--color--line); border-radius: 10px; background-color: var(--wp--preset--color--base); }
.ih-groessen__eintrag.ist-aktuell { border-color: var(--ih-akzent); box-shadow: inset 0 0 0 1px var(--ih-akzent); }
.ih-groessen__bild { display: block; width: 3rem; height: 3rem; object-fit: contain; }
.ih-groessen__text { display: grid; justify-items: start; gap: 0.125rem; min-width: 0; }
.ih-groessen__name { font-weight: 600; line-height: 1.3; color: var(--wp--preset--color--contrast) !important; }
.ih-groessen__preis { font-weight: 600; }
.ih-groessen__grundpreis { font-size: 0.875rem; font-weight: 400; color: var(--wp--preset--color--muted); }
.ih-groessen__vorteil { padding: 0.0625rem 0.5rem; border-radius: 999px; background-color: var(--ih-akzent); color: var(--wp--preset--color--base); font-size: 0.8125rem; font-weight: 600; }
.ih-groessen__hinweis { font-size: 0.875rem; font-weight: 600; color: var(--ih-akzent); }
.ih-groessen .button { padding: 0.5rem 0.875rem; font-size: 0.875rem; white-space: nowrap; }
@media (max-width: 480px) {
	.ih-groessen__eintrag { grid-template-columns: 3rem minmax(0, 1fr); }
	.ih-groessen__eintrag > :last-child { grid-column: 2; justify-self: start; }
}
@media (max-width: 781px) {
	.ih-produktseite div.product { grid-template-columns: minmax(0, 1fr); }
}

/* Gutscheinbuch: Ablauf und Formular */
.ih-schritte { list-style: none; margin: 0; padding: 0; counter-reset: schritt; display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1.25rem; }
.ih-schritte li { counter-increment: schritt; padding: 1.25rem 1.5rem; border: 1px solid var(--wp--preset--color--line); border-radius: 12px; background-color: var(--wp--preset--color--base); }
.ih-schritte li::before {
	content: counter(schritt);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	margin-bottom: 0.75rem;
	border-radius: 50%;
	background-color: var(--wp--preset--color--brand);
	color: var(--wp--preset--color--base);
	font-family: var(--wp--preset--font-family--vollkorn);
	font-weight: 700;
}
.ih-formular { box-sizing: border-box; display: grid; gap: 1rem; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--wp--preset--color--line); border-radius: 12px; background-color: var(--wp--preset--color--base); scroll-margin-top: 6rem; }
.ih-formular > p, .ih-formular .ih-feld { margin: 0; }
.ih-formular .ih-feld { display: grid; gap: 0.375rem; min-width: 0; }
.ih-formular .ih-feld label { font-weight: 600; }
.ih-formular .ih-feld :is(input, textarea) { width: 100%; }
.ih-formular .ih-zweispaltig { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 1rem; }
.ih-formular .ih-pflicht { color: var(--wp--preset--color--error); }
.ih-formular .ih-hinweis { font-size: 0.9375rem; color: var(--wp--preset--color--muted); }
.ih-formular .ih-honig { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ih-formular [aria-invalid="true"] { border-color: var(--wp--preset--color--error); border-width: 2px; }
.ih-formular-meldung { padding: 0.75rem 1.25rem; border: 1px solid var(--wp--preset--color--error); border-radius: 8px; background-color: #fbeceb; color: var(--wp--preset--color--error); }
.ih-formular-meldung :is(p, ul) { margin: 0.25rem 0; }
.ih-formular--danke { border-color: var(--wp--preset--color--success); }
.ih-formular--danke h3 { margin: 0; color: var(--wp--preset--color--success); }

/* Hinweis bei externen Partnerlinks */
.ih-extern { padding: 1rem 1.25rem; border: 1px solid var(--wp--preset--color--line); border-radius: 12px; background-color: var(--wp--preset--color--surface); font-size: 0.9375rem; }

/* Fehlerseite */
.ih-fehlerseite .wp-block-search { max-width: 32rem; margin-block: 1.5rem; }

/* Warenkorb, Kasse, Konto: gleiche Breite wie die Kopfzeile, Woo-Farben in Markenfarben */
:is(.woocommerce-cart, .woocommerce-account) main :is(.wp-block-post-title, .woocommerce) { max-width: var(--wp--style--global--wide-size) !important; margin-inline: auto !important; }
body.woocommerce-checkout #payment { background-color: var(--wp--preset--color--surface) !important; border-radius: 12px; }
body.woocommerce-checkout #payment div.payment_box { background-color: var(--wp--preset--color--base) !important; color: var(--wp--preset--color--contrast); }
body.woocommerce-checkout .woocommerce-checkout-review-order-table { background-color: var(--wp--preset--color--base) !important; border: 1px solid var(--wp--preset--color--line); border-radius: 12px; }
body.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--wp--preset--color--base); }
body .wc-block-components-notice-banner.is-info { border-color: var(--wp--preset--color--brand); background-color: var(--wp--preset--color--brand-tint); }
body .wc-block-components-notice-banner.is-info > svg { background-color: var(--wp--preset--color--brand); }

/* Sprungziele unter der festen Kopfzeile */
[id] { scroll-margin-top: 8rem; }
/* Shop-Abschnitt der Startseite hat eigenen Innenabstand: direkt unter dem Kopf landen */
#shops { scroll-margin-top: 2rem; }

/* Untermenüs in der Kopfzeile */
.ih-hauptmenue .wp-block-navigation__submenu-container { min-width: 14rem !important; padding: 0.5rem !important; border: 1px solid var(--wp--preset--color--line) !important; border-radius: 12px; box-shadow: var(--wp--preset--shadow--sanft); }
.ih-hauptmenue .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.5rem 0.75rem !important; border-radius: 8px; }
.ih-hauptmenue .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background-color: var(--ih-akzent-hell); text-decoration: none; }
.ih-hauptmenue .wp-block-navigation-item__content[aria-current="page"] { color: var(--ih-akzent); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 0.35em; }

/* Kategorieseiten: Seitenleiste mit dem Sortiment nach Primavera-Vorbild */
.ih-shopraster { gap: clamp(1.5rem, 4vw, 3.5rem); margin-top: 1rem; }
.ih-kategoriebaum { position: sticky; top: 9rem; font-size: var(--wp--preset--font-size--small); }
.ih-kategoriebaum__titel { margin: 0 0 0.5rem; padding-bottom: 0.75rem; border-bottom: 1px solid var(--wp--preset--color--line); font-family: var(--wp--preset--font-family--vollkorn); font-size: var(--wp--preset--font-size--large); font-weight: 600; }
.ih-kategoriebaum ul { margin: 0; padding: 0; list-style: none; }
.ih-kategoriebaum a { display: block; padding: 0.4375rem 0.75rem; border-radius: 8px; color: var(--wp--preset--color--contrast) !important; text-decoration: none; }
.ih-kategoriebaum a:hover { background-color: var(--ih-akzent-hell); }
.ih-kategoriebaum a[aria-current="page"] { background-color: var(--ih-akzent-hell); color: var(--ih-akzent) !important; font-weight: 600; }
.ih-kategoriebaum__gruppe { margin-block: 0.5rem; padding-top: 0.5rem; border-top: 1px solid var(--wp--preset--color--line); }
.ih-kategoriebaum__gruppe summary { display: flex; align-items: center; justify-content: space-between; min-height: 44px; padding-inline: 0.75rem; font-weight: 600; cursor: pointer; list-style: none; }
.ih-kategoriebaum__gruppe summary::-webkit-details-marker { display: none; }
.ih-kategoriebaum__gruppe summary::after { content: ""; width: 0.5rem; height: 0.5rem; margin-right: 0.25rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform 0.2s ease; }
.ih-kategoriebaum__gruppe[open] summary::after { transform: rotate(-135deg); }
.ih-kategoriebaum__gruppe ul { padding-left: 0.75rem; }
.ih-kategorien { display: none; }
.ih-kategorien__unter { margin-top: -0.75rem !important; }
.ih-kategorien__unter a { min-height: 2.25rem; font-size: var(--wp--preset--font-size--small); }
@media (max-width: 781px) {
	.ih-seitenleiste { display: none; }
	.ih-kategorien { display: block; }
}

/* „Neu“ als rundes Siegel auf dem Produktbild */
.wc-block-components-product-image, .ih-produktseite ul.products li.product { position: relative; }
.ih-neu { position: absolute; top: 0.75rem; left: 0.75rem; z-index: 1; display: inline-flex; align-items: center; justify-content: center; width: 3.25rem; height: 3.25rem; border-radius: 50%; background-color: var(--ih-akzent); color: var(--wp--preset--color--base); font-family: var(--wp--preset--font-family--vollkorn); font-size: 0.9375rem; font-style: italic; font-weight: 600; transform: rotate(-8deg); }

/* Varianten als Knöpfe */
.ih-varianten-feld { position: relative; }
.ih-varianten { display: none; flex-wrap: wrap; gap: 0.5rem; }
.ih-varianten-an .ih-varianten { display: flex; }
.ih-varianten-an .ih-varianten-feld select { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.ih-variante { min-width: 4.5rem; min-height: 44px; padding: 0.5rem 1rem; border: 1px solid var(--wp--preset--color--field-border); border-radius: 999px; background-color: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); font: inherit; font-weight: 600; cursor: pointer; }
.ih-variante:hover:not(:disabled) { border-color: var(--ih-akzent); }
.ih-variante[aria-pressed="true"] { border-color: var(--ih-akzent); background-color: var(--ih-akzent); color: var(--wp--preset--color--base); }
.ih-variante:disabled { opacity: 0.45; text-decoration: line-through; cursor: not-allowed; }
.ih-produktseite table.variations, .ih-produktseite table.variations :is(tbody, tr, th, td) { display: block; border: 0; padding: 0; background: none; text-align: left; }
.ih-produktseite table.variations th { margin-bottom: 0.5rem; font-weight: 600; }
.ih-produktseite table.variations td { margin-bottom: 0; }
.ih-produktseite form.variations_form { display: block; }
.ih-produktseite table.variations { margin: 0 !important; }
.ih-produktseite .reset_variations { display: inline-block; margin-top: 0.5rem; font-size: var(--wp--preset--font-size--small); }
.ih-produktseite .single_variation_wrap .woocommerce-variation { margin: 0; }
.ih-produktseite .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.25rem; }

/* Hinweis auf den Mengenrabatt */
.ih-rabatthinweis { margin-block: 1rem; padding: 0.75rem 1rem; border: 1px solid var(--ih-akzent); border-radius: 8px; background-color: var(--ih-akzent-hell); font-size: 0.9375rem; }

/* Shop-Kopf in zwei Zeilen: Marke, sichtbare Suche und Aktionen oben, Sortiment darunter */
:root { --ih-dachzeile: 2.25rem; }
.ih-dachzeile p { line-height: 1.5rem; }
.wp-site-blocks > header.wp-block-template-part:has(.ih-dachzeile) { top: calc(-1 * var(--ih-dachzeile)); }
.ih-kopf--shop { padding-bottom: 0.25rem; }
.ih-kopf__raster { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "marke suche aktionen" "nav nav nav"; align-items: center; column-gap: 2rem; }
.ih-kopf__raster > * { margin: 0 !important; }
.ih-kopf__raster > .ih-wortmarke { grid-area: marke; }
.ih-kopf__raster > .ih-kopf__suche { grid-area: suche; justify-self: center; width: min(100%, 30rem); }
.ih-kopf__raster > .ih-kopf__aktionen { grid-area: aktionen; }
.ih-kopf__raster > .ih-kopf__nav { grid-area: nav; margin-top: 0.5rem !important; padding-top: 0; border-top: 1px solid var(--wp--preset--color--line); }
.ih-kopf__suche .wp-block-search__inside-wrapper { padding: 3px 3px 3px 1rem !important; border: 1px solid var(--wp--preset--color--field-border) !important; border-radius: 999px; background-color: var(--wp--preset--color--base); }
.ih-kopf__suche .wp-block-search__inside-wrapper:focus-within { outline: 3px solid var(--ih-akzent); outline-offset: 2px; }
.ih-kopf__suche .wp-block-search__input { min-height: 40px; padding: 0 !important; border: 0 !important; background: transparent; outline: none; }
.ih-kopf__suche .wp-block-search__button { min-width: 40px; min-height: 40px; margin: 0; padding: 0.5rem !important; border: 0; border-radius: 50%; background-color: var(--ih-akzent) !important; color: var(--wp--preset--color--base) !important; }
.ih-kopf__suche .wp-block-search__button svg { fill: currentColor; }
@media (max-width: 599px) {
	.ih-kopf__raster { grid-template-columns: minmax(0, 1fr) auto auto; grid-template-areas: "marke aktionen nav"; column-gap: 0.25rem; }
	.ih-kopf__raster > .ih-kopf__suche { display: none; }
	.ih-kopf__raster > .ih-kopf__nav { margin-top: 0 !important; padding-top: 0; border-top: 0; }
	.ih-kopf__raster .ih-kopf__aktionen .wp-block-search.ih-nur-mobil { display: block; }
}

/* Beide Shops als ruhige Wortmarke in ihrer Farbe */
.ih-wortmarke { margin: 0; font-family: var(--wp--preset--font-family--vollkorn); font-size: var(--wp--preset--font-size--x-large); font-style: italic; font-weight: 600; line-height: 1.1; white-space: nowrap; }
.ih-wortmarke a { color: inherit !important; text-decoration: none; }

/* Düfte-Einstieg: geteilter Aufmacher */
.ih-held-geteilt { gap: 0 !important; margin-top: clamp(1rem, 3vw, 2rem) !important; overflow: hidden; border-radius: 16px; align-items: stretch; }
.ih-held-geteilt__text { align-self: center; padding: clamp(1.75rem, 5vw, 4rem); }
.ih-held-geteilt__text > * { margin-block: 0; }
.ih-held-geteilt__text > * + * { margin-top: 1rem; }
.ih-held-geteilt__text h1 { font-size: clamp(2rem, 4.5vw, 3rem); }
.ih-held-geteilt__text .wp-block-buttons { margin-top: 1.5rem; }
.ih-held-geteilt__bild { height: 100%; margin: 0; }
.ih-held-geteilt__bild img { display: block; width: 100%; height: 100%; min-height: 16rem; max-height: 30rem; object-fit: cover; }
.ih-shop-duefte .ih-kategoriekacheln { grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr)); }

/* Trödel-Einstieg: kurze Einleitung, das Raster folgt direkt */
.ih-einleitung { margin-top: 0 !important; padding-block: clamp(1.5rem, 4vw, 2.5rem) clamp(2rem, 5vw, 3.5rem); }
.ih-einleitung__kopf { align-items: center; gap: 1rem 2.5rem !important; }
.ih-einleitung__kopf h1 { margin: 0.25rem 0 0.75rem; font-size: clamp(2rem, 4.5vw, 3rem); }
.ih-einleitung__kopf .ih-lead { margin: 0; }
.ih-einleitung__bild { margin: 0; }
.ih-einleitung__bild img { display: block; width: 100%; height: clamp(10rem, 22vw, 15rem); object-fit: cover; border-radius: 12px; }
.ih-einleitung > .ih-abschnittskopf { margin-top: clamp(1.5rem, 4vw, 2.5rem) !important; }

/* Kurzer Service-Streifen statt mehrerer Hinweisblöcke */
.ih-servicestreifen { margin-top: clamp(2rem, 5vw, 3rem) !important; }
.ih-servicestreifen ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: 1rem 2rem; margin: 0; padding: 1.25rem 0; border-block: 1px solid var(--wp--preset--color--line); list-style: none; font-size: var(--wp--preset--font-size--small); }
.ih-servicestreifen li { display: grid; align-content: start; gap: 0.125rem; color: var(--wp--preset--color--muted); }
.ih-servicestreifen strong { color: var(--wp--preset--color--contrast); font-size: var(--wp--preset--font-size--medium); }
.ih-abschnitt--klein > h2 { font-size: var(--wp--preset--font-size--x-large); }

/* Produktlisten: Kleinunternehmer-Hinweis einmal oben, Zustand, Trödel dichter */
.ih-shopseite .small-business-info { display: none; }
.ih-preishinweis { order: 3; flex-basis: 100%; margin: 0; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.ih-shopseite .wc-block-product-template__responsive { grid-template-columns: repeat(auto-fill, minmax(max(150px, calc(25% - 1.25em * 3 / 4)), 1fr)); }
.ih-zustand { margin: 0 !important; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.ih-shopraster:not(:has(.ih-kategoriebaum)) > .ih-seitenleiste { display: none; }
.ih-shopraster:not(:has(.ih-kategoriebaum)) > .wp-block-column { flex-basis: 100% !important; }
.ih-leer { padding: clamp(1.5rem, 4vw, 2.5rem); border: 1px dashed var(--wp--preset--color--line); border-radius: 12px; }
.ih-leer > * { margin-block: 0 0.75rem; }
.ih-leer__titel { font-family: var(--wp--preset--font-family--vollkorn); font-size: var(--wp--preset--font-size--large); font-weight: 600; }

/* Herkunftsmarke in Warenkorb und Kasse */
/* Herkunft in Warenkorb und Kasse: dezente Zeile unter dem Artikelnamen, Punkt in der Shop-Farbe */
.ih-artikelname { display: inline-flex; flex-direction: column; gap: 0.125rem; }
.ih-herkunft { display: inline-flex; align-items: center; gap: 0.375rem; color: var(--wp--preset--color--muted); font-size: 0.8125rem; font-weight: 500; line-height: 1.3; }
.ih-herkunft::before { content: ""; flex: none; width: 0.5rem; height: 0.5rem; border-radius: 50%; background-color: var(--wp--preset--color--brand); }
.ih-herkunft--duefte::before { background-color: var(--wp--preset--color--duefte); }
.ih-herkunft--troedel::before { background-color: var(--wp--preset--color--troedel); }

/* PayPal setzt seine Knopf-Rahmen auf z-index 100/200; eigene Ebene, damit Seitenkopf (50) und mobile Kaufleiste (60) darüber bleiben */
.ppc-button-wrapper, [id^="ppc-button"] { position: relative; z-index: 0; isolation: isolate; }

/* Zahlarten-Leiste unter dem Kaufbereich */
.ih-zahlarten-leiste { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.75rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--wp--preset--color--line); font-size: 0.875rem; color: var(--wp--preset--color--muted); }
.ih-zahlarten-logos { display: flex; flex-wrap: wrap; gap: 0.375rem; margin: 0; padding: 0; list-style: none; }
:is(.ih-zahlarten-logos, .ih-zahlart__logos) img { display: block; width: 44px; height: 28px; object-fit: contain; border: 1px solid var(--wp--preset--color--line); border-radius: 4px; background-color: #fff; }
.ih-zahlarten-leiste__link { margin-left: auto; color: var(--wp--preset--color--contrast); }

/* Seite „Zahlungsarten“ */
.ih-zahlarten { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); gap: 1rem; margin-block: 1.5rem 3rem; }
.ih-zahlart { display: grid; align-content: start; gap: 0.5rem; padding: 1.25rem; border: 1px solid var(--wp--preset--color--line); border-radius: 12px; background-color: var(--wp--preset--color--base); }
.ih-zahlart__logos { display: flex; flex-wrap: wrap; gap: 0.375rem; min-height: 28px; color: var(--wp--preset--color--brand); }
.ih-zahlart__logos svg { width: 28px; height: 28px; }
.ih-zahlart__titel { margin: 0.25rem 0 0; font-size: var(--wp--preset--font-size--large); }
.ih-zahlart p { margin: 0; color: var(--wp--preset--color--muted); }

/* Umschalter Hochdeutsch/Kölsch im Seitenkopf */
.ih-sprache { display: flex; align-items: center; gap: 0.125rem; }
.ih-sprache__flagge { display: grid; place-items: center; min-width: 40px; min-height: 40px; border-radius: 8px; opacity: 0.5; transition: opacity 0.15s ease; }
.ih-sprache__flagge svg { display: block; border-radius: 2px; box-shadow: 0 0 0 1px var(--wp--preset--color--line); }
.ih-sprache__flagge:hover, .ih-sprache__flagge[aria-current] { opacity: 1; }
.ih-sprache__flagge[aria-current] svg { box-shadow: 0 0 0 2px var(--wp--preset--color--contrast); }
.ih-sprache__flagge:focus-visible { outline: 3px solid var(--ih-akzent, var(--wp--preset--color--brand)); outline-offset: -2px; opacity: 1; }
@media (max-width: 599px) { .ih-sprache__flagge { min-width: 32px; } }
@media (prefers-reduced-motion: reduce) { .ih-sprache__flagge { transition: none; } }

/* Kaufargumente unter dem Warenkorb-Knopf; die Kontaktzeile bekommt einen Briefumschlag statt des Hakens */
.ih-vorteile li.ih-vorteile__kontakt::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 4-8 5-8-5V6l8 5 8-5z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 4-8 5-8-5V6l8 5 8-5z'/%3E%3C/svg%3E"); }
.ih-vorteile { display: grid; gap: 0.25rem; margin: 0.75rem 0 0; padding: 0; list-style: none; font-size: 0.9375rem; }
.ih-vorteile li { display: flex; align-items: center; gap: 0.5rem; }
.ih-vorteile li::before { content: ""; flex: none; width: 1rem; height: 1rem; background-color: var(--ih-akzent, var(--wp--preset--color--brand)); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center / contain no-repeat; }

/* Mobile Kaufleiste */
.ih-kaufleiste { display: none; }
.ih-wird-hinzugefuegt { opacity: 0.7; cursor: progress; }
@media (max-width: 781px) {
	.ih-kaufleiste:not([hidden]) { position: fixed; inset: auto 0 0; z-index: 60; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.75rem clamp(1rem, 4vw, 2rem) calc(0.75rem + env(safe-area-inset-bottom)); border-top: 1px solid var(--wp--preset--color--line); background-color: var(--wp--preset--color--base); box-shadow: 0 -4px 16px rgba(28, 43, 45, 0.08); }
	.ih-kaufleiste__preis { margin: 0; font-size: var(--wp--preset--font-size--medium); font-weight: 600; }
	.ih-kaufleiste__knopf { flex: 0 0 auto; min-height: 48px; border: 0; background-color: var(--ih-akzent); color: var(--wp--preset--color--base); cursor: pointer; }
	body:has(.ih-kaufleiste:not([hidden])) .wp-site-blocks { padding-bottom: 5rem; }
}

/* Reduzierte Kasse */
.ih-kopf--kasse .ih-kopf__zeile { gap: 0.75rem 1.5rem; align-items: center; }
.ih-kasse__vertrauen { margin: 0; color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); line-height: 1.4; }
.ih-kasse__vertrauen strong { color: var(--wp--preset--color--contrast); }
.ih-kasse__zurueck { margin: 0; font-weight: 600; }
.ih-kasse__zurueck a::before { content: "← " / ""; }
.ih-fuss--kasse { padding-block: 1.5rem; font-size: var(--wp--preset--font-size--small); }
.ih-fuss--kasse p { margin: 0; }
.ih-linkliste--zeile { display: flex; flex-wrap: wrap; gap: 0.25rem 1.25rem; }
body.woocommerce-checkout .col2-set > :is(.col-1, .col-2) { float: none; width: 100%; max-width: none; }
body.woocommerce-checkout .ih-kasse > .wp-block-post-title,
body.woocommerce-checkout .ih-kasse > .wp-block-woocommerce-store-notices { max-width: 760px !important; }
body.woocommerce-checkout .col2-set > .col-2 { margin-top: 1.5rem; }

/* Häufige Fragen zum Aufklappen */
.ih-faq { padding-block: 0.25rem; border-top: 1px solid var(--wp--preset--color--line); }
.wp-block-post-content > .ih-faq + .ih-faq { margin-top: 0; }
.ih-faq:not(:has(+ .ih-faq)) { border-bottom: 1px solid var(--wp--preset--color--line); }
.ih-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 48px; font-weight: 600; cursor: pointer; list-style: none; }
.ih-faq summary::-webkit-details-marker { display: none; }
.ih-faq summary::after { content: "+" / ""; color: var(--ih-akzent); font-size: 1.5rem; font-weight: 400; }
.ih-faq[open] summary::after { content: "–" / ""; }
.ih-faq > :not(summary) { margin: 0 0 1rem; }

/* „Im Aufbau“: Kreidetafel wie auf der alten Seite, aber mit echtem, übersetzbarem Text statt Schrift im Bild */
.ih-im-aufbau { margin-block: 0; padding-block: clamp(3.5rem, 12vw, 8rem); text-align: center; color: #F2F1EC; background-color: #2B302F; background-image: radial-gradient(ellipse at 28% 22%, rgba(255, 255, 255, 0.08), transparent 55%), radial-gradient(ellipse at 76% 78%, rgba(255, 255, 255, 0.05), transparent 50%); }
/* Schlägt die Linkfarbe der Shops (Zeile oben: :is(.ih-shop-…) main a…), die auf der dunklen Tafel zu schwach wäre */
.wp-site-blocks main.ih-im-aufbau a:not(.wp-element-button):not(.button) { color: inherit; }
.ih-im-aufbau__titel { color: inherit; font-size: clamp(2.75rem, 9vw, 5.5rem); letter-spacing: 0.02em; text-shadow: 0 0 1px rgba(255, 255, 255, 0.6), 0 0 8px rgba(255, 255, 255, 0.18); }
.ih-im-aufbau__dachzeile { text-transform: uppercase; letter-spacing: 0.14em; font-size: 0.875rem; }
.ih-aufbau-hinweis { margin: 0; padding: 0.5rem 1rem; background: var(--wp--preset--color--warning, #8A5A00); color: #fff; text-align: center; font-weight: 600; }

/* Kennzeichnung KI-generierter Titelbilder: kleines Schild unten rechts im Bild, verschiebt das Layout nicht */
:is(.ih-held-geteilt__bild, .ih-einleitung__bild, .ih-tuer__bild) { position: relative; }
:is(.ih-held-geteilt__bild, .ih-einleitung__bild, .ih-tuer__bild) > figcaption.wp-element-caption { position: absolute; right: 0.5rem; bottom: 0.5rem; margin: 0; padding: 0.125rem 0.4rem; border-radius: 4px; background: rgba(28, 43, 45, 0.55); color: #fff; font-size: 0.6875rem; line-height: 1.4; letter-spacing: 0.02em; pointer-events: none; }
