/* fd-bau: universal-serie v1 */
/* Universal-Clip Serienseite stoffe-gigi: Stil */
.la7{--soft:#f7f2ea;--line:#e9e3d8;--ink:#2a2722;--muted:#7a7367;--acc:#a96544;
 --accd:#87502f;--paper:#fffdf9;--gruen:#22493a;--bronze:#8a7550;
 font-family:"Noto Sans","Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);line-height:1.62;font-size:17px;
 max-width:1300px;margin:0 auto;padding:0 1rem 2rem;box-sizing:border-box;
 -webkit-font-smoothing:antialiased}
.la7 *{box-sizing:border-box}
.la7 p{margin:0 0 .9rem}
.la7 a{color:inherit}
.la7 h1,.la7 h2,.la7 h3{font-family:"Noto Sans","Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-weight:900;letter-spacing:-.035em;
 text-transform:none;color:var(--ink);margin:0}
.la7 h1{font-size:clamp(1.9rem,4.2vw,3rem);line-height:1.04}
.la7 h2{font-size:clamp(1.4rem,2.9vw,2.1rem);line-height:1.1}
.la7 h3{font-size:1.06rem;font-weight:800;letter-spacing:-.02em}
.la7 .kicker{font:600 .78rem/1.3 "Noto Sans","Segoe UI",Roboto,Helvetica,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;
 color:var(--acc);margin:0 0 .6rem}
.la7 .tiny{font-size:.8rem;color:var(--muted)}
.la7 .mut{color:var(--muted)}
.la7 .rev{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}
.la7 .rev.da{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
 .la7 .rev{opacity:1;transform:none;transition:none}
 .la7 *{scroll-behavior:auto}
}

.la7 .k-titel{font:600 .78rem/1.3 "Noto Sans","Segoe UI",Roboto,Helvetica,Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;
 color:var(--muted);margin:0 0 .5rem}
.la7 .k-preis{font-size:1.85rem;font-weight:800;letter-spacing:-.03em;line-height:1.1;margin:0;
 font-variant-numeric:tabular-nums}
.la7 .k-versand{font-size:.8rem;color:var(--muted);margin:.2rem 0 .4rem}
.la7 .k-versand a{color:var(--muted);text-decoration:underline}
.la7 .k-liefer{font-size:.9rem;font-weight:600;color:#3d7a2a;margin:0 0 1rem}
.la7 .k-los{display:none;gap:.7rem;align-items:center;flex-wrap:wrap;margin-top:.5rem}
.la7 .k-mengelabel{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.la7 .k-menge{min-height:48px;min-width:4.6rem;border:1px solid var(--line);border-radius:999px;
 padding:0 .9rem;font:inherit;background:#fff;color:var(--ink)}
.la7 .k-kauf{display:inline-flex;align-items:center;justify-content:center;min-height:48px;
 padding:.6em 1.6em;border-radius:999px;background:var(--ink);color:var(--soft);border:0;
 font:600 1rem/1 "Noto Sans","Segoe UI",Roboto,Helvetica,Arial,sans-serif;cursor:pointer;flex:1 1 11rem;transition:background .2s}
.la7 .k-kauf:hover{background:var(--accd)}
.la7 .k-kauf:focus-visible,.la7 .k-menge:focus-visible{outline:3px solid var(--acc);outline-offset:3px}
.la7 .k-sperre,.la7 .k-ohnejs{display:none;margin:.6rem 0 0;padding:.75rem .9rem;border-radius:12px;
 border:1px solid #d9b6a4;background:#fbf1ec;font-size:.9rem}
.la7 .k-sperre a,.la7 .k-ohnejs a{color:var(--accd);font-weight:600}
.la7 [data-stand=bereit] .k-los{display:flex}
.la7 [data-stand=laden] .k-los{display:flex;opacity:.45;pointer-events:none}
.la7 [data-stand=sperre] .k-sperre{display:block}
.la7 [data-stand=ohnejs] .k-ohnejs{display:block}

.la7 .masstab{width:100%;border-collapse:collapse;font-size:.97rem;margin:.4rem 0 1rem;
 font-variant-numeric:tabular-nums}
.la7 .masstab th{text-align:left;font:600 .76rem/1.3 inherit;letter-spacing:.11em;
 text-transform:uppercase;color:var(--muted);padding:.3rem .8rem .5rem 0}
.la7 .masstab td{padding:.5rem .8rem .5rem 0;border-top:1px solid var(--line)}
.la7 .masstab td:first-child{font-weight:700}

.la7 .steck{border:1px solid var(--line);border-radius:18px;background:var(--paper);
 padding:clamp(1rem,2.2vw,1.5rem)}
.la7 .steck h2{font-size:1.02rem;font-weight:800;letter-spacing:-.02em}
.la7 .steckliste{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
 gap:0 clamp(1rem,2.4vw,2.2rem);margin:.9rem 0 0}
.la7 .steckliste>div{padding:.55rem 0;border-top:1px solid var(--line)}
.la7 .steckliste dt{font:600 .71rem/1.3 "Noto Sans","Segoe UI",Roboto,Helvetica,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;
 color:var(--muted)}
.la7 .steckliste dd{margin:.22rem 0 0;font-weight:700;letter-spacing:-.015em;
 font-variant-numeric:tabular-nums}
.la7 .steck p.tiny{margin:.9rem 0 0}
@media (max-width:900px){.la7 .steckliste{grid-template-columns:repeat(2,minmax(0,1fr))}}

.la7 .varianten{border:1px solid var(--line);border-radius:18px;background:var(--paper);
 padding:clamp(1rem,2.2vw,1.45rem)}
.la7 .varianten h2{font-size:1.02rem;font-weight:800;letter-spacing:-.02em}
/* Der Erklaertext steht ueber die ganze Breite der Karte. Eine Zeilenlaenge von
   56em hat ihn frueher bei rund zwei Dritteln umbrechen lassen - rechts blieb
   Leerraum, obwohl die Karte breiter ist (User-Beanstandung 27.08.2026). */
.la7 .vhint{margin:.35rem 0 0;font-size:.9rem;color:var(--muted);max-width:none}
.la7 .vachse{margin-top:1rem}
.la7 .vlabel{font:600 .71rem/1.3 "Noto Sans","Segoe UI",Roboto,Helvetica,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;
 color:var(--muted);margin:0 0 .45rem}
.la7 .vfarben{display:flex;flex-wrap:wrap;gap:.5rem}
.la7 .vfarbe{display:inline-flex;align-items:center;gap:.6rem;border:1px solid var(--line);
 border-radius:999px;background:#fff;padding:.42rem 1rem .42rem .5rem;text-decoration:none;
 color:inherit;transition:border-color .2s,transform .2s}
.la7 a.vfarbe:hover{border-color:var(--acc);transform:translateY(-1px)}
.la7 a.vfarbe:focus-visible,.la7 a.vg:focus-visible{outline:3px solid var(--acc);outline-offset:3px}
.la7 .vpunkt{width:1.6rem;height:1.6rem;border-radius:50%;flex:none;
 box-shadow:0 0 0 1px rgba(42,39,34,.16)}
/* Statt des Farbpunkts ein runder Ausschnitt aus dem Packshot. Der Grund ist weiss und
   nicht cremefarben, sonst zeichnet sich das weisse Quadrat des Packshots im Kreis ab. */
.la7 .vbild{width:2.6rem;height:2.6rem;border-radius:50%;flex:none;overflow:hidden;
 background:#fff;box-shadow:0 0 0 1px rgba(42,39,34,.16);display:block}
.la7 .vbild img{width:100%;height:100%;display:block;object-fit:contain}
.la7 .vbild.foto img{object-fit:cover;object-position:center}
.la7 .vfarbe b{display:block;font-weight:700;letter-spacing:-.015em;line-height:1.25}
.la7 .vsatz{display:block;font-size:.78rem;color:var(--muted);font-weight:400;line-height:1.3}
.la7 .vfarben.mittel .vsatz,.la7 .vfarben.viele .vsatz{display:none}
.la7 .vfarben.mittel .vpunkt{width:1.35rem;height:1.35rem}
.la7 .vfarben.mittel .vbild{width:2.1rem;height:2.1rem}
.la7 .vfarben.viele .vfarbe{padding:.3rem .85rem .3rem .38rem;font-size:.93rem}
.la7 .vfarben.viele .vpunkt{width:1.15rem;height:1.15rem}
.la7 .vfarben.viele .vbild{width:1.7rem;height:1.7rem}
.la7 .vfarbe.jetzt{border-color:var(--acc);box-shadow:inset 0 0 0 1px var(--acc);
 background:var(--soft)}
.la7 .gew{font:700 .66rem/1 "Noto Sans","Segoe UI",Roboto,Helvetica,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;
 color:var(--accd);margin-left:.15rem}
.la7 .vgroessen{display:grid;grid-template-columns:repeat(var(--sp,3),minmax(0,1fr));gap:.5rem}
.la7 .vg{display:flex;align-items:center;gap:.6rem;border:1px solid var(--line);
 border-radius:12px;background:#fff;padding:.55rem .7rem;text-decoration:none;color:inherit;
 transition:border-color .2s,transform .2s}
.la7 .vtext{min-width:0}
.la7 .vgroessen.viele .vbild{width:2.1rem;height:2.1rem}
.la7 a.vg:hover{border-color:var(--acc);transform:translateY(-1px)}
.la7 .vg b{display:block;font-weight:800;letter-spacing:-.02em;font-size:.98rem;
 font-variant-numeric:tabular-nums}
.la7 .vgm{display:block;font-size:.74rem;color:var(--muted);line-height:1.35;margin:.08rem 0 .2rem}
.la7 .vg em{font-style:normal;font-weight:700;font-size:.92rem;font-variant-numeric:tabular-nums}
.la7 .vg .hier{font:700 .66rem/1.2 "Noto Sans","Segoe UI",Roboto,Helvetica,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;
 color:var(--accd);display:inline-block}
.la7 .vg.jetzt{border-color:var(--acc);box-shadow:inset 0 0 0 1px var(--acc);background:var(--soft)}
.la7 .varianten p.tiny{margin:.9rem 0 0}
@media (max-width:560px){
 .la7 .vgroessen{grid-template-columns:repeat(var(--spm,3),minmax(0,1fr))}
 /* Auf dem Handy ist die Kachel zu schmal fuer Bild und Text nebeneinander -
    das Bild rueckt deshalb ueber den Text. */
 .la7 .vg{padding:.5rem .55rem;flex-direction:column;align-items:flex-start;gap:.3rem}
 .la7 .vbild{width:2.2rem;height:2.2rem}
 .la7 .vg b{font-size:.9rem}
 .la7 .vgm{font-size:.69rem}
 .la7 .vg em{font-size:.86rem}
 .la7 .vfarbe{padding:.38rem .8rem .38rem .42rem}
}

.la7{padding:0 0 2rem;max-width:none}
.la7 .innen{max-width:1300px;margin:0 auto;padding:0 1rem}
/* ---- schmaler Buehnenstreifen (Entwurf 6; Schleier 29.08.2026 von .82/.45/.12 auf
   .45/.25/.05 gesenkt + Textschatten - der alte Schleier machte graue Toepfe schwarz) ---- */
.la7 .streifen{position:relative;border-radius:0 0 22px 22px;overflow:hidden;
 height:clamp(112px,14vw,172px);display:flex;align-items:flex-end;background:var(--tief)}
.la7 .streifen img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
 object-position:center 58%}
.la7 .streifen .schleier{position:absolute;inset:0;background:
 linear-gradient(90deg,rgba(14,20,16,.45) 0%,rgba(14,20,16,.25) 52%,rgba(14,20,16,.05) 100%)}
.la7 .streifen .txt{position:relative;z-index:2;padding:0 1rem 1rem;max-width:1300px;
 margin:0 auto;width:100%}
.la7 .streifen .kicker{color:#e3d5bf;margin:0;text-shadow:0 1px 3px rgba(0,0,0,.55)}
.la7 .streifen p.gross{color:#fffdf9;font-weight:900;letter-spacing:-.035em;margin:.15rem 0 0;text-shadow:0 1px 3px rgba(0,0,0,.6),0 0 14px rgba(0,0,0,.35);
 font-size:clamp(1.3rem,3vw,2.1rem);line-height:1.1}
/* ---- Entscheidungsblock ---- */
.la7 .block{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
 gap:clamp(1.1rem,2.8vw,2.8rem);align-items:start;
 padding:clamp(1rem,2.4vw,1.7rem) 0 clamp(1.1rem,2.2vw,1.8rem)}
/* Das Katalogblatt: Bildbuehne und Bestellschein sind EIN Blatt, getrennt nur durch
   die gestrichelte Linie - wie die Perforation an einem Bestellcoupon. */
.la7 .katalogblatt{border:1px solid var(--line);border-radius:20px;background:var(--paper);
 padding:.6rem .6rem .9rem;box-shadow:0 30px 60px -44px rgba(42,39,34,.7)}
.la7 .buehne{position:relative;border-radius:14px;overflow:hidden;background:var(--soft);
 aspect-ratio:1/1}
.la7 .dia{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.4s ease}
.la7 .dia.an{opacity:1}
.la7 .dia img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.la7 .dia.frei img{object-fit:contain;object-position:center;
 transform:scale(1.55);transform-origin:52.6% 55%}
/* Das Massbild darf nicht beschnitten werden: Pfeile und Zahlen muessen ganz zu sehen
   sein. Es steht deshalb vollstaendig im Rahmen und auf Weiss, damit der weisse Grund
   des Bildes nicht als Rechteck in der cremefarbenen Flaeche klebt. */
.la7 .dia.mass{background:#fff}
.la7 .dia.mass img{object-fit:contain;object-position:center}
.la7 .bildzeile{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;
 margin:.5rem 0 0}
.la7 .mb{width:3rem;height:3rem;border-radius:9px;overflow:hidden;flex:none;padding:0;
 border:1px solid var(--line);background:var(--soft);cursor:pointer;
 transition:border-color .2s}
.la7 .mb img{width:100%;height:100%;object-fit:cover;object-position:center 70%;display:block}
.la7 .mb.frei img{object-fit:contain;transform:scale(1.5);transform-origin:52.6% 55%}
.la7 .mb.mass{background:#fff}
.la7 .mb.mass img{object-fit:contain;object-position:center}
.la7 .mb:hover{border-color:var(--acc)}
.la7 .mb[aria-pressed=true]{border-color:var(--acc);box-shadow:inset 0 0 0 1px var(--acc)}
.la7 .mb:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
.la7 .bildtext{font-size:.79rem;color:var(--muted);margin:0 0 0 .35rem;line-height:1.35;
 flex:1 1 8.5rem;min-width:0}
.la7 .schein{border-top:1px dashed var(--line);margin-top:.9rem;padding:.95rem .4rem 0}
.la7 .schein .k-titel{color:var(--acc)}
.la7 .spalte h1{margin:.1rem 0 0;font-weight:700;letter-spacing:-.022em}
.la7 .spalte .kicker{margin-bottom:.4rem}
/* Volle Spaltenbreite: die Breite begrenzt hier das Raster, nicht der Absatz.
   Ein eigener Deckel liesse bei mittleren Fenstern (900 bis 1300 px, wo die
   Spalte ueber die ganze Seite geht) rechts Leerraum stehen. */
.la7 .spalte .anriss{margin:.8rem 0 1.1rem;max-width:none;font-size:clamp(1rem,1.4vw,1.1rem)}
.la7 .spalte .steck{border-width:1px 0;border-radius:0;background:transparent;padding:1rem 0}
.la7 .spalte .steckliste{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(1rem,2vw,2rem)}
.la7 .wahl{padding-bottom:clamp(.6rem,1.6vw,1.2rem)}
/* ---- Magazin ---- */
.la7 .kap{padding:clamp(1.8rem,3.6vw,3rem) 0;border-top:1px solid var(--line);margin-top:1.4rem}
/* Ueberschriften behalten ihr Zeilenmass - eine Schlagzeile ueber 1268 px waere
   schwer zu fassen. Die Absaetze darunter nicht: ihre Breite bestimmt der Kasten,
   in dem sie stehen (.zwei, .spalten), damit rechts kein Leerraum bleibt. */
.la7 .kap h2{max-width:17em;font-weight:700;letter-spacing:-.022em}
.la7 .kap p{margin-top:1rem;max-width:none}
.la7 .breitbild{margin:1.3rem 0 0;border-radius:18px;overflow:hidden}
.la7 .breitbild img{width:100%;height:auto;display:block}
.la7 figure{margin:0}
.la7 .zwei{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
 gap:clamp(1.4rem,3vw,2.6rem);align-items:center}
.la7 .zwei.hoch{align-items:start}
.la7 .spalten{column-count:2;column-gap:clamp(1.4rem,3vw,2.6rem);margin-top:1.1rem}
.la7 .spalten p{margin:0 0 .9rem;max-width:none;break-inside:avoid}
.la7 .pflege{list-style:none;padding:0;margin:1.3rem 0 0;display:grid;gap:1rem 1.8rem;
 grid-template-columns:repeat(4,minmax(0,1fr))}
.la7 .pflege li{font-size:.92rem}
.la7 .pflege b{display:block;font-weight:800;margin-bottom:.15rem}
.la7 .pflege span{color:var(--muted)}
.la7 .fuss{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;
 border:1px solid var(--line);border-radius:18px;padding:1.2rem 1.4rem;background:var(--soft);
 margin-top:1.5rem}
/* Der Satz nimmt den Platz, der neben dem Knopf frei bleibt - kein fester Deckel. */
.la7 .fuss p{margin:0;max-width:none;flex:1 1 22em}
.la7 .knopf{display:inline-flex;align-items:center;gap:.55em;border:1px solid var(--acc);
 border-radius:999px;padding:.6em 1.3em;font-weight:600;font-size:.95rem;text-decoration:none;
 background:#fff;white-space:nowrap}
.la7 .knopf:hover{background:var(--acc);color:#fff}
/* ---- Verweis nach draussen (der passende Einsatz) ---- */
.la7 a.raus{color:var(--accd);text-decoration:underline;text-underline-offset:2px;
 text-decoration-thickness:1px}
.la7 .nb{white-space:nowrap}
.la7 a.raus:hover{color:var(--acc)}
.la7 a.raus:focus-visible{outline:3px solid var(--acc);outline-offset:3px;border-radius:4px}
.la7 svg.raus{margin-left:.28em;vertical-align:-1px;opacity:.8}
.la7 .ende{height:1px}
/* ---- Kaufleiste, die sich abschaelt (aus Entwurf 6) ---- */
.la7 .leiste{position:fixed;left:0;right:0;top:122px;z-index:900;background:var(--ink);
 color:#fffdf9;box-shadow:0 16px 34px -26px rgba(0,0,0,.9);transform:translateY(-140%);
 transition:transform .38s cubic-bezier(.22,.61,.36,1);padding:.5rem 0}
.la7 .leiste.an{transform:none}
.la7 .leiste .linnen{max-width:1300px;margin:0 auto;padding:0 1rem;display:flex;
 align-items:center;gap:.8rem}
.la7 .leiste .was{margin:0;font-weight:800;letter-spacing:-.02em;font-size:.95rem}
.la7 .leiste .k-titel,.la7 .leiste .k-liefer,.la7 .leiste .k-mengelabel{display:none}
/* Preis und Pflichthinweis stehen zusammen in einem Kaestchen: am Schreibtisch
   nebeneinander, auf dem Handy untereinander. PAngV Paragraph 6 verlangt den Hinweis
   in unmittelbarer Naehe JEDES Preises - auch in einer mitlaufenden Leiste. Der
   Wortlaut kommt aus dem nativen Absatz ([data-id=priceinfo]) und wird gespiegelt,
   der Verweis auf die Versandkosten also mit. */
.la7 .leiste .k-pbox{display:flex;align-items:baseline;gap:.5rem;margin:0 0 0 auto;
 min-width:0}
.la7 .leiste .k-preis{font-size:1.15rem;margin:0;color:#fffdf9}
.la7 .leiste .k-versand{display:block;margin:0;font-size:.72rem;line-height:1.3;
 color:rgba(255,253,249,.72)}
.la7 .leiste .k-versand a{color:#fffdf9;text-decoration:underline;display:inline-block;
 padding:.4rem .3rem;margin:-.4rem -.3rem}
/* Der Name darf nie umbrechen - sonst wuechse die Leiste in die Hoehe. */
.la7 .leiste .was{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.la7 .leiste .k-los{margin:0;flex:none}
.la7 .leiste .k-menge{min-height:42px;border-color:rgba(255,253,249,.4)}
.la7 .leiste .k-kauf{min-height:42px;flex:0 0 auto;background:var(--soft);color:var(--ink);
 font-size:.92rem;padding:.5em 1.2em}
.la7 .leiste .k-kauf:hover{background:#fff}
.la7 .leiste .k-sperre,.la7 .leiste .k-ohnejs{margin:0;padding:.35rem .7rem;font-size:.82rem;
 background:transparent;border-color:rgba(255,253,249,.4);color:#f2efe6}
.la7 .leiste .k-sperre a,.la7 .leiste .k-ohnejs a{color:#fffdf9}
.la7 .leiste [data-stand]{display:flex;align-items:center;gap:.8rem;flex:1 1 auto}
@media (max-width:1023px){
 .la7 .leiste{top:auto;bottom:0;transform:translateY(140%);
  box-shadow:0 -16px 34px -26px rgba(0,0,0,.9)}
 /* Am unteren Rand ist die Zeile schmal: Preis oben, Hinweis darunter. Das Kaestchen
    nimmt den Platz, der zwischen Name und Kaufknopf uebrig bleibt, und der Hinweis
    bricht darin um - die Leiste bleibt so hoch wie der Knopf. */
 .la7 .leiste .k-pbox{flex-direction:column;align-items:flex-start;gap:0;margin:0;
  flex:1 1 6rem}
 .la7 .leiste .k-versand{font-size:.68rem;line-height:1.22}
}
@media (max-width:900px){
 /* Handy: Name, Bild, Bestellschein, Anriss, Datentafel, Variantenleiste.
    Der Kaufknopf steht damit im ersten Bildlauf. */
 /* align-items muss zurueckgesetzt werden: aus dem Raster steht dort "start",
    im Spalten-Flex wuerde die Buehne dadurch auf ihre Eigenbreite schrumpfen. */
 .la7 .block{display:flex;flex-direction:column;align-items:stretch;gap:0;padding-top:1rem}
 .la7 .katalogblatt,.la7 .spalte{display:contents}
 .la7 .spalte .kicker{order:1;margin-bottom:.3rem}
 .la7 .spalte h1{order:2}
 .la7 .buehne{order:3;margin-top:.55rem;border:1px solid var(--line)}
 .la7 .bildzeile{order:4}
 .la7 .schein{order:5;border-top:1px dashed var(--line);margin-top:.8rem;padding:.85rem 0 0}
 .la7 .spalte .anriss{order:7;margin:1.2rem 0 0}
 .la7 .spalte .steck{order:8;margin-top:.6rem}
 .la7 .spalte .steckliste>div{padding:.42rem 0}
 .la7 .spalte .steckliste dt{font-size:.66rem;letter-spacing:.1em}
 .la7 .spalte .steckliste dd{font-size:.93rem}
 .la7 .wahl{margin-top:1.2rem}
 .la7 .spalten{column-count:1}
 .la7 .zwei{grid-template-columns:1fr;gap:1.2rem}
 .la7 .pflege{grid-template-columns:repeat(2,minmax(0,1fr))}
 /* Ohne den Artikelnamen bleibt in der Leiste genug Platz, dass Preis und
    Pflichthinweis nebeneinanderpassen - sie bleibt so hoch wie der Knopf. */
 .la7 .leiste .was{display:none}
}
@media (max-width:560px){
 .la7{font-size:16px}
 .la7 .leiste .k-versand{font-size:.66rem}
 /* Auf dem Handy zaehlt jeder Pixel bis zum Kaufknopf: die Buehne wird etwas
    flacher (der Freisteller fuellt sie dadurch sogar besser aus) und die
    Ueberschrift des Bestellscheins entfaellt. */
 .la7 .buehne{aspect-ratio:6/5}
 .la7 .mb{width:2.7rem;height:2.7rem}
 .la7 .schein .k-titel{display:none}
 .la7 .pflege{grid-template-columns:1fr}
 .la7 .leiste .k-preis{font-size:1.02rem}
 .la7 .leiste .k-kauf{padding:.5em .9em;font-size:.88rem}
}
@media (prefers-reduced-motion:reduce){
 .la7 .leiste{transition:none}
 .la7 .dia{transition:none}
}

/* ---- Bildlupe: das ganze Bild ueber der Seite ---- */
.la7 .buehne{cursor:zoom-in}
.la7 .lupe-auf{position:absolute;right:.6rem;bottom:.6rem;z-index:3;width:44px;height:44px;
 border:0;border-radius:50%;background:rgba(255,253,249,.88);color:var(--ink);
 box-shadow:0 4px 14px -4px rgba(42,39,34,.6);cursor:zoom-in;display:flex;
 align-items:center;justify-content:center;padding:0;opacity:.85;transition:opacity .2s}
.la7 .lupe-auf:hover,.la7 .lupe-auf:focus-visible{opacity:1;outline:none;
 box-shadow:0 0 0 3px var(--acc)}
.la7 .lupe-auf svg{width:20px;height:20px;display:block}
.fd-lupe{position:fixed;inset:0;z-index:2000;background:rgba(28,26,23,.95);
 display:none;flex-direction:column;align-items:center;justify-content:center;
 font-family:"Noto Sans","Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:#f2efe6;-webkit-font-smoothing:antialiased}
.fd-lupe.an{display:flex}
.fd-lupe img{max-width:min(96vw,1700px);max-height:calc(100vh - 7.5rem);width:auto;
 height:auto;object-fit:contain;display:block;user-select:none;-webkit-user-drag:none;
 box-shadow:0 30px 80px -30px rgba(0,0,0,.9)}
.fd-lupe .lupe-mass{background:#fff;padding:1rem;border-radius:8px}
.fd-lupe .lupe-text{margin:.9rem 1rem 0;max-width:46em;text-align:center;
 font-size:.9rem;line-height:1.4;color:#d9d3c7}
.fd-lupe .lupe-text b{color:#f2efe6}
.fd-lupe button{position:absolute;border:0;background:rgba(255,253,249,.12);color:#f2efe6;
 width:48px;height:48px;border-radius:50%;cursor:pointer;font:400 1.6rem/1 "Noto Sans","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
 display:flex;align-items:center;justify-content:center;padding:0;transition:background .2s}
.fd-lupe button:hover,.fd-lupe button:focus-visible{background:rgba(255,253,249,.28);
 outline:none}
.fd-lupe .lupe-zu{top:max(.8rem,env(safe-area-inset-top));right:.8rem;font-size:1.9rem}
.fd-lupe .lupe-zurueck{left:.6rem;top:50%;transform:translateY(-50%)}
.fd-lupe .lupe-weiter{right:.6rem;top:50%;transform:translateY(-50%)}
.fd-lupe .lupe-stand{position:absolute;top:max(1.2rem,env(safe-area-inset-top));left:1rem;
 font-size:.78rem;letter-spacing:.12em;color:#b9b1a3}
@media (max-width:640px){
 .fd-lupe img{max-width:100vw;max-height:calc(100vh - 8.5rem)}
 .fd-lupe .lupe-zurueck,.fd-lupe .lupe-weiter{top:auto;bottom:max(.8rem,env(safe-area-inset-bottom));
  transform:none}
 .fd-lupe .lupe-text{margin-bottom:3.6rem}
}
@media (prefers-reduced-motion:no-preference){
 .fd-lupe img{animation:fdLupeAuf .22s ease-out}
 @keyframes fdLupeAuf{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
}

/* ---- Schmale Handys (unter 360 px) ---- */
@media (max-width:360px){
 .la7 .knopf{white-space:normal;text-align:center}
 .la7 .masstab thead{display:none}
 .la7 .masstab,.la7 .masstab tbody,.la7 .masstab tr,.la7 .masstab td{display:block}
 .la7 .masstab tr{padding:.5rem 0;border-top:1px solid var(--line)}
 .la7 .masstab td{padding:0;border:0}
 .la7 .masstab td:first-child,.la7 .masstab td:nth-child(2){display:inline}
 .la7 .masstab td:first-child::after{content:"\00a0\00a0"}
 .la7 .masstab td:nth-child(3){display:block;font-size:.88rem;color:var(--muted);margin-top:.1rem}
 .la7 .leiste .linnen{gap:.5rem;padding:0 .6rem}
 .la7 .leiste [data-stand],.la7 .leiste .k-los{gap:.5rem}
 .la7 .leiste .k-menge{min-width:0;padding:0 .5rem}
 .la7 .leiste .k-kauf{padding:.5em .7em;font-size:.82rem}
}

/* ---- Buehnenstreifen: ein Querausschnitt aus derselben Aufnahme. Ein Wohnbild
   gibt es zu diesem Stoff nicht, und ein fremdes waere geflunkert. ---- */
.la7 .streifen img{object-position:center 42%}
/* ---- Bildbuehne: das Stoffbild ist quadratisch und bildet genau 30 x 30 cm ab.
   Es wird deshalb NIE beschnitten - auch am Handy nicht, sonst stimmt der
   Massstab auf der Buehne nicht mehr. ---- */
.la7 .buehne{background:#fff}
@media (min-width:901px){
 /* Beim Stoff zaehlt das Bild: beide Spalten gleich breit statt .88 zu 1.12 -
    der Ausschnitt in Originalgroesse soll gross genug dastehen. */
 .la7 .block{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
.la7 .massband{position:absolute;left:.75rem;bottom:.75rem;z-index:2;
 width:33.333%;pointer-events:none;color:#2a2722}
.la7 .massband .balken{display:block;height:11px;
 border:2px solid rgba(42,39,34,.85);border-top:0;border-radius:0 0 2px 2px;
 background:rgba(255,253,249,.55);
 box-shadow:0 1px 4px rgba(255,253,249,.85),inset 0 0 0 1px rgba(255,253,249,.7)}
.la7 .massband b{display:block;font:700 .68rem/1.3 "Noto Sans","Segoe UI",Roboto,Helvetica,Arial,sans-serif;letter-spacing:.12em;
 text-transform:uppercase;margin:0 0 .2rem;
 text-shadow:0 1px 3px rgba(255,253,249,.9),0 0 8px rgba(255,253,249,.9)}
/* Der Hinweis zur Farbtreue steht in einer eigenen Zeile unter dem Bildtext. */
.la7 .farbnote{flex:1 1 100%;margin:.3rem 0 0 .35rem;font-size:.76rem;
 color:var(--muted);line-height:1.35}
/* ---- Bestellteil: Grundpreis, Textilkennzeichnung, Hinweise ---- */
.la7 .k-grund{margin:.1rem 0;font-size:.88rem;color:var(--ink)}
.la7 .k-grund[hidden],.la7 .einzeln[hidden]{display:none}
.la7 .k-grund b{font-variant-numeric:tabular-nums}
.la7 .tkz{margin:.9rem 0 .2rem;padding:.6rem .75rem;border:1px solid var(--line);
 border-radius:12px;background:var(--soft);font-size:.86rem;line-height:1.45}
.la7 .tkz b{display:block;font:600 .66rem/1.4 "Noto Sans","Segoe UI",Roboto,Helvetica,Arial,sans-serif;letter-spacing:.12em;
 text-transform:uppercase;color:var(--muted)}
.la7 .fakten{margin:.45rem 0 .1rem;font-size:.86rem;color:var(--muted)}
.la7 .mxfuss{margin:.7rem 0 0}
/* Der Hinweis erscheint nur, wenn der Warenkorb-Absatz KEIN Mengenfeld hat -
   dann geht je Klick genau eine Verkaufseinheit in den Warenkorb. */
.la7 .einzeln{margin:.6rem 0 0;font-size:.84rem;color:var(--accd)}
.la7 .einzeln[hidden]{display:none}
/* ---- Kaufleiste: Gesamtpreis, Meterpreis UND Pflichthinweis gehoeren auch hier
   hin - PAngV verlangt bei Meterware beides an JEDER Preisstelle. In der schmalen
   Leiste waere "fuer 1 m am Stueck" zu viel Text: dort steht nur der Meterpreis,
   in einer Zeile mit dem Pflichthinweis. ---- */
.la7 .k-fein{min-width:0}
.la7 .leiste .nurgross{display:none}
.la7 .leiste .k-fein>p{display:inline;margin:0;font-size:.7rem;line-height:1.25;
 color:rgba(255,253,249,.72)}
.la7 .leiste .k-fein>p[hidden]{display:none}
.la7 .leiste .k-grund b{color:rgba(255,253,249,.92)}
.la7 .leiste .k-grund::after{content:" · "}
/* ---- Pflegeleiste mit Symbolen: die Zeichen der Banderole als Strichzeichnung,
   daneben der Satz dazu. ---- */
@media (min-width:901px){.la7 .pflege{grid-template-columns:repeat(5,minmax(0,1fr))}}
.la7 .pflege li{display:flex;gap:.6rem;align-items:flex-start;min-width:0}
.la7 .pflege svg{flex:none;width:34px;height:34px;color:var(--accd)}
.la7 .pflege .txt{min-width:0}
/* ---- Restposten-Hinweis ---- */
.la7 .rest{display:flex;gap:.8rem;align-items:flex-start;margin-top:1.3rem;
 padding:1rem 1.1rem;border:1px dashed var(--line);border-radius:16px;
 background:var(--soft)}
.la7 .rest svg{flex:none;width:26px;height:26px;color:var(--accd);margin-top:.15rem}
.la7 .rest p{margin:0}
@media (max-width:560px){
 /* Das Massband stimmt nur, solange das ganze Bild zu sehen ist. */
 .la7 .buehne{aspect-ratio:1/1}
 /* Am Handy bekommt der Preisteil eine eigene Zeile: Gesamtpreis, Meterpreis und
    Pflichthinweis muessen lesbar bleiben, darunter erst Laenge und Knopf. */
 .la7 .leiste .linnen,.la7 .leiste .mini{flex-wrap:wrap}
 .la7 .leiste .k-pbox{flex:1 1 100%;margin:0 0 .3rem}
 .la7 .leiste .k-los{flex:1 1 100%}
 .la7 .leiste .k-kauf{flex:1 1 auto}
}
@media (max-width:360px){
 .la7 .spalte .steckliste{grid-template-columns:1fr}
 .la7 .massband{left:.5rem;bottom:.5rem}
}
