/** Shopify CDN: Minification failed

Line 2133:0 Unexpected "<"
Line 2155:0 Unexpected "<"

**/
/* ═══════════════════════════════════════════════════════
   STULLENWERK — Premium Catering, Hamburg
   ═══════════════════════════════════════════════════════ */

/* ── Tooltip ── */
.sw-tooltip{
  position:fixed;z-index:9999;
  pointer-events:none;
  opacity:0;visibility:hidden;
  background:rgba(5,20,14,.94);
  color:var(--accent);
  font-size:.75rem;font-weight:600;letter-spacing:.02em;
  padding:.5rem .9rem;
  border-radius:.4rem;
  border:1px solid rgba(184,147,74,.15);
  box-shadow:0 4px 16px rgba(0,0,0,.35);
  white-space:nowrap;
  transition:opacity .2s,visibility 0s .2s;
}
.sw-tooltip.visible{opacity:1;visibility:visible;transition:opacity .2s,visibility 0s 0s}

/* ── Product Description ── */
/* ── Zutaten Button (popup trigger) ── */
.prod-desc-wrap{margin-top:.8rem;padding-top:.7rem;border-top:1px solid var(--border)}
.prod-desc-toggle{
  display:inline-flex;align-items:center;gap:.5rem;
  background:rgba(184,147,74,.06);
  border:1px solid rgba(184,147,74,.18);
  border-radius:.5rem;
  cursor:pointer;
  font-family:var(--font-sans);
  font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:var(--accent);
  padding:.45rem .9rem;
  transition:background .2s,border-color .2s;
  white-space:nowrap;
}
.prod-desc-toggle:hover{
  background:rgba(184,147,74,.12);
  border-color:var(--accent);
}
.prod-desc-toggle:active{transform:translateY(0)}
.prod-desc-toggle svg{width:13px;height:13px;stroke:var(--accent);fill:none;stroke-width:2;flex-shrink:0}

/* ── Zutaten Popup ── */
.zt-overlay{
  position:fixed;inset:0;z-index:9000;
  display:flex;align-items:center;justify-content:center;
  padding:1.5rem;
  opacity:0;pointer-events:none;
  transition:opacity .3s ease;
}
.zt-overlay.open{opacity:1;pointer-events:all}

.zt-backdrop{
  position:absolute;inset:0;
  background:rgba(0,0,0,.7);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}

.zt-box{
  position:relative;z-index:1;
  width:100%;max-width:560px;max-height:88vh;
  display:flex;flex-direction:column;
  background:var(--surface);
  border:1px solid rgba(184,147,74,.15);
  border-radius:1.25rem;
  box-shadow:0 24px 64px rgba(0,0,0,.5);
  transform:translateY(16px) scale(.98);
  transition:transform .35s cubic-bezier(.25,.46,.45,.94);
  overflow:hidden;
}
.zt-overlay.open .zt-box{transform:translateY(0) scale(1)}

/* Header */
.zt-header{
  display:flex;align-items:flex-start;justify-content:space-between;
  padding:1.4rem 1.5rem 1.1rem;
  border-bottom:1px solid rgba(184,147,74,.08);
  flex-shrink:0;
  background:rgba(184,147,74,.03);
}
.zt-header-left{flex:1;min-width:0}
.zt-pretitle{
  display:flex;align-items:center;gap:.4rem;
  font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--accent);opacity:.7;margin-bottom:.4rem;
}
.zt-pretitle svg{stroke:var(--accent);flex-shrink:0}
.zt-title{
  font-family:var(--font-serif);
  font-size:1.5rem;font-weight:500;
  color:var(--text-100);line-height:1.2;
}
.zt-close{
  width:32px;height:32px;flex-shrink:0;margin-left:1rem;margin-top:.1rem;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  border-radius:.5rem;
  color:var(--text-400);
  cursor:pointer;transition:background .2s,color .2s,border-color .2s;
}
.zt-close:hover{background:rgba(184,147,74,.1);border-color:rgba(184,147,74,.25);color:var(--accent)}

/* Scrollable body */
.zt-body{
  flex:1;overflow-y:auto;padding:1.5rem;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
}
.zt-body::-webkit-scrollbar{width:3px}
.zt-body::-webkit-scrollbar-track{background:transparent}
.zt-body::-webkit-scrollbar-thumb{background:rgba(184,147,74,.25);border-radius:2px}

/* Content: Section headers */
.zt-section{
  margin-bottom:1.5rem;
  padding:1rem 1.1rem;
  background:rgba(184,147,74,.04);
  border:1px solid rgba(184,147,74,.08);
  border-left:3px solid var(--accent);
  border-radius:0 .75rem .75rem 0;
}
.zt-section:last-child{margin-bottom:0}
.zt-section-title{
  font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--accent);margin-bottom:.75rem;line-height:1.3;
}

/* Bullet list */
.zt-list{
  list-style:none;
  display:flex;flex-direction:column;gap:.45rem;
  margin:0;padding:0;
}
.zt-list-item{
  display:flex;align-items:baseline;gap:.6rem;
  font-size:.83rem;color:var(--text-100);line-height:1.5;
}
.zt-bullet{
  width:5px;height:5px;border-radius:50%;
  background:var(--accent);flex-shrink:0;
  margin-top:.4rem;opacity:.7;
}

/* Regular paragraph */
.zt-para{
  font-size:.85rem;color:var(--text-400);line-height:1.75;
  margin-bottom:.75rem;
}
.zt-para:last-child{margin-bottom:0}

/* Empty state */
.zt-empty{text-align:center;padding:2.5rem 1rem;color:var(--text-400)}
.zt-empty svg{margin:0 auto 1rem;opacity:.3;stroke:var(--text-400)}
.zt-empty p{font-size:.85rem}

/* Mobile: slide up from bottom */
@media(max-width:640px){
  .zt-overlay{align-items:flex-end;padding:0}
  .zt-box{
    max-width:100%;max-height:82vh;
    border-radius:1.25rem 1.25rem 0 0;
    transform:translateY(100%);
    padding-bottom:env(safe-area-inset-bottom, 0px);
  }
  .zt-overlay.open .zt-box{transform:translateY(0)}
  .zt-close{width:40px;height:40px}
}


/* ─── RESET & BASE ─── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --brand-600:#084838;--brand-700:#073d30;--brand-800:#063228;
  --accent:#b8934a;--accent-hover:#c9a054;
  --text-100:#f5f0e8;--text-200:#e0d8c8;--text-400:#b8b0a0;--text-900:#1a1a1a;
  --bg:#052a20;--surface:#063228;--card:#07382d;--border:rgba(255,255,255,0.07);
  --radius:.75rem;--radius-lg:1rem;--radius-sm:.4rem;
  --font-serif:'Cormorant Garamond',Georgia,serif;
  --font-sans:'DM Sans',system-ui,sans-serif;
  --focus-ring:0 0 0 2px var(--bg),0 0 0 4px var(--accent);
  --shadow-sm:0 2px 8px rgba(0,0,0,.15);
  --shadow-md:0 8px 24px rgba(0,0,0,.25);
  --shadow-lg:0 16px 48px rgba(0,0,0,.35);
  --space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:5rem;
}
html{scroll-behavior:smooth;font-size:16px}
body{background:var(--bg);color:var(--text-100);font-family:var(--font-sans);font-weight:400;line-height:1.6;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{cursor:pointer;border:none;background:none;font-family:inherit}
input,select,textarea{font-family:inherit}
svg{display:block;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

/* ─── ANIMATED HEART (SVG) ─── */
.sw-gf-brand-inline{font-family:var(--font-serif);font-weight:500;white-space:nowrap}
.sw-gf-brand-inline span{color:var(--accent);font-style:italic}
.sw-heart-svg{
  display:inline-block;vertical-align:middle;margin:0 .2rem;
  fill:#b8934a;stroke:none;
  width:14px;height:14px;
  animation:heartPulse 2.4s ease-in-out infinite;
}
@keyframes heartPulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.12)}
}
@media(prefers-reduced-motion:reduce){
  .sw-heart-svg{animation:none}
}

/* ─── ACCESSIBILITY ─── */
:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:4px}
a:focus-visible,button:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:4px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}

/* ─── REDUCED MOTION ─── */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
  .ticker-track{animation:none}
  .sw-fp-gradient{animation:none}
  .sw-fp-title{animation:none;opacity:1;transform:none}
  #intro{transition:none}
  .intro-progress-bar{transition:none}
  .rv,.rv-left,.rv-right,.rv-scale{opacity:1;transform:none;transition:none}
  .feat-card{position:relative;overflow:hidden;transform:none !important;opacity:1 !important}
  .cbox{transform:none !important;opacity:1 !important}
}

/* ─── INTRO ─── */
#intro{position:fixed;inset:0;z-index:1000;background:var(--brand-800);display:flex;align-items:center;justify-content:center;transition:opacity .5s cubic-bezier(.25,.46,.45,.94),visibility .5s ease}
#intro.hidden{opacity:0;visibility:hidden;pointer-events:none}
.intro-inner{text-align:center}
.intro-text-logo{font-family:var(--font-serif);font-size:3rem;font-weight:500;color:#fff;letter-spacing:.03em}
.intro-text-logo span{color:var(--accent)}
.intro-logo{margin:0 auto;max-width:200px}
.intro-progress{width:120px;height:2px;background:rgba(255,255,255,.12);margin:2rem auto 0;border-radius:2px;overflow:hidden}
.intro-progress-bar{height:100%;width:0;background:var(--accent);transition:width .6s cubic-bezier(.4,0,.2,1)}
.intro-heart{margin:1.2rem auto 0;opacity:0;animation:introHeartIn .4s .1s ease forwards}
.intro-heart svg{fill:var(--accent);stroke:none;display:block;filter:drop-shadow(0 0 6px rgba(184,147,74,.4));animation:heartPulse 2.4s ease-in-out infinite}
@keyframes introHeartIn{to{opacity:1}}

/* ─── NAV ─── */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.5rem;background:rgba(5,26,20,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);gap:1rem;overflow:hidden}
.nav-brand{font-family:var(--font-serif);font-size:1.4rem;font-weight:500;letter-spacing:.02em;color:var(--text-100)}
.nav-brand span{color:var(--accent)}
.nav-brand-img img{height:36px;width:auto;object-fit:contain}
.nav-links{display:flex;gap:2rem;list-style:none}
.nav-links a{font-size:.78rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-400);transition:color .2s}
.nav-links a:hover{color:var(--text-100)}
.nav-cta{display:flex;align-items:center;gap:.5rem;padding:.5rem 1.2rem;background:var(--brand-600);border-radius:2rem;font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;transition:background .2s;color:#fff}
.nav-cta:hover{background:var(--brand-700)}
.nav-cta svg{width:16px;height:16px}
.nav-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background:var(--accent);border-radius:50%;font-size:.65rem;font-weight:700;color:#fff}

/* ─── HERO ─── */
#hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:7rem 2rem 5rem;overflow:hidden}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.3}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,var(--bg) 0%,transparent 25%,transparent 65%,var(--bg) 100%);z-index:1}
.hero-content{position:relative;max-width:640px;text-align:center;z-index:2}
.hero-eyebrow{display:flex;align-items:center;justify-content:center;gap:.6rem;font-size:.65rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:1.8rem;opacity:.85}
.hero-eyebrow span{display:block;width:24px;height:1px;background:var(--accent);opacity:.5}
.hero-h1{font-family:var(--font-serif);font-size:clamp(2.6rem,7vw,5rem);font-weight:400;line-height:1.1;letter-spacing:-.02em;margin-bottom:1.2rem;color:var(--text-100)}
.hero-h1 em{color:var(--accent);font-style:italic;display:inline}
.hero-desc{font-size:.95rem;font-weight:400;line-height:1.8;color:var(--text-400);max-width:460px;margin:0 auto 2.2rem;opacity:.85}
.hero-btns{display:flex;gap:.8rem;justify-content:center;margin-bottom:0}
.btn-primary{display:inline-flex;align-items:center;gap:.6rem;padding:.8rem 2rem;background:var(--accent);color:#fff;border-radius:var(--radius-sm);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;transition:background .2s,transform .15s,box-shadow .2s;border:none;cursor:pointer;position:relative;overflow:hidden}
.btn-primary::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.06) 50%,transparent 60%);transform:translateX(-200%);transition:transform .6s cubic-bezier(.25,.46,.45,.94)}
.btn-primary:hover{background:#c9a054;transform:translateY(-1px);box-shadow:0 6px 18px rgba(184,147,74,.15)}
.btn-primary:hover::after{transform:translateX(200%)}
.btn-primary svg{width:16px;height:16px;stroke-linecap:round;stroke-linejoin:round}
.btn-secondary{display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 1.6rem;background:transparent;color:var(--text-200);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);font-size:.78rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;transition:color .2s,border-color .2s,transform .15s;cursor:pointer}
.btn-secondary:hover{color:var(--accent);border-color:rgba(184,147,74,.25);transform:translateY(-1px)}
.btn-secondary svg{width:14px;height:14px;stroke-linecap:round;stroke-linejoin:round}
.hero-trust{display:flex;gap:1.5rem;justify-content:center;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.04)}
.hero-trust-item{display:flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:500;color:var(--text-400);letter-spacing:.02em}
.hero-trust-item svg{stroke:var(--accent);flex-shrink:0;opacity:.7}

/* Custom time picker */
.time-picker{position:relative}
.time-picker-btn{display:flex;align-items:center;gap:.5rem;background:transparent;border:none;color:var(--text-100);font-size:.88rem;font-weight:500;cursor:pointer;padding:0;white-space:nowrap}
.time-picker-btn svg{flex-shrink:0;stroke:var(--accent);transition:transform .2s}
.tp-clock-icon{stroke:var(--accent);flex-shrink:0}
.time-picker.open .time-picker-btn svg{transform:rotate(180deg)}
.time-picker-drop{position:absolute;top:calc(100% + .75rem);left:0;min-width:150px;background:var(--card);border:1px solid var(--border);border-radius:.6rem;overflow-y:auto;max-height:220px;z-index:9999;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,visibility .2s,transform .2s;box-shadow:var(--shadow-md)}
.time-picker.open .time-picker-drop{opacity:1;visibility:visible;transform:translateY(0)}
.tp-opt{display:block;width:100%;text-align:left;padding:.55rem .9rem;background:none;border:none;color:var(--text-400);font-size:.83rem;cursor:pointer;transition:background .15s,color .15s}
.tp-opt:hover{background:rgba(184,147,74,.08);color:var(--accent)}
.tp-opt.active{color:var(--accent);font-weight:600}

/* ─── TICKER ─── */
.ticker{overflow:hidden;position:relative;background:linear-gradient(90deg,var(--surface),rgba(184,147,74,.04),var(--surface));border-top:1px solid rgba(184,147,74,.1);border-bottom:1px solid rgba(184,147,74,.1);padding:.8rem 0}.ticker::before,.ticker::after{content:"";position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none}.ticker::before{left:0;background:linear-gradient(90deg,var(--bg),transparent)}.ticker::after{right:0;background:linear-gradient(270deg,var(--bg),transparent)}
.ticker-track{display:flex;gap:0;width:max-content;animation:ticker 24s linear infinite}
.ticker-track .ti{white-space:nowrap;padding:0 1.5rem}
.ticker-track .ti-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);opacity:.9;vertical-align:middle;flex-shrink:0;box-shadow:0 0 7px rgba(184,147,74,.5)}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-25%)}}
.ti{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-200);white-space:nowrap}
.ti-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);flex-shrink:0;align-self:center}

/* ─── SECTION ─── */
.section{padding:6rem 2rem}
.section-inner{max-width:1200px;margin:0 auto}
.section-label{font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem}
.section-h2{font-family:var(--font-serif);font-size:clamp(2rem,5vw,3.5rem);font-weight:500;line-height:1.1;margin-bottom:3rem;color:var(--text-100)}
.section-h2 em{color:var(--accent);font-style:italic}
.section-h2--light{color:var(--text-100)}

/* ─── DELIVERY BAR ─── */
.delivery-bar{margin-bottom:2.5rem;position:relative;z-index:50}
.delivery-bar-inner{display:inline-flex;align-items:stretch;gap:0;background:var(--surface);border:1px solid var(--border);border-radius:.75rem;overflow:visible;position:relative}
.del-divider{width:1px;background:var(--border);flex-shrink:0}
.del-field{display:flex;flex-direction:column;gap:.35rem;padding:.85rem 1.1rem;min-width:160px}
.del-field label{display:flex;align-items:center;gap:.4rem;font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.del-field label svg{flex-shrink:0;stroke:var(--accent)}
.del-input{background:transparent;border:none;color:var(--text-100);font-size:.88rem;font-weight:500;transition:color .2s;padding:0;cursor:pointer}
.del-input:focus{outline:none;color:var(--text-100);box-shadow:var(--focus-ring)}
.del-input option{background:var(--card);color:var(--text-100)}
input[type="date"].del-input::-webkit-calendar-picker-indicator{
  opacity:0;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  cursor:pointer;
  margin:0;
  padding:0;
}
input[type="date"].del-input{position:relative;cursor:pointer;padding-right:2rem}
input[type="date"].del-input-wrap{position:relative;display:block}
input[type="date"].del-input-wrap::after{
  content:'';
  position:absolute;
  right:.8rem;top:50%;transform:translateY(-50%);
  width:13px;height:13px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8934a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
  background-size:contain;background-repeat:no-repeat;
  pointer-events:none;
}
.del-select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23b8934a' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .1rem center;padding-right:1.2rem}
.del-min{display:none}

/* PLZ Trigger Button */
.plz-trigger-btn{display:flex;align-items:center;gap:.45rem;padding:.45rem 1rem;background:transparent;border:1px solid var(--border);border-radius:2rem;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-400);cursor:pointer;transition:background .2s,color .2s,border-color .2s;white-space:nowrap}
.plz-trigger-btn svg{fill:var(--text-400);stroke:none;flex-shrink:0;transition:fill .2s}
.plz-trigger-btn:hover{border-color:var(--accent);color:var(--accent)}
.plz-trigger-btn:hover svg{fill:var(--accent)}

/* PLZ Popup Overlay */
.plz-popup-overlay{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,0);backdrop-filter:blur(0px);display:flex;align-items:center;justify-content:center;padding:1rem;pointer-events:none;transition:background .3s ease,backdrop-filter .3s ease}
.plz-popup-overlay.open{background:rgba(0,0,0,.65);backdrop-filter:blur(6px);pointer-events:all}
.plz-popup-box{background:var(--surface);border:1px solid var(--border);border-radius:1.25rem;padding:2.5rem 2rem 2rem;max-width:380px;width:100%;position:relative;text-align:center;transform:translateY(24px) scale(.97);opacity:0;transition:transform .3s cubic-bezier(.25,.46,.45,.94),opacity .3s ease;box-shadow:0 24px 64px rgba(0,0,0,.45)}
.plz-popup-overlay.open .plz-popup-box{transform:translateY(0) scale(1);opacity:1}
.plz-close{position:absolute;top:1rem;right:1rem;width:32px;height:32px;background:var(--card);border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-400);transition:color .2s,background .2s,border-color .2s}
.plz-close:hover{border-color:var(--accent);color:var(--accent)}
.plz-icon{width:56px;height:56px;background:rgba(184,147,74,.1);border-radius:1rem;display:flex;align-items:center;justify-content:center;margin:0 auto 1.2rem;color:var(--accent)}
.plz-icon svg{fill:var(--accent);stroke:none}
.plz-title{font-family:var(--font-serif);font-size:1.5rem;font-weight:500;color:var(--text-100);margin-bottom:.5rem}
.plz-subtitle{font-size:.83rem;color:var(--text-400);line-height:1.6;margin-bottom:1.5rem}
.plz-input-wrap{display:flex;gap:.5rem;margin-bottom:1rem}
.plz-input{flex:1;background:var(--card);border:1px solid var(--border);border-radius:.6rem;padding:.75rem 1rem;color:var(--text-100);font-size:1rem;font-weight:600;letter-spacing:.1em;text-align:center;transition:border-color .2s}
.plz-input:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}
.plz-check-btn{padding:.75rem 1.2rem;background:var(--accent);color:#fff;border:none;border-radius:.6rem;font-size:.8rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:background .2s;white-space:nowrap}
.plz-check-btn:hover{background:var(--brand-600)}
.plz-result{font-size:.88rem;font-weight:600;line-height:1.5;min-height:1.4em;transition:opacity .3s,color .3s}
.plz-result.success{color:#4caf88}
.plz-result.error{color:#e05555}
.del-min{font-size:.75rem;color:var(--text-400);white-space:nowrap;padding-bottom:.3rem}

/* ─── CATEGORY GRID ─── */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:2rem}

.cat-card{
  position:relative;text-align:left;background:var(--card);
  border:1px solid var(--border);border-radius:var(--radius);
  transition:transform .3s,box-shadow .3s,border-color .3s;
  overflow:hidden;cursor:pointer;
  display:flex;flex-direction:column;padding:0;
}
.cat-card:hover{border-color:rgba(184,147,74,.3);transform:translateY(-3px);box-shadow:0 16px 40px rgba(0,0,0,.35)}
.cat-card:active{transform:translateY(0) scale(.98);border-color:rgba(184,147,74,.4);transition-duration:.1s}

/* Category image */
.cat-card-img-wrap{width:100%;height:200px;overflow:hidden;flex-shrink:0;background:var(--brand-800)}
.cat-card-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.cat-card:hover .cat-card-img-wrap img{transform:scale(1.04)}
.cat-card:active .cat-card-img-wrap img{transform:scale(1.02);transition-duration:.1s}
.cat-card-img-placeholder{width:100%;height:200px;display:flex;align-items:center;justify-content:center;background:var(--brand-800);color:var(--accent)}
.cat-card-img-placeholder svg{width:48px;height:48px}

/* Category text area */
.cat-card-body{padding:1.5rem;flex:1;display:flex;flex-direction:column}
.cat-card-num{font-size:.65rem;font-weight:700;letter-spacing:.12em;color:var(--text-400);margin-bottom:.6rem}
.cat-card-name{font-family:var(--font-serif);font-size:1.5rem;font-weight:500;margin-bottom:.5rem;color:#fff}
.cat-card-desc{font-size:.82rem;font-weight:400;color:var(--text-400);line-height:1.6;margin-bottom:1.2rem;flex:1}
.cat-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto}
.cat-card-from{font-size:.78rem;font-weight:600;color:var(--accent)}
.cat-card-btn{display:flex;align-items:center;gap:.4rem;padding:0;background:none;color:rgba(240,234,216,.6);border-radius:0;font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;transition:color .3s ease}
.cat-card:hover .cat-card-btn{background:none;color:var(--accent)}
.cat-card:active .cat-card-btn{background:none}
.cat-card-btn svg{width:14px;height:14px}

/* ─── PRODUKT OVERLAY ─── */
.prod-back{display:flex;align-items:center;gap:.4rem;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-400);transition:color .2s;flex-shrink:0}
.prod-back:hover{color:var(--text-100)}
.prod-back svg{width:16px;height:16px}
.prod-title{font-family:var(--font-serif);font-size:1.3rem;font-weight:500;color:var(--text-100)}

/* ─── PRODUCT LIST & ITEMS (unified) ─── */
.prod-list{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.6rem;
  align-content:start;
  min-height:0;
  width:100%;
  flex-shrink:0;
}

.prod-item{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(184,147,74,.12);
  border-radius:.75rem;
  overflow:hidden;
  transition:border-color .25s,box-shadow .25s,transform .2s;
  cursor:pointer;
  box-shadow:var(--shadow-sm);
}
.prod-item:hover{border-color:rgba(184,147,74,.25);box-shadow:var(--shadow-md);transform:translateY(-1px)}
.prod-item:active{transform:scale(.98);border-color:rgba(184,147,74,.35);transition-duration:.1s}
.prod-item.selected{border-color:rgba(184,147,74,.4);box-shadow:0 8px 28px rgba(184,147,74,.1)}
.prod-item-body{padding:0 .9rem;max-height:0;overflow:hidden;transition:max-height .35s cubic-bezier(.4,0,.2,1),padding .35s;border-top:none}
.prod-item-img-wrap{margin:-.9rem -.9rem .9rem;overflow:hidden;aspect-ratio:16/7;border-radius:0;position:relative}
.prod-item-img-wrap::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,transparent 40%,rgba(8,72,56,.6));pointer-events:none}
.prod-item-img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .3s ease,transform .35s cubic-bezier(.25,.46,.45,.94)}
.prod-item-thumb{width:48px;height:48px;border-radius:.5rem;overflow:hidden;flex-shrink:0;border:1px solid rgba(184,147,74,.15);background:rgba(10,94,74,.15)}
.prod-item-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .25s ease}
.prod-item-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.prod-item-chevron{width:18px;height:18px;color:var(--text-400);flex-shrink:0;transition:transform .2s,color .2s}
.prod-item.selected .prod-item-chevron{transform:rotate(180deg);color:var(--accent)}

.prod-item-info{flex:1;min-width:0}
.prod-item-name{
  font-family:var(--font-serif);
  font-size:1.05rem;font-weight:500;
  color:var(--text-100);line-height:1.35;
  white-space:normal;word-break:break-word;
  margin-bottom:.15rem;
}
.prod-item-desc{
  font-size:.78rem;color:rgba(240,234,216,.5);line-height:1.6;
  margin:.2rem 0 .4rem;word-break:break-word;
}
.prod-item-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem}
.prod-item-chip{
  font-size:.72rem;padding:.25rem .65rem;border-radius:20px;
  background:rgba(184,147,74,.1);border:1px solid rgba(184,147,74,.18);
  color:rgba(240,234,216,.75);white-space:nowrap;
}
.prod-item-chip--more{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08);color:rgba(240,234,216,.45)}

.prod-item-header{
  display:flex;align-items:flex-start;
  gap:.75rem;padding:1.1rem 1.2rem;
  cursor:pointer;
  user-select:none;-webkit-tap-highlight-color:transparent;
}
.prod-item-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;flex-shrink:0;padding-top:.1rem}
.prod-item-price{font-size:.9rem;font-weight:700;color:var(--accent);white-space:nowrap}

.prod-select-btn{
  width:30px;height:30px;border-radius:50%;
  background:var(--accent);color:#fff;border:none;
  font-size:1.2rem;font-weight:300;line-height:1;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  flex-shrink:0;transition:background .2s,transform .15s;
}
.prod-select-btn:hover{background:#9a7a3a;transform:scale(1.08)}
.prod-select-btn:active{transform:scale(.95)}
.prod-select-btn svg{width:14px;height:14px}
.prod-item.selected .prod-select-btn{background:var(--accent)}

/* Variants */
.prod-variants{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.6rem;padding-top:.6rem}
.variant-btn{padding:.3rem .55rem;border:1px solid var(--border);border-radius:.3rem;font-size:.68rem;font-weight:500;color:var(--text-400);background:var(--brand-800);transition:color .2s,background .2s,border-color .2s;cursor:pointer;white-space:normal;word-break:break-word;line-height:1.3}
.variant-btn:hover,.variant-btn.active{border-color:var(--accent);color:var(--accent);background:rgba(184,147,74,.08)}

/* Fixed footer */
.overlay-footer{display:flex;align-items:center;gap:.8rem;padding:1rem 1.2rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom));background:var(--brand-700);border-top:2px solid var(--accent);flex-shrink:0}
.of-left{flex:1;min-width:0}
.of-product-name{font-size:.7rem;color:rgba(245,240,232,.45);margin-bottom:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.of-price{font-size:1.05rem;font-weight:700;color:var(--accent)}
.of-right{display:flex;align-items:center;gap:.85rem;flex-shrink:0}
.of-qty{display:flex;align-items:center;gap:.4rem;background:var(--brand-800);border-radius:.4rem;padding:.2rem}
.of-qty-btn{width:32px;height:32px;background:none;border:none;color:var(--text-100);font-size:1.2rem;cursor:pointer;border-radius:.3rem;display:flex;align-items:center;justify-content:center;transition:background .2s}
.of-qty-btn:hover{background:var(--brand-600)}
.of-qty-val{font-size:.95rem;font-weight:700;min-width:24px;text-align:center;color:var(--text-100)}
.of-add-btn{display:flex;align-items:center;gap:.5rem;padding:.7rem 1.2rem;background:var(--accent);color:#fff;border:none;border-radius:.4rem;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background .2s,transform .15s;white-space:nowrap;box-shadow:0 2px 12px rgba(184,147,74,.25)}
.of-add-btn:hover{background:#c9a054;transform:translateY(-1px)}
.of-add-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}
.of-add-btn svg{width:14px;height:14px;flex-shrink:0}

/* ─── PERSONENZAHL-RECHNER ─── */
.sw-calc{margin-bottom:2rem}
.sw-calc-inner{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem 2rem;display:flex;align-items:center;gap:2rem;flex-wrap:wrap}
.sw-calc-left{display:flex;align-items:center;gap:1rem;flex-shrink:0}
.sw-calc-icon{width:48px;height:48px;background:rgba(184,147,74,.1);border-radius:.75rem;display:flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0}
.sw-calc-title{font-family:var(--font-serif);font-size:1.15rem;font-weight:500;color:var(--text-100);margin-bottom:.15rem}
.sw-calc-sub{font-size:.75rem;color:var(--text-400)}
.sw-calc-right{flex:1;min-width:250px;display:flex;flex-direction:column;gap:.6rem}
.sw-calc-slider-wrap{display:flex;align-items:center;gap:1rem}
.sw-calc-range{flex:1;-webkit-appearance:none;appearance:none;height:4px;background:rgba(184,147,74,.12);border-radius:2px;outline:none;cursor:pointer}
.sw-calc-range::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--accent);border:2px solid var(--bg);box-shadow:0 2px 8px rgba(184,147,74,.3);cursor:pointer;transition:transform .15s}
.sw-calc-range::-webkit-slider-thumb:hover{transform:scale(1.15)}
.sw-calc-range::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--accent);border:2px solid var(--bg);box-shadow:0 2px 8px rgba(184,147,74,.3);cursor:pointer}
.sw-calc-val{font-size:.85rem;font-weight:700;color:var(--accent);white-space:nowrap;min-width:95px}
.sw-calc-val span{font-size:1.1rem}
.sw-calc-result{min-height:1.5em}
.sw-calc-tip{font-size:.78rem;color:var(--text-400);line-height:1.6;padding:.5rem .8rem;background:rgba(184,147,74,.04);border:1px solid rgba(184,147,74,.08);border-radius:.5rem}
.sw-calc-tip strong{color:var(--accent);font-weight:600}
.sw-calc-tip a{color:var(--accent);text-decoration:underline;text-underline-offset:2px;font-weight:600;transition:opacity .2s}
.sw-calc-tip a:hover{opacity:.75}
@media(max-width:767px){
  .sw-calc-inner{flex-direction:column;align-items:stretch;gap:1rem;padding:1.2rem}
  .sw-calc-left{gap:.7rem}
  .sw-calc-icon{width:40px;height:40px}
  .sw-calc-title{font-size:1rem}
}

/* ─── BESTSELLER ─── */
.sw-best{margin-top:3rem;padding-top:0}
.sw-best-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(184,147,74,.15),transparent);margin-bottom:2rem}
.sw-best-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem}
.sw-best-label{display:flex;align-items:center;gap:.5rem;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.sw-best-label svg{flex-shrink:0}
.sw-best-all{display:flex;align-items:center;gap:.3rem;font-size:.7rem;font-weight:600;color:var(--text-400);transition:color .2s;text-decoration:none}
.sw-best-all:hover{color:var(--accent)}
.sw-best-all svg{stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}
.sw-best-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.sw-best-carousel{
  display:flex;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  gap:1rem;
  padding-bottom:.75rem;
  cursor:grab;
  grid-template-columns:unset;
  scrollbar-width:none;
}
.sw-best-carousel::-webkit-scrollbar{display:none}
.sw-best-carousel:active{cursor:grabbing}
.sw-best-carousel .sw-best-card{
  flex:0 0 220px;
  scroll-snap-align:start;
}
.sw-best-card{background:var(--card);border:1px solid var(--border);border-radius:.75rem;overflow:hidden;text-decoration:none;color:inherit;transition:border-color .25s,box-shadow .25s,transform .2s}
.sw-best-card:hover{border-color:rgba(184,147,74,.3);box-shadow:0 12px 32px rgba(0,0,0,.25);transform:translateY(-2px)}
.sw-best-card:active{transform:scale(.98);transition-duration:.1s}
.sw-best-pop{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease,border-color .25s,box-shadow .25s}
.sw-best-pop.visible{opacity:1;transform:translateY(0)}
.sw-best-pop:nth-child(1){transition-delay:0s}
.sw-best-pop:nth-child(2){transition-delay:.06s}
.sw-best-pop:nth-child(3){transition-delay:.12s}
.sw-best-pop:nth-child(4){transition-delay:.18s}
.sw-best-img{aspect-ratio:4/3;overflow:hidden;background:var(--brand-800)}
.sw-best-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.sw-best-card:hover .sw-best-img img{transform:scale(1.04)}
.sw-best-info{padding:.8rem .9rem}
.sw-best-name{font-family:var(--font-serif);font-size:.88rem;font-weight:500;color:var(--text-100);margin-bottom:.25rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sw-best-price{font-size:.78rem;font-weight:700;color:var(--accent)}
@media(max-width:767px){
  .sw-best-grid{grid-template-columns:repeat(2,1fr);gap:.6rem}
  .sw-best-info{padding:.6rem .7rem}
  .sw-best-name{font-size:.78rem}
}

.prod-loading{text-align:center;padding:3rem;color:var(--text-400)}

/* ─── HEART LOADING ANIMATION ─── */
.sw-heart-loader{
  grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:1rem;padding:4rem 0;position:relative;
}
.sw-hl-heart{
  fill:var(--accent);stroke:none;
  animation:heartPulse 2.4s ease-in-out infinite;
  filter:drop-shadow(0 0 6px rgba(184,147,74,.3));
  position:relative;z-index:1;
}
.sw-hl-ring{
  position:absolute;top:50%;left:50%;width:52px;height:52px;
  margin:-34px 0 0 -26px;
  border:2px solid rgba(184,147,74,.12);
  border-top-color:var(--accent);
  border-radius:50%;
  animation:spin .8s linear infinite;
}
.sw-hl-text{
  font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:var(--accent);opacity:.6;
}
@keyframes spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){
  .sw-hl-heart{animation:none}
  .sw-hl-ring{animation:none;border-color:rgba(184,147,74,.2)}
  .sw-hl-text{animation:none}
}

/* ─── CUSTOM DATE/TIME PICKERS (global) ─── */
.cart-date-picker{position:relative}
.cart-dp-btn{display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--card);border:1px solid var(--border);border-radius:.5rem;padding:.6rem .9rem;color:var(--text-100);font-size:.85rem;cursor:pointer;transition:border-color .2s;text-align:left;font-family:inherit}
.cart-dp-btn:focus,.cart-dp-btn:hover{outline:none;border-color:var(--accent)}
.cart-dp-btn svg{stroke:var(--accent);flex-shrink:0;transition:transform .2s;fill:none;stroke-width:2;stroke-linecap:round;display:block}
.cart-date-picker.open .cart-dp-btn{border-color:var(--accent)}
.cart-date-picker.open .cart-dp-btn svg{transform:rotate(180deg)}
.cart-dp-drop{position:absolute;top:calc(100% + .4rem);left:0;right:0;background:var(--card);border:1px solid var(--border);border-radius:.5rem;overflow:hidden;z-index:9999;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .2s,visibility .2s,transform .2s;box-shadow:var(--shadow-md)}
.cart-date-picker.open .cart-dp-drop{opacity:1;visibility:visible;transform:translateY(0)}
.cart-dp-cal{padding:.75rem}
.cart-dp-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:.7rem}
.cart-dp-nav-btn{background:none;border:none;color:var(--text-400);cursor:pointer;padding:.3rem .5rem;border-radius:.3rem;font-size:.9rem;transition:color .15s,background .15s;font-family:inherit}
.cart-dp-nav-btn:hover{color:var(--accent);background:rgba(184,147,74,.06)}
.cart-dp-month{font-size:.8rem;font-weight:700;color:var(--text-100);letter-spacing:.04em}
.cart-dp-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px}
.cart-dp-wd{font-size:.6rem;font-weight:700;text-align:center;color:var(--text-400);padding:.2rem 0;letter-spacing:.04em}
.cart-dp-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.cart-dp-day{background:none;border:none;color:var(--text-200);font-size:.78rem;padding:.35rem .2rem;border-radius:.35rem;cursor:pointer;text-align:center;transition:color .15s,background .15s;font-family:inherit}
.cart-dp-day:hover:not(:disabled){background:rgba(184,147,74,.1);color:var(--accent)}
.cart-dp-day:disabled{opacity:.25;cursor:not-allowed}
.cart-dp-day.selected{background:var(--accent);color:#fff;font-weight:700}
.cart-dp-day.today{border:1px solid rgba(184,147,74,.35);color:var(--accent)}
.cart-time-picker{position:relative}
.cart-tp-btn{display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--card);border:1px solid var(--border);border-radius:.5rem;padding:.6rem .9rem;color:var(--text-100);font-size:.85rem;cursor:pointer;transition:border-color .2s;text-align:left;font-family:inherit}
.cart-tp-btn:focus,.cart-tp-btn:hover{outline:none;border-color:var(--accent)}
.cart-tp-btn svg{stroke:var(--accent);flex-shrink:0;transition:transform .2s;fill:none;stroke-width:2;stroke-linecap:round;display:block}
.cart-time-picker.open .cart-tp-btn{border-color:var(--accent)}
.cart-time-picker.open .cart-tp-btn svg{transform:rotate(180deg)}
.cart-tp-drop{position:absolute;top:calc(100% + .4rem);left:0;right:0;background:var(--card);border:1px solid var(--border);border-radius:.5rem;overflow-y:auto;max-height:200px;z-index:9999;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .2s,visibility .2s,transform .2s;box-shadow:var(--shadow-md)}
.cart-time-picker.open .cart-tp-drop{opacity:1;visibility:visible;transform:translateY(0)}
.cart-tp-opt{display:block;width:100%;text-align:left;padding:.5rem .9rem;background:none;border:none;color:var(--text-400);font-size:.83rem;cursor:pointer;transition:background .15s,color .15s;font-family:inherit}
.cart-tp-opt:hover{background:rgba(184,147,74,.08);color:var(--accent)}
.cart-tp-opt.active{color:var(--accent);font-weight:600}

/* ─── FEATURES ─── */
#features{background:var(--brand-800);padding:6rem 2rem}
.features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem;margin-top:2rem}
.feat-card{position:relative;overflow:hidden;
  padding:2rem;background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:var(--radius);
  opacity:0;transform:translateY(14px);
  transition:opacity .6s cubic-bezier(.25,.46,.45,.94),transform .6s cubic-bezier(.25,.46,.45,.94),border-color .35s,box-shadow .35s;
}
.feat-card.visible{transform:translateY(0);opacity:1}
.feat-card:nth-child(1){transition-delay:0s}
.feat-card:nth-child(2){transition-delay:.1s}
.feat-card:nth-child(3){transition-delay:.2s}
.feat-card:nth-child(4){transition-delay:.3s}
.feat-card:hover{border-color:rgba(184,147,74,.25);box-shadow:0 8px 28px rgba(0,0,0,.3);transform:translateY(-3px)}
.feat-card::after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(184,147,74,.55),transparent);opacity:0;transition:opacity .3s;pointer-events:none}
.feat-card:hover::after{opacity:1}
.feat-icon{width:52px;height:52px;background:rgba(184,147,74,.1);border:1px solid rgba(184,147,74,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--accent);margin-bottom:1.3rem;flex-shrink:0;box-shadow:0 0 20px rgba(184,147,74,.08)}
.feat-icon svg{width:20px;height:20px}
.feat-title{font-weight:600;margin-bottom:.5rem;color:var(--text-100)}
.feat-desc{font-size:.85rem;font-weight:400;color:var(--text-400);line-height:1.7}

/* ─── CATERING ─── */
#catering{display:block;width:100%;padding:6rem 2rem}
.catering-text{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:700px;margin:0 auto}
.cbox{
  padding:2.5rem;border-right:1px solid var(--border);border-bottom:1px solid var(--border);
  transition:background .4s cubic-bezier(.25,.46,.45,.94),transform .6s cubic-bezier(.25,.46,.45,.94),opacity .6s cubic-bezier(.25,.46,.45,.94);
  opacity:0;transform:translateY(14px);
}
.cbox.visible{transform:translateY(0);opacity:1}
.cbox:nth-child(1){transition-delay:.05s}
.cbox:nth-child(2){transition-delay:.12s}
.cbox:nth-child(3){transition-delay:.19s}
.cbox:nth-child(4){transition-delay:.26s}
.cbox:hover{background:rgba(255,255,255,.03)}
.cbox svg{width:28px;height:28px;color:var(--accent);margin-bottom:1rem}
.cbox h4{font-size:.9rem;font-weight:600;margin-bottom:.5rem;color:var(--text-100)}
.cbox p{font-size:.82rem;font-weight:400;color:var(--text-400);line-height:1.6}

/* ─── FOOTER (global premium) ─── */
.sw-gf{border-top:1px solid rgba(184,147,74,.06);padding:2.5rem 2rem 2rem;background:var(--bg)}
.sw-gf-inner{max-width:800px;margin:0 auto;text-align:center}
.sw-gf-top{margin-bottom:1.2rem}
.sw-gf-brand{font-family:var(--font-serif);font-size:1.3rem;font-weight:500;color:var(--text-100);display:inline-block}
.sw-gf-brand span{color:var(--accent);font-style:italic}
.sw-gf-tagline{font-size:.6rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);opacity:.5;margin-top:.3rem}
.sw-gf-deco{width:100%;height:1px;background:transparent;margin:0 auto 1.5rem;overflow:hidden;opacity:1}
.sw-gf-deco-line{height:1px;width:0%;background:linear-gradient(90deg,transparent,rgba(184,147,74,.4),transparent);transition:width 1.2s cubic-bezier(.4,0,.2,1)}
.sw-gf-deco.animated .sw-gf-deco-line{width:100%}
.sw-gf-links{display:flex;align-items:center;justify-content:center;gap:.15rem;flex-wrap:wrap;margin-bottom:1.5rem}
.sw-gf-links a{font-size:.7rem;color:var(--text-400);padding:.3rem .55rem;border-radius:var(--radius-sm);transition:color .2s,background .2s;white-space:nowrap}
.sw-gf-links a:hover{color:var(--accent);background:rgba(184,147,74,.05)}
.sw-gf-cols{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem;text-align:center;justify-items:center}
.sw-gf-col{display:flex;flex-direction:column;gap:.5rem;align-items:center}
.sw-gf-col-label{font-size:.6rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:rgba(184,147,74,.5);margin-bottom:.3rem}
.sw-gf-col a{font-size:.75rem;color:var(--text-400);text-decoration:none;transition:color .2s;padding:.1rem 0}
.sw-gf-col a:hover{color:var(--accent)}
.sw-gf-btm{display:flex;align-items:center;justify-content:center;gap:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.04)}
.sw-gf-copy{font-size:.6rem;color:rgba(184,160,128,.35)}
.sw-gf-copy span{color:var(--accent);font-style:italic;opacity:.6}
.sw-gf-made{font-size:.6rem;color:rgba(184,160,128,.25);display:flex;align-items:center;gap:.25rem}
footer{background:var(--brand-800);padding:5rem 2rem 2rem;border-top:1px solid var(--border)}
.footer-inner{max-width:1200px;margin:0 auto}
.footer-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4rem;flex-wrap:wrap;gap:2rem}
.footer-headline{font-family:var(--font-serif);font-size:clamp(1.8rem,4vw,3rem);font-weight:500;line-height:1.2;color:var(--text-100)}
.footer-headline em{color:var(--accent);font-style:italic}
.footer-headline .ol{-webkit-text-stroke:1px var(--text-100);color:transparent}
.footer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-xl);margin-bottom:var(--space-2xl);text-align:center;max-width:500px;margin-left:auto;margin-right:auto}
.fc h4{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-400);margin-bottom:1rem}
.fc a,.fc p{display:inline-block;font-size:.85rem;font-weight:400;color:var(--text-400);margin-bottom:.35rem;transition:color .2s,border-color .2s;border:1px solid transparent;border-radius:.3rem;padding:.15rem .4rem}
.fc a:hover{color:var(--accent);border-color:rgba(184,147,74,.3)}
.fc-contact{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:400;color:var(--text-400);margin-bottom:.55rem;transition:color .2s}
.fc-contact svg{flex-shrink:0;stroke:var(--accent);opacity:.6}
a.fc-contact:hover{color:var(--accent)}
a.fc-contact:hover svg{opacity:1}
.footer-btm{text-align:center;padding-top:2rem;border-top:1px solid var(--border);font-size:.75rem;color:var(--text-400)}

/* ─── CART TOAST / PREMIUM CART POPUP ─── */
.sw-cart-popup{
  position:fixed;bottom:2rem;right:2rem;
  display:flex;align-items:center;gap:.85rem;
  background:linear-gradient(135deg,#073d30 0%,#052a20 100%);
  border:1px solid rgba(184,147,74,.35);
  border-radius:1rem;
  padding:.85rem 1rem .85rem .85rem;
  z-index:9999;
  box-shadow:0 16px 48px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.04);
  transform:translateX(calc(100% + 2.5rem));
  opacity:0;
  transition:transform .35s cubic-bezier(.25,.46,.45,.94),opacity .3s ease;
  max-width:320px;
  cursor:pointer;
  font-family:var(--font-sans);
}
.sw-cart-popup.sw-cp-show{transform:translateX(0);opacity:1}
.sw-cart-popup--error{border-color:rgba(220,80,80,.35);background:linear-gradient(135deg,#3a1a1a 0%,#2b1111 100%)}
.sw-cp-check{
  width:36px;height:36px;border-radius:50%;flex-shrink:0;
  background:rgba(184,147,74,.15);border:1px solid rgba(184,147,74,.3);
  display:flex;align-items:center;justify-content:center;
}
.sw-cp-check svg{width:16px;height:16px;stroke:var(--accent)}
.sw-cp-check--err{background:rgba(220,80,80,.12);border-color:rgba(220,80,80,.35)}
.sw-cp-check--err svg{stroke:#e05050}
.sw-cp-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.18rem}
.sw-cp-label{font-size:.67rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);opacity:.85}
.sw-cp-name{font-size:.82rem;font-weight:500;color:var(--text-100);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sw-cp-action{
  flex-shrink:0;display:flex;align-items:center;gap:.3rem;
  font-size:.72rem;font-weight:600;letter-spacing:.05em;
  color:#fff;background:var(--accent);
  border-radius:.5rem;padding:.4rem .7rem;
  text-decoration:none;white-space:nowrap;
  transition:background .2s;
}
.sw-cp-action:hover{background:#c9a040}
.toast-link{font-size:.78rem;font-weight:600;color:var(--accent);letter-spacing:.05em}

/* ─── ANIMATIONS ─── */
.rv{opacity:0;transform:translateY(14px);transition:opacity .7s cubic-bezier(.25,.46,.45,.94),transform .7s cubic-bezier(.25,.46,.45,.94)}
.rv.visible{opacity:1;transform:translateY(0)}
.d1>*:nth-child(1){transition-delay:.04s}.d1>*:nth-child(2){transition-delay:.08s}.d1>*:nth-child(3){transition-delay:.12s}.d1>*:nth-child(4){transition-delay:.16s}.d1>*:nth-child(5){transition-delay:.2s}.d1>*:nth-child(6){transition-delay:.24s}

/* ═══════════════════════════════════════════════════════
   FULLSCREEN CATEGORY PAGE
   ═══════════════════════════════════════════════════════ */
.sw-fullpage{
  position:fixed;inset:0;z-index:600;
  background:var(--bg);
  display:flex;flex-direction:column;
  opacity:0;visibility:hidden;
  transition:opacity .35s ease,visibility 0s .35s;
  overflow:hidden;
}
.sw-fullpage.sw-open{opacity:1;visibility:visible;transition:opacity .35s ease,visibility 0s 0s}

.sw-fp-bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.sw-fp-canvas{display:none}
.sw-fp-gradient{
  position:absolute;inset:-10%;
  background:
    radial-gradient(ellipse 60% 45% at 15% 10%, rgba(184,147,74,.05) 0%, transparent 50%),
    radial-gradient(ellipse 45% 55% at 85% 85%, rgba(10,94,74,.06) 0%, transparent 50%);
  animation:none;
}
.sw-fp-grain{
  display:none;
}

/* Header */
.sw-fp-header{
  position:sticky;top:0;z-index:10;
  display:flex;align-items:center;gap:1rem;
  padding:calc(.65rem + env(safe-area-inset-top)) calc(1.5rem + env(safe-area-inset-right)) .65rem calc(1.5rem + env(safe-area-inset-left));
  border-bottom:1px solid rgba(184,147,74,.1);
  background:rgba(5,20,14,.9);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  flex-shrink:0;
}
.sw-fp-back{
  display:flex;align-items:center;gap:.35rem;
  background:rgba(184,147,74,.06);
  border:1px solid rgba(184,147,74,.15);
  border-radius:.45rem;
  padding:.35rem .7rem;
  color:var(--accent);
  font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  cursor:pointer;transition:background .2s,border-color .2s;white-space:nowrap;flex-shrink:0;
}
.sw-fp-back:hover{background:rgba(184,147,74,.12);border-color:var(--accent)}
.sw-fp-title-wrap{flex:1;min-width:0}
.sw-fp-eyebrow{font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);opacity:.65;margin-bottom:.15rem}
.sw-fp-title{
  font-family:var(--font-serif);
  font-size:clamp(1.3rem,3vw,1.9rem);font-weight:500;
  color:var(--text-100);line-height:1.1;margin:0;
  opacity:0;transform:translateY(6px);
  transition:opacity .4s .1s,transform .4s .1s;
}
.sw-fullpage.sw-open .sw-fp-title{opacity:1;transform:translateY(0)}
.sw-fp-count{
  font-size:.68rem;color:var(--accent);letter-spacing:.05em;
  background:rgba(184,147,74,.08);border:1px solid rgba(184,147,74,.15);
  padding:.22rem .65rem;border-radius:2rem;white-space:nowrap;flex-shrink:0;
}
.sw-fp-count span{font-weight:700}

/* Cart shortcut in overlay header */
.sw-fp-header-right{display:flex;align-items:center;gap:.6rem;flex-shrink:0}
.sw-fp-cart-link{
  position:relative;display:flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:50%;
  background:rgba(184,147,74,.06);border:1px solid rgba(184,147,74,.15);
  color:var(--accent);text-decoration:none;
  transition:background .2s,border-color .2s,transform .15s;
}
.sw-fp-cart-link:hover{background:rgba(184,147,74,.14);border-color:var(--accent);transform:scale(1.05)}
.sw-fp-cart-link:active{transform:scale(.96)}
.sw-fp-cart-link svg{display:block}
.sw-fp-cart-badge{
  position:absolute;top:-4px;right:-4px;
  min-width:18px;height:18px;padding:0 5px;
  background:var(--accent);color:#fff;
  border-radius:9px;font-size:.6rem;font-weight:800;
  display:flex;align-items:center;justify-content:center;
  line-height:1;
  transition:transform .25s ease;
}
.sw-fp-cart-badge.bump{animation:badgeBump .3s ease}
@keyframes badgeBump{0%{transform:scale(1)}50%{transform:scale(1.2)}100%{transform:scale(1)}}

/* Scroll area */
.sw-fp-scroll{
  flex:1;overflow-y:auto;overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  position:relative;z-index:1;
  padding:.75rem 1.25rem;
  display:flex;flex-direction:column;
}
.sw-fp-scroll::-webkit-scrollbar{width:4px}
.sw-fp-scroll::-webkit-scrollbar-track{background:transparent}
.sw-fp-scroll::-webkit-scrollbar-thumb{background:rgba(184,147,74,.2);border-radius:2px}

/* Product grid override for fullscreen overlay */
.sw-fp-scroll .prod-list{
  padding:0;
  overflow-y:unset;
}

/* Card enter animation */
.prod-item.sw-visible{
  animation:cardIn .4s ease forwards;
}
@keyframes cardIn{
  0%{opacity:0;transform:translateY(10px)}
  100%{opacity:1;transform:translateY(0)}
}
.prod-item.sw-visible{
  animation-timing-function:cubic-bezier(.25,.46,.45,.94);
}

/* Accordion body in overlay */
.prod-item-body{
  max-height:0;overflow:hidden;
  padding:0 1rem;
  transition:max-height .35s cubic-bezier(.4,0,.2,1),padding .3s;
  border-top:none;
}
.prod-item.selected .prod-item-body{
  max-height:900px;
  padding:0 1rem .9rem;
  border-top:none;
}

/* Variants (overlay) */
.prod-variants{display:flex;flex-wrap:wrap;gap:.3rem;padding-top:.45rem}
.variant-btn{
  padding:.28rem .55rem;
  border:1px solid rgba(184,147,74,.15);border-radius:.35rem;
  font-size:.68rem;font-weight:500;
  color:rgba(245,240,232,.55);
  background:rgba(255,255,255,.03);
  transition:color .18s,background .18s,border-color .18s;cursor:pointer;
  white-space:normal;word-break:break-word;line-height:1.3;
}
.variant-btn:hover,.variant-btn.active{
  border-color:var(--accent);
  color:var(--accent);
  background:rgba(184,147,74,.08);
}

/* Zutaten toggle (overlay) */
.prod-desc-wrap{margin-top:.4rem}
.prod-desc-toggle{
  display:inline-flex;align-items:center;gap:.35rem;
  background:rgba(184,147,74,.04);
  border:1px solid rgba(184,147,74,.12);
  border-radius:.35rem;
  cursor:pointer;
  font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--accent);
  padding:.25rem .6rem;
  transition:color .2s,background .2s,border-color .2s;
}
.prod-desc-toggle:hover{background:rgba(184,147,74,.1);border-color:var(--accent)}
.prod-desc-toggle svg{width:11px;height:11px;stroke:var(--accent);fill:none;stroke-width:2}

/* Loading */
.sw-loading,.prod-loading{
  grid-column:1/-1;
  display:flex;align-items:center;justify-content:center;
  gap:.8rem;padding:1.5rem;
  color:rgba(184,147,74,.5);font-size:.82rem;letter-spacing:.06em;
}
.sw-loading::before,.prod-loading::before{
  content:'';width:16px;height:16px;
  border:2px solid rgba(184,147,74,.15);
  border-top-color:var(--accent);
  border-radius:50%;
  animation:spin .7s linear infinite;
}

/* Cart footer (overlay) */
.overlay-footer{
  position:relative;z-index:3;
  display:flex;align-items:center;
  justify-content:space-between;
  gap:.8rem;
  padding:.7rem 1.5rem;
  padding-bottom:calc(.7rem + env(safe-area-inset-bottom));
  background:rgba(5,20,14,.94);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  border-top:1px solid rgba(184,147,74,.15);
  box-shadow:0 -4px 20px rgba(0,0,0,.3);
  flex-shrink:0;
  animation:footerUp .35s ease;
}
@keyframes footerUp{
  from{transform:translateY(100%);opacity:0}
  to{transform:translateY(0);opacity:1}
}
.of-left{flex:1;min-width:0}
.of-product-name{font-size:.68rem;color:rgba(245,240,232,.45);margin-bottom:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.of-price{font-size:1.05rem;font-weight:700;color:var(--accent)}
.of-right{display:flex;align-items:center;gap:.85rem;flex-shrink:0}
.of-qty{
  display:flex;align-items:center;gap:.35rem;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(184,147,74,.15);border-radius:.45rem;
  padding:.25rem .35rem;
}
.of-qty-btn{
  width:28px;height:28px;background:none;border:none;
  color:var(--text-100);font-size:1.1rem;
  cursor:pointer;border-radius:.3rem;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s;
}
.of-qty-btn:hover{background:rgba(184,147,74,.12)}
.of-qty-val{font-size:.9rem;font-weight:700;min-width:20px;text-align:center;color:var(--text-100)}
.of-add-btn{
  display:flex;align-items:center;gap:.45rem;
  padding:.6rem 1.2rem;
  background:var(--accent);color:#fff;
  border:none;border-radius:.5rem;
  font-size:.78rem;font-weight:700;letter-spacing:.04em;
  cursor:pointer;transition:background .2s,transform .15s;white-space:nowrap;
}
.of-add-btn:hover{background:#9a7a3a;transform:translateY(-1px)}
.of-add-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.of-add-btn svg{width:13px;height:13px;flex-shrink:0}

/* ═══════════════════════════════════════════════════════
   RESPONSIVE — TABLET 768-1024px
   ═══════════════════════════════════════════════════════ */
@media(max-width:1024px){
  .nav-links{gap:1.2rem}
  .nav-links a{font-size:.72rem}
  #catering{padding:5rem 1.5rem}
  .catering-text{padding:0}
  .section{padding:4.5rem 1.5rem}
  .hero-stats{gap:1.5rem}
}

/* ═══════════════════════════════════════════════════════
   RESPONSIVE — MOBILE <= 767px
   ═══════════════════════════════════════════════════════ */
@media(max-width:767px){

  /* ── NAV ── */
  .nav{
    padding:.7rem 1rem;
    gap:.6rem;
  }
  .nav-links{display:none}
  .nav{display:none}
  .nav-brand{font-size:1.2rem}
  .nav-brand-img img{height:28px}
  .plz-trigger-btn{
    padding:.4rem .75rem;
    font-size:.68rem;
    min-height:44px;
  }
  .plz-trigger-btn span{display:none}
  .nav-cta{
    padding:.45rem .9rem;
    font-size:.72rem;
    min-height:44px;
  }
  .nav-cta span:not(.nav-badge){display:none}

  /* ── HERO ── */
  #hero{padding:6rem 1.5rem 3rem;min-height:92vh;align-items:flex-end}
  .hero-content{max-width:100%;text-align:center}
  .hero-eyebrow{font-size:.6rem;letter-spacing:.15em;margin-bottom:1.2rem}
  .hero-h1{font-size:clamp(2rem,9vw,3rem);margin-bottom:.8rem;line-height:1.15}
  .hero-desc{font-size:.85rem;max-width:100%;margin-bottom:1.5rem;line-height:1.7}
  .hero-btns{flex-direction:column;gap:.5rem;align-items:stretch}
  .hero-btns .btn-primary{width:100%;justify-content:center;padding:.75rem 1.5rem;min-height:48px}
  .hero-btns .btn-secondary{width:100%;justify-content:center;padding:.65rem 1.2rem;font-size:.72rem;min-height:44px}
  .hero-trust{flex-direction:column;gap:.4rem;align-items:center;margin-top:1.5rem;padding-top:1.2rem}
  .hero-trust-item{font-size:.65rem}

  /* ── TEXT-ROLL STRIP — single row on mobile, no stacking ── */
  .sw-roll-strip{gap:.4rem;padding:.85rem .6rem;flex-wrap:nowrap;justify-content:space-between;overflow:hidden}
  .sw-roll-strip .sw-roll-item{flex:0 1 auto;min-width:0}
  .sw-roll-strip .sw-roll-ch{font-size:.46rem;letter-spacing:.06em}

  /* ── SECTION ── */
  .section{padding:3.5rem 1.2rem}
  .section-h2{font-size:clamp(1.6rem,7vw,2.4rem);margin-bottom:2rem}

  /* ── DELIVERY BAR ── */
  .delivery-bar-inner{
    display:flex;flex-direction:column;
    width:100%;border-radius:.65rem;
  }
  .del-field{min-width:0;padding:.75rem 1rem}
  .del-divider{width:auto;height:1px}
  .del-min{display:block;font-size:.72rem;padding:.6rem 1rem;color:var(--text-400)}

  /* ── ZONE INFO ── */
  .zone-info-inner{flex-direction:column;align-items:stretch;gap:.6rem;padding:.85rem}
  .zone-info-title{justify-content:center;margin-bottom:0}
  .zone-info-zones{justify-content:center;gap:.3rem}
  .zone-chip{flex:0 0 auto;padding:.4rem .6rem;font-size:.72rem;white-space:nowrap}
  .zone-min-wrap{text-align:center}
  .zone-min-title{justify-content:center}
  .zone-min-chips{justify-content:center;gap:.35rem}
  .zone-min-chip{min-width:0;flex:1}

  /* ── CATEGORY GRID ── */
  .cat-grid{
    grid-template-columns:1fr 1fr;
    gap:.75rem;
    margin-top:1.5rem;
  }
  .cat-card-img-wrap,.cat-card-img-placeholder{height:130px}
  .cat-card-body{padding:1rem}
  .cat-card-name{font-size:1.1rem}
  .cat-card-desc{display:none}
  .cat-card-btn span{display:none}
  .cat-card-btn{padding:.4rem .6rem;min-height:44px}

  /* ── FEATURES ── */
  #features{padding:2rem .9rem}
  .features-grid{grid-template-columns:1fr 1fr;gap:.4rem;margin-top:1rem}
  .feat-card{position:relative;overflow:hidden;padding:.7rem .75rem}
  .feat-icon{width:26px;height:26px;border-radius:.4rem;margin-bottom:.5rem}
  .feat-icon svg{width:13px;height:13px}
  .feat-title{font-size:.72rem;margin-bottom:.2rem;line-height:1.3}
  .feat-desc{font-size:.65rem;line-height:1.5}
  #features .section-h2{font-size:clamp(1.2rem,5.5vw,1.6rem)}
  #features .section-label{font-size:.58rem}

  /* ── CATERING ── */
  #catering{padding:3.5rem 1.2rem}
  .catering-text{padding:0}
  .cbox{padding:1.5rem}

  /* ── FOOTER ── */
  footer{padding:3.5rem 1.2rem 2rem}
  .footer-top{flex-direction:column;gap:1.2rem;margin-bottom:2.5rem;align-items:flex-start}
  .footer-headline{font-size:clamp(1.4rem,7vw,2rem)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}
  .footer-btm{flex-direction:column;gap:.6rem;font-size:.7rem}

  /* ── PREMIUM CART POPUP MOBILE ── */
  .sw-cart-popup{
    bottom:1rem;right:1rem;left:1rem;
    max-width:none;
    transform:translateY(calc(100% + 2rem));
    border-radius:.85rem;
    padding:.75rem .85rem .75rem .75rem;
  }
  .sw-cart-popup.sw-cp-show{transform:translateY(0)}
  .sw-cp-check{width:32px;height:32px}
  .sw-cp-label{font-size:.65rem}
  .sw-cp-name{font-size:.78rem}
  .sw-cp-action{font-size:.7rem;padding:.4rem .65rem;min-height:44px}

  /* ── PLZ POPUP ── */
  .plz-popup-box{padding:2rem 1.2rem 1.5rem;border-radius:1.25rem 1.25rem 0 0}
  .plz-popup-overlay{align-items:flex-end;padding:0}

  /* ── ZUTATEN POPUP ── */
  .zt-overlay{align-items:flex-end;padding:0}
  .zt-box{border-radius:1.2rem 1.2rem 0 0;max-height:78vh;max-width:100%}

  /* ── FULLSCREEN KATEGORIE PAGE ── */
  .sw-fp-header{
    padding:calc(.55rem + env(safe-area-inset-top)) calc(.75rem + env(safe-area-inset-right)) .55rem calc(.75rem + env(safe-area-inset-left));
    gap:.5rem;
  }
  .sw-fp-eyebrow{display:none}
  /* Zurück-Button auf Mobile mit Label + größere Tap-Fläche, immer sichtbar durch sticky header */
  .sw-fp-back{padding:.5rem .8rem;font-size:.72rem;background:rgba(184,147,74,.14);border-color:rgba(184,147,74,.35)}
  .sw-fp-back span{display:inline}
  .sw-fp-title{
    font-size:1.1rem;
    color:var(--text-100);
    background:none;
    animation:none;
  }
  .sw-fp-scroll{padding:.55rem}
  .prod-list{
    grid-template-columns:repeat(2,1fr);
    gap:.45rem;
  }
  .prod-item-header{padding:.55rem .55rem;gap:.35rem;min-height:auto}
  .prod-item-name{font-size:.78rem;line-height:1.25}
  .prod-item-price{font-size:.65rem}
  .prod-item-desc{font-size:.62rem;margin:.15rem 0 .25rem}
  .prod-item-chips{gap:.2rem;margin-top:.25rem}
  .prod-item-chip{font-size:.58rem;padding:.15rem .4rem}
  .prod-select-btn{width:26px;height:26px;font-size:.9rem}
  .prod-item-chevron{width:14px;height:14px}
  .prod-item-body{font-size:.6rem}
  .prod-item{border-radius:.5rem}
  .variant-btn{
    width:100%;text-align:left;
    padding:.3rem .4rem;font-size:.6rem;
    min-height:36px;display:flex;align-items:center;
  }
  .prod-desc-toggle{width:100%;justify-content:center;font-size:.58rem;padding:.25rem .4rem;min-height:36px}
  .sw-fp-filler{margin-top:.5rem;padding:.6rem 0 .3rem;min-height:50px}
  .sw-fp-other-label{font-size:.55rem;margin-bottom:.5rem}
  .sw-fp-other-chips{gap:.3rem}
  .sw-fp-other-chip{padding:.4rem .7rem;font-size:.62rem;min-height:44px}

  /* Cart footer mobile */
  .overlay-footer{
    padding:.6rem .75rem;
    padding-bottom:calc(.6rem + env(safe-area-inset-bottom, 0px));
    flex-wrap:wrap;gap:.45rem;
  }
  .of-left{width:100%;display:flex;align-items:center;justify-content:space-between}
  .of-right{width:100%;justify-content:space-between}
  .of-add-btn{flex:1;justify-content:center;font-size:.78rem;min-height:48px}

  /* Cart popup safe area */
  .sw-cart-popup{
    bottom:calc(1rem + env(safe-area-inset-bottom, 0px));
  }

  /* PLZ popup safe area */
  .plz-popup-box{padding-bottom:calc(1.5rem + env(safe-area-inset-bottom, 0px))}

  /* ── Product Sheet Mobile Fix ── */
  #sw-product-sheet .sw-sheet-panel{
    max-height:100vh;
    max-height:100dvh;
    border-radius:0;
  }
  .sw-sheet-close{
    width:42px;height:42px;min-width:42px;min-height:42px;
    margin:.5rem .5rem 0 0;
    z-index:60;
  }
  .sw-sheet-img-wrap{
    margin-top:-42px;
    aspect-ratio:3/2;
  }
  .sw-sheet-body{padding:1rem 1rem 1.5rem}
  .sw-sheet-footer{
    padding:.8rem 1rem calc(.8rem + env(safe-area-inset-bottom, 0px));
    margin:0 -1rem -1.5rem;
  }
  .sw-sheet-qty-btn{width:44px;height:44px}
  .sw-sheet-add-btn{min-height:48px;font-size:.82rem}
  .sw-sheet-var{min-height:44px;display:flex;align-items:center}

  /* ── Nav Cart consistent on all pages ── */
  .sw-nav-cta{
    padding:.4rem .6rem;
    font-size:0;
    gap:.3rem;
    border-radius:.4rem;
    min-height:36px;
    display:flex;
    align-items:center;
  }
  .sw-nav-cta svg{width:18px;height:18px}
}

/* ═══════════════════════════════════════════════════════
   RESPONSIVE — SMALL MOBILE <= 380px
   ═══════════════════════════════════════════════════════ */
@media(max-width:380px){
  .cat-grid{grid-template-columns:1fr}
  .features-grid{grid-template-columns:1fr}
  .hero-h1{font-size:2rem}
  .footer-grid{grid-template-columns:1fr}
}

/* ═══════════════════════════════════════════════════════
   TABLET 768-1024px — product grid
   ═══════════════════════════════════════════════════════ */
@media(min-width:768px) and (max-width:1024px){
  .prod-list{grid-template-columns:repeat(3,1fr);gap:.75rem}
  .sw-fp-scroll{padding:1.25rem}
}

/* ── Zone Info Bar ── */
.zone-info-bar{margin-bottom:2rem}
.zone-info-inner{
  display:flex;align-items:center;flex-wrap:wrap;gap:1rem;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:.75rem;
  padding:.85rem 1.2rem;
}
.zone-info-title{
  display:flex;align-items:center;gap:.4rem;
  font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--accent);white-space:nowrap;flex-shrink:0;
}
.zone-info-title svg{fill:var(--accent);stroke:none;flex-shrink:0}
.zone-info-zones{
  display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;flex:1;
}
.zone-chip{
  display:flex;align-items:center;gap:.35rem;
  background:rgba(184,147,74,.06);
  border:1px solid rgba(184,147,74,.12);
  border-radius:.4rem;
  padding:.3rem .65rem;
  font-size:.75rem;
}
.zone-chip span{color:var(--text-400)}
.zone-chip strong{color:var(--text-100);font-weight:700}
.zone-chip--catering strong{color:var(--accent)}
.zone-chip--catering a{color:var(--accent);text-decoration:none}
.zone-chip--catering a:hover{text-decoration:underline}
.zone-min-wrap{
  width:100%;padding-top:.7rem;margin-top:.4rem;
  border-top:1px solid rgba(184,147,74,.08);
}
.zone-min-title{
  display:flex;align-items:center;gap:.35rem;
  font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--accent);margin-bottom:.5rem;
}
.zone-min-title svg{flex-shrink:0;stroke:var(--accent)}
.zone-min-chips{display:flex;gap:.5rem;flex-wrap:wrap}
.zone-min-chip{
  display:flex;flex-direction:column;align-items:center;gap:.15rem;
  padding:.5rem .9rem;
  background:rgba(184,147,74,.05);border:1px solid rgba(184,147,74,.12);
  border-radius:.5rem;flex:1;min-width:80px;text-align:center;
  transition:border-color .2s;
}
.zone-min-chip:hover{border-color:rgba(184,147,74,.3)}
.zone-min-day{font-size:.58rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-400)}
.zone-min-chip strong{font-size:.85rem;color:var(--accent);font-weight:700}
.zone-min-chip--high{background:rgba(184,147,74,.08);border-color:rgba(184,147,74,.2)}
.zone-min-chip--high strong{color:#c9a054}
@media(max-width:480px){
  .zone-min-chips{gap:.35rem}
  .zone-min-chip{padding:.4rem .6rem;min-width:65px}
  .zone-min-chip strong{font-size:.78rem}
}

/* ── Zutaten Chips & Intro ── */
.zt-intro{
  font-size:.85rem;color:var(--text-400);line-height:1.75;
  margin-bottom:1.1rem;padding-bottom:1rem;
  border-bottom:1px solid rgba(184,147,74,.08);
}
.zt-chips{
  display:flex;flex-wrap:wrap;gap:.5rem;
}
.zt-chip{
  display:inline-flex;align-items:center;
  padding:.35rem .8rem;
  background:rgba(184,147,74,.06);
  border:1px solid rgba(184,147,74,.15);
  border-radius:2rem;
  font-size:.78rem;color:var(--text-100);
  line-height:1.4;
  transition:background .2s,border-color .2s;
}
.zt-chip:hover{background:rgba(184,147,74,.1);border-color:rgba(184,147,74,.3)}

/* ── Zutaten Popup — HTML Content Styles ── */
.zt-html-content{
  font-size:.85rem;
  color:var(--text-400);
  line-height:1.75;
}
.zt-html-content p{
  margin-bottom:.9rem;
  color:var(--text-400);
}
.zt-html-content p:last-child{margin-bottom:0}
.zt-html-content strong,.zt-html-content b{
  color:var(--text-100);font-weight:600;
}
.zt-html-content em,.zt-html-content i{
  color:var(--accent);font-style:italic;
}
.zt-html-content h2,.zt-html-content h3,.zt-html-content h4{
  font-family:var(--font-serif);
  font-size:1rem;font-weight:500;
  color:var(--text-100);
  margin:1.2rem 0 .5rem;
  padding-bottom:.4rem;
  border-bottom:1px solid rgba(184,147,74,.12);
}
.zt-html-content h2:first-child,
.zt-html-content h3:first-child,
.zt-html-content h4:first-child{margin-top:0}
.zt-html-content ul,.zt-html-content ol{
  padding-left:0;
  list-style:none;
  margin-bottom:.9rem;
  display:flex;flex-direction:column;gap:.45rem;
}
.zt-html-content ul li,.zt-html-content ol li{
  display:flex;align-items:baseline;gap:.65rem;
  color:var(--text-100);font-size:.83rem;line-height:1.5;
}
.zt-html-content ul li::before{
  content:'';
  width:5px;height:5px;border-radius:50%;
  background:var(--accent);flex-shrink:0;
  margin-top:.45rem;opacity:.75;
}
.zt-html-content ol{counter-reset:zt-counter}
.zt-html-content ol li::before{
  counter-increment:zt-counter;
  content:counter(zt-counter)'.';
  color:var(--accent);font-size:.72rem;font-weight:700;
  flex-shrink:0;min-width:1.2rem;
}
.zt-html-content a{
  color:var(--accent);text-decoration:underline;
  text-underline-offset:2px;
}
.zt-html-content hr{
  border:none;border-top:1px solid rgba(184,147,74,.12);
  margin:1rem 0;
}

/* ═══════════════════════════════════════════════════════
   PRODUCT BOTTOM SHEET
   ═══════════════════════════════════════════════════════ */
#sw-product-sheet{
  display:none;
  position:fixed;inset:0;z-index:9000;
}
#sw-product-sheet.sw-sheet-open{
  display:block;
  pointer-events:all;
}
.sw-sheet-backdrop{
  position:absolute;inset:0;
  background:rgba(5,18,10,.75);
  backdrop-filter:blur(4px);
  opacity:0;transition:opacity .35s ease;
}
#sw-product-sheet.sw-sheet-open .sw-sheet-backdrop{opacity:1}
.sw-sheet-panel{
  position:absolute;bottom:0;left:0;right:0;
  max-height:92vh;
  max-height:calc(100dvh - 3rem);
  background:var(--surface,#0e2318);
  border-radius:1.4rem 1.4rem 0 0;
  border-top:1px solid rgba(184,147,74,.15);
  overflow-y:auto;
  overscroll-behavior:contain;
  transform:translateY(100%);
  transition:transform .4s cubic-bezier(.25,.46,.45,.94);
  -webkit-overflow-scrolling:touch;
  max-width:640px;margin:0 auto;
}
#sw-product-sheet.sw-sheet-open .sw-sheet-panel{transform:translateY(0)}

/* Close button */
.sw-sheet-close{
  position:sticky;top:.6rem;z-index:50;
  float:right;
  margin:.6rem .6rem 0 0;
  width:38px;height:38px;min-width:38px;min-height:38px;
  border-radius:50%;
  background:rgba(5,18,10,.85);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(184,147,74,.25);
  color:var(--text-100,#e8e0d0);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s,border-color .2s;
  box-shadow:0 2px 12px rgba(0,0,0,.4);
}
.sw-sheet-close:hover{background:rgba(184,147,74,.15);border-color:var(--accent)}
.sw-sheet-close svg{width:16px;height:16px}

/* Hero image */
.sw-sheet-img-wrap{
  width:100%;aspect-ratio:4/3;overflow:hidden;
  border-radius:1.4rem 1.4rem 0 0;
  position:relative;background:rgba(10,94,74,.15);
  margin-top:-38px;
}
.sw-sheet-img-wrap::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to bottom,transparent 50%,rgba(8,72,56,.55));
  pointer-events:none;
}
.sw-sheet-img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:opacity .3s ease,transform .4s cubic-bezier(.25,.46,.45,.94);
}

/* Body */
.sw-sheet-body{padding:1.4rem 1.4rem 2rem}
.sw-sheet-content{padding:1.4rem 1.4rem 2rem}
.sw-sheet-eyebrow{
  font-size:.65rem;font-weight:700;letter-spacing:.15em;
  text-transform:uppercase;color:var(--accent);margin-bottom:.5rem;
}
.sw-sheet-name{
  font-family:var(--font-serif);
  font-size:clamp(1.5rem,5vw,2.2rem);
  font-weight:500;color:var(--text-100);
  line-height:1.2;margin-bottom:.5rem;
}
.sw-sheet-title{
  font-family:var(--font-serif);
  font-size:clamp(1.4rem,5vw,2rem);font-weight:500;
  color:var(--text-100);line-height:1.2;margin-bottom:.5rem;
}
.sw-sheet-price{
  font-size:1.4rem;font-weight:700;
  color:var(--accent);margin-bottom:1.4rem;
}

.sw-sheet-variant-label{
  font-size:.95rem;font-weight:500;
  color:rgba(240,234,216,.7);
  letter-spacing:.005em;
  margin-bottom:1.4rem;min-height:1.2em;
  transition:color .25s ease;
}
.sw-sheet-variant-label:empty{margin-bottom:0;min-height:0}

/* Variants */
.sw-sheet-vlabel{
  font-size:.65rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--text-400);
  margin-bottom:.65rem;
}
.sw-sheet-vgrid{
  display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.4rem;
}
.sw-sheet-vpill{
  width:100%;padding:.75rem 1.1rem;
  background:var(--card);
  border:1.5px solid var(--border);
  border-radius:.65rem;
  font-size:.88rem;font-weight:500;
  color:var(--text-400);
  cursor:pointer;text-align:left;
  transition:color .18s,background .18s,border-color .18s;
}
.sw-sheet-vpill:hover{
  border-color:rgba(184,147,74,.4);color:var(--text-100);
}
.sw-sheet-vpill.active{
  border-color:var(--accent);
  color:var(--accent);
  background:rgba(184,147,74,.06);
  font-weight:600;
}

/* Variant label & grid (alternate naming) */
.sw-sheet-var-label{
  font-size:.62rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--text-400);
  margin-bottom:.65rem;
}
.sw-sheet-vars{display:flex;flex-direction:column;gap:.45rem;margin-bottom:.6rem}
@keyframes swSheetDescIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.sw-sheet-var-desc{display:none;margin-bottom:1.2rem;padding:10px 14px;border-left:3px solid #b8934a;background:rgba(184,147,74,.06);border-radius:0 6px 6px 0;font-size:.83rem;font-weight:400;line-height:1.65;color:rgba(255,255,255,.75);animation:swSheetDescIn .3s ease forwards}
.sw-sheet-var{
  width:100%;padding:.75rem 1rem;text-align:left;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:.65rem;
  font-size:.88rem;font-weight:500;
  color:var(--text-300,#b0a890);cursor:pointer;
  transition:color .2s,background .2s,border-color .2s;display:flex;justify-content:space-between;
}
.sw-sheet-var span{color:var(--text-400);font-weight:400}
.sw-sheet-var:hover{border-color:rgba(184,147,74,.35);color:var(--text-100)}
.sw-sheet-var.active{
  border-color:var(--accent);
  background:rgba(184,147,74,.06);
  color:var(--text-100);font-weight:600;
}
.sw-sheet-var.active span{color:var(--accent)}

/* Description */
.sw-sheet-desc-inner{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(184,147,74,.08);
  border-radius:.75rem;padding:1rem 1.1rem;
  margin-bottom:1.4rem;
}
.sw-sheet-desc-title{
  font-size:.65rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--accent);
  margin-bottom:.6rem;
}
.sw-sheet-desc-inner *{
  font-size:.85rem;line-height:1.7;
  color:var(--text-400);
  background:none;margin:.2rem 0;
}

.sw-sheet-desc-label{
  font-size:.62rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--text-400);
  margin-bottom:.65rem;margin-top:1.2rem;
}
.sw-sheet-desc{
  font-size:.87rem;line-height:1.75;
  color:rgba(240,234,216,.8);margin-bottom:1.6rem;
}

/* Shopify HTML description overrides */
.sw-sheet-desc,.sw-sheet-desc *,.sw-html-content,.sw-html-content *{
  color:rgba(240,234,216,.8) !important;
  background-color:transparent !important;
  font-family:var(--font-sans) !important;
}
.sw-sheet-desc h1,.sw-sheet-desc h2,.sw-sheet-desc h3,
.sw-sheet-desc h4,.sw-sheet-desc h5,.sw-sheet-desc h6,
.sw-html-content h1,.sw-html-content h2,.sw-html-content h3,
.sw-html-content h4,.sw-html-content h5,.sw-html-content h6{
  color:#f5f0e8 !important;
  font-family:var(--font-serif) !important;
  font-size:.95rem !important;font-weight:600 !important;
  margin:.9rem 0 .4rem !important;
  padding-bottom:.3rem !important;
  border-bottom:1px solid rgba(184,147,74,.15) !important;
  border-color:rgba(184,147,74,.15) !important;
}
.sw-sheet-desc strong,.sw-sheet-desc b,
.sw-html-content strong,.sw-html-content b{
  color:#ffffff !important;font-weight:700 !important;
}
.sw-sheet-desc em,.sw-sheet-desc i,
.sw-html-content em,.sw-html-content i{color:#b8934a !important}
.sw-sheet-desc p,.sw-html-content p{margin:.4em 0 !important;color:rgba(240,234,216,.8) !important}
.sw-sheet-desc ul,.sw-sheet-desc ol,
.sw-html-content ul,.sw-html-content ol{
  padding-left:1.3em !important;margin:.4em 0 .8em !important;
  list-style:disc !important;
}
.sw-sheet-desc ol,.sw-html-content ol{list-style:decimal !important}
.sw-sheet-desc li,.sw-html-content li{
  color:rgba(240,234,216,.8) !important;
  font-size:.84rem !important;line-height:1.75 !important;
  display:list-item !important;margin-bottom:.05rem !important;
}
.sw-sheet-desc div,.sw-html-content div{
  color:rgba(240,234,216,.8) !important;
  border-color:rgba(255,255,255,.1) !important;
}

/* Footer: qty + add */
.sw-sheet-footer{
  display:flex;align-items:center;gap:.75rem;
  padding-top:1.2rem;
  border-top:1px solid rgba(255,255,255,.06);
  position:sticky;bottom:0;
  background:var(--surface,#0e2318);
  margin:0 -1.4rem -2rem;
  padding:1rem 1.4rem 1.4rem;
}
.sw-sheet-qty-row{
  display:flex;align-items:center;gap:.3rem;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  border-radius:.6rem;padding:.25rem;flex-shrink:0;
}
.sw-sheet-qty{
  display:flex;align-items:center;gap:.2rem;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:.6rem;padding:.25rem;flex-shrink:0;
}
.sw-sheet-qty-btn{
  width:36px;height:36px;background:none;border:none;
  color:var(--text-100);font-size:1.1rem;
  cursor:pointer;border-radius:.4rem;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s;
}
.sw-sheet-qty-btn:hover{background:rgba(184,147,74,.1)}
.sw-sheet-qty-val{
  min-width:28px;text-align:center;
  font-size:.95rem;font-weight:700;
  color:var(--text-100);
}
.sw-sheet-add,.sw-sheet-add-btn{
  flex:1;display:flex;align-items:center;justify-content:center;
  gap:.6rem;padding:.85rem 1rem;
  background:var(--accent);color:#fff;
  border:none;border-radius:.65rem;
  font-size:.85rem;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;
  cursor:pointer;transition:background .2s,transform .15s;
}
.sw-sheet-add:hover,.sw-sheet-add-btn:hover{background:#a07d3a;transform:translateY(-1px)}
.sw-sheet-add:active,.sw-sheet-add-btn:active{transform:translateY(0)}
.sw-sheet-add:disabled,.sw-sheet-add-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}
.sw-sheet-add svg,.sw-sheet-add-btn svg{flex-shrink:0}

/* Simpler prod-item card (no accordion) */
.prod-item-info{flex:1;min-width:0}
.prod-item-sub{
  font-size:.7rem;color:var(--text-400);
  margin-top:.2rem;letter-spacing:.02em;
}

/* ── Kategorie-Karte Mindestpreis ── */
.cat-card-price{font-size:.72rem;font-weight:700;color:#b8934a;margin-top:.3rem;letter-spacing:.03em}


/* ── Produktbeschreibung — Browser-Defaults ── */
#zt-content,#zt-content *,
.prod-card-desc,.prod-card-desc *{
  color:rgba(240,234,216,.82) !important;
  font-family:var(--font-sans) !important;
}
#zt-content h2,#zt-content h3,#zt-content h4,
.prod-card-desc h2,.prod-card-desc h3,.prod-card-desc h4{
  color:#f5f0e8 !important;
  font-family:var(--font-serif) !important;
  font-size:.95rem !important;
  font-weight:600 !important;
  margin:1rem 0 .45rem !important;
  padding-bottom:.35rem !important;
  border-bottom:1px solid rgba(184,147,74,.15) !important;
  background:none !important;
  -webkit-text-fill-color:#f5f0e8 !important;
}
#zt-content strong,#zt-content b,
.prod-card-desc strong,.prod-card-desc b{
  color:#ffffff !important;
  font-weight:700 !important;
  -webkit-text-fill-color:#ffffff !important;
}
#zt-content em,#zt-content i,
.prod-card-desc em,.prod-card-desc i{
  color:#b8934a !important;
  -webkit-text-fill-color:#b8934a !important;
}
#zt-content ul,#zt-content ol,
.prod-card-desc ul,.prod-card-desc ol{
  list-style:disc !important;
  padding-left:1.3rem !important;
  margin:.4rem 0 .8rem !important;
}
#zt-content ol,.prod-card-desc ol{list-style:decimal !important}
#zt-content li,.prod-card-desc li{
  color:rgba(240,234,216,.8) !important;
  -webkit-text-fill-color:rgba(240,234,216,.8) !important;
  font-size:.84rem !important;
  line-height:1.75 !important;
  margin-bottom:.05rem !important;
  display:list-item !important;
}
#zt-content p,.prod-card-desc p{
  color:rgba(240,234,216,.8) !important;
  margin-bottom:.65rem !important;
}
#zt-content div,.prod-card-desc div{
  border-color:rgba(255,255,255,.08) !important;
}
/* Override inline styles from Shopify editor */
#zt-content [style],.prod-card-desc [style]{
  color:rgba(240,234,216,.82) !important;
  background-color:transparent !important;
  -webkit-text-fill-color:rgba(240,234,216,.82) !important;
}
#zt-content h2[style],#zt-content h3[style],#zt-content h4[style],
.prod-card-desc h2[style],.prod-card-desc h3[style],.prod-card-desc h4[style]{
  color:#f5f0e8 !important;
  -webkit-text-fill-color:#f5f0e8 !important;
  font-size:.95rem !important;
}
#zt-content strong[style],.prod-card-desc strong[style]{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}


/* ── Handwerk-Sektion im Overlay ── */
.sw-handwerk{
  margin-top:3.5rem;
  padding:3rem 0 1rem;
  border-top:1px solid rgba(184,147,74,.12);
}
.sw-handwerk-head{
  text-align:center;
  max-width:560px;
  margin:0 auto 2.8rem;
  padding:0 1rem;
}
.sw-handwerk-kicker{
  font-size:.62rem;font-weight:700;letter-spacing:.22em;
  text-transform:uppercase;color:var(--accent,#b8934a);
  margin-bottom:.85rem;display:inline-block;
}
.sw-handwerk-title{
  font-family:var(--font-serif,Georgia,serif);
  font-size:clamp(1.7rem,3.8vw,2.4rem);
  font-weight:500;color:#f0ead8;
  line-height:1.15;margin:0 0 .8rem;
}
.sw-handwerk-title em{color:var(--accent,#b8934a);font-style:italic;}
.sw-handwerk-sub{
  font-size:.88rem;color:rgba(240,234,216,.55);
  line-height:1.75;margin:0;
}
.sw-handwerk-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.6rem;
  max-width:1100px;
  margin:0 auto;
}
.sw-handwerk-item{
  margin:0;display:flex;flex-direction:column;gap:1.1rem;
}
.sw-handwerk-img{
  position:relative;
  aspect-ratio:4/3;
  overflow:hidden;
  border-radius:1rem;
  border:1px solid rgba(184,147,74,.14);
  background:rgba(10,30,22,.4);
}
.sw-handwerk-img img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .8s cubic-bezier(.25,.46,.45,.94);
}
.sw-handwerk-item:hover .sw-handwerk-img img{transform:scale(1.04);}
.sw-handwerk-cap{
  font-family:var(--font-serif,Georgia,serif);
  font-size:1.05rem;font-weight:500;color:#f0ead8;
  text-align:center;line-height:1.3;margin:0;
}
@media(max-width:900px){
  .sw-handwerk-grid{gap:1.2rem;}
}
@media(max-width:700px){
  .sw-handwerk{margin-top:2.5rem;padding:2rem 0 .5rem;}
  .sw-handwerk-head{margin-bottom:1.8rem;}
  .sw-handwerk-grid{grid-template-columns:1fr;gap:1.2rem;max-width:380px;}
  .sw-handwerk-cap{font-size:1rem;}
}

/* ── Andere Kategorien Chips ── */
.sw-fp-filler{
  margin-top:auto;
  padding:1.5rem 0 1rem;
  flex-shrink:0;
}
.sw-fp-other-label{
  font-size:.65rem;font-weight:700;letter-spacing:.15em;
  text-transform:uppercase;color:rgba(240,234,216,.35);
  margin-bottom:1rem;
  display:flex;align-items:center;gap:.8rem;
}
.sw-fp-other-label::after{
  content:'';flex:1;height:1px;background:rgba(184,147,74,.08);
}
.sw-fp-other-chips{
  display:flex;flex-wrap:wrap;gap:.55rem;
}
.sw-fp-other-chip{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.65rem 1.3rem;
  background:rgba(184,147,74,.03);
  border:1px solid rgba(184,147,74,.14);
  border-radius:2rem;
  color:rgba(240,234,216,.6);
  font-size:.82rem;font-weight:500;
  cursor:pointer;
  transition:color .25s,border-color .25s,background .25s;
  opacity:0;
  transform:translateY(8px);
  animation:chipIn .35s ease forwards;
}
@keyframes chipIn{
  to{opacity:1;transform:translateY(0)}
}
.sw-fp-other-chip:hover{
  color:#f5f0e8;
  border-color:rgba(184,147,74,.5);
  background:rgba(184,147,74,.06);
}
.sw-fp-other-chip:active{transform:scale(.98)}

/* ── PERFORMANCE ── */
*,*::before,*::after{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img,video{content-visibility:auto}
.sw-fullpage:not(.sw-open){display:none !important}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
}

/* ── Zahlen Counter ── */
.sw-stats{
  display:flex;align-items:center;justify-content:center;
  gap:0;margin-top:3.5rem;
  border:1px solid rgba(184,147,74,.08);
  border-radius:1rem;
  background:rgba(255,255,255,.02);
  overflow:hidden;
}
.sw-stat{
  flex:1;text-align:center;
  padding:1.8rem 1rem;
  position:relative;
}
.sw-stat-sep{
  width:1px;height:60px;
  background:rgba(184,147,74,.1);
  flex-shrink:0;
}
.sw-stat-num{
  font-family:var(--font-serif);
  font-size:clamp(2rem,4vw,3rem);
  font-weight:500;
  color:var(--accent);
  line-height:1;
  margin-bottom:.4rem;
  letter-spacing:-.02em;
}
.sw-stat-label{
  font-size:.65rem;font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;
  color:rgba(240,234,216,.35);
}
@media(max-width:767px){
  .sw-stats{flex-wrap:wrap;border-radius:.75rem;margin-top:2rem}
  .sw-stat{flex:0 0 50%;padding:1.2rem .75rem}
  .sw-stat-sep{display:none}
  .sw-stat:nth-child(1){border-bottom:1px solid rgba(184,147,74,.06);border-right:1px solid rgba(184,147,74,.06)}
  .sw-stat:nth-child(3){border-bottom:1px solid rgba(184,147,74,.06);border-right:1px solid rgba(184,147,74,.06)}
  .sw-stat:nth-child(5){border-right:1px solid rgba(184,147,74,.06)}
  .sw-stat-num{font-size:1.8rem}
  .sw-stat-label{font-size:.58rem}
}

/* ── Grain removed (cleaner look) ── */
.sw-has-grain{position:relative}
.sw-has-grain::before{display:none}
.sw-has-grain .section-inner{position:relative;z-index:1}

/* ═══════════════════════════════════════════════════════
   GLOBAL MOBILE FIXES — Safe Areas, Touch, Overflow
   ═══════════════════════════════════════════════════════ */

/* Prevent horizontal overflow on all pages */
html,body{overflow-x:hidden;-webkit-text-size-adjust:100%}

/* Minimum touch target sizes (WCAG 2.5.5) */
@media(max-width:767px){
  a,button,[role="button"]{-webkit-tap-highlight-color:rgba(184,147,74,.12)}

  /* Fix iOS input zoom (font-size >= 16px prevents zoom) */
  input[type="text"],input[type="email"],input[type="tel"],
  input[type="password"],input[type="number"],input[type="search"],
  select,textarea{font-size:16px !important}

  /* Fix iOS momentum scrolling */
  .sw-fp-scroll,.zt-body,.sw-ap-panel,.sw-tut-panel{
    -webkit-overflow-scrolling:touch;
  }

  /* Fix 300ms tap delay */
  *{touch-action:manipulation}

  /* Fix position:fixed elements with iOS keyboard */
  .sw-global-nav{
    -webkit-transform:translateZ(0);
    transform:translateZ(0);
  }
}

/* Fix for notch/dynamic island iPhones */
@supports(padding-top:env(safe-area-inset-top)){
  .sw-global-nav{
    padding-top:max(.5rem,env(safe-area-inset-top));
  }
  .sw-nav-mobile-drop{
    top:calc(44px + env(safe-area-inset-top));
  }
}

/* ═══════════════════════════════════════════════════════
   CROSS-PAGE CONSISTENCY FIXES
   ═══════════════════════════════════════════════════════ */

/* Ensure product bottom sheet close is always reachable */
@media(max-width:767px){
  #sw-product-sheet .sw-sheet-panel{
    padding-top:0;
  }
  /* Drag handle indicator for bottom sheets */
  #sw-product-sheet .sw-sheet-panel::before{
    content:'';
    display:block;
    width:36px;height:4px;
    background:rgba(255,255,255,.12);
    border-radius:2px;
    margin:8px auto 0;
    flex-shrink:0;
    position:relative;
    z-index:55;
  }
}

/* Global nav consistency */
.sw-global-nav .sw-nav-cta .sw-nav-badge{
  transition:transform .25s ease;
}

/* Prevent body bounce/overscroll on iOS when sheet open */
body.sw-sheet-body-lock{
  overflow:hidden !important;
  position:fixed;
  width:100%;
  -webkit-overflow-scrolling:auto;
}

/* Fix Collection page card description panel overflow on mobile */
@media(max-width:700px){
  .prod-card-desc-panel{
    max-height:60vh;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .prod-card-desc-panel.open{
    padding:.7rem 1rem .8rem;
  }
}

/* Consistent footer spacing on mobile */
@media(max-width:600px){
  .ub-promise{
    padding-bottom:calc(4rem + env(safe-area-inset-bottom, 0px));
  }
  .ub-section{
    overflow-x:hidden;
  }
}

/* ══ NAV STYLES (aus theme.liquid extrahiert) ══ */
/* ── Global Nav ── */
.sw-global-nav{position:fixed;top:0;left:0;right:0;z-index:500;display:flex;align-items:center;gap:1rem;padding:.35rem 1.8rem;padding-top:max(.35rem,env(safe-area-inset-top));padding-left:max(1.8rem,env(safe-area-inset-left));padding-right:max(1.8rem,env(safe-area-inset-right));background:rgba(5,20,14,.94);border-bottom:1px solid rgba(255,255,255,.06)}
.sw-nav-brand{font-family:var(--font-serif,Georgia,serif);font-size:1.1rem;font-weight:500;color:#f0ead8;text-decoration:none;margin-right:.3rem;white-space:nowrap}
.sw-nav-brand span{color:#b8934a;font-style:italic}
.sw-nav-back-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:rgba(184,147,74,.08);border:1px solid rgba(184,147,74,.18);color:#b8934a;flex-shrink:0;transition:background .2s,border-color .2s,transform .2s;text-decoration:none}
.sw-nav-back-btn:hover{background:rgba(184,147,74,.16);border-color:#b8934a;transform:translateX(-2px)}
.sw-nav-back-btn:active{transform:scale(.9)}
.sw-nav-back-btn svg{display:block}
.sw-nav-links{display:flex;gap:0;list-style:none;margin:0;padding:0;flex:1}
.sw-nav-links li a{display:block;padding:.35rem .75rem;font-size:.7rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:rgba(240,234,216,.55);text-decoration:none;transition:color .2s;white-space:nowrap}
.sw-nav-links li a:hover{color:#b8934a}
.sw-nav-cta{display:flex;align-items:center;gap:.4rem;padding:.4rem .9rem;background:#b8934a;color:#fff;border-radius:.4rem;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:background .2s}
.sw-nav-cta:hover{background:#c9a054}
.sw-nav-account{display:flex;align-items:center;gap:.3rem;color:rgba(240,234,216,.6);font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;transition:color .2s;white-space:nowrap}
.sw-nav-account:hover{color:#b8934a}
.sw-nav-account svg{flex-shrink:0;stroke-linecap:round;stroke-linejoin:round}
.sw-nav-search{display:flex;align-items:center;position:relative}

/* ── Search ── */
.sw-nav-search-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:rgba(184,147,74,.08);border:1px solid rgba(184,147,74,.2);color:rgba(240,234,216,.7);cursor:pointer;transition:background .2s,border-color .2s,opacity .15s,transform .2s;flex-shrink:0}
.sw-nav-search-btn:hover{background:rgba(184,147,74,.15);border-color:rgba(184,147,74,.45);color:#f0ead8;transform:scale(1.05)}
.sw-nav-search-btn.hidden{transform:scale(0);opacity:0;pointer-events:none}
.sw-nav-search-bar{position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:.5rem;background:rgba(8,22,12,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(184,147,74,.2);border-radius:2rem;padding:.3rem .4rem .3rem .8rem;overflow:hidden;width:44px;opacity:0;pointer-events:none;transition:width .35s cubic-bezier(.25,.46,.45,.94),opacity .25s cubic-bezier(.25,.46,.45,.94);white-space:nowrap}
.sw-nav-search-bar.open{width:260px;opacity:1;pointer-events:all;box-shadow:0 4px 16px rgba(0,0,0,.2)}
.sw-nav-search-input{background:none;border:none!important;outline:none!important;box-shadow:none!important;-webkit-appearance:none;color:#f0ead8;font-size:.78rem;font-family:var(--font-sans);width:100%;min-width:0;padding:0;opacity:0;transition:opacity .15s .1s}
.sw-nav-search-bar.open .sw-nav-search-input{opacity:1}
.sw-nav-search-input::placeholder{color:rgba(240,234,216,.3)}
.sw-nav-search-input:focus{border:none!important;outline:none!important;box-shadow:none!important}
.sw-nav-search-close{display:flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;border-radius:50%;background:rgba(255,255,255,.05);border:none;color:rgba(240,234,216,.4);cursor:pointer;transition:background .2s,color .2s,transform .2s;transform:scale(0);opacity:0}
.sw-nav-search-bar.open .sw-nav-search-close{transform:scale(1);opacity:1;transition-delay:.1s}
.sw-nav-search-close:hover{background:rgba(184,147,74,.15);color:#b8934a;transform:scale(1.1)!important}

/* ── Search Results ── */
.sw-search-results{position:absolute;top:calc(100% + .5rem);right:0;background:rgba(6,18,10,.98);border:1px solid rgba(184,147,74,.18);border-radius:.75rem;width:300px;max-height:340px;overflow-y:auto;display:none;z-index:9999;box-shadow:0 16px 40px rgba(0,0,0,.45);opacity:0;transform:translateY(-4px);transition:opacity .2s ease,transform .2s ease}
.sw-search-results.has-results{display:block;animation:resultsIn .2s ease forwards}
@keyframes resultsIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.sw-search-result-item{display:flex;align-items:center;gap:.75rem;padding:.65rem 1rem;text-decoration:none;transition:background .15s;border-bottom:1px solid rgba(255,255,255,.04);opacity:0;animation:itemIn .15s ease forwards}
.sw-search-result-item:nth-child(1){animation-delay:.03s}
.sw-search-result-item:nth-child(2){animation-delay:.06s}
.sw-search-result-item:nth-child(3){animation-delay:.09s}
.sw-search-result-item:nth-child(4){animation-delay:.12s}
.sw-search-result-item:nth-child(5){animation-delay:.15s}
.sw-search-result-item:nth-child(6){animation-delay:.18s}
@keyframes itemIn{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
.sw-search-result-item:last-child{border-bottom:none}
.sw-search-result-item:hover{background:rgba(6,50,40,.8)}
.sw-search-result-dot{width:4px;height:4px;border-radius:50%;background:rgba(184,147,74,.4);flex-shrink:0;transition:background .15s}
.sw-search-result-item:hover .sw-search-result-dot{background:#b8934a}
.sw-search-result-name{font-size:.78rem;color:rgba(240,234,216,.85);flex:1;font-family:var(--font-sans)}
.sw-search-result-price{font-size:.7rem;color:#b8934a;font-weight:600;white-space:nowrap;background:rgba(184,147,74,.08);padding:.15rem .45rem;border-radius:.3rem}
.sw-search-empty{padding:1.2rem;text-align:center;font-size:.74rem;color:rgba(240,234,216,.3);font-style:italic}

/* ── Nav Badge & Burger ── */
.sw-nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;background:#fff;color:#b8934a;border-radius:9px;font-size:.62rem;font-weight:800;padding:0 4px;line-height:18px;vertical-align:middle;margin-left:2px}
.sw-nav-burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.4rem;z-index:501}
.sw-nav-burger span{display:block;width:22px;height:2px;background:rgba(240,234,216,.8);border-radius:2px;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .2s,background .2s}
.sw-nav-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);background:#b8934a}
.sw-nav-burger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.sw-nav-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);background:#b8934a}

/* ── Mobile Dropdown ── */
.sw-nav-mobile-drop{position:fixed;top:calc(40px + env(safe-area-inset-top, 0px));left:0;right:0;z-index:499;background:rgba(5,20,14,.97);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(184,147,74,.08);padding:0 2rem;max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.25,.46,.45,.94),padding .35s cubic-bezier(.25,.46,.45,.94)}
.sw-nav-mobile-drop.open{max-height:80vh;padding:1rem 2rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom, 0px));overflow-y:auto}
.sw-nav-mobile-drop ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}
.sw-nav-mobile-drop ul li a{display:flex;align-items:center;gap:.5rem;padding:.8rem 0;min-height:48px;font-size:.8rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:rgba(240,234,216,.6);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.03);transition:color .3s cubic-bezier(.25,.46,.45,.94),padding-left .3s cubic-bezier(.25,.46,.45,.94)}
.sw-nav-mobile-drop ul li a:hover{color:#b8934a;padding-left:.4rem}
.sw-nav-mobile-drop ul li:last-child a{border-bottom:none}

body{padding-top:calc(40px + env(safe-area-inset-top, 0px));overflow-x:clip}
html{overflow-x:clip}

/* ── Mobile Nav ── */
@media(max-width:768px){
  .sw-global-nav{gap:.35rem;padding:.3rem .8rem;padding-top:max(.3rem,env(safe-area-inset-top));padding-left:max(.8rem,env(safe-area-inset-left));padding-right:max(.8rem,env(safe-area-inset-right))}
  .sw-nav-links{display:none}
  .sw-nav-burger{display:flex}
  /* Logo ganz links, Rest ganz rechts */
  .sw-nav-brand{margin-right:auto}
  .sw-nav-cta{padding:.35rem .55rem;font-size:0;gap:.3rem}
  .sw-nav-cta svg{width:18px;height:18px}
  .sw-nav-badge{font-size:.58rem!important}
  .sw-nav-account-name{display:none}
  .sw-nav-burger{min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center}
  .sw-nav-account{min-width:36px;min-height:36px;width:36px;height:36px;justify-content:center;padding:0}
  .sw-nav-search-btn{width:36px;height:36px}
  .sw-nav-back-btn{width:34px;height:34px}
  .sw-nav-search-bar{position:fixed;top:calc(48px + env(safe-area-inset-top, 0px));left:0;right:0;transform:none;width:100%!important;border-radius:0;border:none;border-bottom:1px solid rgba(184,147,74,.12);padding:.5rem 1rem;background:rgba(5,20,14,.98)}
  .sw-nav-search-input{font-size:.85rem}
  .sw-search-results{position:fixed;top:calc(48px + 44px + env(safe-area-inset-top, 0px));left:0;right:0;width:100%;border-radius:0;border-left:none;border-right:none;max-height:60vh;overflow-y:auto;-webkit-overflow-scrolling:touch}
}

/* ══ Footer Styles ══ */
/* ── Footer ── */
.sw-gf{border-top:1px solid rgba(184,147,74,.08);padding:2.5rem 2rem 2rem;background:var(--bg,#051a14)}
.sw-gf-inner{max-width:800px;margin:0 auto;text-align:center}
.sw-gf-top{margin-bottom:1.2rem}
.sw-gf-brand{font-family:var(--font-serif,'Georgia',serif);font-size:1.3rem;font-weight:500;color:var(--text-100,#f5f0e8);display:inline-block}
.sw-gf-brand span{color:var(--accent,#b8934a);font-style:italic}
.sw-gf-tagline{font-size:.6rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--accent,#b8934a);opacity:.5;margin-top:.3rem}
.sw-gf-deco{width:40px;height:1px;background:linear-gradient(90deg,transparent,var(--accent,#b8934a),transparent);margin:0 auto 1.2rem;opacity:.4}
.sw-gf-links{display:flex;align-items:center;justify-content:center;gap:.15rem;flex-wrap:wrap;margin-bottom:1.5rem}
.sw-gf-links a{font-size:.7rem;color:var(--text-400,#b8b0a0);padding:.3rem .55rem;border-radius:.3rem;transition:color .2s,background .2s;white-space:nowrap;letter-spacing:.01em}
.sw-gf-links a:hover{color:var(--accent,#b8934a);background:rgba(184,147,74,.06)}
.sw-gf-btm{display:flex;align-items:center;justify-content:center;gap:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.04)}
.sw-gf-copy{font-size:.6rem;color:rgba(184,160,128,.35)}
.sw-gf-copy span{color:var(--accent,#b8934a);font-style:italic;opacity:.6}
.sw-gf-made{font-size:.6rem;color:rgba(184,160,128,.25);display:flex;align-items:center;gap:.25rem}
.sw-heart-svg{fill:var(--accent,#b8934a);opacity:.5;animation:heartPulse 2s ease infinite}
@keyframes heartPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}
@media(max-width:768px){
  .sw-gf{padding:2rem 1.5rem 1.5rem;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom, 0px))}
  .sw-gf-links{gap:.1rem}
  .sw-gf-links a{padding:.25rem .4rem;font-size:.65rem}
  .sw-gf-btm{flex-direction:column;gap:.3rem}
}
</style>

/* ══ Scroll to Top ══ */
.sw-scroll-top{
  position:fixed;bottom:1.5rem;right:1.5rem;z-index:400;
  width:40px;height:40px;border-radius:50%;
  background:rgba(5,20,14,.85);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(184,147,74,.2);
  color:#b8934a;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .35s cubic-bezier(.25,.46,.45,.94),visibility .35s,transform .35s cubic-bezier(.25,.46,.45,.94),background .25s,border-color .25s;
  box-shadow:0 2px 10px rgba(0,0,0,.15);
}
.sw-scroll-top.visible{opacity:.8;visibility:visible;transform:translateY(0)}
.sw-scroll-top:hover{opacity:1;background:rgba(184,147,74,.12);border-color:rgba(184,147,74,.35);transform:translateY(-1px)}
.sw-scroll-top:active{transform:translateY(0) scale(.96)}
.sw-scroll-top svg{display:block}
@media(max-width:768px){
  .sw-scroll-top{bottom:calc(1rem + env(safe-area-inset-bottom, 0px));right:calc(1rem + env(safe-area-inset-right, 0px));width:38px;height:38px}
}
</style>

/* ══ Account Panel ══ */
<style>
/* ── Account Panel ── */
.sw-ap-overlay{position:fixed;inset:0;z-index:10001;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.sw-ap-overlay.open{pointer-events:all;opacity:1;visibility:visible}
.sw-ap-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5);opacity:0;transition:opacity .25s}
.sw-ap-overlay.open .sw-ap-backdrop{opacity:1}
.sw-ap-panel{position:absolute;top:0;right:0;width:420px;max-width:100%;height:100vh;background:var(--card,#0d3328);border-left:1px solid rgba(184,147,74,.1);box-shadow:-16px 0 48px rgba(0,0,0,.35);transform:translateX(100%);transition:transform .3s cubic-bezier(.25,.46,.45,.94);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}
.sw-ap-overlay.open .sw-ap-panel{transform:translateX(0)}
.sw-ap-head{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.05);flex-shrink:0}
.sw-ap-logo{font-family:var(--font-serif,'Georgia',serif);font-size:1.15rem;font-weight:500;color:var(--text-100,#f5f0e8)}
.sw-ap-logo span{color:var(--accent,#b8934a);font-style:italic}
.sw-ap-close{color:var(--text-400,#b8b0a0);padding:.3rem;transition:color .2s,transform .2s}
.sw-ap-close:hover{color:var(--accent,#b8934a);transform:rotate(90deg)}
.sw-ap-body{flex:1;padding:1.5rem;display:flex;flex-direction:column}
.sw-ap-stagger{opacity:0;transform:translateY(10px);transition:opacity .25s,transform .25s}
.sw-ap-overlay.open .sw-ap-stagger{opacity:1;transform:translateY(0)}
.sw-ap-overlay.open .sw-ap-stagger:nth-child(1){transition-delay:.06s}
.sw-ap-overlay.open .sw-ap-stagger:nth-child(2){transition-delay:.12s}
.sw-ap-overlay.open .sw-ap-stagger:nth-child(3){transition-delay:.18s}
.sw-ap-overlay.open .sw-ap-stagger:nth-child(4){transition-delay:.24s}
.sw-ap-overlay.open .sw-ap-stagger:nth-child(5){transition-delay:.3s}
.sw-ap-overlay.open .sw-ap-stagger:nth-child(6){transition-delay:.36s}
.sw-ap-greeting{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.2rem;border-bottom:1px solid rgba(255,255,255,.05)}
.sw-ap-avatar{width:44px;height:44px;border-radius:50%;background:rgba(184,147,74,.12);border:1.5px solid rgba(184,147,74,.3);display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:1.1rem;font-weight:500;color:var(--accent,#b8934a);flex-shrink:0}
.sw-ap-hello{font-size:.88rem;color:var(--text-100,#f5f0e8);margin-bottom:.1rem}
.sw-ap-hello strong{color:var(--accent,#b8934a)}
.sw-ap-email{font-size:.72rem;color:var(--text-400,#b8b0a0)}
.sw-ap-nav{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1.5rem}
.sw-ap-nav-item{display:flex;align-items:center;gap:.8rem;padding:.8rem .9rem;border-radius:.6rem;transition:background .2s;color:inherit}
.sw-ap-nav-item:hover{background:rgba(184,147,74,.06)}
.sw-ap-nav-item svg{width:18px;height:18px;stroke:var(--accent,#b8934a);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.sw-ap-nav-item div{flex:1}
.sw-ap-nav-item strong{display:block;font-size:.82rem;font-weight:600;color:var(--text-100,#f5f0e8);margin-bottom:.05rem}
.sw-ap-nav-item span{font-size:.68rem;color:var(--text-400,#b8b0a0)}
.sw-ap-arrow{stroke:var(--text-400,#b8b0a0)!important;stroke-width:2!important;opacity:.4;transition:opacity .2s,transform .2s;flex-shrink:0}
.sw-ap-nav-item:hover .sw-ap-arrow{opacity:1;transform:translateX(3px)}
.sw-ap-logout{display:block;text-align:center;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-400,#b8b0a0);padding:.6rem;border:1px solid rgba(255,255,255,.06);border-radius:.5rem;transition:color .2s,border-color .2s;margin-top:auto}
.sw-ap-logout:hover{color:#dc5050;border-color:rgba(220,80,80,.2)}
.sw-ap-welcome{text-align:center;margin-bottom:1.5rem}
.sw-ap-title{font-family:var(--font-serif,'Georgia',serif);font-size:1.4rem;font-weight:500;color:var(--text-100,#f5f0e8);margin-bottom:.4rem}
.sw-ap-sub{font-size:.82rem;color:var(--text-400,#b8b0a0);line-height:1.6}
.sw-ap-actions{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.2rem}
.sw-ap-btn-primary{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem;background:var(--accent,#b8934a);color:#fff;border-radius:.5rem;font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;transition:background .2s;position:relative;overflow:hidden}
.sw-ap-btn-primary:hover{background:#c9a054}
.sw-ap-btn-primary svg{flex-shrink:0}
.sw-ap-btn-secondary{display:block;text-align:center;padding:.75rem;border:1px solid rgba(184,147,74,.35);border-radius:.5rem;font-size:.78rem;font-weight:600;color:var(--text-400,#b8b0a0);transition:color .2s,border-color .2s,background .2s}
.sw-ap-btn-secondary:hover{color:var(--accent,#b8934a);border-color:rgba(184,147,74,.25);background:rgba(184,147,74,.04)}
.sw-ap-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(184,147,74,.15),transparent);margin:.8rem 0}
.sw-ap-perks{display:flex;flex-direction:column;gap:.5rem}
.sw-ap-perk{display:flex;align-items:center;gap:.5rem;font-size:.72rem;color:var(--text-400,#b8b0a0)}
.sw-ap-perk svg{stroke:var(--accent,#b8934a);fill:none;stroke-width:2;stroke-linecap:round;flex-shrink:0}
@media(max-width:768px){
  .sw-ap-panel{width:100%}
  .sw-ap-body{padding:1.2rem;padding-bottom:calc(1.2rem + env(safe-area-inset-bottom, 0px))}
}

/* ─── HERO SCROLL HINT ─── */
.hero-scroll-hint{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.3rem;color:rgba(184,147,74,.5);opacity:0;animation:heroHintFade 1s ease 2s forwards}
.hero-scroll-hint svg{stroke:currentColor;animation:heroBounce 1.8s ease-in-out infinite}
@keyframes heroHintFade{to{opacity:1}}
@keyframes heroBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@media(max-height:500px){.hero-scroll-hint{display:none}}

/* ─── HOW IT WORKS ─── */
.sw-how{padding:3.5rem 2rem;border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--bg) 0%,var(--surface) 100%)}
.sw-how-inner{max-width:820px;margin:0 auto}
.sw-how-label{font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);opacity:.75;text-align:center;margin-bottom:2rem}
.sw-how-steps{display:flex;align-items:flex-start;justify-content:center;gap:0;position:relative}
.sw-how-connector{flex:1;height:1px;border-top:1px dashed rgba(184,147,74,.22);margin-top:1.55rem;max-width:80px}
.sw-how-step{display:flex;flex-direction:column;align-items:center;text-align:center;flex:0 0 auto;width:180px}
.sw-how-badge{width:40px;height:40px;border-radius:50%;background:rgba(184,147,74,.1);border:1px solid rgba(184,147,74,.25);display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;letter-spacing:.06em;color:var(--accent);margin-bottom:.75rem;flex-shrink:0}
.sw-how-icon{color:var(--accent);margin-bottom:.65rem}
.sw-how-icon svg{width:22px;height:22px;stroke:currentColor;fill:none}
.sw-how-title{font-size:.82rem;font-weight:600;color:var(--text-100);margin-bottom:.3rem;letter-spacing:.01em}
.sw-how-desc{font-size:.72rem;color:var(--text-400);line-height:1.6;max-width:140px}
@media(max-width:600px){
  .sw-how{padding:2.5rem 1.2rem}
  .sw-how-steps{flex-direction:column;align-items:center;gap:1.5rem}
  .sw-how-connector{display:none}
  .sw-how-step{width:100%;max-width:260px;flex-direction:row;text-align:left;gap:1rem}
  .sw-how-badge{flex-shrink:0;margin-bottom:0}
  .sw-how-icon{display:none}
  .sw-how-desc{max-width:none}
}

/* ─── REVIEWS / TESTIMONIALS ─── */
.sw-reviews{padding:5rem 2rem;background:var(--bg)}
.sw-reviews-inner{max-width:1100px;margin:0 auto}
.sw-reviews-header{text-align:center;margin-bottom:3rem}
.sw-reviews-label{font-size:.65rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:.8rem}
.sw-reviews-h2{font-family:var(--font-serif);font-size:clamp(1.8rem,4vw,2.8rem);font-weight:500;color:var(--text-100);line-height:1.15}
.sw-reviews-h2 em{color:var(--accent);font-style:italic}
.sw-reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.sw-review-card{background:var(--card);border:1px solid var(--border);border-left:3px solid rgba(184,147,74,.4);border-radius:var(--radius);padding:1.8rem;display:flex;flex-direction:column;gap:1rem;opacity:0;transform:translateY(14px);transition:opacity .55s cubic-bezier(.25,.46,.45,.94),transform .55s cubic-bezier(.25,.46,.45,.94),border-color .3s,box-shadow .3s}
.sw-review-card.visible{opacity:1;transform:translateY(0)}
.sw-review-card:nth-child(1){transition-delay:0s}
.sw-review-card:nth-child(2){transition-delay:.1s}
.sw-review-card:nth-child(3){transition-delay:.2s}
.sw-review-card:hover{border-color:rgba(184,147,74,.22);border-left-color:var(--accent);box-shadow:0 8px 28px rgba(0,0,0,.2)}
.sw-review-stars{display:flex;gap:3px}
.sw-review-stars svg{fill:var(--accent);stroke:none;width:14px;height:14px}
.sw-review-quote{font-size:.88rem;font-weight:300;color:var(--text-200);line-height:1.75;font-style:italic;flex:1}
.sw-review-quote::before{content:'\201E';font-family:var(--font-serif);font-size:2rem;color:var(--accent);opacity:.35;line-height:0;vertical-align:-.4em;margin-right:.1em}
.sw-review-author{display:flex;flex-direction:column;gap:.2rem;padding-top:.8rem;border-top:1px solid var(--border)}
.sw-review-name{font-size:.78rem;font-weight:600;color:var(--text-100)}
.sw-review-company{font-size:.67rem;font-weight:500;color:var(--accent);letter-spacing:.05em;opacity:.75}
@media(max-width:900px){.sw-reviews-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){
  .sw-reviews{padding:3.5rem 1.2rem}
  .sw-reviews-grid{grid-template-columns:1fr;gap:1rem}
}


/* ═══════════════════════════════════════════════════════
   PREMIUM ENHANCEMENT LAYER — v14+ Visual Upgrade
   Art direction: high-end catering brand, editorial, restrained.
   Only presentation — no logic or Liquid changes.
   ═══════════════════════════════════════════════════════ */

/* ── Scrollbar ── */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:#041a13}
::-webkit-scrollbar-thumb{background:rgba(184,147,74,.38);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:rgba(184,147,74,.62)}

/* ── Text selection ── */
::selection{background:rgba(184,147,74,.28);color:var(--text-100)}

/* ── Font rendering ── */
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}

/* ──────────────────────────────────────────
   NAVIGATION — More refined & taller
   ────────────────────────────────────────── */
.sw-global-nav{
  padding:.7rem 2.4rem;
  padding-top:max(.7rem,env(safe-area-inset-top));
  padding-left:max(2.4rem,env(safe-area-inset-left));
  padding-right:max(2.4rem,env(safe-area-inset-right));
  background:rgba(5,18,12,.97);
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  border-bottom:1px solid rgba(184,147,74,.12);
  box-shadow:0 1px 32px rgba(0,0,0,.2);
}
.sw-nav-brand{
  font-size:1.3rem;
  letter-spacing:.015em;
  transition:opacity .2s;
}
.sw-nav-brand:hover{opacity:.82}
.sw-nav-links li a{
  font-size:.72rem;
  letter-spacing:.11em;
  padding:.42rem .92rem;
  position:relative;
  transition:color .25s,letter-spacing .28s;
}
.sw-nav-links li a::after{
  content:'';position:absolute;bottom:0;left:.92rem;right:.92rem;
  height:1px;background:var(--accent);
  transform:scaleX(0);transform-origin:left;
  transition:transform .32s cubic-bezier(.25,.46,.45,.94);
  opacity:.55;
}
.sw-nav-links li a:hover{color:#b8934a;letter-spacing:.14em}
.sw-nav-links li a:hover::after{transform:scaleX(1)}
.sw-nav-cta{
  padding:.52rem 1.2rem;
  border-radius:.52rem;
  letter-spacing:.09em;
  box-shadow:0 2px 14px rgba(184,147,74,.18);
  transition:background .25s,box-shadow .25s,transform .18s;
}
.sw-nav-cta:hover{
  background:#c9a054;
  box-shadow:0 5px 22px rgba(184,147,74,.28);
  transform:translateY(-1px);
}
.sw-nav-cta:active{transform:translateY(0)}
.sw-nav-badge{
  background:var(--accent);
  color:#fff;
  font-weight:800;
  box-shadow:0 1px 6px rgba(184,147,74,.35);
}
.sw-nav-account{
  font-size:.72rem;
  letter-spacing:.07em;
  transition:color .2s,transform .2s;
}
.sw-nav-account:hover{color:#b8934a;transform:translateY(-1px)}
.sw-nav-search-btn{transition:background .2s,border-color .2s,transform .25s}
.sw-nav-search-btn:hover{transform:scale(1.08)}
.sw-nav-back-btn{
  width:32px;height:32px;
  border-radius:50%;
  box-shadow:0 1px 8px rgba(0,0,0,.2);
  transition:background .2s,border-color .2s,transform .25s,box-shadow .2s;
}
.sw-nav-back-btn:hover{
  transform:translateX(-3px);
  box-shadow:0 2px 14px rgba(0,0,0,.3);
}

@media(max-width:768px){
  .sw-global-nav{
    padding:.45rem 1rem;
    padding-top:max(.45rem,env(safe-area-inset-top));
    padding-left:max(1rem,env(safe-area-inset-left));
    padding-right:max(1rem,env(safe-area-inset-right));
    backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  }
}

/* ──────────────────────────────────────────
   HERO — More cinematic
   ────────────────────────────────────────── */
#hero{min-height:100vh}
.hero-overlay{
  background:
    linear-gradient(180deg,rgba(5,42,32,.52) 0%,transparent 20%,transparent 64%,var(--bg) 100%),
    radial-gradient(ellipse 70% 40% at 50% 100%,var(--bg) 0%,transparent 100%);
}
.hero-eyebrow{font-size:.68rem;letter-spacing:.24em;gap:.8rem;margin-bottom:2rem}
.hero-eyebrow span{width:32px;opacity:.55}
.hero-h1{font-weight:400;letter-spacing:-.026em;line-height:1.07}
.hero-desc{font-size:.98rem;line-height:1.85;opacity:.9}
.hero-trust{gap:2rem;margin-top:2.8rem;padding-top:1.6rem;border-top:1px solid rgba(255,255,255,.05)}
.hero-trust-item{font-size:.73rem;letter-spacing:.03em;gap:.5rem}
.hero-trust-item svg{opacity:.8;transition:opacity .2s}
.hero-trust-item:hover svg{opacity:1}
#hero::before{
  content:'';position:absolute;
  top:-10%;left:50%;
  width:700px;height:700px;
  transform:translateX(-50%);
  background:radial-gradient(ellipse at center,rgba(184,147,74,.04) 0%,transparent 65%);
  pointer-events:none;z-index:0;
}
.hero-scroll-hint{
  position:absolute;bottom:2.5rem;left:50%;
  transform:translateX(-50%);z-index:2;
  color:rgba(184,147,74,.5);
  animation:scrollBob 2.5s ease-in-out infinite;
}
@keyframes scrollBob{
  0%,100%{transform:translateX(-50%) translateY(0)}
  50%{transform:translateX(-50%) translateY(5px)}
}

/* ──────────────────────────────────────────
   BUTTONS — Refined
   ────────────────────────────────────────── */
.btn-primary{
  padding:.9rem 2.2rem;
  letter-spacing:.09em;
  border-radius:.45rem;
  box-shadow:0 2px 16px rgba(184,147,74,.16);
  transition:background .25s,transform .18s cubic-bezier(.25,.46,.45,.94),box-shadow .25s;
}
.btn-primary:hover{
  background:#c4983e;
  transform:translateY(-2px);
  box-shadow:0 8px 28px rgba(184,147,74,.28);
}
.btn-primary:active{transform:translateY(0) scale(.98)}
.btn-secondary{
  padding:.9rem 1.8rem;
  letter-spacing:.07em;
  border-radius:.45rem;
  transition:color .25s,border-color .25s,transform .18s;
}
.btn-secondary:hover{transform:translateY(-2px)}
.btn-secondary:active{transform:translateY(0) scale(.98)}

/* ──────────────────────────────────────────
   TEXT-ROLL STRIP — no background, just text
   ────────────────────────────────────────── */
.sw-roll-strip{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:2.5rem;
  flex-wrap:wrap;
  padding:1.5rem 2rem;
}
/* ── Each roll item ── */
.sw-roll-item{
  position:relative;
  display:inline-flex;
  overflow:hidden;
  text-decoration:none;
  cursor:default;
  line-height:1;
  -webkit-user-select:none;
  user-select:none;
}
.sw-roll-top,
.sw-roll-bot{
  display:flex;
  white-space:nowrap;
}
.sw-roll-bot{
  position:absolute;
  top:0;
  left:0;
}
/* ── Per-character spans ── */
.sw-roll-ch{
  display:inline-block;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  transition:transform .35s cubic-bezier(.25,1,.5,1);
}
.sw-roll-top .sw-roll-ch{
  color:rgba(240,234,216,.55);
}
.sw-roll-bot .sw-roll-ch{
  color:var(--accent);
  transform:translateY(110%);
}
/* Hover: top chars slide up, bottom chars slide in */
.sw-roll-item:hover .sw-roll-top .sw-roll-ch{
  transform:translateY(-100%);
}
.sw-roll-item:hover .sw-roll-bot .sw-roll-ch{
  transform:translateY(0);
}
/* hide old ticker */
.ticker{display:none}

/* ──────────────────────────────────────────
   SECTIONS — More generous spacing
   ────────────────────────────────────────── */
.section{padding:7rem 2rem}
.section-inner{max-width:1280px}
.section-label{
  font-size:.7rem;letter-spacing:.2em;margin-bottom:1.2rem;
  display:flex;align-items:center;gap:.7rem;
}
.section-label::before{
  content:'';display:block;width:28px;height:1px;background:var(--accent);opacity:.5;
}
.section-h2{
  font-size:clamp(2.2rem,5.5vw,4rem);
  letter-spacing:-.022em;line-height:1.08;margin-bottom:3.5rem;
}

/* ──────────────────────────────────────────
   CATEGORY CARDS — Editorial image treatment
   ────────────────────────────────────────── */
.cat-grid{gap:1.8rem;margin-top:2.5rem}
.cat-card{
  border-color:rgba(255,255,255,.05);
  border-radius:var(--radius-lg);
  transition:transform .4s cubic-bezier(.25,.46,.45,.94),box-shadow .4s,border-color .3s;
}
.cat-card:hover{
  border-color:rgba(184,147,74,.32);
  transform:translateY(-6px);
  box-shadow:0 28px 60px rgba(0,0,0,.5);
}
.cat-card:active{transform:translateY(-2px) scale(.99);transition-duration:.12s}
.cat-card-img-wrap{
  height:240px;
  position:relative;
}
.cat-card-img-wrap::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to bottom,transparent 35%,rgba(5,26,20,.72) 100%);
  pointer-events:none;z-index:1;
  transition:opacity .3s;
}
.cat-card:hover .cat-card-img-wrap::after{opacity:.85}
.cat-card-img-wrap img{transition:transform .55s cubic-bezier(.25,.46,.45,.94)}
.cat-card:hover .cat-card-img-wrap img{transform:scale(1.06)}
.cat-card-body{padding:1.6rem 1.8rem}
.cat-card-name{font-size:1.65rem;font-weight:500;letter-spacing:-.01em;line-height:1.15;margin-bottom:.6rem}
.cat-card-num{font-size:.62rem;letter-spacing:.16em;margin-bottom:.65rem}
.cat-card-desc{font-size:.84rem;line-height:1.7;margin-bottom:1.4rem}
.cat-card-from{font-size:.8rem;font-weight:700;letter-spacing:.02em}
.cat-card-btn{font-size:.7rem;letter-spacing:.08em;gap:.5rem;transition:color .3s,gap .3s}
.cat-card:hover .cat-card-btn{gap:.75rem}
.cat-card-img-placeholder{height:240px}

/* ──────────────────────────────────────────
   DELIVERY BAR
   ────────────────────────────────────────── */
.delivery-bar-inner{
  border-radius:var(--radius-lg);
  border-color:rgba(184,147,74,.12);
  box-shadow:0 2px 16px rgba(0,0,0,.12);
}
.del-field label{font-size:.63rem;letter-spacing:.13em}
.del-input{font-size:.9rem}

/* ──────────────────────────────────────────
   PRODUCT ITEMS (fullscreen overlay)
   ────────────────────────────────────────── */
.prod-item{
  background:rgba(255,255,255,.03);
  border-color:rgba(184,147,74,.1);
  border-radius:var(--radius);
  transition:border-color .3s,box-shadow .3s,transform .25s cubic-bezier(.25,.46,.45,.94);
}
.prod-item:hover{
  border-color:rgba(184,147,74,.24);
  box-shadow:0 12px 36px rgba(0,0,0,.32);
  transform:translateY(-2px);
}
.prod-item:active{transform:scale(.985);transition-duration:.1s}
.prod-item-name{font-size:1.12rem;letter-spacing:-.01em;line-height:1.3}
.prod-item-price{font-size:.95rem;letter-spacing:.02em}
.prod-item-header{padding:1.2rem 1.3rem}
.prod-item-chip{font-size:.7rem;padding:.28rem .7rem;border-radius:20px;letter-spacing:.02em}
.prod-item-img-wrap::after{
  background:linear-gradient(to bottom,transparent 30%,rgba(6,50,40,.7));
}
.prod-select-btn{
  width:32px;height:32px;
  box-shadow:0 2px 10px rgba(184,147,74,.2);
  transition:background .2s,transform .18s,box-shadow .2s;
}
.prod-select-btn:hover{
  background:#c9a054;
  transform:scale(1.1);
  box-shadow:0 4px 16px rgba(184,147,74,.3);
}
.prod-item-chevron{transition:transform .25s cubic-bezier(.25,.46,.45,.94),color .2s}
.variant-btn{font-size:.7rem;border-radius:.4rem;transition:color .2s,background .2s,border-color .2s,transform .15s}
.variant-btn:hover,.variant-btn.active{transform:translateY(-1px)}

/* ──────────────────────────────────────────
   FEATURES SECTION — Premium card treatment
   ────────────────────────────────────────── */
#features{
  padding:7rem 2rem;
  background:var(--brand-800);
  position:relative;overflow:hidden;
}
#features::before{
  content:'';position:absolute;top:-30%;right:-10%;
  width:600px;height:600px;
  background:radial-gradient(ellipse,rgba(184,147,74,.04) 0%,transparent 60%);
  pointer-events:none;
}
.features-grid{gap:1.6rem;margin-top:2.5rem}
.feat-card{
  padding:2.2rem;
  border-radius:var(--radius-lg);
  border-color:rgba(184,147,74,.08);
  background:rgba(255,255,255,.025);
  transition:opacity .6s cubic-bezier(.25,.46,.45,.94),transform .6s cubic-bezier(.25,.46,.45,.94),border-color .3s,box-shadow .3s;
}
.feat-card:hover{
  border-color:rgba(184,147,74,.28);
  box-shadow:0 16px 48px rgba(0,0,0,.35);
  transform:translateY(-4px);
}
.feat-card::after{height:1px;background:linear-gradient(90deg,transparent,rgba(184,147,74,.6),transparent)}
.feat-card:hover::after{opacity:1}
.feat-icon{
  width:56px;height:56px;
  border-radius:var(--radius);
  background:rgba(184,147,74,.08);
  border:1px solid rgba(184,147,74,.2);
  box-shadow:0 0 24px rgba(184,147,74,.07);
  transition:background .3s,border-color .3s,box-shadow .3s,transform .3s;
  margin-bottom:1.5rem;
}
.feat-card:hover .feat-icon{
  background:rgba(184,147,74,.16);
  border-color:rgba(184,147,74,.42);
  box-shadow:0 0 32px rgba(184,147,74,.14);
  transform:scale(1.06);
}
.feat-icon svg{width:22px;height:22px}
.feat-title{
  font-family:var(--font-serif);
  font-size:1.1rem;font-weight:500;
  margin-bottom:.6rem;letter-spacing:-.01em;
}
.feat-desc{font-size:.84rem;line-height:1.75;color:var(--text-400)}

/* ──────────────────────────────────────────
   BESTSELLER CARDS
   ────────────────────────────────────────── */
.sw-best-card{
  border-radius:var(--radius-lg);
  border-color:rgba(184,147,74,.08);
  transition:border-color .3s,box-shadow .3s,transform .3s;
}
.sw-best-card:hover{
  border-color:rgba(184,147,74,.28);
  box-shadow:0 16px 48px rgba(0,0,0,.35);
  transform:translateY(-4px);
}
.sw-best-name{font-size:.9rem;line-height:1.35;letter-spacing:-.005em}
.sw-best-price{font-size:.8rem;font-weight:700;letter-spacing:.02em}
.sw-best-img img{transition:transform .5s cubic-bezier(.25,.46,.45,.94)}
.sw-best-card:hover .sw-best-img img{transform:scale(1.06)}
.sw-best-info{padding:.9rem 1rem}
.sw-best-label{font-size:.68rem;letter-spacing:.15em;gap:.55rem}

/* ──────────────────────────────────────────
   CATERING SECTION
   ────────────────────────────────────────── */
.catering-text{padding:0}
.cbox{
  padding:2.8rem;
  transition:background .3s cubic-bezier(.25,.46,.45,.94),transform .5s cubic-bezier(.25,.46,.45,.94),opacity .5s cubic-bezier(.25,.46,.45,.94);
}
.cbox:hover{background:rgba(184,147,74,.04)}
.cbox svg{transition:color .3s,transform .3s}
.cbox:hover svg{color:var(--accent);transform:scale(1.08)}
.cbox h4{font-family:var(--font-serif);font-size:1.05rem;font-weight:500;letter-spacing:-.01em;margin-bottom:.6rem}
.cbox p{font-size:.84rem;line-height:1.75}

/* ──────────────────────────────────────────
   FOOTER — More editorial
   ────────────────────────────────────────── */
.sw-gf{
  border-top:1px solid rgba(184,147,74,.1);
  padding:3.5rem 2rem 2.5rem;
  background:var(--bg);
}
.sw-gf-inner{max-width:900px;margin:0 auto;text-align:center}
.sw-gf-brand{
  font-size:1.6rem;letter-spacing:.01em;transition:opacity .2s;
}
.sw-gf-brand:hover{opacity:.82}
.sw-gf-tagline{font-size:.58rem;letter-spacing:.22em;margin-top:.4rem;opacity:.42}
.sw-gf-deco{
  width:60px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(184,147,74,.45),transparent);
  margin:0 auto 1.8rem;opacity:.6;
}
.sw-gf-links{gap:.2rem;margin-bottom:1.8rem}
.sw-gf-links a{
  font-size:.68rem;letter-spacing:.04em;padding:.3rem .6rem;border-radius:.3rem;
  transition:color .2s,background .2s,transform .15s;
}
.sw-gf-links a:hover{
  color:var(--accent);background:rgba(184,147,74,.07);transform:translateY(-1px);
}
.sw-gf-btm{padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.04)}
.sw-gf-copy{font-size:.62rem;letter-spacing:.03em}

/* ──────────────────────────────────────────
   COLLECTION PAGE
   ────────────────────────────────────────── */
.coll-page{padding:7.5rem 1.5rem 7rem}
.coll-hero{padding:2.5rem 0 3rem;margin-bottom:3rem}
.coll-title{letter-spacing:-.02em;line-height:1.05}
.coll-eyebrow{font-size:.63rem;letter-spacing:.24em}
.coll-desc{font-size:.92rem;line-height:1.8}
.prod-grid{gap:1.4rem}
.prod-card{
  border-color:rgba(184,147,74,.08);
  border-radius:var(--radius-lg);
  transition:border-color .3s,box-shadow .3s,transform .3s cubic-bezier(.25,.46,.45,.94);
}
.prod-card:hover{
  border-color:rgba(184,147,74,.28);
  box-shadow:0 20px 52px rgba(0,0,0,.4);
  transform:translateY(-5px);
}
.prod-card:active{transform:translateY(-2px) scale(.99);transition-duration:.12s}

/* ──────────────────────────────────────────
   PRODUCT PAGE
   ────────────────────────────────────────── */
.prod-page{padding:7rem 1.5rem 5.5rem}
.pp-main-wrap{
  border-radius:var(--radius-lg);
  border-color:rgba(184,147,74,.15);
  box-shadow:0 8px 40px rgba(0,0,0,.25);
  overflow:hidden;
}
.prod-name{letter-spacing:-.02em;line-height:1.1}
.prod-eyebrow{font-size:.68rem;letter-spacing:.22em}
.prod-price{font-size:1.75rem;font-weight:700;letter-spacing:-.01em}
.variant-pill{
  border-radius:.6rem;
  transition:color .2s,background .2s,border-color .2s,transform .15s,box-shadow .2s;
}
.variant-pill:hover{border-color:rgba(184,147,74,.45);transform:translateY(-1px)}
.variant-pill.active{box-shadow:0 2px 12px rgba(184,147,74,.18)}
.add-btn{
  border-radius:.6rem;
  padding:1.05rem 2rem;
  font-size:.85rem;letter-spacing:.07em;
  box-shadow:0 3px 16px rgba(184,147,74,.2);
  transition:background .25s,transform .18s cubic-bezier(.25,.46,.45,.94),box-shadow .25s;
  position:relative;overflow:hidden;
}
.add-btn::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.08) 50%,transparent 60%);
  transform:translateX(-200%);
  transition:transform .55s cubic-bezier(.25,.46,.45,.94);
}
.add-btn:hover{
  background:#b07a30;
  transform:translateY(-2px);
  box-shadow:0 8px 28px rgba(184,147,74,.3);
}
.add-btn:hover::after{transform:translateX(200%)}
.add-btn:active{transform:translateY(0) scale(.98)}
.prod-meta-item{font-size:.79rem;letter-spacing:.02em;gap:.45rem}
.prod-divider{background:rgba(184,147,74,.08);margin:2.5rem 0}

/* ──────────────────────────────────────────
   CART PAGE
   ────────────────────────────────────────── */
.cart-page{padding:7.5rem 1.5rem 5rem}
.cart-page-title{letter-spacing:-.02em;line-height:1.1}
.cart-row{
  border-color:rgba(184,147,74,.1);
  border-radius:var(--radius-lg);
  box-shadow:0 2px 12px rgba(0,0,0,.12);
  transition:border-color .25s,box-shadow .25s;
}
.cart-row:hover{
  border-color:rgba(184,147,74,.22);
  box-shadow:0 4px 20px rgba(0,0,0,.2);
}
.cart-row-name{font-size:.92rem;font-weight:500;letter-spacing:-.005em}
.cart-row-price{font-size:.88rem;font-weight:700;letter-spacing:.01em}
.cart-sidebar{
  border-color:rgba(184,147,74,.12);
  border-radius:var(--radius-lg);
  box-shadow:0 4px 24px rgba(0,0,0,.15);
}
.del-form-input{
  border-radius:.6rem;font-size:.86rem;
  transition:border-color .25s,box-shadow .25s,background .2s;
}
.del-form-input:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(184,147,74,.12);
  background:rgba(184,147,74,.02);
}
.sw-minorder-fill{background:linear-gradient(90deg,var(--accent),#c9a054)}
.sw-minorder-fill.complete{background:linear-gradient(90deg,#4caf88,#5fcf9a)}
.cart-dp-btn,.cart-tp-btn{border-radius:.6rem;font-size:.86rem;transition:border-color .2s,box-shadow .15s}
.cart-dp-btn:focus,.cart-dp-btn:hover,.cart-tp-btn:focus,.cart-tp-btn:hover{
  box-shadow:0 0 0 2px rgba(184,147,74,.12);
}

/* ──────────────────────────────────────────
   AUTH PAGES
   ────────────────────────────────────────── */
.sw-auth-card{
  border-color:rgba(184,147,74,.15);
  border-radius:var(--radius-lg);
  box-shadow:0 28px 72px rgba(0,0,0,.38),0 0 0 1px rgba(184,147,74,.06);
}
.sw-auth-logo a{font-size:1.75rem;letter-spacing:.01em}
.sw-auth-title{font-size:1.4rem;letter-spacing:-.015em}
.sw-auth-sub{font-size:.84rem;line-height:1.7;margin-bottom:2rem}
.sw-auth-input{
  border-radius:.6rem;font-size:.9rem;padding:.85rem 1rem;
  transition:border-color .25s,box-shadow .25s,background .2s;
}
.sw-auth-input:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(184,147,74,.12);
  background:rgba(184,147,74,.025);
}
.sw-auth-btn{
  border-radius:.6rem;padding:.9rem;font-size:.84rem;letter-spacing:.08em;
  box-shadow:0 3px 16px rgba(184,147,74,.2);
  transition:background .25s,transform .18s,box-shadow .25s;
}
.sw-auth-btn:hover{box-shadow:0 8px 28px rgba(184,147,74,.3);transform:translateY(-2px)}
.sw-auth-btn:active{transform:translateY(0) scale(.98)}
.sw-auth-link{font-size:.78rem;letter-spacing:.02em;transition:color .2s,transform .15s}
.sw-auth-link:hover{color:var(--accent);transform:translateY(-1px)}

/* ──────────────────────────────────────────
   404 PAGE
   ────────────────────────────────────────── */
.sw-404{position:relative}
.sw-404::before{
  content:'';position:absolute;top:0;left:50%;
  width:500px;height:500px;
  transform:translate(-50%,-40%);
  background:radial-gradient(circle,rgba(184,147,74,.05) 0%,transparent 65%);
  pointer-events:none;
}
.sw-404-code{opacity:.48;font-weight:300;letter-spacing:-.03em;line-height:.95;margin-bottom:1.2rem}
.sw-404-title{letter-spacing:-.015em}
.sw-404-desc{font-size:.92rem;line-height:1.8;margin-bottom:2.5rem}

/* ──────────────────────────────────────────
   PRODUCT BOTTOM SHEET — Premium refinement
   ────────────────────────────────────────── */
.sw-sheet-panel{
  border-radius:1.6rem 1.6rem 0 0;
  border-top:1px solid rgba(184,147,74,.18);
  box-shadow:-4px 0 60px rgba(0,0,0,.5),0 -8px 40px rgba(0,0,0,.3);
}
.sw-sheet-name,.sw-sheet-title{letter-spacing:-.015em;line-height:1.15}
.sw-sheet-price{font-size:1.5rem;letter-spacing:-.01em}
.sw-sheet-close{transition:background .2s,border-color .2s,transform .2s,box-shadow .2s}
.sw-sheet-close:hover{box-shadow:0 2px 12px rgba(0,0,0,.3)}
.sw-sheet-add-btn{
  border-radius:.6rem;font-size:.83rem;letter-spacing:.07em;
  box-shadow:0 3px 16px rgba(184,147,74,.2);
  transition:background .25s,transform .18s,box-shadow .25s;
}
.sw-sheet-add-btn:hover{box-shadow:0 8px 28px rgba(184,147,74,.3);transform:translateY(-1px)}

/* ──────────────────────────────────────────
   CART POPUP TOAST
   ────────────────────────────────────────── */
.sw-cart-popup{
  border-radius:1.1rem;
  border-color:rgba(184,147,74,.3);
  box-shadow:0 20px 56px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.04);
}
.sw-cp-check{width:38px;height:38px;background:rgba(184,147,74,.12);border-color:rgba(184,147,74,.28)}
.sw-cp-label{font-size:.65rem;letter-spacing:.1em}
.sw-cp-name{font-size:.84rem;font-weight:500}
.sw-cp-action{border-radius:.5rem;font-size:.73rem;letter-spacing:.05em}

/* ──────────────────────────────────────────
   SCROLL TO TOP
   ────────────────────────────────────────── */
.sw-scroll-top{
  width:42px;height:42px;
  border-color:rgba(184,147,74,.22);
  box-shadow:0 3px 14px rgba(0,0,0,.2);
  transition:opacity .35s,visibility .35s,transform .35s cubic-bezier(.25,.46,.45,.94),background .25s,border-color .25s,box-shadow .25s;
}
.sw-scroll-top:hover{box-shadow:0 6px 24px rgba(0,0,0,.3),0 0 0 1px rgba(184,147,74,.2)}

/* ──────────────────────────────────────────
   FULLSCREEN CATEGORY PAGE
   ────────────────────────────────────────── */
.sw-fp-header{
  padding:.75rem 1.8rem;
  background:rgba(5,18,12,.97);
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  border-bottom:1px solid rgba(184,147,74,.08);
}
.sw-fp-back{border-radius:.5rem;padding:.4rem .85rem;font-size:.67rem;letter-spacing:.09em;transition:background .2s,border-color .2s,transform .15s}
.sw-fp-back:hover{transform:translateX(-2px)}
.sw-fp-title{font-size:clamp(1.35rem,3.5vw,2rem);letter-spacing:-.015em}
.sw-fp-scroll{padding:.9rem 1.5rem}

/* ──────────────────────────────────────────
   ACCOUNT PANEL
   ────────────────────────────────────────── */
.sw-ap-panel{
  background:var(--card);
  border-left:1px solid rgba(184,147,74,.12);
  box-shadow:-20px 0 60px rgba(0,0,0,.4);
}
.sw-ap-head{border-bottom:1px solid rgba(184,147,74,.08);padding:1.4rem 1.6rem}
.sw-ap-logo{font-size:1.2rem;letter-spacing:.01em}
.sw-ap-nav-item{border-radius:.7rem;letter-spacing:.02em;transition:background .2s,transform .15s}
.sw-ap-nav-item:hover{background:rgba(184,147,74,.07);transform:translateX(3px)}
.sw-ap-avatar{width:46px;height:46px;font-size:1.15rem}

/* ──────────────────────────────────────────
   PLZ POPUP
   ────────────────────────────────────────── */
.plz-popup-box{
  border-color:rgba(184,147,74,.18);
  border-radius:var(--radius-lg);
  box-shadow:0 28px 72px rgba(0,0,0,.5),0 0 0 1px rgba(184,147,74,.06);
}
.plz-title{font-size:1.6rem;letter-spacing:-.015em}
.plz-input{border-radius:.6rem;font-size:1rem;transition:border-color .25s,box-shadow .25s}
.plz-input:focus{box-shadow:0 0 0 3px rgba(184,147,74,.12)}
.plz-check-btn{border-radius:.6rem;letter-spacing:.06em;transition:background .2s,transform .15s,box-shadow .2s}
.plz-check-btn:hover{background:var(--brand-600);transform:translateY(-1px);box-shadow:0 4px 16px rgba(184,147,74,.2)}

/* ──────────────────────────────────────────
   ZONE INFO BAR
   ────────────────────────────────────────── */
.zone-info-inner{border-color:rgba(184,147,74,.1);border-radius:var(--radius-lg);box-shadow:0 2px 14px rgba(0,0,0,.1)}
.zone-chip{border-radius:.5rem;transition:border-color .2s,background .2s}
.zone-chip:hover{background:rgba(184,147,74,.1);border-color:rgba(184,147,74,.25)}
.zone-min-chip{border-radius:.6rem;transition:border-color .2s,background .2s,transform .15s}
.zone-min-chip:hover{border-color:rgba(184,147,74,.35);transform:translateY(-1px)}

/* ──────────────────────────────────────────
   INGREDIENT POPUP
   ────────────────────────────────────────── */
.zt-box{border-color:rgba(184,147,74,.18);box-shadow:0 28px 72px rgba(0,0,0,.55)}
.zt-title{font-size:1.55rem;letter-spacing:-.015em}
.zt-section{border-radius:0 var(--radius) var(--radius) 0}
.zt-chip{border-radius:2rem;transition:background .2s,border-color .2s,transform .15s}
.zt-chip:hover{transform:translateY(-1px);border-color:rgba(184,147,74,.3)}

/* ──────────────────────────────────────────
   PERSON CALCULATOR
   ────────────────────────────────────────── */
.sw-calc-inner{border-color:rgba(184,147,74,.12);border-radius:var(--radius-lg);box-shadow:0 3px 20px rgba(0,0,0,.12)}
.sw-calc-range::-webkit-slider-thumb{box-shadow:0 2px 10px rgba(184,147,74,.35);transition:transform .18s,box-shadow .2s}
.sw-calc-range::-webkit-slider-thumb:hover{transform:scale(1.18);box-shadow:0 4px 18px rgba(184,147,74,.45)}

/* ──────────────────────────────────────────
   SEARCH RESULTS
   ────────────────────────────────────────── */
.sw-search-results{border-radius:var(--radius-lg);border-color:rgba(184,147,74,.2);box-shadow:0 20px 50px rgba(0,0,0,.5)}
.sw-search-result-item{transition:background .15s,padding-left .15s}
.sw-search-result-item:hover{background:rgba(6,50,40,.85);padding-left:1.15rem}
.sw-search-result-name{font-size:.79rem;letter-spacing:.01em}
.sw-search-result-price{border-radius:.4rem;font-size:.71rem;font-weight:700;letter-spacing:.03em}

/* ──────────────────────────────────────────
   SCROLL REVEAL — Consistent easing
   ────────────────────────────────────────── */
.rv{opacity:0;transform:translateY(18px);transition:opacity .75s cubic-bezier(.25,.46,.45,.94),transform .75s cubic-bezier(.25,.46,.45,.94)}
.rv.visible{opacity:1;transform:translateY(0)}

/* ──────────────────────────────────────────
   REVIEW CARDS
   ────────────────────────────────────────── */
.sw-review-card{border-color:rgba(184,147,74,.1);border-radius:var(--radius-lg);transition:border-color .3s,box-shadow .3s,transform .3s}
.sw-review-card:hover{border-color:rgba(184,147,74,.24);box-shadow:0 14px 40px rgba(0,0,0,.28);transform:translateY(-3px)}
.sw-review-quote{font-size:.9rem;line-height:1.8}
.sw-review-name{font-size:.8rem;letter-spacing:.01em}

/* ──────────────────────────────────────────
   GLOBAL FORM INPUTS
   ────────────────────────────────────────── */
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
textarea:focus,
select:focus{
  outline:none;
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(184,147,74,.12);
}

/* ──────────────────────────────────────────
   RESPONSIVE REFINEMENTS
   ────────────────────────────────────────── */
@media(max-width:1024px){
  .section{padding:5.5rem 1.5rem}
  .catering-text{padding:0}
  .sw-gf{padding:3rem 1.5rem 2rem}
}
@media(max-width:767px){
  .section{padding:4rem 1.2rem}
  #features{padding:3rem 1rem}
  .cat-card-img-wrap,.cat-card-img-placeholder{height:160px}
  .cat-card-body{padding:1.2rem}
  .cat-card-name{font-size:1.25rem}
  .feat-card{padding:1.2rem}
  .feat-icon{width:44px;height:44px;margin-bottom:1rem}
  .feat-title{font-size:.9rem}
  .sw-gf{padding:2.5rem 1.2rem 1.5rem;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom, 0px))}
  .sw-gf-brand{font-size:1.3rem}
  .coll-page{padding:6.5rem 1.2rem 5rem}
  .cart-page{padding:6.5rem 1.2rem 4rem;padding-bottom:calc(4rem + env(safe-area-inset-bottom, 0px))}
  .prod-page{padding:6rem 1.2rem 4.5rem;padding-bottom:calc(4.5rem + env(safe-area-inset-bottom, 0px))}
  .hero-h1{letter-spacing:-.02em}
  .sw-fp-header{padding:.55rem 1rem}
  .sw-fp-scroll{padding:.7rem 1rem}
}
@media(max-width:380px){
  .cat-card-img-wrap,.cat-card-img-placeholder{height:130px}
  .section-h2{font-size:1.8rem}
}

/* ──────────────────────────────────────────
   PREFERS REDUCED MOTION
   ────────────────────────────────────────── */
@media(prefers-reduced-motion:reduce){
  .sw-scroll-top,.sw-cart-popup,.sw-gf-brand,.sw-ap-nav-item,
  .sw-auth-btn,.add-btn,.btn-primary,.btn-secondary,
  .cat-card,.prod-card,.sw-best-card,.feat-card,
  .sw-review-card,.zone-min-chip,.sw-nav-cta{
    transition:none !important;
    transform:none !important;
    animation:none !important;
  }
  #hero::before,.sw-404::before{display:none}
  .hero-scroll-hint{animation:none}
  .add-btn::after,.btn-primary::after,.sw-auth-btn::after{display:none}
}


/* ═══════════════════════════════════════════════════════
   AIDesigner v2 — Cinematic / Editorial Upgrade
   Sections removed: testimonials, "So einfach geht's"
   New: draw-line hero, scroll-shrink nav, fill-up CTA,
        card arrow reveals, staggered scroll reveals.
   ═══════════════════════════════════════════════════════ */

/* ── Hero gold draw-line — removed ── */
.sw-hero-line{display:none}

/* ── Scroll indicator bob ── */
.hero-scroll-hint{
  animation:scrollBob 2.5s ease-in-out infinite;
}
@keyframes scrollBob{
  0%,100%{transform:translateX(-50%) translateY(0)}
  50%{transform:translateX(-50%) translateY(6px)}
}

/* ── Hero h1 fluid scale ── */
.hero-h1{font-size:clamp(2.8rem,8vw,6rem)}

/* ── Nav scroll-shrink behaviour ── */
.sw-global-nav{
  transition:padding .4s cubic-bezier(.25,.46,.45,.94),
             background .4s,
             box-shadow .4s,
             border-color .4s;
}
.sw-global-nav.sw-nav-shrunk{
  padding:.35rem 2.4rem !important;
  padding-top:max(.35rem,env(safe-area-inset-top)) !important;
  background:rgba(4,14,9,.98) !important;
  box-shadow:0 2px 32px rgba(0,0,0,.35) !important;
  border-bottom-color:rgba(184,147,74,.18) !important;
}
@media(max-width:768px){
  .sw-global-nav.sw-nav-shrunk{
    padding:.28rem .85rem !important;
    padding-top:max(.28rem,env(safe-area-inset-top)) !important;
  }
}

/* ── Fill-from-bottom CTA button ── */
.sw-btn-fill{
  position:relative;
  overflow:hidden;
  display:inline-flex;align-items:center;gap:.55rem;
  padding:.7rem 1.6rem;
  border:1px solid rgba(184,147,74,.45);
  border-radius:.4rem;
  color:var(--accent);
  font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  text-decoration:none;
  transition:color .4s cubic-bezier(.16,1,.3,1),border-color .4s;
  z-index:1;
}
.sw-btn-fill::before{
  content:'';position:absolute;
  top:0;left:0;width:100%;height:100%;
  background:var(--accent);
  transform:scaleY(0);transform-origin:bottom;
  transition:transform .4s cubic-bezier(.16,1,.3,1);
  z-index:-1;
}
.sw-btn-fill:hover{color:#fff;border-color:var(--accent)}
.sw-btn-fill:hover::before{transform:scaleY(1)}
.sw-btn-fill svg{transition:transform .3s cubic-bezier(.25,.46,.45,.94)}
.sw-btn-fill:hover svg{transform:translateX(3px)}

/* ── Collection card arrow reveal ── */
.cat-card-arrow{
  display:flex;align-items:center;justify-content:center;
  width:28px;height:28px;border-radius:50%;
  border:1px solid rgba(184,147,74,.3);
  color:var(--accent);flex-shrink:0;
  opacity:0;
  transform:translate(-4px,4px);
  transition:opacity .35s cubic-bezier(.25,.46,.45,.94),
             transform .35s cubic-bezier(.25,.46,.45,.94),
             background .25s;
}
.cat-card:hover .cat-card-arrow{
  opacity:1;
  transform:translate(0,0);
}
.cat-card-arrow:hover{background:var(--accent);color:#fff}
.cat-card-arrow svg{width:13px;height:13px;flex-shrink:0}

/* ── Staggered scroll reveals with IntersectionObserver ── */
.sw-reveal{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .8s cubic-bezier(.25,.46,.45,.94),
             transform .8s cubic-bezier(.25,.46,.45,.94);
}
.sw-reveal.sw-revealed{opacity:1;transform:translateY(0)}
.sw-reveal-d1{transition-delay:.08s}
.sw-reveal-d2{transition-delay:.16s}
.sw-reveal-d3{transition-delay:.24s}
.sw-reveal-d4{transition-delay:.32s}
@media(prefers-reduced-motion:reduce){
  .sw-reveal{opacity:1;transform:none;transition:none}
}

/* ── Feature card USP icon hover fill ── */
.feat-card:hover .feat-icon{
  background:var(--accent) !important;
  border-color:var(--accent) !important;
  color:#fff;
}
.feat-card:hover .feat-icon svg{stroke:#fff}

/* ── Ticker diamond separators ── */
.ti-diamond{
  display:inline-block;
  width:5px;height:5px;
  background:var(--accent);
  transform:rotate(45deg);
  opacity:.7;
  margin:0 1rem;
  flex-shrink:0;
  box-shadow:0 0 6px rgba(184,147,74,.45);
}

/* ── Category card — stacked label above name ── */
.cat-card-eyebrow{
  font-size:.58rem;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--accent);
  margin-bottom:.4rem;opacity:.8;
}

/* ── Ambient radial glow on homepage sections ── */
.section::before{
  content:'';
  position:absolute;
  top:-20%;right:-15%;
  width:600px;height:600px;
  background:radial-gradient(ellipse,rgba(184,147,74,.03) 0%,transparent 65%);
  pointer-events:none;
}
.section{position:relative;overflow:hidden}

/* ── Feature grid — serif titles for all feat-title ── */
.feat-title{
  font-family:var(--font-serif);
  font-size:1.1rem;
  font-weight:500;
  letter-spacing:-.01em;
}

/* ── Cat grid — full-bleed editorial on mobile ── */
@media(max-width:600px){
  .cat-grid{grid-template-columns:1fr;gap:1rem}
  .cat-card-img-wrap{height:200px}
}

/* ── Remove sw-how styles (section deleted) ── */
.sw-how{display:none!important}

/* ── Remove sw-reviews styles (section deleted) ── */
.sw-reviews{display:none!important}

/* ── BROT PICKER im Product Sheet ── */
.sw-brot-section{margin-bottom:1.2rem}

/* ── BROT-TOP-BANNER: Prominent, direkt oben im Sheet ── */
.sw-brot-banner-top{
  display:flex;align-items:flex-start;gap:.8rem;
  padding:1rem 1.1rem;
  margin:-.25rem 0 1.5rem;
  background:linear-gradient(135deg,rgba(184,147,74,.22) 0%,rgba(184,147,74,.12) 100%);
  border:1.5px solid rgba(184,147,74,.55);
  border-left:4px solid #b8934a;
  border-radius:.75rem;
  box-shadow:0 4px 14px rgba(184,147,74,.12),inset 0 1px 0 rgba(255,255,255,.04);
  position:relative;
  animation:swBrotBannerIn .35s cubic-bezier(.2,.8,.2,1);
}
@keyframes swBrotBannerIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.sw-brot-banner-icon{
  flex-shrink:0;width:32px;height:32px;
  display:flex;align-items:center;justify-content:center;
  background:#b8934a;color:#0a1d13;
  border-radius:50%;
  box-shadow:0 2px 8px rgba(184,147,74,.35);
}
.sw-brot-banner-txt{flex:1;min-width:0}
.sw-brot-banner-head{
  font-size:.6rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;
  color:#b8934a;margin-bottom:.25rem;
}
.sw-brot-banner-body{
  font-size:.85rem;line-height:1.55;color:#f0ead8;font-weight:500;
}
.sw-brot-banner-body strong{color:#fff;font-weight:700}
.sw-brot-banner-plus{
  display:inline-block;margin-left:.3rem;padding:.1rem .45rem;
  font-size:.72rem;font-weight:700;
  background:#b8934a;color:#0a1d13;
  border-radius:.3rem;white-space:nowrap;
}
@media(max-width:640px){
  .sw-brot-banner-top{padding:.85rem .95rem;gap:.65rem;border-radius:.65rem}
  .sw-brot-banner-icon{width:28px;height:28px}
  .sw-brot-banner-icon svg{width:15px;height:15px}
  .sw-brot-banner-head{font-size:.56rem}
  .sw-brot-banner-body{font-size:.8rem;line-height:1.5}
}
/* Im Kategorie-Overlay: etwas mehr Abstand zum Produkt-Grid */
.sw-brot-banner-list{margin:0 .25rem 1.2rem !important}
@media(max-width:640px){.sw-brot-banner-list{margin:0 0 1rem !important}}
.sw-brot-label{font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:.6rem}
.sw-brot-optional{font-weight:400;letter-spacing:.04em;text-transform:none;opacity:.7}
.sw-brot-pills{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}
.sw-brot-pill{padding:.55rem 1.1rem;background:rgba(255,255,255,.05);border:1.5px solid rgba(255,255,255,.15);border-radius:.5rem;font-size:.82rem;font-weight:500;color:rgba(240,234,216,.75);cursor:pointer;transition:border-color .2s,color .2s,background .2s}
.sw-brot-pill:hover{border-color:rgba(184,147,74,.5);color:rgba(240,234,216,1)}
.sw-brot-pill.active{border-color:#b8934a;color:#b8934a;background:rgba(184,147,74,.1);font-weight:600}
.sw-brot-surcharge{display:inline-block;margin-left:.3rem;padding:.08rem .45rem;font-size:.65rem;font-weight:700;letter-spacing:.04em;color:#b8934a;background:rgba(184,147,74,.12);border:1px solid rgba(184,147,74,.28);border-radius:.3rem;vertical-align:middle}
.sw-brot-pill.active .sw-brot-surcharge{color:#fff;background:rgba(184,147,74,.55);border-color:rgba(184,147,74,.7)}
.sw-brot-preview{border-radius:.75rem;overflow:hidden;margin-bottom:.75rem;animation:swBrotImgIn .3s ease}
@keyframes swBrotImgIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.sw-brot-preview-img{width:100%;max-height:200px;object-fit:cover;display:block;border-radius:.75rem}

/* ── DIP PICKER im Product Sheet ── */
.sw-sauce-section{margin-bottom:1.2rem}
.sw-sauce-label{font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:.6rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.sw-sauce-required{font-weight:400;letter-spacing:.04em;text-transform:none;opacity:.7}
.sw-sauce-incl{font-size:.6rem;font-weight:700;letter-spacing:.06em;color:#b8934a;background:rgba(184,147,74,.12);border:1px solid rgba(184,147,74,.28);padding:.12rem .45rem;border-radius:.3rem}
.sw-sauce-pills{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}
.sw-sauce-pill{padding:.55rem 1.1rem;background:rgba(255,255,255,.05);border:1.5px solid rgba(255,255,255,.15);border-radius:.5rem;font-size:.82rem;font-weight:500;color:rgba(240,234,216,.75);cursor:pointer;transition:border-color .2s,color .2s,background .2s;font-family:inherit}
.sw-sauce-pill:hover{border-color:rgba(184,147,74,.5);color:rgba(240,234,216,1)}
.sw-sauce-pill.active{border-color:#b8934a;color:#b8934a;background:rgba(184,147,74,.1);font-weight:600}
.sw-sauce-pill--none{border-style:dashed;color:rgba(240,234,216,.55);opacity:.85}
.sw-sauce-pill--none:hover{border-style:solid;opacity:1}
.sw-sauce-pill--none.active{border-style:solid}

/* ── EXTRA-DIP COUNTER im Sheet ── */
.sw-dip-extra-section{margin-bottom:1.2rem;padding:.85rem 1rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:.55rem}
.sw-dip-extra-label{font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:.65rem;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.sw-dip-extra-optional{font-weight:400;letter-spacing:.04em;text-transform:none;opacity:.7}
.sw-dip-extra-price-info{margin-left:auto;font-weight:600;color:#b8934a;text-transform:none;letter-spacing:0;font-size:.72rem}
.sw-dip-extra-rows{display:flex;flex-direction:column;gap:.35rem}
.sw-dip-extra-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.4rem .25rem}
.sw-dip-extra-row + .sw-dip-extra-row{border-top:1px solid rgba(255,255,255,.05)}
.sw-dip-extra-row-name{font-size:.86rem;color:rgba(240,234,216,.8);font-weight:500}
.sw-dip-extra-row.active .sw-dip-extra-row-name{color:#f0ead8;font-weight:600}
.sw-dip-extra-counter{display:flex;align-items:center;gap:.35rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:.4rem;padding:.15rem .25rem}
.sw-dip-extra-btn{width:30px;height:30px;border-radius:.3rem;background:transparent;border:none;color:rgba(240,234,216,.8);font-size:1rem;line-height:1;cursor:pointer;transition:background .15s,color .15s;padding:0;font-family:inherit}
.sw-dip-extra-btn:hover{background:rgba(184,147,74,.15);color:#b8934a}
.sw-dip-extra-count{font-size:.85rem;font-weight:600;color:#f0ead8;min-width:1.5rem;text-align:center;font-variant-numeric:tabular-nums}
.sw-dip-extra-row.active .sw-dip-extra-count{color:#b8934a}

/* ═══════════════════════════════════════════════════════
   APP-LIKE MOBILE POLISH v9 — native iOS/Android feel
   Keine Design-Änderungen – nur Layout, Typo & Touch-Fixes
   damit die Seite auf Mobile wie eine Handy-App wirkt.
   ═══════════════════════════════════════════════════════ */
@media(max-width:767px){
  /* ── Root: App-Typo & Scroll-Feel ── */
  html{font-size:15.5px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
  body{
    -webkit-tap-highlight-color:transparent;
    -webkit-touch-callout:none;
    overscroll-behavior-y:none;
    text-rendering:optimizeLegibility;
  }

  /* iOS-Autozoom auf allen Form-Inputs abschalten */
  input[type="text"],input[type="email"],input[type="tel"],
  input[type="number"],input[type="search"],input[type="password"],
  input[type="url"],input[type="date"],input[type="time"],
  textarea,select{font-size:16px}

  /* Overflow-Schutz NUR für lange Container-Texte – keine Produktnamen */
  p,li{overflow-wrap:break-word;word-wrap:break-word}
  h1,h2,h3,.hero-h1,.coll-title,.section-h2{
    overflow-wrap:break-word;word-wrap:break-word;
    hyphens:manual;-webkit-hyphens:manual;
  }
  /* Produktnamen NIE mitten im Wort trennen (Sandwi-ch etc. vermeiden) */
  .prod-name,.sw-sheet-name,.cat-card-name,.prod-card-name,
  .prod-item-name,.sw-best-name{
    hyphens:manual;-webkit-hyphens:manual;
    word-break:normal;overflow-wrap:break-word;
  }

  /* Unterbinde Text-Selection auf Karten/Buttons → App-Feel */
  button,a.prod-card,a.cat-card,.cat-card,.prod-card,.feat-card,
  .sw-best-card,.coll-filter-btn,.coll-view-btn,.coll-back,
  .sw-nav-cta,.sw-nav-burger,.sw-nav-brand,.sw-nav-back-btn{
    -webkit-user-select:none;user-select:none;
    -webkit-tap-highlight-color:transparent;
  }

  /* ── APP-NAV: Notch-kompatibel & kompakt ── */
  .sw-global-nav{
    padding:.35rem .7rem !important;
    padding-top:max(.4rem,env(safe-area-inset-top)) !important;
    padding-left:max(.7rem,env(safe-area-inset-left)) !important;
    padding-right:max(.7rem,env(safe-area-inset-right)) !important;
    gap:.35rem !important;
    min-height:calc(46px + env(safe-area-inset-top));
  }
  /* Logo ganz links, alles andere ganz rechts */
  .sw-nav-brand{font-size:1.05rem !important;letter-spacing:.01em;margin-right:auto !important}
  .sw-nav-back-btn{width:34px !important;height:34px !important}
  .sw-nav-burger{min-width:40px !important;min-height:40px !important;width:40px;height:40px}
  .sw-nav-cta{min-height:38px;padding:.4rem .65rem !important;border-radius:.55rem}
  .sw-nav-account{min-width:36px !important;width:36px;min-height:36px !important;height:36px;justify-content:center;padding:0 !important}
  .sw-nav-search-btn{width:36px !important;height:36px !important}
  /* Body padding matching new nav height */
  body{padding-top:calc(46px + env(safe-area-inset-top,0px)) !important}

  /* Mobile-Dropdown: Full-Screen-App-Feel */
  .sw-nav-mobile-drop{
    top:calc(46px + env(safe-area-inset-top,0px));
    padding:0 1.5rem;
  }
  .sw-nav-mobile-drop.open{padding:1.2rem 1.5rem;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom,0px))}
  .sw-nav-mobile-drop ul li a{
    font-size:.85rem;letter-spacing:.1em;min-height:52px;padding:.9rem 0;
    border-bottom:1px solid rgba(255,255,255,.04);
  }
  .sw-nav-mobile-drop ul li a:active{background:rgba(184,147,74,.08);padding-left:.4rem}

  /* ── HOMEPAGE CATEGORY CARDS: 2-col App-Grid ── */
  .cat-grid{
    grid-template-columns:repeat(2,1fr) !important;
    gap:.7rem !important;margin-top:1.3rem !important;
  }
  .cat-card{border-radius:.9rem !important;min-height:148px}
  .cat-card-img-wrap,.cat-card-img-placeholder{height:145px !important}
  .cat-card-body{padding:.85rem 1rem 1rem !important}
  .cat-card-name{
    font-size:1rem !important;line-height:1.2;
    margin-bottom:.2rem;word-break:break-word;hyphens:auto;
  }
  .cat-card-eyebrow{font-size:.5rem !important;letter-spacing:.14em;margin-bottom:.3rem}
  .cat-card-num{font-size:.55rem !important;letter-spacing:.13em;margin-bottom:.3rem}
  .cat-card-desc{display:none}
  .cat-card-footer{gap:.35rem}
  .cat-card-from{font-size:.7rem !important;letter-spacing:.02em}
  .cat-card-btn{display:none !important}

  /* Category visual (full-size cards from main-index): volle Höhe mit titel im overlay */
  .cat-card-visual{padding-bottom:95% !important}
  .cat-card-name.is-centered,
  .cat-card .cat-card-body .cat-card-name{font-size:.95rem !important}

  /* ── GENERAL CARDS: no hover-lift on mobile (looks buggy on touch) ── */
  .cat-card:hover,.prod-card:hover,.sw-best-card:hover,.feat-card:hover{
    transform:none !important;box-shadow:none !important;
  }
  .cat-card:active,.prod-card:active,.sw-best-card:active,.feat-card:active{
    transform:scale(.98) !important;transition:transform .12s ease !important;
  }

  /* ── CART PAGE: App-Safe-Area ── */
  .cart-page{
    padding:calc(4.2rem + env(safe-area-inset-top,0px)) 1rem calc(5rem + env(safe-area-inset-bottom,0px)) !important;
  }
  .cart-page-title{font-size:clamp(1.9rem,7vw,2.6rem) !important;line-height:1.1}

  /* ── PRODUCT PAGE (/products/...) ── */
  .prod-page{
    padding:calc(3.5rem + env(safe-area-inset-top,0px)) 1rem calc(5rem + env(safe-area-inset-bottom,0px)) !important;
  }

  /* ── FOOTER: App-Safe-Area unten ── */
  .sw-gf{
    padding:2.2rem 1.2rem calc(1.5rem + env(safe-area-inset-bottom,0px)) !important;
  }
  .sw-gf-cols{grid-template-columns:1fr 1fr !important;gap:1.2rem !important}
  .sw-gf-links{gap:.15rem}
  .sw-gf-links a{font-size:.66rem;padding:.3rem .45rem}
  .sw-gf-btm{flex-direction:column;gap:.4rem}

  /* ── SCROLL-TO-TOP: app-native fab ── */
  .sw-scroll-top{
    bottom:calc(1.2rem + env(safe-area-inset-bottom,0px)) !important;
    right:calc(1rem + env(safe-area-inset-right,0px)) !important;
    width:44px !important;height:44px !important;
    background:rgba(5,20,14,.92) !important;
    backdrop-filter:blur(16px) !important;-webkit-backdrop-filter:blur(16px) !important;
    border:1px solid rgba(184,147,74,.3) !important;
    box-shadow:0 6px 22px rgba(0,0,0,.45) !important;
  }

  /* ── CART POPUP: Bottom-Sheet-Style (native Android/iOS toast) ── */
  .sw-cart-popup{
    left:calc(.9rem + env(safe-area-inset-left,0px)) !important;
    right:calc(.9rem + env(safe-area-inset-right,0px)) !important;
    bottom:calc(.9rem + env(safe-area-inset-bottom,0px)) !important;
    max-width:none;border-radius:.95rem;
  }

  /* ── FULLSCREEN CATEGORY OVERLAY: bessere Typo ── */
  .sw-fp-header{gap:.45rem}
  .sw-fp-title{font-size:1.05rem !important;word-break:break-word;hyphens:auto}
  .sw-fp-eyebrow{display:none}
  .sw-fp-count{font-size:.58rem;padding:.2rem .55rem}
  .sw-fp-cart-link{width:34px;height:34px}
  .sw-fp-back{padding:.4rem .7rem !important;font-size:.6rem !important}

  /* ── BEST-SELLER CAROUSEL: scroll-snap native ── */
  .sw-best-carousel{padding:.2rem .5rem .8rem;gap:.7rem}
  .sw-best-carousel .sw-best-card{flex:0 0 52%}
  .sw-best-name{font-size:.78rem;line-height:1.3}

  /* ── HERO: kein overflow, bessere balance ── */
  .hero-h1{font-size:clamp(2rem,8.5vw,3rem) !important;letter-spacing:-.02em}
  .hero-eyebrow{font-size:.58rem !important}
  .hero-desc{font-size:.82rem !important;line-height:1.7}

  /* ── FEATURES: 2 Spalten, Text fit ── */
  .features-grid{grid-template-columns:1fr 1fr !important;gap:.5rem}
  .feat-card{padding:.85rem !important}
  .feat-title{font-size:.78rem !important;line-height:1.28}
  .feat-desc{font-size:.66rem !important;line-height:1.5}

  /* ── CATERING (cbox): mobile fit ── */
  .cbox{padding:1.4rem !important}
  .cbox h4{font-size:.92rem !important}
  .cbox p{font-size:.75rem !important;line-height:1.6}

  /* ── GENERAL TAP-FEEDBACK: subtle scale-down ── */
  .btn-primary:active,.btn-secondary:active,
  .sw-nav-cta:active,.sw-nav-back-btn:active,.sw-nav-account:active,
  .sw-nav-burger:active,.coll-filter-btn:active,.coll-view-btn:active,
  .prod-card-open-btn:active,.coll-back:active,
  .sw-ap-nav-item:active,.sw-gf-links a:active,
  .cat-card-btn:active,.sw-best-all:active,.sw-fp-back:active{
    transform:scale(.96) !important;transition:transform .12s ease !important;
  }

  /* ── APP-AHNLICHE SECTIONS: weniger vertikal Padding ── */
  .section{padding:2.8rem 1.1rem !important}
  .section-h2{
    font-size:clamp(1.7rem,6.5vw,2.4rem) !important;
    letter-spacing:-.02em;line-height:1.1;margin-bottom:1.8rem !important;
    word-break:break-word;hyphens:auto;
  }
  .section-label{font-size:.6rem !important;letter-spacing:.18em !important;margin-bottom:.9rem !important}
}

/* Very-small phones: extra-safe typography */
@media(max-width:360px){
  html{font-size:14.5px}
  .sw-global-nav{padding-left:.55rem !important;padding-right:.55rem !important;gap:.3rem}
  .sw-nav-brand{font-size:.98rem !important}
  .cat-card-name{font-size:.88rem !important}
  .hero-h1{font-size:1.85rem !important}
  .section-h2{font-size:1.55rem !important}
  .prod-card-name{font-size:.82rem !important}
  .prod-card-price{font-size:.82rem !important}
}

/* iPhone notch specific — keep content away from the camera island */
@supports(padding:max(0px)){
  @media(max-width:767px){
    .sw-nav-mobile-drop.open,
    .sw-ap-panel,
    .sw-sheet-panel,
    .overlay-footer{
      padding-left:max(1rem,env(safe-area-inset-left));
      padding-right:max(1rem,env(safe-area-inset-right));
    }
  }
}
/* ═══════════════════════════════════════════════════════
   APP-LIKE MOBILE POLISH v10 — Fullscreen-Overlay Fix
   Kategorie-Overlay (prod-item): Namen werden nicht mehr
   mitten im Wort getrennt. Karten stapeln vertikal.
   ═══════════════════════════════════════════════════════ */
@media(max-width:767px){

  /* ── FULLSCREEN OVERLAY: 2-spaltiges Grid, aber Inhalt vertikal ── */
  .prod-list{
    grid-template-columns:repeat(2,1fr) !important;
    gap:.5rem !important;
    padding:0 .2rem !important;
  }

  /* Header stapelt jetzt vertikal (nicht mehr name|price side-by-side) */
  .prod-item{
    border-radius:.75rem !important;
    overflow:hidden;
  }
  .prod-item-header{
    flex-direction:column !important;
    align-items:stretch !important;
    gap:.55rem !important;
    padding:.7rem .65rem !important;
    min-height:auto !important;
  }

  /* Info-Block bekommt volle Kartenbreite → keine Wort-Trennung */
  .prod-item-info{
    width:100% !important;
    min-width:0 !important;
  }

  /* Name: max 2 Zeilen, keine harten Trennungen mehr */
  .prod-item-name{
    font-size:.82rem !important;
    line-height:1.25 !important;
    font-weight:600 !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    hyphens:manual !important;-webkit-hyphens:manual !important;
    display:-webkit-box;-webkit-box-orient:vertical;
    -webkit-line-clamp:2;line-clamp:2;
    overflow:hidden;
    max-height:2.6em;
  }

  /* Beschreibung auf mobile ausblenden (zu eng für Fließtext) */
  .prod-item-desc{display:none !important}

  /* Chips: nur 1 Zeile, kompakt */
  .prod-item-chips{
    gap:.22rem !important;
    margin-top:.3rem !important;
    max-height:1.7rem;
    overflow:hidden;
  }
  .prod-item-chip{
    font-size:.52rem !important;
    padding:.12rem .38rem !important;
    letter-spacing:.02em;
  }

  /* Preis & Plus-Button: horizontal unterhalb, volle Breite */
  .prod-item-header-right{
    flex-direction:row !important;
    justify-content:space-between !important;
    align-items:center !important;
    width:100% !important;
    gap:.4rem !important;
    padding-top:.35rem !important;
    margin-top:.1rem;
    border-top:1px solid rgba(184,147,74,.1);
  }
  .prod-item-price{
    font-size:.88rem !important;
    font-weight:700;
    white-space:nowrap;
  }
  .prod-select-btn{
    width:32px !important;height:32px !important;
    font-size:1.1rem !important;
    flex-shrink:0;
    border-radius:.5rem;
  }

  /* Thumbnail kleiner, rechts oben wenn vorhanden */
  .prod-item-thumb{width:42px !important;height:42px !important}

  /* Body / Accordion Innenraum kompakter */
  .prod-item-body{
    font-size:.68rem !important;
    padding:0 .65rem;
  }
  .prod-item.selected .prod-item-body{padding:.2rem .65rem .75rem !important}
  .prod-item-img-wrap{margin:-.7rem -.65rem .7rem;aspect-ratio:16/9}

  /* Chevron bei accordion mittig, sichtbar */
  .prod-item-chevron{width:16px !important;height:16px !important}

  /* ── COLL-TITLE & KOPF des Overlays: klar & ruhig ── */
  .sw-fp-title{
    font-size:1rem !important;
    word-break:normal !important;
    hyphens:manual !important;-webkit-hyphens:manual !important;
    letter-spacing:.005em;
  }

  /* Variants im accordion: full-width, Touch-Ziel 44px */
  .variant-btn{
    min-height:44px !important;
    font-size:.7rem !important;
    padding:.5rem .65rem !important;
  }
  .prod-desc-toggle{min-height:38px;font-size:.62rem}

  /* ── CART-PAGE: Native App-Feel (echte Klassen) ── */
  .cart-page{
    padding:calc(4rem + env(safe-area-inset-top,0px)) 1rem calc(4rem + env(safe-area-inset-bottom,0px)) !important;
  }
  .cart-page-title{
    font-size:clamp(1.9rem,7vw,2.6rem) !important;
    margin-bottom:1.3rem !important;line-height:1.1;
  }
  .cart-layout{grid-template-columns:1fr !important;gap:1.3rem !important}
  .cart-items{gap:.7rem !important}
  .cart-row{
    grid-template-columns:72px 1fr auto !important;
    gap:.7rem !important;padding:.75rem !important;
    border-radius:.85rem !important;align-items:center;
  }
  .cart-row img,.cart-row-img{
    width:72px !important;height:72px !important;
    border-radius:.6rem;object-fit:cover;
  }
  .cart-row-name{
    font-size:.85rem !important;line-height:1.25;
    word-break:normal;hyphens:manual;
  }
  .cart-row-variant{font-size:.68rem !important}
  .cart-row-price{font-size:.82rem !important}
  .cart-row-remove{font-size:.62rem;margin-top:.2rem}
  .qty-ctrl{gap:.25rem}
  .qty-btn-c{width:32px !important;height:32px !important;font-size:1rem}
  .qty-num-c{font-size:.88rem;min-width:1.2rem;text-align:center}

  /* Sidebar → als sticky Bestell-Panel */
  .cart-sidebar{
    position:static !important;
    padding:1.1rem !important;border-radius:1rem !important;
    margin-top:.6rem;
  }
  .sidebar-title{font-size:.66rem;margin-bottom:.8rem}

  /* Formularfelder: iOS/Android app-feel */
  .del-form-group{margin-bottom:.8rem}
  .del-form-label{font-size:.65rem;margin-bottom:.35rem}
  .del-form-input,
  .cart-dp-btn,.tp-btn,
  input[type="text"],input[type="email"],input[type="tel"],
  input[type="number"],input[type="search"],input[type="password"],
  input[type="url"],input[type="date"],input[type="time"],
  textarea,select{
    min-height:48px !important;border-radius:.65rem !important;
    padding:.8rem .9rem !important;font-size:16px !important;
  }
  textarea{min-height:96px !important}

  /* Adress-Grid: Stadt/PLZ untereinander */
  .addr-grid{grid-template-columns:1fr !important;gap:.7rem !important}

  /* Mindestbestell-Progress kompakter */
  .sw-minorder{padding:.75rem .85rem;margin-bottom:1rem}
  .sw-minorder-label{font-size:.62rem}
  .sw-minorder-hint{font-size:.68rem;line-height:1.45}

  /* Date-Picker & Time-Picker Dropdown: full-width */
  .cart-dp-drop,.tp-drop{left:0 !important;right:0 !important;max-height:70vh;overflow:auto}
  .cart-dp-day{padding:.5rem .2rem !important;font-size:.82rem;min-height:36px}

  /* Checkout-Button: dicker, fixierbar */
  .cart-checkout-btn,
  #cart-checkout-btn,
  .checkout-btn{
    min-height:56px !important;
    border-radius:.85rem !important;
    font-size:.82rem !important;letter-spacing:.14em;
    width:100% !important;
  }

  /* Delivery-Check Button */
  .del-check-btn{min-height:44px !important;border-radius:.6rem !important}

  /* ── PRODUCT-PAGE (/products/xxx) echte Klassen ── */
  .prod-page{
    padding:calc(3.5rem + env(safe-area-inset-top,0px)) 1rem calc(3rem + env(safe-area-inset-bottom,0px)) !important;
  }
  .prod-breadcrumb{margin-bottom:1rem !important;font-size:.62rem !important}
  .prod-bc-current{max-width:180px}
  .pp-gallery{margin-bottom:1.2rem !important}
  .pp-main-wrap{
    margin:0 -1rem 1rem;
    aspect-ratio:4/3 !important;border-radius:0 !important;
    border-left:none;border-right:none;
  }
  .prod-eyebrow{margin-bottom:.5rem;font-size:.62rem}
  .prod-name{
    font-size:clamp(1.7rem,6.5vw,2.3rem) !important;
    line-height:1.1;margin-bottom:.6rem !important;
    word-break:normal !important;hyphens:manual !important;
  }
  .prod-desc{
    font-size:.88rem !important;line-height:1.7;
    margin-bottom:1.3rem !important;
  }
  .prod-price-label{margin-bottom:.3rem}
  .prod-price{font-size:1.35rem !important;margin-bottom:1.3rem !important}
  .variants-label,.brot-label,.qty-label{font-size:.62rem;margin-bottom:.5rem !important}
  .variants-grid,.brot-pills{gap:.45rem !important;margin-bottom:1.3rem !important}
  .variant-pill,.brot-pill{
    min-height:44px;display:inline-flex;align-items:center;
    padding:.55rem 1rem !important;border-radius:.55rem !important;
    font-size:.78rem !important;
  }
  .qty-row{margin-bottom:1.3rem !important;gap:.7rem !important}
  .qty-ctrl{padding:.15rem}
  .qty-btn{width:44px !important;height:44px !important;font-size:1.15rem !important}
  .qty-val{font-size:.88rem;min-width:30px}
  .add-btn{
    width:100% !important;min-height:56px !important;
    border-radius:.85rem !important;font-size:.82rem !important;
    padding:1rem 1.5rem !important;
  }
  .prod-divider{margin:1.3rem 0 !important}
  .prod-meta{flex-direction:column !important;gap:.5rem !important;font-size:.72rem}

  /* ── CONTENT-PAGE (Kontakt): echte Klassen ── */
  .kt-page{
    padding:calc(4rem + env(safe-area-inset-top,0px)) 1.1rem calc(3rem + env(safe-area-inset-bottom,0px)) !important;
  }
  .kt-header{margin-bottom:2.5rem !important}
  .kt-eyebrow{font-size:.58rem !important;letter-spacing:.2em;margin-bottom:.8rem}
  .kt-eyebrow::before,.kt-eyebrow::after{width:24px}
  .kt-title{
    font-size:clamp(2rem,9vw,3rem) !important;
    margin-bottom:.8rem !important;line-height:1.05;
    word-break:normal;hyphens:manual;
  }
  .kt-subtitle{font-size:.85rem !important;line-height:1.7;padding:0 .25rem}
  .kt-grid{grid-template-columns:1fr !important;gap:1.5rem !important}
  .kt-info{gap:.7rem !important}
  .kt-info-card{
    padding:1rem 1.1rem !important;border-radius:.9rem !important;
    gap:.8rem !important;
    /* Keine Translate-Animation für App-Feel */
    transform:none !important;opacity:1 !important;
  }

  /* ── CONTENT-PAGE (Über uns scroll-page) ── */
  .scroll-hero{padding:5rem 1.2rem 3rem !important;min-height:auto !important}
  .hero-title{font-size:clamp(2.8rem,11vw,4rem) !important;line-height:.95;margin-bottom:1.3rem !important}
  .hero-sub{font-size:.92rem !important;line-height:1.65;margin-bottom:1.8rem !important;padding:0 .2rem}
  .hero-eyebrow{font-size:.56rem !important;letter-spacing:.22em;margin-bottom:1.5rem !important}
  .hero-eyebrow::before,.hero-eyebrow::after{width:22px}
  .scroll-section{
    padding:3.5rem 1.2rem !important;min-height:auto !important;
  }

  /* ── CONTENT-PAGE (Catering) ── */
  .ct-nav{padding:.6rem 1rem !important}
  .ct-nav-brand{font-size:1.05rem !important}
  .ct-nav-back{font-size:.62rem !important}
  .ct-hero-inner{padding:5.5rem 1.1rem 2.5rem !important}
  .ct-hero-tag{font-size:.56rem !important;padding:.3rem .85rem;margin-bottom:1.3rem}
  .ct-h1{
    font-size:clamp(2.6rem,11vw,4.5rem) !important;
    line-height:.95;margin-bottom:1.2rem !important;
  }
  .ct-hero-desc{font-size:.9rem !important;line-height:1.7;margin-bottom:1.8rem !important}
  .ct-chips{gap:.4rem !important;margin-bottom:2rem !important}
  .ct-chip{font-size:.62rem !important;padding:.32rem .75rem}
  .ct-hero-cta{
    width:100%;justify-content:center;
    padding:1rem 1.5rem !important;font-size:.78rem !important;
    min-height:54px;border-radius:.85rem;
  }
  .ct-steps-wrap{padding:0 1rem !important}
  .ct-steps-band{grid-template-columns:1fr !important;border-radius:.9rem}
  .ct-step{
    padding:1.1rem 1.2rem !important;
    border-right:none !important;
    border-bottom:1px solid rgba(255,255,255,.06);
    gap:.9rem !important;
  }
  .ct-step:last-child{border-bottom:none}

  /* ── CONTENT-PAGE (Allergene) ── */
  .alg-page{
    padding:calc(4rem + env(safe-area-inset-top,0px)) 1rem calc(3rem + env(safe-area-inset-bottom,0px)) !important;
  }
  .alg-header{margin-bottom:1.8rem !important}
  .alg-eyebrow{font-size:.58rem !important;margin-bottom:.7rem;letter-spacing:.2em}
  .alg-eyebrow::before,.alg-eyebrow::after{max-width:36px}
  .alg-title{
    font-size:clamp(1.9rem,8vw,2.8rem) !important;margin-bottom:.6rem;
    word-break:normal;hyphens:manual;
  }
  .alg-subtitle{font-size:.82rem !important;line-height:1.65;margin-bottom:1.5rem}
  .alg-legend{padding:.9rem !important;border-radius:.85rem !important;gap:.35rem !important}
  .leg-title{font-size:.58rem;margin-bottom:.5rem}
  .leg-item{font-size:.62rem;padding:.22rem .55rem;min-height:32px}
  .leg-code{font-size:.62rem}
  .alg-search-wrap{margin-bottom:1.5rem}
  .alg-search-input{
    padding:.85rem 1rem .85rem 2.7rem !important;
    font-size:16px !important;min-height:48px;border-radius:.7rem;
  }
  .alg-search-icon{left:.85rem;width:15px;height:15px}
  .alg-cats{gap:.35rem !important;margin-bottom:1.8rem}
  .alg-cat-btn{font-size:.68rem;padding:.35rem .8rem;min-height:34px}
  .alg-section{margin-bottom:2rem !important}
  .alg-section-title{font-size:1.1rem !important;margin-bottom:.85rem;padding-bottom:.55rem}
  .alg-table{font-size:.72rem}
  .alg-table-wrap{
    -webkit-overflow-scrolling:touch;
    border-radius:.7rem;
  }

  /* ── CONTENT-PAGES (Über uns, Kontakt, Catering, Allergene) ── */
  .page-container,
  .template-page .page,
  main.template-page,
  .page-content{
    padding:calc(3.8rem + env(safe-area-inset-top,0px)) 1.1rem calc(3rem + env(safe-area-inset-bottom,0px)) !important;
  }
  .page-title,.page h1{
    font-size:clamp(1.9rem,7vw,2.8rem) !important;
    line-height:1.1;margin-bottom:1.2rem;
    letter-spacing:-.02em;
    word-break:normal;hyphens:manual;
  }
  .page h2{font-size:clamp(1.3rem,5vw,1.7rem) !important;line-height:1.2;margin:1.8rem 0 .7rem}
  .page h3{font-size:1.1rem !important;margin:1.3rem 0 .5rem}
  .page p,.page-content p{font-size:.93rem;line-height:1.7;margin-bottom:.9rem}
  .page ul,.page ol{padding-left:1.1rem;margin-bottom:1rem}
  .page li{font-size:.9rem;line-height:1.65;margin-bottom:.45rem}

  /* Bilder in Content-Pages: runde Kanten, voller Breite */
  .page img,.page-content img{
    width:100%;height:auto;
    border-radius:.85rem;margin:1rem 0;
  }

  /* Kontakt-Form: app-feel */
  .contact-form,.kontakt-form{display:flex;flex-direction:column;gap:.85rem}
  .contact-form label,.kontakt-form label{font-size:.72rem;letter-spacing:.08em;color:rgba(240,234,216,.75);margin-bottom:.25rem}
  .contact-form button,.kontakt-form button{
    min-height:54px;width:100%;margin-top:.5rem;
    border-radius:1rem;font-size:.78rem;letter-spacing:.14em;
  }

  /* Allergene-Tabelle oder Raster: mobile scroll */
  .allergen-grid,.allergen-table{
    display:grid;grid-template-columns:1fr 1fr;gap:.5rem;
  }
  .allergen-table table,
  .allergene-table table{
    font-size:.78rem;display:block;overflow-x:auto;
    -webkit-overflow-scrolling:touch;white-space:nowrap;
  }

  /* Catering: cbox weiter optimieren */
  .catering-grid,.cbox-grid{
    grid-template-columns:1fr !important;gap:1rem !important;
  }
  .cbox{border-radius:1rem !important}
  .cbox h4{line-height:1.2;margin-bottom:.5rem}

  /* Formularfelder Focus-Ring (iOS/Android app-feel) */
  input:focus-visible,textarea:focus-visible,select:focus-visible{
    outline:2px solid rgba(184,147,74,.55);outline-offset:1px;
  }

  /* Scrollbars ausblenden für app-look */
  ::-webkit-scrollbar{display:none}
  html{scrollbar-width:none;-ms-overflow-style:none}
}

/* Sehr schmale Phones (≤360px): Fullscreen-Overlay noch kompakter */
@media(max-width:360px){
  .prod-item-header{padding:.55rem .5rem !important}
  .prod-item-name{font-size:.76rem !important;max-height:2.4em}
  .prod-item-price{font-size:.8rem !important}
  .prod-select-btn{width:28px !important;height:28px !important;font-size:1rem !important}
  .prod-item-chips{display:none}
}

/* ═══════════════════════════════════════════════════════
   v10-HOTFIX  —  Fullscreen-Overlay + Scroll-Top-Button
   (1) Blauer Scroll-Top-Pfeil: auf Mobile komplett aus
   (2) iOS-Safari-Viewport-Leak: Homepage-Bilder blitzen
       unterm Overlay durch. Fix via 100dvh/100svh und
       Body-Lock wenn .sw-fullpage.sw-open aktiv ist.
   ═══════════════════════════════════════════════════════ */
@media(max-width:767px){
  /* (1) Scroll-to-Top-Button: Mobile hat eigene App-Gesten */
  .sw-scroll-top{display:none !important}

  /* (2a) Overlay deckt wirklich den vollen Viewport — auch wenn
         iOS-URL-Bar ein-/ausfährt (dynamic viewport).
         WICHTIG: z-index MUSS unter 9000 bleiben, damit der
         Produkt-Bottom-Sheet (z-index 9000) darüber öffnen kann. */
  .sw-fullpage{
    position:fixed !important;
    inset:0 !important;
    top:0 !important;left:0 !important;right:0 !important;bottom:0 !important;
    width:100vw !important;
    height:100vh !important;
    height:100svh !important;  /* small viewport  — fallback */
    height:100dvh !important;  /* dynamic viewport — modernes iOS/Chrome */
    min-height:-webkit-fill-available;
    background:var(--bg) !important;
    overflow:hidden !important;
    z-index:600 !important; /* Original-Wert — unter sw-product-sheet (9000) */
  }

  /* (2b) Sicherheitsgurt: sobald Overlay offen ist, dürfen html+body
         nicht mehr scrollen → kein Visual-Viewport-Leak nach unten. */
  html:has(.sw-fullpage.sw-open),
  body:has(.sw-fullpage.sw-open){
    overflow:hidden !important;
    position:fixed !important;
    width:100% !important;
    height:100% !important;
    top:0 !important;left:0 !important;
    touch-action:none;
  }

  /* (2c) Der Scroll-Container im Overlay übernimmt das vertikale
         Scrollen und deckt den Raum unter dem Header vollständig ab. */
  .sw-fp-scroll{
    flex:1 1 auto !important;
    min-height:0 !important;
    max-height:none !important;
    background:var(--bg) !important;
    padding-bottom:calc(2rem + env(safe-area-inset-bottom,0px)) !important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
  }

  /* (2d) Alles was im Overlay folgt (Filler/Weitere Kategorien/Footer)
         bekommt den Overlay-Hintergrund — kein Durchscheinen. */
  .sw-fp-filler,
  .sw-fp-other-cats,
  .sw-fp-empty,
  .sw-handwerk{
    background:var(--bg) !important;
    position:relative;z-index:1;
  }

  /* (2e) Sticky Cart-Footer im Overlay: sitzt an iOS Safe-Area */
  .overlay-footer{
    padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px)) !important;
  }
}

@supports not (height:100dvh){
  @media(max-width:767px){
    .sw-fullpage{height:100% !important;min-height:100vh !important}
  }
}

/* ═══════════════════════════════════════════════════════
   END APP-LIKE MOBILE POLISH v9
   ═══════════════════════════════════════════════════════ */
