/* =========================================================================
   zwei faden — Komponenten-Styles
   Tokens kommen aus theme.json; hier nur die bespoke Komponenten.
   Design-Variablen sind Aliasse auf die WP-Preset-Variablen.
   ========================================================================= */

:root{
  /* Flächen / Tinte / Akzente — Aliasse auf theme.json */
  --paper:var(--wp--preset--color--paper);
  --paper-soft:var(--wp--preset--color--paper-soft);
  --paper-deep:var(--wp--preset--color--paper-deep);
  --paper-card:var(--wp--preset--color--paper-card);
  --ink:var(--wp--preset--color--ink);
  --ink-2:var(--wp--preset--color--ink-2);
  --ink-3:var(--wp--preset--color--ink-3);
  --brass:var(--wp--preset--color--brass);
  --brass-deep:var(--wp--preset--color--brass-deep);
  --weave:var(--wp--preset--color--weave);
  --weave-soft:var(--wp--preset--color--weave-soft);
  --berry:var(--wp--preset--color--berry);
  --berry-soft:var(--wp--preset--color--berry-soft);

  --serif:var(--wp--preset--font-family--serif);
  --sans:var(--wp--preset--font-family--sans);
  --script:var(--wp--preset--font-family--script);

  --line:rgba(33,52,60,.16);
  --line-soft:rgba(33,52,60,.08);
  --line-onink:rgba(244,239,230,.18);

  --maxw:1240px;
  --gutter:clamp(20px, 5vw, 64px);
  --radius:3px;
  --radius-pill:999px;
  --shadow:0 18px 48px -28px rgba(33,52,60,.45);
  --shadow-soft:0 12px 30px -22px rgba(33,52,60,.35);
}

/* ---------- Reset / Basis (verbatim aus dem Designsystem) ---------- */
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
img{display:block;max-width:100%;}
button{font-family:inherit;cursor:pointer;}
::selection{background:var(--brass);color:#fff;}

/* ---------- Typografie-Helfer ---------- */
.display{font-family:var(--serif);font-size:var(--wp--preset--font-size--display);line-height:.98;font-weight:500;letter-spacing:-.01em;}
.h-xl{font-family:var(--serif);font-size:var(--wp--preset--font-size--xx-large);line-height:1.04;font-weight:500;}
.h-lg{font-family:var(--serif);font-size:var(--wp--preset--font-size--x-large);line-height:1.04;font-weight:500;}
.h-md{font-family:var(--serif);font-size:var(--wp--preset--font-size--large);line-height:1.1;font-weight:500;}
.serif-it{font-style:italic;font-weight:400;}
.lead{font-size:var(--wp--preset--font-size--medium);line-height:1.6;color:var(--ink-2);max-width:60ch;}
.muted{color:var(--ink-2);}
.tiny{font-size:13px;letter-spacing:.01em;}
.eyebrow{
  font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:.26em;
  text-transform:uppercase;color:var(--brass-deep);
  display:inline-flex;align-items:center;gap:.7em;
}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--brass);display:inline-block;}
.eyebrow.center::before{display:none;}

/* ---------- Layout-Helfer ---------- */
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter);}
.section{padding-block:clamp(64px,9vw,128px);}
.section.tight{padding-block:clamp(44px,6vw,80px);}
.center{text-align:center;}
.grid{display:grid;gap:clamp(20px,3vw,48px);}
.cols-2{grid-template-columns:repeat(2,1fr);}
.cols-3{grid-template-columns:repeat(3,1fr);}
.cols-4{grid-template-columns:repeat(4,1fr);}
.divider{height:1px;background:var(--line);border:0;margin:0;}
.ink-section{background:var(--ink);color:var(--paper);}
.ink-section h1,.ink-section h2,.ink-section h3{color:var(--paper);}
.ink-section .eyebrow{color:var(--brass);}
.ink-section .lead,.ink-section .muted{color:rgba(244,239,230,.74);}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  font-family:var(--sans);font-weight:600;font-size:13px;letter-spacing:.13em;
  text-transform:uppercase;padding:15px 30px;border-radius:var(--radius);
  border:1px solid transparent;transition:all .25s ease;white-space:nowrap;line-height:1;
}
.btn-solid{background:var(--ink);color:var(--paper);}
.btn-solid:hover{background:#16252b;transform:translateY(-1px);}
.btn-brass{background:var(--brass);color:#fff;}
.btn-brass:hover{background:var(--brass-deep);transform:translateY(-1px);}
.btn-line{background:transparent;border-color:var(--ink);color:var(--ink);}
.btn-line:hover{background:var(--ink);color:var(--paper);}
.btn-line.on-ink{border-color:rgba(244,239,230,.4);color:var(--paper);}
.btn-line.on-ink:hover{background:var(--paper);color:var(--ink);}
.btn-lg{padding:18px 38px;font-size:14px;}

/* Brücke: native core/button-Blöcke an die Design-Varianten koppeln */
.wp-block-button .wp-block-button__link{font-family:var(--sans);font-weight:600;font-size:13px;letter-spacing:.13em;text-transform:uppercase;padding:15px 30px;border-radius:var(--radius);line-height:1;}
.wp-block-button.btn-solid .wp-block-button__link{background:var(--ink);color:var(--paper);border:1px solid transparent;}
.wp-block-button.btn-solid .wp-block-button__link:hover{background:#16252b;}
.wp-block-button.btn-line .wp-block-button__link{background:transparent;border:1px solid var(--ink);color:var(--ink);}
.wp-block-button.btn-line .wp-block-button__link:hover{background:var(--ink);color:var(--paper);}
.wp-block-button.btn-lg .wp-block-button__link{padding:18px 38px;font-size:14px;}

.link-arrow{
  font-family:var(--sans);font-weight:600;font-size:13px;letter-spacing:.14em;
  text-transform:uppercase;display:inline-flex;align-items:center;gap:.6em;
  color:var(--ink);border-bottom:1px solid transparent;padding-bottom:3px;transition:.2s;
}
.link-arrow .ar{transition:transform .25s;}
.link-arrow:hover{border-color:var(--brass);}
.link-arrow:hover .ar{transform:translateX(5px);}
.on-ink-link{color:var(--paper);}
.on-ink-link:hover{border-color:var(--brass);}

/* ---------- Chips / Tags ---------- */
.tag{
  display:inline-flex;align-items:center;gap:.5em;font-family:var(--sans);font-weight:600;
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:6px 12px;
  border-radius:var(--radius-pill);border:1px solid var(--line);color:var(--ink-2);background:rgba(255,255,255,.4);
}
.tag::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block;flex:0 0 auto;}
.tag .dot{width:6px;height:6px;border-radius:50%;background:var(--ink-3);}
.tag.weave{color:var(--weave);border-color:rgba(28,111,104,.35);}
.tag.weave .dot{background:var(--weave);}
.tag.berry{color:var(--berry);border-color:rgba(177,31,124,.32);}
.tag.berry .dot{background:var(--berry);}

/* ---------- Header ---------- */
/* Sticky am Template-Part-Wrapper (sonst klebt es nur an sich selbst) */
header.wp-block-template-part{position:sticky;top:0;z-index:50;background:rgba(244,239,230,.86);}
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(244,239,230,.86);
  border-bottom:1px solid var(--line-soft);
}
/* backdrop-filter nur auf Desktop: es erzeugt sonst einen Containing-Block für
   position:fixed -> das mobile Navigations-Overlay würde an den Header (74px)
   gebunden statt ans Viewport. Unter 600px (Overlay-Breakpoint) daher kein Filter. */
@media (min-width:600px){
  .site-header{backdrop-filter:saturate(140%) blur(12px);-webkit-backdrop-filter:saturate(140%) blur(12px);}
}
.site-header .nav{min-height:74px;gap:24px;}

/* Brandmark (Site-Title + Subline) */
.brandmark{align-items:baseline;gap:.5em;}
.site-header .bm-name{margin:0;line-height:1;font-family:var(--serif);font-weight:500;font-size:27px;letter-spacing:.01em;white-space:nowrap;}
.site-header .brandmark{flex-shrink:0;}
/* Ganz schmale Phones: Schriftzug/Icons leicht verkleinern, damit der Lockup auf einer Zeile bleibt */
@media (max-width:400px){
  .site-header .bm-name{font-size:22px;}
  .site-header .bm-sub{font-size:9px;letter-spacing:.18em;}
  .nav-tools{gap:6px;}
  .nav-tools .zf-search-trigger{padding:4px;}
}
.site-header .bm-name a{color:var(--ink);}
.bm-sub{margin:0;line-height:1;font-family:var(--sans);font-weight:600;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--brass-deep);}

/* Native Navigation an das Design angleichen */
.site-header .main-nav .wp-block-navigation__container{gap:30px;}
.site-header .main-nav .wp-block-navigation-item__content{
  font-family:var(--sans);font-weight:500;font-size:14px;letter-spacing:.04em;color:var(--ink);
  padding:6px 0;position:relative;
}
.site-header .main-nav .wp-block-navigation-item__content::after{
  content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1.5px;background:var(--brass);transition:right .28s ease;
}
.site-header .main-nav .wp-block-navigation-item__content:hover::after,
.site-header .main-nav .current-menu-item .wp-block-navigation-item__content::after{right:0;}
/* Hamburger-Icon */
.main-nav .wp-block-navigation__responsive-container-open{color:var(--ink);}
.main-nav .wp-block-navigation__responsive-container-open svg{width:26px;height:26px;fill:currentColor;}
/* Navigations-Overlay (WP 7.0 Template-Part "navigation-overlay"): grosse Serif-Links */
.nav-overlay{padding:clamp(18px,5vw,40px) var(--gutter) clamp(40px,8vw,64px);}
.nav-overlay-top{margin-bottom:clamp(28px,7vw,56px);}
.nav-overlay .overlay-nav{width:100%;}
.nav-overlay .overlay-nav .wp-block-navigation__container{gap:0;align-items:stretch;flex-direction:column;width:100%;}
.nav-overlay .overlay-nav .wp-block-navigation__container > .wp-block-navigation-item{border-bottom:1px solid var(--line-soft);width:100%;}
.nav-overlay .overlay-nav .wp-block-navigation__container .wp-block-navigation-item__content{
  font-family:var(--serif);font-weight:500;font-size:clamp(28px,6vw,34px);line-height:1.1;color:var(--ink);
  letter-spacing:0;text-transform:none;padding:14px 0;display:block;width:100%;
}
.nav-overlay .overlay-nav .wp-block-navigation__container .wp-block-navigation-item__content::after{display:none;}
.nav-overlay .bm-name{white-space:nowrap;}
/* Schliessen-Button (X) in Ink statt Default-Blau */
.nav-overlay .wp-block-navigation-overlay-close,
.wp-block-navigation__responsive-container .wp-block-navigation-overlay-close{color:var(--ink);}
.nav-overlay .wp-block-navigation-overlay-close svg,
.wp-block-navigation__responsive-container .wp-block-navigation-overlay-close svg{fill:currentColor;stroke:currentColor;}

/* Werkzeuge: Suche + Mini-Cart */
.nav-tools{align-items:center;gap:14px;}
.nav-tools .zf-search-trigger{background:none;border:0;color:var(--ink);padding:6px;cursor:pointer;display:flex;align-items:center;line-height:0;}
.nav-tools .zf-search-trigger svg{width:21px;height:21px;}

/* ---------- Live-Suche: Drop-Panel mit Sofort-Resultaten (Store-API) ---------- */
.zf-search{position:fixed;inset:0;z-index:80;display:none;}
.zf-search.open{display:block;}
.zf-search__scrim{position:absolute;inset:0;background:rgba(33,52,60,.32);opacity:0;transition:opacity .3s ease;}
.zf-search.open .zf-search__scrim{opacity:1;}
.zf-search__panel{position:absolute;top:0;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:var(--shadow);transform:translateY(-100%);transition:transform .34s cubic-bezier(.2,.7,.2,1);max-height:88vh;overflow-y:auto;}
.zf-search.open .zf-search__panel{transform:none;}
.zf-search__bar{display:flex;align-items:center;gap:18px;padding-block:26px;}
.zf-search__icon{width:24px;height:24px;color:var(--brass-deep);flex:none;}
.zf-search__input{flex:1;border:0;background:none;font-family:var(--serif);font-weight:500;font-size:clamp(26px,3.4vw,40px);line-height:1.1;color:var(--ink);min-width:0;}
.zf-search__input::placeholder{color:var(--ink-3);font-style:italic;}
.zf-search__input:focus{outline:none;}
.zf-search__input::-webkit-search-cancel-button,.zf-search__input::-webkit-search-decoration{-webkit-appearance:none;appearance:none;}
.zf-search__close{flex:none;background:none;border:1px solid var(--line);border-radius:var(--radius-pill);width:42px;height:42px;display:flex;align-items:center;justify-content:center;color:var(--ink-2);transition:.2s;cursor:pointer;}
.zf-search__close:hover{border-color:var(--ink);color:var(--ink);}
.zf-search__close svg{width:18px;height:18px;}
.zf-search__hint{padding-bottom:30px;border-top:1px solid var(--line-soft);padding-top:22px;}
.zf-search__hint .eyebrow{margin-bottom:14px;}
.zf-chips{display:flex;flex-wrap:wrap;gap:10px;}
.zf-chip{font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:9px 16px;border-radius:var(--radius-pill);border:1px solid var(--line);color:var(--ink-2);background:var(--paper-card);transition:.2s;cursor:pointer;}
.zf-chip:hover{border-color:var(--brass);color:var(--brass-deep);}
.zf-results{padding-bottom:34px;}
.zf-results__meta{font-family:var(--sans);font-size:13px;letter-spacing:.04em;color:var(--ink-3);padding-block:14px 18px;border-top:1px solid var(--line-soft);}
.zf-hit{display:grid;grid-template-columns:64px 1fr auto;gap:18px;align-items:center;padding:12px 10px;border-radius:var(--radius);transition:background .18s;color:var(--ink);}
.zf-hit:hover{background:var(--paper-card);}
.zf-hit__thumb{width:64px;height:80px;border-radius:var(--radius);object-fit:cover;background:var(--paper-deep);}
.zf-hit__maker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-weight:600;}
.zf-hit__name{font-family:var(--serif);font-size:21px;font-weight:500;line-height:1.12;margin-top:2px;}
.zf-hit__tagline{font-size:13.5px;color:var(--ink-2);margin-top:3px;}
.zf-hit__price{font-size:15px;color:var(--ink-2);white-space:nowrap;}
.zf-hit mark{background:rgba(176,137,79,.22);color:inherit;padding:0 .08em;border-radius:2px;}
.zf-empty{padding:30px 0 36px;border-top:1px solid var(--line-soft);}
.zf-empty p{color:var(--ink-2);max-width:44ch;}
.zf-loading{padding:22px 0;color:var(--ink-3);font-size:14px;border-top:1px solid var(--line-soft);}
@media (max-width:560px){
  .zf-hit{grid-template-columns:52px 1fr;}
  .zf-hit__price{grid-column:2;}
  .zf-hit__thumb{width:52px;height:64px;}
}
body.zf-search-open{overflow:hidden;}
.nav-tools .wc-block-mini-cart__button{color:var(--ink);padding:6px;}
.nav-tools .wc-block-mini-cart__badge{background:var(--berry);color:#fff;border-color:var(--berry);}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink);color:var(--paper);padding-block:72px 36px;}
.site-footer a{color:rgba(244,239,230,.78);transition:color .2s;}
.site-footer a:hover{color:var(--brass);}
.site-footer .wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter);}
.footer-top{gap:clamp(28px,4vw,48px);align-items:flex-start;margin-bottom:0;}
.footer-top .footer-col{margin:0;}
.footer-col h4{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);margin:0 0 18px;}
.footer-col ul{list-style:none;margin:0;padding:0;display:grid;gap:11px;}
.footer-brand .fb-name{font-family:var(--serif);font-size:34px;font-weight:500;color:var(--paper);margin:0 0 10px;}
.footer-worlds{display:flex;flex-direction:column;gap:14px;margin-top:18px;}
.fw{display:flex;align-items:center;gap:10px;font-size:14px;color:rgba(244,239,230,.8);margin:0;}
.fw::before{content:"";width:10px;height:10px;border-radius:50%;display:inline-block;flex:0 0 auto;}
.fw-weave::before{background:var(--weave);}
.fw-berry::before{background:var(--berry);}
.footer-bottom{margin-top:56px;padding-top:26px;border-top:1px solid var(--line-onink);font-size:13px;color:rgba(244,239,230,.6);gap:20px;}
.footer-bottom p{margin:0;}
.footer-claim{margin:22px 0 0;font-size:12px;letter-spacing:.04em;color:rgba(244,239,230,.5);}
.footer-claim a{color:rgba(244,239,230,.75);border-bottom:1px solid transparent;transition:.2s;}
.footer-claim a:hover{color:var(--brass);border-color:var(--brass);}
.claim-heart{color:var(--brass);}

/* ---------- Produktkarte ---------- */
.product{display:flex;flex-direction:column;gap:14px;}
.product-media{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:var(--radius);background:var(--paper-deep);}
.product-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1);}
.product:hover .product-media img{transform:scale(1.045);}
.product-media .tag{position:absolute;top:12px;left:12px;background:rgba(251,248,242,.92);}
.product-info{display:flex;flex-direction:column;gap:3px;}
.product-info .maker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-weight:600;}
.product-info .name{font-family:var(--serif);font-size:22px;font-weight:500;line-height:1.1;}
.product-info .price{font-size:15px;color:var(--ink-2);margin-top:2px;}

/* ---------- Formularfelder ---------- */
.field{display:flex;flex-direction:column;gap:7px;}
.field label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--ink-2);}
.field input,.field textarea,.field select{
  background:var(--paper-card);border:1px solid var(--line);border-radius:var(--radius);
  padding:14px 15px;font-size:16px;font-family:var(--sans);color:var(--ink);transition:border .2s,box-shadow .2s;
}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--brass);box-shadow:0 0 0 3px rgba(176,137,79,.16);}

/* ---------- Utilities ---------- */
.flow-lg > * + *{margin-top:clamp(28px,4vw,56px);}
/* Inhalt ist standardmässig sichtbar; JS «armiert» (versteckt) nur, was es garantiert wieder zeigt. */
.fade-up.is-armed{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1);}
.fade-up.is-armed.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.fade-up.is-armed{opacity:1;transform:none;transition:none;}}

/* =========================================================================
   Startseite / Patterns
   ========================================================================= */
.hero{padding-top:clamp(40px,6vw,80px);padding-bottom:clamp(40px,5vw,64px);}
/* Abstand Lead -> CTA wieder herstellen (Flow-Reset .hero-copy > *+* killt margin-top) */
.hero-copy .hero-cta{margin-top:clamp(28px,3.5vw,40px);}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,72px);align-items:center;}
.hero-copy .eyebrow{margin-bottom:24px;}
.hero-copy .display{margin-bottom:28px;}
.hero-cta{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:36px;}
.hero-media{margin:0;position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
.hero-media img{width:100%;height:clamp(380px,52vw,620px);object-fit:cover;}
.hero-media figcaption{position:absolute;left:16px;bottom:16px;}

.values-band{border-block:1px solid var(--line-soft);background:var(--paper-soft);}
.values-row{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;
  padding-block:18px;font-family:var(--sans);font-size:12px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--ink-2);font-weight:500;}
.values-row .sep{color:var(--brass);}

.sec-head{margin-bottom:clamp(34px,4vw,56px);}
.sec-head.center .eyebrow{margin-bottom:18px;}
.sec-head.row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;}
.sec-head.row .eyebrow{margin-bottom:14px;}

.worlds-grid{gap:clamp(24px,4vw,56px);}
.world{display:flex;flex-direction:column;gap:22px;}
.world-media{aspect-ratio:16/10;overflow:hidden;border-radius:var(--radius);}
.world-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1);}
.world:hover .world-media img{transform:scale(1.04);}
.world-media.on-dark{background:var(--ink);display:flex;align-items:center;justify-content:center;}
.world-berry .world-media.on-dark{background:#000;}
.world-media.on-dark img{object-fit:contain;width:62%;height:auto;transform:none;}
/* tessanda carolina · Schriftzug-Logo (Pendant zu Evelinas Logo) */
.tc-wordmark{display:flex;flex-direction:column;align-items:center;text-align:center;line-height:1;}
.tc-wordmark .tc-script,.tc-wordmark .tc-name{margin:0;}
.tc-wordmark .tc-script{font-family:var(--script);line-height:.66;letter-spacing:.01em;color:var(--weave);}
.tc-wordmark .tc-name{font-family:var(--serif);font-weight:500;letter-spacing:.40em;text-indent:.40em;text-transform:uppercase;margin-top:.30em;color:var(--ink);}
/* Creme-Plakette auf der Startseite (tessanda carolina Logo, Pendant zu Evelinas Logo auf Ink) */
.world-media.on-weave{background:var(--paper-deep);display:flex;align-items:center;justify-content:center;}
.world-media.on-weave .tc-script,.world-media.on-weave .tc-name{color:var(--paper);}
.world-media.on-weave .tc-script{font-size:clamp(52px,7vw,88px);}
.world-media.on-weave .tc-name{font-size:clamp(30px,4.4vw,52px);}
.world-media.on-weave img{object-fit:contain;width:88%;height:auto;transform:none;}
.world:hover .world-media.on-weave img{transform:none;}
.world:hover .world-media.on-weave{transform:none;}
.world-body{display:flex;flex-direction:column;gap:12px;align-items:flex-start;}
.world-body .tag{margin-bottom:2px;}

.manifest-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,5vw,72px);align-items:center;}
.manifest-media{margin:0;border-radius:var(--radius);overflow:hidden;}
.manifest-media img{width:100%;height:clamp(280px,32vw,440px);object-fit:cover;}
.manifest-quote{font-family:var(--serif);font-style:italic;font-size:clamp(24px,3vw,36px);
  line-height:1.22;color:var(--paper);margin:18px 0 22px;max-width:22ch;}

.cat-grid{gap:clamp(20px,3vw,40px);}
.cat-tile{display:flex;flex-direction:column;gap:18px;}
.cat-tile .cat-img{aspect-ratio:3/2;border-radius:var(--radius);overflow:hidden;}
.cat-tile .cat-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1);}
.cat-tile:hover .cat-img img{transform:scale(1.04);}
.cat-tile .cat-meta .eyebrow{margin-bottom:8px;}

.markt-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center;}
.markt-list{list-style:none;margin:0;padding:0;display:grid;gap:2px;}
.markt-list li{display:flex;align-items:center;gap:22px;padding:20px 4px;border-top:1px solid var(--line);}
.markt-list li:last-child{border-bottom:1px solid var(--line);}
.md-date{display:flex;flex-direction:column;align-items:center;width:76px;flex:0 0 76px;line-height:1;}
.md-date b{font-family:var(--serif);font-size:34px;font-weight:500;color:var(--brass-deep);white-space:nowrap;}
.md-date.is-range b{font-size:22px;letter-spacing:0;}
.md-date small{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-top:3px;}
.md-info{font-size:15px;}
.md-info strong{font-weight:600;}

/* WooCommerce-Produktgrid auf der Startseite an Designkarten angleichen */
.home-products .woocommerce ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,48px);margin:0;}
.home-products .woocommerce ul.products li.product{width:auto;margin:0;float:none;}

/* ---- Native-Block-Anpassungen (Group/Image/Buttons in den Patterns) ---- */
/* Block-Gap in eigenen Grid-Containern neutralisieren – das Grid-gap übernimmt */
.grid > * + *,.hero-grid > * + *,.worlds-grid > * + *,.manifest-grid > * + *,
.cat-grid > * + *,.markt-grid > * + *,.values-row > * + *,.md-date > * + *{margin-block-start:0;}

/* Hero */
.hero-copy > * + *{margin-block-start:0;}
.hero-media .wp-block-image{margin:0;}
.hero-media .tag{position:absolute;left:16px;bottom:16px;margin:0;z-index:2;background:rgba(251,248,242,.92);}
.values-row p{margin:0;}

/* Welten */
.world > * + *{margin-block-start:22px;}
.world-media .wp-block-image{margin:0;width:100%;height:100%;}
.world-media .wp-block-image img{width:100%;height:100%;object-fit:cover;}
.world-media.on-dark .wp-block-image{width:62%;height:auto;}
.world-media.on-dark .wp-block-image img{height:auto;object-fit:contain;}
.world-body > * + *{margin-block-start:12px;}
.world-body .tag{align-self:flex-start;}

/* Manifest */
.manifest-media .wp-block-image{margin:0;}
.manifest-copy > * + *{margin-block-start:0;}
.manifest-copy .eyebrow{margin-bottom:18px;}

/* Kategorien */
.cat-tile > * + *{margin-block-start:18px;}
.cat-img .wp-block-image{margin:0;width:100%;height:100%;}
.cat-img .wp-block-image img{width:100%;height:100%;object-fit:cover;}
.cat-meta h3 a{color:var(--ink);}
.cat-meta .eyebrow{margin-bottom:8px;}

/* Buttons zentriert */
.center-buttons{margin-top:40px;}

/* On-Ink-Variante (Button auf dunklem Band) */
.wp-block-button.btn-line.on-ink .wp-block-button__link{background:transparent;border:1px solid rgba(244,239,230,.4);color:var(--paper);}
.wp-block-button.btn-line.on-ink .wp-block-button__link:hover{background:var(--paper);color:var(--ink);}

/* ---------- Seiten (page.html) ---------- */
.page-title{margin-bottom:clamp(28px,4vw,48px);}
.page-content-intro{margin-bottom:clamp(24px,3vw,40px);}
.about-cols{margin-top:clamp(28px,4vw,48px);}
.about-cols .eyebrow{margin-bottom:10px;}
.about-cols h3{margin-bottom:10px;}
.legal h2{font-size:clamp(20px,2.4vw,28px);margin:clamp(28px,3vw,40px) 0 12px;}
.legal h3{font-size:18px;margin:22px 0 8px;}

/* Fluent-Forms-Styling liegt doku-konform im Formular selbst (Settings → Custom CSS,
   gescoped auf form.fluent_form_1) — nicht hier im Theme. */

/* ---------- Kontakt (Vorlage) ---------- */
.kontakt-hero{padding-bottom:clamp(20px,3vw,36px);}
.kontakt-hero .eyebrow{margin-bottom:18px;}
.kontakt-hero h1{margin-bottom:16px;}
.kontakt-grid{display:grid;grid-template-columns:1.4fr .75fr;gap:clamp(32px,5vw,72px);align-items:start;}
.kontakt-grid > * + *{margin-block-start:0;}
.k-info{display:grid;gap:26px;padding-top:6px;}
.k-block h3{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass-deep);margin:0 0 10px;}
.k-block p{margin:0;line-height:1.7;color:var(--ink-2);}
.k-block a{color:var(--ink);border-bottom:1px solid var(--line);}
.k-block a:hover{border-color:var(--brass);}
.k-hours{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
.k-hours li{display:flex;justify-content:space-between;gap:16px;font-size:14px;color:var(--ink-2);}
.k-hours b,.k-hours strong{font-weight:500;color:var(--ink);}
.map-ph{height:clamp(220px,28vw,340px);background:repeating-linear-gradient(135deg,rgba(33,52,60,.04) 0 2px,transparent 2px 11px),var(--paper-deep);display:flex;align-items:center;justify-content:center;border-block:1px solid var(--line-soft);}
.map-inner{display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--ink-3);}
.map-pin{font-size:34px;color:var(--brass);}
.map-inner .tiny{letter-spacing:.14em;text-transform:uppercase;}
/* Live-Karte (OpenStreetMap) im selben Slot/Stil wie der Vorlagen-Platzhalter */
.map-ph.map-live{display:block;padding:0;position:relative;overflow:hidden;}
.map-ph.map-live iframe{width:100%;height:100%;border:0;display:block;}
.map-link{position:absolute;right:14px;bottom:14px;background:var(--paper);color:var(--ink);font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:8px 12px;border-radius:var(--radius);box-shadow:0 2px 10px rgba(33,52,60,.16);text-decoration:none;}
.map-link:hover{background:var(--ink);color:var(--paper);}
.kurse{padding-block:clamp(52px,7vw,96px);}
.kurse-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(32px,5vw,72px);align-items:center;}
.kurse-img{margin:0;border-radius:var(--radius);overflow:hidden;}
.kurse-img img{width:100%;height:clamp(300px,34vw,440px);object-fit:cover;}
.kurse .eyebrow{margin-bottom:16px;}
.kurse h2{margin-bottom:16px;}
.kurse-list{list-style:none;margin:24px 0 18px;padding:24px 0 0;border-top:1px solid var(--line);display:grid;gap:16px;}
.kurse-list li{display:flex;justify-content:space-between;gap:20px;align-items:baseline;flex-wrap:wrap;font-size:14px;color:var(--ink-2);}
.kurse-list b,.kurse-list strong{font-family:var(--serif);font-size:20px;font-weight:500;color:var(--ink);}
.kurse-list span{color:var(--ink-2);font-size:14px;}
@media (max-width:820px){.kontakt-grid,.kurse-grid{grid-template-columns:1fr;}}

/* ---------- Bild-Platzhalter (.ph) ---------- */
.ph{position:relative;width:100%;height:100%;display:flex;align-items:flex-end;background:repeating-linear-gradient(135deg, rgba(33,52,60,.04) 0 2px, transparent 2px 9px),var(--ph-bg, var(--paper-deep));}
.ph::before{content:"Bildplatz";position:absolute;top:14px;right:14px;font-family:var(--sans);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(33,52,60,.4);}
.ph .ph-label{font-family:var(--serif);font-style:italic;font-size:21px;color:rgba(33,52,60,.6);padding:18px 20px;line-height:1.15;margin:0;}
.ph.weave{--ph-bg:#cfd9cf;}
.ph.berry{--ph-bg:#e3cdd8;}
.ph.warm{--ph-bg:#e3d3bf;}

/* ---------- Über uns (Vorlage) ---------- */
.about-hero{padding-bottom:clamp(32px,4vw,52px);}
.about-hero .eyebrow{margin-bottom:22px;}
.about-hero .display{margin-bottom:26px;font-size:clamp(44px,7.5vw,92px);}
.about-banner{margin:0;}
.about-banner img{width:100%;height:clamp(280px,40vw,520px);object-fit:cover;display:block;}
.maker-block{padding-block:clamp(56px,7vw,104px);}
.maker-block.alt{background:var(--paper-soft);}
.maker-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,5vw,72px);align-items:center;}
.maker-grid > * + *{margin-block-start:0;}
.maker-grid.reverse .maker-media{order:2;}
.maker-media{border-radius:var(--radius);overflow:hidden;}
.maker-media .portrait{aspect-ratio:4/5;}
.maker-media.on-dark{background:#000;aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;}
.maker-media.on-dark img{width:82%;height:auto;object-fit:contain;}
.maker-media.on-weave{background:var(--paper-deep);aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;}
.maker-media.on-weave .tc-script,.maker-media.on-weave .tc-name{color:var(--paper);}
.maker-media.on-weave .tc-script{font-size:clamp(52px,7vw,92px);}
.maker-media.on-weave .tc-name{font-size:clamp(28px,4vw,46px);}
.maker-media .wp-block-image,.maker-media .wp-block-image img{margin:0;width:100%;height:100%;}
.maker-media.on-weave .wp-block-image{width:98%;height:auto;margin:0 auto;}
.maker-media.on-weave .wp-block-image img{width:100%;height:auto;object-fit:contain;}
.maker-copy > * + *{margin-block-start:0;}
.maker-copy .tag{margin-bottom:18px;}
.maker-copy h2{margin-bottom:20px;}
.maker-copy p{max-width:50ch;font-size:17px;line-height:1.7;margin:0 0 1em;}
.maker-copy .quote{font-family:var(--serif);font-style:italic;font-size:21px;line-height:1.5;color:var(--ink-2);margin:18px 0 22px;}
.philosophy{padding-block:clamp(56px,8vw,112px);}
.phil-head{margin-bottom:clamp(36px,5vw,64px);}
.phil-head .eyebrow{margin-bottom:16px;}
.phil-grid{gap:clamp(28px,4vw,56px);}
.phil-grid > * + *{margin-block-start:0;}
.phil-item{display:flex;flex-direction:column;gap:12px;}
.phil-item > * + *{margin-block-start:0;}
.phil-num{font-family:var(--serif);font-size:20px;color:var(--brass);letter-spacing:.1em;margin:0;}
.phil-item h3{color:var(--paper);}
.stoffladen{padding-block:clamp(56px,7vw,104px);}
.stoff-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center;}
.stoff-grid > * + *{margin-block-start:0;}
.stoff-media{margin:0;border-radius:var(--radius);overflow:hidden;}
.stoff-media .wp-block-image,.stoff-media img{margin:0;width:100%;height:clamp(300px,34vw,460px);object-fit:cover;}
.stoff-copy > * + *{margin-block-start:0;}
.stoff-copy .eyebrow{margin-bottom:16px;}
.stoff-copy h2{margin-bottom:18px;}
.stoff-cta{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:30px;}
@media (max-width:820px){
  .maker-grid,.stoff-grid{grid-template-columns:1fr;}
  .maker-grid.reverse .maker-media{order:-1;}
  .maker-media .portrait,.maker-media.on-dark{aspect-ratio:16/10;}
}

/* ---------- Galerie (natives core/gallery + Intro) ---------- */
.gal-intro{padding-bottom:clamp(20px,3vw,36px);}
.gal-intro .eyebrow{margin-bottom:18px;}
.gal-intro h1{margin-bottom:16px;}
.zf-galerie.wp-block-gallery img{border-radius:var(--radius);}

/* ---------- Markt (Vorlage) ---------- */
.markt-hero{padding-bottom:clamp(28px,4vw,52px);}
.markt-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,5vw,72px);align-items:center;}
.markt-hero-grid > * + *{margin-block-start:0;}
.markt-hero .eyebrow{margin-bottom:20px;}
.markt-hero .display{font-size:clamp(44px,7vw,86px);margin-bottom:24px;}
.markt-hero-img{margin:0;border-radius:var(--radius);overflow:hidden;}
.markt-hero-img .wp-block-image,.markt-hero-img img{margin:0;width:100%;height:clamp(320px,40vw,500px);object-fit:cover;}
.dates{list-style:none;margin:0;padding:0;}
.date-row{display:grid;grid-template-columns:132px 1fr auto auto;gap:clamp(20px,3vw,40px);align-items:center;padding:26px 6px;border-top:1px solid var(--line);transition:padding .25s ease,background .25s ease;}
.dates li:last-child a.date-row,.dates li:last-child .date-row{border-bottom:1px solid var(--line);}
a.date-row{color:inherit;text-decoration:none;}
.date-row:hover{padding-left:18px;background:linear-gradient(to right,rgba(176,137,79,.07),transparent 70%);}
.date-row > * + *{margin-block-start:0;}
.dr-date{display:flex;flex-direction:column;align-items:flex-start;line-height:.95;}
.dr-date b{font-family:var(--serif);font-feature-settings:"onum" 1,"liga" 1;font-size:46px;font-weight:500;color:var(--brass-deep);letter-spacing:.005em;white-space:nowrap;}
.dr-date.is-range b{font-size:30px;letter-spacing:0;}
.dr-date small{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);margin-top:9px;}
.dr-info{display:flex;flex-direction:column;gap:5px;min-width:0;}
.dr-info strong{font-family:var(--serif);font-size:clamp(22px,2.4vw,27px);font-weight:500;line-height:1.12;letter-spacing:.004em;}
.dr-place{font-size:14px;letter-spacing:.01em;color:var(--ink-2);}
.dr-flag{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--brass-deep);border:1px solid rgba(176,137,79,.4);padding:6px 12px;border-radius:var(--radius-pill);white-space:nowrap;}
.dr-arrow{font-size:20px;color:var(--ink-3);transition:transform .25s,color .25s;}
.date-row:hover .dr-arrow{transform:translateX(6px);color:var(--brass-deep);}
.dates-more{margin-top:26px;font-size:15px;color:var(--ink-2);}
.dates-more a{color:var(--ink);border-bottom:1px solid var(--brass);padding-bottom:1px;transition:color .2s;}
.dates-more a:hover{color:var(--brass-deep);}
.expect{padding-block:clamp(52px,7vw,96px);}
.expect-grid{gap:clamp(28px,4vw,56px);}
.expect-grid > * + *{margin-block-start:0;}
.expect-item > * + *{margin-block-start:0;}
.expect-item h3{color:var(--paper);margin:6px 0 10px;}
.expect-item .phil-num{font-size:30px;color:var(--brass);line-height:1;margin:0;}
.markt-stoff{padding-block:clamp(52px,7vw,96px);}
.markt-stoff .eyebrow{margin-bottom:16px;}
.markt-stoff h2{margin-bottom:16px;}
.stoff-img{margin:0;border-radius:var(--radius);overflow:hidden;}
.stoff-img .wp-block-image,.stoff-img img{margin:0;width:100%;height:clamp(300px,34vw,440px);object-fit:cover;}
.nl-band .center{max-width:560px;margin:0 auto;}

/* ---------- Shop / Produktarchiv (Vorlage) ---------- */
.shop-intro{padding-bottom:clamp(24px,3vw,40px);}
.shop-intro .eyebrow{margin-bottom:18px;}
.shop-intro h1{margin-bottom:18px;}
/* Marken-Archiv: Geschichte als lesbare Prosa */
.brand-intro .brand-intro-text{max-width:64ch;color:var(--ink-2);font-size:17px;line-height:1.75;}
.brand-intro .brand-intro-text p{margin:0 0 1em;}
.brand-intro .brand-intro-text p:last-child{margin-bottom:0;}
.brand-intro .brand-intro-text em{font-family:var(--serif);font-style:italic;font-size:1.1em;color:var(--ink);}
.filter-bar{position:sticky;top:75px;z-index:40;background:rgba(244,239,230,.92);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line-soft);}
.filter-row{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:14px;flex-wrap:wrap;}
.filter-row > * + *{margin-block-start:0;}
.filter-group{display:flex;gap:8px;flex-wrap:wrap;}
.filter-group > * + *{margin-block-start:0;}
.chip{margin:0;}
.chip a{display:inline-flex;align-items:center;gap:.5em;font-family:var(--sans);font-weight:500;font-size:13px;letter-spacing:.02em;padding:9px 16px;border-radius:var(--radius-pill);border:1px solid var(--line);background:transparent;color:var(--ink-2);transition:.2s;}
.chip a:hover{border-color:var(--ink);color:var(--ink);}
.chip.active a{background:var(--ink);border-color:var(--ink);color:var(--paper);}
.chip-weave a::before,.chip-berry a::before{content:"";width:7px;height:7px;border-radius:50%;display:inline-block;flex:0 0 auto;}
.chip-weave a::before{background:var(--weave);}
.chip-berry a::before{background:var(--berry);}
.chip-weave.active a{background:var(--weave);border-color:var(--weave);color:#fff;}
.chip-berry.active a{background:var(--berry);border-color:var(--berry);color:#fff;}
.cat-filter{justify-content:flex-end;}
.result-count{margin:0 0 22px;letter-spacing:.14em;text-transform:uppercase;}

/* Produktkarten (Product Collection, eigene Klassen) */
.zf-products .wp-block-post-template{gap:clamp(24px,3vw,44px) clamp(20px,2.4vw,36px);margin:0;}
.zf-products li.product,.zf-products .wp-block-post{display:flex;flex-direction:column;gap:4px;margin:0;}
.zf-product-media{margin:0 0 12px;border-radius:var(--radius);overflow:hidden;background:var(--paper-deep);aspect-ratio:4/5;}
.zf-product-media a,.zf-product-media img{display:block;width:100%;height:100%;object-fit:cover;}
.zf-product-media img{transition:transform .7s cubic-bezier(.2,.7,.2,1);}
.zf-products li.product:hover .zf-product-media img,.zf-products .wp-block-post:hover .zf-product-media img{transform:scale(1.045);}
.zf-maker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin:0;line-height:1.3;}
.zf-maker a{color:var(--ink-3);}
.zf-maker a:hover{color:var(--brass-deep);}
.zf-product-name{font-family:var(--serif);font-weight:500;font-size:22px;line-height:1.1;margin:2px 0 0;}
.zf-product-name a{color:var(--ink);}
.zf-product-price{font-size:15px;color:var(--ink-2);margin:0;}
.zf-product-price .woocommerce-Price-amount{color:var(--ink-2);}
/* "Passt dazu"-Grid (eigener Block, nur bei vorhandenen Related) */
a.zf-product-media{display:block;}
.zf-related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(24px,3vw,44px) clamp(20px,2.4vw,36px);}
@media (max-width:960px){.zf-related-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:560px){.zf-related-grid{grid-template-columns:repeat(2,1fr);}}

/* Mass & Auftrag — hell (wie Vorlage) */
.commission{border-top:1px solid var(--line);}
.commission-inner{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;}
.commission-inner > * + *{margin-block-start:0;}
.commission .eyebrow{margin-bottom:12px;}
.commission h2{margin-bottom:12px;}

/* ---------- Produkt-Detail (pdp, Vorlage) ---------- */
.crumbs{font-size:13px;color:var(--ink-3);margin-bottom:clamp(24px,3vw,40px);letter-spacing:.12em;text-transform:uppercase;}
.crumbs a{color:var(--ink-2);}
.crumbs a:hover{color:var(--brass-deep);}
.pdp-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,72px);align-items:start;}
.pdp-grid > * + *{margin-block-start:0;}
.pdp-gallery{position:sticky;top:96px;}
.pdp-main{aspect-ratio:4/5;overflow:hidden;border-radius:var(--radius);background:var(--paper-deep);}
.pdp-main img{width:100%;height:100%;object-fit:cover;display:block;}
.pdp-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px;}
.thumb{padding:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;aspect-ratio:1;background:var(--paper-deep);cursor:pointer;transition:.2s;}
.thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.thumb.active{border-color:var(--brass);box-shadow:0 0 0 2px rgba(176,137,79,.25);}
@media (max-width:820px){.pdp-gallery{position:static;}}

/* Checkout: sticky Bestellübersicht unter den fixen Header (74px) setzen — sonst
   klebt sie mit WooCommerce-Default top:24px hinter dem Header und wird oben abgeschnitten.
   .is-sticky erhöht die Spezifität über die WooCommerce-Regel. */
.wc-block-checkout__sidebar.is-sticky{top:96px;}
.pdp-info > * + *{margin-block-start:0;}
.pdp-maker{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin:0;}
.pdp-maker a{color:var(--ink-3);}
.pdp-name{font-family:var(--serif);font-size:clamp(34px,4.4vw,54px);font-weight:500;line-height:1.02;margin:8px 0 6px;}
.pdp-tagline{font-family:var(--serif);font-style:italic;font-size:21px;color:var(--ink-2);margin:0 0 20px;}
.pdp-price{font-size:26px;font-weight:500;font-family:var(--serif);margin:0 0 22px;color:var(--ink);}
.pdp-price .woocommerce-Price-amount{color:var(--ink);}
/* Kauf-Bereich: WooCommerce-Add-to-Cart ans Design (CSS-Styling lt. WC-Best-Practices) */
.pdp-buy{margin:0 0 30px;}
.woocommerce div.product form.cart .variations,.woocommerce div.product form.cart .variations tbody,.woocommerce div.product form.cart .variations tr,.woocommerce div.product form.cart .variations th,.woocommerce div.product form.cart .variations td{display:block;width:auto;padding:0;margin:0;border:0;text-align:left;}
.pdp-buy .variations th label,.pdp-buy .variations .label label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--ink-2);margin:0 0 7px;display:block;}
.woocommerce div.product form.cart .variations td select,.woocommerce div.product form.cart .variations .value select{background-color:var(--paper-card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 44px 14px 15px;font-family:var(--sans);font-size:16px;color:var(--ink);width:100%;max-width:300px;margin:0;min-width:0;background-position:calc(100% - 16px) 50%;}
.woocommerce div.product form.cart .variations td select:focus,.pdp-buy .variations td select:focus{outline:none;border-color:var(--brass);box-shadow:0 0 0 3px rgba(176,137,79,.16);}
/* «Zurücksetzen»-Link: eigene Zeile im Flow (per Hook nach der Variations-Tabelle gerendert).
   Standard display:none = kein Platz; WC-JS setzt bei Auswahl inline visibility:visible — daran
   koppeln wir display, so belegt der Link Platz NUR wenn sichtbar (keine Kollision mit pdp-meta-Linie). */
.pdp-buy .reset_variations{order:9;flex:0 0 100%;display:none;margin:2px 0 0;font-size:13px;color:var(--ink-3);text-decoration:none;}
.pdp-buy .reset_variations[style*="visible"]{display:inline-block;}
.pdp-buy .reset_variations:hover{color:var(--ink);}
.pdp-buy .quantity,.pdp-buy .wc-block-components-quantity-selector{display:none !important;}
.pdp-buy .woocommerce-variation-price,.pdp-buy .woocommerce-variation-description{display:none;}
/* Grösse-Select + Button nebeneinander (wie Vorlage) */
.woocommerce div.product .pdp-buy form.variations_form,.woocommerce div.product .pdp-buy form.cart{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;margin:0;}
.pdp-buy .variations{flex:0 0 180px;margin:0;position:relative;}
.pdp-buy .single_variation_wrap{flex:1 1 240px;min-width:0;margin:0;}
.pdp-buy .woocommerce-variation-add-to-cart{margin:0;}
.pdp-buy form.cart > .single_add_to_cart_button{flex:1 1 240px;}
.woocommerce div.product .pdp-buy .single_add_to_cart_button,.pdp-buy button.single_add_to_cart_button{display:block;text-align:center;width:100%;background:var(--ink);color:var(--paper);border:1px solid transparent;border-radius:var(--radius);font-family:var(--sans);font-weight:600;font-size:13px;line-height:1;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;padding:16px 24px;margin:0;cursor:pointer;transition:.25s;}
.woocommerce div.product .pdp-buy .single_add_to_cart_button:hover{background:#16252b;}

/* Tags (Welt + Unikat) */
.pdp-tags{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px;}
.unikat-tag{color:var(--brass-deep);border-color:rgba(176,137,79,.4);background:rgba(176,137,79,.08);}

/* Meta-Liste */
.pdp-meta{list-style:none;margin:0 0 18px;padding:24px 0 0;border-top:1px solid var(--line);display:grid;gap:14px;}
.pdp-meta li{display:flex;justify-content:space-between;gap:20px;font-size:15px;align-items:baseline;}
.pdp-meta li span{color:var(--ink-3);letter-spacing:.04em;}
.pdp-meta li b{font-weight:500;text-align:right;color:var(--ink);}
/* Hinweis-Box auf der Produktseite (_zf_notice) */
.pdp-notice{margin:0 0 22px;padding:14px 18px;background:var(--paper-deep);border-left:3px solid var(--brass);border-radius:var(--radius);}
.pdp-notice p{margin:0;font-size:14px;line-height:1.65;color:var(--ink-2);}
/* «Auf Bestellung gefertigt» (Backorder) – positiver Akzent statt Ausverkauft-Optik */
.woocommerce-variation-availability .made-to-order,p.stock.made-to-order,.stock.made-to-order{color:var(--brass-deep);font-weight:500;}


.pdp-desc{font-size:17px;line-height:1.7;color:var(--ink-2);max-width:50ch;margin:0 0 28px;}
.pdp-note{max-width:50ch;margin-top:18px;}
.pdp-related{background:var(--paper-soft);}
.pdp-related .h-lg{margin-bottom:clamp(28px,4vw,48px);}
@media (max-width:820px){
  .pdp-grid{grid-template-columns:1fr;}
  .filter-bar{top:75px;}
  .filter-row{flex-direction:column;align-items:flex-start;gap:12px;}
  .cat-filter{justify-content:flex-start;}
}

/* ---------- Responsive ---------- */
@media (max-width:960px){
  .footer-top{grid-template-columns:1fr 1fr;gap:36px;}
  .cols-4{grid-template-columns:repeat(3,1fr);}
  .home-products .woocommerce ul.products{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:820px){
  .cols-3{grid-template-columns:repeat(2,1fr);}
  .cols-2{grid-template-columns:1fr;}
  .hero-grid{grid-template-columns:1fr;}
  .hero-media{order:-1;}
  .hero-media img{height:clamp(300px,60vw,420px);}
  .manifest-grid,.markt-grid{grid-template-columns:1fr;}
  .sec-head.row{flex-direction:column;align-items:flex-start;}
}
@media (max-width:560px){
  .cols-4,.cols-3{grid-template-columns:repeat(2,1fr);}
  .footer-top{grid-template-columns:1fr;}
  .footer-bottom{flex-direction:column;align-items:flex-start;}
  .home-products .woocommerce ul.products{grid-template-columns:repeat(2,1fr);}
}

/* =========================================================================
   404 — Faden gerissen
   ========================================================================= */
.err{display:flex;align-items:center;justify-content:center;min-height:66vh;padding-block:clamp(56px,10vw,120px);background:radial-gradient(120% 90% at 50% 0%, var(--paper-soft) 0%, var(--paper) 60%);}
.err-inner{max-width:820px;margin-inline:auto;text-align:center;display:flex;flex-direction:column;align-items:center;}
.err .eyebrow{margin-bottom:26px;}
.thread{width:min(440px,80%);margin-bottom:clamp(20px,3vw,32px);}
.thread-svg{width:100%;height:auto;display:block;overflow:visible;}
.thread-svg path{stroke-dasharray:760;stroke-dashoffset:760;animation:thread-draw 1.5s cubic-bezier(.4,.6,.2,1) forwards;}
.thread-svg path:nth-child(2),.thread-svg path:nth-child(4){animation-delay:.9s;animation-duration:.5s;}
@keyframes thread-draw{to{stroke-dashoffset:0;}}
.err-title{font-family:var(--serif);font-weight:500;letter-spacing:-.005em;font-size:clamp(32px,4.4vw,52px);line-height:1.14;margin:0 0 28px;}
.err-title .serif-it{color:var(--brass-deep);font-style:italic;white-space:nowrap;}
.err-lead{margin:0 auto;max-width:46ch;}
.err-cta{display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap;margin-top:38px;}
.err-links{margin-top:clamp(40px,6vw,64px);padding-top:26px;border-top:1px solid var(--line-soft);width:100%;max-width:520px;}
.err-links-label{display:block;font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);margin-bottom:16px;}
.err-links-row{display:flex;align-items:center;justify-content:center;gap:10px 26px;flex-wrap:wrap;}
.err-links-row a{display:inline-flex;align-items:center;gap:.55em;font-family:var(--sans);font-weight:500;font-size:15px;color:var(--ink);border-bottom:1px solid transparent;padding-bottom:2px;transition:border-color .2s,color .2s;}
.err-links-row a:hover{border-color:var(--brass);color:var(--brass-deep);}
.err-links-row .dot{width:8px;height:8px;border-radius:50%;}
.err-links-row .dot.weave{background:var(--weave);}
.err-links-row .dot.berry{background:var(--berry);}
@media (prefers-reduced-motion:reduce){.thread-svg path{animation:none;stroke-dashoffset:0;}}
@media (max-width:560px){.err-cta{flex-direction:column;gap:18px;}.err-cta .btn{width:100%;}}

/* =========================================================================
   Mobile-Audit-Fixes (M2/M4/M5, S1/S2)
   ========================================================================= */
@media (max-width:820px){
  /* M2: Header-Icons >= 44x44px Tap-Fläche */
  .nav-tools .zf-search-trigger,
  .nav-tools .wc-block-mini-cart__button{
    min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:10px;
  }
  /* M5: Markt-Hero einspaltig, Bild zuerst */
  .markt-hero-grid{grid-template-columns:1fr;}
  .markt-hero-img{order:-1;}
  /* Markttermine: kompakter, Badge + Pfeil ausblenden */
  .date-row{grid-template-columns:96px 1fr;gap:16px;padding:22px 4px;}
  .dr-date b{font-size:38px;}
  .dr-date.is-range b{font-size:27px;}
  .dr-flag,.dr-arrow{display:none;}
}
@media (max-width:560px){
  body{font-size:16px;} /* M4 */
}
/* S1: keine schweren Add-to-Cart-Buttons im Archiv-Raster (Karte verlinkt auf PDP) */
.zf-products .wp-block-button,
.zf-products .wp-block-woocommerce-product-button,
.zf-products .wc-block-components-product-button,
.zf-products .add_to_cart_button{display:none;}
/* S2: Karten gleich hoch, Preis bündig am Fuss */
.zf-products li.product,.zf-products .wp-block-post{height:100%;display:flex;flex-direction:column;}
.zf-products .zf-product-name{min-height:2.4em;}
.zf-products .zf-product-price{margin-top:auto;}

/* ============================================================
   MARKENSEITEN  /marke/<slug>/  (Näherei = brand-berry, Weberei = brand-weave)
   Quelle: demo/naeherei.html + demo/weberei.html — block-editierbar via Seiten.
   ============================================================ */

/* --- Hero --- */
.maker-hero{padding-block:clamp(48px,6vw,96px) clamp(36px,4vw,64px);}
.maker-hero .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(36px,5vw,80px);align-items:center;}
.maker-hero .hero-copy .tag{margin-bottom:24px;}
.maker-hero .hero-title{font-size:clamp(46px,6.8vw,100px);margin-bottom:26px;}
.maker-hero .hero-copy .lead{max-width:46ch;}
.maker-hero .hero-cta{display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin-top:34px;}
.maker-hero .hero-media{margin:0;position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
.maker-hero .hero-media img{width:100%;aspect-ratio:4/5;height:auto;object-fit:cover;display:block;}
.maker-hero .hero-media.on-ink{background:var(--ink);display:flex;align-items:center;justify-content:center;}
.brand-berry .maker-hero .hero-media.on-ink{background:#000;}
.maker-hero .hero-media.on-ink img{width:72%;height:auto;aspect-ratio:auto;object-fit:contain;}
.maker-hero .hero-cap,.maker-hero .hero-media figcaption{position:absolute;left:0;right:0;bottom:0;margin:0;padding:34px 20px 16px;font-family:var(--sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--paper);background:linear-gradient(transparent,rgba(33,52,60,.6));}

/* --- gewobener Streifen --- */
.weave-strip{height:14px;background:url('/wp-content/uploads/2026/06/weave-teal-strip.jpg') center/cover;}

/* --- Timeline --- */
.journey{padding-block:clamp(56px,7vw,112px);}
.journey.alt{background:var(--paper-soft);}
.journey-head{max-width:34ch;margin-bottom:clamp(40px,5vw,72px);}
.journey-head .eyebrow{margin-bottom:18px;}
.timeline{list-style:none;margin:0 auto 0 0;padding:0;max-width:760px;}
.tl-item{display:grid;grid-template-columns:140px 1fr;gap:clamp(20px,4vw,56px);padding:clamp(24px,3.2vw,38px) 0;border-top:1px solid var(--line);}
.tl-item:last-child{border-bottom:1px solid var(--line);}
.tl-year{font-family:var(--serif);font-size:clamp(30px,3.6vw,48px);font-weight:500;line-height:1;letter-spacing:.01em;margin:0;}
.tl-body h3{margin:0 0 10px;}
.tl-body p{max-width:54ch;margin:0;font-size:16.5px;line-height:1.7;}
.brand-berry .tl-year{color:var(--berry);}
.brand-weave .tl-year{color:var(--weave);}

/* --- Pull-Quote --- */
.quote-band{background:var(--ink);color:var(--paper);padding-block:clamp(64px,8vw,120px);}
.quote-band .wrap{max-width:980px;text-align:center;}
.pullquote{font-family:var(--serif);font-weight:400;font-size:clamp(28px,4.4vw,56px);line-height:1.16;color:var(--paper);margin:0 auto;max-width:20ch;}
.pullquote em{font-style:italic;}
.brand-berry .pullquote em{color:var(--berry-soft);}
.brand-weave .pullquote em{color:var(--brass);}
.pullquote-by{margin:30px auto 0;max-width:56ch;color:rgba(244,239,230,.66);font-size:clamp(16px,1.5vw,19px);line-height:1.6;}

/* --- Werte --- */
.values{padding-block:clamp(56px,7vw,108px);}
.values-head{max-width:30ch;margin-bottom:clamp(36px,5vw,64px);}
.values-head .eyebrow{margin-bottom:16px;}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,56px);}
@media (max-width:760px){.values-grid{grid-template-columns:1fr;}}
.value-item{display:flex;flex-direction:column;gap:12px;padding-top:22px;border-top:2px solid var(--berry);}
.value-item h3{margin:0;}
.value-num{font-family:var(--serif);font-size:20px;color:var(--berry);letter-spacing:.1em;}

/* --- Unikat --- */
.unikat{padding-block:clamp(56px,7vw,108px);}
.unikat.alt{background:var(--paper-soft);}
.unikat-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,76px);align-items:center;}
.unikat-media{margin:0;border-radius:var(--radius);overflow:hidden;}
.unikat-media img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;}
.unikat-copy .eyebrow{margin-bottom:18px;}
.unikat-copy h2{margin:0 0 22px;max-width:18ch;}
.unikat-copy p:not(.signature){max-width:52ch;font-size:17px;line-height:1.75;}
.unikat-copy .muted{font-size:16px;}
.signoff{margin-top:30px;}
.signature{font-family:'Allura',cursive;font-size:clamp(40px,5vw,62px);line-height:1;display:inline-block;}
.brand-weave .signature{color:var(--weave);}
.brand-berry .signature{color:var(--berry);}

/* --- Stücke --- */
.stuecke-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(28px,3.4vw,48px);}
.stuecke-head .eyebrow{margin-bottom:14px;}
.stuecke-head h2{margin:0;}

@media (max-width:880px){
  .maker-hero .hero-grid,.unikat-grid{grid-template-columns:1fr;}
  .maker-hero .hero-media{order:-1;}
  .maker-hero .hero-media.on-ink{aspect-ratio:16/10;}
  .unikat-grid .unikat-media{order:-1;}   /* Bild zuoberst auf Mobile (beide Marken) */
  .unikat-media img{aspect-ratio:16/11;}
  .tl-item{grid-template-columns:78px 1fr;gap:18px;}
}

/* Markenseiten: Core-Block-Gap in eigenen Grid-/Flex-Containern neutralisieren
   (sonst bekommen Spalte 2/3 bzw. Folge-Elemente einen Top-Margin -> Versatz). */
.values-grid > * + *,.unikat-grid > * + *,.tl-item > * + *,.stuecke-head > * + *,.maker-hero .hero-cta > * + *{margin-block-start:0;}

/* ===================== SUCHE — Ergebnisseite (templates/search.html) ===================== */
.search-hero{padding-bottom:clamp(20px,3vw,34px);}
.search-hero .eyebrow{margin-bottom:18px;}
.search-hero .search-title{margin-bottom:26px;max-width:24ch;}

/* Natives core/search-Feld (button-inside) in Marken-Optik */
.zf-pagesearch .wp-block-search__inside-wrapper{
	display:flex;align-items:center;gap:10px;
	background:var(--paper-card);border:1px solid var(--line);
	border-radius:var(--radius);padding:8px 8px 8px 20px;
	max-width:680px;transition:border .2s,box-shadow .2s;
}
.zf-pagesearch .wp-block-search__inside-wrapper:focus-within{border-color:var(--brass);box-shadow:0 0 0 3px rgba(176,137,79,.16);}
.zf-pagesearch .wp-block-search__input{
	flex:1;min-width:0;border:0;background:none;margin:0;
	font-family:var(--serif);font-weight:500;
	font-size:clamp(20px,2.4vw,28px);line-height:1.2;color:var(--ink);padding-block:8px;
}
.zf-pagesearch .wp-block-search__input::placeholder{color:var(--ink-3);font-style:italic;}
.zf-pagesearch .wp-block-search__input:focus{outline:none;}
.zf-pagesearch .wp-block-search__button{
	flex:none;margin:0;font-family:var(--sans);font-weight:600;font-size:13px;
	letter-spacing:.1em;text-transform:uppercase;padding:12px 22px;border:0;
	border-radius:var(--radius-pill);background:var(--ink);color:var(--paper);cursor:pointer;transition:.2s;
}
.zf-pagesearch .wp-block-search__button:hover{background:var(--brass-deep);}

/* Treffer-Bereiche & Leerzustand-Steuerung (body-Klassen via mu-plugin zwei-faden-suche) */
.search-empty-state{display:none;max-width:620px;padding-block:clamp(8px,2vw,18px);}
body.zf-search-empty .search-empty-state{display:block;}   /* nur wenn gar keine Treffer */
body.zf-search-empty .search-section{display:none;}        /* dann Treffer-Bereiche aus */
body.zf-search-hits .search-empty-state{display:none;}

.search-section + .search-section{margin-top:clamp(36px,5vw,64px);}
.search-section-title{font-family:var(--serif);font-weight:500;font-size:clamp(20px,2.2vw,26px);
	color:var(--ink);margin:0 0 22px;padding-bottom:12px;border-bottom:1px solid var(--line-soft);}
.search-section-empty{margin:0;}
.search-shop .zf-products{margin-top:0;}

/* Content-Treffer (Seiten): Titel + Auszug als Liste */
.zf-content-results{display:flex;flex-direction:column;gap:clamp(18px,2.4vw,28px);}
.content-hit{padding-bottom:clamp(18px,2.4vw,28px);border-bottom:1px solid var(--line-soft);}
.content-hit:last-child{border-bottom:0;padding-bottom:0;}
.content-hit-title{font-family:var(--serif);font-weight:500;font-size:clamp(19px,2vw,24px);line-height:1.25;margin:0 0 8px;}
.content-hit-title a{color:var(--ink);text-decoration:none;background:linear-gradient(var(--brass),var(--brass)) left bottom / 0 1px no-repeat;transition:background-size .3s;}
.content-hit-title a:hover{background-size:100% 1px;color:var(--brass-deep);}
.content-hit-excerpt{margin:0;color:var(--ink-2);max-width:64ch;}
.content-hit-excerpt a{color:var(--brass-deep);}

/* Leerzustand-Innenleben */
.search-empty-state .thread{width:min(360px,70%);margin-bottom:24px;}
.search-empty-state .thread svg{width:100%;height:auto;display:block;overflow:visible;}
.search-empty-state h2{margin-bottom:14px;}
.search-empty-state .lead{margin-bottom:0;}
.empty-cta{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:32px;}

@media (max-width:820px){
	.zf-pagesearch .wp-block-search__inside-wrapper{flex-wrap:wrap;padding:14px 16px;}
	.zf-pagesearch .wp-block-search__button{width:100%;}
}
@media (max-width:560px){
	.empty-cta{flex-direction:column;align-items:flex-start;gap:18px;}
	.empty-cta .wp-block-buttons,.empty-cta .btn-solid{width:100%;}
}

/* Welt-Badge auf Produktkarten (Shop-Grid + Suche): Overlay übers Bild */
.zf-products li.product,.zf-products .wp-block-post,.zf-products .wc-block-product{position:relative;}
.zf-card-world{position:absolute;top:12px;left:12px;z-index:2;margin:0;
	background:rgba(251,248,242,.92);backdrop-filter:saturate(140%) blur(2px);}

/* ===================== WARENKORB (page-cart.html — nativer WC-Cart-Block, Demo-Optik) ===================== */
.cart-page{padding-top:clamp(28px,4vw,52px);}
.cart-head{margin-bottom:clamp(28px,4vw,48px);}
.cart-head .eyebrow{margin-bottom:14px;}

/* Layout: Items (breit) links, Summary rechts */
.cart-page .wc-block-cart{gap:clamp(32px,5vw,64px);}
.cart-page .wc-block-cart__main{flex:1.5 1 0;}
.cart-page .wc-block-cart__sidebar{flex:.85 1 0;}

/* Tabellen-Header der Items ausblenden (Demo zeigt keinen) */
.cart-page .wc-block-cart-items__header{display:none;}

/* Line-Items im .ci-Stil */
.cart-page .wc-block-cart-items__row{border-top:1px solid var(--line);padding:22px 0;}
.cart-page .wc-block-cart-item__image{width:96px;}
.cart-page .wc-block-cart-item__image img{aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius);background:var(--paper-deep);}
.cart-page .wc-block-components-product-name{font-family:var(--serif);font-size:clamp(19px,2vw,23px);font-weight:500;color:var(--ink);text-decoration:none;}
.cart-page .wc-block-components-product-name:hover{color:var(--brass-deep);}
.cart-page .wc-block-components-product-metadata{font-size:13px;color:var(--ink-2);}
.cart-page .wc-block-cart-item__total .wc-block-components-product-price__value{font-family:var(--serif);font-size:20px;font-weight:500;color:var(--ink);}

/* Mengensteuerung als Pille */
.cart-page .wc-block-components-quantity-selector{border:1px solid var(--line);border-radius:var(--radius-pill);max-width:108px;}
.cart-page .wc-block-components-quantity-selector__button:hover{color:var(--brass-deep);}

/* Remove-Link dezent */
.cart-page .wc-block-cart-item__remove-link{color:var(--ink-3);font-size:12px;letter-spacing:.04em;}
.cart-page .wc-block-cart-item__remove-link:hover{color:var(--berry);}

/* Summary als Karte (sticky) */
.cart-page .wc-block-cart__sidebar > .is-large,
.cart-page .wc-block-cart__sidebar .wc-block-components-sidebar{background:var(--paper-card);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(20px,2.4vw,28px);}
.cart-page .wc-block-cart__totals-title{font-family:var(--serif);font-size:24px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--ink);}
.cart-page .wc-block-components-totals-item{color:var(--ink-2);}
.cart-page .wc-block-components-totals-footer-item{font-family:var(--serif);font-size:22px;color:var(--ink);}
.cart-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-weight:500;}

/* «Zur Kasse»-Button im Marken-Stil */
.cart-page .wc-block-cart__submit-button{background:var(--ink);color:var(--paper);border-radius:var(--radius-pill);
	font-family:var(--sans);font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:13px;padding:16px 24px;transition:.2s;}
.cart-page .wc-block-cart__submit-button:hover{background:var(--brass-deep);}

/* Leerzustand */
.cart-page .wc-block-cart__empty-cart__title{font-family:var(--serif);font-weight:500;color:var(--ink);}
/* tessanda carolina Logo als Marken-Hero (Pendant zur Foto-Hero) */
.hero-media.brand-logo{background:var(--paper-deep);}
.hero-media.brand-logo img{height:clamp(300px,40vw,460px);object-fit:contain;}
