:root{--forest:#18221B;--moss:#2E3B2C;--cream:#F5EFE3;--sand:#EADFCB;--gold:#D4A24C;--gold-l:#E0B25E;--gold-t:#8A5B12;--ink:#1D1F1A;--muted:#5B5A4E;--line:#E6DCC8;
  --serif:"Fraunces",Georgia,"Times New Roman",serif;--sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--ink);font:400 17px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
img,video{max-width:100%;display:block}
a{color:var(--gold-t)}a:hover{color:#5E3D0A}
.serif,h1,h2,h3{font-family:var(--serif);font-weight:300;line-height:1.08}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip-link:focus{position:fixed!important;top:8px;left:8px;width:auto;height:auto;clip:auto;z-index:999;background:#fff;padding:10px 16px}
.zg-muted{color:var(--muted)}
.zg-eyebrow{display:block;color:var(--gold-t);font:600 13px var(--sans);letter-spacing:.22em;text-transform:uppercase}
.zg-eyebrow.light{color:var(--gold-l)}

/* Buttons */
.zg-btn,.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.wc-block-components-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 26px!important;border-radius:999px!important;border:0;font:600 15px/1 var(--sans)!important;text-decoration:none;cursor:pointer;background:var(--forest)!important;color:var(--cream)!important;transition:transform .15s,background .2s}
.zg-btn:hover,.woocommerce .button:hover{transform:translateY(-1px);background:var(--moss)!important;color:var(--cream)!important}
.zg-btn.gold,.woocommerce .button.alt,.woocommerce #place_order{background:var(--gold)!important;color:var(--forest)!important}
.zg-btn.gold:hover,.woocommerce .button.alt:hover{background:var(--gold-l)!important}
.zg-btn.ghost{background:transparent!important;color:var(--cream)!important;box-shadow:inset 0 0 0 1.5px rgba(245,239,227,.6)}
.zg-btn.added::after{content:" ✓"}
a.added_to_cart{display:none!important}

/* Header */
.zg-announce{background:var(--gold);color:var(--forest);text-align:center;padding:10px 16px;font:500 13px var(--sans);letter-spacing:.03em}
.zg-header{background:var(--forest);color:var(--cream);position:relative;z-index:20}
.zg-header.over{position:absolute;left:0;right:0;background:linear-gradient(180deg,rgba(14,20,15,.65),rgba(14,20,15,0))}
.zg-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:24px;padding-bottom:24px}
.zg-logo{display:flex;align-items:center;gap:12px;color:var(--gold-l);text-decoration:none}
.zg-logo span,.zg-logo-text{font:400 24px var(--serif);letter-spacing:.18em;color:var(--cream)}
.zg-menu ul{display:flex;gap:32px;list-style:none;margin:0;padding:0}
.zg-menu a{color:var(--cream);text-decoration:none;font:500 15px var(--sans)}.zg-menu a:hover{color:var(--gold-l)}
.zg-cart-btn{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 18px;border-radius:999px;border:1.5px solid rgba(245,239,227,.5);background:rgba(20,28,22,.35);color:var(--cream);font:500 15px var(--sans);cursor:pointer}
.zg-cart-count{min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:var(--gold);color:var(--forest);font:600 13px/24px var(--sans);text-align:center}

/* Warenkorb-Schublade */
.zg-drawer{position:fixed;inset:0;z-index:100;display:flex;justify-content:flex-end}
.zg-drawer[hidden]{display:none}
.zg-drawer-backdrop{position:absolute;inset:0;border:0;background:rgba(20,28,22,.55);cursor:pointer}
.zg-drawer-panel{position:relative;width:100%;max-width:460px;height:100%;background:var(--cream);display:flex;flex-direction:column;box-shadow:-20px 0 60px rgba(0,0,0,.25);animation:zgSlide .35s cubic-bezier(.2,.7,.2,1)}
@keyframes zgSlide{from{transform:translateX(100%)}to{transform:none}}
.zg-drawer-head{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:1px solid #DDD1BA}
.zg-drawer-head h2{margin:0;font-size:28px;font-weight:400}
.zg-drawer-head button{width:44px;height:44px;border-radius:50%;border:0;background:var(--sand);font-size:22px;cursor:pointer}
.zg-drawer-body{flex:1;overflow-y:auto;padding:16px 28px 28px}
.zg-drawer .woocommerce-mini-cart{list-style:none;margin:0;padding:0}
.zg-drawer .woocommerce-mini-cart-item{display:grid;grid-template-columns:72px 1fr;gap:6px 14px;padding:16px 0;border-bottom:1px solid #DDD1BA;position:relative}
.zg-drawer .woocommerce-mini-cart-item img{grid-row:span 2;width:72px;height:72px;object-fit:cover;border-radius:14px}
.zg-drawer .woocommerce-mini-cart-item a.remove{position:absolute;right:0;top:14px;color:var(--muted)!important;text-decoration:none}
.zg-drawer .woocommerce-mini-cart__total{display:flex;justify-content:space-between;font-size:18px;margin:20px 0}
.zg-drawer .woocommerce-mini-cart__buttons{display:flex;flex-direction:column;gap:10px}
.zg-drawer .woocommerce-mini-cart__buttons .button{width:100%}

/* Hero */
.zg-hero{position:relative;min-height:820px;display:flex;align-items:center;overflow:hidden;background:var(--forest);color:var(--cream)}
.zg-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 50%}
@media(max-width:900px){.zg-hero .zg-cover{object-position:80% 50%}.zg-hero-shade{background:linear-gradient(180deg,rgba(14,20,15,.35) 0%,rgba(14,20,15,.55) 45%,rgba(14,20,15,.85) 100%)}}
.zg-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,20,15,.82) 0%,rgba(14,20,15,.55) 45%,rgba(14,20,15,.1) 100%)}
.zg-hero-inner{position:relative;z-index:2;width:100%;padding-top:140px;padding-bottom:96px}
.zg-hero h1{max-width:720px;margin:22px 0;font-size:clamp(48px,7vw,84px);color:var(--cream)}
.zg-hero h1 em{color:var(--gold-l)}
.zg-hero p{max-width:580px;color:#E4DDCC;font-size:20px}
.zg-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.zg-trust{background:var(--forest);color:var(--cream);border-top:1px solid rgba(212,162,76,.25)}
.zg-trust .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding-top:28px;padding-bottom:28px;font-size:15px;line-height:1.4}
.zg-trust .wrap div{padding-left:18px;border-left:2px solid var(--gold)}

/* Sektionen */
.zg-section{padding:120px 0}
.zg-section.sand{background:var(--sand)}
.zg-section.dark{background:var(--forest);color:var(--cream)}
.zg-section.dark h2{color:var(--cream)}
.zg-section h2{font-size:clamp(38px,5vw,56px);margin:14px 0 20px}
.zg-section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:56px}
.zg-section-head p{max-width:440px;color:var(--muted);margin:0}
.zg-lead{max-width:720px;color:#E4DDCC;font-size:18px}
.zg-split{display:flex;flex-wrap:wrap;gap:64px;align-items:center}.zg-split.top{align-items:flex-start}
.zg-split>*{flex:1 1 440px}
.zg-stack p{color:#4A4A40;font-size:18px}
.zg-photo{position:relative;border-radius:28px;overflow:hidden;min-height:420px}
.zg-photo.tall{min-height:620px}.zg-photo.wide{min-height:360px;margin-bottom:32px}
.zg-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.zg-steps{list-style:none;margin:28px 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 32px}
.zg-steps li{display:flex;flex-direction:column;gap:4px}.zg-steps b{font:400 30px var(--serif);color:var(--gold-t)}.zg-steps span{color:#4A4A40;font-size:15px}
.zg-quote{margin:0;padding:28px 30px;border-radius:22px;background:var(--cream)}
.zg-quote blockquote{margin:0;font-size:22px;font-style:italic}.zg-quote figcaption{margin-top:12px;color:var(--muted);font-size:14px}
.zg-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin-top:48px}
.zg-facts div{padding:30px;border-radius:22px;background:#223024;display:flex;flex-direction:column;gap:10px}
.zg-facts b{font:400 50px/1 var(--serif);color:var(--gold-l)}.zg-facts span{color:#E4DDCC;font-size:15px}

/* Produktkarten */
.zg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:28px}
.zg-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:0 18px 40px -24px rgba(24,34,27,.35);transform:translateZ(0);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
/* Schatten als eigene Ebene: nur die Deckkraft wird animiert, das bleibt flüssig */
.zg-card::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 34px 60px -30px rgba(24,34,27,.5);opacity:0;transition:opacity .6s ease;pointer-events:none}
.zg-card:hover{transform:translate3d(0,-6px,0)}
.zg-card:hover::after{opacity:1}
.zg-card-media{position:relative;display:block;height:400px;overflow:hidden;background:var(--moss);border-radius:28px 28px 0 0;isolation:isolate;transform:translateZ(0);-webkit-mask-image:-webkit-radial-gradient(white,black)}
.zg-card-zoom{position:absolute;inset:0;transform:scale(1);transform-origin:50% 50%;transition:transform 1.4s cubic-bezier(.22,.61,.36,1)}
.zg-card-zoom img{width:100%;height:100%;object-fit:cover;display:block}
.zg-card:hover .zg-card-zoom{transform:scale(1.035)}
/* Einmaliges, ruhiges Einblenden beim Scrollen – keine Daueranimation mehr */
.zg-card{opacity:1}
.zg-js .zg-card:not(.is-visible){opacity:0;transform:translate3d(0,24px,0)}
.zg-js .zg-card{transition:opacity .9s ease,transform .9s cubic-bezier(.22,.61,.36,1)}
.zg-js .zg-card.is-visible:hover{transform:translate3d(0,-6px,0)}
.zg-card-body{display:flex;flex-direction:column;gap:12px;padding:26px 26px 28px;flex:1}
.zg-card-body h3{margin:0;font-size:28px;font-weight:400}.zg-card-body h3 a{color:var(--ink);text-decoration:none}
.zg-card-text p{margin:0;color:var(--muted);font-size:15px}
.zg-card-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;padding-top:6px}
.zg-price{font:400 26px var(--serif)}.zg-price del{font-size:16px;color:#6E6A5C}.zg-price ins{text-decoration:none}
.zg-price .woocommerce-price-suffix{display:block;font:400 12px var(--sans);color:#6E6A5C}
.zg-soon{color:var(--muted);font-size:14px}

/* Rezepte + FAQ */
.zg-recipes{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-top:24px}
.zg-recipe{display:flex;flex-direction:column;gap:6px;border-radius:20px;overflow:hidden;background:#fff;color:var(--ink);text-decoration:none;padding-bottom:18px;transition:transform .4s}
.zg-recipe:hover{transform:translateY(-4px)}
.zg-recipe-img{height:130px;overflow:hidden;margin-bottom:10px}.zg-recipe-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.zg-recipe:hover img{transform:scale(1.07)}
.zg-recipe>span:not(.zg-recipe-img),.zg-recipe strong{padding:0 18px}.zg-recipe strong{font-size:22px;font-weight:400}.zg-more{color:var(--gold-t);font-weight:600;font-size:14px}
.zg-faq details{border-bottom:1px solid #CFC3AC}
.zg-faq summary{display:flex;justify-content:space-between;gap:24px;padding:20px 0;cursor:pointer;font:400 20px var(--serif);list-style:none}
.zg-faq summary::-webkit-details-marker{display:none}
.zg-faq summary::after{content:"+";color:var(--gold-t);font:300 28px var(--sans);line-height:1}
.zg-faq details[open] summary::after{content:"−"}
.zg-faq p{margin:0 0 22px;color:#4A4A40;max-width:640px}

/* Inhaltsseiten (Rezepte, Rechtliches) */
.zg-page{padding-top:56px;padding-bottom:110px}
.zg-content{max-width:820px;margin:0 auto}
.zg-content h1{font-size:clamp(40px,6vw,64px);margin:0 0 20px}
.zg-content .wp-block-image img{border-radius:28px;width:100%;height:auto}
.zg-ingredients{list-style:none;padding:0}.zg-ingredients li{padding:12px 0;border-bottom:1px solid var(--line)}
.zg-howto{padding-left:1.4em}.zg-howto li{margin:0 0 14px}
.zg-tip{padding:22px 26px;border-radius:20px;background:var(--sand)}

/* Verkäufer-Hinweise */
.zg-seller{font-size:13px;color:var(--muted);margin:4px 0 14px}
.zg-seller-box{background:var(--sand);border-radius:14px;padding:14px 16px;font-size:14px;line-height:1.5;margin:0 0 16px}

/* Footer */
.zg-footer{background:var(--forest);color:var(--cream);padding:100px 0 48px}
.zg-footer h2{color:var(--cream);font-size:44px;margin:0}
.zg-footer a{color:var(--cream)}
.zg-footer .zg-muted,.zg-footer p{color:#C9C3B3}
.zg-footer-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:40px;padding-bottom:64px;border-bottom:1px solid rgba(245,239,227,.15)}
.zg-footer-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:32px;padding:56px 0}
.zg-footer-cols div{display:flex;flex-direction:column;gap:10px;font-size:15px}
.zg-footer-cols strong{color:var(--gold-l);font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.zg-footer-cols li{list-style:none}
.zg-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}.zg-chips span{padding:6px 12px;border-radius:8px;border:1px solid rgba(245,239,227,.3);font-size:12px}
.zg-legal{font-size:12px;max-width:900px}

/* WooCommerce: Shop, Produkt, Warenkorb, Kasse */
.zg-shop{padding-top:56px;padding-bottom:110px}
.woocommerce div.product .product_title{font-size:clamp(38px,5vw,56px)}
.woocommerce div.product p.price,.woocommerce div.product span.price{font:400 30px var(--serif);color:var(--ink)}
.woocommerce div.product div.images img{border-radius:28px}
.woocommerce .quantity .qty{min-height:48px;border-radius:999px;border:1.5px solid #CFC3AC;width:80px;text-align:center}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.select2-container .select2-selection--single{min-height:48px;border-radius:12px!important;border:1.5px solid #CFC3AC!important;padding:8px 14px;background:#fff}
.woocommerce-checkout #payment,.woocommerce-cart .cart-collaterals .cart_totals{background:#fff!important;border-radius:22px;padding:22px}
.woocommerce table.shop_table{border-radius:18px;overflow:hidden;background:#fff;border-color:var(--line)}
.woocommerce-message,.woocommerce-info{border-top-color:var(--gold)!important;background:#fff}
.woocommerce span.onsale{background:var(--gold);color:var(--forest);border-radius:999px;min-height:auto;line-height:1;padding:10px 14px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font:400 22px var(--serif)}

/* Animierte Größenauswahl auf der Produktseite (ersetzt das Dropdown) */
.zg-sizes{position:relative;display:grid;padding:4px;border-radius:999px;background:#EFE7D7;box-shadow:inset 0 1px 2px rgba(24,34,27,.08);margin:6px 0 14px;max-width:420px}
.zg-sizes .zg-thumb{position:absolute;top:4px;bottom:4px;left:4px;border-radius:999px;background:var(--forest);transition:transform .55s cubic-bezier(.34,1.3,.5,1);box-shadow:0 4px 12px -4px rgba(24,34,27,.5)}
.zg-sizes button{position:relative;z-index:1;min-height:44px;border:0;background:transparent;border-radius:999px;font:500 15px var(--sans);color:#4A4A40;cursor:pointer;transition:color .35s}
.zg-sizes button[aria-pressed=true]{color:var(--cream)}
.variations select.zg-hidden{position:absolute!important;opacity:0;pointer-events:none;width:1px;height:1px}

@media(max-width:900px){.zg-menu,.zg-hide-sm{display:none}.wrap{padding:0 20px}.zg-trust .wrap{grid-template-columns:repeat(2,1fr)}.zg-section{padding:80px 0}.zg-steps{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.zg-card-zoom,.zg-js .zg-card,.zg-sizes .zg-thumb{transition:none!important}.zg-js .zg-card:not(.is-visible){opacity:1;transform:none}.zg-card:hover .zg-card-zoom{transform:none}}
