@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/cormorant-garamond-300-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/cormorant-garamond-300-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/cormorant-garamond-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/cormorant-garamond-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Jost';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/jost-300-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Jost';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/jost-300-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/jost-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/jost-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/jost-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/jost-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
/* HolyGlow Candles — Designvorschau
   Dieses Stylesheet wandert später unverändert nach assets/css/main.css ins Theme. */

:root{
  --cream:#FFFFFF;      /* Weiß – Grundfläche der ganzen Seite */
  --sand:#F5F1EB;       /* Creme – nur noch Produktflächen und Kästen */
  --beige:#E9E0D4;      /* helles Beige – Flächen, Bildrahmen */
  --taupe:#A2968A;      /* Taupe        – Sekundärtext, Linien */
  --ink:#2C2825;        /* warmes Anthrazit – Text */
  --ink-soft:#5A524B;
  --line:rgba(44,40,37,.13);
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Jost",-apple-system,"Segoe UI",sans-serif;
  --pad:clamp(20px,5vw,72px);
  --ease:cubic-bezier(.22,.61,.36,1);
  --r:999px;           /* runde Schaltflächen */
  --sale:#B3261E;      /* Angebotspreis */
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--cream);color:var(--ink);
  font-family:var(--sans);font-weight:300;font-size:16px;line-height:1.75;
  overflow-x:hidden;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}

/* ---------- Typografie ---------- */
h1,h2,h3{font-family:var(--serif);font-weight:300;margin:0;line-height:1.12;letter-spacing:.01em}
h1{font-size:clamp(2rem,4.2vw,3.6rem)}
h2{font-size:clamp(1.6rem,2.7vw,2.35rem)}
h3{font-size:clamp(1.1rem,1.6vw,1.45rem)}
p{margin:0 0 1.2em}
.eyebrow{
  font-size:.64rem;letter-spacing:.32em;text-transform:uppercase;
  color:var(--taupe);font-weight:400;margin:0 0 1.6rem
}
.lead{font-size:clamp(.94rem,1.1vw,1.03rem);color:var(--ink-soft);max-width:46ch}
.muted{color:var(--ink-soft)}

/* ---------- Layout ---------- */
.wrap{max-width:1380px;margin:0 auto;padding:0 var(--pad)}
.narrow{max-width:760px;margin:0 auto}
section{position:relative}
.sec{padding:clamp(46px,5.4vw,86px) 0}
.sec--sand{background:var(--cream);border-top:1px solid var(--line)}  /* weiß, nur fein getrennt */
.sec-head{margin-bottom:clamp(26px,3.2vw,46px)}
.sec-head--center{text-align:center}
.sec-head--center .lead{margin-inline:auto}

/* ---------- Buttons ---------- */
.btn{
  display:inline-block;padding:1.1em 2.6em;font-size:.68rem;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--ink);
  border-radius:var(--r);color:var(--ink);background:transparent;position:relative;overflow:hidden;
  transition:color .45s var(--ease),background .45s var(--ease)
}
.btn:hover{background:var(--ink);color:#fff}
.btn span{position:relative;z-index:1}
.btn--light{border-color:#fff;color:#fff}
.btn--light:hover{background:#fff;color:var(--ink)}
.link-u{
  font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;
  border-bottom:1px solid var(--line);padding-bottom:.5em;transition:border-color .4s
}
.link-u:hover{border-color:var(--ink)}

/* ---------- Kontaktformular (Contact Form 7) ---------- */
.wpcf7-form{max-width:520px}
.wpcf7-form p{margin:0 0 1.3em}
.wpcf7-form label{display:block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--taupe);margin-bottom:.55em}
.wpcf7-form-control-wrap{display:block}
.wpcf7-form-control{
  width:100%;font:inherit;font-size:.95rem;color:var(--ink);
  border:1px solid var(--line);border-radius:var(--r);padding:.85em 1.1em;background:var(--cream);
  transition:border-color .3s var(--ease)
}
.wpcf7-form-control:focus{outline:0;border-color:var(--ink)}
textarea.wpcf7-form-control{min-height:150px;resize:vertical;border-radius:16px}
input.wpcf7-form-control.wpcf7-submit{
  width:auto;display:inline-block;padding:1.1em 2.6em;font-size:.68rem;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--ink);border-radius:var(--r);
  color:var(--ink);background:transparent;cursor:pointer;transition:color .45s var(--ease),background .45s var(--ease)
}
input.wpcf7-form-control.wpcf7-submit:hover{background:var(--ink);color:#fff}
.wpcf7-not-valid-tip{display:block;margin-top:.5em;font-size:.75rem;color:#b3261e}
.wpcf7-response-output{margin:1.6em 0 0;padding:.9em 1.2em;border:1px solid var(--line);border-radius:var(--r);font-size:.85rem;color:var(--ink-soft)}
.wpcf7-spinner{margin-left:.6em}

.promo{
  position:relative;z-index:99;background:#F4F3F1;color:var(--ink);
  display:flex;align-items:center;justify-content:center;gap:clamp(18px,4vw,60px);
  padding:0 16px;font-size:.78rem;letter-spacing:.01em;text-transform:none;height:40px
}
body.has-promo .hdr{top:40px}
body.has-promo.is-scrolled .hdr{top:0}


.promo__nav{font-size:1.1rem;line-height:1;color:var(--ink-soft);padding:2px 6px}
.promo__nav:hover{color:var(--ink)}

/* ---------- Header ---------- */
.hdr{
  position:fixed;top:0;left:0;right:0;z-index:100;padding:13px 0;
  background:rgba(255,255,255,.96);backdrop-filter:blur(16px) saturate(1.3);
  -webkit-backdrop-filter:blur(16px) saturate(1.4);
  border-bottom:1px solid var(--line);color:var(--ink);
  transition:transform .5s var(--ease);will-change:transform
}
.hdr__logo img,.hdr__logo .custom-logo{height:clamp(46px,3.8vw,64px)!important}
/* beim Runterscrollen weicht der Header, beim Hochscrollen kommt er zurueck */
.hdr--hidden{transform:translateY(-100%)}
.hdr__in{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(16px,2.4vw,40px)}
.hdr__nav{display:flex;gap:clamp(18px,2.6vw,42px);align-items:center;justify-content:center;padding:10px 0}
.hdr__nav a{
  font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:400;
  position:relative;padding:6px 0
}
.hdr__nav a::after{
  content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;
  background:currentColor;transform:scaleX(0);transform-origin:right;
  transition:transform .45s var(--ease)
}
.hdr__nav a:hover::after{transform:scaleX(1);transform-origin:left}
.hdr__logo{justify-self:start}
/* Logo: WordPress liefert es als eigenen Link — Größe hart begrenzen */
.hdr__logo{display:flex;align-items:center}
.hdr__logo a,.hdr__logo .custom-logo-link{display:block;line-height:0}
.hdr__logo img,.hdr__logo .custom-logo{
  height:clamp(46px,3.8vw,64px)!important;width:auto!important;max-width:220px;object-fit:contain;
  transition:height .45s var(--ease),filter .45s var(--ease)
}
.mnav__top img,.mnav__top .custom-logo{height:46px!important;width:auto!important}
.ftr__grid img,.ftr__grid .custom-logo{height:64px!important;width:auto!important}
/* Das Markenlogo ist warmes Braun — über dem Hero wird es weiß eingefärbt */

.hdr__act{display:flex;gap:22px;align-items:center;justify-self:end}
.hdr__act button,.hdr__act a{display:flex;align-items:center;gap:7px;padding:6px}
.hdr__act svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.1;fill:none}
.cart-n{font-size:.68rem;letter-spacing:.08em}

.hdr__search{display:flex;align-items:center;gap:8px;max-width:520px;width:100%;
  border:1px solid var(--line);border-radius:var(--r);padding:.55em 1.1em;background:rgba(255,255,255,.7)}
.hdr__search input{flex:1;border:0;background:transparent;font:inherit;font-size:.88rem;color:inherit;outline:0;min-width:0}
.hdr__search input::placeholder{color:var(--taupe)}
.hdr__search button{display:grid;place-items:center;padding:0}
.hdr__search svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.2;fill:none}
.hdr__navrow{background:rgba(255,255,255,.62);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line);color:var(--ink)}
.hdr--over .hdr__search{border-color:rgba(255,255,255,.5)}
.hdr--over .hdr__navrow,.hdr--over-light .hdr__navrow{border-top-color:var(--line)}

/* Zustand über dem Hero: weiße Schrift auf dem Bild */




/* WordPress-Menüstruktur auf die Gestaltung der Vorschau abbilden */
.hdr__menu{display:flex;gap:clamp(18px,2.6vw,42px);align-items:center;list-style:none;margin:0;padding:0}
.hdr__menu li{position:relative}
.hdr__menu a{font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;font-weight:400;position:relative;padding:6px 0;display:block}
.hdr__menu > li > a::after{
  content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;
  transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)
}
.hdr__menu > li > a:hover::after{transform:scaleX(1);transform-origin:left}
.hdr__menu .sub-menu{
  position:absolute;top:100%;left:50%;transform:translate(-50%,0);
  background:var(--cream);padding:22px 30px;min-width:230px;list-style:none;margin:0;
  box-shadow:0 18px 50px rgba(44,40,37,.09);border:1px solid var(--line);
  opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility .4s var(--ease);z-index:20
}
.hdr__menu li:hover > .sub-menu{opacity:1;visibility:visible}
.hdr__menu .sub-menu a{color:var(--ink);font-size:.7rem;padding:9px 0;white-space:nowrap}
.mnav__menu{list-style:none;margin:0;padding:0}
.mnav__menu > li{border-bottom:1px solid var(--line)}
.mnav__menu > li:last-child{border-bottom:0}
.mnav__menu > li > a{
  display:block;font-family:var(--serif);font-size:clamp(1.3rem,5.5vw,1.7rem);
  padding:.62em 0;letter-spacing:0;text-transform:none
}
.mnav__menu .sub-menu{list-style:none;margin:0 0 12px 3px;padding:4px 0 0 4px;border-left:1px solid var(--line)}
.mnav__menu .sub-menu a{
  display:block;font-family:var(--sans);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;
  padding:.62em 0 .62em 20px;color:var(--ink-soft)
}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;z-index:999;background:var(--ink);color:#fff;padding:.8em 1.2em;border-radius:var(--r)}
.hdr__wordmark{font-family:var(--serif);font-size:1.5rem;letter-spacing:.08em}

/* Untermenü Shop */
.has-sub{position:relative}
.sub{
  position:absolute;top:calc(100% + 14px);left:50%;transform:translate(-50%,8px);
  background:var(--cream);padding:24px 34px;min-width:230px;
  box-shadow:0 18px 50px rgba(44,40,37,.09);border:1px solid var(--line);
  opacity:0;visibility:hidden;transition:all .4s var(--ease)
}
.has-sub:hover .sub{opacity:1;visibility:visible;transform:translate(-50%,0)}
.sub a{display:block;padding:9px 0;color:var(--ink);font-size:.7rem}
.burger{display:none;width:26px;height:14px;position:relative}
.burger i{position:absolute;left:0;height:1px;width:100%;background:currentColor;transition:.4s var(--ease)}
.burger i:nth-child(1){top:0}
.burger i:nth-child(2){bottom:0;width:70%}

/* ---------- Mobile Menü ---------- */
.mnav{
  position:fixed;inset:0;z-index:200;background:var(--cream);
  transform:translateY(-100%);transition:transform .7s var(--ease);
  display:flex;flex-direction:column;padding:26px var(--pad) 40px;overflow-y:auto
}
.mnav.open{transform:translateY(0)}
.mnav__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:4vh}
.mnav__top img{height:46px}
.mnav__close{font-size:1.6rem;line-height:1;padding:8px}
.mnav__list a{
  display:block;font-family:var(--serif);font-size:clamp(1.6rem,7vw,2.2rem);
  padding:.22em 0;opacity:0;transform:translateY(18px);
  transition:opacity .6s var(--ease),transform .6s var(--ease)
}
.mnav.open .mnav__list a{opacity:1;transform:none}
.mnav__sub{padding:6px 0 18px 4px;border-left:1px solid var(--line);margin-left:3px}
.mnav__sub a{
  font-family:var(--sans);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;
  padding:.62em 0 .62em 20px;color:var(--ink-soft)
}
.mnav__foot{margin-top:auto;padding-top:40px;display:flex;gap:26px;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase}

/* ---------- Hero ---------- */
/* Hero + Service-Leiste füllen auf Desktop zusammen genau einen Bildschirm.
   svh statt vh, damit mobile Browserleisten nicht hineinrechnen. */
.hero{
  position:relative;display:flex;align-items:center;overflow:hidden;
  height:calc(100vh - 96px);height:calc(100svh - 96px);min-height:480px
}
.hero__img{position:absolute;inset:0}
.hero__img img{width:100%;height:100%;object-fit:cover;object-position:center center}
.hero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.75) 30%,rgba(255,255,255,.22) 58%,rgba(255,255,255,0) 75%)
}
.hero__txt{position:relative;z-index:2;color:var(--ink);width:100%}
.hero__txt > *{max-width:30ch}
.hero__txt h1{font-size:clamp(2.4rem,5vw,4.4rem);margin-bottom:.34em}
.hero__txt p{font-size:clamp(.95rem,1.1vw,1.05rem);margin-bottom:2.1em;color:var(--ink-soft);max-width:36ch}
.hero .eyebrow{color:var(--taupe);max-width:none}

/* ---------- Service-Leiste ---------- */
.svc{border-bottom:1px solid var(--line)}
.svc__in{
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  padding:20px 0;font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;color:var(--taupe)
}
@media(max-width:820px){
  .svc__in{justify-content:center;gap:10px 26px;font-size:.58rem;letter-spacing:.16em}
}

/* ---------- Kollektionen: Bild + Liste statt Kachel-Kreise ---------- */
.collection{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(30px,5vw,80px);align-items:start;margin-bottom:clamp(50px,6vw,90px)}
.collection__nav h2{font-size:clamp(1.9rem,3.2vw,2.8rem);margin-bottom:clamp(20px,2.6vw,34px)}
.collection__list{list-style:none;margin:0;padding:0}
.collection__list li{border-bottom:1px solid var(--line)}
.collection__list li:first-child a{padding-top:0}
.collection__list a{
  display:flex;justify-content:space-between;align-items:baseline;padding:1.05em 0;
  font-family:var(--serif);font-size:clamp(1.15rem,1.7vw,1.45rem);color:var(--ink-soft);
  transition:color .35s var(--ease)
}
.collection__list a:hover,.collection__list a.on{color:var(--ink)}
.collection__list a span{font-family:var(--sans);font-size:.72rem;letter-spacing:.08em;color:var(--taupe)}
.collection__img{overflow:hidden;background:var(--beige);aspect-ratio:4/5;border-radius:18px;max-height:640px}
.collection__img img{width:100%;height:100%;object-fit:cover}
@media(max-width:820px){
  .collection{grid-template-columns:1fr;gap:26px}
  .collection__img{order:-1;aspect-ratio:16/10}
}

/* ---------- Produktwelten (Editorial-Raster) ---------- */
/* Duftwelten: große Bildflächen statt kleiner Kacheln — Titel liegt im Bild */
.worlds{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,26px)}
.world{position:relative;overflow:hidden;display:block;aspect-ratio:3/4}
.world__img{position:absolute;inset:0;overflow:hidden;background:var(--sand)}
.world__img img{width:100%;height:100%;object-fit:cover;object-position:center 25%;transition:transform 1.1s var(--ease)}
.world:hover .world__img img{transform:scale(1.06)}
.world::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,26,23,0) 45%,rgba(30,26,23,.55) 100%)}
.world__cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(20px,2.6vw,32px);color:#fff}
.world__cap h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.3rem,1.9vw,1.7rem);margin-bottom:.2em}
.world__cap span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.82)}
@media(max-width:820px){.worlds{grid-template-columns:1fr;gap:14px}.world{aspect-ratio:4/3}}

/* ---------- Facts: Vertrauensleiste unter dem Hero ---------- */
.facts__in{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,40px);text-align:center}
.fact__icon{
  width:62px;height:62px;margin:0 auto 16px;background:var(--sand);border-radius:50%;
  display:grid;place-items:center;color:var(--ink)
}
.fact__icon svg{width:26px;height:26px}
.fact h3{font-family:var(--sans);font-weight:500;font-size:1.02rem;margin-bottom:.35em}
.fact p{font-size:.9rem;color:var(--ink-soft);margin:0}
.sec.facts{border-bottom:1px solid var(--line)}
/* Mobil: Produkte direkt nach dem Hero, Facts danach als kompaktes 2×2-Raster */
@media(max-width:820px){
  #inhalt{display:flex;flex-direction:column}
  #inhalt>.hero{order:-2}
  #inhalt>.sec--best{order:-1}
  .sec.facts{padding-block:28px;border-top:1px solid var(--line)}
  .facts__in{grid-template-columns:repeat(2,1fr);gap:22px 12px}
  .fact__icon{width:48px;height:48px;margin-bottom:10px}
  .fact__icon svg{width:22px;height:22px}
  .fact h3{font-size:.92rem;margin:0;line-height:1.3}
  .fact p{display:none}
}

/* ---------- Events ---------- */
.events{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,32px)}
.event{background:#fff;border:1px solid var(--line);border-radius:16px;padding:clamp(22px,2.4vw,34px)}
.event__date{
  display:inline-block;font-size:.92rem;font-weight:500;letter-spacing:.04em;
  color:var(--ink);border:1px solid var(--line);border-radius:var(--r);padding:.5em 1.1em;margin-bottom:1.1rem
}
.event h3{font-family:var(--sans);font-weight:500;font-size:1.2rem;margin-bottom:.25em}
.event__place{display:block;font-size:.82rem;letter-spacing:.04em;color:var(--taupe);margin-bottom:.9em}
.event p{font-size:.95rem;color:var(--ink-soft);margin:0}
@media(max-width:820px){.events{grid-template-columns:1fr;gap:14px}}

/* Testimonial: eine ruhige, große Aussage */
/* Kundenstimmen: ruhiger Fade-Slider, kein Framework */
.testimonials{border-bottom:1px solid var(--line);padding-bottom:clamp(40px,5vw,64px)}
.testimonial-track{position:relative;min-height:11em}
.testimonial{
  position:absolute;inset:0;text-align:center;max-width:38em;margin:0 auto;
  opacity:0;transform:translateY(8px);transition:opacity .6s var(--ease),transform .6s var(--ease);pointer-events:none
}
.testimonial.on{opacity:1;transform:none;pointer-events:auto;position:relative}
.testimonial p{font-family:var(--serif);font-size:clamp(1.4rem,2.6vw,2.1rem);line-height:1.4;color:var(--ink);margin:0 0 1em}
.testimonial cite{font-style:normal;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--taupe)}
.testimonial-dots{display:flex;justify-content:center;gap:10px;margin-top:clamp(24px,3vw,36px)}
.testimonial-dots button{width:7px;height:7px;border-radius:50%;background:var(--line);transition:background .35s,transform .35s}
.testimonial-dots button.on{background:var(--ink);transform:scale(1.3)}

/* Newsletter */
.newsletter{text-align:center}
.newsletter form{display:flex;gap:10px;max-width:440px;margin:2rem auto 0}
.newsletter input[type=email]{
  flex:1;border:1px solid var(--line);border-radius:var(--r);padding:1em 1.3em;
  font:inherit;font-size:.9rem;background:var(--cream);color:inherit
}
.newsletter .btn{flex:0 0 auto;padding:1em 1.8em}
@media(max-width:520px){.newsletter form{flex-direction:column}}

/* ---------- Tab-Filter ---------- */
.tabs{display:flex;gap:clamp(18px,2.4vw,34px);flex-wrap:wrap;margin:0 0 clamp(26px,3vw,40px)}
.tabs a{
  font-size:.9rem;color:var(--taupe);padding-bottom:6px;border-bottom:1.5px solid transparent;
  transition:color .35s,border-color .35s
}
.tabs a:hover{color:var(--ink)}
.tabs a.on{color:var(--ink);border-bottom-color:var(--ink)}
.more{display:flex;justify-content:flex-end;margin-top:clamp(22px,3vw,34px)}
.more a{display:inline-flex;align-items:center;gap:12px;font-size:.9rem}
.more span{
  width:30px;height:30px;border:1px solid var(--line);border-radius:var(--r);
  display:grid;place-items:center;font-size:.8rem;transition:.35s var(--ease)
}
.more a:hover span{background:var(--ink);color:#fff;border-color:var(--ink)}

/* ---------- Produkte ---------- */
.grid-p{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.4vw,44px)}
/* Eigenständige Karte statt Ava&May-Nachbau: weich statt scharfkantig,
   Serifen-Name als eigene Markenstimme, Duftnoten als Tags statt Fließtext */
.card{position:relative;display:flex;flex-direction:column}
.card__img{
  position:relative;display:block;overflow:hidden;background:var(--sand);aspect-ratio:1/1;
  border-radius:18px;transition:box-shadow .4s var(--ease)
}
.card__img img{width:100%;height:100%;min-width:100%;min-height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.card:hover .card__img{box-shadow:0 22px 40px -18px rgba(44,40,37,.28)}
.card:hover .card__img img{transform:scale(1.05)}
.card__badge{
  position:absolute;top:14px;left:14px;z-index:2;background:var(--ink);color:#fff;
  padding:.42em .95em;border-radius:var(--r);font-size:.62rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase
}
.card__badge--sold{background:#fff;color:var(--ink);box-shadow:0 0 0 1px var(--ink) inset}
.card.outofstock .card__img img{opacity:.55}
.card__body{padding-top:18px;display:flex;flex-direction:column;gap:8px;text-align:left;flex:1}
.card__body h3{
  font-family:var(--serif);font-weight:500;font-size:1.28rem;letter-spacing:.005em;line-height:1.25;margin:0
}
.card__desc{font-size:.88rem;line-height:1.5;color:var(--ink-soft);min-height:2.64em}
.card__price{font-size:1.02rem;letter-spacing:.01em;margin-top:auto;padding-top:4px;display:flex;flex-wrap:wrap;align-items:baseline;gap:.55em}
.card__price b{font-weight:500}
.card__price b.is-sale{color:var(--sale)}
.card__price s{color:var(--taupe);font-weight:300;font-size:.86rem}
.center{text-align:center;margin-top:clamp(32px,4vw,58px)}

/* ---------- Editorial: wechselnde Bild-/Textreihen ---------- */
.row{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(26px,3.4vw,60px);align-items:center;max-width:1260px;margin-inline:auto}
.row + .row{margin-top:clamp(40px,5vw,78px)}
.row--flip .row__media{order:2}
.row__media{overflow:hidden;background:var(--beige);aspect-ratio:4/3}
.row__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.row__media:hover img{transform:scale(1.04)}
.row__num{
  font-family:var(--serif);font-size:clamp(2.2rem,3.4vw,3.4rem);color:var(--beige);
  line-height:1;margin-bottom:.18em;display:block
}
.row__txt h3{margin-bottom:.5em;font-size:clamp(1.3rem,2vw,1.8rem)}
.row__txt .lead{font-size:clamp(1rem,1.25vw,1.12rem);max-width:38ch}
/* Auftakt der Über-mich-Seite: Bild und Text gleichgewichtig */
.row--intro{grid-template-columns:1fr 1fr;gap:clamp(30px,4.5vw,80px)}
.row--portrait{grid-template-columns:1fr 1fr;align-items:start}
.row--portrait .row__media.por{position:sticky;top:120px;aspect-ratio:3/4}
.row--portrait .row__txt{-webkit-mask-image:linear-gradient(180deg,#000 88%,transparent 100%);mask-image:linear-gradient(180deg,#000 88%,transparent 100%);padding-bottom:2em}
.row--portrait .row__txt .lead{font-size:clamp(1rem,1.1vw,1.08rem);line-height:1.75;max-width:48ch;margin-bottom:1.2em}
.row--portrait .row__txt .row__sign{font-family:var(--serif);font-style:italic;font-size:1.15rem;color:var(--ink)}
@media(max-width:820px){.row--portrait .row__media.por{position:static}}
.row--intro .row__txt h2{font-size:clamp(1.8rem,3vw,2.7rem);margin-bottom:.55em}
.row--intro .row__txt .lead{font-size:clamp(1.02rem,1.35vw,1.2rem);max-width:42ch}

/* ---------- Prozess (8 Schritte, kompakt) ---------- */
.steps{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(30px,4vw,54px) clamp(40px,7vw,110px);max-width:1120px;margin-inline:auto}
.step{display:grid;grid-template-columns:auto 1fr;gap:clamp(18px,2.4vw,34px);align-items:start}
.step__n{font-family:var(--serif);font-size:1.3rem;color:var(--taupe);line-height:1;padding-top:.1em}
.step h3{font-size:.92rem;margin-bottom:.5em;font-family:var(--sans);font-weight:400;letter-spacing:.14em;text-transform:uppercase}
.step p{font-size:.88rem;color:var(--ink-soft);margin:0}
.band{margin:clamp(44px,6vw,90px) 0;height:clamp(220px,30vw,420px);overflow:hidden}
.band img{width:100%;height:100%;object-fit:cover}

/* ---------- Bildstrecke ---------- */
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,1.2vw,18px)}
.gal a{overflow:hidden;background:var(--beige);aspect-ratio:4/5;display:block}
.gal a:nth-child(2),.gal a:nth-child(3){aspect-ratio:1/1;align-self:center}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.gal a:hover img{transform:scale(1.06)}
@media(max-width:820px){.gal{grid-template-columns:repeat(2,1fr)}.gal a,.gal a:nth-child(2),.gal a:nth-child(3){aspect-ratio:1/1;align-self:auto}}

/* ---------- Werte (Über mich) ---------- */
.vals{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,48px)}
.val__img{overflow:hidden;background:var(--beige);aspect-ratio:3/4;margin-bottom:22px}
.val__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.3s var(--ease)}
.val:hover .val__img img{transform:scale(1.04)}
.val__n{font-size:.62rem;letter-spacing:.28em;color:var(--taupe);display:block;margin-bottom:.7rem}
.val h3{margin-bottom:.6em}
.val p{font-size:.92rem;color:var(--ink-soft);margin:0}

/* grosses Zitat */
.quote{text-align:center;max-width:20em;margin:0 auto}
.quote p{
  font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.6rem);line-height:1.3;
  color:var(--ink);margin:0 0 1.2em
}
.quote cite{font-style:normal;font-size:.64rem;letter-spacing:.28em;text-transform:uppercase;color:var(--taupe)}
@media(max-width:820px){.vals{grid-template-columns:1fr;gap:38px}.quote{max-width:90%}}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--line)}
.faq__i{border-bottom:1px solid var(--line)}
.faq__q{
  width:100%;display:flex;justify-content:space-between;align-items:center;gap:24px;
  padding:clamp(22px,3vw,34px) 0;text-align:left;font-size:clamp(.94rem,1.5vw,1.1rem);
  letter-spacing:.1em;text-transform:uppercase;font-weight:400;transition:color .4s
}
.faq__q:hover{color:var(--taupe)}
.faq__q i{font-style:normal;font-size:1.3rem;line-height:1;transition:transform .45s var(--ease);flex:0 0 auto}
.faq__i.open .faq__q i{transform:rotate(45deg)}
.faq__a{max-height:0;overflow:hidden;transition:max-height .55s var(--ease)}
.faq__a p{padding:0 0 clamp(22px,3vw,34px);max-width:70ch;color:var(--ink-soft);margin:0}

/* ---------- Abschluss / CTA ---------- */
.cta{position:relative;height:clamp(360px,54vh,580px);display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.cta img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cta::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(30,26,23,.22) 0%,rgba(30,26,23,.5) 55%,rgba(30,26,23,.34) 100%)
}
.cta__in{position:relative;z-index:2;color:#fff;padding:0 var(--pad);text-shadow:0 1px 26px rgba(30,26,23,.32)}
.cta__in h2{margin-bottom:1.4rem}
.cta__in h2{margin-bottom:.34em}
.cta__in p{margin-bottom:2.2em;opacity:.94}

/* ---------- Seiten-Hero (Unterseiten) ---------- */
.phero{position:relative;height:clamp(320px,48vh,520px);display:flex;align-items:flex-end;overflow:hidden}
.phero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.phero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,26,23,.3),rgba(30,26,23,.48))}
.phero__t{position:relative;z-index:2;color:#fff;padding-bottom:clamp(44px,7vh,92px);max-width:900px}
.phero .eyebrow{color:rgba(255,255,255,.88)}
.phero__t h1{text-shadow:0 1px 30px rgba(30,26,23,.28)}

/* ---------- Shop ---------- */
.shop-head{position:relative;height:clamp(380px,46vh,480px);display:flex;align-items:center;overflow:hidden;padding-top:clamp(96px,13vh,150px)}
.shop-head img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.shop-head::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,26,23,.15),rgba(30,26,23,.55))}
.shop-head__in{position:relative;z-index:2;width:100%;color:#fff;text-align:left}
.shop-head h1{font-size:clamp(2.2rem,4.4vw,3.6rem)}
.shop-head .lead{color:rgba(255,255,255,.88);margin-top:1.2rem;max-width:52ch}
.shop-head .crumb{color:rgba(255,255,255,.75)}
.crumb{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--taupe);margin-bottom:1.8rem}
.shop-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:clamp(36px,5vw,66px);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--taupe)}
.chips{display:flex;gap:10px;flex-wrap:wrap}
.chip{padding:.72em 1.5em;border:1px solid var(--line);border-radius:var(--r);font-size:.64rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;transition:.4s var(--ease)}
.chip:hover,.chip.on{background:var(--ink);color:var(--cream);border-color:var(--ink)}

/* ---------- Produktseite ---------- */
.pdp{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(34px,5vw,100px);padding-top:calc(clamp(96px,13vh,150px) + 30px)}
.pdp__gal{display:grid;gap:clamp(10px,1.4vw,18px)}
.pdp__gal img{width:100%;background:var(--sand);aspect-ratio:1/1;object-fit:cover}
.pdp__info{position:sticky;top:120px;align-self:start;padding-bottom:40px}
.pdp__price{font-size:1.35rem;margin:.7em 0 1.5em;letter-spacing:.04em}
.pdp__opt{margin:2rem 0;border-top:1px solid var(--line);padding-top:1.6rem}
.pdp__opt label{display:block;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--taupe);margin-bottom:.9rem}
.qty{display:flex;align-items:center;gap:0;border:1px solid var(--line);border-radius:var(--r);width:fit-content;overflow:hidden}
.qty button{padding:.9em 1.2em;font-size:1rem}
.qty span{padding:0 1.2em;font-size:.9rem;min-width:52px;text-align:center}
.pdp__buy{display:flex;gap:14px;margin:2rem 0;flex-wrap:wrap}
.pdp__buy .btn{flex:1;min-width:210px;text-align:center}
.acc{margin-top:2.4rem}
.pdp__note{font-size:.8rem;color:var(--taupe);display:flex;gap:10px;align-items:center;margin-top:1.4rem}

/* ---------- Über mich: Portrait ---------- */
.row__media.por{overflow:hidden;background:var(--beige);aspect-ratio:3/4}
.row__media.por img{
  width:100%;height:100%;object-fit:cover;object-position:center;
  /* Zoom um die Gesichtsposition herum, sonst wird der Kopf angeschnitten */
  transform:scale(1.5);transform-origin:27% 27%
}
.row__media.por:hover img{transform:scale(1.54)}

/* ---------- Footer ---------- */
.ftr{background:var(--cream);border-top:1px solid var(--line);padding:clamp(56px,7vw,100px) 0 36px}
.ftr__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:clamp(30px,4vw,64px);padding-bottom:clamp(44px,6vw,80px)}
.ftr__grid img{height:64px;width:auto;margin-bottom:24px}
.ftr h4{font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;margin:0 0 1.6rem;font-weight:400;color:var(--taupe)}
.ftr ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.85rem}
.ftr a{font-size:.88rem;color:var(--ink-soft);transition:color .35s}
.ftr a:hover{color:var(--ink)}
.ftr__bot{border-top:1px solid var(--line);padding-top:30px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.74rem;color:var(--taupe)}

/* Bildwelt auf einen gemeinsamen Ton bringen (gleicht die Farbstimmungen an) */
.card__img img,.world__img img,.row__media img,.hero__img img,.cta img,.phero img{
  filter:saturate(.88) contrast(1.02)
}

/* ---------- Scroll-Reveal ---------- */
.rv{opacity:0;transform:translateY(26px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.rv.in{opacity:1;transform:none}

/* ---------- Vorschau-Hinweis ---------- */
.pv{position:fixed;left:14px;bottom:14px;border-radius:var(--r);z-index:300;background:var(--ink);color:var(--cream);font-size:.63rem;letter-spacing:.16em;text-transform:uppercase;padding:.8em 1.2em;opacity:.82}
.pv a{text-decoration:underline}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
  .hdr__nav,.hdr__act .lbl{display:none}
  /* Handy: Logo links neben dem Burger, Icons rechts, Menü per Burger */
  .hdr__in{grid-template-columns:auto auto 1fr auto;row-gap:12px;column-gap:14px}
  .burger{grid-column:1;grid-row:1;display:block}
  .hdr__logo{grid-column:2;grid-row:1;justify-self:start}
  .hdr__logo img,.hdr__logo .custom-logo{height:52px!important}
  .hdr__act{grid-column:4;grid-row:1}
  .grid-p{grid-template-columns:repeat(2,1fr)!important}
  .season__card .grid-p{grid-template-columns:repeat(1,1fr)!important}
  .pdp{grid-template-columns:1fr;gap:34px}
  .pdp__info{position:static}
  .ftr__grid{grid-template-columns:1fr 1fr}
}
@media(max-width:820px){
  .hero{height:calc(100svh - 96px);min-height:440px}
  .worlds{grid-template-columns:repeat(2,1fr);gap:16px}
  .row,.steps{grid-template-columns:1fr;gap:26px}
  .row--flip .row__media{order:0}
  .row + .row{margin-top:64px}
  .row__media{aspect-ratio:4/3}
  .shop-bar{font-size:.62rem}
}
@media(max-width:640px){
  .promo{font-size:.55rem;letter-spacing:.14em;padding:.7em 12px;height:32px}
  .promo__b{display:none}
  body.has-promo .hdr{top:32px}
  .hero{align-items:flex-end}
  .hero__txt{padding-bottom:30px}
  .hero__txt > *{max-width:none}
  .hero::after{background:linear-gradient(180deg,rgba(255,255,255,0) 8%,rgba(255,255,255,.55) 38%,rgba(255,255,255,.88) 66%,rgba(255,255,255,.96) 100%)}
  .hero .eyebrow{margin-bottom:.9rem;font-size:.56rem;letter-spacing:.22em}
}
@media(max-width:520px){
  .ftr__grid{grid-template-columns:1fr;gap:34px}
  .grid-p{gap:14px}
  .card__body h3{
  font-family:var(--sans);font-weight:500;font-size:.95rem;letter-spacing:.005em;line-height:1.35;margin-bottom:1px
}
  }
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .rv{opacity:1;transform:none}
}


/* ============================================================
   WooCommerce — Standardausgabe an die Gestaltung anpassen
   ============================================================ */

.woocommerce main > .wrap{padding-top:calc(clamp(96px,13vh,150px) + 20px)}

/* Produktseite */
.woocommerce div.product{display:grid!important;
  grid-template-columns:1.15fr 1fr;gap:clamp(34px,5vw,90px);
  max-width:1380px;margin:0 auto;padding:0 var(--pad) clamp(50px,7vw,100px)
}
.woocommerce div.product .woocommerce-product-gallery{width:100%!important;margin:0!important;float:none!important}
.woocommerce div.product .woocommerce-product-gallery__image{background:var(--sand)}
.woocommerce div.product .woocommerce-product-gallery img{width:100%;height:auto;display:block;aspect-ratio:1/1;object-fit:cover}
.woocommerce div.product .flex-control-thumbs{
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0 0;padding:0;list-style:none
}
.woocommerce div.product .flex-control-thumbs li{list-style:none}
.woocommerce div.product .flex-control-thumbs img{
  width:100%;aspect-ratio:1/1;object-fit:cover;cursor:pointer;opacity:.55;
  background:var(--sand);border:1px solid var(--line);border-radius:8px;transition:opacity .3s var(--ease)
}
.woocommerce div.product .flex-control-thumbs img.flex-active,
.woocommerce div.product .flex-control-thumbs img:hover{opacity:1}
.woocommerce div.product .summary{position:static!important;float:none!important;width:100%!important;margin:0!important;padding-bottom:40px}
.woocommerce div.product .product_title{font-size:clamp(2rem,3.4vw,3rem);margin-bottom:.3em}
.woocommerce div.product p.price,.woocommerce div.product span.price{
  font-family:var(--sans);font-size:1.3rem;font-weight:500;color:var(--ink);margin:.4em 0 1.3em
}
.woocommerce div.product p.price del{color:var(--taupe);font-weight:300;font-size:1rem;margin-right:.5em}
.woocommerce div.product p.price ins{text-decoration:none;color:var(--sale)}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--ink-soft);max-width:48ch}
.woocommerce div.product form.cart{margin:2rem 0;display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.woocommerce div.product form.cart .variations{width:100%;border-top:1px solid var(--line);padding-top:1.4rem}
.woocommerce div.product form.cart .variations th{text-align:left;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--taupe);font-weight:400;padding:.6em 1em .6em 0}
.woocommerce div.product form.cart .variations select{
  border:1px solid var(--line);border-radius:var(--r);padding:.8em 1.2em;font:inherit;background:var(--cream)
}
.woocommerce .quantity .qty{
  width:78px;border:1px solid var(--line);border-radius:var(--r);padding:.85em;text-align:center;font:inherit;background:transparent
}
.woocommerce div.product form.cart .button,
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{
  background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:var(--r);
  font-family:var(--sans);font-size:.68rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
  padding:1.1em 2.4em;line-height:1;transition:.4s var(--ease)
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:transparent;color:var(--ink)}
.woocommerce div.product .woocommerce-tabs{grid-column:1/-1;margin-top:clamp(40px,5vw,80px)}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 1.6rem;border-bottom:1px solid var(--line);display:flex;gap:26px}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:none;border:0;border-radius:0;margin:0;padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--taupe);padding:0 0 12px;display:block;font-weight:400
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--ink);box-shadow:inset 0 -1.5px 0 var(--ink)}
.woocommerce div.product .woocommerce-tabs .panel{max-width:72ch;color:var(--ink-soft)}
.woocommerce div.product .related,.woocommerce div.product .upsells{grid-column:1/-1;margin-top:clamp(40px,5vw,80px)}
.woocommerce div.product .related h2,.woocommerce div.product .upsells h2{
  font-size:clamp(1.6rem,2.7vw,2.35rem);text-align:center;margin-bottom:clamp(26px,3.2vw,46px)
}
.woocommerce div.product .related ul.products,.woocommerce div.product .upsells ul.products,
.woocommerce ul.products{
  display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.4vw,44px);margin:0;padding:0;list-style:none
}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;padding:0!important}

/* Warenkorb und Kasse */
.woocommerce table.shop_table{border:0;border-collapse:collapse}
.woocommerce table.shop_table th{
  font-family:var(--sans);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--taupe);font-weight:400;border-bottom:1px solid var(--line);padding:1em 1em 1em 0
}
.woocommerce table.shop_table td{border-top:1px solid var(--line);padding:1.3em 1em 1.3em 0;background:transparent}
.woocommerce table.shop_table img{width:74px;height:auto;background:var(--cream);border-radius:8px}
.woocommerce .cart-collaterals .cart_totals>h2,.woocommerce-checkout h3{
  font-size:clamp(1.15rem,1.6vw,1.4rem);margin-bottom:.8em
}
.woocommerce .coupon{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:1.6rem}
.woocommerce-cart button[name="update_cart"]{margin-top:12px}
.woocommerce .coupon .input-text{
  flex:1;min-width:180px;border:1px solid var(--line);border-radius:var(--r);
  padding:.85em 1.3em;font:inherit;font-size:.9rem;background:var(--cream)
}
.woocommerce .coupon button{white-space:nowrap}
body.woocommerce-checkout .entry{max-width:720px}
body.woocommerce-cart .entry{max-width:none}
.cart-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(24px,3vw,40px);align-items:start}
.cart-layout__main{width:100%;background:var(--sand);border-radius:16px;padding:clamp(24px,3vw,38px)}
.cart-layout__main table.shop_table,.cart-layout__main .coupon{width:100%}
.cart-layout__main table.shop_table th{border-bottom-color:var(--line)}
.cart-layout__main table.shop_table td{border-top-color:var(--line)}
.cart-layout__main .coupon .input-text{background:var(--cream)}
.cart-layout__side{position:sticky;top:120px}
@media(max-width:900px){.cart-layout{grid-template-columns:1fr}.cart-layout__side{position:static}}
.woocommerce-cart .cart-collaterals{margin-top:0}
.woocommerce-cart .cart_totals{
  width:100%;background:var(--sand);border-radius:16px;padding:clamp(24px,3vw,38px)
}
.woocommerce-cart .cart_totals table{width:100%;border-collapse:collapse}
.woocommerce-cart .cart_totals table th,.woocommerce-cart .cart_totals table td{
  border-top:1px solid var(--line);padding:1em 0;background:transparent;text-align:left
}
.woocommerce-cart .cart_totals table tr:first-child th,.woocommerce-cart .cart_totals table tr:first-child td{border-top:0}
.woocommerce-cart .wc-proceed-to-checkout{margin-top:1.4rem;margin-bottom:12px}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{display:block;text-align:center;width:100%;margin:0 0 20px}
.woocommerce-cart .wc-proceed-to-checkout ~ *{margin-top:12px}
@media(max-width:820px){.woocommerce-cart .cart-collaterals{justify-content:stretch}.woocommerce-cart .cart_totals{max-width:none}}

/* Kasse: Rechnungsfelder, Versandarten */
.woocommerce-billing-fields__field-wrapper,.woocommerce-additional-fields__field-wrapper{display:flex;flex-wrap:wrap;gap:0 24px}
.woocommerce-billing-fields .form-row,.woocommerce-additional-fields .form-row{margin-bottom:1.4rem;width:100%}
.woocommerce-billing-fields .form-row-first,.woocommerce-billing-fields .form-row-last{width:calc(50% - 12px)}
#shipping_method{list-style:none;margin:0;padding:0}
#shipping_method li{padding:.6em 0}
@media(max-width:600px){.woocommerce-billing-fields .form-row-first,.woocommerce-billing-fields .form-row-last{width:100%}}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce form .form-row select{
  border:1px solid var(--line);border-radius:14px;padding:1em 1.2em;font:inherit;background:var(--cream);min-height:0;width:100%;box-sizing:border-box
}
.woocommerce form .form-row label{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--taupe);display:block;margin-bottom:.5em}

/* Select2 (Land/Bundesland) — eigenes CSS, da WooCommerce-Standardstyles abgeschaltet sind */
.select2-container{width:100%!important;max-width:100%}
.select2-container .select2-selection--single{
  height:auto!important;border:1px solid var(--line)!important;border-radius:14px!important;
  padding:1em 2.6em 1em 1.2em;background:var(--cream)!important;box-sizing:border-box;display:block
}
.select2-container .select2-selection__rendered{padding:0!important;line-height:1.3!important;color:var(--ink)}
.select2-container .select2-selection__arrow{height:100%!important;top:0!important;right:10px}
.select2-container .select2-selection__placeholder{color:var(--taupe)}
.select2-dropdown{border:1px solid var(--line)!important;border-radius:10px;overflow:hidden;z-index:210}
.select2-search--dropdown{padding:8px;box-sizing:border-box}
.select2-search--dropdown .select2-search__field{
  border:1px solid var(--line);border-radius:8px;padding:.6em .8em;font:inherit;width:100%;box-sizing:border-box
}
.select2-results__option{padding:.6em 1em;font-size:.92rem}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option[aria-selected=true]{background:var(--sand)!important;color:var(--ink)!important}
.woocommerce-checkout #payment{background:var(--sand);border-radius:16px;padding:clamp(20px,2.4vw,32px)}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--line)}
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  background:var(--sand);border:0;border-left:2px solid var(--ink);border-radius:8px;color:var(--ink);
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;
  padding:1em 1.4em 1em 2.8em;margin:0 0 1.6rem;list-style:none
}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{color:var(--ink);top:1em}
.woocommerce-message a.button.wc-forward{flex:0 0 auto;white-space:nowrap}
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;gap:8px;justify-content:center;margin-top:clamp(30px,4vw,56px)}
.woocommerce nav.woocommerce-pagination ul li{border:0}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{
  border:1px solid var(--line);border-radius:var(--r);min-width:40px;padding:.7em .9em;font-size:.78rem
}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--ink);color:#fff;border-color:var(--ink)}

/* Fließtext auf normalen Seiten */
.entry{max-width:72ch;color:var(--ink-soft)}
.entry h2,.entry h3{color:var(--ink);margin:1.6em 0 .5em}
.entry img{margin:1.4em 0}
.entry a{border-bottom:1px solid var(--line)}

@media(max-width:1100px){
  .woocommerce div.product{grid-template-columns:1fr;gap:30px}
  .woocommerce div.product .summary{position:static}
  .woocommerce ul.products,
  .woocommerce div.product .related ul.products{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:520px){
  .woocommerce table.shop_table img{width:56px}
}

/* Kundenstimmen: Navigation */
.testimonial-nav{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:clamp(24px,3vw,36px)}
.testimonial-nav .testimonial-dots{margin:0}
.testimonial-nav>button{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;font-size:1.3rem;line-height:1;color:var(--ink);background:transparent}
.testimonial-nav>button:hover{border-color:var(--ink)}
.testimonial-track{touch-action:pan-y}
.testimonial-track{user-select:none}

/* Häkchenliste (Marke & Qualität) */
.checks{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;gap:.55rem}
.checks li{position:relative;padding-left:1.7rem;font-size:.98rem;color:var(--ink)}
.checks li::before{content:"";position:absolute;left:.2rem;top:.45em;width:.5rem;height:.9rem;border:solid var(--taupe);border-width:0 1.5px 1.5px 0;transform:rotate(45deg) scale(.8);transform-origin:center}

/* Produkt-Highlights: kompakte Liste neben dem großen Produktbild */
.hl-list{list-style:none;margin:1.6rem 0 0;padding:0;border-top:1px solid var(--line)}
.hl-list li{border-bottom:1px solid var(--line)}
.hl-list a{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:16px;padding:12px 0;transition:opacity .3s}
.hl-list a:hover{opacity:.7}
.hl-list img{width:56px;height:56px;object-fit:cover;border-radius:8px;display:block}
.hl-list__n{font-family:var(--serif);font-size:1.15rem;color:var(--ink)}
.hl-list__p{font-size:.92rem;color:var(--ink-soft)}
.hl-buy{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:1.4rem}
.hl-buy__n{font-family:var(--serif);font-size:1.5rem;color:var(--ink);flex-basis:100%}
.hl-buy__p{color:var(--ink-soft)}
.hl-buy{padding-top:1.2rem}
.hl-buy__d{flex-basis:100%;margin:0;font-size:.95rem;color:var(--ink-soft)}

/* Highlight: Bild oben, Kaufblock darunter (Bildbox schneidet sonst ab) */
.row--flip .hl-col{order:2}
@media(max-width:820px){.row--flip .hl-col{order:0}}
.hl-buy{margin-top:0;padding:1.4rem 0 0;display:grid;gap:.5rem;justify-items:start}
.hl-buy__n{font-family:var(--serif);font-size:1.6rem;line-height:1.2;color:var(--ink)}
.hl-buy__p{font-size:1.05rem;color:var(--ink)}
.hl-buy__d{font-size:.98rem;line-height:1.6;color:var(--ink-soft);max-width:46ch}
.hl-buy .btn{margin-top:.6rem}

/* Highlight: linke und rechte Spalte schließen oben und unten bündig ab */
@media(min-width:821px){
  .row--hl{align-items:stretch}
  .row--hl .hl-col .row__media{aspect-ratio:5/4}
  .row--hl .row__txt{display:flex;flex-direction:column;justify-content:flex-start}
  .row--hl .row__txt>p:last-child{margin-top:auto!important;padding-top:1.6rem}
  .row--hl .row__txt .eyebrow{margin-top:0}
}

/* Produktseite: PayPal-Button weg (nur Warenkorb/Kasse); Apple/Google Pay (WooPayments) nicht unter Windows (Klasse hg-win, siehe functions.php) */
.single-product .ppc-button-wrapper{display:none!important}
html.hg-win .wcpay-express-checkout-wrapper{display:none!important}
.single-product .ppcp-messages{display:none!important}
.hg-desc{margin-top:1.6em;color:var(--ink-soft);line-height:1.7}
.hg-desc p{margin:0 0 1em}
.woocommerce-cart .ppc-button-wrapper{margin-top:0}
.woocommerce-cart .woocommerce-cart-form [name="update_cart"]{display:none}

/* PayPal: nur die erste Zeile (gelber PayPal-Button, ca. 55 px) zeigen; "Später bezahlen" und SEPA liegen in PayPals iframe darunter und werden abgeschnitten */
.ppc-button-wrapper [id^="ppc-button"]{max-height:56px;overflow:hidden}
.ppcp-messages{display:none!important}

/* Warenkorb mobil: Tabelle als Karten, nichts breiter als der Bildschirm (sonst zoomt der Browser heraus) */
@media(max-width:820px){
  .cart-layout{grid-template-columns:minmax(0,1fr)}
  .cart-layout>*{min-width:0;max-width:100%}
  .cart-layout__main,.woocommerce-cart .cart_totals{padding:20px 18px;box-sizing:border-box}
  .woocommerce-cart table.shop_table.cart,.woocommerce-cart table.shop_table.cart tbody{display:block;width:100%}
  .woocommerce-cart table.shop_table.cart thead{display:none}
  .woocommerce-cart table.shop_table.cart tr.cart_item{
    display:grid;grid-template-columns:72px minmax(0,1fr);gap:4px 14px;align-items:center;
    position:relative;padding:18px 28px 18px 0;border-top:1px solid var(--line)
  }
  .woocommerce-cart table.shop_table.cart tr.cart_item:first-child{border-top:0}
  .woocommerce-cart table.shop_table.cart td{display:block;border:0!important;padding:0!important;text-align:left;width:auto}
  .woocommerce-cart td.product-thumbnail{grid-row:1 / span 4;grid-column:1}
  .woocommerce-cart td.product-thumbnail img{width:72px;height:72px;object-fit:cover;border-radius:10px;display:block}
  .woocommerce-cart td.product-name,.woocommerce-cart td.product-price,.woocommerce-cart td.product-quantity,.woocommerce-cart td.product-subtotal{grid-column:2}
  .woocommerce-cart td.product-remove{position:absolute;top:16px;right:0}
  .woocommerce-cart td.product-quantity input.qty{width:76px;max-width:100%}
  .woocommerce-cart table.shop_table.cart tr:not(.cart_item),.woocommerce-cart table.shop_table.cart td.actions{display:block;width:100%}
  .woocommerce .coupon{flex-direction:column;align-items:stretch}
  .woocommerce .coupon .input-text{min-width:0;width:100%;box-sizing:border-box}
  .woocommerce .coupon button{width:100%}
  .woocommerce-cart .cart_totals table,.woocommerce-cart .cart_totals tbody{display:block;width:100%}
  .woocommerce-cart .cart_totals tr{display:block}
  .woocommerce-cart .cart_totals th,.woocommerce-cart .cart_totals td{display:block;width:100%;box-sizing:border-box;padding:.5em 0!important}
  .woocommerce-cart .cart_totals tr{border-top:1px solid var(--line);padding:.5em 0}
  .woocommerce-cart .cart_totals tr:first-child{border-top:0}
  .woocommerce-cart .cart_totals th,.woocommerce-cart .cart_totals td{border-top:0!important}
}

/* Kasse mobil: Platz, Zahlungsbox und Button passen in die Bildschirmbreite */
@media(max-width:820px){
  body.woocommerce-checkout .entry{max-width:100%}
  .woocommerce-checkout-review-order-table{width:100%}
  .woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td{padding:.8em 0;vertical-align:top;overflow-wrap:anywhere}
  .woocommerce-checkout-review-order-table td:last-child,.woocommerce-checkout-review-order-table tfoot td{text-align:right}
  .woocommerce-checkout #payment{padding:18px 16px;box-sizing:border-box}
  .woocommerce-checkout #payment ul.payment_methods{list-style:none;margin:0 0 12px;padding:0 0 12px}
  .woocommerce-checkout #payment .payment_box{margin:8px 0 0;padding:12px 0;max-width:100%;overflow:hidden}
  .woocommerce-checkout #payment iframe{max-width:100%}
  .woocommerce-checkout #place_order{display:block;width:100%}
  .woocommerce-checkout .woocommerce-info{flex-direction:column;align-items:flex-start}
}
