/* ═══════════════════════════════════════════════════════════════
   FUSS + DAZU PASST (17.09.2026, Richtung A «Regal», Andys Pick). EIN File fuer alle Seiten.
   .sw-foot  = der Fuss: Satz links, die drei Cover als Gegenstaende rechts (Licht aus den
               Covern, Glut von unten), darunter alle Seiten in einer Glasbox (Bezel wie die
               Setkarte), zuunterst Recht und Sprache.
   .sw-rel   = «Dazu passt» im Nacht-Schluss: Titel und ein Satz je Link, Haarlinien statt Chips.
   Farben = DESIGN.md (Nacht-tief, Creme, Weich, Gold). Schrift: Bricolage nur fuer den einen
   Satz, sonst Plus Jakarta Sans, max 600.
   Wrapper: .sw-foot-in folgt der Seite (1240/1280), damit die Links-Kante stimmt. Seiten mit
   site.css (.hof) setzen sw-foot--hof. Eigene Klassen (.sw-buch, .sw-tag), damit site.css
   (.buch, .tag) nicht hineinregiert.
   Falle: Wissensseiten haben .nv-bl p{margin:0} (0,1,1); darum jede p-Regel mit zwei Klassen.
   ═══════════════════════════════════════════════════════════════ */

.sw-foot,.sw-rel{
  --sf-nacht:#0E1226;
  --sf-linie:rgba(237,238,244,.12);
  --sf-creme:#EDEEF4;
  --sf-weich:#A9AEC4;
  --sf-gold:#E4B56A;
  --sf-glut:184,72,31;
  --sf-txt:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;
  --sf-dsp:'Bricolage Grotesque','Plus Jakarta Sans',system-ui,sans-serif;
  --sf-ease:cubic-bezier(.22,1,.36,1);
}

/* ─── Fuss ─────────────────────────────────────────────────────── */
.sw-foot{
  position:relative;overflow:hidden;
  background:var(--sf-nacht);
  color:var(--sf-weich);
  font-family:var(--sf-txt);
  border-top:1px solid var(--sf-linie);
  padding:clamp(64px,8vw,110px) 0 clamp(28px,4vw,44px);
  -webkit-font-smoothing:antialiased;
}
.sw-foot::before{content:"";position:absolute;left:0;right:0;bottom:0;height:70%;pointer-events:none;
  background:radial-gradient(900px 480px at 24% 100%,rgba(var(--sf-glut),.2),transparent 60%)}
.sw-foot a{color:inherit;text-decoration:none}
.sw-foot a:focus-visible,.sw-rel a:focus-visible{outline:2px solid var(--sf-gold);outline-offset:4px;border-radius:2px}
.sw-foot ::selection,.sw-rel ::selection{background:rgba(228,181,106,.35);color:#fff}

.sw-foot-in{
  position:relative;
  width:100%;max-width:var(--sf-w,1240px);margin:0 auto;
  padding:0 var(--sf-p,clamp(20px,4vw,48px));
}
.sw-foot--hof{--sf-w:1280px;--sf-p:clamp(22px,5vw,64px)}

/* Kopf: links Marke, Satz, wer. Rechts das Regal. */
.sw-foot-kopf{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(32px,5vw,80px);align-items:center;
}
.sw-foot-marke{
  display:inline-flex;align-items:center;gap:12px;
  font:600 11px/1 var(--sf-txt);letter-spacing:.3em;text-transform:uppercase;
  color:rgba(237,238,244,.72);
  transition:color .5s var(--sf-ease);
}
.sw-foot-marke:hover{color:var(--sf-creme)}
.sw-foot-marke img{width:40px;height:auto;opacity:.85}
.sw-foot .sw-foot-satz{
  margin:30px 0 0;
  font-family:var(--sf-dsp);font-weight:600;
  font-size:clamp(34px,4vw,56px);line-height:1.02;letter-spacing:-.025em;
  color:var(--sf-creme);text-wrap:balance;max-width:14ch;
}
.sw-foot .sw-foot-satz b{display:block;color:var(--sf-gold);font-weight:600}
.sw-foot .sw-foot-von{margin:22px 0 0;font-size:16px;line-height:1.6;max-width:40ch}

/* Regal: drei Cover als Gegenstaende (aus site.css .buch uebernommen, eigener Name) */
.sw-foot-regal{
  display:flex;align-items:flex-end;justify-content:flex-end;
  gap:clamp(10px,1.6vw,22px);perspective:1400px;padding:20px 0 30px;
}
.sw-buch{
  position:relative;display:block;flex:none;
  width:clamp(120px,14vw,200px);aspect-ratio:1136/1800;
  transform-style:preserve-3d;transition:transform .8s var(--sf-ease);
}
.sw-buch img{display:block;width:100%;height:100%;object-fit:cover;border-radius:2px 6px 6px 2px;
  box-shadow:0 26px 60px rgba(0,0,0,.6),0 4px 12px rgba(0,0,0,.5)}
.sw-buch::after{content:"";position:absolute;inset:0;border-radius:2px 6px 6px 2px;pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.30) 0 1px,rgba(0,0,0,.36) 1px 7px,rgba(0,0,0,0) 15px),
             linear-gradient(102deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,.03) 16%,rgba(255,255,255,0) 36%,rgba(0,0,0,.10) 78%,rgba(0,0,0,.24) 100%)}
.sw-buch.b1{transform:rotateY(16deg) rotateX(2deg)}
.sw-buch.b2{transform:rotateY(0) rotateX(2deg) translateY(-10px)}
.sw-buch.b3{transform:rotateY(-16deg) rotateX(2deg)}
.sw-buch:hover{transform:rotateY(0) rotateX(0) translateY(-14px);z-index:2}
.sw-tag{
  position:absolute;left:50%;top:-14px;transform:translateX(-50%);white-space:nowrap;z-index:2;
  font:600 9.5px/1 var(--sf-txt);letter-spacing:.2em;text-transform:uppercase;
  padding:.42rem .7rem;border-radius:999px;
  background:rgba(14,18,38,.75);border:1px solid rgba(228,181,106,.5);color:var(--sf-gold);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
}

/* Glasbox mit dem Netz: fuenf Listen in vier Spalten (Buecher und Angebot uebereinander) */
.sw-foot-glas{
  display:block;margin-top:clamp(48px,6vw,80px);
  padding:6px;border-radius:28px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);
}
.sw-foot-glas-in{
  border-radius:22px;background:rgba(21,26,49,.75);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.07),0 50px 90px -40px rgba(0,0,0,.7);
  padding:clamp(28px,3.5vw,48px) clamp(24px,3.5vw,48px);
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-areas:"b r g v" "a r g v";
  align-content:start;
  gap:34px clamp(20px,3vw,48px);
}
.sp-b{grid-area:b}.sp-a{grid-area:a}.sp-r{grid-area:r}.sp-g{grid-area:g}.sp-v{grid-area:v}
.sw-foot .sw-foot-t{
  display:inline-block;margin:0 0 18px;padding-bottom:8px;
  border-bottom:1px solid rgba(228,181,106,.35);
  font:600 11px/1 var(--sf-txt);letter-spacing:.22em;text-transform:uppercase;
  color:var(--sf-gold);
}
.sw-foot-sp ul{list-style:none;margin:0;padding:0}
.sw-foot-sp li{margin:0;padding:0}
.sw-foot-sp li+li{margin-top:10px}
.sw-foot-sp a{
  display:inline-block;
  font:400 15.5px/1.45 var(--sf-txt);color:var(--sf-weich);
  transition:color .4s var(--sf-ease);
}
.sw-foot-sp a:hover{color:var(--sf-creme)}

/* Untere Zeile */
.sw-foot-fuss{
  margin-top:clamp(28px,4vw,44px);
  padding-top:22px;
  border-top:1px solid var(--sf-linie);
  display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;
  gap:14px 32px;
}
.sw-foot .sw-foot-recht{margin:0;font-size:12.5px;line-height:1.55;color:rgba(169,174,196,.75);max-width:62ch;flex:1 1 360px}
.sw-foot .sw-foot-l{margin:0;display:flex;flex-wrap:wrap;gap:6px 22px;font-size:13px;line-height:1.5;color:rgba(169,174,196,.75)}
.sw-foot .sw-foot-l a{color:var(--sf-weich);border-bottom:1px solid rgba(237,238,244,.18);transition:color .4s var(--sf-ease),border-color .4s var(--sf-ease)}
.sw-foot .sw-foot-l a:hover{color:var(--sf-gold);border-color:rgba(228,181,106,.5)}

@media (max-width:1080px){
  .sw-foot-glas-in{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"b r" "a r" "g v";gap:36px clamp(24px,5vw,56px)}
}
@media (max-width:760px){
  .sw-foot-kopf{grid-template-columns:1fr;gap:12px}
  .sw-foot-regal{order:-1;justify-content:center;padding:8px 0 22px}
  .sw-buch{width:min(28vw,120px)}
  .sw-foot .sw-foot-satz{font-size:clamp(32px,9vw,40px);max-width:16ch}
}
@media (max-width:520px){
  .sw-foot{padding-top:52px}
  .sw-foot-glas-in{gap:30px 18px;padding:24px 20px}
  .sw-foot-sp a{font-size:15px}
  .sw-foot-fuss{flex-direction:column;gap:16px}
  .sw-foot .sw-foot-recht{flex:none}
}
@media (prefers-reduced-motion:reduce){
  .sw-foot a,.sw-rel a,.sw-rel b,.sw-buch{transition:none}
}

/* ─── Dazu passt (im Nacht-Schluss der Seite) ───────────────────── */
.sw-rel{
  margin-top:clamp(48px,6vw,72px);
  font-family:var(--sf-txt);
}
.sw-rel .sw-rel-h{
  margin:0 0 6px;
  font:600 17px/1.3 var(--sf-txt);letter-spacing:-.005em;color:var(--sf-creme);
}
.sw-rel-l{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 clamp(28px,4vw,56px);
  max-width:900px;
}
.sw-rel-l a{
  display:block;
  padding:16px 0 17px;
  border-top:1px solid var(--sf-linie);
  color:var(--sf-weich);text-decoration:none;
  transition:color .4s var(--sf-ease);
}
.sw-rel-l a:nth-child(-n+2){border-top-color:transparent}
.sw-rel-l b{
  display:block;font-weight:600;font-size:16px;line-height:1.35;
  color:var(--sf-creme);transition:color .4s var(--sf-ease);
}
.sw-rel-l span{display:block;margin-top:3px;font-size:14.5px;line-height:1.5}
.sw-rel-l a:hover b{color:var(--sf-gold)}
@media (max-width:640px){
  .sw-rel-l{grid-template-columns:1fr}
  .sw-rel-l a:nth-child(2){border-top-color:var(--sf-linie)}
  .sw-rel-l a{padding:14px 0 15px}
}
