/* Pfotenpaare — gemeinsame Gestaltung fuer Landing- und Rechtsseiten. */
:root {
  --orange-hell: #ffb454;
  --orange: #f7981c;
  --orange-dunkel: #f2822b;
  --gruen: #2f6b4f;
  --gruen-hell: #3d8a66;
  --creme: #fffdf7;
  --creme-dunkel: #fbefd9;
  --text: #2b2118;
  --text-leise: #6b5c4c;
  --karte: #ffffff;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  color: var(--text);
  background: var(--creme);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--gruen); }

.huelle { width: min(1100px, 100% - 2.5rem); margin-inline: auto; }

/* ---------- Kopf ---------- */
.kopf {
  background: linear-gradient(180deg, var(--orange-hell), var(--orange-dunkel));
  padding: 2rem 0 4.5rem;
  position: relative;
  overflow: hidden;
}
.kopf::after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: -1px; height: 70px;
  background: var(--creme);
  clip-path: ellipse(75% 100% at 50% 100%);
}
.marke { display: flex; align-items: center; gap: .75rem; }
.marke img { width: 48px; height: 48px; border-radius: 12px; }
.marke span { font-size: 1.35rem; font-weight: 800; color: #fff; letter-spacing: -.02em; }

.held { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; margin-top: 2.5rem; }
.held h1 {
  font-size: clamp(2.1rem, 5vw, 3.3rem); line-height: 1.1; margin: 0 0 1rem;
  color: #fff; letter-spacing: -.03em; text-shadow: 0 2px 0 rgba(0,0,0,.12);
}
.held p.vorspann { font-size: 1.2rem; color: #fff; opacity: .96; margin: 0 0 1.75rem; max-width: 34ch; }

.abzeichen { display: flex; flex-wrap: wrap; gap: .6rem; margin-bottom: 1.75rem; }
.abzeichen span {
  background: rgba(255,255,255,.22); color: #fff; font-weight: 600; font-size: .9rem;
  padding: .35rem .8rem; border-radius: 999px; backdrop-filter: blur(4px);
}

.hinweis-store {
  display: inline-block; background: var(--gruen); color: #fff; font-weight: 700;
  padding: .8rem 1.4rem; border-radius: 14px; text-decoration: none;
  box-shadow: 0 4px 0 #24523c;
}
.hinweis-store small { display: block; font-weight: 500; opacity: .85; font-size: .78rem; }

/* ---------- Geraete ---------- */
.geraete { display: flex; justify-content: center; align-items: center; gap: .5rem; }
.geraet {
  width: 172px; aspect-ratio: 9 / 19.5; background: #1b1b1f; border-radius: 26px;
  padding: 7px; box-shadow: 0 18px 40px rgba(0,0,0,.28);
  flex: none;
}
.geraet:nth-child(1) { transform: rotate(-6deg) translateY(16px); }
.geraet:nth-child(2) { transform: translateY(-12px); }
.geraet:nth-child(3) { transform: rotate(6deg) translateY(16px); }
.schirm {
  width: 100%; height: 100%; border-radius: 20px; overflow: hidden;
  display: flex; flex-direction: column; background: var(--creme-dunkel);
}

/* Startbildschirm */
.s-start { background: linear-gradient(180deg, #ffd9a0, #ffb454); align-items: center; justify-content: center; gap: .8rem; padding: 1rem; }
.s-start img.logo { width: 74px; border-radius: 16px; }
.s-start .titel { font-weight: 800; color: #7a4a12; font-size: .95rem; }
.s-start .knopf { background: var(--gruen); color: #fff; font-weight: 700; font-size: .62rem; padding: .45rem .8rem; border-radius: 10px; white-space: nowrap; }

/* Spielfeld */
.s-feld { background: linear-gradient(180deg, #cfe6d6, #a9d2ba); padding: .5rem; gap: .35rem; }
.leiste { display: flex; justify-content: space-between; font-size: .55rem; font-weight: 700; color: #2f6b4f; padding: .15rem .2rem; }
.gitter { display: grid; grid-template-columns: repeat(4, 1fr); gap: .26rem; flex: 1; align-content: start; }
.gitter img, .gitter .rueck {
  width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 5px;
  box-shadow: 0 1px 3px rgba(0,0,0,.25);
}
.gitter .rueck { background-size: cover; background-position: center; }

/* Siegbildschirm */
.s-sieg { background: linear-gradient(180deg, #fff3dd, #ffd9a0); align-items: center; justify-content: center; gap: .55rem; padding: 1rem; }
.s-sieg .jubel { font-size: 1.5rem; }
.s-sieg .zeile { display: flex; gap: .4rem; }
.s-sieg .kachel { background: #fff; border-radius: 8px; padding: .35rem .55rem; text-align: center; min-width: 46px; }
.s-sieg .kachel b { display: block; font-size: .8rem; color: var(--gruen); }
.s-sieg .kachel small { font-size: .5rem; color: var(--text-leise); }
.s-sieg .rekord { font-size: .58rem; font-weight: 700; color: #b3701a; }
.s-sieg .gewonnen { font-weight: 800; color: #7a4a12; font-size: .92rem; }
.s-sieg .knopf-sieg {
  background: var(--gruen); color: #fff; font-weight: 700; font-size: .62rem;
  padding: .38rem .9rem; border-radius: 9px; margin-top: .1rem;
}
.s-sieg .knopf-sieg.hell { background: rgba(0,0,0,.12); color: #5c4326; }

/* ---------- Abschnitte ---------- */
section { padding: 3.5rem 0; }
h2 { font-size: clamp(1.5rem, 3vw, 2.1rem); letter-spacing: -.02em; margin: 0 0 .6rem; }
.leise { color: var(--text-leise); max-width: 62ch; margin: 0 0 2rem; }

.raster { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1.25rem; }
.merkmal {
  background: var(--karte); border: 1px solid #f0e4d0; border-radius: 16px; padding: 1.4rem;
}
.merkmal .zeichen { font-size: 1.7rem; line-height: 1; margin-bottom: .6rem; }
.merkmal h3 { margin: 0 0 .35rem; font-size: 1.05rem; }
.merkmal p { margin: 0; color: var(--text-leise); font-size: .95rem; }

.eltern { background: var(--gruen); color: #fff; }
.eltern h2 { color: #fff; }
.eltern .leise { color: rgba(255,255,255,.85); }
.eltern .merkmal { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.2); }
.eltern .merkmal h3 { color: #fff; }
.eltern .merkmal p { color: rgba(255,255,255,.85); }

.motivband { display: flex; gap: .7rem; overflow-x: auto; padding-bottom: .5rem; }
.motivband img { width: 92px; height: 92px; object-fit: cover; border-radius: 12px; flex: none; box-shadow: 0 3px 10px rgba(0,0,0,.12); }

/* ---------- Fuss ---------- */
.fuss { background: #2b2118; color: #cbbfae; padding: 2.5rem 0; font-size: .92rem; }
.fuss a { color: #ffd9a0; text-decoration: none; }
.fuss a:hover { text-decoration: underline; }
.fuss nav { display: flex; flex-wrap: wrap; gap: 1.2rem; margin-bottom: 1rem; }

/* ---------- Rechtsseiten ---------- */
.rechtstext { padding: 2.5rem 0 4rem; }
.rechtstext h1 { font-size: 2rem; margin-bottom: .25rem; }
.rechtstext h2 { font-size: 1.2rem; margin-top: 2rem; }
.rechtstext table { border-collapse: collapse; width: 100%; margin: 1rem 0; font-size: .93rem; }
.rechtstext th, .rechtstext td { border: 1px solid #e6d9c4; padding: .55rem .7rem; text-align: left; vertical-align: top; }
.rechtstext th { background: var(--creme-dunkel); }
.zurueck { display: inline-block; margin-bottom: 1.5rem; text-decoration: none; font-weight: 600; }
.platzhalter {
  background: #fff4d6; border-left: 4px solid var(--orange); padding: .8rem 1rem;
  border-radius: 0 8px 8px 0; margin: 1rem 0;
}

@media (max-width: 820px) {
  .held { grid-template-columns: 1fr; gap: 2rem; }
  .held p.vorspann { max-width: none; }
  .geraet { width: 150px; }
}

/* ---------- Neue Startseite: Navigation und Hero ---------- */
.sprunglink {
  position: fixed;
  z-index: 100;
  top: .75rem;
  left: .75rem;
  padding: .7rem 1rem;
  border-radius: 10px;
  background: #fff;
  color: var(--gruen);
  font-weight: 700;
  transform: translateY(-160%);
}
.sprunglink:focus { transform: translateY(0); }

.seitenkopf {
  position: relative;
  overflow: hidden;
  padding: 1.15rem 0 2.2rem;
  background:
    radial-gradient(circle at 82% 15%, rgba(255,255,255,.65) 0 8%, transparent 8.2%),
    linear-gradient(145deg, #fffaf0 0%, #fff3dc 58%, #ffe0ad 100%);
}
.seitenkopf::before {
  content: "";
  position: absolute;
  width: 38rem;
  height: 38rem;
  right: -18rem;
  bottom: -22rem;
  border-radius: 50%;
  background: rgba(47,107,79,.08);
}

.navigation {
  position: relative;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  min-height: 56px;
}
.navigation .marke { color: var(--text); text-decoration: none; }
.navigation .marke img { box-shadow: 0 8px 20px rgba(137,78,17,.16); }
.navigation .marke span { color: var(--text); }
.nav-links { display: flex; align-items: center; gap: 1.75rem; margin-left: auto; }
.nav-links a {
  color: var(--text-leise);
  font-weight: 650;
  font-size: .92rem;
  text-decoration: none;
}
.nav-links a:hover { color: var(--gruen); }
.nav-status {
  padding: .55rem .9rem;
  border: 1px solid rgba(47,107,79,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.62);
  color: var(--gruen);
  font-size: .8rem;
  font-weight: 750;
  white-space: nowrap;
}

.hero {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr);
  align-items: center;
  gap: clamp(2rem, 6vw, 5rem);
  min-height: 630px;
  padding: 4.2rem 0 4rem;
}
.hero-text { max-width: 610px; }
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin: 0 0 1.25rem;
  color: var(--gruen);
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.eyebrow::before {
  content: "";
  width: 1.75rem;
  height: 2px;
  border-radius: 999px;
  background: var(--orange);
}
.hero h1 {
  max-width: 11ch;
  margin: 0 0 1.4rem;
  color: var(--text);
  font-size: clamp(3rem, 6vw, 5.6rem);
  line-height: .96;
  letter-spacing: -.055em;
}
.hero h1 span { color: var(--gruen); }
.hero-lead {
  max-width: 54ch;
  margin: 0 0 2rem;
  color: var(--text-leise);
  font-size: clamp(1.04rem, 1.8vw, 1.2rem);
  line-height: 1.65;
}
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .9rem; }
.hero-actions a { text-decoration: none; }
.primaer {
  display: inline-flex;
  flex-direction: column;
  min-width: 205px;
  padding: .82rem 1.25rem;
  border-radius: 16px;
  background: var(--gruen);
  color: #fff;
  box-shadow: 0 9px 0 #23543e, 0 18px 32px rgba(35,84,62,.18);
  transition: transform .2s ease, box-shadow .2s ease;
}
.primaer:hover { transform: translateY(-2px); box-shadow: 0 11px 0 #23543e, 0 20px 36px rgba(35,84,62,.22); }
.primaer span { font-weight: 800; line-height: 1.15; }
.primaer small { margin-top: .18rem; color: rgba(255,255,255,.76); font-size: .72rem; }
.sekundaer { padding: .85rem 1rem; color: var(--gruen); font-weight: 750; }
.sekundaer::after { content: "  →"; }

.spielszene {
  position: relative;
  min-height: 520px;
  isolation: isolate;
}
.sonne {
  position: absolute;
  inset: 2% 0 auto 7%;
  width: 92%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #ffc66d;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.25);
}
.spielfeld {
  position: absolute;
  z-index: 2;
  inset: 8% 8% 5% 13%;
  padding: clamp(1rem, 2.3vw, 1.55rem);
  border: 7px solid #fffdf8;
  border-radius: 34px;
  background: linear-gradient(155deg, #b9dfc9, #6ead8e);
  box-shadow: 0 28px 65px rgba(63,79,53,.25), 0 3px 0 rgba(46,93,67,.2);
  transform: rotate(2.6deg);
}
.spielfeld-kopf {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: .05rem .25rem .8rem;
  color: #214e3a;
  font-size: .78rem;
  font-weight: 750;
}
.kartenraster { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(.45rem, 1vw, .7rem); }
.kartenraster img,
.kartenrueckseite {
  width: 100%;
  aspect-ratio: 1;
  border: 3px solid rgba(255,255,255,.75);
  border-radius: 14px;
  object-fit: cover;
  box-shadow: 0 7px 15px rgba(35,84,62,.2);
}
.kartenrueckseite {
  background: #f8ead3 url(assets/motive/cardback.jpg) center / cover;
}
.schwebekarte {
  position: absolute;
  z-index: 3;
  width: clamp(80px, 16%, 112px);
  aspect-ratio: 1;
  border: 5px solid #fff;
  border-radius: 20px;
  object-fit: cover;
  box-shadow: 0 16px 30px rgba(67,52,31,.22);
}
.karte-reh { top: 4%; right: -1%; transform: rotate(10deg); }
.karte-baer { bottom: 4%; left: 1%; transform: rotate(-10deg); }
.rundenhinweis {
  position: absolute;
  z-index: 4;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .72rem .95rem;
  border: 1px solid rgba(47,107,79,.13);
  border-radius: 14px;
  background: rgba(255,255,255,.92);
  color: var(--gruen);
  font-size: .82rem;
  font-weight: 750;
  box-shadow: 0 13px 28px rgba(67,52,31,.14);
}
.rundenhinweis span {
  display: grid;
  place-items: center;
  width: 1.45rem;
  height: 1.45rem;
  border-radius: 50%;
  background: var(--gruen);
  color: #fff;
}

.vertrauensleiste {
  position: relative;
  z-index: 5;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin: 0;
  padding: 1.15rem 1.4rem;
  border: 1px solid rgba(47,107,79,.12);
  border-radius: 22px;
  background: rgba(255,255,255,.73);
  box-shadow: 0 15px 40px rgba(94,65,31,.08);
  list-style: none;
  backdrop-filter: blur(10px);
}
.vertrauensleiste li { display: flex; flex-direction: column; gap: .05rem; padding: .15rem 1.2rem; border-right: 1px solid rgba(47,107,79,.12); }
.vertrauensleiste li:last-child { border-right: 0; }
.vertrauensleiste strong { color: var(--gruen); font-size: 1.04rem; }
.vertrauensleiste span { color: var(--text-leise); font-size: .78rem; }

.navigation a:focus-visible,
.hero-actions a:focus-visible {
  outline: 3px solid #1c6f50;
  outline-offset: 4px;
}

@media (max-width: 900px) {
  .nav-links { display: none; }
  .hero { grid-template-columns: 1fr; min-height: auto; padding-top: 3.5rem; }
  .hero-text { max-width: 700px; }
  .spielszene { width: min(620px, 100%); min-height: 540px; margin-inline: auto; }
}

@media (max-width: 600px) {
  .seitenkopf { padding-top: .75rem; }
  .navigation .marke img { width: 42px; height: 42px; }
  .navigation .marke span { font-size: 1.08rem; }
  .nav-status { padding: .45rem .7rem; font-size: .72rem; }
  .hero { gap: 1.5rem; padding: 2.7rem 0 2.5rem; }
  .hero h1 { font-size: clamp(2.75rem, 14vw, 4rem); }
  .hero-actions { align-items: stretch; }
  .primaer { flex: 1 1 100%; }
  .sekundaer { padding-left: .2rem; }
  .spielszene { min-height: 390px; }
  .spielfeld { inset: 6% 4% 4% 6%; border-width: 5px; border-radius: 24px; }
  .kartenraster { gap: .35rem; }
  .kartenraster img, .kartenrueckseite { border-width: 2px; border-radius: 9px; }
  .schwebekarte { border-width: 3px; border-radius: 14px; }
  .karte-reh { right: -1%; }
  .karte-baer { left: -1%; }
  .rundenhinweis { right: 1%; font-size: .72rem; }
  .vertrauensleiste { grid-template-columns: 1fr 1fr; gap: 0; padding: .65rem; }
  .vertrauensleiste li { padding: .65rem; }
  .vertrauensleiste li:nth-child(2) { border-right: 0; }
  .vertrauensleiste li:nth-child(-n+2) { border-bottom: 1px solid rgba(47,107,79,.12); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* ---------- Vollstaendige warme Markenwelt ---------- */
@font-face {
  font-family: "Fredoka";
  src: url("assets/fonts/Fredoka-Variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
}

:root {
  --orange-hell: #ffc56f;
  --orange: #f58b31;
  --orange-dunkel: #dc6f1e;
  --gruen: #28684d;
  --gruen-hell: #4c8b6b;
  --gruen-dunkel: #174633;
  --creme: #fffaf0;
  --creme-dunkel: #f7eddc;
  --text: #2b241d;
  --text-leise: #6e6255;
  --karte: #ffffff;
}

body {
  font-family: "Fredoka", system-ui, -apple-system, "Segoe UI", sans-serif;
  background: var(--creme);
  line-height: 1.55;
}
.huelle { width: min(1180px, 100% - 3rem); }
h1, h2, h3, p { text-wrap: pretty; }
h2 { font-size: clamp(2.35rem, 5vw, 4.6rem); line-height: 1.02; letter-spacing: -.045em; }

.karte-reh { animation: schweben-reh 5.5s ease-in-out infinite; }
.karte-baer { animation: schweben-baer 6s ease-in-out .4s infinite; }
@keyframes schweben-reh {
  0%, 100% { transform: rotate(10deg) translateY(0); }
  50% { transform: rotate(7deg) translateY(-10px); }
}
@keyframes schweben-baer {
  0%, 100% { transform: rotate(-10deg) translateY(0); }
  50% { transform: rotate(-7deg) translateY(9px); }
}

/* ---------- Spielablauf ---------- */
.spielbereich { padding: clamp(5rem, 9vw, 8.5rem) 0; background: #fffdf8; }
.abschnittskopf {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  align-items: end;
  gap: 4rem;
  margin-bottom: 3.25rem;
}
.abschnittskopf .eyebrow,
.motiv-kopf .eyebrow,
.eltern-kopf .eyebrow,
.verfuegbar .eyebrow { margin-bottom: 1rem; }
.abschnittskopf h2 { margin: 0; }
.abschnittskopf > p {
  max-width: 50ch;
  margin: 0 0 .35rem;
  color: var(--text-leise);
  font-size: 1.08rem;
}
.spielschritte { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
.spielschritt {
  min-width: 0;
  padding: 1.25rem;
  border: 1px solid #ede0cd;
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(79,60,38,.07);
}
.schritt-kopf { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.2rem; }
.schritt-kopf span {
  display: grid;
  place-items: center;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  background: var(--creme-dunkel);
  color: var(--gruen);
  font-size: .78rem;
  font-weight: 750;
}
.schritt-kopf small { color: var(--text-leise); font-size: .72rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.spielschritt h3 { margin: 1.25rem 0 .45rem; font-size: 1.35rem; line-height: 1.15; }
.spielschritt > p { margin: 0; color: var(--text-leise); font-size: .94rem; }
.start-demo,
.bilder-demo,
.groessen-demo {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 195px;
  border-radius: 19px;
  overflow: hidden;
}
.start-demo { flex-direction: column; gap: .85rem; background: linear-gradient(145deg, #ffd18b, #f69a43); }
.start-demo img { width: 68px; height: 68px; border-radius: 17px; box-shadow: 0 9px 20px rgba(132,75,24,.2); }
.start-demo span { padding: .58rem 1rem; border-radius: 12px; background: var(--gruen); color: #fff; font-size: .8rem; font-weight: 750; box-shadow: 0 5px 0 var(--gruen-dunkel); }
.bilder-demo { gap: .5rem; padding: 1.4rem; background: #dbeee1; }
.bilder-demo img { width: 31%; aspect-ratio: 1; border: 4px solid #fff; border-radius: 16px; object-fit: cover; box-shadow: 0 8px 18px rgba(35,84,62,.16); }
.bilder-demo img:first-child { transform: rotate(-7deg) translateY(6px); }
.bilder-demo img:last-child { transform: rotate(7deg) translateY(6px); }
.groessen-demo { gap: .55rem; padding: 1.4rem; background: #f9ead6; }
.groessen-demo span { display: grid; place-items: center; aspect-ratio: 1; border-radius: 13px; background: #fff; color: var(--gruen); font-weight: 750; box-shadow: 0 6px 15px rgba(84,60,30,.1); }
.groessen-demo span:nth-child(1) { width: 48px; }
.groessen-demo span:nth-child(2) { width: 66px; }
.groessen-demo span:nth-child(3) { width: 84px; background: var(--gruen); color: #fff; }

/* ---------- Motivgalerie ---------- */
.motivbereich { padding: clamp(5rem, 9vw, 8.5rem) 0; background: var(--creme-dunkel); }
.motiv-kopf { display: grid; grid-template-columns: 1fr 1fr; column-gap: 4rem; align-items: end; margin-bottom: 3rem; }
.motiv-kopf .eyebrow { grid-column: 1 / -1; }
.motiv-kopf h2 { margin: 0; }
.motiv-kopf > p:last-child { max-width: 50ch; margin: 0 0 .35rem; color: var(--text-leise); font-size: 1.08rem; }
.motivgalerie { display: grid; grid-template-columns: repeat(5, 1fr); grid-auto-flow: dense; gap: .85rem; }
.motivgalerie figure {
  position: relative;
  min-width: 0;
  aspect-ratio: 1;
  margin: 0;
  overflow: hidden;
  border: 5px solid rgba(255,255,255,.88);
  border-radius: 21px;
  background: #fff;
  box-shadow: 0 13px 28px rgba(74,53,30,.12);
}
.motivgalerie .motiv-gross { grid-column: span 2; grid-row: span 2; }
.motivgalerie .motiv-hoch { grid-row: span 2; aspect-ratio: auto; }
.motivgalerie .motiv-breit { grid-column: span 2; aspect-ratio: auto; }
.motivgalerie img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.motivgalerie figure:hover img { transform: scale(1.035); }
.motivgalerie figcaption {
  position: absolute;
  left: .6rem;
  bottom: .6rem;
  padding: .3rem .65rem;
  border-radius: 999px;
  background: rgba(255,253,248,.92);
  color: var(--text);
  font-size: .7rem;
  font-weight: 750;
  box-shadow: 0 3px 12px rgba(39,30,20,.12);
}

/* ---------- Elternbereich ---------- */
.elternbereich {
  position: relative;
  overflow: hidden;
  padding: clamp(5rem, 9vw, 8rem) 0;
  background: var(--gruen-dunkel);
  color: #fff;
}
.elternbereich::after {
  content: "";
  position: absolute;
  width: 36rem;
  height: 36rem;
  right: -16rem;
  top: -20rem;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 50%;
  box-shadow: 0 0 0 7rem rgba(255,255,255,.025), 0 0 0 14rem rgba(255,255,255,.018);
}
.eltern-kopf { position: relative; z-index: 1; max-width: 780px; margin-bottom: 3rem; }
.eltern-kopf .eyebrow { color: #ffc36a; }
.eltern-kopf h2 { margin: 0 0 1.2rem; color: #fff; }
.eltern-kopf > p:last-child { max-width: 60ch; margin: 0; color: rgba(255,255,255,.72); font-size: 1.08rem; }
.sicherheitsraster { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, 1fr); gap: .8rem; }
.sicherheitsraster article {
  min-height: 280px;
  padding: 1.45rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 22px;
  background: rgba(255,255,255,.06);
}
.sicherheitszahl { display: inline-block; margin-bottom: 3.2rem; color: #ffc36a; font-size: .78rem; font-weight: 750; letter-spacing: .08em; }
.sicherheitsraster h3 { margin: 0 0 .75rem; color: #fff; font-size: 1.25rem; line-height: 1.18; }
.sicherheitsraster p { margin: 0; color: rgba(255,255,255,.66); font-size: .9rem; }
.familienrunde {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1.5rem;
  margin-top: 1.25rem;
  padding: 1.35rem 1.5rem;
  border-radius: 22px;
  background: #fff8e9;
  color: var(--text);
}
.spielerchips { display: flex; }
.spielerchips span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  margin-left: -9px;
  border: 3px solid #fff8e9;
  border-radius: 50%;
  background: var(--orange);
  color: #fff;
  font-size: .78rem;
  font-weight: 750;
}
.spielerchips span:first-child { margin-left: 0; background: #78a78a; }
.spielerchips span:nth-child(2) { background: #e5a34b; }
.spielerchips span:nth-child(3) { background: #bd715d; }
.spielerchips span:nth-child(4) { background: #6d7eaa; }
.familienrunde strong { display: block; margin-bottom: .2rem; }
.familienrunde p { margin: 0; color: var(--text-leise); font-size: .86rem; }
.familienrunde > a { color: var(--gruen); font-size: .86rem; font-weight: 750; white-space: nowrap; }

/* ---------- Verfuegbarkeit ---------- */
.verfuegbar { padding: clamp(4.5rem, 8vw, 7rem) 0; background: #fffdf8; }
.verfuegbar-inner {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: clamp(1.3rem, 4vw, 3rem);
  overflow: hidden;
  padding: clamp(1.5rem, 5vw, 3rem);
  border-radius: 32px;
  background: linear-gradient(135deg, #ffd28e, #f59843);
  box-shadow: 0 20px 50px rgba(131,74,22,.14);
}
.verfuegbar-inner::after { content: ""; position: absolute; right: -5rem; bottom: -8rem; width: 18rem; height: 18rem; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; box-shadow: 0 0 0 3rem rgba(255,255,255,.07); }
.verfuegbar-inner > * { position: relative; z-index: 1; }
.verfuegbar-inner > img { width: clamp(76px, 10vw, 112px); border-radius: 25%; box-shadow: 0 15px 32px rgba(122,64,15,.22); }
.verfuegbar .eyebrow { color: #6e3e0f; }
.verfuegbar .eyebrow::before { background: var(--gruen); }
.verfuegbar h2 { max-width: 14ch; margin: 0 0 .65rem; font-size: clamp(2rem, 4vw, 3.5rem); color: #56300c; }
.verfuegbar p:last-child { margin: 0; color: #75471b; }
.verfuegbar-status { display: flex; flex-direction: column; min-width: 175px; padding: .85rem 1.1rem; border: 1px solid rgba(255,255,255,.5); border-radius: 15px; background: rgba(255,255,255,.75); color: var(--gruen); }
.verfuegbar-status strong { line-height: 1.15; }
.verfuegbar-status small { margin-top: .2rem; color: var(--text-leise); }

/* ---------- Neuer Footer und Rechtsseiten ---------- */
.fuss { background: #211d18; color: #bfb5a9; padding: 3.5rem 0; }
.fuss-inner { display: grid; grid-template-columns: 1fr auto; gap: 2rem 4rem; align-items: start; }
.fuss .marke { display: inline-flex; text-decoration: none; }
.fuss .marke img { width: 42px; height: 42px; }
.fuss .marke span { color: #fff; }
.fuss-marke > p { max-width: 40ch; margin: .9rem 0 0; color: #a99f93; font-size: .86rem; }
.fuss nav { display: grid; grid-template-columns: repeat(2, auto); gap: .65rem 1.5rem; margin: .3rem 0 0; }
.fuss a { color: #e9d8bf; }
.markenhinweis { grid-column: 1 / -1; margin: .5rem 0 0; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.09); font-size: .74rem; opacity: .65; }
.rechtstext { width: min(780px, 100% - 3rem); padding: 3.5rem 0 5rem; }
.rechtstext h1 { font-size: clamp(2.2rem, 6vw, 3.5rem); line-height: 1.05; letter-spacing: -.04em; }
.rechtstext h2 { font-size: 1.35rem; line-height: 1.2; letter-spacing: -.02em; }
.rechtstext table { display: block; overflow-x: auto; }
.zurueck { color: var(--gruen); }

@media (max-width: 900px) {
  .abschnittskopf,
  .motiv-kopf { grid-template-columns: 1fr; gap: 1.25rem; }
  .spielschritte { grid-template-columns: 1fr 1fr; }
  .spielschritt:last-child { grid-column: 1 / -1; }
  .sicherheitsraster { grid-template-columns: 1fr 1fr; }
  .familienrunde { grid-template-columns: auto 1fr; }
  .familienrunde > a { grid-column: 2; }
  .verfuegbar-inner { grid-template-columns: auto 1fr; }
  .verfuegbar-status { grid-column: 2; justify-self: start; }
}

@media (max-width: 680px) {
  .huelle { width: min(100% - 1.5rem, 1180px); }
  .spielschritte { grid-template-columns: 1fr; }
  .spielschritt:last-child { grid-column: auto; }
  .motivgalerie { grid-template-columns: repeat(2, 1fr); }
  .motivgalerie .motiv-gross { grid-column: span 2; grid-row: span 2; }
  .motivgalerie .motiv-hoch { grid-row: auto; aspect-ratio: 1; }
  .motivgalerie .motiv-breit { grid-column: span 2; aspect-ratio: 2 / 1; }
  .sicherheitsraster { grid-template-columns: 1fr; }
  .sicherheitsraster article { min-height: 0; }
  .sicherheitszahl { margin-bottom: 2rem; }
  .familienrunde { grid-template-columns: 1fr; }
  .familienrunde > a { grid-column: auto; }
  .verfuegbar-inner { grid-template-columns: 1fr; text-align: left; }
  .verfuegbar-status { grid-column: auto; }
  .fuss-inner { grid-template-columns: 1fr; }
  .fuss nav { grid-template-columns: 1fr; }
  .markenhinweis { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .karte-reh, .karte-baer { animation: none; }
}
