/* Grand Beau-Rivage — Gäste-Funktionen (Tasty Studios, 10.10.2026, Vorlage: die Häuser der Familie Maeder, Farben und Schrift des Hauses).
   Eigene Datei neben main.css. Bewegung nur transform und opacity, einmal beim Auftritt. Keine Punkte in Tasten und Kärtchen. */
:root{--dn-platte:linear-gradient(180deg,#3f4767,#2c334d 55%,#181c2d)}

/* ---------- Buchen-Fenster: Treffer ---------- */
dialog.buchen.dn-breit{width:min(1080px,calc(100% - 24px))}
dialog.buchen.dn-breit .buchen__in{grid-template-columns:minmax(0,3fr) minmax(0,8fr)}
.dn-treffer{display:grid;gap:12px;margin-top:6px}
.dn-treffer[hidden],dialog.buchen form[hidden],dialog.buchen .buchen__klein[hidden]{display:none!important}
.dn-treffer > *{min-width:0}
.buchen__t{min-width:0}
.dn-treffer__kopf{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;font-size:.92rem;opacity:.86;padding-bottom:12px;border-bottom:1px solid rgba(var(--lh),.16)}
.dn-zurueck{background:none;border:0;color:var(--gold);font:600 .82rem var(--mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;box-shadow:inset 0 -1px 0 currentColor}
.dn-hinweis{font-size:.98rem;line-height:1.55;opacity:.86}
.dn-treffer__mehr{margin-top:14px;color:var(--gold)}
.dn-zi{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 18px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(var(--lh),.12)}
.dn-zi h3{font-family:var(--titel);font-weight:700;font-size:1.25rem;line-height:1.2}
.dn-zi p{margin-top:6px;font-size:.93rem;line-height:1.5;opacity:.84}
.dn-zi small{display:block;margin-top:6px;font-size:.8rem;opacity:.6}
.dn-zi__raten{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:8px}
.dn-rate{display:flex;gap:8px;align-items:baseline}
.dn-rate i{font-style:normal;font-size:.8rem;opacity:.66}
.dn-rate b{font-family:var(--titel);font-weight:700;font-size:1.15rem;color:var(--gold)}
.dn-zi--oben{grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:stretch;padding:0;border:0;border-radius:var(--r-m);overflow:hidden;background:rgba(0,0,0,.35);box-shadow:inset 0 0 0 1px rgba(210,191,152,.34)}
.dn-zi--oben .dn-zi__b{position:relative;min-height:220px}
.dn-zi--oben .dn-zi__b img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dn-zi--oben .dn-zi__t{padding:20px 22px 0}
.dn-zi--oben .mono{display:block;margin:0 0 6px;color:var(--gold)}
.dn-zi--oben h3{font-size:1.7rem}
.dn-zi--oben .dn-rate b{font-size:1.45rem}
.dn-zi--oben > .kn{grid-column:2;margin:14px 22px 20px;justify-self:start}

/* ---------- Preisvergleich und Wetter: dunkle Karte mit doppelter Goldlinie ---------- */
.dn-pv,.dn-rw{position:relative;padding:26px 28px 22px;border-radius:var(--r-m);background:var(--nacht);color:var(--papier);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 30px 50px -32px rgba(0,0,0,.85);overflow:hidden}
.dn-pv::before,.dn-rw::before{content:'';position:absolute;inset:8px;border:1px solid rgba(210,191,152,.34);border-radius:calc(var(--r-m) - 8px);pointer-events:none}
.dn-pv::after,.dn-rw::after{content:'';position:absolute;inset:12px;border:1px solid rgba(210,191,152,.12);border-radius:calc(var(--r-m) - 12px);pointer-events:none}
.dn-edel__kopf{position:relative;display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:20px}
.dn-edel__kopf .mono{margin:0;color:var(--gold)}
.dn-edel__kopf em{font-family:var(--titel);font-style:italic;font-size:.95rem;opacity:.62}
.dn-edel__satz{position:relative;margin-top:16px;padding-top:12px;border-top:1px solid rgba(210,191,152,.16);font-size:.8rem;line-height:1.55;opacity:.6}
.dn-pv__liste{position:relative;list-style:none;margin:0;padding:0;display:grid;gap:18px}
.dn-pv__z{display:grid;grid-template-columns:minmax(0,9.4rem) minmax(0,1fr) 11rem;gap:14px;align-items:center}
.dn-pv__n{font-size:.98rem;line-height:1.2;opacity:.86}
.dn-pv__n small{display:block;margin-top:4px;font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);opacity:.85}
.dn-pv__z--wir .dn-pv__n{font-weight:600;opacity:1}
.dn-pv__spur{position:relative;height:9px;border-radius:999px;background:rgba(255,255,255,.06);box-shadow:inset 0 1px 2px rgba(0,0,0,.55);overflow:hidden}
.dn-pv__spur i{position:absolute;inset:0;border-radius:inherit;transform-origin:0 50%;transform:scaleX(var(--w));background:rgba(255,255,255,.3)}
.dn-pv__z--wir .dn-pv__spur i{background:var(--gold)}
.dn-pv__z--wir .dn-pv__spur::after{content:'';position:absolute;top:0;bottom:0;left:0;width:34%;background:linear-gradient(90deg,transparent,rgba(255,250,236,.85),transparent);transform:translateX(-120%);opacity:0}
.dn-pv__preis{display:grid;justify-items:end;gap:3px;text-align:right}
.dn-pv__preis b{font-family:var(--titel);font-weight:700;font-size:1.3rem;white-space:nowrap;font-variant-numeric:tabular-nums;opacity:.82}
.dn-pv__z--wir .dn-pv__preis b{font-size:1.5rem;color:var(--gold);opacity:1}
.dn-pv__weniger{font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);white-space:nowrap}
.dn-pv__weniger span{font-family:var(--titel);font-size:1.02rem;letter-spacing:0;text-transform:none}
.dn-rw__reihe{position:relative;display:flex;gap:14px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:thin}
.dn-rw__tag{flex:0 0 128px;position:relative;display:grid;justify-items:center;text-align:center;gap:5px;padding:18px 10px 16px;border-radius:14px;background:#0e101a;box-shadow:inset 0 0 0 1px rgba(210,191,152,.34)}
.dn-rw__tag::before{content:'';position:absolute;inset:5px;border:1px solid rgba(210,191,152,.12);border-radius:10px;pointer-events:none}
.dn-rw__wt{font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.dn-rw__dt{font-family:var(--titel);font-size:1rem;opacity:.86}
.dn-rw__ic{display:grid;place-items:center;height:40px;margin:2px 0}
.dn-rw__ic svg{width:36px;height:36px;fill:none;stroke:var(--gold);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.dn-rw__oe{font-style:normal;font-family:var(--titel);font-size:1.7rem;color:var(--gold)}
.dn-rw__max{font-family:var(--titel);font-weight:700;font-size:2.2rem;line-height:1;font-variant-numeric:tabular-nums}
.dn-rw__min{font-size:.86rem;opacity:.6}
.dn-rw__nass{position:relative;display:block;width:64px;height:4px;margin-top:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.dn-rw__nass i{position:absolute;inset:0;border-radius:inherit;transform-origin:0 50%;transform:scaleX(var(--h));background:rgba(210,191,152,.8)}
.dn-rw__tag em{font-style:normal;font-size:.72rem;opacity:.58}

/* Auftritt */
.dn-pv[data-anim]:not(.dn-ruhig) .dn-pv__z,.dn-rw[data-anim]:not(.dn-ruhig) .dn-rw__tag{opacity:0;transform:translateY(16px)}
.dn-pv[data-anim]:not(.dn-ruhig) .dn-pv__spur i,.dn-rw[data-anim]:not(.dn-ruhig) .dn-rw__nass i{transform:scaleX(0)}
.dn-pv[data-anim]:not(.dn-ruhig) .dn-pv__weniger{opacity:0;transform:translateY(6px)}
.dn-rw[data-anim]:not(.dn-ruhig) .dn-rw__ic{opacity:0;transform:scale(.7)}
.dn-los:not(.dn-ruhig) .dn-pv__z,.dn-los:not(.dn-ruhig) .dn-rw__tag{animation:dnAuf .95s var(--e1) forwards;animation-delay:calc(.08s + var(--i,0) * .13s)}
.dn-los:not(.dn-ruhig) .dn-pv__spur i{animation:dnBalken 1.5s var(--e1) forwards;animation-delay:calc(.3s + var(--i,0) * .14s)}
.dn-los:not(.dn-ruhig) .dn-pv__z--wir .dn-pv__spur::after{animation:dnGlanz 1.3s cubic-bezier(.45,0,.2,1) 1.6s forwards}
.dn-los:not(.dn-ruhig) .dn-pv__weniger{animation:dnAuf .8s var(--e1) 1.2s forwards}
.dn-los:not(.dn-ruhig) .dn-rw__ic{animation:dnIc .8s cubic-bezier(.2,1.3,.4,1) forwards;animation-delay:calc(.35s + var(--i,0) * .13s)}
.dn-los:not(.dn-ruhig) .dn-rw__nass i{animation:dnNass 1.2s var(--e1) forwards;animation-delay:calc(.5s + var(--i,0) * .13s)}
@keyframes dnAuf{to{opacity:1;transform:none}}
@keyframes dnBalken{to{transform:scaleX(var(--w))}}
@keyframes dnNass{to{transform:scaleX(var(--h))}}
@keyframes dnGlanz{0%{opacity:1;transform:translateX(-120%)}100%{opacity:1;transform:translateX(320%)}}
@keyframes dnIc{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.dn-pv *,.dn-rw *{animation:none!important}}

/* ---------- Tisch-Reiter ---------- */
.dn-tisch .felder{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dn-tisch .feld--ganz,.dn-tisch__zeit{grid-column:1/-1}
.dn-tisch__zeit{margin:-4px 2px 2px;font-size:.86rem;line-height:1.45;color:var(--gold)}
.dn-tisch .knoepfe{margin-top:18px}
.dn-tisch textarea{resize:vertical}

@media (max-width:900px){
  dialog.buchen.dn-breit .buchen__in{grid-template-columns:minmax(0,1fr)}
  dialog.buchen.dn-breit .buchen__b{display:none}
  .dn-zi--oben{grid-template-columns:minmax(0,1fr)}
  .dn-zi--oben > .kn{grid-column:1}
  .dn-zi--oben .dn-zi__b{min-height:170px}
}
@media (max-width:640px){
  .dn-pv,.dn-rw{padding:22px 18px 18px}
  .dn-pv__z{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}
  .dn-pv__spur{grid-column:1/-1;grid-row:2}
  .dn-rw__tag{flex-basis:112px}
  .dn-tisch .felder{grid-template-columns:minmax(0,1fr)}
  .dn-zi{grid-template-columns:minmax(0,1fr)}
}

.dn-tisch textarea{width:100%;min-width:0;border:0;background:transparent;color:inherit;font:500 1.04rem var(--sans);padding:0;resize:vertical;color-scheme:dark}

/* ---------- Anfrage-Rechner (Feste) ---------- */
.dn-rechner{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(16px,2.4vw,40px);align-items:start}
.dn-rechner [hidden]{display:none!important}
.dn-rechner__wahl .felder{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.dn-rechner__wahl .feld--ganz{grid-column:1/-1}
.tabs--rechner{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 6px}
.tabs--rechner .tab{min-height:46px;padding:0 24px;border-radius:999px;border:1px solid rgba(26,29,40,.3);background:rgba(255,255,255,.35);color:var(--tinte);font:500 .82rem var(--mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .3s,color .3s}
.tabs--rechner .tab[aria-pressed="true"]{background:var(--dn-platte);color:var(--creme);border-color:var(--taupe)}
.fl--holz .tabs--rechner .tab,.fl--russ .tabs--rechner .tab,.dn-gs-form .tabs--rechner .tab{background:transparent;color:var(--papier);border-color:rgba(210,191,152,.4)}
.fl--holz .tabs--rechner .tab[aria-pressed="true"],.fl--russ .tabs--rechner .tab[aria-pressed="true"],.dn-gs-form .tabs--rechner .tab[aria-pressed="true"]{background:var(--gold);color:var(--tinte);border-color:var(--gold)}
.fl--papier .dn-rechner .feld{background:rgba(255,255,255,.55);box-shadow:inset 0 1px 3px rgba(74,58,26,.22),inset 0 0 0 1px rgba(110,88,44,.2)}
.fl--papier .dn-rechner .feld span{color:var(--taupe)}
.fl--papier .dn-rechner .feld input,.fl--papier .dn-rechner .feld select,.fl--papier .dn-rechner .feld textarea{color:var(--tinte);color-scheme:light;background:transparent;border:0;width:100%;font:500 1.04rem var(--sans);padding:0}
.dn-haken{display:flex;align-items:center;gap:10px;font-weight:600;cursor:pointer;padding:6px 2px}
.dn-haken input{width:20px;height:20px;accent-color:var(--gold)}
.dn-rechner__ergebnis{position:relative;padding:clamp(26px,3vw,42px);border-radius:var(--r-l);background:var(--dn-platte);color:var(--papier)}
.dn-rechner__ergebnis::before{content:'';position:absolute;inset:10px;border:1px solid rgba(210,191,152,.3);border-radius:calc(var(--r-l) - 10px);pointer-events:none}
.dn-rechner__ergebnis .mono{color:var(--gold)}
.dn-rechner__summe{display:flex;align-items:baseline;gap:10px;margin-top:6px}
.dn-rechner__summe small{font-family:var(--mono);font-size:.9rem;letter-spacing:.12em;opacity:.7}
.dn-rechner__summe b{font-family:var(--titel);font-weight:700;font-size:clamp(2.8rem,4.6vw,4.4rem);line-height:1}
.dn-rechner__entwurf{margin-top:14px;padding:12px 14px;border-radius:12px;box-shadow:inset 0 0 0 1px rgba(210,191,152,.32);font-size:.88rem;line-height:1.55;opacity:.9}
.dn-rechner__entwurf b{display:block;margin-bottom:2px;font-family:var(--titel);font-weight:700;font-size:1.05rem;color:var(--gold)}
.dn-rechner__zeilen{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:6px;font-size:.92rem;opacity:.86}
.dn-rechner__zeilen li{display:flex;justify-content:space-between;gap:12px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.1)}
.dn-rechner__saal{margin-top:14px}
.dn-rechner__saal b{color:var(--gold)}
.dn-rechner__hinweis{margin-top:8px;font-size:.86rem;line-height:1.5;opacity:.66}
.dn-rechner__ergebnis .knoepfe{margin-top:20px}

/* ---------- Gutschein online ---------- */
.dn-gs-form{position:relative;padding:clamp(24px,3vw,40px);border-radius:var(--r-l);background:var(--nacht);box-shadow:inset 0 0 0 1px rgba(210,191,152,.3),0 30px 60px -30px rgba(0,0,0,.8)}
.dn-gs-form [hidden]{display:none!important}
.dn-gs-form .felder{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.dn-gs-form .feld--ganz{grid-column:1/-1}
.dn-gs-form textarea,.dn-gs-form input,.dn-gs-form select{width:100%;min-width:0;border:0;background:transparent;color:inherit;font:500 1.04rem var(--sans);padding:0;color-scheme:dark}
.dn-betraege{display:flex;flex-wrap:wrap;gap:8px}
.dn-betraege .taste{min-height:40px;padding:0 18px;border-radius:999px;border:1px solid rgba(210,191,152,.4);background:transparent;color:var(--papier);font:500 .95rem var(--sans);cursor:pointer}
.dn-betraege .taste::before{content:none!important}
.dn-betraege .taste[aria-pressed="true"]{background:var(--gold);color:var(--tinte);border-color:var(--gold)}
.dn-gs-summe{display:flex;justify-content:space-between;align-items:baseline;margin-top:18px;padding-top:14px;border-top:1px solid rgba(210,191,152,.2)}
.dn-gs-summe .mono{color:var(--gold)}
.dn-gs-summe b{font-family:var(--titel);font-weight:700;font-size:2rem;color:var(--gold)}
.dn-gs-form .knoepfe{margin-top:18px}
.dn-gs__ok{font-family:var(--titel);font-weight:700;font-size:2rem;color:var(--gold);margin-bottom:14px}
.dn-gs__satz{margin-top:16px;font-size:.92rem;line-height:1.55;opacity:.76}
.dn-gk{position:relative;display:grid;justify-items:center;text-align:center;gap:6px;padding:clamp(26px,3vw,38px) 20px;border-radius:var(--r-m);background:var(--dn-platte);box-shadow:inset 0 0 0 1px rgba(210,191,152,.5)}
.dn-gk::before{content:'';position:absolute;inset:7px;border:1px solid rgba(210,191,152,.24);border-radius:calc(var(--r-m) - 7px);pointer-events:none}
.dn-gk__z{width:46px;height:auto;margin-bottom:4px}
.dn-gk .mono{color:var(--gold)}
.dn-gk__wert{font-family:var(--titel);font-weight:700;font-size:clamp(2.2rem,3.4vw,3rem);line-height:1.05;color:var(--papier)}
.dn-gk__was{font-size:.95rem;opacity:.86;max-width:36ch}
.dn-gk__fuer{font-family:var(--titel);font-size:1.25rem;margin-top:6px}
.dn-gk__widmung{font-family:var(--titel);font-style:italic;opacity:.86;max-width:34ch}
.dn-gk__von,.dn-gk__nr{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;opacity:.66}

@media (max-width:900px){.dn-rechner{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.dn-rechner__wahl .felder,.dn-gs-form .felder{grid-template-columns:minmax(0,1fr)}}

/* ---------- Druck: Entwurf und Gutschein, sonst nichts ---------- */
#dn-druck{display:none}
@media print{
  html.dn-druckt body > *:not(#dn-druck){display:none!important}
  html.dn-druckt #dn-druck{display:block!important}
  html.dn-druckt,html.dn-druckt body{background:#fff!important}
  #dn-druck{color:#1a1d28;font-family:var(--sans);-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .dn-blatt-druck{padding:12mm 4mm}
  .dn-blatt-druck > img{display:block;margin:0 auto 6mm}
  .dn-blatt-druck h1{font-family:var(--titel);font-weight:700;font-size:26pt;margin:8mm 0 2mm}
  .dn-blatt-druck h1 em{color:#8a7a52;font-style:normal}
  .dn-blatt-druck table{width:100%;border-collapse:collapse;margin:8mm 0 5mm;font-size:11pt}
  .dn-blatt-druck td{padding:2.6mm 0;border-bottom:.3mm solid #e2d2b5}
  .dn-blatt-druck td:last-child{text-align:right;white-space:nowrap}
  .dn-blatt-druck .dn-d-summe td{font-family:var(--titel);font-weight:700;font-size:15pt;border-bottom:0;padding-top:4mm}
  .dn-blatt-druck p{font-size:10.5pt;line-height:1.5;margin:2mm 0}
  .dn-d-kl{font-size:8.5pt!important;color:#5b5a52;text-align:center}
  .dn-gutschein-druck{padding:20mm 10mm}
  .dn-gutschein-druck .dn-gk{background:#1b2033;color:#f7ecdc;padding:16mm 10mm;border-radius:6mm}
  .dn-gutschein-druck .dn-d-kl{margin-top:8mm}
  @page{size:A4;margin:12mm}
}

/* ---------- Tagungs-Entwurf als Blatt im Stil der Drucksachen (Robert 12.10.2026) ----------
   Kopf in Marine mit Tapete (als SVG, damit er auch ohne «Hintergrund drucken» erscheint), Zeichen in Gold, Angaben gross in der Titelschrift,
   passender Raum mit Foto, Rechnung mit Goldlinien. Ohne Seitenrand (dienste.js setzt dafür @page{margin:0}). Höhe rund 255 mm, passt auf ein Blatt. */
@media print{
  html.dn-druckt--bogen,html.dn-druckt--bogen body{background:#fbf7ec!important;margin:0!important;padding:0!important;min-height:0!important}
  .dn-tg{position:relative;width:210mm;margin:0 auto;color:#1a1d28;font-family:var(--sans);-webkit-print-color-adjust:exact;print-color-adjust:exact;break-inside:avoid;text-shadow:none}
  .dn-tg *{box-sizing:border-box}
  .dn-tg p,.dn-tg h1,.dn-tg h2{margin:0;text-shadow:none}
  .dn-tg__kopf{position:relative;height:80mm;color:#f7f0e3;text-align:center;overflow:hidden}
  .dn-tg__grund{position:absolute;inset:0;width:100%;height:100%;display:block}
  .dn-tg__in{position:relative;padding-top:10.5mm}
  .dn-tg__z{display:block;width:17mm;height:auto;margin:0 auto;color:#E6D2A2;fill:currentColor}
  .dn-tg__marke{font-family:var(--caps);font-size:10pt;letter-spacing:.32em;text-transform:uppercase;color:#E6D2A2;padding-top:4.2mm;text-indent:.32em}
  .dn-tg__ort{font-family:var(--mono);font-size:5.8pt;letter-spacing:.34em;text-transform:uppercase;opacity:.72;padding-top:1.8mm;text-indent:.34em}
  .dn-tg__strich{display:block;width:12mm;height:0;border-top:.25mm solid #E6D2A2;margin:5mm auto 4.6mm}
  .dn-tg h1{font-family:var(--serif);font-weight:500;font-size:26pt;line-height:1.08;color:#f7f0e3}
  .dn-tg h1 em{font-style:normal;color:#E6D2A2}
  .dn-tg b,.dn-tg h1,.dn-tg h2{font-variant-numeric:lining-nums}
  .dn-tg__zahlen{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.6fr) minmax(0,1.4fr);align-items:end;margin:11mm 16mm 0;text-align:center}
  .dn-tg__zahlen div{padding:0 3mm;border-inline-start:.2mm solid #d9c79a}
  .dn-tg__zahlen div:first-child{border-inline-start:0}
  .dn-tg__zahlen b{display:block;font-family:'Cormorant Garamond',var(--serif);font-weight:500;font-size:30pt;line-height:1;white-space:nowrap}
  .dn-tg__zahlen .dn-tg__wort b{font-size:16pt;line-height:1.15;padding-bottom:1.9mm}
  .dn-tg__zahlen small,.dn-tg__summe small{font-family:var(--caps);font-size:.36em;letter-spacing:.2em;font-weight:400;vertical-align:.5em;color:#967D40}
  .dn-tg__zahlen span,.dn-tg__kl{display:block;font-family:var(--caps);font-size:6.3pt;letter-spacing:.24em;text-transform:uppercase;color:#967D40}
  .dn-tg__zahlen span{padding-top:5mm}
  .dn-tg__raum{display:grid;grid-template-columns:74mm minmax(0,1fr);gap:10mm;align-items:center;margin:11mm 16mm 0}
  .dn-tg__raum--ohne{grid-template-columns:minmax(0,1fr);text-align:center}
  .dn-tg__foto{display:block;width:74mm;height:50mm;object-fit:cover;border-radius:2.4mm}
  .dn-tg__raum h2{font-family:'Cormorant Garamond',var(--serif);font-weight:500;font-size:20pt;line-height:1.14;text-wrap:balance;padding-top:3.4mm;color:#1a1d28}
  .dn-tg__lage{font-size:9.4pt;line-height:1.55;padding-top:3mm;color:#4d4b44}
  .dn-tg__rechnung{margin:11mm 16mm 0;border-top:.25mm solid #cdb98a}
  .dn-tg__zeile{display:flex;justify-content:space-between;align-items:baseline;gap:8mm;padding:3.6mm 0;border-bottom:.2mm solid #e2d2b5;font-size:10.4pt;line-height:1.4}
  .dn-tg__zeile b{font-family:'Instrument Sans',var(--sans);font-weight:400;white-space:nowrap}
  .dn-tg__summe{display:flex;justify-content:space-between;align-items:baseline;gap:8mm;padding-top:6.5mm}
  .dn-tg__summe b{font-family:'Cormorant Garamond',var(--serif);font-weight:500;font-size:34pt;line-height:1;white-space:nowrap}
  .dn-tg__hin{margin:10mm 34mm 0!important;text-align:center;font-size:8.2pt;line-height:1.6;color:#5b5a52}
  .dn-tg__fuss{margin:10mm 16mm 0;padding-top:5mm;border-top:.2mm solid #cdb98a;text-align:center;font-family:var(--mono);font-size:6pt;letter-spacing:.2em;text-transform:uppercase;color:#6d6857;line-height:1.9}
  /* Sprachen mit eigener Schrift: Wortmarke, Ort und Adresse bleiben lateinisch in Versalien (die Seite schaltet Versalien und Sperrung dort sonst ab); die übrigen kleinen Zeilen etwas grösser */
  html .dn-tg .dn-tg__marke{font-family:'Cinzel','Serif Ersatz',Georgia,serif;letter-spacing:.32em!important;text-transform:uppercase!important}
  html .dn-tg .dn-tg__ort{font-family:'DM Mono',ui-monospace,Menlo,monospace;letter-spacing:.34em!important;text-transform:uppercase!important}
  html .dn-tg .dn-tg__zahlen small,html .dn-tg .dn-tg__summe small{font-family:'Cinzel','Serif Ersatz',Georgia,serif;letter-spacing:.2em!important}
  html[lang="zh"] .dn-tg__zahlen span,html[lang="ko"] .dn-tg__zahlen span,html[lang="ar"] .dn-tg__zahlen span,html[lang="zh"] .dn-tg__kl,html[lang="ko"] .dn-tg__kl,html[lang="ar"] .dn-tg__kl{font-size:8pt}
  html[lang="zh"] .dn-tg__fuss,html[lang="ko"] .dn-tg__fuss,html[lang="ar"] .dn-tg__fuss{font-family:'DM Mono',var(--sans);font-size:6.6pt}
  html[lang="ar"] .dn-tg p{line-height:1.6}
  html[lang="ar"] .dn-tg__fuss p{line-height:1.9}
}

.dn-gs-form input[type=checkbox]{width:20px;height:20px;flex:none;accent-color:var(--gold)}
.dn-gs-form .dn-haken{grid-column:1/-1;justify-content:flex-start}
.dn-gk__z{width:42px;height:auto;color:var(--gold)}
@media print{.dn-gutschein-druck .dn-gk__z{color:#8a7a52}}

/* ---------- Vor Ihrer Anreise ---------- */
.dn-karte-dunkel{position:relative;padding:clamp(22px,2.6vw,34px);border-radius:var(--r-l);background:var(--nacht);color:var(--papier);box-shadow:inset 0 0 0 1px rgba(210,191,152,.3),0 30px 60px -32px rgba(0,0,0,.7)}
.dn-karte-dunkel .felder{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dn-karte-dunkel .feld--ganz,.dn-karte-dunkel .dn-tisch__zeit{grid-column:1/-1}
.dn-karte-dunkel input,.dn-karte-dunkel select{width:100%;min-width:0;border:0;background:transparent;color:inherit;font:500 1.04rem var(--sans);padding:0;color-scheme:dark}
.dn-zeile{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px 16px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(210,191,152,.16)}
.dn-zeile:last-child{border-bottom:0}
.dn-zeile b{font-family:var(--titel);font-weight:700;font-size:1.08rem;line-height:1.3}
.dn-zeile i{font-style:normal;font-weight:600;white-space:nowrap;color:var(--gold)}
.dn-zaehler{display:inline-flex;align-items:center;gap:4px}
.dn-zaehler button{width:34px;height:34px;border-radius:50%;border:1px solid rgba(210,191,152,.4);background:transparent;color:var(--papier);font:500 1.1rem/1 var(--sans);cursor:pointer}
.dn-zaehler input{width:40px!important;text-align:center;border:0;background:transparent;color:var(--papier);font:600 1.05rem var(--sans);-moz-appearance:textfield}
.dn-zaehler input::-webkit-outer-spin-button,.dn-zaehler input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.dn-summe{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:clamp(20px,3vw,48px);padding:clamp(28px,3.4vw,52px);border-radius:var(--r-l);box-shadow:inset 0 0 0 1px rgba(210,191,152,.34);color:var(--papier)}
.dn-summe .mono{color:var(--gold)}
.dn-summe ul{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px;line-height:1.45}
.dn-summe ul li{padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1)}
.dn-summe__klein{margin:8px 0 18px;font-size:.86rem;opacity:.66}
.dn-vorschlag{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(18px,2.4vw,36px);align-items:start;margin-top:18px;padding:clamp(26px,3vw,44px);border-radius:var(--r-l);background:var(--dn-platte);color:var(--papier)}
.dn-vorschlag[hidden]{display:none!important}
.dn-vorschlag::before{content:'';position:absolute;inset:10px;border:1px solid rgba(210,191,152,.3);border-radius:calc(var(--r-l) - 10px);pointer-events:none}
.dn-vorschlag__z svg{width:clamp(44px,4vw,60px);height:auto;color:var(--gold)}
.dn-vorschlag p{margin-top:10px;opacity:.86;max-width:62ch}
.dn-vorschlag .knoepfe{margin-top:18px}
.dn-rw__tag--ort{flex-basis:220px}
@media (max-width:900px){.dn-summe,.dn-vorschlag{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.dn-karte-dunkel .felder{grid-template-columns:minmax(0,1fr)}.dn-zeile{grid-template-columns:minmax(0,1fr) auto}.dn-zeile .dn-zaehler{grid-column:1/-1;justify-self:end}}
.dn-vorschlag .gold,.dn-vorschlag h3 span{color:var(--gold)}

/* ---------- Runde 2 (Robert 10.10.2026, 05:15) ---------- */
/* Buchen-Fenster: scharfes Foto je Reiter, in der Trefferansicht kein Foto (mehr Platz, kein vergrössertes Bild) */
dialog.buchen .buchen__b img.dn-fb{opacity:0;transition:opacity .45s}
dialog.buchen:not([data-tab="tisch"]) .buchen__b img.dn-fb--zimmer,dialog.buchen[data-tab="tisch"] .buchen__b img.dn-fb--tisch{opacity:1}
dialog.buchen.dn-breit{width:min(860px,calc(100% - 24px))}
dialog.buchen.dn-breit .buchen__in{grid-template-columns:minmax(0,1fr)!important}
dialog.buchen.dn-breit .buchen__b{display:none}
/* Auswahl- und Eingabefelder: kein Rahmen, der nach der Wahl stehen bleibt; nur mit Tastatur ein feiner Ring */
.dn-karte-dunkel :is(input,select,textarea):focus,.dn-tisch :is(input,select,textarea):focus,.dn-gs-form :is(input,select,textarea):focus,.dn-rechner :is(input,select,textarea):focus,dialog.buchen :is(input,select):focus{outline:none;box-shadow:none}
.dn-karte-dunkel .feld:has(:focus-visible),.dn-tisch .feld:has(:focus-visible),.dn-gs-form .feld:has(:focus-visible){box-shadow:inset 0 0 0 1px rgba(210,191,152,.6)}
/* Wetter und Vorschlag: bis drei Tage nebeneinander, sonst untereinander */
.dn-wv{display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}
.dn-wv .dn-vorschlag{margin-top:0}
.dn-wv:is([data-tage="1"],[data-tage="2"],[data-tage="3"]){grid-template-columns:auto minmax(0,1fr);align-items:stretch}
.dn-wv:is([data-tage="1"],[data-tage="2"],[data-tage="3"]) > div:first-child > .dn-rw{height:100%}
.dn-wv:is([data-tage="1"],[data-tage="2"],[data-tage="3"]) .dn-vorschlag{grid-template-columns:minmax(0,1fr);align-content:center;gap:14px}
.dn-wv:is([data-tage="1"],[data-tage="2"],[data-tage="3"]) .dn-vorschlag__z svg{width:42px}
.dn-wv .dn-rw__reihe{flex-wrap:nowrap}
.dn-rw__tag--ort{flex-basis:200px;padding:22px 14px 18px}
.dn-heute{padding-top:clamp(28px,3.4vw,56px)!important}
@media (max-width:900px){.dn-wv:is([data-tage="1"],[data-tage="2"],[data-tage="3"]){grid-template-columns:minmax(0,1fr)}}
/* Massage-Auswahl: eigene Liste nach Gruppen */
.dn-wahl{position:relative}
.dn-wahl__knopf{display:grid;grid-template-columns:minmax(0,1fr) auto auto 16px;gap:14px;align-items:center;width:100%;padding:4px 0 0;border:0;background:none;color:var(--papier);text-align:left;cursor:pointer}
.dn-wahl__knopf small{display:block;font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;opacity:.6}
.dn-wahl__knopf b{font-family:var(--titel);font-weight:700;font-size:1.12rem}
.dn-wahl__knopf i,.dn-wahl__z i{font-style:normal;font-size:.85rem;opacity:.66;white-space:nowrap}
.dn-wahl__knopf em,.dn-wahl__z em{font-style:normal;font-family:var(--titel);font-weight:700;color:var(--gold);white-space:nowrap}
.dn-wahl__knopf svg{width:16px;height:16px;fill:none;stroke:var(--gold);stroke-width:1.5;transition:transform .3s var(--e1)}
.dn-wahl__knopf[aria-expanded="true"] svg{transform:rotate(180deg)}
.dn-wahl__liste{position:absolute;z-index:20;left:-1px;right:-1px;top:calc(100% + 8px);max-height:min(60vh,420px);overflow:auto;padding:8px;border-radius:16px;background:#121521;box-shadow:inset 0 0 0 1px rgba(210,191,152,.34),0 30px 60px -20px rgba(0,0,0,.9)}
.dn-wahl__liste[hidden]{display:none!important}
.dn-wahl__gruppe{padding:8px 6px 6px}
.dn-wahl__gruppe + .dn-wahl__gruppe{border-top:1px solid rgba(210,191,152,.14)}
.dn-wahl__gruppe .mono{display:block;padding:6px 10px 8px;color:var(--gold);font-size:.66rem}
.dn-wahl__z{display:grid;grid-template-columns:minmax(0,1fr) auto 6.5rem;gap:14px;align-items:baseline;width:100%;padding:10px 12px;border:0;border-radius:10px;background:none;color:var(--papier);text-align:left;cursor:pointer;transition:background .2s}
.dn-wahl__z b{font-weight:500;font-size:.98rem}
.dn-wahl__z em{text-align:right}
.dn-wahl__z:hover{background:rgba(210,191,152,.08)}
.dn-wahl__z[aria-selected="true"]{background:rgba(210,191,152,.16)}
@media (max-width:560px){.dn-wahl__z{grid-template-columns:minmax(0,1fr) auto}.dn-wahl__z i{grid-column:1;grid-row:2}.dn-wahl__knopf{grid-template-columns:minmax(0,1fr) auto 16px}.dn-wahl__knopf i{display:none}}
.dn-wv:is([data-tage="1"],[data-tage="2"],[data-tage="3"]){grid-template-columns:max-content minmax(0,1fr)}
.dn-wv:is([data-tage="1"],[data-tage="2"],[data-tage="3"]) .dn-rw__reihe{overflow:visible}
.dn-wahl__knopf span{display:block;font-family:var(--sans);font-size:inherit;letter-spacing:0;text-transform:none;color:inherit}
.dn-wahl__knopf span small{color:var(--gold);opacity:.75}
.dn-wahl__knopf b{text-transform:none;letter-spacing:0;color:var(--papier)}
.dn-rw__tag{flex:none;width:128px}
.dn-rw__tag--ort{width:200px}
@media (max-width:640px){.dn-rw__tag{width:112px}.dn-rw__tag--ort{width:150px}}
.dn-wv:not([data-tage="1"]):not([data-tage="2"]):not([data-tage="3"]) .dn-rw__tag{flex:1 1 0;width:auto;min-width:112px}

/* ---------- Ruedihus: eigene Teile ---------- */
.dn-tisch textarea,.dn-rechner textarea,.dn-gs-form textarea{width:100%;min-width:0;border:0;background:transparent;color:inherit;font:500 1.04rem var(--sans);padding:0;resize:vertical;color-scheme:dark}
.dn-rechner .feld input,.dn-rechner .feld select{color:var(--papier)}
.dn-rechner__ergebnis{color:var(--creme);box-shadow:inset 0 1px 0 rgba(255,245,220,.18),0 40px 60px -36px #000}
.dn-rechner__ergebnis .dn-rechner__summe b{color:#fff6e6}
/* Stube wählen: drei Platten, gewählt = helle Fläche mit Goldrahmen (keine Punkte) */
.dn-stuben{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.dn-stube{display:grid;gap:4px;align-content:start;text-align:left;padding:16px 16px 14px;border-radius:16px;background:rgba(0,0,0,.35);box-shadow:inset 0 1px 3px rgba(0,0,0,.6),inset 0 0 0 1px rgba(var(--lh),.12);color:var(--papier);transition:background .3s,box-shadow .3s}
.dn-stube b{font-family:var(--titel);font-weight:700;font-size:1.12rem;line-height:1.2}
.dn-stube span{font-size:.84rem;line-height:1.4;opacity:.72}
.dn-stube i{font-style:normal;margin-top:6px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.dn-stube:hover{background:rgba(255,245,220,.06)}
.dn-stube[aria-pressed="true"]{background:var(--dn-platte);box-shadow:inset 0 0 0 1px rgba(210,191,152,.6),0 18px 30px -20px #000}
.dn-stube[aria-pressed="true"] span{opacity:.9}
.dn-rechner__wahl .felder{margin-top:14px}
@media (max-width:640px){.dn-stuben{grid-template-columns:minmax(0,1fr)}}
/* Gutschein online unter der Platte */
.dn-gs-reihe{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,72px);align-items:start;margin-top:clamp(56px,6vw,96px)}
.dn-gs-text p{margin-top:16px;max-width:44ch}
.dn-gs-form{color:var(--papier);background:var(--marine);box-shadow:inset 0 0 0 1px rgba(210,191,152,.3),0 40px 60px -34px rgba(42,26,14,.8)}
.dn-gs-zeilen{margin:2px 2px 0;font-family:var(--titel);font-size:1.02rem;line-height:1.5;color:var(--gold)}
.dn-betraege .taste[aria-pressed="true"]{color:var(--tinte)}
.dn-gk{color:var(--creme)}
@media (max-width:900px){.dn-gs-reihe{grid-template-columns:minmax(0,1fr)}}
/* Vor Ihrer Anreise: Wünsche ohne Summe */
.dn-summe--eins{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:end}
.dn-summe--eins .dn-summe__klein{margin-top:0}
.dn-karte-dunkel{background:var(--marine)}
.fl--papier .dn-karte-dunkel{background:var(--nacht)}
.dn-vorschlag{color:var(--creme)}
.dn-vorschlag__z svg{color:var(--gold)}
/* Druck: Marke statt Wortmarke */
.dn-d-marke{display:flex;align-items:center;justify-content:center;gap:3mm;margin:0 0 4mm;font-family:var(--titel);font-size:20pt;letter-spacing:.08em;color:#1a1d28}
.dn-d-marke svg{width:12mm;height:auto;color:#8a7a52}
/* Treffer: Foto über die ganze Höhe der Karte, Wettertage füllen die Breite */
.dn-zi--oben .dn-zi__b{grid-row:1 / span 2}
.dn-treffer .dn-rw__tag{flex:1 1 0;width:auto;min-width:104px}
/* Gutschein: Felder ohne Lücke je nach Art */
.dn-gs-form[data-art="wert"] label:has([name=betrag]),.dn-gs-form[data-art="gourmet"] label:has([name=pers]){grid-column:1/-1}
.dn-gs-form .dn-haken input,.dn-rechner .dn-haken input{accent-color:var(--gold)}
.dn-rechner .dn-haken{grid-column:1/-1}
/* Handy: Wettertage teilen sich die Breite, nichts wird abgeschnitten */
@media (max-width:640px){.dn-rw__reihe{gap:8px}.dn-rw__tag,.dn-rw__tag--ort,.dn-wv .dn-rw__tag{flex:1 1 0;width:auto;min-width:0;padding-inline:6px}.dn-rw__tag em{font-size:.66rem}.dn-rw__max{font-size:1.9rem}}
@media (max-width:900px){.dn-wv:is([data-tage="1"],[data-tage="2"],[data-tage="3"]){grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.dn-treffer .dn-rw__tag,.dn-wv:not([data-tage="1"]):not([data-tage="2"]):not([data-tage="3"]) .dn-rw__tag{min-width:0}}
@media (max-width:640px){.dn-wv:not([data-tage="1"]):not([data-tage="2"]):not([data-tage="3"]) .dn-rw__reihe{overflow-x:auto;scroll-snap-type:x mandatory}.dn-wv:not([data-tage="1"]):not([data-tage="2"]):not([data-tage="3"]) .dn-rw__tag{flex:0 0 96px;scroll-snap-align:start}}
/* Trefferansicht: «Ihr Zimmer.» mittig, das Zeichen mittig darüber, Reiter darunter mittig (Robert 10.10.2026) */
dialog.buchen.dn-breit .buchen__t > svg.zier{display:block;margin-inline:auto}
dialog.buchen.dn-breit .buchen__t > h2{text-align:center}
dialog.buchen.dn-breit .buchen__t > .reiter{display:flex;width:max-content;margin-inline:auto}

/* ---------- Grand Beau-Rivage: eigene Teile ---------- */
.dn-rechner .feld input,.dn-rechner .feld select,.dn-rechner .feld textarea{color:#fff}
.dn-rechner__ergebnis{color:#fff}
.dn-rechner__ergebnis .dn-rechner__summe b{color:#fff}
.tabs--rechner .tab{font-family:var(--mono);font-size:.74rem}
.dn-schalter{display:flex;gap:6px;width:100%;margin-top:4px}
.dn-schalter button{flex:1 1 0;height:38px;border-radius:999px;font:500 .95rem var(--sans);color:rgba(255,255,255,.82);background:transparent;border:0;box-shadow:inset 0 0 0 1px rgba(210,191,152,.4);cursor:pointer;transition:background .3s,color .3s}
.dn-schalter button[aria-pressed="true"]{background:var(--gold);color:var(--tinte);box-shadow:none}
.dn-hundwahl--zeile{grid-template-columns:minmax(0,1fr) minmax(0,14rem);align-items:center}
.dn-hundwahl--zeile .dn-schalter{margin:0}
[data-nur-shuttle][hidden]{display:none!important}
.dn-karte-dunkel{background:var(--marine)}
.dn-karte-dunkel .feld{background:rgba(12,14,22,.42)}
.dn-karte-dunkel .feld input,.dn-karte-dunkel .feld select,.dn-karte-dunkel .feld textarea{width:100%;min-width:0;border:0;background:transparent;color:#fff;font:500 1.04rem var(--sans);padding:0;color-scheme:dark}
.dn-karte-dunkel .feld span{color:var(--gold)}
.dn-wahl__knopf{color:#fff}
.dn-heute{margin-top:clamp(30px,3.6vw,54px)}
.dn-quelle{margin-top:14px;font-size:.88rem;opacity:.7}
.dn-vorschlag{color:#fff}
.dn-vorschlag h3 em,.dn-vorschlag .d3 em{color:var(--gold);font-style:italic}
.dn-vorschlag__z svg{color:var(--gold)}
.dn-summe{color:#fff}
.dn-treffer h3,.dn-zi h3{font-family:var(--serif);font-weight:500}
.dn-pv--beispiel .dn-edel__kopf em{color:var(--gold);opacity:1}
.dn-d-marke{display:flex;align-items:center;justify-content:center;gap:3mm;margin:0 0 4mm;font-family:var(--serif);font-size:20pt;letter-spacing:.06em;color:#1a1d28}
.dn-d-marke svg{width:12mm;height:auto;color:#8a7a52}
@media (max-width:560px){.dn-hundwahl--zeile{grid-template-columns:minmax(0,1fr)}}
/* Nachzug 10.10.2026: Titel im Fenster in Gold, Fenster am Handy einspaltig */
dialog.buchen .d3 em,dialog.buchen .dn-treffer h3 em{color:var(--gold)}
@media (max-width:860px){dialog.buchen .buchen__in{grid-template-columns:minmax(0,1fr)}dialog.buchen .buchen__b{min-height:180px;max-height:220px}}

/* Zimmer ganz oben ohne Foto: eine Spalte, alles mittig (Robert 11.10.2026: «mittig und schön») */
.dn-zi--oben.dn-zi--ohne{grid-template-columns:minmax(0,1fr);text-align:center;padding:30px 26px 26px}
.dn-zi--oben.dn-zi--ohne .dn-zi__t{padding:0}
.dn-zi--oben.dn-zi--ohne .dn-zi__raten{justify-content:center}
.dn-zi--oben.dn-zi--ohne > .kn{grid-column:1;justify-self:center;margin:20px 0 0}
/* Zimmer ganz oben mit Foto: Text und Knopf als Block senkrecht mittig neben dem Bild */
.dn-zi--oben:not(.dn-zi--ohne){grid-template-rows:auto auto;align-content:center}
.dn-zi--oben:not(.dn-zi--ohne) .dn-zi__b{grid-row:1 / span 2;min-height:300px}
.dn-zi--oben:not(.dn-zi--ohne) .dn-zi__t{grid-row:1;align-self:end;padding-top:28px}
.dn-zi--oben:not(.dn-zi--ohne) > .kn{grid-row:2;align-self:start;margin:18px 22px 28px}
@media (max-width:760px){.dn-zi--oben:not(.dn-zi--ohne){grid-template-rows:auto}.dn-zi--oben:not(.dn-zi--ohne) .dn-zi__b{grid-row:auto}.dn-zi--oben:not(.dn-zi--ohne) .dn-zi__t,.dn-zi--oben:not(.dn-zi--ohne) > .kn{grid-row:auto}}
/* Warten auf das Buchungssystem: das Zeichen füllt sich von unten mit Gold, darunter eine feine laufende Linie */
.dn-lader{display:flex;flex-direction:column;align-items:center;text-align:center;padding:30px 0 10px}
.dn-lader__z{position:relative;width:86px;height:86px;margin-bottom:18px}
.dn-lader__z svg{position:absolute;inset:0;width:100%;height:100%}
.dn-lader__a{color:rgba(230,210,162,.18)}
.dn-lader__b{color:#E6D2A2;clip-path:inset(100% 0 0 0);animation:dnFuell 2.4s cubic-bezier(.45,.05,.35,1) infinite}
@keyframes dnFuell{0%{clip-path:inset(100% 0 0 0)}70%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 0 0 0);opacity:0}}
.dn-lader .dn-hinweis{margin:0}
.dn-lader__l{position:relative;display:block;width:140px;height:1px;margin-top:18px;overflow:hidden;background:rgba(230,210,162,.18)}
.dn-lader__l i{position:absolute;inset:0;background:linear-gradient(90deg,transparent,#E6D2A2,transparent);transform:translateX(-100%);animation:dnLauf 1.6s ease-in-out infinite}
@keyframes dnLauf{to{transform:translateX(100%)}}
@media (prefers-reduced-motion:reduce){.dn-lader__b{animation:none;clip-path:none;opacity:.6}.dn-lader__l i{animation:none}}
/* Weitere freie Zimmer mit Miniatur (Robert 11.10.2026): Foto links, gerundet, feine Goldkante, beim Überfahren der Liste nichts bewegt */
.dn-zi--mini{grid-template-columns:clamp(110px,13vw,168px) minmax(0,1fr) auto;gap:10px clamp(16px,2vw,26px);padding:18px 0}
.dn-zi__mini{position:relative;display:block;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:#151926;box-shadow:inset 0 0 0 1px rgba(210,191,152,.35),0 14px 22px -14px rgba(0,0,0,.8)}
.dn-zi__mini img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dn-zi__mini::after{content:'';position:absolute;inset:5px;border-radius:10px;box-shadow:inset 0 0 0 1px rgba(230,210,162,.35);pointer-events:none}
@media (max-width:700px){.dn-zi--mini{grid-template-columns:96px minmax(0,1fr)}.dn-zi--mini > .kn{grid-column:2;justify-self:start}}
@media (max-width:700px){.dn-zi--mini{grid-template-columns:minmax(0,1fr)}.dn-zi--mini .dn-zi__mini{aspect-ratio:16/9}.dn-zi--mini > .kn{grid-column:1}}
/* Kopf der Zimmerliste mittig und grösser (Robert 11.10.2026): weiter oben, Zeichen mittig über «Ihr Zimmer.», Luft darunter, Daten und Personen grösser, «Andere Daten» mittig darunter */
dialog.buchen.dn-breit .buchen__t{padding-top:clamp(20px,2.4vw,32px)}
dialog.buchen.dn-breit .buchen__t > svg.emblem,dialog.buchen.dn-breit .buchen__t > .emblem{display:block;margin:0 auto 14px;width:72px}
dialog.buchen.dn-breit .buchen__t > h2{text-align:center;font-size:clamp(2.6rem,4.2vw,3.6rem);line-height:1.05;margin-bottom:clamp(14px,1.6vw,22px)}
dialog.buchen.dn-breit .dn-treffer__kopf{flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;opacity:1;padding-bottom:clamp(20px,2.2vw,28px);margin-bottom:clamp(22px,2.4vw,32px);font-size:clamp(1.12rem,1.4vw,1.3rem)}
dialog.buchen.dn-breit .dn-treffer__kopf span{color:#f8f2e4}
dialog.buchen.dn-breit .dn-zurueck{font-size:.86rem}

/* Warten auf die Zimmer: Zeichen gross und mittig, darunter «Ihr Zimmer.» gross, Hinweis und Linie (Robert 11.10.2026) */
dialog.buchen.dn-laedt .buchen__t{display:flex;flex-direction:column;justify-content:center}
dialog.buchen.dn-laedt .buchen__t > svg,dialog.buchen.dn-laedt .buchen__t > h2{display:none}
dialog.buchen.dn-laedt .dn-lader{padding:10px 0 16px}
dialog.buchen.dn-laedt .dn-lader__z{width:118px;height:118px;margin-bottom:26px}
.dn-lader__t{margin:0 0 12px;text-align:center;font-size:clamp(2.4rem,3.4vw,3.2rem);line-height:1.05}
/* Buchen-Fenster mit leichter Tapete, Zimmerliste mit mehr Luft zum oberen Rand (Robert 11.10.2026) */
dialog.buchen{background:linear-gradient(rgba(27,32,51,.5),rgba(27,32,51,.5)),var(--marine) url(../img/tapete-dunkel.webp?v=08c86b19) 50% 0/340px auto}
dialog.buchen.dn-breit .buchen__t{padding-top:clamp(46px,5.2vw,72px)}

/* Buchen-Fenster nicht-modal geöffnet (main.js, 12.10.2026): Lage wie im obersten Layer, eigener Hintergrund statt ::backdrop */
dialog.buchen[open]{position:fixed;inset:0;margin:auto;z-index:1001;max-width:calc(100% - 6px - 2em)}   /* max-width wie die Browser-Vorgabe für modale Fenster, damit das Mass auf dem Handy gleich bleibt */
.buchen__hinter{position:fixed;inset:0;z-index:1000;background:rgba(6,11,28,.82)}
.buchen__hinter[hidden]{display:none}
.dn-hinweis--bsp{margin-top:18px;font-size:.84rem;opacity:.72;text-align:center}   /* Hinweis «Beispielpreise» unter den Treffern, nur wenn das Buchungssystem nicht antwortet (12.10.2026) */

/* Tagespreise ordentlich (Robert 16.10.2026: «schöner und ordentlicher, nicht so versetzt»): eine Zeile je Rate, Bezeichnung links,
   Preis rechtsbündig mit gleich breiten Ziffern, feine Linien dazwischen wie auf einer Karte; Preis nicht fett */
.dn-zi__raten{display:grid;gap:0;width:100%;max-width:420px;margin-top:14px}
.dn-rate{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:9px 0;border-top:1px solid color-mix(in srgb,currentColor 16%,transparent)}
.dn-rate:last-child{border-bottom:1px solid color-mix(in srgb,currentColor 16%,transparent)}
.dn-rate i{flex:1;min-width:0;font-size:.82rem;line-height:1.3;opacity:.7}
.dn-rate b{flex:none;font-weight:500;font-variant-numeric:tabular-nums lining-nums;text-align:right;white-space:nowrap}
.dn-zi--oben .dn-rate b{font-size:1.3rem}
.dn-zi--oben.dn-zi--ohne .dn-zi__raten{margin-left:auto;margin-right:auto}
