/* Optik der natalier-Verpackung: Sand, Creme, Oliv und Monstera-Grün, Schrift Poppins (rund),
   der Gruß in der Begrüßung als Schriftzug in Loubag. Immer hell, auch im Dunkelmodus des Geräts.
   Die Schriften liegen in static/haendler/fonts (SIL Open Font License, keine externen Anfragen). */
@font-face{font-family:"Poppins";font-weight:300;font-style:normal;font-display:swap;src:url("fonts/poppins-300.42d3308e3aca.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-weight:400;font-style:normal;font-display:swap;src:url("fonts/poppins-400.43751174b6b8.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-weight:500;font-style:normal;font-display:swap;src:url("fonts/poppins-500.792477d09826.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-weight:600;font-style:normal;font-display:swap;src:url("fonts/poppins-600.b550bca8934b.woff2") format("woff2")}
:root{
  color-scheme:light;
  --bg:#ece1d4;          /* Sand der Verpackung */
  --surface:#f8f1e8;     /* Creme */
  --line:#dccdba;
  --fg:#36382c;
  --muted:#6c6654;
  --sage:#7d7650;        /* Oliv der Blatt-Bögen */
  --sage-ink:#3c4a2c;    /* Monstera-Grün */
  --sage-soft:#e3dbc6; --gesicht:#f8f0e6; --polaroid:#fffdf9;
  --warn:#9a5b1f;
  --warn-soft:#f6e6d3;
  --ok:#3f6b3a;
  --font-display:"Poppins","Avenir Next","Avenir",system-ui,sans-serif;
  --font-body:"Poppins","Avenir Next","Avenir",system-ui,sans-serif;
  --radius:14px;
}

*{box-sizing:border-box}
body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:15px;line-height:1.55}
.wrap{max-width:1080px;margin:0 auto;padding-inline:20px;padding-block:32px 140px}
h1,h2{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em;text-wrap:balance;margin:0}
h3{font-family:var(--font-display);font-weight:500;text-wrap:balance;margin:0}
.brand{font-family:var(--font-display);font-weight:300;font-size:2.4rem;letter-spacing:.01em;line-height:1}
.brand .logo{display:block;height:46px;width:auto;max-width:100%;fill:currentColor;color:var(--fg)}
.brand small{display:block;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);font-weight:400;margin-bottom:6px}
header{display:grid;gap:18px;margin-bottom:28px}
header h1{font-size:1.9rem;line-height:1.2;max-width:22ch}
.hello{display:grid;gap:8px}.hello p{margin:0;max-width:52ch;color:var(--muted);font-size:1.02rem}
header p{margin:0;max-width:62ch;color:var(--muted)}
.eyebrow{display:grid;gap:3px;font-size:1.1rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sage-ink);font-weight:700}

.terms{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:36px}
.terms div{background:var(--surface);padding:14px 16px;display:grid;gap:2px}
.terms b{font-family:var(--font-display);font-weight:500;font-size:1.15rem}
.terms span{font-size:.82rem;color:var(--muted)}
@media (max-width:860px){.terms{grid-template-columns:repeat(2,minmax(0,1fr))}.terms div:last-child{grid-column:1/-1}}
.terms .disc{background:var(--sage-soft)}
.totals .disc b{color:var(--sage-ink)}

.flow{list-style:none;margin:0 0 44px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;counter-reset:f}
.flow li{counter-increment:f;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;display:grid;gap:4px;align-content:start}
.flow li::before{content:counter(f);font-family:var(--font-display);font-size:1.5rem;line-height:1;color:var(--sage-ink)}
.flow b{font-weight:600}
.flow span{font-size:.86rem;color:var(--muted)}
@media (max-width:760px){.flow{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.flow{grid-template-columns:1fr}}
.perks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 32px;margin-bottom:44px}
.perks div{display:grid;gap:4px;align-content:start;padding-left:16px;border-left:2px solid var(--sage)}
.feature{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 32px;margin-bottom:32px}
.feature article{display:grid;gap:8px;align-content:start;min-width:0}
.feature .arch{aspect-ratio:1/1;width:100%;max-width:400px;border-radius:999px 999px var(--radius) var(--radius);overflow:hidden;background:var(--sage-soft);border:1px solid var(--line);margin-bottom:6px}
.feature .arch{position:relative}
.feature .arch img{width:100%;height:100%;object-fit:cover;display:block}
.feature .ph{display:grid;place-items:center;color:var(--sage-ink);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}
.feature h3{font-size:1.15rem;font-weight:500}
.feature p{margin:0;color:var(--muted);font-size:.92rem;max-width:56ch}
@media (max-width:860px){.feature{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.feature{grid-template-columns:1fr}}
.pack{margin:-20px 0 44px;display:grid;gap:10px}
.pack img{width:100%;max-width:560px;aspect-ratio:1/1;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line);display:block}
.pack figcaption{font-size:.86rem;color:var(--muted);max-width:60ch}
.perks h3{font-size:1.08rem;font-weight:500}
@media (max-width:760px){.perks{grid-template-columns:1fr}}
.perks p{margin:0;color:var(--muted);font-size:.9rem;max-width:52ch}
@media (max-width:620px){.perks{grid-template-columns:1fr}}
.check{display:flex;align-items:flex-start;gap:10px;font-weight:400}
.check input{margin-top:4px;accent-color:var(--sage)}
.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.section-head h2{font-size:1.45rem}
.section-head p{margin:0;color:var(--muted);font-size:.88rem}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;margin-bottom:44px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:border-color .2s}
.card.active{border-color:var(--sage)}
.card.short{border-color:var(--warn)}
.photo{position:relative;aspect-ratio:1/1;max-width:100%;background:var(--sage-soft)}
.photo img{width:100%;height:100%;object-fit:cover;display:block}
.gnav{position:absolute;bottom:8px;width:28px;height:28px;border-radius:50%;border:0;background:rgba(255,255,255,.35);color:#3d3d3d;font-size:1rem;line-height:1;cursor:pointer;backdrop-filter:blur(2px);transition:background .2s}
.gnav:hover{background:rgba(255,255,255,.75)}
.gnav.prev{left:8px}.gnav.next{right:8px}
.dots{position:absolute;bottom:10px;left:0;right:0;display:flex;justify-content:center;gap:6px}
.dots i{width:6px;height:6px;border-radius:50%;background:#fff;opacity:.45}
.dots i.on{opacity:1}
.tag{position:absolute;right:10px;top:10px;background:var(--surface);color:var(--sage-ink);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:999px}
.body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:10px;flex:1}
.body h3{font-size:1.08rem;line-height:1.3}
.body .sub{font-size:.82rem;color:var(--muted);margin:-6px 0 0}
.variants{display:grid;gap:8px;margin-top:auto}
.var{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding-top:8px;border-top:1px dashed var(--line)}
.var .lbl{min-width:0;font-size:.86rem}
.var .lbl strong{font-weight:600;display:block}
.prices{font-variant-numeric:tabular-nums;font-size:.8rem;color:var(--muted)}
.prices em{font-style:normal;color:var(--fg);font-weight:700;font-size:.92rem}
.stepper{display:flex;align-items:center;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.stepper button{width:34px;height:34px;border:0;background:transparent;color:var(--fg);font-size:1.1rem;cursor:pointer}
.stepper button:hover{background:var(--sage-soft)}
.stepper input{width:38px;text-align:center;border:0;background:transparent;color:var(--fg);font:600 .95rem var(--font-body);font-variant-numeric:tabular-nums;-moz-appearance:textfield}
.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.card.soon{border-style:dashed;background:transparent}
.card.soon .photo{display:grid;place-items:center;background:var(--sage-soft)}
.soonlbl{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sage-ink);font-weight:700}
.note{font-size:.78rem;color:var(--warn);background:var(--warn-soft);border-radius:8px;padding:6px 9px}

.details{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:grid;gap:16px;margin-bottom:32px}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.fields .full{grid-column:1/-1}
@media (max-width:620px){.fields{grid-template-columns:1fr}}
label{display:grid;gap:5px;font-size:.84rem;font-weight:600}
label .opt{font-weight:400;color:var(--muted)}
input[type=text],input[type=email],input[type=tel],textarea{width:100%;font:inherit;font-weight:400;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--fg)}
textarea{min-height:84px;resize:vertical}
input:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--sage);outline-offset:2px}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg label{display:flex;align-items:center;gap:8px;font-weight:400;padding:9px 14px;border:1px solid var(--line);border-radius:999px;cursor:pointer;background:var(--bg)}
.seg input{accent-color:var(--sage)}
.seg label:has(input:checked){border-color:var(--sage);background:var(--sage-soft)}

.btn{font:600 .95rem var(--font-body);border:0;border-radius:999px;padding:12px 22px;cursor:pointer;background:var(--sage-ink);color:var(--bg)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.ghost{background:transparent;color:var(--sage-ink);border:1px solid var(--sage)}

.issues{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.issues li{font-size:.86rem;color:var(--warn);background:var(--warn-soft);border-radius:8px;padding:8px 12px}

.result{background:var(--surface);border:1px solid var(--sage);border-radius:var(--radius);padding:22px;display:grid;gap:14px}
.result h2{font-size:1.35rem}
.steps{margin:0;padding-left:20px;display:grid;gap:4px}
.mail{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.mail code{font:600 1rem var(--font-body);background:var(--sage-soft);color:var(--sage-ink);padding:8px 12px;border-radius:8px;user-select:all}
pre#orderText{white-space:pre-wrap;font:.85rem/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:14px;margin:0;max-height:360px;overflow:auto}
.status{font-size:.85rem;color:var(--ok);min-height:1.2em}
.status.err{color:var(--warn)}
.privacy{margin:0;font-size:.85rem;color:var(--muted)}

.bar{position:fixed;left:0;right:0;bottom:0;background:var(--surface);border-top:1px solid var(--line);padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));z-index:5}
.bar-in{max-width:1080px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.totals{display:flex;gap:22px;flex-wrap:wrap;font-variant-numeric:tabular-nums}
.totals div{display:grid}
.totals span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.totals b{font-family:var(--font-display);font-weight:500;font-size:1.3rem}
.meter{flex:1 1 200px;min-width:0;display:grid;gap:4px;font-size:.78rem;color:var(--muted)}
.meter i{display:block;height:6px;border-radius:999px;background:var(--line);overflow:hidden}
.meter i u{display:block;height:100%;width:0;background:var(--sage);transition:width .3s}
footer{font-size:.8rem;color:var(--muted);margin-top:28px;display:grid;gap:4px}
.legal{margin-top:18px;display:grid;gap:10px}
.legal details{border-top:1px solid var(--line);padding-top:10px}
.legal summary{cursor:pointer;font-weight:600;color:var(--fg);font-size:.88rem}
.legal .txt{display:grid;gap:8px;margin-top:10px;max-width:68ch;font-size:.84rem;color:var(--muted)}
.legal .txt p{margin:0}
.legal .txt b{color:var(--fg)}
[hidden]{display:none!important}
.photo img,.arch.fg img,.sarch img{cursor:zoom-in}
.zoomhint{position:absolute;left:8px;top:8px;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.55);display:grid;place-items:center;pointer-events:none}
.zoomhint svg{width:14px;height:14px;stroke:#3d3d3d;fill:none;stroke-width:2;stroke-linecap:round}
.lb{position:fixed;inset:0;z-index:50;background:rgba(20,20,18,.97);display:flex;align-items:center;justify-content:center;touch-action:pan-y pinch-zoom}
.lb img{max-width:min(94vw,1000px);max-height:86vh;width:auto;height:auto;object-fit:contain;border-radius:6px;user-select:none;-webkit-user-drag:none;cursor:default}
.lb button{position:absolute;border:0;background:rgba(255,255,255,.14);color:#fff;border-radius:50%;width:44px;height:44px;font-size:1.5rem;line-height:1;cursor:pointer}
.lb button:hover{background:rgba(255,255,255,.3)}
.lb .lbx{top:14px;right:14px;font-size:1.6rem}
.lb .lbp{left:14px;top:50%;transform:translateY(-50%)}
.lb .lbn{right:14px;top:50%;transform:translateY(-50%)}
.lb .lbc{pointer-events:none;position:absolute;bottom:16px;left:0;right:0;text-align:center;color:#fff;font-size:.85rem;opacity:.85}
@media (max-width:600px){.lb .lbp,.lb .lbn{top:auto;bottom:8px;transform:none}.lb .lbc{bottom:22px}.zoomhint{width:22px;height:22px;left:6px;top:6px}.zoomhint svg{width:12px;height:12px}}
.jump{position:sticky;top:0;z-index:4;background:var(--bg);display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:10px 0;margin:0 0 24px;border-bottom:1px solid var(--line)}
.jump::-webkit-scrollbar{display:none}
.jump a{flex:0 0 auto;text-decoration:none;color:var(--fg);font-size:.86rem;font-weight:600;padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}
.jump a{transition:background .2s,color .2s,border-color .2s}
.jump a.on{background:var(--sage-ink);border-color:var(--sage-ink);color:var(--bg)}
.about{background:var(--bg);border:0;padding:0 0 4px;display:grid;gap:8px;max-width:860px}
.about-track{display:grid;overflow:hidden;align-items:start}
header.pin{position:sticky;top:0;z-index:1;margin-bottom:0;padding-top:12px}
.hero-run.on{margin-bottom:28px}
.about.pin{position:sticky;top:12px;z-index:1}

.slide{grid-area:1/1;display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px;align-items:start;align-content:start;align-self:start;background:var(--bg);transform-origin:50% 0;will-change:transform;padding-bottom:2px}

.slide.moving{box-shadow:0 -10px 24px -14px rgba(0,0,0,.25)}
.about-track.anim .slide,.about-track.anim{transition:transform .55s cubic-bezier(.2,.7,.2,1),height .55s cubic-bezier(.2,.7,.2,1)}
.sarch{aspect-ratio:1/1;border-radius:999px 999px var(--radius) var(--radius);background:var(--sage-soft);border:1px solid var(--line);display:grid;place-items:center;overflow:hidden;color:var(--sage-ink);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.sarch{position:relative}.sarch img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.stxt{display:grid;gap:6px;align-content:start;padding-top:18px}
.stxt h3{font-size:1.25rem;line-height:1.25}
.stxt p{margin:0;color:var(--muted)}
.about-nav{display:flex;align-items:center;justify-content:center;gap:14px}
.about-nav .anav{display:none}
.anav{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:var(--bg);color:var(--fg);font-size:1.05rem;line-height:1;cursor:pointer}
.anav:hover{border-color:var(--sage)}
.adots{display:flex;gap:6px}.adots i{width:7px;height:7px;border-radius:50%;background:var(--line)}.adots i.on{background:var(--sage)}
@media (max-width:600px){
  body{font-size:14px}
  .wrap{padding-inline:14px;padding-top:20px}
  header{gap:12px;margin-bottom:16px}
  .brand .logo{height:34px}
  header h1{font-size:1.45rem}
  header p{font-size:.88rem}
  .jump{margin-bottom:18px;gap:5px;justify-content:space-between}
  .jump a{padding:7px 8px;font-size:.73rem}
  .eyebrow{font-size:1.02rem}
  .about{padding:0;gap:4px}
  header{margin-bottom:14px}
  .about-wrap{margin-bottom:36px}
  .slide{grid-template-columns:1fr;gap:12px;align-items:start}
  .sarch{aspect-ratio:1/1;border-radius:999px 999px var(--radius) var(--radius)}
  .sarch img{object-position:50% 50%!important}
  .stxt{gap:4px;padding-top:0}
  .stxt h3{font-size:1.3rem}
  .stxt p{font-size:1rem;line-height:1.55}
  .about .gnav{width:34px;height:34px;font-size:1.15rem;bottom:10px}
  .about .gnav.prev{left:10px}.about .gnav.next{right:10px}
  .adots i{width:8px;height:8px}
  .terms{margin-bottom:24px}
  .terms div{padding:10px 12px}
  .terms b{font-size:1rem}
  .terms span{font-size:.76rem}
  .section-head{margin-bottom:10px}
  .section-head h2{font-size:1.25rem}
  .section-head p{font-size:.78rem}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:32px}
  .body{padding:10px 10px 12px;gap:6px}
  .body h3{font-size:.92rem;line-height:1.25}
  .body .sub{display:none}
  .card.soon .body .sub{display:block;margin:0}
  .var{grid-template-columns:1fr;gap:6px;padding-top:6px}
  .var .lbl{font-size:.8rem}
  .prices{font-size:.72rem}
  .prices em{font-size:.84rem}
  .stepper{justify-content:space-between}
  .stepper button{width:36px;height:32px}
  .stepper input{width:32px}
  .tag{font-size:.6rem;padding:3px 7px;top:7px;right:7px}
  .gnav{width:24px;height:24px;font-size:.85rem;bottom:6px}
  .gnav.prev{left:6px}.gnav.next{right:6px}
  .dots{bottom:13px;gap:4px}.dots i{width:5px;height:5px}
  .flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:32px}
  .flow li{padding:10px 12px}
  .flow li::before{font-size:1.2rem}
  .flow b{font-size:.86rem}
  .flow span{font-size:.76rem;line-height:1.4}
  /* Stapelkarten: jede Karte bleibt unter der Kopfzeile stehen, die nächste schiebt sich beim Scrollen darüber.
     Gleich hohe Karten (--karte-h setzt haendler.js auf die höchste), damit keine darunter hervorschaut */
  .feature{display:block;margin-bottom:24px}
  .feature article{position:sticky;top:calc(var(--kopf-h,93px) + 10px);min-height:var(--karte-h,auto);margin-bottom:18px;padding:14px 14px 18px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 -6px 18px rgba(40,38,25,.10)}
  .feature article:last-child{margin-bottom:0}
  .feature .arch{margin-inline:auto;width:82%}
  .feature h3{font-size:1rem}
  .feature p{font-size:.82rem}
  .perks{gap:14px;margin-bottom:32px}
  .perks h3{font-size:.98rem}
  .perks p{font-size:.82rem}
  .details{padding:16px}
  .bar{padding:8px 14px calc(8px + env(safe-area-inset-bottom,0px))}
  .bar-in{gap:6px}
  .totals{gap:16px}
  .totals .opt-m{display:none}
  .totals span{font-size:.62rem}
  .totals b{font-size:1.05rem}
  .meter{flex-basis:100%;font-size:.7rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
@media (min-width:900px){
  header{grid-template-columns:auto 1fr;column-gap:48px;row-gap:10px;align-items:end;margin-bottom:24px}
  header .brand{grid-column:1;grid-row:1/span 2}header .eyebrow{grid-column:1;grid-row:3}header .hello{grid-column:2;grid-row:1/span 3;align-self:end}header h1{max-width:none}
  .about-wrap{margin-bottom:32px}
  .about{max-width:none}
  .about-track{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;height:auto!important;overflow:visible}
  .slide{grid-area:auto!important;grid-template-columns:1fr;gap:16px;transform:none!important;filter:none!important;box-shadow:none!important}
  .sarch,.stxt{width:100%}
  .about .gnav,.about-nav{display:none!important}
  .stxt{padding-top:0}
  .stxt{max-width:none}
  .stxt h3{font-size:1.5rem}
  .stxt p{font-size:1.02rem;line-height:1.6}
  .about-nav{justify-content:center;margin-top:4px}
}

/* ---- Ergänzungen für die Django-Seiten ---- */
html,body{margin:0;padding:0}
img{max-width:100%}
a{color:var(--sage-ink)}
.linkbtn{font:inherit;background:none;border:0;padding:0;color:var(--muted);cursor:pointer}
.linkbtn:hover{color:var(--sage-ink)}
.msgs{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:8px}
.msgs li{border-radius:10px;padding:10px 14px;font-size:.9rem;background:var(--sage-soft);color:var(--sage-ink)}
.msgs li.error,.msgs li.warning{background:var(--warn-soft);color:var(--warn)}
.preview{font-size:.86rem;color:var(--warn);background:var(--warn-soft);border-radius:10px;padding:10px 14px;margin:0 0 20px}
.var-off{font-size:.8rem;color:var(--muted)}
select,input[type=password]{width:100%;font:inherit;font-weight:400;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--fg)}
/* Am Handy mindestens 16px in Eingabefeldern, sonst vergrößert das iPhone die Seite beim Antippen von selbst */
@media (pointer:coarse){:root body :is(input,select,textarea){font-size:max(16px,1em)}}
.login{max-width:420px;margin:24px auto 0}
.login h1{font-size:1.6rem}
.login form{display:grid;gap:14px}
.login .errorlist{list-style:none;margin:0;padding:0}
.login .errorlist li{font-size:.86rem;color:var(--warn);background:var(--warn-soft);border-radius:8px;padding:8px 12px}
.wrap.narrow{padding-bottom:60px}
.table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.table th,.table td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--line);font-size:.9rem;vertical-align:middle}
.table th{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600}
.table td.num,.table th.num{text-align:right}
.table tr:last-child td{border-bottom:0}
.table tfoot td{font-weight:600}
.table img{width:40px;height:40px;object-fit:cover;border-radius:8px;display:block}
.status-badge{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:999px;background:var(--sage-soft);color:var(--sage-ink)}
.status-badge.storniert{background:var(--warn-soft);color:var(--warn)}
.kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:24px}
.kv div{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px;display:grid;gap:2px}
.kv span{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.kv b{font-family:var(--font-display);font-weight:500;font-size:1.1rem}
.show-m{display:none}
/* Summenzeilen der Bestelltabelle: am Handy fehlen zwei Spalten, dort spannt die Beschriftung über 3 statt 5 */
.table .nur-m{display:none}
@media (max-width:600px){.table th,.table td{padding:8px 10px;font-size:.82rem}.table th{font-size:.66rem;letter-spacing:.04em}.table .status-badge{font-size:.64rem;letter-spacing:.02em;padding:3px 7px}.table tbody td.num,.table tfoot td.num:last-child{white-space:nowrap}.table .hide-m{display:none}.show-m{display:inline}.table .nur-m{display:table-cell}}

/* Startseite für alle: Material-Punkte, „So wirst du Partnerladen“, Katalog-Reiter, Händlerzugang */
.usp{background:var(--sage-soft);border-radius:var(--radius);padding:24px;display:grid;gap:18px;margin-bottom:32px}
.usp h2{font-size:1.45rem}
.usp-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 32px}
.usp-list div{display:grid;gap:4px;align-content:start;min-width:0}
.usp-list b{font-family:var(--font-display);font-weight:500;font-size:1.2rem;color:var(--sage-ink)}
.usp-list p{margin:0;color:var(--fg);font-size:.95rem;max-width:44ch}
@media (max-width:960px){.usp-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.usp-list{grid-template-columns:1fr}}
@media (max-width:760px){.usp{padding:18px}.usp h2{font-size:1.25rem}}
.join{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:20px 22px;display:grid;gap:14px;margin-bottom:32px}
.join-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.join-head h3{font-size:1.2rem;font-weight:500}
.join{margin-bottom:22px}
.flow-h{font-size:1.2rem;font-weight:500;margin:0 0 12px}
.join-head .btn{text-decoration:none;padding:9px 18px;font-size:.88rem}
.join-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 28px;counter-reset:j}
.join-steps li{counter-increment:j;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;row-gap:2px;align-content:start}
.join-steps li::before{content:counter(j);grid-row:1/span 2;font-family:var(--font-display);font-size:1.4rem;line-height:1.1;color:var(--sage-ink)}
.join-steps li>b{font-weight:600}
.join-steps span{font-size:.88rem;color:var(--muted)}
.join-steps span b{color:var(--fg)}
@media (max-width:760px){.join-steps{grid-template-columns:1fr}.join{padding:16px}.join-head h3{font-size:1.1rem}}
.cattabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.cattab{display:grid;gap:2px;text-align:left;font:500 1.05rem var(--font-display);padding:10px 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--fg);cursor:pointer;transition:background .2s,border-color .2s}
.cattab small{font:400 .76rem var(--font-body);color:var(--muted)}
.cattab:hover{border-color:var(--sage)}
.cattab[aria-selected="true"]{border-color:var(--sage-ink);background:var(--sage-soft)}
.catintro{display:grid;gap:4px;margin-bottom:16px}
.catintro h3{font-size:1.25rem;font-weight:500}
.catintro p{margin:0;color:var(--muted);max-width:60ch}
@media (max-width:600px){.cattab{flex:1 1 0;padding:9px 12px;font-size:.95rem}.catintro h3{font-size:1.1rem}.catintro p{font-size:.86rem}.grid .card.soon.empty{display:flex;grid-column:1/-1}.card.soon.empty .photo{aspect-ratio:auto;padding-block:28px}.card.soon.empty .sub{display:block}}
.lock{border-color:var(--sage);gap:20px}
.lockintro{display:grid;gap:6px}
.lockintro h3{font-size:1.2rem;font-weight:500}
.lockintro p{margin:0;color:var(--muted);max-width:60ch}
.lock .btn{text-decoration:none;display:inline-block}
.apply{display:grid;gap:4px;padding-top:16px;border-top:1px dashed var(--line);font-size:.9rem}
.apply p{margin:0;color:var(--muted);max-width:64ch}
.apply p b{color:var(--fg)}


/* Begrüßung ohne eigenes Logo (das Logo steht in der Kopfzeile): Eyebrow über der Überschrift */
header.begruessung{grid-template-columns:minmax(0,1fr);gap:12px}
@media (min-width:900px){header.begruessung .eyebrow,header.begruessung .hello{grid-column:auto;grid-row:auto}header.begruessung .eyebrow{display:flex;gap:.6em}}

/* Kopfzeile auf allen Händlerseiten: Logo, Bereiche der Startseite, Konto. Bleibt beim Scrollen oben.
   Mobil: Logo und Konto in einer Zeile, darunter die Bereiche. */
.site-head{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
/* Menü-Knopf und Menü: ersetzen Leiste und Konto, am Handy und am Computer */
.site-head .jump,.site-head .konto{display:none}
.site-head-in{flex-wrap:nowrap;align-items:center;padding-block:10px}
.menue-knopf{display:grid;place-items:center;margin-left:auto;width:42px;height:42px;padding:0;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--fg);cursor:pointer}
.menue-knopf svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.menue-knopf[aria-expanded="true"]{background:var(--sage-ink);border-color:var(--sage-ink);color:var(--bg)}
.haupt-menue{position:absolute;top:calc(100% + 6px);left:12px;right:12px;z-index:30;display:grid;gap:2px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 16px 34px rgba(40,38,25,.22);max-height:calc(100svh - 90px);overflow-y:auto;color:var(--fg)}
.haupt-menue[hidden]{display:none}
.haupt-menue .wer{display:flex;gap:10px;align-items:center;padding:0 4px 12px;margin-bottom:4px;border-bottom:1px solid var(--line)}
.haupt-menue .wer b{display:block;font-weight:600}
.haupt-menue .wer small{color:var(--muted);font-size:.8rem}
.haupt-menue .ini{width:42px;height:42px;border-radius:50%;object-fit:cover;flex:none;display:grid;place-items:center;background:var(--sage-soft);color:var(--sage-ink);font-weight:600;font-size:.85rem}
/* Profilbild im Menü antippen: Foto wählen, es wird sofort gespeichert (kopf.js) */
.haupt-menue .wer-form{margin:0}
.haupt-menue .wer-bild{display:flex;font-size:inherit;font-weight:inherit;cursor:pointer;padding-top:4px}
.haupt-menue .wer-bild:hover small,.haupt-menue .wer-bild:focus-within small{text-decoration:underline}
.haupt-menue .wer-bild:focus-within .ini-rahmen{outline:2px solid var(--sage);outline-offset:2px;border-radius:50%}
.haupt-menue .wer-bild small{color:var(--sage-ink)}
.ini-rahmen{position:relative;flex:none;display:block}
.ini-stift{position:absolute;right:-4px;bottom:-4px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--sage-ink);border:2px solid var(--surface)}
.ini-stift svg{width:11px;height:11px;fill:none;stroke:var(--bg);stroke-width:2.2;stroke-linejoin:round}
.wer-bild.laedt .ini-rahmen{opacity:.5}
.haupt-menue .punkt{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 8px;border-radius:10px;color:var(--fg);text-decoration:none;font-weight:500}
.haupt-menue .punkt:hover{background:var(--sage-soft)}
.haupt-menue .punkt.unter{padding-block:7px;padding-left:22px;font-weight:400;font-size:.9rem;color:var(--muted)}
.haupt-menue .anzahl{font-size:.8rem;font-weight:600;padding:2px 10px;border-radius:999px;background:var(--sage-ink);color:var(--bg)}
.haupt-menue .anzahl[hidden]{display:none}
.haupt-menue hr{border:0;border-top:1px solid var(--line);margin:4px 0;width:100%}
.haupt-menue form{margin:0}
.haupt-menue .abmelden{display:block;width:100%;margin-top:10px;font:inherit;font-weight:500;padding:11px;border-radius:999px;border:1px solid var(--sage-ink);background:transparent;color:var(--sage-ink);cursor:pointer;text-align:center;text-decoration:none}
.haupt-menue a.btn.abmelden{background:var(--sage-ink);color:var(--bg)}
.site-head.auf-bild .menue-knopf{background:rgba(255,253,249,.16);border-color:rgba(255,253,249,.55);color:#fffdf9;backdrop-filter:blur(4px)}
/* am Computer: das Menü als Fenster oben rechts, bündig mit dem Inhalt */
@media (min-width:761px){
  .site-head-in{padding-block:12px}
  .haupt-menue{left:auto;right:max(16px,calc((100vw - 1080px) / 2 + 20px));width:340px}
}
/* eigene Ebene, damit Safari am iPhone Tipps auf die Knöpfe nicht an die Videos darunter verliert */
.site-head{transform:translateZ(0)}
.site-head-in{max-width:1080px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:10px 24px}
.site-logo{flex:0 0 auto;color:var(--fg);display:block}
.site-logo .logo{display:block;height:24px;width:auto;fill:currentColor}
.site-head .jump{position:static;flex:1 1 auto;justify-content:center;margin:0;padding:0;border:0;background:none}
.konto{flex:0 0 auto;display:flex;align-items:center;gap:14px;font-size:.86rem}
.konto a{color:var(--muted);text-decoration:none}
.konto a:hover,.konto a.on{color:var(--sage-ink)}
.konto form{margin:0}
.konto .who{color:var(--fg);font-weight:600;max-width:16ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.konto .btn{color:var(--bg);padding:8px 18px;font-size:.86rem}
.konto .btn:hover{color:var(--bg)}
.wrap{padding-top:24px}
/* Sprungziele landen knapp unter der Kopfzeile, egal wie hoch sie ist (angemeldet ist sie am Handy höher; --kopf-h setzt kopf.js) */
[id^="sec-"]{scroll-margin-top:calc(var(--kopf-h,78px) + 14px)}
@media (max-width:760px){
  .site-head-in{flex-wrap:wrap;padding:8px 14px 6px}
  .site-logo .logo{height:20px}
  .konto{margin-left:auto;gap:12px}
  .konto .who{display:none}
  .konto .btn{padding:7px 14px;font-size:.8rem}
  /* größere Tippflächen: „Abmelden“ als eigener Knopf, mit Abstand zu „Meine Bestellungen“ */
  .konto>a:not(.btn){padding:8px 2px;font-size:.8rem}
  .konto .nur-breit{display:none}
  .konto{gap:8px}
  .konto .linkbtn{min-height:34px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--fg);font-size:.8rem}
  .site-head .jump{order:3;flex-basis:100%;justify-content:space-between;margin:0}
  .wrap{padding-top:16px}
}

/* Bestellablauf als Pfeilkette statt Nummern: am Computer zeigen die Kästen nach rechts,
   am Handy stehen sie untereinander und zeigen nach unten. */
.flow{gap:10px 6px}
.flow li{border:0;border-radius:0;background:var(--sage-soft);padding:16px 34px 16px 36px;
  clip-path:polygon(0 0,calc(100% - 20px) 0,100% 50%,calc(100% - 20px) 100%,0 100%,20px 50%)}
.flow li:first-child{padding-left:20px;border-radius:var(--radius) 0 0 var(--radius);
  clip-path:polygon(0 0,calc(100% - 20px) 0,100% 50%,calc(100% - 20px) 100%,0 100%)}
.flow li::before{content:none}
.flow b{color:var(--sage-ink)}
@media (max-width:760px){
  .flow{grid-template-columns:1fr;gap:0;margin-bottom:32px}
  .flow li,.flow li:first-child{border-radius:0;padding:26px 18px 30px;margin-top:-6px;text-align:center;justify-items:center;
    clip-path:polygon(0 0,50% 16px,100% 0,100% calc(100% - 16px),50% 100%,0 calc(100% - 16px))}
  .flow li:first-child{margin-top:0;padding-top:16px;border-radius:var(--radius) var(--radius) 0 0;
    clip-path:polygon(0 0,100% 0,100% calc(100% - 16px),50% 100%,0 calc(100% - 16px))}
  .flow span{max-width:40ch}
}

/* Versandhinweis im Bestellformular (statt Auswahl Versand/Abholung) */
.versand{display:grid;gap:4px;padding:12px 14px;border-radius:10px;background:var(--sage-soft);font-size:.9rem}
.versand b{color:var(--sage-ink)}
.versand p{margin:0;color:var(--fg);max-width:64ch}

/* Erst-/Nachbestellung: passenden Hinweis zur gewählten Art zeigen */
.details:has(input[name=art][value=erst]:checked) .art-nach,
.details:has(input[name=art][value=nach]:checked) .art-erst{display:none}

/* Vorteile: vier Punkte, ab 761 px zwei Spalten */
@media (min-width:761px){.perks{grid-template-columns:repeat(2,minmax(0,1fr))}}
.perks p a{color:var(--sage-ink)}

footer a,.legal a,.flow a,.perks a,.versand a,.stxt a{color:var(--sage-ink)}

/* Größe und Gewicht auf der Katalogkarte */
.body .masse{margin:-4px 0 0;display:grid;gap:1px;font-size:.78rem;color:var(--sage-ink);font-weight:600}
.body .masse em{font-style:normal;font-weight:400;color:var(--muted)}
.body .masse .pro{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700}
.join-intro{margin:0;padding-top:12px;border-top:1px dashed var(--line);color:var(--muted);font-size:.92rem;max-width:64ch}

/* Aufklappmenü „Kataloge“ unter der Kopfzeile */
.kat-toggle::after{content:"▾";margin-left:5px;font-size:.8em}
.kat-toggle[aria-expanded="true"]{background:var(--sage-soft);border-color:var(--sage)}
.kat-menu{position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 12px 24px -16px rgba(0,0,0,.35)}
.kat-menu-in{max-width:1080px;margin:0 auto;padding:12px 20px 16px;display:flex;flex-wrap:wrap;gap:10px}
.kat-menu a{display:grid;gap:2px;min-width:200px;text-decoration:none;padding:10px 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--fg)}
.kat-menu a:hover{border-color:var(--sage)}
.kat-menu b{font:500 1.05rem var(--font-display)}
.kat-menu small{font-size:.76rem;color:var(--muted)}
@media (max-width:760px){.kat-menu-in{padding:10px 14px 14px}.kat-menu a{flex:1 1 0;min-width:0;padding:9px 12px}}

/* Abgemeldet: deutlich zeigen, dass die Händlerpreise nach der Anmeldung kommen */
.preis-hinweis{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px;margin:0 0 18px;padding:14px 18px;border-radius:var(--radius);background:var(--sage-soft);border:1px solid var(--sage)}
.preis-hinweis p{margin:0;max-width:60ch;color:var(--fg);font-size:.92rem}
.preis-hinweis b{color:var(--sage-ink)}
.preis-hinweis-wege{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:.88rem}
.preis-hinweis-wege .btn{text-decoration:none;padding:9px 20px}
.preis-hinweis-wege a:not(.btn){color:var(--sage-ink)}
.hp-login{display:block;margin-top:8px;padding-top:8px;border-top:1px dashed var(--line);font-size:.78rem;font-weight:600;color:var(--sage-ink);text-decoration:none}
.hp-login{display:flex;align-items:flex-start;gap:6px}
.schloss{flex:0 0 auto;width:1.35em;height:1.35em;margin-top:-.1em;fill:none;stroke:var(--sage-ink);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.preis-hinweis p .schloss{width:1.25em;height:1.25em;vertical-align:-.25em;margin-right:6px}
@media (max-width:600px){.preis-hinweis{padding:12px 14px}.preis-hinweis-wege{width:100%}.preis-hinweis-wege .btn{flex:1 1 auto;text-align:center}.hp-login{font-size:.72rem}}

/* Konditionen ohne Anmeldung: vier Kacheln (ohne Händlerpreis-Kachel) */
.terms.vier{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:860px){.terms.vier{grid-template-columns:repeat(2,minmax(0,1fr))}.terms.vier div:last-child{grid-column:auto}}

/* Begrüßung: Überschrift als Schriftzug in Loubag (Grafik, der Text steht unsichtbar daneben). das Gesicht aus dem Logo als zartes Wasserzeichen rechts */
header.begruessung{position:relative;isolation:isolate;padding-block:8px 4px}
header.begruessung h1{margin:0;color:var(--sage-ink);max-width:none}
header.begruessung h1 .gruss-schrift{display:block;width:min(100%,520px);height:auto;fill:currentColor}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
header.begruessung .hello p{color:var(--fg);max-width:46ch}

/* Das Gesicht aus dem Logo hell wie auf der Verpackung, über die ganze Breite hinter Begrüßung und Slider.
   Handy: nur hinter der Begrüßung, weil sich die Slider-Karten dort übereinanderschieben und deckend sein müssen. */
body{overflow-x:clip}
.gesicht-buehne{position:relative;isolation:isolate}
.gesicht-flaeche{position:absolute;z-index:-1;top:-24px;bottom:0;left:50%;width:100vw;transform:translateX(-50%);overflow:hidden;pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 60% 62% at 50% 50%,#000 55%,transparent 100%);mask-image:radial-gradient(ellipse 60% 62% at 50% 50%,#000 55%,transparent 100%)}
.gesicht-flaeche>.gesicht{position:absolute;left:50%;top:50%;width:100%;height:150%;transform:translate(-50%,-50%);fill:var(--gesicht);opacity:.6}
@media (max-width:899px){.gesicht-flaeche{bottom:auto;height:min(100%,110vw)}}

/* Kleines Anmeldefenster unter der Kopfzeile, rechts bündig mit dem Inhalt. Handy: fast volle Breite. */
.login-panel{position:absolute;top:calc(100% + 8px);right:max(16px,calc((100vw - 1080px) / 2 + 20px));width:min(320px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 40px -18px rgba(54,56,44,.45);padding:16px 18px 18px;z-index:30}
.login-panel form{display:grid;gap:12px}
.login-kopf{display:flex;align-items:center;justify-content:space-between}
.login-kopf b{font-size:1rem;color:var(--sage-ink)}
.login-zu{border:0;background:none;font-size:1.4rem;line-height:1;color:var(--muted);cursor:pointer;padding:2px 6px}
.login-panel .btn{width:100%}
.login-fehler{margin:0;font-size:.82rem;color:var(--warn);background:var(--warn-soft);border-radius:8px;padding:8px 12px}
.login-hinweis{margin:0;font-size:.78rem;color:var(--muted)}
@media (max-width:600px){.login-panel{right:16px;left:16px;width:auto}}

/* Vom Browser ausgefüllte Felder (Zugangsdaten) im Ton des Kastens „Das steckt in meinem Schmuck“ statt hellblau */
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--sage-soft) inset;box-shadow:0 0 0 1000px var(--sage-soft) inset;-webkit-text-fill-color:var(--fg);caret-color:var(--fg);transition:background-color 9999s}
input:autofill{background-color:var(--sage-soft)}

/* Bewertungen der Partnerläden am Seitenende: eigene Fotos und Text */
.bewertungen{display:grid;gap:16px;margin-bottom:32px}
.bewertungen .section-head{margin-bottom:0}
.bew-slider{display:grid;gap:10px;min-width:0}
.bew-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:10px 6px 16px;margin-inline:-6px;overscroll-behavior-x:contain}
.bew-track::-webkit-scrollbar{display:none}
.bew-track:focus-visible{outline:2px solid var(--sage);outline-offset:4px;border-radius:var(--radius)}
/* Polaroid: weißer Rahmen, leicht schräg, wie Fotos an der Pinnwand */
.bew{margin:0;flex:0 0 clamp(230px,68vw,270px);scroll-snap-align:start;background:var(--polaroid);padding:12px 12px 16px;border-radius:4px;box-shadow:0 10px 24px -14px rgba(54,56,44,.55);display:flex;flex-direction:column;gap:12px;min-width:0;transform:rotate(-1.4deg)}
.bew:nth-child(even){transform:rotate(1.2deg)}
.bew:nth-child(3n){transform:rotate(-.6deg)}
.bew blockquote{margin:0;padding-inline:4px;flex:1;color:var(--fg);font-size:.92rem;overflow-wrap:anywhere}
.bew figcaption{padding-inline:4px;font-size:.8rem;color:var(--muted)}
.bew figcaption b{color:var(--sage)}
.bew-foto{position:relative;aspect-ratio:1/1;background:var(--sage-soft);overflow:hidden}
.bew-foto>a,.bew-foto>a img{display:block;width:100%;height:100%}
.bew-foto img{object-fit:cover}
/* ohne Foto: das Zitat steht im Bildfeld */
.bew.ohne-foto blockquote{aspect-ratio:1/1;flex:0 0 auto;display:flex;align-items:center;background:var(--sage-soft);padding:18px;font-size:1rem}
.bew.ohne-foto blockquote::before{content:"“";font-size:3.4rem;line-height:.6;color:var(--sage);margin-right:6px;align-self:flex-start}
.bew-mini{position:absolute;left:8px;bottom:8px;display:flex;gap:6px}
.bew-mini a{width:38px;height:38px;border-radius:3px;overflow:hidden;border:2px solid var(--polaroid);opacity:.75;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.bew-mini a.on{opacity:1}
.bew-mini img{width:100%;height:100%;object-fit:cover;display:block}
.bew-nav{display:flex;justify-content:flex-end;gap:8px}
.bew-slider:not(.laeuft) .bew-nav{visibility:hidden}
.bew-echt{margin:0;font-size:.8rem;color:var(--muted)}
.bew-form{background:var(--sage-soft);border-radius:var(--radius);padding:22px;display:grid;gap:14px}
.bew-form h3{margin:0;font-size:1.15rem}
.bew-form textarea{background:var(--surface)}
.bew-danke,.bew-fehler{margin:0;font-size:.88rem;border-radius:8px;padding:10px 14px}
.bew-danke{background:var(--surface);color:var(--ok)}
.bew-fehler{background:var(--warn-soft);color:var(--warn)}
.bew-form input[type=file]{font:inherit;font-weight:400;font-size:.86rem;padding:10px;border:1px dashed var(--sage);border-radius:10px;background:var(--surface);width:100%;max-width:100%}
.bew-form .opt{font-weight:400;color:var(--muted)}
.bew-hinweis-fotos{margin:-6px 0 0;font-size:.82rem;color:var(--warn)}
.bew-offen{margin:0;background:var(--warn-soft);color:var(--fg);border-radius:10px;padding:10px 14px;font-size:.88rem}
.bew-offen a{color:var(--sage-ink);font-weight:600}
/* Profilbild des Ladens: klein und rund neben dem Namen */
.bew figcaption{display:flex;align-items:center;gap:10px}
.profil{width:34px;height:34px;border-radius:50%;object-fit:cover;flex:0 0 34px;border:1px solid var(--line);background:var(--sage-soft)}
.profil-feld{display:flex;align-items:center;gap:14px}
.profil-feld .profil{width:52px;height:52px;flex-basis:52px}
.profil-feld label{flex:1;min-width:0}
/* Seite „Mein Laden“: Profilbild groß neben dem Namen des Ladens */
.pdf-zeile{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0 0 22px}
.pdf-zeile .btn{text-decoration:none}
.laden-kopf{display:flex;align-items:center;gap:16px}
.laden-kopf .profil{width:76px;height:76px;flex-basis:76px}
.laden-kopf .ini{display:grid;place-items:center;color:var(--sage-ink);font-weight:600;font-size:1.3rem}
.laden-kopf b{display:block;font-size:1.15rem;font-weight:600}
.laden-kopf small{color:var(--muted);font-size:.82rem}
.fields small{font-weight:400}


/* Vollbild-Teile (wie große Shops): jeder Teil füllt den Bildschirm unter der Kopfzeile, über die ganze
   Breite, Text und Knopf liegen hell auf dem Foto. Beim Scrollen rasten die Teile ein. */
.teile{margin-inline:calc(50% - 50vw);margin-block:8px 36px}
.teil{position:relative;height:calc(100svh - var(--kopf-h,64px));min-height:440px;max-height:980px;overflow:hidden;isolation:isolate;color:#fffdf9;background:#2b2c23}
.teil>video{pointer-events:none}
.teil>img,.teil>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--fokus,50% 50%);z-index:-2;display:block}
/* Am breiten Bildschirm ist von einem Hochformat nur ein Streifen zu sehen: --fokus-breit legt pro Foto fest, welcher */
@media (min-width:761px){.teil>img,.teil>video{object-position:var(--fokus-breit,var(--fokus,50% 50%))}}
.teil::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(30,32,22,.5) 0,rgba(30,32,22,0) 26%,rgba(30,32,22,0) 38%,rgba(30,32,22,.74) 100%)}
.teil-text{position:absolute;left:0;right:0;bottom:0;max-width:1080px;margin:0 auto;padding-inline:max(20px,env(safe-area-inset-left,0px)) max(20px,env(safe-area-inset-right,0px));padding-bottom:calc(36px + env(safe-area-inset-bottom,0px));display:grid;gap:12px;justify-items:start}
.teil h2{margin:0;color:#fffdf9;font-weight:600;font-size:clamp(1.8rem,6vw,3rem);line-height:1.1;text-wrap:balance;max-width:18ch}
.teil p{margin:0;max-width:46ch;font-size:.98rem;line-height:1.55;opacity:.95}
@media (max-width:600px){.teil p{font-size:.92rem}}
/* gestapelt (setzt haendler.js): der Bereich ist so hoch wie alle Bilder zusammen, die Bühne füllt den
   ganzen Bildschirm und bleibt stehen, die Bilder liegen übereinander, die Kopfzeile liegt darüber */
.teile.gestapelt{height:calc((100svh - var(--kopf-h,64px)) * 4)}
.teile.gestapelt .teile-buehne{position:sticky;top:0;height:100svh;min-height:480px;overflow:hidden}
.teile.gestapelt .teil{position:absolute;inset:0;height:auto;min-height:0;max-height:none;will-change:transform}
.teile.gestapelt .teil.kommt{box-shadow:0 -14px 30px -18px rgba(0,0,0,.45)}
/* Kopfzeile durchsichtig über den Vollbild-Teilen (Klasse auf-bild setzt haendler.js) */
.site-head{transition:background-color .3s,border-color .3s}
.site-head.auf-bild{background:transparent;border-color:transparent}
.site-head.auf-bild .site-logo,.site-head.auf-bild .konto a:not(.btn),.site-head.auf-bild .linkbtn{color:#fffdf9}
.site-head.auf-bild .jump a{background:rgba(255,253,249,.16);border-color:rgba(255,253,249,.55);color:#fffdf9;backdrop-filter:blur(4px)}
.site-head.auf-bild .jump a.on{background:#fffdf9;color:var(--sage-ink)}
.site-head.auf-bild .konto .btn{background:#fffdf9;color:var(--sage-ink);border-color:#fffdf9}
.site-head.auf-bild .konto .linkbtn{background:rgba(255,253,249,.16);border-color:rgba(255,253,249,.55)}
.teil-text{padding-top:calc(var(--kopf-h,64px) + 12px)}
/* Summenleiste erst im Katalog (Klasse da setzt haendler.js) */
.bar{transform:translateY(110%);transition:transform .3s ease}
.bar.da{transform:none}
/* Begrüßung als erster Vollbild-Teil: Sandton (später mit Video), Text mittig, Kopfzeile normal darüber.
   Steht der Bereich ganz oben auf der Seite, beginnt er direkt unter der Kopfzeile. */
.wrap>.teile:first-child{margin-top:calc(-1 * var(--wrap-oben,24px) - var(--kopf-h,64px))}
.teil-gruss{background:var(--bg);color:var(--fg);display:grid;align-content:center;padding-top:var(--kopf-h,64px)}
.teil-gruss::after{display:none}
.teil-gruss header.begruessung{width:100%;max-width:1080px;margin:0 auto;padding-inline:max(20px,env(safe-area-inset-left,0px)) max(20px,env(safe-area-inset-right,0px));padding-block:0 40px}
.teil-gruss header.begruessung p{font-size:1rem;opacity:1;max-width:46ch}
.teil-weiter{position:absolute;left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);font-size:1.3rem;color:var(--sage);animation:weiter 1.8s ease-in-out infinite}
/* Begrüßung mit Natalys Video: Schrift hell und unten, darüber ein dunkler Verlauf, damit sie auf dem hellen Atelier lesbar bleibt */
.teil-gruss.mit-video{background:#3a3a30;color:#fffdf9;align-content:end}
.teil-gruss.mit-video>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;display:block}
.teil-gruss.mit-video::after{display:block;background:linear-gradient(180deg,rgba(30,32,22,.5) 0,rgba(30,32,22,.08) 22%,rgba(30,32,22,.12) 42%,rgba(30,32,22,.84) 100%)}
.teil-gruss.mit-video header.begruessung{padding-bottom:calc(56px + env(safe-area-inset-bottom,0px));text-shadow:0 1px 10px rgba(30,32,22,.35)}
.teil-gruss.mit-video header.begruessung h1,.teil-gruss.mit-video .eyebrow,.teil-gruss.mit-video header.begruessung .hello p,.teil-gruss.mit-video .teil-weiter{color:#fffdf9}
.teil-gruss.mit-video .eyebrow{font-size:.85rem}
@keyframes weiter{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,6px)}}
@media (max-width:760px){:root{--wrap-oben:16px}}
/* Vollbild-Teil mit wechselnden Fotos (Punkte setzt haendler.js) */
/* Ebenen: das neue Foto (an) blendet über dem alten (vorher) ein, alle übrigen liegen ganz unten */
.teil.wechsel>img{opacity:0;transition:opacity 2.5s ease-in-out;z-index:-4}
.teil.wechsel>img.an{opacity:1;z-index:-2}
.teil.wechsel>img.vorher{opacity:1;transition:none;z-index:-3}
.teil-punkte{display:flex;gap:6px}.teil-punkte i{width:7px;height:7px;border-radius:50%;background:rgba(255,253,249,.45)}.teil-punkte i.an{background:#fffdf9}
/* am Computer: rechts ein Quadrat in voller Höhe, nach links läuft es ins Dunkle aus (dort steht der Text);
   Hochformate füllen das Quadrat, --fokus-breit legt fest, welcher Teil zu sehen ist */
@media (min-width:761px){
  .teil:has(>img.foto-oben),.teil:has(>.foto-rechts){background:#2b2c23}
  .teil>img.foto-oben,.teil>.foto-rechts{left:auto;right:0;width:auto;max-width:100%;aspect-ratio:1/1;object-position:var(--fokus-breit,50% 50%);-webkit-mask-image:linear-gradient(to right,transparent,#000 30%);mask-image:linear-gradient(to right,transparent,#000 30%)}
}
/* Das Gesicht als zartes Wasserzeichen im Kasten „Das steckt in meinem Schmuck“ */
.usp{position:relative;isolation:isolate;overflow:hidden;padding-block:36px}
.usp .gesicht-flaeche{inset:0;left:0;width:100%;height:100%;transform:none;z-index:-1}
.usp .gesicht-flaeche>.gesicht{height:130%;opacity:.75}
@media (max-width:760px){.usp .gesicht-flaeche>.gesicht{width:122%;height:120%;left:44%;top:52%}} /* am Handy größer */
