/* fd-bau: universal-inhalt v1 */
/* Universal-Clip Inhaltsseite /fd/sale/seite: Stil */
.fds{--soft:#f7f2ea;--line:#e9e3d8;--ink:#2a2722;--muted:#7a7367;--acc:#a96544;--accd:#87502f;--paper:#fffdf9;
  /* Signalfarbe der Angebotsseiten: ein warmes Ziegelrot neben dem Terrakotta der
     Marke. Kontrast auf Papier 5,9:1 und auf dem cremefarbenen Grund 5,3:1 - beides
     ueber AA. Sie markiert NUR Angebotszeichen (Preis, Prozent-Marke, Banderole),
     nie ganze Flaechen: Akzent statt Discounter. */
  --sale:#b8362a;--saled:#8e281f;--salesoft:#fbeeea;
  --fd:"Noto Sans","Segoe UI",Roboto,Arial,sans-serif;
  font-family:var(--fd);color:var(--ink);background:var(--soft);line-height:1.55;font-size:17px;
  max-width:1320px;margin:0 auto;overflow:hidden;border-radius:14px}
.fds *{box-sizing:border-box;margin:0;padding:0;min-width:0}
.fds a{color:inherit;text-decoration:none}
.fds img{display:block;max-width:100%}
.fds h1,.fds h2,.fds h3{font-weight:900;line-height:1;letter-spacing:-.035em;text-transform:none;color:var(--ink);text-wrap:balance}
.fds p{max-width:38em}
.fds .eyebrow{font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sale);margin-bottom:.55rem}

/* ---------- ANGEBOTS-ZEICHEN ----------
   Banderole: kleines Band mit Signalfarbe, das die Seite als Angebot ausweist.
   Prozentzeichen: rein dekorativ (aria-hidden), liegt hinter der Ueberschrift. */
/* Zwei Klassen im Selektor, weil ".fds .hero p" sonst Farbe und Abstand gewinnt. */
.fds .hero .banderole{display:inline-flex;align-items:center;gap:.5em;background:var(--sale);
  color:#fffdf9;font-weight:800;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;
  padding:.45em .9em;border-radius:999px;margin:0 0 .9rem;max-width:none}
/* Auch hier zwei Klassen: ".fds .hero p" wuerde die Signalfarbe sonst ueberschreiben. */
.fds .hero .eyebrow{color:var(--sale);margin-top:0}
.fds .hero .banderole svg{width:1.05em;height:1.05em;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round}
.fds .hero{position:relative}
.fds .hero>*{position:relative;z-index:1}
/* Das Prozentzeichen ist reine Zier: es liegt hinter dem Text am rechten Rand, nimmt
   keine Klicks an und wird Vorlesehilfen nicht vorgelesen. Der Selektor muss
   spezifischer sein als ".fds .hero>*", sonst faellt es zurueck in den Textfluss. */
.fds .hero .zeichen{position:absolute;right:clamp(.4rem,3vw,3rem);top:50%;transform:translateY(-50%);
  font-weight:900;font-size:clamp(7rem,20vw,18rem);line-height:.8;letter-spacing:-.06em;
  color:var(--sale);opacity:.1;pointer-events:none;user-select:none;z-index:0}
.fds .bisz{display:inline-flex;align-items:center;gap:.45em;font-weight:900;font-size:1rem;
  letter-spacing:-.01em;color:var(--sale);background:var(--salesoft);border:1px solid var(--sale);
  border-radius:999px;padding:.5em 1em;white-space:nowrap}
.fds .bisz[hidden]{display:none}
.fds .btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;font-family:inherit;font-weight:700;font-size:.95rem;letter-spacing:.02em;padding:.85em 1.4em;border:0;border-radius:999px;background:var(--ink);color:var(--soft);cursor:pointer;transition:transform .2s,background .2s}
.fds .btn:hover{background:var(--accd);transform:translateY(-2px)}
.fds .btn svg{width:1.05em;height:1.05em;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.fds .btn.light{background:var(--paper);color:var(--ink);border:1px solid var(--line)}
.fds .btn.light:hover{background:var(--acc);color:var(--paper);border-color:var(--acc)}
.fds .ghost{display:inline-flex;align-items:center;gap:.5em;font-weight:600;color:var(--accd);border-bottom:2px solid var(--line);padding-bottom:.15em;transition:border-color .2s}
.fds .ghost:hover{border-color:var(--acc)}
.fds .tiny{font-size:.86rem;font-weight:600}
.fds .btn:focus-visible,.fds .ghost:focus-visible,.fds .chip:focus-visible,.fds .katchip:focus-visible,.fds select:focus-visible,.fds .lupknopf:focus-visible,.fds .kachel:focus-visible{outline:3px solid var(--acc);outline-offset:3px}

/* ---------- HERO ---------- */
.fds .hero{padding:clamp(2.4rem,5.5vw,3.8rem) clamp(1.2rem,5vw,4rem) clamp(1.4rem,3vw,2rem)}
.fds .hero h1{font-size:clamp(1.85rem,4.2vw,3.1rem);line-height:1;overflow-wrap:anywhere;max-width:17em}
.fds .hero h1 em{font-style:normal;color:var(--acc);display:block;font-weight:500;font-size:.34em;letter-spacing:0;margin-top:.65em;line-height:1.3}
.fds .hero p{margin-top:1.25rem;font-size:1.05rem;color:var(--muted)}
.fds .hero .row{margin-top:1.5rem;display:flex;flex-wrap:wrap;gap:1rem 1.6rem;align-items:center}

/* ---------- FAKTEN-BAND ---------- */
.fds .facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);
  padding:clamp(1.2rem,2.6vw,1.7rem) clamp(1.2rem,5vw,4rem);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem 2rem}
.fds .facts>div{display:flex;gap:.8rem;align-items:flex-start}
.fds .facts svg{width:1.5rem;height:1.5rem;flex:0 0 auto;stroke:var(--accd);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;margin-top:.1rem}
.fds .facts b{font-weight:800;font-size:.98rem;display:block;letter-spacing:-.02em}
.fds .facts span{font-size:.9rem;color:var(--muted);display:block}
.fds .facts a{color:var(--accd);text-decoration:underline}

/* ---------- ABSCHNITT ---------- */
.fds section.blk{padding:clamp(2.2rem,5vw,3.4rem) clamp(1.2rem,5vw,4rem);scroll-margin-top:1rem}
.fds .blk h2{font-size:clamp(1.7rem,3.8vw,2.6rem);line-height:.98;margin-left:-.03em}
.fds .blk .lead{font-size:1.04rem;font-weight:500;line-height:1.45;margin-top:.9rem;color:var(--muted)}
/* Kapitel mit Angeboten: kurze Linie in der Signalfarbe ueber der Ueberschrift. */
.fds section.ang>h2::before{content:"";display:block;width:2.6rem;height:4px;border-radius:999px;
  background:var(--sale);margin-bottom:.85rem}


/* ---------- SCHLUSS ---------- */
.fds .ende{padding:0 clamp(1.2rem,5vw,4rem) clamp(2.6rem,5vw,3.6rem);display:flex;flex-direction:column;gap:1rem;align-items:flex-start}
.fds .ende h2{font-size:clamp(1.55rem,3.4vw,2.2rem)}
.fds .ende p{color:var(--muted);font-size:1rem}
.fds .ende .row{display:flex;flex-wrap:wrap;gap:.9rem 1.5rem;align-items:center;margin-top:.3rem}
.fds .ende a.textlink{text-decoration:underline}

/* ---------- SCROLL-REVEAL ---------- */
.fds .rv{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.fds .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.fds .rv{opacity:1;transform:none;transition:none}}

/* ---------- MEDIA ---------- */
@media (max-width:900px){
  .fds .facts{grid-template-columns:1fr;gap:.9rem}
}
@media (max-width:560px){
  .fds{font-size:16px;border-radius:0}
  .fds .hero{padding:2rem 1.1rem 1.2rem}
  .fds .hero h1{font-size:1.68rem}
  /* .34em der Ueberschrift waeren hier nur 9 px - der Satz ist aber zu wichtig. */
  .fds .hero h1 em{font-size:1rem;margin-top:.9em}
  .fds section.blk{padding:1.9rem 1.1rem}
  .fds .ende{padding:0 1.1rem 2.4rem}
}
/* ---------- KACHELN DER UEBERSICHT ----------
   Die ganze Kachel ist ein Verweis - Bild, Titel und Text fuehren auf dieselbe Seite
   (Regel "Bilder auf Uebersichten sind immer klickbar"). */
.fds .kacheln{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(.9rem,1.8vw,1.4rem);margin-top:1.9rem}
.fds .kachel{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);
  border-radius:14px;overflow:hidden;height:100%;transition:border-color .2s,transform .2s}
.fds .kachel:hover{border-color:var(--acc);transform:translateY(-2px)}
.fds .kachel .bild{background:#fff;border-bottom:1px solid var(--line);overflow:hidden}
/* Banderole ueber die Ecke: dreht sich um 45 Grad und laeuft ueber den Bildrand
   hinaus - deshalb sitzt sie in einer Huelle mit overflow:hidden. */
.fds .kachel .bild{position:relative}
.fds .kachel .ecke{position:absolute;right:-3.2rem;top:1.05rem;width:11rem;text-align:center;
  transform:rotate(45deg);background:var(--sale);color:#fffdf9;font-weight:800;font-size:.76rem;
  letter-spacing:.14em;text-transform:uppercase;padding:.4em 0;
  box-shadow:0 6px 16px -8px rgba(42,39,34,.6);pointer-events:none}
.fds .kachel .bild img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#fff;
  --s:1;--x:50%;--y:50%;transform-origin:var(--x) var(--y);
  transform:translate(calc(50% - var(--x)),calc(50% - var(--y))) scale(var(--s));
  transition:transform .35s}
.fds .kachel:hover .bild img{transform:translate(calc(50% - var(--x)),calc(50% - var(--y))) scale(calc(var(--s)*1.04))}
.fds .kachel .txt{padding:1.1rem 1.15rem 1.25rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.fds .kachel h3{font-size:1.22rem;letter-spacing:-.025em;line-height:1.14}
.fds .kachel p{font-size:.95rem;color:var(--muted);line-height:1.5}
.fds .kachel .mehr{margin-top:auto;padding-top:.6rem;font-weight:700;font-size:.92rem;color:var(--accd);
  display:inline-flex;align-items:center;gap:.4em}
.fds .kachel .mehr svg{width:1em;height:1em;stroke:currentColor;fill:none;stroke-width:2.2;
  stroke-linecap:round;stroke-linejoin:round}
@media (max-width:640px){
  .fds .kacheln{grid-template-columns:1fr;gap:1rem;margin-top:1.5rem}
}
/* Die native Seitenueberschrift doppelt unsere eigene - unsere steht im Clip.
   Die Brotkrume darunter bleibt stehen, sie ist die Navigation der Seite. */
#content > .sqrallwaysboxed > h1{display:none!important}
