/* ═══════════════════════════════════════════════════════════════════
   LIVE-KATALOG (23.09.2026) — woocommerce/archive-product.php
   Die Kollektion als durchblätterbarer Katalog: große Szenen,
   benannte Teile mit Artikelnummer und ab-Preis, Register am Ende.
   Kein Shop-Grid. Max: „wie ein live katalog zum durchscrollen".
   ═══════════════════════════════════════════════════════════════════ */

/* ── Seitenzähler (fix rechts, wie eine Katalog-Paginierung) ── */
.kat-pager{position:fixed;right:clamp(.9rem,2vw,2rem);top:50%;transform:translateY(-50%);z-index:40;display:flex;flex-direction:column;align-items:center;gap:.5rem;font-family:var(--font-display);font-variant-numeric:tabular-nums;pointer-events:none}
.kat-pager__now{font-size:1.05rem;font-weight:700;color:var(--primary)}
.kat-pager__line{width:1px;height:44px;background:var(--border)}
.kat-pager__total{font-size:.78rem;color:var(--text-light)}
.kat-pager.on-dark .kat-pager__now{color:#fff}
.kat-pager.on-dark .kat-pager__line{background:rgba(255,255,255,.35)}
.kat-pager.on-dark .kat-pager__total{color:rgba(255,255,255,.6)}
@media (max-width:760px){.kat-pager{display:none}}

/* ── Szenen ── */
.kat-scene{position:relative}
.kat-scene--voll{min-height:94svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--primary)}
.kat-scene--voll .kat-scene__media{position:absolute;inset:0}
.kat-scene--voll .kat-scene__media img{width:100%;height:100%;object-fit:cover;object-position:center 10%;transform:scale(1.06);transition:transform 2.2s cubic-bezier(.2,.65,.25,1)}
.kat-scene--voll.motion-seen .kat-scene__media img,
html:not(.motion-ok) .kat-scene--voll .kat-scene__media img{transform:scale(1)}
.kat-scene--voll::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,13,15,.18) 0%,rgba(13,13,15,0) 35%,rgba(13,13,15,.78) 100%);pointer-events:none}
.kat-scene--voll .kat-scene__inner{position:relative;z-index:2;width:100%;padding-bottom:clamp(2rem,4vw,3.5rem)}

.kat-scene--split{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:stretch;background:var(--bg)}
.kat-scene--split.kat-scene--rechts{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.kat-scene--split .kat-scene__media{position:relative;overflow:hidden;min-height:70svh;background:var(--bg-grey)}
.kat-scene--split.kat-scene--rechts .kat-scene__media{order:2}
.kat-scene--split .kat-scene__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 12%;transform:scale(1.05);transition:transform 2s cubic-bezier(.2,.65,.25,1)}
.kat-scene--split.motion-seen .kat-scene__media img,
html:not(.motion-ok) .kat-scene--split .kat-scene__media img{transform:scale(1)}
.kat-scene--split .kat-scene__inner{display:flex;flex-direction:column;justify-content:center;gap:1.1rem;padding:clamp(3rem,5vw,5rem) clamp(1.5rem,4vw,4rem)}

.kat-kicker{font-size:.72rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--accent)}
.kat-scene--voll .kat-kicker{color:var(--haus-gold,#C9A96A)}
.kat-scene__titel{font-family:var(--font-h);font-weight:700;letter-spacing:-.03em;line-height:1.04;font-size:clamp(1.9rem,3.6vw,3.2rem);color:var(--primary)}
.kat-scene--voll .kat-scene__titel{color:#fff}
.kat-scene__text{font-size:.95rem;line-height:1.7;color:var(--text-light);max-width:480px}
.kat-scene--voll .kat-scene__text{color:rgba(255,255,255,.78)}

/* ── Teile-Legende (die „Bildunterschrift" des Katalogs) ── */
.kat-teile{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.1rem}
.kat-scene--split .kat-teile{flex-direction:column;gap:.55rem;margin-top:.6rem}
.kat-teil{display:inline-flex;align-items:baseline;gap:.65rem;background:rgba(250,250,247,.94);border:1px solid var(--border);padding:.6rem .85rem;transition:border-color .25s,transform .25s;max-width:100%}
.kat-teil:hover{border-color:var(--primary);transform:translateY(-2px)}
.kat-scene--split .kat-teil{background:#fff;align-self:flex-start}
.kat-teil__no{font-family:var(--font-display);font-size:.7rem;font-weight:700;color:var(--accent);letter-spacing:.06em}
.kat-teil__name{font-family:var(--font-display);font-size:.9rem;font-weight:600;color:var(--primary);white-space:nowrap}
.kat-teil__meta{font-size:.74rem;color:var(--text-light);white-space:nowrap}
.kat-teil__preis{font-family:var(--font-display);font-size:.9rem;font-weight:700;color:var(--primary);font-variant-numeric:tabular-nums;white-space:nowrap}

/* ── Katalog-Hero ── */
.kat-hero{min-height:100svh;display:flex;align-items:flex-end;position:relative;overflow:hidden;background:var(--primary)}
.kat-hero__media{position:absolute;inset:0}
.kat-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.kat-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,13,15,.3) 0%,rgba(13,13,15,.05) 40%,rgba(13,13,15,.82) 100%)}
.kat-hero__inner{position:relative;z-index:2;width:100%;padding-bottom:clamp(2.5rem,5vw,4.5rem)}
.kat-hero__inner .kat-kicker{color:var(--haus-gold,#C9A96A)}
.kat-hero__titel{font-family:var(--font-h);font-weight:700;letter-spacing:-.04em;line-height:1;font-size:clamp(2.6rem,6vw,5.5rem);color:#fff;margin:.9rem 0 1rem}
.kat-hero__sub{font-size:clamp(.95rem,1.2vw,1.1rem);line-height:1.65;color:rgba(255,255,255,.8);max-width:560px}
.kat-hero__meta{display:flex;flex-wrap:wrap;gap:1.6rem;margin-top:1.5rem;font-size:.78rem;letter-spacing:.05em;color:rgba(255,255,255,.6)}
.kat-hero__scroll{position:absolute;right:clamp(1.25rem,3vw,3rem);bottom:2.4rem;z-index:2;writing-mode:vertical-rl;font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.6);display:flex;align-items:center;gap:.7rem}
.kat-hero__scroll::after{content:'';width:1px;height:44px;background:linear-gradient(180deg,var(--haus-gold,#C9A96A),transparent);animation:kat-drip 2.2s ease-in-out infinite}
@keyframes kat-drip{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ── Farbkapitel (Zwischenband) ── */
.kat-band{background:var(--primary);color:#fff;padding-block:clamp(3.5rem,6vw,6rem)}
.kat-band .kat-kicker{color:var(--haus-gold,#C9A96A)}
.kat-band__titel{font-family:var(--font-h);font-weight:700;letter-spacing:-.03em;font-size:clamp(1.8rem,3.4vw,3rem);color:#fff;margin:.8rem 0 .6rem}
.kat-band__text{color:rgba(255,255,255,.72);font-size:.95rem;line-height:1.7;max-width:620px}
.kat-band__farben{display:flex;gap:1.4rem;margin-top:1.6rem;flex-wrap:wrap}
.kat-band__farbe{display:flex;align-items:center;gap:.6rem;font-size:.8rem;color:rgba(255,255,255,.75)}
.kat-band__farbe span{width:26px;height:26px;border-radius:50%;border:1px solid rgba(255,255,255,.35);display:inline-block}
.kat-band .btn-primary{background:#fff;border-color:#fff;color:var(--primary)}
.kat-band .btn-primary:hover{background:var(--haus-gold,#C9A96A);border-color:var(--haus-gold,#C9A96A);color:var(--primary)}
.kat-band .btn-outline{color:#fff;border-color:rgba(255,255,255,.4)}
.kat-band .btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.08);color:#fff}

/* ── Register (Katalog-Rückseite) ── */
.kat-register{padding-block:clamp(4.5rem,8vw,7.5rem)}
.kat-register .preis-liste__typ{overflow:visible;white-space:normal}
.kat-register__hinweis{margin-top:2rem;font-size:.8rem;color:var(--text-light);line-height:1.6}

@media (max-width:900px){
  .kat-scene--split,.kat-scene--split.kat-scene--rechts{grid-template-columns:1fr}
  .kat-scene--split.kat-scene--rechts .kat-scene__media{order:0}
  .kat-scene--split .kat-scene__media{min-height:56svh}
  .kat-teil__meta{white-space:normal}
}

/* ═══════════ DAS BUCH — Sticky-Stacking: Seiten schieben sich übereinander ═══════════ */
.kat-buch{position:relative}
.kat-blatt{position:sticky;top:0;height:100svh;overflow:hidden;box-shadow:0 -34px 70px -30px rgba(0,0,0,.45)}
.kat-blatt--voll{background:var(--primary)}
.kat-blatt--voll .kat-blatt__media{position:absolute;inset:0}
.kat-blatt--voll .kat-blatt__media img{width:100%;height:100%;object-fit:cover;object-position:center 10%;transform:scale(1.06);transition:transform 2.2s cubic-bezier(.2,.65,.25,1)}
.kat-blatt.motion-seen .kat-blatt__media img,html:not(.motion-ok) .kat-blatt__media img{transform:scale(1)}
.kat-blatt--voll::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,13,15,.22) 0%,rgba(13,13,15,0) 40%,rgba(13,13,15,.45) 100%);pointer-events:none}

/* Caption-Karte wie eine gedruckte Bildlegende */
.kat-caption{position:absolute;left:clamp(1rem,3.5vw,3.5rem);bottom:clamp(1rem,3.5vw,3rem);z-index:3;background:rgba(250,250,247,.97);padding:clamp(1.1rem,2vw,1.75rem) clamp(1.2rem,2.2vw,2rem);max-width:min(620px,calc(100vw - 2rem));box-shadow:0 30px 70px -30px rgba(0,0,0,.5)}
.kat-caption .kat-kicker{color:var(--accent)}
.kat-caption__titel{font-family:var(--font-h);font-weight:700;letter-spacing:-.025em;line-height:1.05;font-size:clamp(1.4rem,2.4vw,2.1rem);color:var(--primary);margin:.4rem 0 .75rem}

/* Spread: halbe Seite Bild, halbe Seite Papier */
.kat-blatt--spread{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--bg)}
.kat-blatt--spread .kat-blatt__media{position:relative;overflow:hidden;background:var(--bg-grey)}
.kat-blatt--spread .kat-blatt__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 12%;transform:scale(1.05);transition:transform 2s cubic-bezier(.2,.65,.25,1)}
.kat-blatt--spread.kat-blatt--rechts .kat-blatt__media{order:2}
.kat-blatt__papier{position:relative;display:flex;flex-direction:column;justify-content:center;gap:1rem;padding:clamp(2.5rem,4.5vw,5rem);background:var(--bg)}
.kat-folio{position:absolute;top:clamp(1.2rem,3vw,2.6rem);right:clamp(1.4rem,3vw,3rem);font-family:var(--font-display);font-size:clamp(4.5rem,8vw,8rem);font-weight:200;line-height:1;color:var(--border);letter-spacing:-.04em;user-select:none}
.kat-blatt__papier .kat-scene__titel{font-size:clamp(1.8rem,3vw,2.8rem)}

/* Legende mit Punktlinien — wie im gedruckten Katalog */
.kat-legende{display:flex;flex-direction:column;margin-top:.5rem}
.kat-zeile{display:flex;align-items:baseline;gap:.7rem;padding:.62rem 0;border-bottom:1px solid var(--border);transition:background .2s,padding-left .2s}
.kat-zeile:hover{background:rgba(13,13,15,.035);padding-left:.4rem}
.kat-zeile__no{font-family:var(--font-display);font-size:.68rem;font-weight:700;color:var(--accent);letter-spacing:.06em}
.kat-zeile__name{font-family:var(--font-display);font-size:.95rem;font-weight:600;color:var(--primary);white-space:nowrap}
.kat-zeile__name em{font-style:normal;font-weight:400;font-size:.8rem;color:var(--text-light)}
.kat-zeile__fill{flex-grow:1;border-bottom:1px dotted var(--border);transform:translateY(-4px);min-width:1.5rem}
.kat-zeile__art{font-size:.72rem;color:var(--text-light);white-space:nowrap;font-variant-numeric:tabular-nums}
.kat-zeile__preis{font-family:var(--font-display);font-size:.95rem;font-weight:700;color:var(--primary);font-variant-numeric:tabular-nums;white-space:nowrap}
.kat-caption .kat-zeile{padding:.5rem 0}

/* Cover */
.kat-cover__imprint{position:absolute;top:clamp(5.5rem,10vh,7rem);left:0;right:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding-inline:clamp(1.25rem,3.5vw,3.5rem);color:rgba(255,255,255,.85);font-size:.72rem;letter-spacing:.28em;text-transform:uppercase}

/* Nach dem Buch: normale Flusssektionen wieder über den letzten Sticky-Seiten */
.kat-nachspann{position:relative;z-index:60;box-shadow:0 -34px 70px -30px rgba(0,0,0,.45)}

/* Schmale Desktop-/Panel-Breiten (bis 900px): Buch bleibt AKTIV, nur kompakter */
@media (max-width:900px){
  .kat-zeile__art{display:none}
  .kat-zeile__name em{display:none}
  .kat-folio{font-size:3.2rem;right:1rem;top:.9rem}
  .kat-blatt__papier{padding:clamp(1.5rem,3.5vw,2.5rem)}
  .kat-caption{max-width:min(480px,calc(100vw - 2rem))}
}

/* Telefone (bis 760px): Sticky-Stacking aus, normale Scroll-Seiten */
@media (max-width:760px){
  .kat-blatt{position:relative;height:auto;min-height:100svh}
  .kat-blatt--spread{grid-template-columns:minmax(0,1fr);min-height:auto}
  .kat-blatt--spread .kat-blatt__media{min-height:56svh;order:0}
  .kat-blatt--spread.kat-blatt--rechts .kat-blatt__media{order:0}
  .kat-caption{position:relative;left:0;bottom:0;max-width:none;margin:-3.5rem 1rem 1.25rem;box-shadow:0 18px 40px -20px rgba(0,0,0,.4)}
  .kat-blatt--voll{height:auto;min-height:0;background:var(--bg)}
  .kat-blatt--voll .kat-blatt__media{position:relative;height:62svh}
  .kat-blatt--voll::after{display:none}
  /* Cover (kat-hero) ist die Ausnahme: Bild bleibt vollflächig HINTER dem
     Text (sonst zerreißt der Flex-Hero in zwei schmale Spalten) — Bugfix 26.09. */
  .kat-blatt--voll.kat-hero{min-height:100svh;background:var(--primary)}
  .kat-blatt--voll.kat-hero .kat-blatt__media{position:absolute;inset:0;height:auto}
  .kat-blatt--voll.kat-hero::after{display:block}
}
/* Cover behält den kräftigen Hero-Verlauf (Blatt-Verlauf ist zu hell für Text) */
.kat-blatt.kat-hero::after{background:linear-gradient(180deg,rgba(13,13,15,.3) 0%,rgba(13,13,15,.05) 40%,rgba(13,13,15,.82) 100%)}
/* Info-Zeilen (Richtpreise ohne Link) */
.kat-zeile--info{cursor:default}
.kat-blatt--blank::after{display:none}
.kat-zeile--info:hover{background:transparent;padding-left:0}

/* =============================================
   ANFRAGELISTE (Katalog-Modus): Plus-Knöpfe an
   den Artikel-Zeilen + schwebender Zähler-Chip.
   ============================================= */
.kat-zeile-wrap{display:flex;align-items:center;gap:.55rem}
.kat-zeile-wrap .kat-zeile{flex:1;min-width:0}
.kat-plus{flex:0 0 auto;width:24px;height:24px;border-radius:50%;border:1px solid currentColor;background:transparent;color:inherit;font-size:.95rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background .15s,color .15s,transform .15s}
.kat-plus:hover{transform:scale(1.12)}
.kat-plus.ist-drin{background:var(--primary,#141416);border-color:var(--primary,#141416);color:#fff}
.kat-caption .kat-plus,.kat-blatt__papier .kat-plus{color:var(--primary,#141416)}
.kat-register .preis-liste li{display:flex;align-items:center;gap:.5rem}
.kat-register .preis-liste a{flex:1;min-width:0}
/* Mini-Produktbilder im Register (Max, 25.09.): erleichtern die Auswahl.
   Die Produktfotos sind Ganzkörper-Shots — ohne Zoom bliebe der Artikel
   unerkennbar. Deshalb Wrapper mit overflow:hidden und Scale auf den
   relevanten Bereich: Oberteile zeigen den Torso, --unten die Beinpartie. */
.kat-register .preis-liste a{grid-template-columns:auto minmax(0,auto) minmax(0,1fr) auto;align-items:center}
.preis-liste__bild{width:48px;height:62px;overflow:hidden;position:relative;background:var(--bg-grey);border:1px solid var(--border);display:block;flex-shrink:0}
.preis-liste__bild img{width:100%;height:100%;object-fit:cover;object-position:50% 16%;transform:scale(1.9);transform-origin:50% 20%;display:block}
.preis-liste__bild--unten img{object-position:50% 70%;transform:scale(1.7);transform-origin:50% 72%}
@media (max-width:640px){
  .preis-liste__bild{width:40px;height:52px}
  /* Basis-CSS reduziert mobil auf 2 Spalten — mit Bild sind es 3 */
  .kat-register .preis-liste a{grid-template-columns:auto minmax(0,1fr) auto}
}

.anfrage-chip{position:fixed;right:1.25rem;bottom:1.25rem;z-index:90;display:none;align-items:center;gap:.55rem;background:var(--primary,#141416);color:#fff;padding:.75rem 1.15rem;border-radius:999px;font-size:.85rem;font-weight:600;letter-spacing:.04em;box-shadow:0 8px 28px rgba(0,0,0,.28);transition:transform .15s}
.anfrage-chip:hover{transform:translateY(-2px);color:#fff}
.anfrage-chip.zeig{display:inline-flex}
.anfrage-chip__zahl{background:#fff;color:var(--primary,#141416);border-radius:50%;width:1.45rem;height:1.45rem;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem}
