/*
Theme Name: Zellhaus (Design 05)
Theme URI: https://sunfach-design.local/
Description: Child-Theme von SONNWERK. Design 05 „Zellhaus“: nordisch-minimal, Creme/Graphit/Moos, Set-Baukasten als Kern. Umsetzung der Trend-Grundsätze G1, G4, G5, G7, G8, G9 aus webshop-design-trends-2026.
Author: Rebranding Shop Design
Template: sonnwerk
Version: 0.1.0
Requires at least: 6.5
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: sonnwerk-zellhaus
*/

/* ---------- Tokens ---------- */
:root{
  --zh-cream:#F7F5F0;
  --zh-paper:#FFFFFF;
  --zh-ink:#2B2D2F;
  --zh-ink-soft:#5F6367;        /* 5,6:1 auf Creme */
  --zh-moss:#4F6848;            /* 6,2:1 mit Weiß */
  --zh-moss-deep:#3F543A;
  --zh-moss-text:#4A6344;       /* 6,1:1 auf Creme */
  --zh-moss-tint:#E7EDE3;
  --zh-pebble:#C9C5BD;
  --zh-line:#E3DFD6;
  --zh-error:#A23B2E;           /* 6,0:1 auf Creme */
  --zh-radius:12px;
  --zh-radius-sm:8px;
  --zh-shadow:0 1px 2px rgba(43,45,47,.06),0 8px 24px rgba(43,45,47,.06);
  --zh-font-head:'Inter Tight',Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  --zh-font-body:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  --zh-container:1200px;
  --zh-gutter:16px;
  --zh-ease:cubic-bezier(.2,.8,.2,1);
  --zh-spring:cubic-bezier(.34,1.4,.64,1);
}
@view-transition{navigation:auto}

/* ---------- Basis ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--zh-cream);color:var(--zh-ink);font-family:var(--zh-font-body);font-size:16px;line-height:1.6;font-feature-settings:"cv11","ss01";}
img{max-width:100%;height:auto;display:block}
a{color:var(--zh-ink);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--zh-moss-text)}
h1,h2,h3,h4{font-family:var(--zh-font-head);font-weight:600;letter-spacing:-.02em;line-height:1.1;margin:0 0 .5em;color:var(--zh-ink)}
h1{font-size:clamp(2.1rem,4.5vw,3.4rem)}
h2{font-size:clamp(1.6rem,3vw,2.3rem)}
h3{font-size:1.2rem;letter-spacing:-.01em}
p{margin:0 0 1em}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--zh-ink);outline-offset:3px;border-radius:4px}
::selection{background:var(--zh-moss-tint)}
.container{width:min(var(--zh-container),100% - 2*var(--zh-gutter));margin-inline:auto}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link{position:absolute;left:var(--zh-gutter);top:-100px;background:var(--zh-ink);color:#fff;padding:10px 14px;border-radius:var(--zh-radius-sm);z-index:100}
.skip-link:focus{top:12px}
.zh-eyebrow{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--zh-ink-soft);font-weight:500;margin:0 0 .9rem}
.zh-muted{color:var(--zh-ink-soft)}
[hidden]{display:none!important}

/* ---------- Buttons ---------- */
.zh-btn,.button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce .checkout-button,.woocommerce-checkout #place_order,.sw-mobile-buy .button{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.75rem 1.25rem;border:1px solid var(--zh-moss);border-radius:var(--zh-radius-sm);
  background:var(--zh-moss);color:#fff!important;font-weight:600;font-size:1rem;line-height:1.2;text-decoration:none;cursor:pointer;
  transition:background-color .18s var(--zh-ease),transform .06s ease,box-shadow .18s var(--zh-ease);
}
.zh-btn:hover,.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce-checkout #place_order:hover{background:var(--zh-moss-deep);border-color:var(--zh-moss-deep);color:#fff}
.zh-btn:active,.button:active{transform:scale(.985)}
.zh-btn--ghost,.button.zh-btn--ghost,.woocommerce a.button.zh-btn--ghost{background:transparent;color:var(--zh-ink)!important;border-color:var(--zh-pebble)}
.zh-btn--ghost:hover,.woocommerce a.button.zh-btn--ghost:hover{background:var(--zh-paper);border-color:var(--zh-ink);color:var(--zh-ink)!important}
.zh-btn--block{width:100%}
.zh-btn[disabled],.button[disabled],.woocommerce button.button:disabled,.woocommerce button.button:disabled[disabled]{opacity:.55;cursor:not-allowed;background:var(--zh-moss);color:#fff}
.zh-btn.is-added{background:var(--zh-moss-deep)}
.zh-btn.is-added .zh-btn__label{opacity:0}
.zh-btn.is-added::after{content:"✓";position:absolute;font-size:1.25rem;animation:zh-pop .5s var(--zh-spring)}
.zh-btn{position:relative}
@keyframes zh-pop{0%{transform:scale(.4);opacity:0}100%{transform:scale(1);opacity:1}}
.text-link{background:none;border:0;padding:0;color:var(--zh-ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* ---------- Header ---------- */
.zh-header{position:sticky;top:0;z-index:50;background:var(--zh-cream);border-bottom:1px solid var(--zh-line)}
.zh-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:68px}
.zh-brand{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--zh-ink);font-family:var(--zh-font-head);font-weight:600;font-size:1.25rem;letter-spacing:-.02em}
.zh-brand:hover{color:var(--zh-ink)}
.zh-brand__mark{width:28px;height:28px;display:grid;grid-template-columns:repeat(2,1fr);gap:3px}
.zh-brand__mark span{display:block;border-radius:3px;background:var(--zh-ink)}
.zh-brand__mark span:nth-child(4){background:var(--zh-moss)}
.zh-nav{display:flex;gap:1.6rem}
.zh-nav a{text-decoration:none;font-weight:500;font-size:.95rem;color:var(--zh-ink);padding:.5rem 0;border-bottom:2px solid transparent}
.zh-nav a:hover,.zh-nav a[aria-current=page]{border-bottom-color:var(--zh-moss)}
.zh-header__actions{display:flex;align-items:center;gap:.4rem}
.zh-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid transparent;border-radius:999px;background:transparent;cursor:pointer;color:var(--zh-ink);text-decoration:none;position:relative}
.zh-iconbtn:hover{background:var(--zh-paper);border-color:var(--zh-line)}
.zh-iconbtn svg{width:22px;height:22px}
.zh-cart-count{position:absolute;top:4px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--zh-moss);color:#fff;font-size:.7rem;font-weight:600;display:grid;place-items:center;line-height:1}
.zh-cart-count.is-bumped{animation:zh-bump .45s var(--zh-spring)}
@keyframes zh-bump{0%{transform:scale(1)}40%{transform:scale(1.35)}100%{transform:scale(1)}}
.zh-search{display:flex;gap:.5rem;align-items:center;padding:.75rem 0 1rem}
.zh-search input{flex:1;min-height:48px;border:1px solid var(--zh-pebble);border-radius:var(--zh-radius-sm);padding:0 .9rem;background:var(--zh-paper)}
.zh-mobile-nav{display:flex;flex-direction:column;padding:.5rem 0 1rem;border-top:1px solid var(--zh-line)}
.zh-mobile-nav a{padding:.8rem 0;text-decoration:none;font-weight:500;border-bottom:1px solid var(--zh-line)}
.zh-only-mobile{display:none}
@media (max-width:850px){.zh-nav{display:none}.zh-only-mobile{display:inline-flex}}

/* ---------- Hero ---------- */
.zh-hero{padding:clamp(2.5rem,7vw,5.5rem) 0 clamp(1.5rem,4vw,3rem)}
.zh-hero h1{max-width:14ch}
.zh-hero p.zh-lead{font-size:1.15rem;max-width:52ch;color:var(--zh-ink-soft)}
.zh-hero__actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}
.zh-hero__facts{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--zh-line);font-size:.9rem;color:var(--zh-ink-soft)}
.zh-hero__facts strong{display:block;color:var(--zh-ink);font-family:var(--zh-font-head);font-size:1.1rem;font-weight:600}

/* ---------- Baukasten ---------- */
.zh-builder{padding:clamp(2rem,5vw,4rem) 0}
.zh-builder__head{max-width:60ch;margin-bottom:1.5rem}
.zh-builder__grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:1.5rem;align-items:start}
.zh-step{background:var(--zh-paper);border:1px solid var(--zh-line);border-radius:var(--zh-radius);padding:1.25rem;margin:0 0 1rem;min-width:0}
.zh-step legend{float:left;width:100%;padding:0;margin:0 0 .25rem}
.zh-step legend+*{clear:both}
.zh-step legend h3{margin:0}
.zh-step__title{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap}
.zh-step__num{font-family:var(--zh-font-head);font-size:.8rem;font-weight:600;color:var(--zh-moss-text);letter-spacing:.08em}
.zh-step__hint{color:var(--zh-ink-soft);font-size:.92rem;margin:0 0 1rem}
.zh-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}
.zh-choice{position:relative;display:block;border:1px solid var(--zh-line);border-radius:var(--zh-radius);padding:.9rem;background:var(--zh-cream);cursor:pointer;transition:border-color .18s var(--zh-ease),box-shadow .18s var(--zh-ease),transform .25s var(--zh-spring)}
.zh-choice input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.zh-choice:has(input:checked){border-color:var(--zh-moss);box-shadow:inset 0 0 0 1px var(--zh-moss);background:var(--zh-paper)}
.zh-choice:has(input:focus-visible){outline:2px solid var(--zh-ink);outline-offset:3px}
.zh-choice:hover{border-color:var(--zh-pebble)}
.zh-choice img{aspect-ratio:1;object-fit:contain;width:100%;background:#fff;border-radius:var(--zh-radius-sm);margin-bottom:.6rem;mix-blend-mode:multiply}
.zh-choice strong{display:block;font-family:var(--zh-font-head);font-weight:600;font-size:1rem;letter-spacing:-.01em}
.zh-choice small{display:block;color:var(--zh-ink-soft);font-size:.85rem;margin-top:.15rem}
.zh-choice .zh-choice__price{display:block;margin-top:.4rem;font-weight:600}
.zh-stepper{display:inline-flex;align-items:center;border:1px solid var(--zh-pebble);border-radius:var(--zh-radius-sm);overflow:hidden;background:var(--zh-paper)}
.zh-stepper button{width:48px;height:48px;border:0;background:transparent;font-size:1.4rem;cursor:pointer;color:var(--zh-ink)}
.zh-stepper button:hover{background:var(--zh-cream)}
.zh-stepper input{width:56px;height:48px;border:0;border-inline:1px solid var(--zh-line);text-align:center;font-weight:600;font-size:1.05rem;-moz-appearance:textfield;appearance:textfield}
.zh-stepper input::-webkit-outer-spin-button,.zh-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.zh-battery-row{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.zh-battery-row__info{flex:1;min-width:200px}
.zh-battery-row__info strong{display:block;font-family:var(--zh-font-head);font-weight:600}
.zh-battery-row__info small{color:var(--zh-ink-soft)}
.zh-check{display:flex;gap:.8rem;align-items:flex-start;border:1px solid var(--zh-line);border-radius:var(--zh-radius);padding:.9rem;background:var(--zh-cream);cursor:pointer}
.zh-check:has(input:checked){border-color:var(--zh-moss);box-shadow:inset 0 0 0 1px var(--zh-moss);background:var(--zh-paper)}
.zh-check input{width:24px;height:24px;margin:.1rem 0 0;accent-color:var(--zh-moss);flex:none}
.zh-check strong{display:block;font-family:var(--zh-font-head);font-weight:600}
.zh-check small{color:var(--zh-ink-soft);display:block}
.zh-summary{position:sticky;top:88px;background:var(--zh-ink);color:var(--zh-cream);border-radius:var(--zh-radius);padding:1.4rem;box-shadow:var(--zh-shadow)}
.zh-summary h3{color:#fff;margin-bottom:1rem}
.zh-summary__kpis{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.zh-summary__kpis span{display:block;font-size:.8rem;color:#C9C5BD;letter-spacing:.06em;text-transform:uppercase}
.zh-summary__kpis strong{display:block;font-family:var(--zh-font-head);font-size:1.5rem;font-weight:600;letter-spacing:-.02em;color:#fff;transition:opacity .25s var(--zh-ease)}
.zh-summary__kpis strong.zh-fade{opacity:.35}
.zh-summary ul{list-style:none;margin:0 0 1rem;padding:0;border-top:1px solid rgba(255,255,255,.14)}
.zh-summary li{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:.95rem}
.zh-summary li span:last-child{white-space:nowrap;font-variant-numeric:tabular-nums}
.zh-summary__total{display:flex;justify-content:space-between;align-items:baseline;margin:.5rem 0 1rem}
.zh-summary__total strong{font-family:var(--zh-font-head);font-size:1.75rem;font-weight:600;letter-spacing:-.02em;color:#fff;font-variant-numeric:tabular-nums}
.zh-summary__total small{color:#C9C5BD}
.zh-summary__note{font-size:.85rem;color:#C9C5BD;margin:.75rem 0 0}
.zh-summary .zh-btn{width:100%}
.zh-summary a{color:#fff}
@media (max-width:900px){.zh-builder__grid{grid-template-columns:1fr}.zh-summary{position:static}}


/* ---------- Freitext-Einstieg ---------- */
.zh-advisor{margin:0 0 1rem;background:var(--zh-paper);border:1px solid var(--zh-line);border-radius:var(--zh-radius);padding:1rem 1.25rem}
.zh-advisor label{display:block;font-weight:600;font-family:var(--zh-font-head);margin-bottom:.5rem}
.zh-advisor__row{display:flex;gap:.5rem;flex-wrap:wrap}
.zh-advisor__row input{flex:1 1 260px;min-height:48px;border:1px solid var(--zh-pebble);border-radius:var(--zh-radius-sm);padding:0 .9rem;background:var(--zh-paper)}
.zh-advisor__why{margin:.6rem 0 0;font-size:.9rem;color:var(--zh-moss-text)}
.zh-advisor__why:empty{display:none}
/* ---------- Kennzahlen unter dem Preis ---------- */
.woocommerce div.product .zh-specs{display:grid;grid-template-columns:1fr 1fr;gap:0 1.25rem;margin:.25rem 0 .75rem;padding:0;border-top:1px solid var(--zh-line)}
.woocommerce div.product .zh-specs div{display:flex;justify-content:space-between;gap:.75rem;padding:.45rem 0;border-bottom:1px solid var(--zh-line);font-size:.88rem}
.woocommerce div.product .zh-specs dt{color:var(--zh-ink-soft)}
.woocommerce div.product .zh-specs dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
@media (max-width:600px){.woocommerce div.product .zh-specs{grid-template-columns:1fr}}

/* ---------- Produktkarten ---------- */
.zh-row{padding:clamp(1.5rem,4vw,3rem) 0}
.zh-row__head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.25rem}
.zh-row__head h2{margin:0}
.zh-row__head a{white-space:nowrap}
.zh-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;list-style:none;margin:0;padding:0}
@media (max-width:1000px){.zh-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.zh-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}}
.zh-card{position:relative;background:var(--zh-paper);border:1px solid var(--zh-line);border-radius:var(--zh-radius);padding:1rem;display:flex;flex-direction:column;gap:.35rem;transition:border-color .18s var(--zh-ease),box-shadow .18s var(--zh-ease)}
.zh-card:hover{border-color:var(--zh-pebble);box-shadow:var(--zh-shadow)}
.zh-card:has(a:focus-visible){outline:2px solid var(--zh-ink);outline-offset:3px}
.zh-card__media{aspect-ratio:1;display:grid;place-items:center;overflow:hidden;border-radius:var(--zh-radius-sm);background:#fff;margin-bottom:.5rem}
.zh-card__media img{width:88%;height:88%;object-fit:contain;transition:transform .35s var(--zh-ease)}
.zh-card:hover .zh-card__media img{transform:scale(1.03)}
.zh-card__cat{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--zh-ink-soft);font-weight:500}
.zh-card__title{font-family:var(--zh-font-head);font-weight:600;font-size:1rem;line-height:1.3;margin:0;letter-spacing:-.01em}
.zh-card__title a{text-decoration:none;color:var(--zh-ink)}
.zh-card__title a::after{content:"";position:absolute;inset:0;border-radius:var(--zh-radius)}
.zh-card__spec{font-size:.88rem;color:var(--zh-ink-soft);margin:0}
.zh-card__price{font-weight:600;font-size:1.05rem;margin-top:auto;padding-top:.5rem;font-variant-numeric:tabular-nums}
.zh-card__price .woocommerce-Price-amount{font-weight:600}
.zh-card__price .sw-tax-note,.zh-card__price small{display:block;font-weight:400;font-size:.78rem;color:var(--zh-ink-soft)}
.zh-card__price small a,.woocommerce-price-suffix a,.woocommerce div.product p.price small a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.woocommerce div.product p.stock,.woocommerce .stock{font-size:.9rem;font-weight:500}
.woocommerce div.product p.stock.in-stock,.woocommerce .stock.in-stock{color:var(--zh-moss-text)}
.woocommerce div.product p.stock.out-of-stock,.woocommerce .stock.out-of-stock{color:var(--zh-error)}
.zh-card__delivery{display:flex;align-items:center;gap:.45rem;font-size:.82rem;color:var(--zh-ink-soft);margin:0}
.zh-card__delivery::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--zh-moss)}
.zh-card .button,.zh-card .add_to_cart_button{position:relative;z-index:1;margin-top:.5rem;min-height:44px;padding:.55rem 1rem;font-size:.92rem}
.zh-card .added_to_cart{position:relative;z-index:1;font-size:.88rem;margin-top:.4rem}
.zh-card .sw-catalog-inquiry-label{font-size:.8rem;color:var(--zh-moss-text);margin:0}

/* ---------- Textabschnitte, FAQ ---------- */
.zh-why{padding:clamp(2rem,5vw,4rem) 0;border-top:1px solid var(--zh-line)}
.zh-why__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}
.zh-why__grid h3{margin-top:.75rem}
.zh-why__grid p{color:var(--zh-ink-soft);margin:0}
.zh-why__num{font-family:var(--zh-font-head);font-size:.8rem;letter-spacing:.1em;color:var(--zh-moss-text);font-weight:600}
@media (max-width:800px){.zh-why__grid{grid-template-columns:1fr;gap:1.25rem}}
.zh-faq{padding:clamp(2rem,5vw,4rem) 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:2rem;border-top:1px solid var(--zh-line)}
@media (max-width:800px){.zh-faq{grid-template-columns:1fr}}
.zh-faq details{border-bottom:1px solid var(--zh-line)}
.zh-faq summary{list-style:none;cursor:pointer;padding:1rem 2.5rem 1rem 0;font-family:var(--zh-font-head);font-weight:600;font-size:1.05rem;position:relative}
.zh-faq summary::-webkit-details-marker{display:none}
.zh-faq summary::after{content:"+";position:absolute;right:.25rem;top:50%;transform:translateY(-50%);font-size:1.4rem;font-weight:400;color:var(--zh-ink-soft);transition:transform .25s var(--zh-ease)}
.zh-faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.zh-faq details p{color:var(--zh-ink-soft);padding:0 0 1rem;max-width:62ch}
.zh-trust{padding:clamp(1.5rem,4vw,3rem) 0;border-top:1px solid var(--zh-line)}
.zh-trust__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.zh-trust__grid div{background:var(--zh-paper);border:1px solid var(--zh-line);border-radius:var(--zh-radius);padding:1rem}
.zh-trust__grid strong{display:block;font-family:var(--zh-font-head);font-weight:600;margin-bottom:.2rem}
.zh-trust__grid span{color:var(--zh-ink-soft);font-size:.9rem}
@media (max-width:800px){.zh-trust__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- Footer ---------- */
.zh-footer{background:var(--zh-ink);color:var(--zh-cream);margin-top:clamp(2rem,6vw,5rem);padding:clamp(2rem,5vw,4rem) 0 1.5rem}
.zh-footer a{color:var(--zh-cream);text-decoration:none}
.zh-footer a:hover{color:#fff;text-decoration:underline}
.zh-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem}
.zh-footer__grid h2{color:#fff;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1rem}
.zh-footer__grid div>a{display:block;padding:.3rem 0;color:#D8D4CB}
.zh-footer .zh-brand{color:#fff}
.zh-footer .zh-brand__mark span{background:#fff}
.zh-footer .zh-brand__mark span:nth-child(4){background:var(--zh-moss)}
.zh-footer__claim{color:#C9C5BD;max-width:34ch;margin-top:1rem}
.zh-footer__bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.14);font-size:.85rem;color:#C9C5BD}
.zh-footer__bottom div{display:flex;gap:1.25rem;flex-wrap:wrap}
@media (max-width:800px){.zh-footer__grid{grid-template-columns:1fr 1fr}}
@media (max-width:500px){.zh-footer__grid{grid-template-columns:1fr}}

/* ---------- Seiten / Inhalt ---------- */
.sw-content,.sw-woocommerce{padding:clamp(1.5rem,4vw,3rem) 0}
.sw-content .breadcrumb,.woocommerce .woocommerce-breadcrumb{font-size:.85rem;color:var(--zh-ink-soft);margin:0 0 1.25rem}
.woocommerce .woocommerce-breadcrumb a{color:var(--zh-ink-soft)}
.sw-content .breadcrumb span{margin:0 .35rem}
.prose-body,.sw-page-body{max-width:70ch}
.woocommerce-cart .sw-page-body,.woocommerce-checkout .sw-page-body,.woocommerce-account .sw-page-body,.sw-page-body:has(.woocommerce){max-width:none}
.prose-body h2,.sw-page-body h2{margin-top:2rem;font-size:1.5rem}
.prose-body h3,.sw-page-body h3{margin-top:1.5rem}
.prose-body p,.sw-page-body p,.prose-body li,.sw-page-body li{color:var(--zh-ink)}
.sw-page-body table{width:100%;border-collapse:collapse;font-size:.95rem}
.sw-page-body th,.sw-page-body td{border-bottom:1px solid var(--zh-line);padding:.6rem .5rem;text-align:left;vertical-align:top}
.sw-page-body th{font-weight:600}
.sw-table-scroll{overflow-x:auto}
.sw-not-found .button{margin:1rem 1rem 1rem 0}

/* ---------- WooCommerce Grundlagen ---------- */
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info,.woocommerce .woocommerce-error,.woocommerce-notices-wrapper .woocommerce-message{border:1px solid var(--zh-line);border-top:3px solid var(--zh-moss);background:var(--zh-paper);color:var(--zh-ink);border-radius:var(--zh-radius-sm);padding:1rem 1rem 1rem 1rem;margin-bottom:1.5rem;display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:center;justify-content:space-between}
.woocommerce .woocommerce-error{border-top-color:var(--zh-error)}
.woocommerce .woocommerce-message::before,.woocommerce .woocommerce-info::before,.woocommerce .woocommerce-error::before{display:none}
.woocommerce .woocommerce-message .button{order:2;min-height:40px;padding:.5rem 1rem;font-size:.92rem}
.woocommerce ul.woocommerce-error{list-style:none;padding-left:1rem}
.woocommerce form .form-row{margin-bottom:1rem;padding:0}
.woocommerce form .form-row label{display:block;font-weight:500;font-size:.9rem;margin-bottom:.35rem;color:var(--zh-ink)}
.woocommerce form .form-row label .required{color:var(--zh-error);text-decoration:none}
.woocommerce form .form-row .optional{color:var(--zh-ink-soft);font-weight:400}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce .select2-container--default .select2-selection--single,.woocommerce .quantity .qty,.woocommerce #coupon_code{width:100%;min-height:48px;padding:.65rem .9rem;border:1px solid var(--zh-pebble);border-radius:var(--zh-radius-sm);background:var(--zh-paper);line-height:1.4}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:46px;padding-left:.9rem}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow{height:46px}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus,.woocommerce form .form-row select:focus{border-color:var(--zh-ink);outline:2px solid var(--zh-ink);outline-offset:1px}
.woocommerce form .form-row.woocommerce-invalid input.input-text,.woocommerce form .form-row.woocommerce-invalid select{border-color:var(--zh-error);box-shadow:inset 0 0 0 1px var(--zh-error)}
.woocommerce form .form-row.woocommerce-invalid label{color:var(--zh-error)}
.woocommerce form .form-row.woocommerce-validated input.input-text{border-color:var(--zh-moss)}
.woocommerce .woocommerce-form-login,.woocommerce .woocommerce-form-coupon{border:1px solid var(--zh-line);border-radius:var(--zh-radius);padding:1.25rem;background:var(--zh-paper)}
.woocommerce .quantity{display:inline-flex}
.woocommerce .quantity .qty{width:84px;text-align:center}
.woocommerce table.shop_table{border:0;border-collapse:collapse;border-radius:0;width:100%}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border:0;border-bottom:1px solid var(--zh-line);padding:.9rem .5rem;vertical-align:middle}
.woocommerce table.shop_table th{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--zh-ink-soft);font-weight:500}
.woocommerce table.shop_table td.product-thumbnail img{width:72px;height:72px;object-fit:contain;background:#fff;border:1px solid var(--zh-line);border-radius:var(--zh-radius-sm)}
.woocommerce table.shop_table td.product-name a{text-decoration:none;font-weight:600;font-family:var(--zh-font-head)}
.woocommerce table.shop_table td.product-remove a.remove{color:var(--zh-ink-soft)!important;font-size:1.3rem;width:32px;height:32px;line-height:30px;border:1px solid var(--zh-line);background:var(--zh-paper)}
.woocommerce table.shop_table td.product-remove a.remove:hover{background:var(--zh-error);border-color:var(--zh-error);color:#fff!important}
.woocommerce-Price-amount{font-variant-numeric:tabular-nums}

/* ---------- Fortschritt (Warenkorb → Kasse → Bestätigung) ---------- */
.zh-progress{display:flex;gap:0;list-style:none;margin:0 0 1.75rem;padding:0;counter-reset:zh;font-size:.9rem}
.zh-progress li{flex:1;display:flex;align-items:center;gap:.6rem;padding:.6rem .4rem;border-top:2px solid var(--zh-line);color:var(--zh-ink-soft)}
.zh-progress li::before{counter-increment:zh;content:counter(zh);width:26px;height:26px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--zh-pebble);font-size:.8rem;font-weight:600;flex:none}
.zh-progress li.is-done{border-top-color:var(--zh-moss)}
.zh-progress li.is-done::before{content:"✓";background:var(--zh-moss);color:#fff;border-color:var(--zh-moss)}
.zh-progress li.is-current{border-top-color:var(--zh-ink);color:var(--zh-ink);font-weight:600}
.zh-progress li.is-current::before{background:var(--zh-ink);color:#fff;border-color:var(--zh-ink)}
@media (max-width:600px){.zh-progress li span{display:none}.zh-progress li.is-current span{display:inline}}

/* ---------- Shop-Archiv ---------- */
.woocommerce .zh-archive-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.woocommerce .zh-archive-head h1{margin:0}
.zh-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.25rem;padding:0;list-style:none}
.zh-chips a{display:inline-flex;align-items:center;gap:.4rem;min-height:40px;padding:.4rem .9rem;border:1px solid var(--zh-pebble);border-radius:999px;background:var(--zh-paper);text-decoration:none;font-size:.92rem;font-weight:500}
.zh-chips a:hover{border-color:var(--zh-ink)}
.zh-chips a[aria-current=page]{background:var(--zh-ink);color:#fff;border-color:var(--zh-ink)}
.zh-chips a span{color:inherit;opacity:.65;font-variant-numeric:tabular-nums}
.woocommerce .woocommerce-result-count{color:var(--zh-ink-soft);margin:0;float:none}
.woocommerce .woocommerce-ordering{float:none;margin:0}
.woocommerce .woocommerce-ordering select{min-height:44px;padding:.4rem 2rem .4rem .9rem;border:1px solid var(--zh-pebble);border-radius:var(--zh-radius-sm);background:var(--zh-paper)}
.zh-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0 0 2rem;padding:0}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product,.woocommerce ul.products[class*=columns-] li.product,.woocommerce-page ul.products[class*=columns-] li.product{width:auto;margin:0;float:none;list-style:none;clear:none}
@media (max-width:1000px){.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}}
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;gap:.4rem}
.woocommerce nav.woocommerce-pagination ul li{border:0}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{min-width:44px;min-height:44px;display:grid;place-items:center;border:1px solid var(--zh-pebble);border-radius:var(--zh-radius-sm);background:var(--zh-paper)}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--zh-ink);color:#fff;border-color:var(--zh-ink)}

/* ---------- Produktseite ---------- */
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);grid-template-rows:repeat(12,auto);gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.woocommerce div.product>*{grid-column:1;min-width:0}
.woocommerce div.product div.images,.woocommerce div.product .zh-viewer{float:none;width:auto;margin:0}
.woocommerce div.product div.summary{grid-column:2;grid-row:1 / -1;align-self:start;float:none;width:auto;margin:0;position:sticky;top:88px}
.woocommerce div.product .woocommerce-tabs,.woocommerce div.product .sw-product-help,.woocommerce div.product .zh-pairs{margin-top:0}
.woocommerce div.product .woocommerce-product-gallery{background:var(--zh-paper);border:1px solid var(--zh-line);border-radius:var(--zh-radius);padding:1.5rem;overflow:hidden}
.woocommerce div.product .woocommerce-product-gallery img{object-fit:contain;mix-blend-mode:multiply}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs{display:flex;gap:.5rem;margin-top:.75rem;padding:0}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li{width:72px;list-style:none;float:none}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img{border:1px solid var(--zh-line);border-radius:var(--zh-radius-sm);padding:4px;opacity:.7}
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img.flex-active,.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs img:hover{opacity:1;border-color:var(--zh-ink)}
.woocommerce div.product .woocommerce-product-gallery__trigger{background:var(--zh-paper);border:1px solid var(--zh-line);border-radius:999px;width:44px;height:44px}
.woocommerce div.product .product_title{font-size:clamp(1.5rem,2.6vw,2.1rem);margin-bottom:.5rem}
.woocommerce div.product .zh-pdp-cat{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--zh-ink-soft);font-weight:500;margin:0 0 .5rem}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--zh-ink);font-size:1.6rem;font-family:var(--zh-font-head);font-weight:600;letter-spacing:-.02em;margin:.5rem 0 .25rem;display:block}
.woocommerce div.product p.price .sw-tax-note,.woocommerce div.product p.price small,.woocommerce div.product .woocommerce-price-suffix{display:block;font-family:var(--zh-font-body);font-weight:400;font-size:.85rem;color:var(--zh-ink-soft);letter-spacing:0}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--zh-ink-soft);max-width:48ch}
.woocommerce div.product .woocommerce-product-details__short-description p{margin-bottom:.6rem}
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin:1.25rem 0;padding:0;border:0}
.woocommerce div.product form.cart .quantity{flex:none}
.woocommerce div.product form.cart .single_add_to_cart_button{flex:1;min-width:200px;margin:0}
#main .woocommerce div.product form.cart .single_add_to_cart_button:not(.swbn-button),#main div.product form.cart .single_add_to_cart_button:not(.swbn-button){background:var(--zh-moss)!important;border-color:var(--zh-moss)!important;color:#fff!important}
#main div.product form.cart .single_add_to_cart_button:not(.swbn-button):hover{background:var(--zh-moss-deep)!important;border-color:var(--zh-moss-deep)!important}
#main div.product form.cart .swbn-button,#main div.product form.cart .single_add_to_cart_button.swbn-button{flex:1 1 100%;background:var(--zh-paper)!important;color:var(--zh-ink)!important;border:1px solid var(--zh-pebble)!important;box-shadow:none!important}
#main div.product form.cart .swbn-button:hover{border-color:var(--zh-ink)!important;background:var(--zh-cream)!important}
.woocommerce div.product form.cart .single_add_to_cart_button.is-busy{opacity:.75}
.woocommerce div.product .sw-delivery-note,.woocommerce div.product .sw-shipping-preview{font-size:.92rem;color:var(--zh-ink-soft);margin:.4rem 0;padding-left:1.1rem;position:relative}
.woocommerce div.product .sw-delivery-note::before,.woocommerce div.product .sw-shipping-preview::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:50%;background:var(--zh-moss)}
.woocommerce div.product .sw-source-link,.woocommerce div.product .sw-shipping-preview a{font-size:.9rem}
.woocommerce div.product .product_meta{font-size:.85rem;color:var(--zh-ink-soft);border-top:1px solid var(--zh-line);padding-top:1rem;margin-top:1rem}
.woocommerce div.product .product_meta>span{display:block}
.woocommerce div.product .sw-demo-note{font-size:.9rem;color:var(--zh-moss-text)}
.woocommerce div.product .woocommerce-tabs{margin-top:1rem}
.woocommerce div.product .woocommerce-tabs ul.tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem;padding:0;overflow:visible}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{border:1px solid var(--zh-pebble);border-radius:999px;background:var(--zh-paper);margin:0;padding:0;box-shadow:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:.6rem 1rem;font-weight:500;color:var(--zh-ink);display:inline-block;min-height:44px}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--zh-ink);border-color:var(--zh-ink)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:#fff}
.woocommerce div.product .woocommerce-tabs .panel{background:var(--zh-paper);border:1px solid var(--zh-line);border-radius:var(--zh-radius);padding:1.5rem;max-width:none}
.woocommerce div.product .woocommerce-tabs .panel h2:first-child{font-size:1.25rem}
.woocommerce div.product .woocommerce-tabs .panel p,.woocommerce div.product .woocommerce-tabs .panel li{color:var(--zh-ink)}
.woocommerce table.woocommerce-product-attributes th,.woocommerce table.woocommerce-product-attributes td{border:0;border-bottom:1px solid var(--zh-line);padding:.6rem .5rem;background:transparent;font-style:normal}
.woocommerce table.woocommerce-product-attributes th{width:40%;font-weight:500;color:var(--zh-ink-soft)}
.woocommerce .sw-product-help{background:var(--zh-moss-tint);border-radius:var(--zh-radius);padding:1.5rem;margin-top:1rem}
.woocommerce .sw-product-help h2{font-size:1.25rem}
.woocommerce .sw-product-help p{color:var(--zh-ink);margin-bottom:.5rem}
.zh-pairs{margin-top:1rem}
.zh-pairs h2{font-size:1.4rem;margin-bottom:1rem}
.zh-pairs .zh-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
@media (max-width:700px){.zh-pairs .zh-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.zh-viewer{position:relative;margin-top:1rem;background:var(--zh-paper);border:1px solid var(--zh-line);border-radius:var(--zh-radius);overflow:hidden;aspect-ratio:4/3}
.zh-viewer img{width:100%;height:100%;object-fit:contain}
.zh-viewer button{position:absolute;inset:auto 1rem 1rem auto}
.zh-viewer model-viewer{width:100%;height:100%;background:#fff}
.zh-ai-note{font-size:.8rem;color:var(--zh-ink-soft)}
@media (max-width:1000px){.woocommerce div.product{grid-template-columns:1fr;grid-template-rows:none}.woocommerce div.product div.summary{grid-column:1;grid-row:auto;position:static}}
.sw-mobile-buy{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem var(--zh-gutter) calc(.75rem + env(safe-area-inset-bottom));background:var(--zh-paper);border-top:1px solid var(--zh-line);box-shadow:0 -8px 24px rgba(43,45,47,.08)}
.sw-mobile-buy strong{font-family:var(--zh-font-head);font-size:1.15rem;display:block}
.sw-mobile-buy small{color:var(--zh-ink-soft);font-size:.78rem}
.sw-mobile-buy .button{min-height:44px;padding:.5rem 1rem;font-size:.92rem}
@media (min-width:1001px){.sw-mobile-buy{display:none!important}}
.woocommerce .related,.woocommerce .upsells{margin-top:2rem}

/* Sofortkauf-Button (Plugin sonnwerk-buy-now) als Sekundäraktion */
.woocommerce div.product .swbn-button,.woocommerce div.product a.swbn-buy-now,.woocommerce div.product button.swbn-buy-now,.woocommerce div.product .swbn-wrap .button{background:var(--zh-paper)!important;color:var(--zh-ink)!important;border:1px solid var(--zh-pebble)!important;border-radius:var(--zh-radius-sm)!important;min-height:48px;font-weight:600;width:100%;justify-content:center;display:inline-flex;align-items:center;gap:.5rem;text-decoration:none}
.woocommerce div.product .swbn-note{display:block;font-size:.82rem;color:var(--zh-ink-soft);margin-top:.4rem}

/* ---------- Warenkorb ---------- */
.woocommerce-cart .sw-woocommerce h1,.woocommerce-checkout .sw-woocommerce h1{margin-bottom:1.25rem}
.woocommerce-cart .woocommerce{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:2rem;align-items:start}
.woocommerce-cart .woocommerce>*{grid-column:1 / -1}
.woocommerce-cart .woocommerce form.woocommerce-cart-form{grid-column:1}
.woocommerce-cart .woocommerce .cart-collaterals{grid-column:2;width:auto;position:sticky;top:88px}
.woocommerce-cart .woocommerce .cart-collaterals .cart_totals{width:auto;float:none;background:var(--zh-paper);border:1px solid var(--zh-line);border-radius:var(--zh-radius);padding:1.5rem}
.woocommerce .cart_totals h2{font-size:1.25rem;margin-bottom:.75rem}
.woocommerce .cart_totals table.shop_table{margin-bottom:1rem}
.woocommerce .cart_totals table.shop_table th{text-transform:none;letter-spacing:0;font-size:.95rem;color:var(--zh-ink);font-weight:500;width:50%}
.woocommerce .cart_totals .order-total td,.woocommerce .cart_totals .order-total th{font-family:var(--zh-font-head);font-size:1.2rem;font-weight:600;border-bottom:0}
.woocommerce .cart_totals .woocommerce-shipping-destination,.woocommerce .cart_totals .woocommerce-shipping-calculator,.woocommerce .cart_totals small{font-size:.85rem;color:var(--zh-ink-soft)}
.woocommerce .wc-proceed-to-checkout{padding:0}
.woocommerce .wc-proceed-to-checkout a.checkout-button{width:100%;font-size:1rem;margin:0}
.woocommerce .cart .coupon{display:flex;gap:.5rem;align-items:center}
.woocommerce .cart .coupon #coupon_code{width:160px;min-height:44px}
.woocommerce .cart td.actions{padding-top:1rem}
.woocommerce .cart td.actions .button{min-height:44px;padding:.5rem 1rem;font-size:.9rem;background:transparent;color:var(--zh-ink)!important;border-color:var(--zh-pebble)}
.woocommerce .cart td.actions .button:hover{border-color:var(--zh-ink)}
.woocommerce .cart td.actions .button[name=update_cart]{float:right}
.woocommerce .cart-empty{font-size:1.25rem}
.woocommerce .return-to-shop a.button{background:var(--zh-moss)}
.zh-cart-trust{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;font-size:.88rem;color:var(--zh-ink-soft);margin:0 0 1.5rem;padding:0;list-style:none}
.zh-cart-trust li{display:flex;gap:.45rem;align-items:center}
.zh-cart-trust li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--zh-moss)}
@media (max-width:900px){.woocommerce-cart .woocommerce{grid-template-columns:1fr}.woocommerce-cart .woocommerce form.woocommerce-cart-form,.woocommerce-cart .woocommerce .cart-collaterals{grid-column:1}.woocommerce-cart .woocommerce .cart-collaterals{position:static}}
@media (max-width:760px){
  .woocommerce table.shop_table_responsive thead{display:none}
  .woocommerce table.shop_table_responsive tr{display:block;padding:.9rem 0;border-bottom:1px solid var(--zh-line)}
  .woocommerce table.shop_table_responsive tr td{display:flex;justify-content:space-between;align-items:center;gap:1rem;border:0;padding:.3rem 0;text-align:right;float:none;width:auto}
  .woocommerce table.shop_table_responsive tr td::before{content:attr(data-title);float:none;font-weight:500;color:var(--zh-ink-soft);font-size:.8rem;text-align:left;flex:none}
  .woocommerce table.shop_table_responsive tr td.product-name{display:block;text-align:left;padding-bottom:.5rem}
  .woocommerce table.shop_table_responsive tr td.product-name::before,.woocommerce table.shop_table_responsive tr td.product-remove::before,.woocommerce table.shop_table_responsive tr td.actions::before{display:none}
  .woocommerce table.shop_table_responsive tr td.product-remove{justify-content:flex-end;padding:0}
  .woocommerce table.shop_table_responsive tr td.product-thumbnail{display:none}
  .woocommerce table.shop_table_responsive tr td.actions{display:block;text-align:left}
  .woocommerce table.shop_table_responsive tr td.actions .button[name=update_cart]{float:none;width:100%;margin-top:.75rem}
  .woocommerce table.shop_table_responsive tr.cart_item{border-bottom:1px solid var(--zh-line)}
  .woocommerce table.shop_table_responsive tr:last-child{border-bottom:0}
}

/* ---------- Kasse ---------- */
.woocommerce-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);grid-template-rows:auto auto auto 1fr;gap:0 2rem;align-items:start}
.woocommerce-checkout form.checkout>*{grid-column:1 / -1;min-width:0}
.woocommerce-checkout form.checkout #customer_details{grid-column:1;grid-row:2 / 5;width:auto}
.woocommerce-checkout form.checkout #customer_details .col-1,.woocommerce-checkout form.checkout #customer_details .col-2{float:none;width:100%}
.woocommerce-checkout form.checkout #order_review_heading{grid-column:2;grid-row:2;font-size:1.2rem;margin:0 0 .75rem}
.woocommerce-checkout form.checkout #order_review{grid-column:2;grid-row:3;align-self:start;background:var(--zh-paper);border:1px solid var(--zh-line);border-radius:var(--zh-radius);padding:1.5rem;position:sticky;top:88px}
.woocommerce-checkout h3{font-size:1.25rem;margin:0 0 1rem}
.woocommerce-checkout .woocommerce-billing-fields,.woocommerce-checkout .woocommerce-shipping-fields,.woocommerce-checkout .woocommerce-additional-fields,.woocommerce-checkout .sw-pv-declaration{background:var(--zh-paper);border:1px solid var(--zh-line);border-radius:var(--zh-radius);padding:1.5rem;margin-bottom:1.25rem}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
.woocommerce-checkout .form-row-wide,.woocommerce-checkout .form-row.notes,.woocommerce-checkout #billing_address_1_field,.woocommerce-checkout #billing_address_2_field,.woocommerce-checkout #billing_email_field,.woocommerce-checkout #billing_phone_field,.woocommerce-checkout #billing_country_field,.woocommerce-checkout #billing_company_field{grid-column:1 / -1}
.woocommerce-checkout .form-row-first,.woocommerce-checkout .form-row-last{width:100%;float:none}
.woocommerce-checkout .woocommerce-checkout-review-order-table th,.woocommerce-checkout .woocommerce-checkout-review-order-table td{padding:.7rem .25rem;font-size:.95rem}
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name{font-weight:500}
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td{font-family:var(--zh-font-head);font-size:1.2rem;font-weight:600;border-bottom:0}
.woocommerce-checkout #payment{background:transparent;border-radius:0}
.woocommerce-checkout #payment ul.payment_methods{border:0;padding:0;margin:0 0 1rem}
.woocommerce-checkout #payment ul.payment_methods li{border:1px solid var(--zh-line);border-radius:var(--zh-radius-sm);margin-bottom:.5rem;padding:.6rem .9rem;background:var(--zh-cream)}
.woocommerce-checkout #payment ul.payment_methods li label{font-weight:500;display:inline;min-height:44px}
.woocommerce-checkout #payment ul.payment_methods li input[type=radio]{accent-color:var(--zh-moss);width:20px;height:20px;vertical-align:-4px}
.woocommerce-checkout #payment div.payment_box{background:var(--zh-paper);border:1px solid var(--zh-line);border-radius:var(--zh-radius-sm);color:var(--zh-ink);font-size:.9rem}
.woocommerce-checkout #payment div.payment_box::before{display:none}
.woocommerce-checkout #payment div.form-row.place-order{padding:0}
.woocommerce-checkout #payment #place_order{width:100%;font-size:1.05rem}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,.woocommerce-checkout .woocommerce-privacy-policy-text,.sw-checkout-help,.sw-checkout-withdrawal{font-size:.88rem;color:var(--zh-ink-soft)}
.sw-checkout-help{margin-bottom:1rem}
.woocommerce-checkout .form-row.terms{margin:1rem 0}
.woocommerce-checkout .form-row.terms label{display:flex;gap:.6rem;align-items:flex-start}
.woocommerce-checkout .form-row.terms input{width:22px;height:22px;flex:none;accent-color:var(--zh-moss);margin-top:.15rem}
.woocommerce-checkout .woocommerce-shipping-totals .woocommerce-shipping-methods{list-style:none;margin:0;padding:0}
.woocommerce .woocommerce-shipping-methods li label{display:inline}
@media (max-width:900px){.woocommerce-checkout form.checkout{grid-template-columns:1fr;grid-template-rows:none}.woocommerce-checkout form.checkout #customer_details,.woocommerce-checkout form.checkout #order_review_heading,.woocommerce-checkout form.checkout #order_review{grid-column:1;grid-row:auto}.woocommerce-checkout form.checkout #order_review{position:static}.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{grid-template-columns:1fr}}
.woocommerce-order .woocommerce-thankyou-order-received{font-family:var(--zh-font-head);font-size:1.5rem;font-weight:600}
.woocommerce ul.order_details{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;list-style:none;margin:1.5rem 0;padding:0}
.woocommerce ul.order_details li{border:1px solid var(--zh-line);border-radius:var(--zh-radius-sm);padding:.9rem;margin:0;float:none;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--zh-ink-soft);background:var(--zh-paper)}
.woocommerce ul.order_details li strong{display:block;font-size:1rem;text-transform:none;letter-spacing:0;color:var(--zh-ink);margin-top:.25rem}
.woocommerce .woocommerce-MyAccount-navigation ul{list-style:none;padding:0}
.woocommerce .woocommerce-MyAccount-navigation li a{display:block;padding:.6rem 0;text-decoration:none;border-bottom:1px solid var(--zh-line)}


/* Bestellübersicht darf auf schmalen Viewports nicht überlaufen */
.woocommerce-checkout .woocommerce-checkout-review-order-table{table-layout:fixed;width:100%}
.woocommerce-checkout .woocommerce-checkout-review-order-table th.product-name,.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name{width:55%}
.woocommerce-checkout .woocommerce-checkout-review-order-table th,.woocommerce-checkout .woocommerce-checkout-review-order-table td{white-space:normal;overflow-wrap:break-word}
.woocommerce-checkout .woocommerce-checkout-review-order-table dl.variation{display:block}
.woocommerce-checkout .woocommerce-checkout-review-order-table dl.variation dt,.woocommerce-checkout .woocommerce-checkout-review-order-table dl.variation dd{display:block;margin:0;font-size:.82rem}
.woocommerce-checkout #order_review,.woocommerce-cart .cart_totals{min-width:0}
/* ---------- Reduzierte Bewegung ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  @view-transition{navigation:none}
}

/* Express-Zahlung oben in der Kasse (nur sichtbar, wenn ein Plugin einen Button rendert) */
.woocommerce-checkout form.checkout .zh-express{grid-column:1 / -1;grid-row:1;margin:0 0 1.5rem;padding:1.25rem 1.5rem;background:var(--zh-paper);border:1px solid var(--zh-line);border-radius:var(--zh-radius)}
.zh-express[hidden]{display:none}
.zh-express__title{font-size:1.2rem;margin:0 0 .25rem}
.zh-express__hint{margin:0 0 1rem;font-size:.9rem;color:var(--zh-ink-soft)}
.zh-express__slot{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;align-items:center}
.zh-express__slot>*{min-width:0;margin:0}
.zh-express__slot #wcpay-express-checkout-button-separator,.zh-express__slot #awx-express-checkout-button-separator,.zh-express__slot .awx-express-checkout-error:empty{display:none!important}
.zh-express__slot iframe,.zh-express__slot .awx-express-checkout-button,.zh-express__slot #wcpay-express-checkout-element>*,.zh-express__slot .zh-express__demo{min-height:48px;width:100%}
.zh-express__demo{display:flex;align-items:center;justify-content:center;border-radius:var(--zh-radius-sm);background:var(--zh-ink);color:#fff;font-weight:600;font-size:1rem}
.zh-express__or{display:flex;align-items:center;gap:1rem;margin:1.25rem 0 0;font-size:.88rem;color:var(--zh-ink-soft)}
.zh-express__or::before,.zh-express__or::after{content:"";flex:1;border-top:1px solid var(--zh-line)}
@media (max-width:900px){.woocommerce-checkout form.checkout .zh-express{grid-row:auto;padding:1rem}.zh-express__slot{grid-template-columns:1fr}}

/* Mobil: Sortier-Select bleibt innerhalb von 375 px */
.woocommerce .woocommerce-ordering{max-width:100%;min-width:0}
.woocommerce .woocommerce-ordering select{max-width:100%;width:100%}

/* 404 */
.zh-not-found{max-width:60ch;padding-top:2rem;padding-bottom:3rem}
.zh-not-found__actions{display:flex;gap:.75rem;flex-wrap:wrap;margin:1.5rem 0}
.zh-not-found__search label{display:block;font-weight:500;margin-bottom:.5rem}
.zh-not-found__search div{display:flex;gap:.5rem;flex-wrap:wrap}
.zh-not-found__search input[type=search]{flex:1 1 220px;min-height:44px;padding:.5rem .9rem;border:1px solid currentColor;border-radius:inherit}
