/* =========================================================
   Moulin J.P. Dieschbourg – hell, modern, Akzent Logo-Rot
   ========================================================= */
@font-face{font-family:"Inter";src:url(../fonts/inter-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Fraunces";src:url(../fonts/fraunces-latin-full-normal.woff2) format("woff2");font-weight:100 900;font-display:swap}

:root{
  --bg:#ffffff; --bg2:#faf7f5; --card:#fdfcfb; --card2:#f6f1ee;
  --ligne:rgba(70,25,20,.09); --ligne2:rgba(70,25,20,.16);
  --acc:#a3221f; --acc2:#c0342e; --acc-f:rgba(163,34,31,.08); --acc-b:rgba(163,34,31,.38);
  --texte:#1e1715; --muted:#675c57; --muted2:#968a85;
  --ok:#3a9b5c;
  --r:18px; --r-l:22px;
  --ombre:0 14px 40px -26px rgba(80,25,20,.35);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--texte);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-weight:700;letter-spacing:-.025em;line-height:1.1;color:var(--texte);overflow-wrap:break-word}
.wrap{max-width:1280px;margin:0 auto;padding:0 40px}
.muted{color:var(--muted)}
.center{text-align:center}
.serif,.krakel{font-family:Fraunces,Georgia,serif;font-weight:600;color:var(--acc);letter-spacing:-.01em;font-variation-settings:"WONK" 1;white-space:normal}
.krakel svg{display:none}
.vague,.deco,.trenner{display:none!important}

/* kleine Überschrift über Titeln */
.hand{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--acc)}
.hand::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--acc)}

/* ---------- Header ---------- */
header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.84);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .3s}
header.scrolled{border-bottom-color:var(--ligne)}
.nav{display:flex;align-items:center;justify-content:space-between;height:84px;gap:20px}
.logo{display:flex;align-items:center;gap:12px;font-weight:700;font-size:1.1rem}
.logo img{width:40px;height:40px;border-radius:50%;object-fit:cover;border:1px solid var(--ligne)}
.logo b{font-weight:700;color:var(--texte)}
.logo b span{color:var(--acc)}
.logo small{display:none}
nav ul{display:flex;gap:30px;list-style:none;align-items:center}
nav a{position:relative;display:block;padding:6px 0;font-size:.95rem;font-weight:500;color:#2e2523;transition:color .2s}
nav a:hover,nav a.active{color:var(--acc)}
nav a.active::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--acc);border-radius:2px}
.nav-droite{display:flex;align-items:center;gap:12px}
.langs{display:flex;font-size:.78rem;font-weight:700;border:1px solid var(--ligne2);border-radius:10px;overflow:hidden;background:#fff}
.langs a{padding:7px 10px;color:var(--muted2)}
.langs a:hover{color:var(--texte)}
.langs a.on{background:var(--acc-f);color:var(--acc)}
.cart-link{display:inline-flex;align-items:center;gap:10px;padding:11px 20px;border-radius:10px;font-weight:600;font-size:.95rem;border:1px solid var(--acc-b);background:linear-gradient(180deg,rgba(163,34,31,.10),rgba(163,34,31,.03));color:var(--acc);white-space:nowrap;transition:.2s}
.cart-link:hover{background:rgba(163,34,31,.14);box-shadow:0 0 26px -8px rgba(163,34,31,.5)}
.cart-badge{background:var(--acc);color:#fff;border-radius:999px;font-size:.72rem;min-width:20px;padding:1px 6px;text-align:center;font-weight:700}
.nav-shop{list-style:none}
.burger{display:none;background:#fff;border:1px solid var(--ligne2);width:46px;height:46px;border-radius:12px;font-size:1.3rem;color:var(--texte);cursor:pointer}

/* ---------- Boutons ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;padding:13px 26px;border-radius:10px;font-weight:600;font-size:.98rem;border:1px solid var(--acc-b);background:linear-gradient(180deg,rgba(163,34,31,.10),rgba(163,34,31,.03));color:var(--acc);transition:.2s;cursor:pointer;font-family:inherit}
.btn:hover{background:rgba(163,34,31,.14);box-shadow:0 0 30px -8px rgba(163,34,31,.45)}
.btn-rouge,.btn.plein{background:var(--acc);color:#fff;border-color:var(--acc)}
.btn-rouge:hover,.btn.plein:hover{background:var(--acc2)}
.btn-doux,.btn.blanc{border-color:var(--ligne2);background:#fff;color:var(--texte)}
.btn-doux:hover,.btn.blanc:hover{border-color:var(--acc-b);color:var(--acc)}
.btn-sauge{background:var(--acc);color:#fff}
.btn.gros{padding:16px 34px;font-size:1.05rem}
.btn-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.fl{transition:transform .2s}.btn:hover .fl{transform:translateX(3px)}

/* ---------- Hero Startseite ---------- */
.glow{position:relative;overflow:hidden}
.glow::before{content:"";position:absolute;inset:0;background:
  radial-gradient(ellipse 38% 55% at 50% 0%,rgba(192,52,46,.30),rgba(192,52,46,.08) 50%,transparent 75%),
  radial-gradient(ellipse 70% 45% at 50% 0%,rgba(246,215,205,.7),transparent 70%);pointer-events:none}
.glow::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(70,25,20,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(70,25,20,.045) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse 70% 70% at 50% 25%,#000,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 25%,#000,transparent 80%);pointer-events:none}
.glow>.wrap{position:relative;z-index:1}
.hero{padding:34px 0 110px;text-align:center}
.bandeau{display:flex;gap:12px;align-items:center;font-size:.92rem;color:#3a2f2b;background:rgba(255,255,255,.75);border:1px solid var(--ligne);border-radius:12px;padding:9px 18px;width:max-content;max-width:100%;margin:0 auto}
.bandeau .dot{flex:none;width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok)}
.bandeau .dot.ferme{background:#c9443a;box-shadow:0 0 8px #c9443a}
.pill{display:inline-flex;align-items:center;gap:9px;margin-top:80px;padding:9px 18px;border-radius:999px;background:rgba(255,255,255,.8);border:1px solid var(--ligne2);font-size:.92rem;font-weight:500}
.pill::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--acc)}
.hero h1{font-size:clamp(2.5rem,5.6vw,4.6rem);margin:26px auto 22px;max-width:1000px}
.hero h1 .serif{font-size:1.08em}
.hero p.sous{font-size:1.22rem;color:#4d4240;max-width:640px;margin:0 auto}
.finder{max-width:780px;margin:54px auto 0;background:rgba(255,255,255,.94);border:1px solid var(--ligne2);border-radius:var(--r);text-align:left;box-shadow:0 30px 70px -32px rgba(90,25,20,.35)}
.finder .tete-f{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--ligne);font-weight:600}
.finder .tete-f span{display:flex;gap:10px;align-items:center}
.finder .tete-f small{color:var(--muted2);font-weight:500}
.finder .corps{padding:20px}
.finder .q{font-size:1.06rem;color:#3a2f2b;margin-bottom:14px}
.choix{display:flex;gap:10px;flex-wrap:wrap}
.choix button{font:inherit;font-weight:600;font-size:.92rem;padding:10px 16px;border-radius:10px;border:1px solid var(--ligne2);background:var(--card2);color:var(--texte);cursor:pointer;transition:.2s}
.choix button:hover{border-color:var(--acc-b)}
.choix button.on{background:var(--acc-f);border-color:var(--acc);color:var(--acc)}
.resultat{display:flex;gap:18px;align-items:center;margin-top:18px;padding:14px;border-radius:14px;background:var(--bg2);border:1px solid var(--ligne);min-height:112px}
.resultat img{width:84px;height:84px;border-radius:12px;object-fit:cover;background:#fff;flex:none;border:1px solid var(--ligne)}
.resultat b{display:block;font-size:1.06rem}
.resultat p{color:var(--muted);font-size:.92rem}
.resultat .go{margin-left:auto;width:46px;height:46px;flex:none;border-radius:12px;background:var(--acc);color:#fff;display:grid;place-items:center;font-size:1.3rem;font-weight:700}
.hero .cta{margin-top:40px}

/* ---------- Seitenkopf Unterseiten ---------- */
.page-top{padding:40px 0 80px}
.page-top .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}
.page-top h1{font-size:clamp(2.3rem,4.6vw,3.8rem);margin:14px 0 20px}
.page-top p{font-size:1.15rem;color:var(--muted);max-width:560px}
.page-top .btn-row{margin-top:28px}
.blob{border-radius:var(--r-l);overflow:hidden;aspect-ratio:4/3;border:1px solid var(--ligne);box-shadow:var(--ombre)}
.blob img{width:100%;height:100%;object-fit:cover}
.photo-hero{position:relative}
.pastille{position:absolute;right:-14px;top:24px;background:#fff;border:1px solid var(--ligne);border-radius:14px;padding:12px 16px;box-shadow:var(--ombre);text-align:center}
.pastille b{font-family:Fraunces,serif;font-size:2rem;color:var(--acc);display:block;line-height:1}
.pastille span{font-size:.8rem;color:var(--muted)}

/* ---------- Abschnitte ---------- */
section{padding:100px 0}
.sable{background:var(--bg2);border-top:1px solid var(--ligne);border-bottom:1px solid var(--ligne)}
.sauge-bg{background:var(--bg2);color:var(--texte);border-top:1px solid var(--ligne);border-bottom:1px solid var(--ligne)}
.sauge-bg .prose p{color:var(--muted)!important}
.sauge-bg b[style]{color:var(--acc)!important}
.tete{max-width:700px;margin:0 auto 54px;text-align:center}
.tete h2,.titre,h2.titre{font-size:clamp(2.1rem,4.2vw,3.4rem);margin-top:10px}
.tete p{color:var(--muted);margin-top:16px;font-size:1.1rem}
.tete.gauche{margin-left:0;text-align:left}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.grid-2>*,.grid-3>*,.grid-4>*,.products>*,.page-top .wrap>*,.order-layout>*{min-width:0}
.prose p{margin-bottom:14px;color:var(--muted);font-size:1.04rem}
.prose p:last-child{margin-bottom:0}
.prose b{color:var(--texte)}
h2.titre{margin:10px 0 18px}

.photo{border-radius:var(--r-l);overflow:hidden;position:relative;border:1px solid var(--ligne);box-shadow:var(--ombre)}
.photo img{width:100%;height:100%;object-fit:cover}
.photo .hand{position:absolute;left:18px;bottom:16px;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border:1px solid var(--ligne2);padding:7px 14px;border-radius:10px;text-transform:none;letter-spacing:0;font-size:.86rem;color:var(--texte)}
.photo .hand::before{display:none}
.arche{border-radius:var(--r-l)}

/* Karten */
.card{background:var(--card);border:1px solid var(--ligne);border-radius:var(--r);padding:14px 14px 22px;display:flex;flex-direction:column;transition:transform .25s,border-color .25s;box-shadow:var(--ombre)}
a.card:hover{transform:translateY(-4px);border-color:var(--acc-b)}
.card .img{border-radius:12px;overflow:hidden;aspect-ratio:4/3;background:#fff;border:1px solid var(--ligne)}
.card .img img{width:100%;height:100%;object-fit:cover}
.card h3{font-size:1.2rem;margin:16px 6px 6px;letter-spacing:-.01em}
.card p{color:var(--muted);margin:0 6px;flex:1;font-size:.95rem}
.card .lien{margin:14px 6px 0;font-weight:600;color:var(--acc)}
.c-rose,.c-sauge,.c-sable,.c-lilas{background:var(--card)}
.cat .img{aspect-ratio:1}

.info{background:var(--card);border:1px solid var(--ligne);border-radius:var(--r-l);padding:34px;box-shadow:var(--ombre)}
.info>svg{width:46px!important;height:46px!important;padding:11px;border-radius:12px;background:var(--acc-f);color:var(--acc)!important;margin-bottom:14px}
.info h3{font-size:1.7rem;margin:8px 0 12px}
.info p{color:var(--muted)}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}
.facts div{background:var(--bg2);border:1px solid var(--ligne);border-radius:12px;padding:12px 16px;font-size:.92rem}
.facts b{display:block}
.feature{display:flex;gap:16px}
.feature .ic{flex:none;width:48px;height:48px;border-radius:12px;background:var(--acc-f);display:grid;place-items:center;color:var(--acc)}
.feature .ic svg{width:26px;height:26px}
.feature h4{font-size:1.12rem;margin-bottom:4px}
.feature p{color:var(--muted);font-size:.95rem}
.labels{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.labels img{height:64px;width:64px;object-fit:contain;background:#fff;border-radius:14px;padding:5px;border:1px solid var(--ligne)}
.tag{display:inline-block;background:var(--acc-f);color:var(--acc);font-family:Inter;font-weight:700;font-size:.7rem;padding:2px 9px;border-radius:999px;vertical-align:3px;letter-spacing:.02em}
.ico{width:28px;height:28px;color:var(--acc)}

.coffee-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.coffee-list li{background:#fff;border:1px solid var(--ligne);border-radius:14px;padding:14px 18px}
.coffee-list b{font-weight:600}
.coffee-list .tag{display:inline-block;margin-left:6px}
.coffee-list span:not(.tag){display:block;font-size:.9rem;color:var(--muted)}

.timeline{list-style:none;display:grid;gap:0;border-left:2px solid var(--ligne2);margin-left:6px}
.timeline li{display:flex;gap:16px;align-items:baseline;padding:10px 0 10px 22px;position:relative}
.timeline li::before{content:"";position:absolute;left:-7px;top:16px;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--acc)}
.timeline b{font-family:Fraunces,serif;font-weight:600;color:var(--acc);font-size:1.25rem;min-width:74px}
.timeline span{color:var(--muted)}

/* Porträts (früher Polaroids) */
.polas{display:flex;gap:14px;justify-content:center;align-items:flex-end;height:auto!important}
.pola{position:relative!important;left:auto!important;top:auto!important;transform:none!important;width:31%!important;background:#fff;border:1px solid var(--ligne);border-radius:16px;padding:8px 8px 40px;box-shadow:var(--ombre)}
.pola img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:10px;filter:sepia(.25)}
.pola[style*="250px"] img{aspect-ratio:4/3}
.pola span{position:absolute;left:0;right:0;bottom:11px;text-align:center;font-size:.85rem;color:var(--muted);font-weight:500}
.pola .tape{display:none}
.p2{margin-bottom:24px}

.team{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.member{background:var(--card);border:1px solid var(--ligne);border-radius:var(--r);padding:26px 18px;text-align:center}
.member .ini{width:84px;height:84px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;font-family:Fraunces,serif;font-size:1.6rem;font-weight:600;color:var(--acc);background:var(--acc-f);border:1px solid var(--acc-b)}
.member b{display:block;font-weight:600}
.member span{color:var(--muted);font-size:.9rem}
.logos{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}
.logos img{width:96px;height:96px;object-fit:contain;background:#fff;border-radius:18px;padding:12px;border:1px solid var(--ligne);filter:grayscale(.3);opacity:.9;transition:.2s}
.logos img:hover{filter:none;opacity:1}

.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.gallery button{border:1px solid var(--ligne);padding:0;cursor:zoom-in;border-radius:14px;overflow:hidden;aspect-ratio:4/3;background:var(--card2)}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gallery button:hover img{transform:scale(1.05)}
.lightbox{position:fixed;inset:0;background:rgba(20,12,10,.9);display:none;align-items:center;justify-content:center;z-index:100;padding:30px}
.lightbox.open{display:flex}
.lightbox img{max-width:min(1100px,92vw);max-height:82vh;border-radius:14px}
.lightbox button{position:absolute;background:#fff;border:0;color:var(--texte);font-size:1.6rem;width:50px;height:50px;border-radius:12px;cursor:pointer}
.lb-close{top:20px;right:20px}.lb-prev{left:20px}.lb-next{right:20px}
.lb-cap{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#eee}

/* ---------- Startseite: Bausteine ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.sticky{position:sticky;top:120px}
.lead{font-size:1.16rem;color:var(--muted);margin-top:18px;max-width:620px}
.center .lead{margin-left:auto;margin-right:auto}
.avatars{display:flex;align-items:center;gap:16px;margin:32px 0}
.avatars .pile{display:flex}
.avatars .pile img{width:46px;height:46px;border-radius:50%;object-fit:cover;border:2px solid #fff;margin-left:-12px;filter:sepia(.3);box-shadow:0 2px 6px rgba(0,0,0,.1)}
.avatars .pile img:first-child{margin-left:0}
.avatars .pile span{width:46px;height:46px;border-radius:50%;margin-left:-12px;background:var(--card2);border:2px solid #fff;display:grid;place-items:center;font-size:.78rem;color:var(--muted)}
.avatars b{display:block;font-weight:600}
.avatars small{color:var(--muted)}
.acc{display:grid;gap:14px}
.item{background:var(--card);border:1px solid var(--ligne);border-radius:var(--r);transition:border-color .2s}
.item:hover{border-color:var(--ligne2)}
.item .h{all:unset;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:6px 18px;width:100%;box-sizing:border-box;padding:22px 24px}
.badge{display:inline-flex;gap:12px;align-items:center;font-size:.82rem;color:var(--muted)}
.badge b{background:var(--acc-f);color:var(--acc);padding:4px 11px;border-radius:999px;font-weight:600}
.item h3{font-size:1.18rem;letter-spacing:-.01em;grid-column:1}
.item .sub{grid-column:1;color:var(--muted);font-size:.95rem}
.plus{grid-column:2;grid-row:1/span 3;align-self:center;width:42px;height:42px;border-radius:10px;border:1px solid var(--acc-b);background:var(--acc-f);color:var(--acc);display:grid;place-items:center;font-size:1.3rem;transition:transform .3s}
.item.open .plus{transform:rotate(45deg)}
.item .det{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s}
.item.open .det{grid-template-rows:1fr}
.item .det>div{overflow:hidden}
.item .det p{padding:0 24px 22px;color:var(--muted);font-size:.96rem}
.item .det img{margin:0 24px 18px;border-radius:12px;max-height:180px;width:calc(100% - 48px);object-fit:cover;filter:sepia(.2)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:60px;text-align:center}
.stats b{font-family:Fraunces,serif;font-weight:600;font-size:3.2rem;display:block;letter-spacing:-.02em}
.stats span{color:var(--muted)}
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;margin-top:56px}
.b{background:var(--card);border:1px solid var(--ligne);border-radius:var(--r);padding:26px;overflow:hidden;box-shadow:var(--ombre)}
.b .ic{width:46px;height:46px;border-radius:12px;background:var(--acc-f);display:grid;place-items:center;color:var(--acc);margin-bottom:18px}
.b .ic svg{width:24px;height:24px}
.b h3{font-size:1.28rem;letter-spacing:-.01em;margin-bottom:6px}
.b p{color:var(--muted);font-size:.95rem}
.b1{grid-column:span 6}.b2,.b3,.b4,.b6{grid-column:span 3}.b5{grid-column:span 6}
.check{margin-top:18px;display:grid;gap:9px;background:var(--bg2);border:1px solid var(--ligne);border-radius:12px;padding:16px;max-width:420px;font-size:.9rem}
.check div{display:flex;gap:10px;align-items:center}
.check i{width:17px;height:17px;border-radius:5px;background:var(--acc);display:grid;place-items:center;font-style:normal;font-size:.7rem;color:#fff;font-weight:900}
.mini-img{margin-top:18px;border-radius:12px;height:130px;object-fit:cover;width:100%}
.code{margin-top:18px;background:var(--bg2);border:1px solid var(--ligne);border-radius:12px;padding:14px 16px;font-family:ui-monospace,Menlo,monospace;font-size:.85rem;color:var(--acc)}
.tabs{display:flex;gap:8px;margin-bottom:12px}
.tabs span{font-family:Inter;font-size:.78rem;padding:4px 10px;border-radius:6px;background:var(--card2);color:var(--muted)}
.tabs span.on{background:var(--acc-f);color:var(--acc)}
.mois{margin-top:20px}
.mois .chip-m{display:inline-flex;gap:8px;align-items:center;font-size:.85rem;color:var(--acc);border:1px solid var(--acc-b);background:var(--acc-f);padding:5px 12px;border-radius:8px;margin-bottom:14px}
.barres{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;font-size:.78rem;color:var(--muted);text-align:center}
.barres div::before{content:"";display:block;height:4px;border-radius:4px;background:var(--acc);margin-bottom:8px}
.barres div:last-child::before{background:var(--ligne2)}
.toggle{display:flex;gap:4px;width:max-content;margin:36px auto 0;padding:5px;border-radius:14px;background:var(--card2);border:1px solid var(--ligne)}
.toggle button{font:inherit;font-weight:600;padding:11px 26px;border-radius:10px;border:0;background:none;color:var(--muted);cursor:pointer}
.toggle button.on{background:#fff;color:var(--acc);box-shadow:inset 0 0 0 1px var(--acc-b),0 4px 12px -6px rgba(0,0,0,.2)}
.plans{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:1040px;margin:36px auto 0}
.plan{background:var(--card);border:1px solid var(--ligne2);border-radius:var(--r-l);padding:34px;position:relative}
.plan.vedette{border:1.5px solid var(--acc);box-shadow:0 20px 60px -26px rgba(163,34,31,.45)}
.plan .coin{position:absolute;top:-1px;right:24px;background:var(--acc);color:#fff;font-size:.8rem;font-weight:700;padding:5px 12px;border-radius:0 0 8px 8px}
.plan .type{color:var(--acc);font-weight:600}
.plan .gros-prix{font-family:Fraunces,serif;font-size:3rem;font-weight:600;margin:6px 0 2px;letter-spacing:-.02em}
.plan .gros-prix small{font-family:Inter;font-size:1rem;color:var(--muted);font-weight:500}
.plan ul{list-style:none;display:grid;gap:13px;margin:26px 0 30px}
.plan li{display:flex;gap:12px;align-items:flex-start}
.plan li::before{content:"✓";flex:none;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--acc);color:var(--acc);display:grid;place-items:center;font-size:.7rem;font-weight:800;margin-top:2px}
.plan .btn{width:100%;justify-content:center;padding:16px}
.plan .garantie{border-top:1px solid var(--ligne);margin-top:24px;padding-top:18px;text-align:center;color:var(--muted);font-size:.9rem}
.puces{display:flex;gap:14px;justify-content:center;margin-top:30px;flex-wrap:wrap}
.puces span{border:1px solid var(--ligne2);border-radius:999px;padding:10px 20px;font-size:.95rem;background:#fff}

/* Reveal */
.rv{opacity:0;transform:translateY(22px);transition:opacity .8s,transform .8s}
.rv.vu{opacity:1;transform:none}

/* ---------- Produkte ---------- */
.products{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.product{background:var(--card);border:1px solid var(--ligne);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;position:relative;transition:transform .25s,border-color .25s}
.product:hover{transform:translateY(-4px);border-color:var(--acc-b)}
.product .pic{background:#fff;aspect-ratio:1;overflow:hidden;border-bottom:1px solid var(--ligne)}
.product .pic img{width:100%;height:100%;object-fit:cover}
.product .lbl{display:flex;gap:6px;flex-wrap:wrap;margin:16px 18px 4px;min-height:20px}
.product .lbl span{color:var(--acc);font-weight:700;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase}
.product .lbl span+span::before{content:"· ";color:var(--muted2)}
.product .etiq{position:absolute;top:12px;left:12px;background:var(--acc);color:#fff;padding:4px 11px;border-radius:999px;font-size:.75rem;font-weight:700;z-index:2}
.product h3{font-size:1.06rem;margin:0 18px;letter-spacing:-.01em}
.product .desc{color:var(--muted);font-size:.86rem;margin:6px 18px 0;flex:1;line-height:1.5}
.product select.g{margin:12px 18px 0;font:inherit;font-size:.86rem;padding:9px 12px;border:1px solid var(--ligne2);border-radius:10px;background:#fff;color:var(--texte)}
.product .meta{display:flex;justify-content:space-between;align-items:center;margin:14px 18px 18px;gap:10px}
.price{font-weight:700}
.price.req{font-weight:500;font-size:.88rem;color:var(--muted)}
.add{width:42px;height:42px;flex:none;border-radius:10px;border:1px solid var(--acc-b);background:var(--acc-f);color:var(--acc);font-size:1.3rem;font-weight:600;cursor:pointer;transition:.2s;font-family:inherit;line-height:1}
.add:hover{background:var(--acc);color:#fff}
.add.done{background:var(--ok);color:#fff;border-color:var(--ok)}
.cat-bloc+.cat-bloc{margin-top:70px}

/* ---------- Bestellung ---------- */
.order-layout{display:grid;grid-template-columns:1.45fr 1fr;gap:28px;align-items:start}
.order-list{background:var(--card);border:1px solid var(--ligne);border-radius:var(--r-l);overflow:hidden}
.row-cat{padding:12px 20px;background:var(--bg2);border-bottom:1px solid var(--ligne);font-weight:700;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--acc)}
.row{display:grid;grid-template-columns:58px 1fr;gap:6px 14px;align-items:center;padding:14px 20px;border-bottom:1px solid var(--ligne)}
.row:last-child{border-bottom:0}
.row img{grid-row:span 2;width:58px;height:58px;border-radius:12px;object-fit:cover;background:#fff;border:1px solid var(--ligne)}
.row h4{font-size:1rem;letter-spacing:-.01em}
.row small{color:var(--muted);display:block}
.row .opts{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.row .opts .qty{margin-left:auto}
.row select{font:inherit;font-size:.85rem;padding:7px 10px;border:1px solid var(--ligne2);border-radius:9px;background:#fff;color:var(--texte)}
.row.has{background:rgba(163,34,31,.04)}
.qty{display:flex;align-items:center;border:1px solid var(--ligne2);border-radius:10px;overflow:hidden;background:#fff}
.qty button{width:36px;height:36px;border:0;background:none;cursor:pointer;font-size:1.1rem;color:var(--acc);font-weight:600}
.qty button:hover{background:var(--acc-f)}
.qty input{width:36px;text-align:center;border:0;font:inherit;font-weight:700;background:transparent;color:var(--texte);-moz-appearance:textfield}
.qty input::-webkit-inner-spin-button{-webkit-appearance:none}
.summary{position:sticky;top:110px;background:var(--card);border:1.5px solid var(--acc);border-radius:var(--r-l);padding:30px;box-shadow:0 20px 60px -30px rgba(163,34,31,.45)}
.summary h3{font-size:1.25rem;margin-bottom:12px}
.sum-items{font-size:.92rem;color:var(--muted);max-height:220px;overflow:auto;margin-bottom:12px}
.sum-items div{display:flex;justify-content:space-between;gap:10px;padding:4px 0}
.total{display:flex;justify-content:space-between;font-size:1.15rem;font-weight:700;border-top:1px solid var(--ligne2);padding-top:12px;margin-bottom:6px}
.total-note{font-size:.82rem;color:var(--muted);margin-bottom:18px}
form label{display:block;font-size:.86rem;font-weight:600;margin:14px 0 6px}
form input,form select,form textarea{width:100%;padding:12px 14px;border:1px solid var(--ligne2);border-radius:10px;font:inherit;background:#fff;color:var(--texte)}
form input:focus,form select:focus,form textarea:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-f)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.radio-group{display:flex;gap:4px;padding:4px;border-radius:12px;background:var(--card2);border:1px solid var(--ligne)}
.radio-group label{flex:1;margin:0;border-radius:9px;padding:10px;font-weight:600;cursor:pointer;display:flex;gap:8px;align-items:center;justify-content:center;color:var(--muted)}
.radio-group label:has(input:checked){background:#fff;color:var(--acc);box-shadow:inset 0 0 0 1px var(--acc-b)}
.radio-group input{width:auto;accent-color:var(--acc)}
.box{font-size:.86rem;color:var(--muted);margin-top:16px;border-top:1px solid var(--ligne);padding-top:16px;text-align:center}
.msg{display:none;margin-top:14px;padding:14px 16px;border-radius:12px;font-size:.92rem}
.msg.ok{display:block;background:#eaf6ee;color:#1f6b3b}
.msg.err{display:block;background:var(--acc-f);color:var(--acc)}
.full{width:100%;justify-content:center;margin-top:20px;padding:16px}
.chip{border:1px solid var(--ligne2);background:#fff;padding:8px 16px;border-radius:10px;cursor:pointer;font-family:inherit;font-weight:600;color:var(--muted)}
.chip:hover{color:var(--acc);border-color:var(--acc-b)}

/* ---------- Kontakt ---------- */
.info-list{list-style:none;display:grid;gap:22px}
.info-list li{display:flex;gap:16px}
.info-list .ic{flex:none;width:46px;height:46px;border-radius:12px;background:var(--acc-f);display:grid;place-items:center;font-size:1.15rem}
.hours{width:100%;border-collapse:collapse}
.hours td{padding:11px 0;border-bottom:1px solid var(--ligne)}
.hours td:last-child{text-align:right;color:var(--muted)}
.map{border:1px solid var(--ligne);width:100%;height:420px;border-radius:var(--r-l);box-shadow:var(--ombre)}
.certs{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.cert{background:var(--card);border:1px solid var(--ligne);border-radius:var(--r);padding:22px;text-align:center;transition:.2s}
.cert:hover{transform:translateY(-4px);border-color:var(--acc-b)}
.cert img{height:160px;width:auto;margin:0 auto 14px}
.cert b{display:block;font-weight:600}
.cert span{font-size:.88rem;color:var(--acc);font-weight:600}

/* ---------- Footer + Orb ---------- */
.orbe{position:relative;height:330px;overflow:hidden;background:radial-gradient(ellipse 60% 120% at 50% 100%,rgba(192,52,46,.30),rgba(246,215,205,.5) 50%,transparent 75%)}
.orbe .sphere{position:absolute;left:50%;top:44px;width:640px;height:640px;margin-left:-320px;border-radius:50%;background:radial-gradient(circle at 50% 25%,#fff,#f8efec 60%);box-shadow:0 0 120px rgba(163,34,31,.25),inset 0 0 0 1px rgba(163,34,31,.12)}
.orbe i{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--acc);box-shadow:0 0 12px var(--acc);animation:flotte 6s ease-in-out infinite}
@keyframes flotte{50%{transform:translateY(-12px);opacity:.55}}
.orbe .cta-f{position:absolute;inset:auto 0 64px;text-align:center;z-index:2;padding:0 20px}
.orbe .cta-f h2{font-size:clamp(1.8rem,3.5vw,2.6rem);margin-bottom:22px}
footer{background:var(--bg2);border-top:1px solid var(--ligne);padding:70px 0 36px}
footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}
footer .cols p{color:var(--muted);margin-top:16px;max-width:420px}
footer h4{font-size:.78rem;letter-spacing:.14em;color:var(--muted);margin-bottom:18px;font-weight:600;text-transform:uppercase}
footer ul{list-style:none;display:grid;gap:11px;color:#3a302c}
footer a:hover{color:var(--acc)}
.social{display:flex;gap:10px;margin-top:20px}
.social a{width:40px;height:40px;border-radius:50%;border:1px solid var(--ligne2);display:grid;place-items:center;font-weight:700;color:var(--muted)}
.langs-pied{display:inline-flex;margin-top:20px}
.copy{border-top:1px solid var(--ligne);margin-top:50px;padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;color:var(--muted2);font-size:.85rem}

/* ---------- Verwaltung ---------- */
.admin-drop{display:block;border:2px dashed var(--acc-b);border-radius:var(--r-l);padding:44px;text-align:center;background:var(--bg2);cursor:pointer}
.admin-drop.over{background:var(--acc-f)}
.admin-table{width:100%;border-collapse:collapse;font-size:.9rem;background:#fff;border:1px solid var(--ligne);border-radius:12px;overflow:hidden}
.admin-table th,.admin-table td{padding:9px 12px;border-bottom:1px solid var(--ligne);text-align:left;vertical-align:top}
.admin-table th{background:var(--bg2)}
.admin-table tr.off td{opacity:.45}
.admin-table img{width:46px;height:46px;object-fit:cover;border-radius:10px}
.warn{background:#fff6dc;border:1px solid #efd98c;border-radius:12px;padding:16px 20px;margin:18px 0;font-size:.92rem}
.warn li{margin-left:18px}
.ok-box{background:#eaf6ee;color:#1f6b3b;border-radius:12px;padding:16px 20px;margin:18px 0;font-weight:600}

/* ---------- Responsive ---------- */
@media (max-width:1180px){ nav ul{gap:20px} nav a{font-size:.9rem} }
@media (max-width:1000px){
  .burger{display:block}
  nav ul{display:none;position:absolute;top:80px;left:16px;right:16px;flex-direction:column;align-items:stretch;gap:0;background:#fff;border:1px solid var(--ligne2);border-radius:var(--r);padding:10px;box-shadow:var(--ombre)}
  nav ul.open{display:flex}
  nav a{padding:12px 14px;font-size:1rem}
  nav a.active::after{display:none}
  .nav-shop .nav-droite{flex-direction:column;align-items:stretch;gap:10px;padding:10px 4px 4px;border-top:1px solid var(--ligne);margin-top:6px}
  .nav-shop .langs{justify-content:center}
  .nav-shop .langs a{flex:1;text-align:center;padding:10px}
  .nav-shop .cart-link{justify-content:center}
  .page-top .wrap,.grid-2,.order-layout,.split,.plans{grid-template-columns:1fr;gap:40px}
  .sticky,.summary{position:static}
  .products,.grid-4,.team,.certs,.stats{grid-template-columns:repeat(2,1fr)}
  .grid-3{grid-template-columns:1fr}
  .bento{grid-template-columns:1fr 1fr}.b1,.b2,.b3,.b4,.b5,.b6{grid-column:span 1}.b1,.b5{grid-column:span 2}
  .coffee-list{grid-template-columns:1fr}
  footer .cols{grid-template-columns:1fr 1fr}
  .pastille{right:8px}
}
@media (max-width:600px){
  .wrap{padding:0 18px}
  section{padding:70px 0}
  .nav{height:74px}
  .hero{padding-bottom:70px}
  .bandeau{font-size:.8rem;text-align:left}
  .pill{margin-top:46px;font-size:.82rem}
  .hero p.sous{font-size:1.04rem}
  .finder{margin-top:36px}
  .resultat{flex-wrap:wrap}
  .resultat .go{margin-left:0}
  .page-top{padding:24px 0 56px}
  .page-top h1{font-size:2.1rem}
  .tete{margin-bottom:36px}
  .tete h2,.titre,h2.titre{font-size:1.9rem}
  .btn{padding:12px 18px;font-size:.93rem}
  .products{grid-template-columns:1fr;gap:12px}
  .product{display:grid;grid-template-columns:104px 1fr;column-gap:14px;padding:12px}
  .product .pic{grid-row:1/span 6;width:104px;height:104px;border-radius:12px;border:1px solid var(--ligne)}
  .product .lbl,.product h3,.product .desc,.product select.g,.product .meta{grid-column:2;margin-left:0;margin-right:0}
  .product .lbl{margin-top:2px;min-height:0}.product .lbl:empty{display:none}
  .product .desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.84rem}
  .product .meta{margin-bottom:0;margin-top:10px}
  .product .etiq{top:6px;left:6px;font-size:.68rem}
  .grid-4:has(.cat){grid-template-columns:1fr 1fr;gap:12px}
  .card{padding:10px 10px 16px}
  .card h3{font-size:1.02rem;margin:12px 4px 4px}
  .card p{font-size:.86rem;margin:0 4px}
  .card .lien{display:none}
  .bento{grid-template-columns:1fr}.b1,.b5{grid-column:span 1}
  .stats b{font-size:2.4rem}
  .plan{padding:26px 22px}
  .info{padding:24px 20px}
  .facts{grid-template-columns:1fr 1fr;gap:8px}
  .team{gap:10px}
  .member{padding:18px 8px}
  .member .ini{width:64px;height:64px;font-size:1.3rem}
  .logos img{width:76px;height:76px}
  .gallery{grid-template-columns:repeat(2,1fr);gap:10px}
  .certs{grid-template-columns:1fr 1fr;gap:10px}
  .cert{padding:14px}.cert img{height:110px}
  .row{padding:12px}
  .row img{grid-row:auto;width:48px;height:48px}
  .row{grid-template-columns:48px 1fr}
  .row .opts{grid-column:1/-1}
  .summary{padding:22px 18px}
  .two{grid-template-columns:1fr}
  .orbe{height:280px}
  .orbe .sphere{width:420px;height:420px;margin-left:-210px}
  footer .cols{grid-template-columns:1fr}
  .info-list li{overflow-wrap:anywhere}
  .map{height:300px}
  .pola span{font-size:.72rem}
}
@media (max-width:380px){
  .wrap{padding:0 14px}
  .hero h1{font-size:2.1rem}
  .logo b{font-size:1rem}
  .facts{grid-template-columns:1fr}
  .product{grid-template-columns:88px 1fr}.product .pic{width:88px;height:88px}
}
p.hand{text-transform:none;letter-spacing:0;font-size:.95rem;font-weight:500;color:var(--acc)}
p.hand::before{display:none}
@media (max-width:380px){.hours{table-layout:fixed}.hours td{font-size:.84rem}.info{padding:20px 16px}.info-list .ic{width:38px;height:38px}}
.certs>*{min-width:0}
.cert b{overflow-wrap:anywhere}
@media (max-width:380px){.cert{padding:12px 8px}.cert b{font-size:.82rem}}
.logo b{white-space:nowrap}
@media (max-width:1180px) and (min-width:1001px){ nav ul{gap:16px} .nav{gap:14px} .cart-link{padding:10px 14px} .langs a{padding:7px 8px} }

/* Großes Mühlenbild auf der Startseite */
.grand-photo{padding:0 0 30px;margin-top:-40px;position:relative;z-index:2}
.photo-xl{position:relative;border-radius:28px;overflow:hidden;aspect-ratio:21/9;border:1px solid var(--ligne);box-shadow:0 40px 80px -40px rgba(80,25,20,.45)}
.photo-xl img{width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.photo-xl figcaption{position:absolute;left:22px;bottom:20px;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border:1px solid var(--ligne2);padding:9px 16px;border-radius:12px;font-size:.92rem;font-weight:500}
@media (max-width:1000px){ .photo-xl{aspect-ratio:16/10} }
@media (max-width:600px){ .grand-photo{margin-top:-30px} .photo-xl{aspect-ratio:4/3;border-radius:18px} .photo-xl figcaption{left:12px;bottom:12px;right:12px;font-size:.82rem} }

/* Startseite: Mühlenfoto hinter dem Titel */
.hero-photo{position:relative;overflow:hidden;padding-top:34px;padding-bottom:90px;
  background:linear-gradient(180deg,rgba(25,12,10,.62) 0%,rgba(25,12,10,.48) 45%,rgba(25,12,10,.30) 70%,#fff 100%),url(../img/muehle-gross.jpg) center 35%/cover no-repeat}
.hero-photo>.wrap{position:relative;z-index:1}
.hero-photo h1{color:#fff;text-shadow:0 2px 30px rgba(0,0,0,.35)}
.hero-photo h1 .serif{color:#ffb3a6}
.hero-photo p.sous{color:rgba(255,255,255,.92);text-shadow:0 1px 16px rgba(0,0,0,.4)}
.hero-photo .bandeau,.hero-photo .pill{background:rgba(255,255,255,.9);border-color:rgba(255,255,255,.6)}
.hero-photo .finder{box-shadow:0 40px 80px -30px rgba(20,8,6,.55)}
.hero-photo .cta .btn{background:#fff;border-color:#fff;color:var(--acc)}
.hero-photo .cta .btn:hover{background:var(--acc);color:#fff;border-color:var(--acc)}
@media (max-width:600px){ .hero-photo{background-position:center 30%} }
