/* ==========================================================================
   WerkstattWiesel – Kachel-Design (Kopf, Startseite, grüne Preise)
   Entwurf: relaunch/entwuerfe/design-2026-10/kachel-start.html (abgenommen 29.10.2026)
   ========================================================================== */

:root {
	--preis: #157a34;          /* Preise: Dunkelgrün, 5,6:1 auf Weiß */
	--preis-hell: #6fdc95;     /* Preise auf Anthrazit */
	--flaeche-2: #ecebe8;      /* Grund hinter den Kacheln */
	--k-radius: 20px;
	--breite: 80rem;
}

/* ---------- Leiste ganz oben ---------- */
.ww-topbar { display: none; }
.ww-topzeile { background: var(--anthrazit); color: #e8e8e8; font-size: .875rem; }
.ww-topzeile p { margin: 0 auto; padding-block: .4rem; text-align: center; }
.ww-topzeile a { display: inline-flex; align-items: center; gap: .5rem; color: #fff; text-decoration: none; padding: .1rem 0; }
.ww-topzeile a:hover { text-decoration: underline; text-underline-offset: .15em; color: #fff; }
.ww-topzeile a:focus-visible { outline-color: #fff; }
.ww-topzeile svg { flex: none; }

/* ---------- Kopf ---------- */
.ww-kopf { background: #fff; color: var(--text); position: relative; z-index: 40; box-shadow: 0 1px 0 var(--anthrazit); }
@media (min-width: 64em) { .ww-kopf { position: sticky; top: 0; } }
.ww-kopf__leiste {
	display: grid; grid-template-columns: auto auto 1fr; align-items: center; gap: .5rem .75rem;
	padding-block: .6rem; grid-template-areas: "menue logo aktionen" "suche suche suche";
}
@media (min-width: 64em) {
	.ww-kopf__leiste { grid-template-columns: auto auto minmax(0, 1fr) auto; grid-template-areas: "menue logo suche aktionen"; gap: 1.5rem; min-height: 76px; padding-block: .5rem; }
}
.ww-kopf__logo { grid-area: logo; }
.ww-logo img { width: 150px; }
@media (min-width: 64em) { .ww-logo img { width: 190px; } }

.ww-nav__schalter {
	grid-area: menue; display: inline-flex; align-items: center; gap: .45rem; min-height: 44px; padding: .3rem .6rem; margin: 0;
	background: var(--flaeche); color: var(--text); border: 0; border-radius: 12px; font: 600 .95rem var(--schrift); cursor: pointer;
}
.ww-nav__schalter:hover { background: var(--flaeche-2); }
.ww-nav__schalter[aria-expanded="true"] { background: var(--anthrazit); color: #fff; }
.ww-nav__schalter-text { display: none; }
@media (min-width: 36em) { .ww-nav__schalter-text { display: inline; } }

/* Suche: Pille mit rotem Knopf */
.ww-kopf .ww-suche {
	grid-area: suche; display: flex; align-items: center; gap: .5rem; height: 48px; width: 100%; max-width: none;
	padding: 0 4px 0 1rem; background: var(--flaeche); border: 2px solid var(--flaeche-2); border-radius: 999px; justify-self: stretch;
}
.ww-kopf .ww-suche:focus-within { border-color: var(--anthrazit); background: #fff; }
.ww-suche__lupe { flex: none; color: var(--text-2); }
.ww-kopf .ww-suche input[type="search"] { flex: 1; min-width: 0; min-height: 40px; padding: 0; border: 0; background: none; font-size: 1rem; border-radius: 0; }
.ww-kopf .ww-suche input[type="search"]:focus { outline: none; }
.ww-kopf .ww-suche button { min-height: 40px; padding: 0 1.15rem; border-radius: 999px; background: var(--rot-text); border: 0; color: #fff; font-weight: 600; }
.ww-kopf .ww-suche button:hover { background: var(--rot-dunkel); }
.ww-kopf .ww-suche:focus-within button:focus-visible { outline: 3px solid var(--fokus); outline-offset: 2px; }

/* Konto und Warenkorb */
.ww-kopf__aktionen { grid-area: aktionen; display: flex; align-items: center; justify-content: flex-end; gap: .25rem; }
.ww-kopf__aktion { display: flex; align-items: center; gap: .55rem; min-height: 44px; padding: .4rem .65rem; border-radius: 12px; color: var(--text); text-decoration: none; }
.ww-kopf__aktion:hover { background: var(--flaeche); color: var(--text); }
.ww-kopf__aktion svg { flex: none; }
.ww-kopf__aktion-text { display: none; flex-direction: column; line-height: 1.15; font-weight: 600; font-size: .9375rem; white-space: nowrap; }
.ww-kopf__aktion-text small { font-weight: 400; font-size: .75rem; color: var(--text-2); }
@media (min-width: 64em) { .ww-kopf__aktion-text { display: flex; } }
.ww-korb { background: var(--flaeche); }
.ww-korb:hover { background: var(--flaeche-2); }
.ww-korb__icon { position: relative; display: grid; }
.ww-korb__anzahl {
	position: absolute; top: -7px; right: -9px; min-width: 1.25rem; height: 1.25rem; padding: 0 .3rem;
	display: grid; place-items: center; background: var(--rot); color: #fff; font-size: .72rem; font-weight: 700; border-radius: 1rem; line-height: 1;
}
.ww-korb__anzahl[hidden] { display: none; }
.ww-korb__text { min-width: 9.5rem; }
.ww-korb__summe { color: var(--preis); }
.ww-korb__balken { display: block; height: 4px; margin-top: 4px; background: var(--flaeche-2); border-radius: 2px; overflow: hidden; }
.ww-korb__balken span { display: block; height: 100%; background: var(--rot-text); border-radius: inherit; transition: width .4s; }
.ww-korb:hover .ww-korb__balken { background: #fff; }

/* Kategorien: Klappliste unter dem Kopf (Schalter oben links) */
.ww-nav { background: #fff; border: 0; }
.ww-nav__liste, .no-js .ww-nav__liste { display: none; list-style: none; margin: 0; padding: 0 0 1rem; }
.ww-nav__liste.ist-offen { display: grid; gap: .35rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 13rem), 1fr)); border-top: 1px solid var(--linie); padding-top: .75rem; }
@media (min-width: 60em) { .ww-nav__liste, .ww-nav__liste.ist-offen { flex-wrap: initial; } .ww-nav__liste.ist-offen { display: grid; } }
.ww-nav__liste a {
	display: flex; align-items: center; gap: .65rem; padding: .45rem .6rem; border-radius: 12px;
	color: var(--text); text-decoration: none; font: 600 1rem var(--schrift); text-transform: none; letter-spacing: 0;
}
.ww-nav__liste a:hover { background: var(--flaeche); color: var(--text); }
.ww-nav__liste a[aria-current="page"] { background: var(--flaeche); box-shadow: inset 3px 0 0 var(--rot); }
.ww-nav__icon { width: 30px; height: 30px; flex: none; }
.no-js .ww-nav__schalter { display: none; }

/* ---------- Preise grün (überall), Grundpreis und Pflichtangaben grau ---------- */
.woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price,
.ww-sv__preis, .woocommerce-cart .amount, .ww-tipp__preis { color: var(--preis); }
.woocommerce ul.products li.product .price del, .woocommerce div.product p.price del { color: var(--text-2); }
.ww-sv__preis small, .ww-card__grundpreis, .ww-kauf__grundpreis { color: var(--text-2); }

/* ---------- Startseite: Seite mit Kategorie-Leiste und Kachel-Raster ---------- */
.home { background: var(--flaeche-2); }
.ww-seite { display: grid; gap: .75rem; padding-block: .75rem 2.5rem; }
@media (min-width: 64em) { .ww-seite { grid-template-columns: 15.5rem minmax(0, 1fr); align-items: start; } }

.ww-leiste { display: none; }
@media (min-width: 64em) {
	.ww-leiste {
		display: block; position: sticky; top: calc(77px + .75rem); max-height: calc(100vh - 77px - 1.5rem); overflow-y: auto;
		background: #fff; border-radius: var(--k-radius); padding: 1.1rem .75rem 1.25rem; scrollbar-width: thin;
	}
}
.ww-leiste__titel { font: 800 italic 1.05rem var(--schrift); text-transform: uppercase; margin: 0 .5rem .6rem; }
.ww-leiste__kats { list-style: none; margin: 0; padding: 0; }
.ww-leiste__kats a { display: flex; align-items: center; gap: .6rem; padding: .4rem .5rem; border-radius: 10px; color: var(--text); text-decoration: none; font-weight: 600; font-size: .98rem; }
.ww-leiste__kats a:hover { background: var(--flaeche); color: var(--text); }
.ww-leiste__icon { width: 28px; height: 28px; flex: none; }
.ww-leiste__name { flex: 1; min-width: 0; }
.ww-leiste__zahl { font-weight: 400; font-size: .85rem; color: var(--text-2); }
.ww-leiste__service { border-top: 1px solid var(--linie); margin-top: 1rem; padding: 1rem .5rem 0; font-size: .875rem; color: var(--text-2); }
.ww-leiste__service p { margin: 0 0 .75rem; }
.ww-leiste__service strong { display: block; color: var(--text); }

.ww-bento { display: grid; gap: .75rem; min-width: 0; }
.ww-k { background: #fff; border-radius: var(--k-radius); padding: 1.25rem; margin: 0; min-width: 0; }
@media (min-width: 48em) { .ww-k { padding: 1.75rem 2rem; } }
.ww-eyebrow { margin: 0 0 .4rem; font-size: .8rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--rot-text); }

/* Einstieg */
.ww-k-start { display: grid; gap: 1rem; }
.ww-start__titel { margin: 0; font-size: clamp(1.75rem, 1.2rem + 2.4vw, 2.75rem); line-height: 1.02; max-width: none; }
.ww-dreh-bereich { display: grid; gap: .75rem 1.5rem; align-items: center; }
@media (min-width: 64em) {
	.ww-dreh-bereich { grid-template-columns: minmax(0, 1fr) minmax(16rem, 20rem); grid-template-rows: auto auto; }
	.ww-dreh { grid-column: 1; grid-row: 1; }
	.ww-dreh__steuerung { grid-column: 1; grid-row: 2; }
	.ww-tipp { grid-column: 2; grid-row: 1 / span 2; align-self: stretch; }
}
.ww-dreh { position: relative; isolation: isolate; height: clamp(240px, min(26vw, 40vh), 360px); width: 100%; user-select: none; }
.ww-dreh noscript img, .ww-dreh > img { height: 100%; width: auto; margin: 0 auto; }
.ww-dreh__teil { position: absolute; left: 50%; bottom: 0; height: 100%; transform-origin: 50% 100%; cursor: pointer; }
.ww-dreh__teil img { height: 100%; width: auto; max-width: none; background: #fff; }
.ww-dreh__steuerung { display: flex; justify-content: center; gap: .5rem; }
.ww-dreh__steuerung[hidden] { display: none; }
.ww-dreh__knopf { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border-radius: 50%; border: 1.5px solid var(--linie); background: #fff; color: var(--text); cursor: pointer; }
.ww-dreh__knopf:hover { border-color: var(--anthrazit); }

.ww-tipp { display: flex; flex-direction: column; background: var(--flaeche); border-radius: 16px; padding: 1.25rem 1.4rem; }
.ww-tipp__marke { font-size: .75rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--rot-text); }
.ww-tipp__name { font-weight: 600; font-size: 1.2rem; line-height: 1.25; color: var(--text); text-decoration: none; margin: .15rem 0 .75rem; }
.ww-tipp__name:hover { text-decoration: underline; color: var(--text); }
.ww-tipp__plus { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: .45rem; font-size: .9375rem; }
.ww-tipp__plus li { display: flex; gap: .55rem; align-items: baseline; }
.ww-tipp__plus li::before { content: ""; flex: none; width: .85rem; height: .45rem; border-left: 2.5px solid var(--preis); border-bottom: 2.5px solid var(--preis); transform: translateY(-.2rem) rotate(-45deg); }
.ww-tipp__preis { margin-top: auto; font-size: 1.9rem; line-height: 1.1; }
.ww-tipp__pflicht { font-size: .75rem; color: var(--text-2); margin: .1rem 0 .9rem; }
.ww-tipp__pflicht a { color: inherit; }
.ww-tipp__kaufen { width: 100%; min-height: 50px; border-radius: 999px; }
.ww-tipp .added_to_cart { display: block; text-align: center; margin-top: .4rem; font-weight: 600; font-size: .9rem; }

/* Fakten (rot) */
.ww-fakten-k { list-style: none; display: grid; gap: .75rem 1.5rem; background: var(--rot-text); color: #ffe1dd; padding-block: 1.25rem; }
@media (min-width: 40em) { .ww-fakten-k { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.ww-fakten-k li { display: flex; align-items: center; justify-content: center; gap: .75rem; font-size: 1rem; }
@media (max-width: 39.99em) { .ww-fakten-k li { justify-content: flex-start; } }
.ww-fakten-k strong { color: #fff; font-size: 1.0625rem; }
.ww-fakten-k svg { width: 36px; height: 36px; flex: none; fill: none; stroke: #fff; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }

/* Abschnittstitel */
.ww-k-titel { display: flex; align-items: end; justify-content: space-between; flex-wrap: wrap; gap: .5rem 1rem; padding: 1rem .25rem 0; }
.ww-k-titel__h { margin: 0; font-size: clamp(1.35rem, 1.1rem + 1vw, 1.85rem); text-transform: uppercase; }
.ww-k-titel__h span { color: var(--rot); }

/* Sortiment-Kacheln mit Icon */
.ww-kacheln { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 48em) { .ww-kacheln { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.ww-kachel { display: flex; flex-direction: column; height: 100%; background: #fff; border-radius: var(--k-radius); color: var(--text); text-decoration: none; transition: background .15s, color .15s; }
.ww-kachel__bild { display: grid; place-items: center; padding: 1.5rem 1rem .5rem; flex: 1; }
.ww-kachel__icon { width: clamp(72px, 9vw, 104px); height: auto; aspect-ratio: 1; }
.ww-kachel__fuss { display: flex; flex-direction: column; gap: .1rem; padding: .5rem 1.1rem 1.1rem; }
.ww-kachel__name { font: 800 italic clamp(1.05rem, .95rem + .5vw, 1.35rem)/1.1 var(--schrift); text-transform: uppercase; }
.ww-kachel__zahl { font-size: .85rem; color: var(--text-2); }
.ww-kachel:hover { background: var(--rot-text); color: #fff; --ak: #fff; }
.ww-kachel:hover .ww-kachel__zahl { color: #ffe1dd; }
.ww-kachel--alle { background: var(--rot-text); color: #fff; --ak: #fff; }
.ww-kachel--alle .ww-kachel__zahl { color: #fff; font-size: 1.4rem; }
.ww-kachel--alle:hover { background: var(--rot-dunkel); }

/* Produkte in der Kachel-Ansicht */
.ww-bento__produkte .woocommerce ul.products, .ww-bento__produkte ul.products { gap: .75rem; margin: 0; grid-template-columns: repeat(auto-fill, minmax(min(100%, 13.5rem), 1fr)); }
.ww-bento__produkte ul.products li.product { border: 0; border-radius: var(--k-radius); padding: 1rem 1.1rem 1.1rem; }
.ww-bento__produkte ul.products li.product:hover { box-shadow: 0 10px 24px rgba(0, 0, 0, .08); }
.ww-bento__produkte .button { border-radius: 999px; }

/* Schnellbestellung (dunkel) */
.ww-k-dunkel { background: var(--anthrazit); color: #e8e8e8; }
.ww-schnell { display: grid; gap: 1rem; align-items: center; }
@media (min-width: 64em) { .ww-schnell { grid-template-columns: minmax(0, 15rem) minmax(0, 1fr); } }
.ww-schnell__titel { margin: 0; color: #fff; font-size: 1.35rem; text-transform: uppercase; }
.ww-schnell__form { display: grid; gap: .5rem .6rem; grid-template-columns: minmax(0, 1fr) 5.5rem; }
@media (min-width: 40em) { .ww-schnell__form { grid-template-columns: minmax(0, 1fr) 6rem auto; } }
.ww-schnell__form label { font-size: .85rem; color: #c4c4c4; }
.ww-schnell__form label[for="ww-schnell-nr"] { grid-column: 1; grid-row: 1; }
.ww-schnell__form label[for="ww-schnell-menge"] { grid-column: 2; grid-row: 1; }
.ww-schnell__form #ww-schnell-nr { grid-column: 1; grid-row: 2; }
.ww-schnell__form #ww-schnell-menge { grid-column: 2; grid-row: 2; }
.ww-schnell__form input { min-height: 46px; padding: .4rem .9rem; font: inherit; border: 0; border-radius: 12px; background: #fff; color: var(--text); width: 100%; }
.ww-schnell__form .ww-btn { grid-column: 1 / -1; min-height: 46px; border-radius: 999px; }
@media (min-width: 40em) { .ww-schnell__form .ww-btn { grid-column: 3; grid-row: 2; } }
.ww-schnell__treffer { grid-column: 1 / -1; margin: 0; font-size: .875rem; min-height: 1.4em; }
.ww-schnell__treffer strong { color: #fff; }

/* Kachel-Abstände auf kleinen Bildschirmen */
@media (max-width: 47.99em) { .ww-seite { padding-inline: .75rem; } }
@media (prefers-reduced-motion: reduce) { .ww-korb__balken span, .ww-kachel { transition: none; } }
.ww-dreh__knopf svg[hidden] { display: none; }

/* Meldung nach „In den Warenkorb“ */
.ww-meldung {
	position: fixed; z-index: 90; left: 50%; bottom: calc(1rem + env(safe-area-inset-bottom, 0px)); transform: translate(-50%, 150%);
	display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; justify-content: center; max-width: min(36rem, calc(100vw - 2rem));
	background: var(--anthrazit); color: #fff; padding: .8rem 1.1rem; border-radius: 14px; box-shadow: 0 12px 32px rgba(0, 0, 0, .3);
	transition: transform .25s; font-weight: 600;
}
.ww-meldung.ist-sichtbar { transform: translate(-50%, 0); }
.ww-meldung a { color: #fff; background: var(--rot-text); padding: .45rem .9rem; border-radius: 999px; text-decoration: none; white-space: nowrap; }
.ww-meldung a:hover { background: var(--rot-dunkel); color: #fff; }
.ww-meldung--fehler { background: var(--rot-dunkel); }
.add_to_cart_button.loading { opacity: .7; pointer-events: none; }
@media (prefers-reduced-motion: reduce) { .ww-meldung { transition: none; } }

/* ---------- Kategorien-Leiste auf allen Seiten (außer Warenkorb/Kasse) ---------- */
body:has(.ww-seite) { background: var(--flaeche-2); }
.ww-spalte { min-width: 0; }
.ww-spalte > .ww-breite { max-width: none; padding-inline: 1.25rem; margin: 0; }
@media (min-width: 48em) { .ww-spalte > .ww-breite { padding-inline: 2rem; } }
.ww-spalte > .ww-abschnitt { background: #fff; border-radius: var(--k-radius); padding-block: 1.75rem 2.25rem; }
.ww-leiste__kats a[aria-current="page"] { background: var(--flaeche); box-shadow: inset 3px 0 0 var(--rot); }
/* Kategorien-Knopf nur, wenn die Leiste nicht sichtbar ist (Handy/Tablet oder Warenkorb/Kasse) */
@media (min-width: 64em) {
	body:has(.ww-leiste) .ww-nav__schalter { display: none; }
	body:has(.ww-leiste) .ww-kopf__leiste { grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "logo suche aktionen"; }
	body:has(.ww-leiste) .ww-nav { display: none; }
}

/* Leiste ohne eigene Scrollleiste; mitlaufend nur, wenn sie ganz ins Fenster passt */
@media (min-width: 64em) {
	.ww-leiste { position: static; max-height: none; overflow: visible; }
}
@media (min-width: 64em) and (min-height: 58em) {
	.ww-leiste { position: sticky; }
}
