/* ==========================================================================
   melf-made — Stylesheet
   Farben & Typografie exakt aus dem freigegebenen Design-Mockup übernommen.
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;1,9..144,500&family=Work+Sans:wght@400;500;600;700&display=swap');

:root{
  --creme:      #FBF6EE;
  --sand:       #F2E8DA;
  --tinte:      #211F1B;
  --gold:       #A67C29;
  --gold-dunkel:#6B4E18;
  --text-sekundaer: #6B5F54;
  --text-primaer:   #4E463C;
  --border:     #E4D8C6;
  --border-stark: #D8C6AE;
  --footer-bg:  #211F1B;
  --footer-text:#C9BCAC;
  --footer-head:#8A7C6B;
  --footer-border:#45392E;
  --fehler: #B3413A;
  --erfolg: #4F7A52;

  --serif: 'Fraunces', serif;
  --sans: 'Work Sans', sans-serif;

  --radius-s: 10px;
  --radius-m: 16px;
  --radius-l: 22px;
  --radius-pill: 999px;

  --container: 1280px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--sans);
  background:var(--creme);
  color:var(--tinte);
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
::selection{background:#E4D3AE;}
h1,h2,h3{font-family:var(--serif);font-weight:500;margin:0;}
button{font-family:inherit;cursor:pointer;}
input,select,textarea{font-family:inherit;}

.link-accent{color:var(--gold-dunkel);font-weight:600;}
.link-accent:hover{color:#4E3A11;}

.container{
  width:100%;
  max-width:var(--container);
  margin:0 auto;
  padding-left:64px;
  padding-right:64px;
}

.visually-hidden{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:15px 28px;border-radius:var(--radius-pill);
  font-size:15px;font-weight:600;border:none;text-align:center;
  transition:transform .12s ease, opacity .12s ease;
}
.btn:active{transform:scale(.98);}
.btn-primary{background:var(--tinte);color:var(--creme);}
.btn-primary:hover{opacity:.88;}
.btn-secondary{background:var(--gold);color:var(--tinte);}
.btn-secondary:hover{opacity:.88;}
.btn-outline{background:transparent;color:var(--tinte);border:1px solid var(--tinte);}
.btn-outline:hover{background:var(--tinte);color:var(--creme);}
.btn-block{width:100%;}
.btn[disabled]{opacity:.45;cursor:not-allowed;}

/* ---------- Ankündigungsleiste ---------- */
.announce-bar{
  width:100%;background:var(--tinte);color:var(--creme);
  text-align:center;padding:9px 16px;font-size:13px;letter-spacing:.02em;
}
.announce-bar .dot{color:var(--gold);}

/* ---------- Header ---------- */
.site-header{
  width:100%;display:flex;align-items:center;justify-content:space-between;
  padding:14px 64px;border-bottom:1px solid var(--border);
  background:var(--creme);position:sticky;top:0;z-index:50;
}
.site-header .left{display:flex;align-items:center;gap:44px;}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:22px;font-weight:600;color:var(--tinte);}
.logo .stitch{color:var(--gold);}
.logo img{height:46px;width:auto;}

/* Logo-Bilder: breite Wortmarke auf Desktop, quadratisches Signet auf Mobil */
.logo-link{display:flex;align-items:center;}
.logo-desktop{height:50px;width:auto;display:block;}
.logo-mobile{height:34px;width:auto;display:none;}
.footer-logo-img{height:36px;width:auto;display:block;}
.main-nav{display:flex;gap:30px;font-size:15px;font-weight:500;}
.main-nav a{padding:4px 0;border-bottom:2px solid transparent;}
.main-nav a:hover,.main-nav a.active{border-bottom-color:var(--gold);}
.header-icons{display:flex;align-items:center;gap:22px;}
.header-icons a,.header-icons button{background:none;border:none;padding:0;display:flex;color:var(--tinte);}
.cart-wrap{position:relative;}
.cart-badge{
  position:absolute;top:-6px;right:-8px;background:var(--gold);color:var(--tinte);
  font-size:10px;font-weight:700;width:16px;height:16px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
}
.cart-badge.hidden{display:none;}
.header-icons .menu-toggle{display:none;}

/* ---------- Versand-Mini-Leiste (immer sichtbar, sobald Artikel im Warenkorb) ---------- */
.versand-mini{
  width:100%;background:var(--sand);border-bottom:1px solid var(--border);
  padding:9px 64px;
}
.versand-mini.hidden{display:none;}
.versand-mini-inner{
  display:flex;align-items:center;gap:14px;max-width:640px;margin:0 auto;
  font-size:12.5px;color:var(--text-primaer);
}
.versand-mini-inner span{white-space:nowrap;font-weight:500;}
.versand-mini-bar{
  flex:1 1 auto;height:5px;border-radius:3px;background:var(--border-stark);overflow:hidden;
}
.versand-mini-bar-fill{
  height:100%;background:var(--gold);border-radius:3px;transition:width .25s ease;
}

/* Suche */
.search-panel{
  display:none;width:100%;background:var(--sand);border-bottom:1px solid var(--border);
  padding:16px 64px;
}
.search-panel.open{display:block;}
.search-panel form{display:flex;gap:10px;max-width:520px;margin:0 auto;}
.search-panel input{
  flex:1;padding:12px 18px;border-radius:var(--radius-pill);border:1px solid var(--border-stark);
  background:var(--creme);font-size:14.5px;
}

/* ---------- Hero ---------- */
.hero{width:100%;display:flex;align-items:stretch;min-height:520px;}
.hero-text{flex:0 0 46%;display:flex;flex-direction:column;justify-content:center;padding:70px 64px;gap:24px;}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-dunkel);}
.hero-text h1{font-size:48px;line-height:1.1;}
.hero-text p{margin:0;font-size:16px;line-height:1.6;color:var(--text-sekundaer);max-width:420px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px;}
.hero-image{
  flex:1;position:relative;background:linear-gradient(160deg,#E3CDA2 0%,#C39A5E 100%);
  display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:340px;
}
.hero-image img{width:100%;height:100%;object-fit:cover;}
.img-placeholder{color:#4A3B22;font-size:13px;text-align:center;padding:16px;font-weight:500;}

/* ---------- Trust-Leiste (Etsy/eBay-Kennzahlen, direkt unterm Hero) ---------- */
.trust-strip{
  width:100%;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;
  padding:18px 64px;background:var(--sand);border-top:1px solid var(--border);border-bottom:1px solid var(--border);
}
.trust-quotes-link{font-size:13.5px;font-weight:600;color:var(--gold-dunkel);}
.trust-quotes-link:hover{color:#4E3A11;}

/* ---------- USP-Leiste ---------- */
.usp-strip{
  width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  padding:32px 64px;background:var(--sand);border-top:1px solid var(--border);border-bottom:1px solid var(--border);
}
.usp-item{display:flex;align-items:center;gap:12px;padding-right:20px;}
.usp-item svg{flex-shrink:0;}
.usp-item span{font-size:13.5px;font-weight:500;line-height:1.35;}

/* ---------- Section headings ---------- */
.section{padding:64px;}
.section-tight{padding:64px 64px 20px;}
.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:32px;gap:16px;flex-wrap:wrap;}
.section-head h2{font-size:30px;}
.reviews-subhead{font-size:13.5px;font-weight:500;color:var(--text-sekundaer);}

/* ---------- Kategorie-Grid ---------- */
.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;}
.category-card{display:block;border-radius:var(--radius-l);overflow:hidden;background:var(--sand);}
.category-card .cat-image{
  height:200px;background:linear-gradient(160deg,#F0E6D2,#DFC79C);
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.category-card .cat-image img{width:100%;height:100%;object-fit:cover;}
.category-card .cat-info{padding:16px 18px;}
.category-card .cat-info .name{font-family:var(--serif);font-size:17px;font-weight:500;}
.category-card .cat-info .desc{font-size:12.5px;color:var(--text-sekundaer);margin-top:2px;}

/* ---------- Produktkarten / Grid ---------- */
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;}
.product-card{display:block;}
.product-card .thumb{
  position:relative;border-radius:var(--radius-m);overflow:hidden;background:var(--sand);
  aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;
}
.product-card .thumb img{width:100%;height:100%;object-fit:cover;}
.product-card .badge{
  position:absolute;top:12px;left:12px;font-size:11px;font-weight:600;
  padding:4px 10px;border-radius:var(--radius-pill);
}
.badge-neu{background:var(--tinte);color:var(--creme);}
.badge-bestseller{background:var(--gold);color:var(--tinte);}
.badge-sale{background:var(--fehler);color:#fff;}
.badge-ausverkauft{background:#8A7C6B;color:#fff;}
.product-card .info{padding-top:12px;}
.product-card .name{font-size:14.5px;font-weight:500;}
.product-card .meta{font-size:13px;color:var(--text-sekundaer);margin-top:2px;}
.product-card .price{font-size:14.5px;font-weight:600;margin-top:6px;color:var(--gold-dunkel);}
.product-card.is-sold-out .thumb{opacity:.55;}
.product-card.is-sold-out .name{color:var(--text-sekundaer);}
.quick-add{
  margin-top:10px;width:100%;padding:10px;border-radius:var(--radius-pill);
  border:1px solid var(--border-stark);background:var(--creme);font-size:13px;font-weight:600;
}
.quick-add:hover{background:var(--tinte);color:var(--creme);border-color:var(--tinte);}
.quick-add[disabled]{opacity:.5;cursor:not-allowed;}
.quick-add[disabled]:hover{background:var(--creme);color:var(--tinte);}

.empty-state{padding:60px 0;text-align:center;color:var(--text-sekundaer);}

/* ---------- Story / Banner ---------- */
.story-section{width:100%;display:flex;align-items:stretch;background:var(--tinte);}
.story-image{
  flex:0 0 44%;background:linear-gradient(160deg,#6B5140,#3E2E22);
  display:flex;align-items:center;justify-content:center;color:#E7D9C6;font-size:13px;text-align:center;padding:20px;overflow:hidden;
}
.story-image img{width:100%;height:100%;object-fit:cover;}
.story-text{flex:1;display:flex;flex-direction:column;justify-content:center;padding:64px;gap:20px;}
.story-text .eyebrow{color:#C7A467;}
.story-text h2{color:var(--creme);font-size:30px;line-height:1.25;}
.story-text p{margin:0;font-size:15.5px;line-height:1.7;color:var(--footer-text);max-width:480px;}
.story-text a{color:#C7A467;font-size:14.5px;font-weight:600;}

/* Variante ohne Bild (z. B. Startseite "Wer steckt dahinter") — Text zentriert
   statt der Zweispalten-Aufteilung mit Foto. */
.story-section-center{justify-content:center;padding:76px 64px;}
.story-section-center .story-text{
  flex:0 1 640px;align-items:center;text-align:center;padding:0;gap:18px;
}
.story-section-center .story-text p{max-width:560px;}
.story-divider{margin:2px 0;}

/* ---------- Bewertungen (Etsy / eBay) ---------- */
.trust-bar{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:36px;}
.trust-badge{
  display:flex;align-items:center;gap:12px;background:var(--sand);
  border-radius:var(--radius-pill);padding:12px 22px;font-size:13.5px;color:var(--text-primaer);
  border:1px solid var(--border);transition:background .12s ease,border-color .12s ease;
}
.trust-badge:hover{background:var(--border-stark);border-color:var(--border-stark);}
.trust-stars{color:var(--gold);font-size:15px;letter-spacing:1px;}
.trust-text strong{color:var(--tinte);}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.review-card{
  background:var(--sand);border-radius:var(--radius-m);padding:26px;
  display:flex;flex-direction:column;gap:14px;
}
.review-stars{color:var(--gold);font-size:14px;letter-spacing:1px;}
.review-text{margin:0;font-size:14.5px;line-height:1.65;color:var(--text-primaer);flex:1;}
.review-meta{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;}
.review-author{font-weight:600;color:var(--tinte);}
.review-source{
  padding:3px 12px;border-radius:var(--radius-pill);border:1px solid var(--border-stark);
  font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--text-sekundaer);
}
.review-source:hover{background:var(--tinte);color:var(--creme);border-color:var(--tinte);}

/* ---------- Newsletter ---------- */
.newsletter{
  padding:64px;background:var(--sand);text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:16px;
}
.newsletter h2{font-size:26px;}
.newsletter p{margin:0;font-size:14.5px;color:var(--text-sekundaer);}
.newsletter form{display:flex;gap:10px;margin-top:6px;flex-wrap:wrap;justify-content:center;}
.newsletter input[type=email]{
  width:280px;padding:14px 18px;border-radius:var(--radius-pill);border:1px solid var(--border-stark);
  font-size:14.5px;background:var(--creme);
}
.newsletter .hinweis{font-size:12px;color:var(--text-sekundaer);margin-top:4px;}

/* ---------- Footer ---------- */
.site-footer{width:100%;background:var(--footer-bg);color:var(--footer-text);padding:56px 64px 26px;}
.footer-grid{
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;
  padding-bottom:40px;border-bottom:1px solid var(--footer-border);
}
.footer-brand .logo{color:var(--creme);}
.footer-brand p{margin:14px 0 0;font-size:13.5px;line-height:1.6;max-width:260px;}
.footer-social{display:flex;gap:14px;margin-top:14px;}
.footer-col{display:flex;flex-direction:column;gap:11px;font-size:13.5px;}
.footer-col .head{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--footer-head);margin-bottom:4px;}
.footer-col a:hover{color:var(--creme);}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:22px;font-size:12.5px;color:var(--footer-head);flex-wrap:wrap;gap:10px;}
.pay-badge{border:1px solid var(--footer-border);border-radius:4px;padding:3px 8px;}

/* ---------- Breadcrumb ---------- */
.breadcrumb{padding:20px 64px 0;font-size:13px;color:var(--text-sekundaer);}
.breadcrumb a{color:var(--text-sekundaer);}
.breadcrumb a:hover{color:var(--tinte);}
.breadcrumb .current{color:var(--tinte);}

/* ---------- Filterleiste (Kategorie) ---------- */
.page-head{padding:36px 64px 8px;}
.page-head h1{font-size:36px;}
.page-head p{margin:8px 0 0;color:var(--text-sekundaer);font-size:15px;max-width:640px;}
.filter-bar{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:24px 64px;flex-wrap:wrap;border-bottom:1px solid var(--border);
}
.filter-group{display:flex;gap:10px;flex-wrap:wrap;}
.filter-chip{
  padding:9px 16px;border-radius:var(--radius-pill);border:1px solid var(--border-stark);
  background:var(--creme);font-size:13.5px;font-weight:500;
}
.filter-chip.active{background:var(--tinte);color:var(--creme);border-color:var(--tinte);}
.sort-select{
  padding:9px 14px;border-radius:var(--radius-pill);border:1px solid var(--border-stark);
  background:var(--creme);font-size:13.5px;
}
.result-count{font-size:13px;color:var(--text-sekundaer);}
/* ---------- Cookie-Consent-Banner ---------- */
#cookie-consent-banner{
  position:fixed; left:0; right:0; bottom:0; z-index:200;
  background:var(--tinte); color:var(--creme);
  box-shadow:0 -4px 20px rgba(0,0,0,.18);
}
#cookie-consent-banner .cc-inner{
  max-width:1100px; margin:0 auto; padding:18px 24px;
  display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
}
#cookie-consent-banner .cc-text{margin:0; font-size:13.5px; line-height:1.6; flex:1 1 420px;}
#cookie-consent-banner .cc-text a{color:var(--creme); text-decoration:underline;}
#cookie-consent-banner .cc-actions{display:flex; gap:10px; flex-wrap:wrap;}
#cookie-consent-banner .btn{
  padding:9px 18px; border-radius:var(--radius-pill); border:1px solid var(--creme);
  background:transparent; color:var(--creme); font-size:13.5px; font-weight:500; cursor:pointer;
}
#cookie-consent-banner .btn-primary{background:var(--creme); color:var(--tinte); border-color:var(--creme);}
@media (max-width:640px){
  #cookie-consent-banner .cc-inner{padding:16px;}
  #cookie-consent-banner .cc-actions{width:100%;}
  #cookie-consent-banner .cc-actions .btn{flex:1 1 auto;}
}

.filter-bar[hidden]{display:none;}
.filter-bar-sub{padding-top:14px;padding-bottom:14px;}
.filter-bar-sub .filter-group{gap:10px;}
.filter-bar-sub .sort-select{background:transparent;}
@media (max-width:640px){
  .filter-bar-sub .filter-group{width:100%;}
  .filter-bar-sub .sort-select{flex:1 1 auto;min-width:0;}
}

/* ---------- Produktseite ---------- */
.product-main{display:grid;grid-template-columns:1fr 1fr;gap:56px;padding:26px 64px 70px;}
.gallery{display:flex;flex-direction:column;gap:14px;}
.gallery-main{
  position:relative;border-radius:var(--radius-l);overflow:hidden;aspect-ratio:1/1;
  background:linear-gradient(160deg,#EAD9BA,#D3B37E);display:flex;align-items:center;justify-content:center;
}
.gallery-main img{width:100%;height:100%;object-fit:cover;}
.gallery-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.gallery-thumb{
  border-radius:12px;overflow:hidden;height:88px;background:linear-gradient(160deg,#F0E6D2,#DFC79C);
  display:flex;align-items:center;justify-content:center;color:#4A3B22;font-size:10.5px;text-align:center;padding:0;
  border:2px solid transparent;cursor:pointer;
}
.gallery-thumb img{width:100%;height:100%;object-fit:cover;}
.gallery-thumb.selected{border-color:var(--gold-akzent);}
.product-info{display:flex;flex-direction:column;gap:22px;padding-top:6px;}
.product-info h1{font-size:34px;line-height:1.15;}
.kategorie-label{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dunkel);margin-bottom:8px;}
.price-big{font-family:var(--serif);font-size:28px;font-weight:500;color:var(--gold-dunkel);}
.price-old{font-size:16px;color:var(--text-sekundaer);text-decoration:line-through;margin-right:8px;font-weight:400;}
.beschreibung-text{margin:0;font-size:15px;line-height:1.7;color:var(--text-primaer);max-width:480px;}
.size-row{display:flex;flex-direction:column;gap:10px;}
.size-row .label{font-size:13px;font-weight:600;}
.size-chips{display:flex;gap:10px;flex-wrap:wrap;}
.size-chip{
  min-width:52px;height:44px;padding:0 12px;border-radius:10px;border:1px solid var(--border-stark);
  display:flex;align-items:center;justify-content:center;font-size:13.5px;color:var(--text-sekundaer);background:var(--creme);
}
.size-chip.selected{border:2px solid var(--tinte);font-weight:600;color:var(--tinte);}
.size-chip[disabled]{
  background:var(--sand);color:#B8AA94;border-color:var(--border);cursor:not-allowed;
  text-decoration:line-through;opacity:.7;
}
.qty-add-row{display:flex;gap:12px;align-items:center;}
.qty-control{display:flex;align-items:center;border:1px solid var(--border-stark);border-radius:var(--radius-pill);overflow:hidden;}
.qty-control button{width:40px;height:48px;border:none;background:none;font-size:17px;color:var(--tinte);}
.qty-control .qty-val{width:36px;text-align:center;font-size:14.5px;font-weight:600;}
.stock-note{font-size:13px;color:var(--text-sekundaer);}
.stock-note.low{color:var(--fehler);font-weight:600;}
.trust-list{display:flex;flex-direction:column;gap:14px;margin-top:6px;padding-top:22px;border-top:1px solid var(--border);}
.trust-item{display:flex;align-items:center;gap:12px;font-size:13.5px;}

.accordion{border-top:1px solid var(--border);}
.accordion-item{border-bottom:1px solid var(--border);}
.accordion-item summary{
  display:flex;align-items:center;justify-content:space-between;padding:20px 0;cursor:pointer;
  font-size:15px;font-weight:600;list-style:none;
}
.accordion-item summary::-webkit-details-marker{display:none;}
.accordion-item p{margin:0 0 20px;font-size:14px;line-height:1.7;color:var(--text-primaer);}
.accordion-item table{border-collapse:collapse;font-size:13.5px;margin-bottom:20px;}
.accordion-item td,.accordion-item th{padding:6px 16px 6px 0;text-align:left;color:var(--text-primaer);}

/* ---------- Warenkorb ---------- */
.cart-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:48px;padding:36px 64px 80px;align-items:start;}
.cart-list{display:flex;flex-direction:column;}
.cart-row{display:grid;grid-template-columns:88px 1fr auto;gap:18px;padding:20px 0;border-bottom:1px solid var(--border);align-items:center;}
.cart-row .thumb-sm{width:88px;height:88px;border-radius:12px;overflow:hidden;background:var(--sand);}
.cart-row .thumb-sm img{width:100%;height:100%;object-fit:cover;}
.cart-row .name{font-size:14.5px;font-weight:500;}
.cart-row .meta{font-size:12.5px;color:var(--text-sekundaer);margin-top:2px;}
.cart-row .row-right{display:flex;flex-direction:column;align-items:flex-end;gap:10px;}
.cart-row .remove-btn{background:none;border:none;font-size:12.5px;color:var(--text-sekundaer);text-decoration:underline;}
.cart-row .remove-btn:hover{color:var(--fehler);}
.cart-row .line-price{font-weight:600;color:var(--gold-dunkel);}

.summary-box{background:var(--sand);border-radius:var(--radius-l);padding:28px;display:flex;flex-direction:column;gap:14px;position:sticky;top:100px;}
.summary-box h2{font-size:20px;}
.summary-line{display:flex;justify-content:space-between;font-size:14.5px;color:var(--text-primaer);}
.summary-line.total{font-size:18px;font-weight:600;color:var(--tinte);border-top:1px solid var(--border-stark);padding-top:14px;margin-top:4px;}
.shipping-hint{font-size:12.5px;color:var(--text-sekundaer);line-height:1.5;}
.progress-bar{height:6px;border-radius:999px;background:var(--border);overflow:hidden;margin:6px 0;}
.progress-bar span{display:block;height:100%;background:var(--gold);border-radius:999px;transition:width .3s ease;}
.versand-detail-note{font-size:12px;color:var(--text-sekundaer);line-height:1.5;margin:-4px 0 10px;}
.coupon-row{display:flex;gap:8px;}
.coupon-row input{flex:1;padding:12px 14px;border-radius:var(--radius-pill);border:1px solid var(--border-stark);font-size:13.5px;background:var(--creme);}
.coupon-msg{font-size:12.5px;}
.coupon-msg.ok{color:var(--erfolg);}
.coupon-msg.err{color:var(--fehler);}
.paypal-btn{background:#FFC439;color:#111;}
.paypal-btn:hover{opacity:.9;}

/* ---------- Formulare (Kontakt) ---------- */
.form-grid{display:grid;gap:16px;max-width:520px;}
.form-field{display:flex;flex-direction:column;gap:6px;}
.form-field label{font-size:13px;font-weight:600;}
.form-field input,.form-field textarea,.form-field select{
  padding:13px 16px;border-radius:12px;border:1px solid var(--border-stark);background:var(--creme);font-size:14.5px;
}
.form-field textarea{resize:vertical;min-height:120px;}

/* ---------- Generischer Inhaltsbereich (Legal, Über mich) ---------- */
.prose{max-width:760px;padding:20px 64px 80px;}
.prose h1{font-size:34px;margin-bottom:18px;}
.prose h2{font-size:22px;margin:32px 0 12px;}
.prose p{font-size:15px;line-height:1.75;color:var(--text-primaer);margin:0 0 14px;}
.prose ul{padding-left:20px;color:var(--text-primaer);font-size:15px;line-height:1.75;}
.prose table{border-collapse:collapse;width:100%;margin:16px 0;font-size:14px;}
.prose td,.prose th{border:1px solid var(--border);padding:10px 12px;text-align:left;}

.about-hero{display:flex;gap:56px;align-items:center;padding:60px 64px;}
.about-hero .about-img{flex:0 0 42%;border-radius:var(--radius-l);overflow:hidden;aspect-ratio:4/5;background:linear-gradient(160deg,#6B5140,#3E2E22);display:flex;align-items:center;justify-content:center;color:#E7D9C6;font-size:13px;text-align:center;}
.about-hero .about-img img{width:100%;height:100%;object-fit:cover;}

.value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:0 64px 64px;}
.value-card{background:var(--sand);border-radius:var(--radius-m);padding:26px;}
.value-card h3{font-size:17px;margin-bottom:8px;}
.value-card p{margin:0;font-size:14px;line-height:1.6;color:var(--text-primaer);}

/* ---------- Toast ---------- */
.toast{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);
  background:var(--tinte);color:var(--creme);padding:14px 22px;border-radius:var(--radius-pill);
  font-size:14px;font-weight:500;opacity:0;pointer-events:none;transition:all .25s ease;z-index:200;
  display:flex;align-items:center;gap:10px;box-shadow:0 10px 30px rgba(0,0,0,.2);
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .container,.site-header,.hero-text,.hero-actions,.section,.section-tight,.page-head,.filter-bar,
  .product-main,.cart-layout,.prose,.about-hero,.value-grid,.newsletter,.site-footer,.announce-bar,
  .versand-mini,.breadcrumb,.trust-strip{padding-left:28px;padding-right:28px;}
  .category-grid,.product-grid,.review-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .footer-grid{grid-template-columns:1fr 1fr;}
}

@media (max-width:820px){
  .main-nav{display:none;}
  .main-nav.open-mobile{
    display:flex; flex-direction:column; gap:0;
    position:absolute; top:100%; left:0; right:0;
    background:var(--creme); border-bottom:1px solid var(--border);
    padding:4px 24px 12px; box-shadow:0 12px 24px rgba(0,0,0,.10); z-index:60;
  }
  .main-nav.open-mobile a{padding:13px 0; border-bottom:1px solid var(--border);}
  .main-nav.open-mobile a:last-child{border-bottom:none;}
  .header-icons .menu-toggle{display:flex;}
  .logo-desktop{display:none;}
  .logo-mobile{display:block;height:32px;}
  .hero{flex-direction:column;min-height:auto;}
  .hero-text{flex:none;padding:44px 24px 30px;}
  .hero-text h1{font-size:38px;}
  .hero-image{min-height:280px;}
  .usp-strip{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:18px;padding:26px 24px;}
  .trust-strip{padding:14px 24px;gap:12px;}
  .section-head{flex-direction:column;align-items:flex-start;gap:6px;}
  .product-main{grid-template-columns:1fr;gap:30px;padding:20px 20px 50px;}
  .cart-layout{grid-template-columns:1fr;padding:24px 20px 60px;}
  .story-section{flex-direction:column;}
  .story-image{flex:none;height:220px;}
  .story-text{padding:40px 24px;}
  .story-section-center{padding:52px 24px;}
  .story-section-center .story-text{flex-basis:auto;}
  .footer-grid{grid-template-columns:1fr;}
  .about-hero{flex-direction:column;padding:40px 24px;}
  .about-hero .about-img{width:100%;flex:none;}
  .value-grid{grid-template-columns:1fr;padding:0 24px 40px;}

  /* Versand-Mini-Leiste: auf schmalen Fenstern Text und Balken untereinander
     statt nebeneinander, sonst quetscht der lange Text den Fortschrittsbalken
     bis er verschwindet bzw. läuft über den Rand hinaus. */
  .versand-mini{padding:10px 20px;}
  .versand-mini-inner{flex-wrap:wrap;row-gap:6px;}
  .versand-mini-inner span{white-space:normal;flex:1 1 100%;}
  .versand-mini-bar{flex:1 1 100%;}
}
@media (max-width:560px){
  .category-grid,.product-grid{grid-template-columns:1fr 1fr;gap:14px;}
  .review-grid{grid-template-columns:1fr;gap:14px;}
  .newsletter input[type=email]{width:100%;}
}

/* EU-Gewährleistungshinweis (DVO (EU) 2025/1960) – Grafik unverändert, per Klick ausklappbar */
.eu-gewaehrleistung{margin-top:18px;padding-top:14px;border-top:1px solid var(--border);font-size:.9rem;}
.eu-gewaehrleistung[hidden]{display:none;}
.eu-gewaehrleistung summary{cursor:pointer;color:var(--ink,#211F1B);text-decoration:underline;text-underline-offset:3px;list-style:none;}
.eu-gewaehrleistung summary::-webkit-details-marker{display:none;}
.eu-gewaehrleistung-inhalt{display:flex;flex-direction:column;gap:8px;margin-top:12px;}
.eu-gewaehrleistung img{width:100%;max-width:440px;border:1px solid var(--border);height:auto;display:block;}
.eu-gewaehrleistung--checkout{margin:14px 0 12px;}
.zahlungspflichtig-hinweis{margin-bottom:10px;}

/* Widerrufsfunktion (§ 356a BGB) */
.widerruf-form{margin-top:24px;}
.widerruf-form small{font-size:12.5px;color:var(--text-sekundaer);}
.widerruf-form .btn{justify-self:start;}
.hp-feld{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden;}
.widerruf-datenschutz{font-size:13px !important;color:var(--text-sekundaer) !important;margin:0 !important;}
.widerruf-msg{font-size:14px;}
.widerruf-msg.fehler,.widerruf-done .fehler{color:var(--fehler);}
.widerruf-done{margin-top:24px;padding:20px 22px;background:var(--sand);border-radius:var(--radius-m);}
.widerruf-inhalt{font-size:14px;line-height:1.7;padding:12px 14px;background:var(--creme);border-radius:var(--radius-s);margin:0 0 14px;}

.gutschein-ergebnis{margin-top:20px;padding:16px 18px;border-radius:var(--radius-m);background:var(--sand);font-size:14.5px;line-height:1.6;}
.gutschein-ergebnis p{margin:0 0 6px;}
.gutschein-ergebnis p:last-child{margin-bottom:0;}
.gutschein-ergebnis.erfolg{border:1px solid var(--erfolg);}
.gutschein-ergebnis.erfolg p:first-child{color:var(--erfolg);font-weight:600;}
.gutschein-ergebnis.fehler{border:1px solid var(--fehler);color:var(--fehler);}
.site-footer a.footer-widerruf-btn{display:inline-block;margin-top:4px;padding:6px 12px;border:1px solid var(--footer-text);border-radius:var(--radius-pill);color:var(--footer-text);width:max-content;}
.site-footer a.footer-widerruf-btn:hover{border-color:#fff;color:#fff;}

/* ---------- Kasse (kasse.html): Adressformular vor PayPal ---------- */
.kasse-schritte{list-style:none;display:flex;flex-wrap:wrap;gap:8px 22px;padding:0;margin:12px 0 0;font-size:13px;color:var(--text-sekundaer);counter-reset:schritt;}
.kasse-schritte li{counter-increment:schritt;display:flex;align-items:center;gap:8px;}
.kasse-schritte li::before{content:counter(schritt);display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--border-stark);font-size:12px;}
.kasse-schritte li[aria-current="step"]{color:var(--tinte);font-weight:600;}
.kasse-schritte li[aria-current="step"]::before{background:var(--tinte);color:var(--creme);border-color:var(--tinte);}
.kasse-schritte a{color:inherit;}
.kasse-form{display:flex;flex-direction:column;gap:26px;max-width:620px;}
.kasse-block{border:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
.kasse-block legend{font-family:var(--serif);font-size:21px;font-weight:500;margin-bottom:12px;padding:0;color:var(--tinte);}
.kasse-zeile{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.kasse-zeile--plz{grid-template-columns:130px 1fr;}
.kasse-form .form-field small{font-size:12px;color:var(--text-sekundaer);}
.kasse-hinweis{font-size:13px;color:var(--text-sekundaer);line-height:1.55;margin:0;}
.kasse-check{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;cursor:pointer;line-height:1.45;}
.kasse-check input{width:18px;height:18px;margin-top:2px;accent-color:var(--tinte);flex-shrink:0;}
.kasse-liefer{display:flex;flex-direction:column;gap:14px;padding:18px;border:1px solid var(--border);border-radius:14px;}
.kasse-liefer[hidden],.kasse-form[hidden],.kasse-artikel[hidden]{display:none;}
.form-field.hat-fehler input,.form-field.hat-fehler select,.form-field.hat-fehler textarea{border-color:var(--fehler);box-shadow:0 0 0 1px var(--fehler);}
.form-field.hat-fehler label{color:var(--fehler);}
.kasse-fehler{font-size:13.5px;color:var(--fehler);font-weight:600;line-height:1.5;}
.kasse-artikel{margin-top:40px;max-width:620px;}
.kasse-artikel h2{font-size:19px;margin-bottom:4px;}
.cart-row--kasse{grid-template-columns:64px 1fr auto;padding:14px 0;}
.cart-row--kasse .thumb-sm{width:64px;height:64px;}
.kasse-bearbeiten{display:inline-block;margin-top:14px;font-size:13.5px;}
@media (max-width:560px){
  .kasse-zeile{grid-template-columns:1fr;}
  .kasse-zeile--plz{grid-template-columns:110px 1fr;}
}
