@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url(pictures/cormorant-400.woff) format('woff')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url(pictures/cormorant-500.woff) format('woff')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url(pictures/cormorant-400i.woff) format('woff')}
@font-face{font-family:'Jost';font-style:normal;font-weight:300;font-display:swap;src:url(pictures/jost-300.woff) format('woff')}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url(pictures/jost-400.woff) format('woff')}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;src:url(pictures/jost-500.woff) format('woff')}
:root{--ivory:#F6F2EC;--sand:#EDE6DC;--line:#E3DBD0;--ink:#2B2724;--muted:#6B6058;--brown:#7A5A3C;--accent:#9C5B2E;--taupe:#D9C9B4;--ok:#3F6B3A;--err:#A3271B;color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:'Jost',system-ui,sans-serif;font-size:16px}
a{color:var(--ink)}a:hover{color:var(--brown)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
img{max-width:100%;display:block}
.serif{font-family:'Cormorant Garamond',Georgia,serif}
.eyebrow{font-size:13px;letter-spacing:4px;color:var(--brown);text-transform:uppercase}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;margin:0;text-wrap:balance}
p{margin:0;line-height:1.75;font-weight:300}
.wrap{padding-inline:clamp(16px,6vw,96px)}
.btn{display:inline-block;text-decoration:none;text-align:center;border:0;cursor:pointer;font-family:inherit;background:var(--ink);color:var(--ivory);padding:17px 28px;font-size:13px;letter-spacing:2px}
.btn:hover{color:var(--ivory);background:#3d3733}
.btn:disabled{opacity:.5;cursor:default}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--ivory)}
.btn.small{padding:0 18px}
.btn.full{width:100%}
.tlink{font-size:13px;letter-spacing:1px;text-underline-offset:5px;background:none;border:0;cursor:pointer;font-family:inherit;color:var(--muted);text-decoration:underline}
header.site{position:sticky;top:0;z-index:5;background:var(--ivory);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:18px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand img{width:46px;height:46px}
.brand span{font-weight:300;letter-spacing:6px;font-size:16px}
nav{display:flex;align-items:center;gap:30px;font-size:15px;letter-spacing:1px}
nav a{text-decoration:none;white-space:nowrap}
.hero{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);min-height:380px;border-bottom:1px solid var(--line)}
.hero-text{display:flex;flex-direction:column;justify-content:center;gap:18px;padding-block:56px;padding-inline:clamp(16px,6vw,96px) 48px}
.hero h1{font-size:clamp(44px,5vw,72px);line-height:1.02}
.hero h1 em{color:var(--accent)}
.tagline{font-size:26px;font-style:italic;color:var(--brown);line-height:1.2}
.hero-text>p{max-width:520px}
.pressquote{max-width:520px;margin:4px 0 0;padding:4px 0 4px 20px;border-left:2px solid var(--accent)}
.pressquote q{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:clamp(20px,2vw,24px);line-height:1.3;quotes:"„" "“"}
.pressquote cite{display:block;margin-top:8px;font-style:normal;font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--brown)}
.hero-img img{width:100%;height:100%;max-height:440px;object-fit:cover}
.shop{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:clamp(32px,4vw,64px);align-items:start;padding-block:clamp(40px,5vw,72px)}
.main{display:grid;gap:clamp(48px,5vw,72px)}
.step-head{display:flex;align-items:baseline;gap:16px;margin-bottom:22px}
.step-head b{font-family:'Cormorant Garamond',Georgia,serif;font-size:40px;font-weight:500;color:var(--accent);font-variant-numeric:lining-nums}
.step-head h2{font-size:clamp(30px,3vw,40px);line-height:1.1}
/* Kategorien zum Aufklappen */
.cat{border-top:1px solid var(--ink)}
.cat:last-of-type{border-bottom:1px solid var(--ink)}
.cat summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:20px 0}
.cat summary::-webkit-details-marker{display:none}
.cat-title{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;flex:1}
.cat-title .serif{font-size:30px;line-height:1.1}
.cat-title small{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--brown)}
.cat-count{font-size:12px;letter-spacing:1px;background:var(--accent);color:#fff;padding:4px 10px;display:none}
.cat-count.on{display:block}
.chev{width:11px;height:11px;border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);transform:rotate(45deg);transition:transform .2s;margin:0 6px 4px}
.cat[open] .chev{transform:rotate(-135deg);margin:4px 6px 0}
.cat summary:hover .serif{color:var(--brown)}
.cat-lead{color:var(--muted);margin:-8px 0 6px;font-size:15px}
.items{padding-bottom:14px}
.item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px 20px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}
.item.has{background:linear-gradient(90deg,var(--sand),transparent);margin-inline:-12px;padding-inline:12px}
.it-text{display:grid;gap:3px}
.it-name{font-size:17px}
.it-info{font-weight:300;font-size:14px;color:var(--muted);line-height:1.5}
.it-price{font-family:'Cormorant Garamond',Georgia,serif;font-size:22px;white-space:nowrap}
.stepper{display:flex;align-items:center;border:1px solid var(--ink)}
.stepper .st{width:40px;height:40px;border:0;background:transparent;font-size:20px;font-family:inherit;color:var(--ink);cursor:pointer;line-height:1}
.stepper .st:hover{background:var(--ink);color:var(--ivory)}
.stepper .st:disabled{color:#bfb3a5;cursor:default;background:transparent}
.stepper .qty{width:36px;height:40px;border:0;background:transparent;text-align:center;font:inherit;font-weight:500;color:var(--ink);-moz-appearance:textfield;padding:0}
.qty::-webkit-outer-spin-button,.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
/* Lieferoptionen */
.opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:22px}
.opt{position:relative;cursor:pointer;display:block}
.opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.opt-in{display:grid;gap:4px;border:1px solid var(--line);background:#FBF9F5;padding:18px;height:100%}
.opt-in strong{font-family:'Cormorant Garamond',Georgia,serif;font-size:24px;font-weight:500}
.opt-in small{font-size:14px;font-weight:300;color:var(--muted)}
.opt-in em{font-style:normal;font-size:13px;color:var(--brown);margin-top:6px}
.opt input:checked+.opt-in{border-color:var(--ink);background:var(--sand);box-shadow:inset 0 0 0 1px var(--ink)}
.opt input:focus-visible+.opt-in{outline:2px solid var(--accent);outline-offset:3px}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.f{display:grid;gap:7px}
.f.wide,.check.wide{grid-column:1/-1}
.plzort{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px}
.strnr{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:12px}
.f>span,.discount-box label{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--brown)}
.f i,.discount-box i{font-style:normal;letter-spacing:0;text-transform:none;color:var(--muted)}
input[type=text],input[type=tel],input[type=email],input[type=date],select,textarea{width:100%;min-width:0;font:inherit;font-weight:300;color:var(--ink);background:#FBF9F5;border:1px solid #CFC4B6;border-radius:0;padding:13px 14px;min-height:50px}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--ink)}
.bad{border-color:var(--err)!important}
.hint{margin-top:14px;font-size:14px;color:var(--muted)}
/* Warenkorb */
.cart{position:sticky;top:104px;background:var(--sand);padding:28px;display:grid;gap:20px}
.cart h2{font-size:32px}
.cart-lines{display:grid;gap:10px;border-top:1px solid var(--ink);padding-top:16px;max-height:34vh;overflow:auto}
.cart-lines .empty{color:var(--muted);font-size:15px}
.line{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;font-weight:300;font-size:15px;line-height:1.45}
.line b{font-weight:500}
.discount-box{display:grid;gap:8px}
.discount-row{display:flex;gap:8px}
.discount-row input{text-transform:uppercase;background:var(--ivory)}
.discount-msg{font-size:14px;line-height:1.4}
.discount-msg:empty{display:none}
.discount-msg.ok{color:var(--ok)}
.discount-msg.err{color:var(--err)}
.sums{display:grid;gap:8px;border-top:1px solid var(--taupe);padding-top:16px}
.sum-row{display:flex;justify-content:space-between;gap:16px;font-weight:300}
.sum-row.disc{color:var(--ok)}
.sum-row.total{border-top:1px solid var(--ink);padding-top:14px;margin-top:6px;align-items:baseline;font-weight:400}
.sum-row.total small{font-size:12px;color:var(--muted);font-weight:300}
.sum-row.total span:last-child{font-family:'Cormorant Garamond',Georgia,serif;font-size:34px}
.reset{justify-self:center;margin-top:-6px}
.status{display:none;font-size:15px;line-height:1.5;padding:12px 14px;border:1px solid}
.status.ok{display:block;color:var(--ok);border-color:var(--ok)}
.status.err{display:block;color:var(--err);border-color:var(--err);background:#FBF1EF}
.fine{font-size:13px;color:var(--muted);line-height:1.5}
.mbar{display:none}
footer{background:var(--ink);color:#BFB3A5;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-block:48px;font-size:14px;font-weight:300}
footer a{color:#BFB3A5;text-decoration:none}
footer .brand span{color:var(--ivory);font-size:14px}
footer .brand img{width:40px;height:40px}
.links{display:flex;gap:28px;flex-wrap:wrap}
[hidden]{display:none!important}
@media (max-width:1000px){
.shop{grid-template-columns:minmax(0,1fr)}
.cart{position:static}
.cart-lines{max-height:none}
.mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:6;background:var(--ivory);border-top:1px solid var(--ink);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));align-items:center;justify-content:space-between;gap:12px}
.mbar span{display:grid;line-height:1.1}
.mbar small{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--brown)}
.mbar b{font-family:'Cormorant Garamond',Georgia,serif;font-size:28px;font-weight:400}
.mbar .btn{padding:14px 18px}
.mbar.off{display:none}
footer{padding-bottom:110px}
}
@media (max-width:760px){
.hero{grid-template-columns:minmax(0,1fr);min-height:0}
.hero-img{order:-1;height:240px}
.hero-text{padding:36px 16px}
nav a:first-child{display:none}
.brand span{letter-spacing:3px;font-size:13px}
nav{font-size:14px}
.opts,.fields{grid-template-columns:minmax(0,1fr)}
.item{grid-template-columns:minmax(0,1fr) auto;row-gap:10px}
.it-text{grid-column:1/-1}
.cat-title .serif{font-size:26px}
.cart{margin-inline:-16px;padding:24px 16px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.chev{transition:none}}

.check{display:flex;gap:12px;align-items:flex-start;margin-top:16px;font-weight:300;font-size:14px;line-height:1.55;cursor:pointer}
.check input{width:20px;height:20px;margin:2px 0 0;flex-shrink:0;accent-color:var(--ink)}
.legal{font-size:13px;line-height:1.55;color:var(--muted)}
.legal a{color:var(--ink)}
.check i{font-style:normal;color:var(--brown)}
.ship-note{font-size:13px;line-height:1.45;color:var(--muted);margin-top:-4px}
/* Ergänzungen neuer Shop */
.allerg{grid-column:1/-1;font-size:13px;color:var(--muted);margin-top:-4px}
.allerg summary{cursor:pointer;display:inline-block;letter-spacing:.5px;text-decoration:underline;text-underline-offset:3px}
.allerg p{margin:6px 0 0;line-height:1.5}
.allerg b{font-weight:500;color:var(--ink)}
.allerg .open-q{color:#A3271B}
.testbar{position:fixed;left:12px;bottom:12px;z-index:999;background:#A3271B;color:#fff;font-size:12px;letter-spacing:1px;padding:6px 10px;max-width:260px;line-height:1.3}
.page{max-width:820px;margin:0 auto;padding:40px 22px 80px}
.page h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:44px;line-height:1.1;margin:0 0 18px}
.page h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:28px;margin:34px 0 8px}
.page h3{font-size:16px;font-weight:500;margin:22px 0 4px}
.page p,.page li{line-height:1.65}
.box{background:var(--sand);padding:18px 20px;margin:18px 0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (max-width:760px){.testbar{position:static;max-width:none;text-align:center}}
