/* SaaleSpa Silvester (01.11.2026): eigene Seite mit drei festen Terminen und Anfrage. Kein Text auf Fotos. */
.sv{--sv-night:#0b1c24;--sv-deep:#10262f;--sv-ink:#16333d;--sv-cream:#f4f1ea;--sv-sand:#ebe4d6;--sv-gold:#d9bb87;--sv-gold-deep:#a9834b;--sv-mist:#c9d4d5;
  --sv-serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;--sv-label:'Josefin Sans','DM Sans',Arial,sans-serif;--sv-sans:'DM Sans',Arial,sans-serif}
.sv *{box-sizing:border-box}
.sv-kicker{font:600 13px/1.3 var(--sv-label);letter-spacing:.2em;text-transform:uppercase;color:var(--sv-gold);margin:0 0 14px}
.sv h1,.sv h2,.sv h3{font-family:var(--sv-serif);font-weight:300;letter-spacing:-.01em;margin:0}
.sv h1 em,.sv h2 em{font-style:italic;color:var(--sv-gold)}

/* Kopf: Text und Bild nebeneinander, nie übereinander */
.sv-kopf{background:radial-gradient(120% 90% at 85% 0%,#17374399 0%,transparent 60%),var(--sv-night);color:var(--sv-cream);padding:128px 24px 72px}
.sv-kopf-in{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:56px;align-items:center}
.sv-kopf h1{font-size:clamp(46px,6vw,88px);line-height:.98;margin-bottom:22px}
.sv-kopf .sv-lead{font:400 19px/1.6 var(--sv-sans);color:#e3ddd0;max-width:34em;margin:0 0 30px}
.sv-knopf{display:inline-flex;align-items:center;gap:12px;min-height:54px;padding:0 28px;border-radius:999px;background:var(--sv-gold);color:var(--sv-night);font:600 16px/1 var(--sv-sans);text-decoration:none;border:0;cursor:pointer;transition:transform .25s,box-shadow .25s,background .25s}
.sv-knopf:hover{transform:translateY(-2px);box-shadow:0 14px 30px -14px #d9bb87aa;background:#e6cb9c}
.sv-knopf:focus-visible,.sv-feld:focus-visible,.sv-wahl input:focus-visible+span,.sv-zaehler button:focus-visible{outline:3px solid var(--sv-gold);outline-offset:3px}
.sv-knopf-leise{background:transparent;color:var(--sv-cream);box-shadow:inset 0 0 0 1px #f4f1ea66}
.sv-knopf-leise:hover{background:#f4f1ea14;box-shadow:inset 0 0 0 1px #f4f1eaaa}
.sv-aktionen{display:flex;flex-wrap:wrap;gap:12px}
.sv-fakten{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:12px 36px;margin:34px 0 0;padding:22px 0 0;border-top:1px solid #f4f1ea26}
.sv-fakten div{display:flex;flex-direction:column;gap:4px}
.sv-fakten strong{font:400 30px/1 var(--sv-serif);color:var(--sv-gold)}
.sv-fakten span{font:500 13px/1.3 var(--sv-sans);color:#cfd6d6}
.sv-bild{margin:0;position:relative}
.sv-bild img{display:block;width:100%;height:auto;border-radius:22px;box-shadow:0 40px 80px -40px #000c, 0 0 0 1px #f4f1ea1a;aspect-ratio:1/1;object-fit:cover}
.sv-bild figcaption{font:400 13px/1.4 var(--sv-sans);color:#9fb0b2;margin-top:12px}

/* Termine */
.sv-termine{background:var(--sv-cream);color:var(--sv-ink);padding:96px 24px}
.sv-in{max-width:1240px;margin:0 auto}
.sv-termine h2,.sv-anfrage h2,.sv-wissen h2{font-size:clamp(38px,4.4vw,62px);line-height:1.02;margin-bottom:14px}
.sv-termine .sv-kicker,.sv-wissen .sv-kicker{color:var(--sv-gold-deep)}
.sv-unter{font:400 18px/1.6 var(--sv-sans);color:#4a5d63;max-width:40em;margin:0 0 44px}
.sv-karten{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.sv-karte{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:22px;padding:30px 28px 28px;box-shadow:0 1px 0 #e3ddd0,0 24px 50px -36px #16333d55;border:1px solid #e7e0d2}
.sv-karte.sv-hoehepunkt{background:var(--sv-deep);color:var(--sv-cream);border-color:#d9bb8766;box-shadow:0 30px 60px -30px #0b1c24cc}
.sv-band{position:absolute;top:-13px;left:28px;padding:6px 14px;border-radius:999px;background:var(--sv-gold);color:var(--sv-night);font:600 12px/1 var(--sv-label);letter-spacing:.14em;text-transform:uppercase}
.sv-zeit{font:600 13px/1.3 var(--sv-label);letter-spacing:.18em;text-transform:uppercase;color:var(--sv-gold-deep);margin:0 0 10px}
.sv-hoehepunkt .sv-zeit{color:var(--sv-gold)}
.sv-karte h3{font-size:34px;line-height:1.05;margin-bottom:16px}
.sv-preis{display:flex;align-items:baseline;gap:10px;margin:0 0 4px}
.sv-preis strong{font:400 52px/1 var(--sv-serif)}
.sv-preis-text{font:500 14px/1.5 var(--sv-sans);color:#5b6c71;margin:0 0 20px}
.sv-hoehepunkt .sv-preis-text{color:#c7d1d2}
.sv-drin{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px;padding:0;list-style:none}
.sv-drin li{margin:0!important;display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;background:#f1ece2;font:500 14px/1.2 var(--sv-sans);color:var(--sv-ink)}
.sv-hoehepunkt .sv-drin li{background:#f4f1ea14;color:var(--sv-cream);box-shadow:inset 0 0 0 1px #f4f1ea22}
.sv-karte-fuss{margin-top:auto;display:flex;flex-direction:column;gap:14px}
.sv-stand{display:inline-flex;align-items:center;gap:8px;font:600 14px/1.2 var(--sv-sans)}
.sv-stand::before{content:"";width:9px;height:9px;border-radius:50%;background:#3c8a5a;box-shadow:0 0 0 4px #3c8a5a26}
.sv-stand[data-stand="reserviert"]::before{background:#c98a2e;box-shadow:0 0 0 4px #c98a2e26}
.sv-stand[data-stand="vergeben"]::before{background:#a23b2f;box-shadow:0 0 0 4px #a23b2f26}
.sv-stand[data-stand="laedt"]::before{background:#9aa;box-shadow:none}
.sv-karte .sv-knopf{justify-content:center;width:100%}
.sv-karte:not(.sv-hoehepunkt) .sv-knopf{background:var(--sv-ink);color:var(--sv-cream)}
.sv-karte:not(.sv-hoehepunkt) .sv-knopf:hover{background:#1f4552}
.sv-hinweis{margin:30px 0 0;font:400 15px/1.6 var(--sv-sans);color:#4a5d63;max-width:52em}

/* Anfrage */
.sv-anfrage{background:var(--sv-night);color:var(--sv-cream);padding:96px 24px}
.sv-anfrage-in{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;align-items:start}
.sv-anfrage .sv-unter{color:#cfd6d6}
.sv-form fieldset{border:0;margin:0 0 30px;padding:0}
.sv-form legend{font:600 13px/1.3 var(--sv-label);letter-spacing:.18em;text-transform:uppercase;color:var(--sv-gold);margin:0 0 14px;padding:0}
.sv-wahlen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.sv-wahl{position:relative;display:block;cursor:pointer}
.sv-wahl input{position:absolute;opacity:0;inset:0;margin:0}
.sv-wahl span{display:flex;flex-direction:column;gap:6px;min-height:100%;padding:16px 16px 14px;border-radius:16px;background:#f4f1ea0d;box-shadow:inset 0 0 0 1px #f4f1ea33;transition:box-shadow .2s,background .2s}
.sv-wahl b{font:600 16px/1.25 var(--sv-sans)}
.sv-wahl small{font:400 14px/1.35 var(--sv-sans);color:#c7d1d2}
.sv-wahl input:checked+span{background:#d9bb871f;box-shadow:inset 0 0 0 2px var(--sv-gold)}
.sv-wahl input:disabled+span{opacity:.45;cursor:not-allowed}
.sv-zaehler{display:inline-flex;align-items:center;gap:6px;padding:6px;border-radius:999px;box-shadow:inset 0 0 0 1px #f4f1ea33}
.sv-zaehler button{width:48px;height:48px;border-radius:50%;border:0;background:#f4f1ea14;color:var(--sv-cream);font:500 24px/1 var(--sv-sans);cursor:pointer}
.sv-zaehler button:disabled{opacity:.35;cursor:not-allowed}
.sv-zaehler output{min-width:84px;text-align:center;font:600 18px/1 var(--sv-sans)}
.sv-felder{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sv-felder label{display:flex;flex-direction:column;gap:7px;font:500 15px/1.3 var(--sv-sans);color:#dfe5e5}
.sv-felder .sv-breit{grid-column:1/-1}
.sv-feld{width:100%;min-height:52px;padding:13px 15px;border-radius:12px;border:1px solid #f4f1ea40;background:#f4f1ea0f;color:var(--sv-cream);font:400 17px/1.3 var(--sv-sans)}
textarea.sv-feld{min-height:110px;resize:vertical}
.sv-feld::placeholder{color:#93a3a6}
.sv-zustimmung{display:flex;gap:12px;align-items:flex-start;margin:4px 0 26px;font:400 15px/1.5 var(--sv-sans);color:#dfe5e5}
.sv-zustimmung input{width:22px;height:22px;margin:1px 0 0;flex:none;accent-color:var(--sv-gold)}
.sv-zustimmung a{color:var(--sv-gold)}
.sv-falle{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sv-meldung{margin:16px 0 0;font:500 16px/1.5 var(--sv-sans);min-height:1.5em}
.sv-meldung[data-art="fehler"]{color:#ffb4a6}
.sv-summe{position:sticky;top:110px;padding:28px;border-radius:22px;background:var(--sv-cream);color:var(--sv-ink)}
.sv-summe h3{font-size:30px;margin-bottom:6px}
.sv-summe dl{margin:18px 0;display:grid;grid-template-columns:auto 1fr;gap:10px 14px;font:400 15px/1.4 var(--sv-sans)}
.sv-summe dt{color:#5b6c71}
.sv-summe dd{margin:0;text-align:right;font-weight:600}
.sv-summe .sv-gesamt{display:flex;justify-content:space-between;align-items:baseline;padding-top:16px;border-top:1px solid #d9d1c2}
.sv-summe .sv-gesamt strong{font:400 44px/1 var(--sv-serif)}
.sv-summe p{font:400 14px/1.55 var(--sv-sans);color:#4a5d63;margin:14px 0 0}
.sv-danke{padding:34px;border-radius:22px;background:#d9bb871a;box-shadow:inset 0 0 0 1px #d9bb8766}
.sv-danke h3{font-size:38px;margin-bottom:12px}
.sv-danke p{font:400 17px/1.6 var(--sv-sans);margin:0 0 10px;color:#e3ddd0}

/* Gut zu wissen */
.sv-wissen{background:var(--sv-sand);color:var(--sv-ink);padding:96px 24px}
.sv-wissen-in{max-width:880px;margin:0 auto}
.sv-wissen details{border-top:1px solid #cfc5b2}
.sv-wissen details:last-of-type{border-bottom:1px solid #cfc5b2}
.sv-wissen summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:64px;padding:16px 0;font:500 19px/1.35 var(--sv-sans)}
.sv-wissen summary::-webkit-details-marker{display:none}
.sv-wissen summary::after{content:"+";font:300 30px/1 var(--sv-serif);color:var(--sv-gold-deep);transition:transform .25s}
.sv-wissen details[open] summary::after{transform:rotate(45deg)}
.sv-wissen details p{margin:0 0 20px;font:400 17px/1.65 var(--sv-sans);color:#3e5258;max-width:44em}

@media (max-width:1000px){
  .sv-kopf-in{grid-template-columns:1fr;gap:34px}
  .sv-bild{order:-1}
  .sv-karten{grid-template-columns:1fr;gap:28px}
  .sv-karte.sv-hoehepunkt{order:-1}
  .sv-anfrage-in{grid-template-columns:1fr}
  .sv-summe{position:static}
}
@media (max-width:640px){
  .sv-kopf{padding:100px 16px 56px}
  .sv-kopf .sv-lead{font-size:17px}
  .sv-termine,.sv-anfrage,.sv-wissen{padding:68px 16px}
  .sv-wahlen{grid-template-columns:1fr}
  .sv-felder{grid-template-columns:1fr}
  .sv-aktionen .sv-knopf{width:100%;justify-content:center}
  .sv-fakten{grid-template-columns:repeat(2,auto);gap:16px 28px}
}
@media (prefers-reduced-motion:reduce){.sv-knopf,.sv-wahl span,.sv-wissen summary::after{transition:none}}

/* ---------- Effekte (01.11.2026) ---------- */
/* Countdown */
.sv-countdown{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0 0 26px}
.sv-countdown[hidden]{display:none}
.sv-countdown-label{font:600 12px/1.2 var(--sv-label);letter-spacing:.2em;text-transform:uppercase;color:#cfd6d6}
.sv-countdown-zahlen{display:inline-flex;align-items:baseline;gap:6px;padding:9px 16px;border-radius:999px;background:#f4f1ea0f;box-shadow:inset 0 0 0 1px #d9bb8755}
.sv-countdown-zahlen b{font:500 22px/1 var(--sv-sans);font-variant-numeric:tabular-nums;color:var(--sv-gold)}
.sv-countdown-zahlen small{font:500 13px/1 var(--sv-sans);color:#cfd6d6;margin-right:8px}
.sv-countdown-zahlen small:last-child{margin-right:0}

/* Feuerwerk über dem Bild */
.sv-bild{isolation:isolate}
.sv-funken{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;border-radius:22px;z-index:1}

/* Lichtkante um den Höhepunkt und Lichtschein unter der Maus */
@property --sv-w{syntax:'<angle>';inherits:false;initial-value:0deg}
.sv-karte{overflow:visible;isolation:isolate}
.sv-karte::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;
  background:radial-gradient(380px circle at var(--sv-x,50%) var(--sv-y,50%),rgba(217,187,135,.16),transparent 55%)}
.sv-karte.sv-schein::after{opacity:1}
.sv-hoehepunkt::before{content:"";position:absolute;inset:-1px;border-radius:23px;padding:1.5px;pointer-events:none;z-index:2;
  background:conic-gradient(from var(--sv-w),rgba(217,187,135,.15) 0deg,rgba(217,187,135,.15) 220deg,#d9bb87 290deg,#fff3dc 320deg,#d9bb87 340deg,rgba(217,187,135,.15) 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
  animation:sv-kreisen 5s linear infinite}
@keyframes sv-kreisen{to{--sv-w:360deg}}

/* Zeitleiste */
.sv-abend{background:linear-gradient(180deg,var(--sv-cream),#efe9dd);color:var(--sv-ink);padding:24px 24px 104px}
.sv-abend-in{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:start}
.sv-abend-kopf{position:sticky;top:120px}
.sv-abend h2{font-size:clamp(38px,4.4vw,62px);line-height:1.02;margin-bottom:14px}
.sv-abend .sv-kicker{color:var(--sv-gold-deep)}
.sv-zeitleiste{--sv-fuell:0;position:relative;list-style:none;margin:0;padding:0 0 0 34px}
.sv-zeitleiste::before,.sv-zeitleiste::after{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;border-radius:2px}
.sv-zeitleiste::before{background:#d9d1c2}
.sv-zeitleiste::after{background:linear-gradient(var(--sv-gold),var(--sv-gold-deep));transform-origin:top;transform:scaleY(var(--sv-fuell))}
.sv-zeitleiste li{position:relative;margin:0 0 34px!important;padding:0!important;opacity:.45;transform:translateY(8px);transition:opacity .6s,transform .6s}
.sv-zeitleiste li:last-child{margin-bottom:0!important}
.sv-zeitleiste li::before{content:"";position:absolute;left:-33px;top:6px;width:14px;height:14px;border-radius:50%;background:var(--sv-cream);box-shadow:inset 0 0 0 2px #cfc5b2;z-index:1;transition:box-shadow .4s,background .4s}
.sv-zeitleiste li.sv-an{opacity:1;transform:none}
.sv-zeitleiste li.sv-an::before{background:var(--sv-gold);box-shadow:0 0 0 5px #d9bb8733}
.sv-zeit-mark{display:block;font:600 13px/1.3 var(--sv-label);letter-spacing:.16em;text-transform:uppercase;color:var(--sv-gold-deep);margin-bottom:6px}
.sv-zeitleiste h3{font-size:30px;line-height:1.1;margin-bottom:6px}
.sv-zeitleiste p{margin:0;font:400 17px/1.6 var(--sv-sans);color:#3e5258;max-width:34em}

/* Glanz auf dem Absendeknopf, Puls am Gesamtpreis */
.sv-glanz{position:relative;overflow:hidden}
.sv-glanz::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 48%,transparent 62%);transform:translateX(-120%);animation:sv-glanz 3.6s ease-in-out 1.2s infinite}
@keyframes sv-glanz{0%,55%{transform:translateX(-120%)}85%,100%{transform:translateX(120%)}}
.sv-puls{animation:sv-puls .5s ease}
@keyframes sv-puls{40%{transform:scale(1.08);color:var(--sv-gold-deep)}}

@media (max-width:1000px){.sv-abend-in{grid-template-columns:1fr;gap:28px}.sv-abend-kopf{position:static}}
@media (max-width:640px){
  .sv-bild img{aspect-ratio:4/3;object-position:50% 12%}
  .sv-abend{padding:8px 16px 72px}
  .sv-zeitleiste h3{font-size:26px}
}
@media (prefers-reduced-motion:reduce){
  .sv-hoehepunkt::before,.sv-glanz::after,.sv-puls{animation:none}
  .sv-zeitleiste li{opacity:1;transform:none;transition:none}
}
