/* Spielerische Variante (#41): Ergänzungen zu style.css. */
/* Canvas nimmt Zeigereingaben an; die Bühne lässt sie durch, außer auf Links und der Karte */
.spiel #wetter{touch-action:none;cursor:grab}
.spiel #wetter.zieht{cursor:grabbing}
.spiel .buehne{pointer-events:none}
.spiel .buehne a,.spiel .karte{pointer-events:auto}

.stand{display:flex;gap:8px;font-size:13px;color:var(--text-2);margin:0 10px 0 auto}
.stand i{font-style:normal}
.stand span{padding:7px 14px;border-radius:999px;border:1px solid var(--linie);background:rgba(14,34,54,.4);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);white-space:nowrap}
.stand b{font-weight:600;color:var(--cream);font-variant-numeric:tabular-nums}
.stand .wackelt{animation:wackeln .5s}
@keyframes wackeln{25%{transform:translateX(-3px)}50%{transform:translateX(3px)}75%{transform:translateX(-2px)}}

/* Schalter Profi-Schutz (#5): hell und pulsierend, solange aus */
.schalter{pointer-events:auto;display:inline-flex;align-items:center;gap:10px;margin-right:10px;font:inherit;font-size:15px;font-weight:600;padding:8px 18px 8px 8px;border-radius:999px;border:1px solid var(--cream);background:var(--cream);color:var(--ink);cursor:pointer;white-space:nowrap;animation:puls 2.4s ease-out infinite;transition:background .4s,color .4s,border-color .4s}
.schalter b{font-weight:600}
.knubbel{position:relative;width:40px;height:24px;border-radius:999px;background:rgba(21,49,79,.25);transition:background .4s}
.knubbel::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--ink);transition:transform .4s var(--ease),background .4s}
.schalter[aria-checked="true"]{background:var(--c3);border-color:var(--c3-hell);color:var(--cream);animation:none}
.schalter[aria-checked="true"] .knubbel{background:var(--c3-hell)}
.schalter[aria-checked="true"] .knubbel::after{transform:translateX(16px);background:var(--cream)}
.schalter:focus-visible{outline:2px solid var(--c3-hell);outline-offset:3px}
@keyframes puls{0%{box-shadow:0 0 0 0 rgba(246,245,241,.55)}70%,100%{box-shadow:0 0 0 14px rgba(246,245,241,0)}}

/* Angebot nach ein paar Blitzen */
.angebot{position:fixed;z-index:5;right:var(--pad);top:clamp(76px,12vh,110px);width:min(400px,calc(100vw - 2*var(--pad)));padding:22px 24px 24px;border-radius:22px;border:1px solid rgba(246,245,241,.2);background:rgba(14,34,54,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 30px 60px -20px rgba(0,0,0,.5);animation:rein .7s var(--ease)}
.angebot[hidden]{display:none}
.angebot-zu{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;border:1px solid var(--linie);background:none;color:var(--cream);font:inherit;font-size:22px;line-height:1;cursor:pointer;transition:background .3s,border-color .3s}
.angebot-zu:hover{background:rgba(246,245,241,.08);border-color:rgba(246,245,241,.4)}
.angebot > .label{padding-right:40px}
.angebot-zu:focus-visible{outline:2px solid var(--c3-hell);outline-offset:2px}
@keyframes rein{from{opacity:0;transform:translateY(20px) scale(.97)}}
.angebot-titel{font-family:var(--serif);font-weight:300;font-size:28px;line-height:1.1;margin:8px 0 10px}
.angebot-text{color:var(--text-2);font-size:15px}
.angebot-btns[hidden]{display:none}
.angebot-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.knopf{font:inherit;font-size:15px;font-weight:500;padding:11px 18px;border-radius:999px;border:1px solid var(--linie);background:none;color:var(--cream);cursor:pointer;transition:background .3s,border-color .3s}
.knopf:hover{border-color:rgba(246,245,241,.4);background:rgba(246,245,241,.06)}
.knopf-hell{background:var(--cream);color:var(--ink);border-color:var(--cream)}
.knopf-hell:hover{background:#fff}
.angebot-anruf{display:block;margin-top:16px;font-family:var(--serif);font-size:22px;color:var(--c3-hell)}
.angebot-anruf[hidden]{display:none}

@media (max-width:860px),(orientation:portrait) and (max-width:1100px){
  /* Handy/Hochformat (#5): Seite darf scrollen statt alles in eine Bildschirmhöhe zu pressen.
     Spielfeld oben mit fester Höhe, Leinwand scrollt mit; Text und Fuß nehmen Wischgesten zum Scrollen an. */
  html:has(.spiel),.spiel{height:auto;overflow-x:hidden;overflow-y:auto}
  .spiel .buehne{height:auto;min-height:100svh}
  .spiel #wetter{position:absolute}
  .spiel .mitte{grid-template-rows:clamp(280px,46svh,420px) auto}
  .spiel .text,.spiel .fuss{pointer-events:auto}
  .spiel .lead{display:block}
  /* Kopfzeile nur Logo + Telefon; Zähler und Schalter in eigener Zeile darunter, Spiel beginnt erst danach (#7) */
  .spiel .top{flex-wrap:wrap;row-gap:14px}
  .spiel .top::after{content:"";order:2;flex-basis:100%}
  .spiel .pille{order:1;margin-left:auto}
  .stand{order:3;margin:0}
  .schalter{order:4;margin:0 0 0 auto}
  .spiel .karte{margin-top:24px}
  .spiel .fuss{padding:28px 0 32px}
  .angebot{left:var(--pad);right:var(--pad);width:auto;top:auto;bottom:clamp(16px,3vh,28px)}
}
@media (max-width:520px){
  .stand{font-size:12px;gap:6px}
  .stand span{padding:6px 10px}
  .stand i{display:none}
  .schalter{font-size:14px;padding:6px 14px 6px 6px}
  .spiel .logo{width:112px}
}
