/* Carlton-Europe — Gäste-Funktionen (Tasty Studios, 10.10.2026): Zimmer-Finder, Wetter, Anfrage-Rechner, Gutschein, Vor der Anreise, Hunde, Druck.
   Eigene Datei neben main.css, damit parallele Arbeiten an main.css nichts überschreiben. Nur transform/opacity in Bewegung, nichts liegt unscharf über Bewegtem. */

/* ---------- Listen und Karten ---------- */
.dn-punkte{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:10px}
.dn-punkte li{position:relative;padding-left:26px;line-height:1.5}
.dn-punkte li::before{content:'';position:absolute;left:0;top:.72em;width:14px;height:1px;background:var(--gold)}
.fl--papier .dn-punkte li::before,.fl--creme .dn-punkte li::before{background:var(--taupe)}
.dn-punkte--regeln{gap:14px}
.dn-zwei{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,22px)}
.dn-karte{padding:clamp(22px,2.4vw,32px);border-radius:var(--r-l);background:rgba(255,255,255,.46);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),inset 0 0 0 1px rgba(110,88,44,.18)}
.dn-karte .mono{margin:0;color:var(--taupe);text-shadow:none}
.dn-karte .lauf{margin-top:14px}
.dn-karte a,.dn-partner a{box-shadow:inset 0 -1px 0 currentColor}
.dn-partner{margin-top:12px;font-weight:600}

/* ---------- Wetter mit Tagesvorschlag ---------- */
.dn-wetter__orte{min-height:120px}
.dn-wetter__warte{display:flex;align-items:center;gap:12px;opacity:.7}
.dn-wetter__warte svg{width:34px;height:auto;color:var(--taupe)}
.dn-orte{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.4vw,20px)}
.dn-orte--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.dn-ort,.dn-tag{display:flex;gap:16px;align-items:flex-start;padding:clamp(18px,2vw,26px);border-radius:var(--r-l);background:rgba(255,255,255,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.85),inset 0 0 0 1px rgba(110,88,44,.18)}
.dn-ort svg,.dn-tag svg{flex:none;width:44px;height:44px;fill:none;stroke:var(--taupe);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.dn-ort > div{display:grid;gap:4px}
.dn-ort .mono,.dn-tag .mono{margin:0;color:var(--taupe);text-shadow:none}
.dn-ort b{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,3.4vw,3.2rem);line-height:1}
.dn-tag__klein{font-size:.84rem;opacity:.7}
.dn-tage{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.2vw,18px)}
.dn-tag{flex-direction:column;gap:6px}
.dn-tag b{font-family:var(--serif);font-weight:400;font-size:2rem;line-height:1}
.dn-tag b small{font-size:1rem;opacity:.6}
.dn-vorschlag{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(18px,2.4vw,36px);align-items:start;margin-top:clamp(18px,2vw,28px);padding:clamp(26px,3vw,44px);border-radius:var(--r-xl);background:var(--navy);color:#fff;position:relative}
.dn-vorschlag::before{content:'';position:absolute;inset:10px;border:1px solid rgba(220,198,143,.3);border-radius:calc(var(--r-xl) - 10px);pointer-events:none}
.dn-vorschlag__z svg{width:clamp(48px,4.4vw,64px);height:auto;color:var(--gold)}
.dn-vorschlag .d3 em{color:var(--gold)}
.dn-vorschlag .lauf{margin-top:12px;color:rgba(255,255,255,.84);max-width:62ch}
.dn-vorschlag .kn-reihe{margin-top:20px}
.dn-wetter__quelle a{box-shadow:inset 0 -1px 0 currentColor}

/* ---------- Zimmer-Finder im Buchen-Fenster ---------- */
dialog.buchen.dn-breit{width:min(1080px,calc(100% - 28px))}
dialog.buchen.dn-breit .buchen__in{grid-template-columns:minmax(0,3fr) minmax(0,8fr)}
.dn-hundwahl .tabs{display:flex;gap:8px;margin-top:4px;background:none;box-shadow:none;padding:0}
.dn-hundwahl .tabs::before{display:none}
.dn-hundwahl .tab{flex:1;min-height:40px;border-radius:999px;border:1px solid rgba(220,198,143,.4);color:rgba(255,255,255,.8);background:transparent;font:600 .95rem var(--sans);cursor:pointer;transition:background .3s,color .3s}
.dn-hundwahl .tab[aria-pressed="true"]{background:var(--gold);color:var(--tinte);border-color:var(--gold)}
.dn-treffer{display:grid;gap:12px}
.dn-warte{opacity:.8}
.dn-treffer__kopf{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;font-size:.92rem;color:rgba(255,255,255,.76);padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.16)}
.dn-treffer__kopf .pfeil{color:var(--gold);background:none;border:0;cursor:pointer;font:600 .92rem var(--sans)}
.dn-treffer__mehr{margin:12px 0 0;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(255,255,255,.12)}
.dn-zi h3{font-family:var(--serif);font-weight:400;font-size:1.25rem;line-height:1.2}
.dn-zi p{margin-top:6px;font-size:.93rem;line-height:1.5;color:rgba(255,255,255,.82)}
.dn-zi small{display:block;margin-top:6px;font-size:.8rem;color:rgba(255,255,255,.58)}
.dn-zi__hund{color:var(--gold)!important}
.dn-zi__raten{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:8px}
.dn-rate{display:flex;gap:8px;align-items:baseline}
.dn-rate i{font-style:normal;font-size:.8rem;color:rgba(255,255,255,.6)}
.dn-rate b{font-family:var(--serif);font-weight:400;font-size:1.15rem}
.dn-zi--oben{grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:stretch;padding:0;border:0;border-radius:var(--r-l);overflow:hidden;background:rgba(3,10,24,.42);box-shadow:inset 0 0 0 1px rgba(220,198,143,.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{margin:0 0 6px;color:var(--gold);text-shadow:none}
.dn-zi--oben h3{font-size:1.7rem}
.dn-zi--oben .dn-rate b{font-size:1.5rem}
.dn-zi--oben > .kn{grid-column:2;margin:14px 22px 20px;justify-self:start}

/* ---------- Anfrage-Rechner ---------- */
.dn-rechner{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(16px,2.4vw,40px);align-items:start}
.dn-rechner__wahl .felder{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}
.tabs--rechner{display:flex;gap:8px;flex-wrap:wrap;background:none;box-shadow:none;padding:0}
.tabs--rechner::before{display:none}
.tabs--rechner .tab{min-height:44px;padding:0 22px;border-radius:999px;border:1px solid var(--linie);background:transparent;color:var(--tinte);font:600 .98rem var(--sans);cursor:pointer;transition:background .3s,color .3s}
.tabs--rechner .tab::after{display:none}
.tabs--rechner .tab[aria-pressed="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.dn-haken{display:flex;align-items:center;gap:10px;font-weight:600;cursor:pointer}
.dn-haken input{width:20px;height:20px;accent-color:var(--navy)}
.dn-rechner__ergebnis{position:relative;padding:clamp(26px,3vw,42px);border-radius:var(--r-xl);background:var(--navy);color:#fff}
.dn-rechner__ergebnis::before{content:'';position:absolute;inset:10px;border:1px solid rgba(220,198,143,.3);border-radius:calc(var(--r-xl) - 10px);pointer-events:none}
.dn-rechner__ergebnis .mono{margin:0;color:var(--gold);text-shadow:none}
.dn-rechner__summe{display:flex;align-items:baseline;gap:10px;margin-top:6px}
.dn-rechner__summe small{font-family:var(--sans);font-size:1rem;letter-spacing:.12em;opacity:.7}
.dn-rechner__summe b{font-family:var(--serif);font-weight:400;font-size:clamp(2.8rem,4.6vw,4.4rem);line-height:1}
.dn-rechner__zeilen{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:6px;font-size:.92rem;color:rgba(255,255,255,.8)}
.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);font-weight:600}
.dn-rechner__hinweis{margin-top:8px;font-size:.86rem;line-height:1.5;color:rgba(255,255,255,.66)}
.dn-rechner__ergebnis .kn-reihe{margin-top:20px}

/* ---------- Gutschein online ---------- */
.dn-betraege{display:flex;flex-wrap:wrap;gap:8px}
.dn-betraege .taste{min-height:40px}
.dn-gs{margin-top:clamp(18px,2vw,26px)}
.dn-gs__ok{font-family:var(--serif);font-size:clamp(1.6rem,2.3vw,2.2rem);color:var(--gold);margin-bottom:14px}
.dn-gs__satz{margin-top:16px;font-size:.92rem;line-height:1.55;color:rgba(255,255,255,.76)}
.dn-gs .kn-reihe{margin-top:18px}
.dn-gk{display:grid;justify-items:center;text-align:center;gap:6px;padding:clamp(24px,3vw,36px) 20px;border-radius:var(--r-l);background:var(--nacht);color:#fff;box-shadow:inset 0 0 0 1px rgba(220,198,143,.5);position:relative}
.dn-gk::before{content:'';position:absolute;inset:7px;border:1px solid rgba(220,198,143,.24);border-radius:calc(var(--r-l) - 7px);pointer-events:none}
.dn-gk svg{width:58px;height:auto;color:var(--gold);margin-bottom:6px}
.dn-gk .mono{margin:0;color:var(--gold);text-shadow:none}
.dn-gk__wert{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,3.4vw,3rem);line-height:1.05}
.dn-gk__was{font-size:.95rem;opacity:.86}
.dn-gk__fuer{font-family:var(--serif);font-size:1.2rem;margin-top:6px}
.dn-gk__widmung{font-family:var(--serif);font-style:italic;opacity:.86;max-width:34ch}
.dn-gk__von,.dn-gk__nr{font-size:.8rem;letter-spacing:.08em;opacity:.66}

/* ---------- Vor Ihrer Anreise ---------- */
.dn-blatt .felder{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}
.dn-blatt .feld--ganz{grid-column:1/-1}
.dn-kissenreihe{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(10px,1.2vw,18px)}
.dn-kissen{position:relative;display:grid;align-content:start;gap:8px;padding:18px 16px 20px;border-radius:var(--r-l);background:rgba(255,255,255,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.85),inset 0 0 0 1px rgba(110,88,44,.2);cursor:pointer;transition:box-shadow .35s,transform .35s var(--e1,ease)}
.dn-kissen:hover{transform:translateY(-3px)}
.dn-kissen input{position:absolute;opacity:0;pointer-events:none}
.dn-kissen:has(input:checked){box-shadow:inset 0 1px 0 rgba(255,255,255,.85),inset 0 0 0 2px var(--taupe)}
.dn-kissen:has(input:focus-visible){outline:2px solid var(--navy);outline-offset:3px}
.dn-kissen__b{display:grid;place-items:center;height:96px}
.dn-kissen__b img{max-width:100%;max-height:96px;width:auto;height:auto}
.dn-kissen b{font-family:var(--serif);font-weight:400;font-size:1.12rem;line-height:1.2}
.dn-kissen > span:last-child{font-size:.84rem;line-height:1.45;opacity:.78}
.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 var(--linie)}
.dn-zeile:last-child{border-bottom:0}
.dn-zeile b{font-family:var(--serif);font-weight:400;font-size:1.15rem}
.dn-zeile span{display:block;font-size:.84rem;line-height:1.45;opacity:.74;margin-top:3px}
.dn-zeile i{font-style:normal;font-weight:600;white-space:nowrap}
.dn-zaehler{display:inline-flex;align-items:center;gap:4px}
.dn-zaehler button{width:34px;height:34px;border-radius:50%;border:1px solid var(--linie);background:rgba(255,255,255,.6);color:var(--tinte);font:500 1.1rem/1 var(--sans);cursor:pointer}
.dn-zaehler button:active{transform:translateY(1px)}
.dn-zaehler input{width:42px!important;text-align:center;border:0;background:transparent;font:600 1.05rem var(--sans);color:var(--tinte);-moz-appearance:textfield}
.dn-zaehler input::-webkit-outer-spin-button,.dn-zaehler input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.feld .dn-zaehler{margin-top:2px}
.dn-feld-hell{max-width:320px}
.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-xl);box-shadow:inset 0 0 0 1px rgba(220,198,143,.34);color:#fff}
.dn-summe .mono{margin:0;color:var(--gold);text-shadow:none}
.dn-summe ul{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px;font-size:1.02rem;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;color:rgba(255,255,255,.66)}
.dn-anreise .formular__danke{margin-top:16px;color:var(--gold)}

/* ---------- Vor Ihrer Anreise, Karten wie ein Bogen des Hauses (Robert 14.10.2026: «luxuriöser, edler») ----------
   Vorbild «Ihr Aufenthalt» der Zimmerseiten (.zst-karte): Titel mittig zwischen Goldlinien, Angaben in der Titelschrift,
   Felder wie auf einem Meldeschein (Beschriftung klein, Linie darunter statt Kasten). */
.dn-lux{padding:clamp(30px,3.4vw,54px) clamp(24px,3.2vw,52px) clamp(28px,3vw,46px)}
.dn-lux__kopf{text-align:center}
.dn-lux__kopf .d3 em{color:var(--taupe)}
.dn-lux__z{display:block;width:46px;height:auto;margin:0 auto 14px;color:var(--taupe)}
.dn-lux .felder{gap:clamp(18px,2vw,26px) clamp(20px,2.4vw,34px);margin-top:clamp(20px,2.4vw,30px)}
.dn-lux .feld{gap:6px;padding:0 0 10px;border-radius:0;background:none;box-shadow:none;border-bottom:1px solid rgba(138,117,69,.55);position:relative}
.dn-lux .feld::after{content:'';position:absolute;left:0;right:0;bottom:-4px;border-bottom:1px solid rgba(138,117,69,.22)}
.dn-lux .feld span{font-size:10.5px;letter-spacing:.17em;color:var(--taupe)}
.dn-lux .feld input,.dn-lux .feld select{font:400 clamp(1.08rem,1.25vw,1.24rem)/1.3 var(--serif);color:var(--blau);font-variant-numeric:lining-nums}
.dn-lux .feld select{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%238a7545' stroke-width='1.2'/%3E%3C/svg%3E") right 2px center/11px 8px no-repeat;padding-right:20px}
.dn-lux .feld:focus-within{border-bottom-color:var(--taupe)}
.dn-lux .feld:focus-within::after{border-bottom-color:rgba(138,117,69,.5)}
.dn-lux .feld .dn-zaehler{margin-top:0}
.dn-lux .dn-zaehler{gap:2px}
.dn-lux .dn-zaehler button{width:30px;height:30px;border:1px solid rgba(138,117,69,.6);background:transparent;color:var(--taupe);font:300 1.05rem/1 var(--sans);transition:background .3s,color .3s}
.dn-lux .dn-zaehler button:hover{background:var(--blau);border-color:var(--blau);color:#fbf3e2}
.dn-lux .dn-zaehler input{width:40px!important;font:400 1.24rem/1 var(--serif);color:var(--blau);font-variant-numeric:lining-nums}
/* Lunchboxen wie auf einer Weinkarte: Name, Punktlinie, Preis; darunter die Beschreibung, rechts die Anzahl */
.dn-lux__liste{margin-top:clamp(14px,1.8vw,22px)}
.dn-zeile--karte{grid-template-columns:auto minmax(18px,1fr) auto;gap:4px 12px;align-items:baseline;padding:clamp(14px,1.5vw,20px) 0;border-bottom:1px solid rgba(138,117,69,.26)}
.dn-zeile--karte b{font-size:clamp(1.14rem,1.36vw,1.36rem);line-height:1.2}
.dn-zeile--karte u{display:block;align-self:end;height:3px;margin-bottom:.38em;border:0;text-decoration:none;background:radial-gradient(circle,rgba(138,117,69,.8) .9px,transparent 1.3px) 0 50%/6px 3px repeat-x}
.dn-zeile--karte i{font-family:var(--serif);font-weight:400;font-size:clamp(1.14rem,1.36vw,1.36rem);color:var(--blau);font-variant-numeric:lining-nums}
.dn-zeile--karte span{grid-column:1/3;margin-top:2px;font-size:.88rem;line-height:1.5;color:rgba(12,21,38,.7);opacity:1;max-width:44ch}
.dn-zeile--karte .dn-zaehler{grid-column:3;justify-self:end;align-self:end}
/* Ihre Wünsche: das Billett des Hauses, Nachtblau, doppelte Goldlinie, gekerbte Ecken, Abriss zwischen Wünschen und Summe */
.dn-billett{position:relative;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:0;padding:0;border-radius:0;box-shadow:none;background:linear-gradient(180deg,#1b4180,#12305e 55%,#0b2148);
  -webkit-mask:radial-gradient(circle 20px at 0 0,#0000 98%,#000) top left,radial-gradient(circle 20px at 100% 0,#0000 98%,#000) top right,radial-gradient(circle 20px at 0 100%,#0000 98%,#000) bottom left,radial-gradient(circle 20px at 100% 100%,#0000 98%,#000) bottom right;
  -webkit-mask-size:51% 51%;-webkit-mask-repeat:no-repeat;mask:radial-gradient(circle 20px at 0 0,#0000 98%,#000) top left,radial-gradient(circle 20px at 100% 0,#0000 98%,#000) top right,radial-gradient(circle 20px at 0 100%,#0000 98%,#000) bottom left,radial-gradient(circle 20px at 100% 100%,#0000 98%,#000) bottom right;mask-size:51% 51%;mask-repeat:no-repeat}
.dn-billett::before,.dn-billett::after{content:'';position:absolute;pointer-events:none;border:1px solid rgba(236,214,157,.55)}
.dn-billett::before{inset:12px 30px}
.dn-billett::after{inset:16px 34px;border-color:rgba(236,214,157,.22)}
.dn-billett > div{position:relative;z-index:1;padding:clamp(40px,4.4vw,66px) clamp(46px,5vw,76px)}
.dn-billett__l{text-align:center}
.dn-billett__z{display:block;width:50px;height:auto;margin:0 auto 14px;color:var(--gold)}
.dn-billett .d3{color:#fbf3e2}.dn-billett .d3 em{color:var(--gold)}
.dn-billett ul{margin:clamp(20px,2.4vw,30px) auto 0;max-width:46ch;gap:0;text-align:left;font-family:var(--serif);font-size:clamp(1.04rem,1.2vw,1.18rem);color:#fbf3e2}
.dn-billett ul li{padding:12px 0;border-bottom:1px solid rgba(236,214,157,.24)}
.dn-billett .dn-summe__rechts{border-left:1.5px dashed rgba(236,214,157,.6);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.dn-billett .dn-rechner__summe{display:flex;align-items:baseline;gap:10px;margin:10px 0 0;color:var(--gold)}
.dn-billett .dn-rechner__summe small{font-family:var(--mono);font-size:12px;letter-spacing:.2em;color:rgba(236,214,157,.8)}
.dn-billett .dn-rechner__summe b{font-family:var(--serif);font-weight:400;font-size:clamp(3.4rem,5.6vw,5.4rem);line-height:1;color:var(--gold);font-variant-numeric:lining-nums}
.dn-billett .dn-summe__rechts::before{content:'';width:34px;height:3px;margin:0 auto 18px;border-top:1px solid rgba(236,214,157,.7);border-bottom:1px solid rgba(236,214,157,.3);order:-1}
.dn-billett .dn-summe__klein{max-width:30ch;margin:14px auto 24px}
/* Kissen-Menü als Atelier: je Kissen ein Studiofoto mit seiner Füllung in der Schale, Licht von links */
.dn-kissenreihe{gap:clamp(12px,1.3vw,20px)}
.dn-kissen{gap:0;padding:0 0 clamp(18px,1.8vw,24px);overflow:hidden;text-align:center;background:linear-gradient(180deg,#fdf8ec,#f4ecdc);box-shadow:inset 0 0 0 1px rgba(110,88,44,.2),0 3px 0 #b9a882,0 30px 40px -32px rgba(40,28,8,.55)}
.dn-kissen__b{position:relative;display:block;height:auto;aspect-ratio:900/821;margin:7px 7px 0;overflow:hidden;border-radius:calc(var(--r-l) - 6px) calc(var(--r-l) - 6px) 3px 3px;background:#cfc4b0;box-shadow:inset 0 0 0 1px rgba(110,88,44,.18)}
.dn-kissen__b img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover}
.dn-kissen b{display:block;margin:clamp(14px,1.4vw,18px) 12px 0;font-size:clamp(1.1rem,1.25vw,1.24rem)}
.dn-kissen > span:last-child{display:block;margin:8px clamp(12px,1.2vw,18px) 0;font-size:.82rem;color:rgba(12,21,38,.72);opacity:1}
.dn-kissen::after{content:'';position:absolute;inset:7px;border:1px solid transparent;border-radius:calc(var(--r-l) - 6px);pointer-events:none;transition:border-color .35s}
.dn-kissen:has(input:checked){box-shadow:inset 0 0 0 1.5px var(--taupe),0 3px 0 #a39370,0 30px 40px -30px rgba(40,28,8,.6)}
.dn-kissen:has(input:checked)::after{border-color:rgba(138,117,69,.5)}
.dn-kissen:has(input:checked) b{color:var(--blau)}
@media (max-width:860px){
  .dn-billett{grid-template-columns:minmax(0,1fr)}
  .dn-billett .dn-summe__rechts{border-left:0;border-top:1.5px dashed rgba(236,214,157,.6)}
  .dn-billett > div{padding:clamp(34px,8vw,46px) clamp(30px,8vw,46px)}
  .dn-billett::before{inset:10px 22px}.dn-billett::after{inset:14px 26px}
}
@media (max-width:520px){
  .dn-zeile--karte{grid-template-columns:minmax(0,1fr) auto}
  .dn-zeile--karte u{display:none}
  .dn-zeile--karte span{grid-column:1/-1}
  .dn-zeile--karte .dn-zaehler{grid-column:1/-1}
}

/* ---------- schmal ---------- */
@media (max-width:860px){
  .dn-zwei,.dn-orte,.dn-orte--2,.dn-rechner,.dn-summe{grid-template-columns:minmax(0,1fr)}
  .dn-tage{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dn-kissenreihe{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dn-vorschlag{grid-template-columns:minmax(0,1fr)}
  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:520px){
  .dn-rechner__wahl .felder,.dn-blatt .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-zi{grid-template-columns:minmax(0,1fr)}
}

/* ---------- Druck: Offerte 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:#0c1526;font-family:var(--sans);-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .dn-blatt-druck{padding:12mm 4mm}
  .dn-blatt-druck > svg{width:46mm;height:auto;color:#0b1f40;display:block;margin:0 auto 6mm}
  .dn-blatt-druck h1{font-family:var(--serif);font-weight:400;font-size:26pt;margin:8mm 0 2mm}
  .dn-blatt-druck h1 em{color:#8a7545}
  .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 #cbbd99}
  .dn-blatt-druck td:last-child{text-align:right;white-space:nowrap}
  .dn-blatt-druck .dn-d-summe td{font-family:var(--serif);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:#5b5446;text-align:center}
  .dn-gutschein-druck{padding:20mm 10mm}
  .dn-gutschein-druck .dn-gk{background:#06142b;color:#fff;padding:16mm 10mm;border-radius:6mm}
  .dn-gutschein-druck .dn-d-kl{margin-top:8mm}
  @page{size:A4;margin:12mm}
}

/* versteckte Schritte bleiben versteckt, auch wo die Seite display setzt */
form[data-gutschein] > [hidden],.dn-gs[hidden],dialog.buchen form[hidden],dialog.buchen .buchen__vorteil[hidden],.dn-treffer[hidden],.dn-vorschlag[hidden],[data-nur][hidden]{display:none!important}

/* Keine Punkte in Tasten und Kärtchen (Robert 10.10.2026: «sehen nach KI aus, niemals benutzen»). Gewählt heisst: Taste dunkelblau, Kissen mit Rahmen. */
.taste::before,.taste[aria-pressed="true"]::before,.konsole .taste:hover::before,.konsole .taste[aria-pressed="true"]:hover::before{content:none!important;display:none!important}
.taste{padding-left:18px!important;padding-right:18px!important}
@media (min-width:1500px){.taste{padding-left:22px!important;padding-right:22px!important}}
.taste[aria-pressed="true"]{color:#fff}

.dn-treffer > *,.buchen__t{min-width:0}
.dn-rw{min-width:0;max-width:100%}
.dn-ohnepreis{font-size:.95rem;line-height:1.5;color:rgba(255,255,255,.82)}
.dn-zi--oben:not(:has(.dn-zi__raten)) > .kn{align-self:end}

/* ---------- Preisvergleich und Wetter beim Buchen, edle Fassung (Robert 10.10.2026: «edler, luxuriöser, high-end animiert»)
   Dunkle Karte mit doppelter Goldlinie wie die Formulare des Hauses. Bewegung nur transform und opacity, einmal beim Auftritt, danach steht alles,
   nur der Schriftring des Siegels dreht sich langsam. Ohne Bewegung (prefers-reduced-motion, ?nomotion) steht alles sofort. ---------- */
.dn-pv,.dn-rw{position:relative;padding:26px 28px 22px;border-radius:var(--r-l);background:#0a1f44;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),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(220,198,143,.34);border-radius:calc(var(--r-l) - 8px);pointer-events:none}
.dn-pv::after,.dn-rw::after{content:'';position:absolute;inset:12px;border:1px solid rgba(220,198,143,.12);border-radius:calc(var(--r-l) - 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);text-shadow:none}
.dn-edel__kopf em{font-family:var(--serif);font-style:italic;font-size:.95rem;color:rgba(255,255,255,.62)}
.dn-edel__satz{position:relative;margin-top:16px;padding-top:12px;border-top:1px solid rgba(220,198,143,.16);font-size:.8rem;line-height:1.55;color:rgba(255,255,255,.56)}
.dn-pv__leib{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:center}
.dn-pv__liste{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.dn-pv__z{display:grid;grid-template-columns:minmax(0,9rem) minmax(0,1fr) auto;gap:18px;align-items:center}
.dn-pv__n{font-size:.98rem;line-height:1.2;color:rgba(255,255,255,.84)}
.dn-pv__n small{display:block;margin-top:4px;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(220,198,143,.8)}
.dn-pv__z--wir .dn-pv__n{font-weight:600;color:#fff}
.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,232,.85),transparent);transform:translateX(-120%);opacity:0}
.dn-pv__z b{font-family:var(--serif);font-weight:400;font-size:1.3rem;white-space:nowrap;font-variant-numeric:tabular-nums;color:rgba(255,255,255,.78);text-align:right;min-width:6.2em}
.dn-pv__z--wir b{font-size:1.8rem;color:var(--gold)}
.dn-pv__siegel{position:relative;width:132px;height:132px;display:grid;place-items:center;border-radius:50%;background:#081936;box-shadow:inset 0 0 0 1px rgba(220,198,143,.75),inset 0 0 0 7px #081936,inset 0 0 0 8px rgba(220,198,143,.3),0 20px 30px -16px rgba(0,0,0,.9)}
.dn-pv__ring{position:absolute;inset:0;width:100%;height:100%;fill:rgba(220,198,143,.85);font:600 7.4px var(--sans);letter-spacing:.18em}
.dn-pv__kern{display:grid;justify-items:center;gap:2px;text-align:center}
.dn-pv__kern small{font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.dn-pv__kern b{font-family:var(--serif);font-weight:400;font-size:1.3rem;line-height:1.05;color:var(--gold);white-space:nowrap}
.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:#081936;box-shadow:inset 0 0 0 1px rgba(220,198,143,.34)}
.dn-rw__tag::before{content:'';position:absolute;inset:5px;border:1px solid rgba(220,198,143,.12);border-radius:10px;pointer-events:none}
.dn-rw__wt{font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.dn-rw__dt{font-family:var(--serif);font-size:1rem;color:rgba(255,255,255,.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(--serif);font-size:1.7rem;color:var(--gold)}
.dn-rw__max{font-family:var(--serif);font-weight:400;font-size:2.3rem;line-height:1;font-variant-numeric:tabular-nums}
.dn-rw__min{font-size:.86rem;color:rgba(255,255,255,.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(220,198,143,.8)}
.dn-rw__tag em{font-style:normal;font-size:.72rem;color:rgba(255,255,255,.58)}
.dn-wetter .dn-rw{margin-top:0}
.dn-treffer .dn-pv,.dn-treffer .dn-rw{margin-top:2px}

/* Auftritt (nur mit Bewegung) */
.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__siegel{opacity:0;transform:scale(1.28) rotate(-14deg)}
.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 cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(.08s + var(--i,0) * .13s)}
.dn-los:not(.dn-ruhig) .dn-pv__spur i{animation:dnBalken 1.5s cubic-bezier(.16,1,.3,1) 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__siegel{animation:dnSiegel .9s cubic-bezier(.2,1.4,.4,1) 1.05s forwards}
.dn-los:not(.dn-ruhig) .dn-pv__ring{animation:dnDreh 60s linear 2s infinite}
.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 cubic-bezier(.16,1,.3,1) 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 dnSiegel{to{opacity:1;transform:none}}
@keyframes dnIc{to{opacity:1;transform:none}}
@keyframes dnDreh{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.dn-pv *,.dn-rw *{animation:none!important}}
@media (max-width:640px){
  .dn-pv,.dn-rw{padding:22px 18px 18px}
  .dn-pv__leib{grid-template-columns:minmax(0,1fr)}
  .dn-pv__siegel{justify-self:center;margin-top:4px}
  .dn-pv__z{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}
  .dn-pv__spur{grid-column:1/-1;grid-row:2}
  .dn-pv__z--wir b{font-size:1.5rem}
  .dn-rw__tag{flex-basis:112px}
}

/* Rechner: Anlass-Wahl frei stehend, ohne Linie darunter (Robert 10.10.2026: «gefällt mir nicht, wie die Buttons auf der Linie liegen») */
.tabs--rechner{border:0!important;box-shadow:none!important;background:none!important;gap:10px!important;margin:0 0 4px!important;padding:2px 0 6px;overflow:visible}
.tabs--rechner .tab{min-height:46px;padding:0 24px;border-color:rgba(110,88,44,.28);background:rgba(255,255,255,.4)}
.dn-rechner__entwurf{margin-top:14px;padding:12px 14px;border-radius:12px;box-shadow:inset 0 0 0 1px rgba(220,198,143,.32);font-size:.88rem;line-height:1.55;color:rgba(255,255,255,.82)}
.dn-rechner__entwurf b{display:block;margin-bottom:2px;font-family:var(--serif);font-weight:400;font-size:1.05rem;color:var(--gold)}

/* Siegel: Schriftring aussen, Betrag mit Luft innen */
.dn-pv__siegel{width:156px;height:156px}
.dn-pv__ring{font-size:7px;letter-spacing:.2em}
.dn-pv__kern{max-width:96px;gap:1px}
.dn-pv__kern small{font-size:.54rem;letter-spacing:.18em}
.dn-pv__kern i{font-style:normal;font-size:.62rem;letter-spacing:.16em;color:rgba(220,198,143,.85);margin-top:3px}
.dn-pv__kern b{font-size:1.45rem;line-height:1}
.dn-pv__z{grid-template-columns:minmax(0,10.5rem) minmax(0,1fr) auto}
@media (max-width:640px){.dn-pv__z{grid-template-columns:minmax(0,1fr) auto}}
/* gleiche Spalten in allen Zeilen, damit die Balken vergleichbar sind */
.dn-pv__z{grid-template-columns:minmax(0,10.5rem) minmax(0,1fr) 10.8rem}
.dn-pv__z b{min-width:0}
.dn-pv__z--wir b{font-size:1.6rem}
@media (max-width:640px){.dn-pv__z{grid-template-columns:minmax(0,1fr) auto}}
.dn-pv__z{grid-template-columns:minmax(0,9.4rem) minmax(0,1fr) 9.6rem;gap:14px}
.dn-pv__z--wir b{font-size:1.5rem}
.dn-pv__leib{gap:22px}
@media (max-width:640px){.dn-pv__z{grid-template-columns:minmax(0,1fr) auto}}

/* Ersparnis als Zahl beim Direktpreis (statt Siegel, Robert 10.10.2026) */
.dn-pv__leib{grid-template-columns:minmax(0,1fr)!important}
.dn-pv__preis{display:grid;justify-items:end;gap:3px;text-align:right}
.dn-pv__weniger{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);white-space:nowrap}
.dn-pv__weniger span{font-family:var(--serif);font-size:1.05rem;letter-spacing:0;text-transform:none}
.dn-pv[data-anim]:not(.dn-ruhig) .dn-pv__weniger{opacity:0;transform:translateY(6px)}
.dn-los:not(.dn-ruhig) .dn-pv__weniger{animation:dnAuf .8s cubic-bezier(.16,1,.3,1) 1.2s forwards}
.dn-pv__z{grid-template-columns:minmax(0,9.4rem) minmax(0,1fr) 11rem}
@media (max-width:640px){.dn-pv__z{grid-template-columns:minmax(0,1fr) auto}}
/* Hund ja/nein: die gewählte Taste bleibt lesbar (die Schalter-Regel aus main.css war stärker und nahm die Fläche weg) */
.dn-hundwahl .tabs.tabs--schalter .tab{color:rgba(255,255,255,.82);background:transparent}
.dn-hundwahl .tabs.tabs--schalter .tab[aria-pressed="true"]{background:var(--gold);color:var(--tinte);border-color:var(--gold)}
/* Trefferansicht: «Ihr Zimmer.» mittig, das Zeichen mittig darüber (Robert 10.10.2026) */
dialog.buchen.dn-breit .buchen__t > svg.z-ce{display:block;margin-inline:auto}
dialog.buchen.dn-breit .buchen__t > h2{text-align:center}

/* ---------- «Ihr Aufenthalt» auf anreise.html (Robert 14.10.2026, 23:04: «blaue Kachel, luxuriöser» und «Check-in, Check-out, Rezeption edler») ----------
   Nur dieser Abschnitt: .dn-lux--nacht und .dn-reg. Die Karten Lunchbox, Hund, Tisch bleiben, wie sie sind. */
#aufenthalt .blatt.dn-lux--nacht{color:#fbf3e2;border-radius:var(--r-xl);
  background:linear-gradient(180deg,rgba(30,69,131,.9) 0%,rgba(14,40,84,.94) 46%,rgba(6,20,46,.98) 100%),#0b1f40 url(../img/tapete-navy.webp?v=ba8679c1) 50% 0/760px auto;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 0 0 1px rgba(220,198,143,.62),0 4px 0 #030b1c,0 56px 70px -40px rgba(12,21,38,.85)}
#aufenthalt .blatt.dn-lux--nacht::before{inset:10px;border:1px solid rgba(220,198,143,.42);border-radius:calc(var(--r-xl) - 10px)}
#aufenthalt .blatt.dn-lux--nacht::after{content:'';position:absolute;inset:14px;border:1px solid rgba(220,198,143,.16);border-radius:calc(var(--r-xl) - 14px);pointer-events:none}
.dn-lux--nacht .dn-lux__z{width:clamp(66px,5.4vw,86px);aspect-ratio:1680/1084;margin-bottom:16px;color:transparent;background:url(../img/ce-gold-320.webp?v=b3b7a7bf) center/contain no-repeat}
.dn-lux--nacht .dn-lux__z *{fill:transparent!important;stroke:none!important}
.dn-lux--nacht .d3{color:#fbf3e2}
.dn-lux--nacht .dn-lux__kopf .d3 em{color:var(--gold)}
.dn-lux--nacht .zst-karte__zeile{color:rgba(220,198,143,.9)}
.dn-lux--nacht .zst-karte__zeile::before,.dn-lux--nacht .zst-karte__zeile::after{border-top-color:rgba(220,198,143,.7);border-bottom-color:rgba(220,198,143,.3)}
.dn-lux--nacht .feld{border-bottom-color:rgba(220,198,143,.62)}
.dn-lux--nacht .feld::after{border-bottom-color:rgba(220,198,143,.2)}
.dn-lux--nacht .feld span{color:rgba(220,198,143,.86)}
.dn-lux--nacht .feld input,.dn-lux--nacht .feld select,.dn-lux--nacht .cw-knopf{color:#fbf3e2;caret-color:var(--gold);color-scheme:dark}
.dn-lux--nacht .feld select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23dcc68f' stroke-width='1.2'/%3E%3C/svg%3E")}
.dn-lux--nacht .feld select option{color:var(--tinte);background:var(--weiss)}
.dn-lux--nacht .cw-winkel{stroke:var(--gold);opacity:.9}
.dn-lux--nacht .feld:focus-within{border-bottom-color:var(--gold)}
.dn-lux--nacht .feld:focus-within::after{border-bottom-color:rgba(220,198,143,.5)}
.dn-lux--nacht .feld input:-webkit-autofill{-webkit-text-fill-color:#fbf3e2;transition:background-color 99999s}
/* Check-in, Check-out, Rezeption: wie ein Aushang am Empfang, eine Zeile je Angabe zwischen doppelten Goldlinien */
.koord.dn-reg{position:relative;display:block;max-width:560px;margin-top:clamp(36px,4vw,58px);padding:4px 0 0;border-top:1px solid rgba(138,117,69,.62)}
.koord.dn-reg::before,.koord.dn-reg::after{content:'';position:absolute;left:0;right:0;border-top:1px solid rgba(138,117,69,.26)}
.koord.dn-reg::before{top:3px}
.koord.dn-reg::after{bottom:-4px}
.koord.dn-reg div{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(0,2fr);align-items:baseline;gap:20px;padding:clamp(17px,1.8vw,24px) 0;border-left:0;border-bottom:1px solid rgba(138,117,69,.28)}
.koord.dn-reg div:first-child{padding-left:0}
.koord.dn-reg div:last-child{border-bottom-color:rgba(138,117,69,.62)}
.koord.dn-reg dt{font-size:11px;letter-spacing:.2em;color:var(--taupe)}
.koord.dn-reg dd{margin:0;font-size:clamp(1.3rem,1.75vw,1.72rem);line-height:1.2;color:var(--blau);font-variant-numeric:lining-nums}
@media (max-width:560px){.koord.dn-reg div{grid-template-columns:1fr;gap:8px}}

/* ---------- «Kommt Ihr Hund mit?» (Robert 14.10.2026, 23:50: «keine Hundemarke», «luxuriöser, mehr Hotelstil», Karte nie kleiner als die Spalte links) ----------
   Dieselbe blaue Kachel wie «Ihre Buchung» (.dn-lux--nacht), oben das Foto der zwei Hunde vor dem Eingang, Preise als eine Zeile in der Karte. Nur #hund. */
#hund .blatt.dn-lux--nacht{color:#fbf3e2;border-radius:var(--r-xl);
  background:linear-gradient(180deg,rgba(30,69,131,.9) 0%,rgba(14,40,84,.94) 46%,rgba(6,20,46,.98) 100%),#0b1f40 url(../img/tapete-navy.webp?v=ba8679c1) 50% 0/760px auto;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 0 0 1px rgba(220,198,143,.62),0 4px 0 #030b1c,0 56px 70px -40px rgba(12,21,38,.85)}
#hund .blatt.dn-lux--nacht::before{inset:10px;border:1px solid rgba(220,198,143,.42);border-radius:calc(var(--r-xl) - 10px)}
#hund .blatt.dn-lux--nacht::after{content:'';position:absolute;inset:14px;border:1px solid rgba(220,198,143,.16);border-radius:calc(var(--r-xl) - 14px);pointer-events:none}
.dn-hundpaar{align-items:stretch}
#hund .dn-hundkarte{padding-top:clamp(22px,2vw,28px)}
.dn-hundkarte__b{position:relative;z-index:1;margin:0 0 clamp(24px,2.6vw,36px);aspect-ratio:16/9;overflow:hidden;border-radius:calc(var(--r-xl) - 16px) calc(var(--r-xl) - 16px) 4px 4px;box-shadow:0 0 0 1px rgba(220,198,143,.5)}
.dn-hundkarte__b img{display:block;width:100%;height:100%;object-fit:cover;object-position:30% 62%}
.dn-hundkarte__preise{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:clamp(18px,1.8vw,24px) 0 0;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(220,198,143,.8);text-align:center}
.dn-hundkarte__preise span{display:flex;flex-direction:column;align-items:center;gap:8px;padding:2px 8px}
.dn-hundkarte__preise span+span{box-shadow:-1px 0 0 rgba(220,198,143,.3)}
.dn-hundkarte__preise b{font:400 clamp(1.1rem,1.3vw,1.3rem)/1 var(--serif);letter-spacing:0;text-transform:none;color:#fbf3e2;font-variant-numeric:lining-nums}
.dn-hundpaar > .t{align-self:center}
.dn-lux--nacht .dn-zaehler button{border-color:rgba(220,198,143,.6);color:var(--gold)}
.dn-lux--nacht .dn-zaehler button:hover{background:var(--gold);border-color:var(--gold);color:#0b1f40}
.dn-lux--nacht .dn-zaehler input{color:#fbf3e2}
@media (max-width:560px){.dn-hundkarte__preise{grid-template-columns:minmax(0,1fr);gap:16px}.dn-hundkarte__preise span+span{box-shadow:none}}

/* ---------- «Ein Tisch für Sie.»: drei Lokale als Kacheln, der Knopf öffnet das Reservierungsfenster (Robert 14.10.2026, 23:50) ---------- */
.dn-lokale{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.2vw,34px);align-items:stretch;margin-top:clamp(40px,4.6vw,70px)}
.dn-lokal{position:relative;display:flex;flex-direction:column;padding:10px;border-radius:var(--r-xl);background:linear-gradient(180deg,#fdf8ec,#f4ecdc);
  box-shadow:inset 0 0 0 1px rgba(110,88,44,.2),0 4px 0 #b9a882,0 40px 50px -34px rgba(40,28,8,.55);transition:box-shadow .45s var(--e2)}
.dn-lokal::after{content:'';position:absolute;inset:10px;border:1px solid transparent;border-radius:calc(var(--r-xl) - 10px);pointer-events:none;transition:border-color .45s}
.dn-lokal__b{margin:0;aspect-ratio:4/3.3;overflow:hidden;border-radius:calc(var(--r-xl) - 10px) calc(var(--r-xl) - 10px) 4px 4px;background:#d9cbb0}
.dn-lokal__b img{display:block;width:100%;height:100%;object-fit:cover}
.dn-lokal__t{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:clamp(22px,2.2vw,30px) clamp(14px,1.6vw,24px) clamp(18px,1.8vw,26px)}
.dn-lokal__nr{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--taupe)}
.dn-lokal .d3{margin:12px 0 0;font-size:clamp(1.6rem,2.1vw,2.2rem);line-height:1.1}
.dn-lokal__ort{display:block;margin-top:10px;font-family:var(--serif);font-size:1.02rem;color:rgba(12,21,38,.66)}
.dn-lokal__ort::before{content:'';display:block;width:34px;height:3px;margin:0 auto 12px;border-top:1px solid rgba(138,117,69,.6);border-bottom:1px solid rgba(138,117,69,.26)}
.dn-lokal__wahl{margin:14px 0 0;font-family:var(--serif);font-size:1.02rem;color:var(--blau)}
.dn-lokal .kn{margin-top:auto}
.dn-lokal__t > .kn{margin-top:clamp(20px,2vw,28px)}
.dn-lokal__wahl + .kn{margin-top:16px}
.dn-lokal--an{box-shadow:inset 0 0 0 1.5px var(--taupe),0 4px 0 #a39370,0 40px 50px -30px rgba(40,28,8,.6)}
.dn-lokal--an::after{border-color:rgba(138,117,69,.45)}
@media (max-width:860px){.dn-lokale{grid-template-columns:minmax(0,1fr);max-width:520px;margin-inline:auto}}
/* Das Fenster: Bild des Lokals links, rechts die Angaben wie auf «Ihre Buchung» */
dialog.dn-res{width:min(920px,calc(100% - 28px));max-height:calc(100dvh - 28px);padding:0;border:0;border-radius:var(--r-xl);color:#fbf3e2;overflow:auto;
  background:linear-gradient(180deg,rgba(30,69,131,.9) 0%,rgba(14,40,84,.94) 46%,rgba(6,20,46,.98) 100%),#0b1f40 url(../img/tapete-navy.webp?v=ba8679c1) 50% 0/760px auto;
  box-shadow:inset 0 0 0 1px rgba(220,198,143,.62),0 60px 120px -40px #000}
dialog.dn-res::backdrop{background:rgba(3,10,24,.82)}
.dn-res__in{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr)}
.dn-res__in::before{content:'';position:absolute;inset:10px;border:1px solid rgba(220,198,143,.4);border-radius:calc(var(--r-xl) - 10px);pointer-events:none;z-index:2}
.dn-res__b{position:relative;min-height:340px;background:#0e2347}
.dn-res__b > span{position:absolute;inset:0}
.dn-res__b img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dn-res__t{padding:clamp(34px,4vw,56px) clamp(26px,3.4vw,50px) clamp(28px,3vw,42px);text-align:center}
.dn-res__z{display:block;width:clamp(60px,5vw,78px);height:auto;aspect-ratio:1680/1084;margin:0 auto 14px;color:transparent;background:url(../img/ce-gold-320.webp?v=b3b7a7bf) center/contain no-repeat}
.dn-res__z *{fill:transparent!important;stroke:none!important}
.dn-res .d3{color:#fbf3e2;line-height:1.15}.dn-res .d3 em{color:var(--gold)}
.dn-res .zst-karte__zeile{color:rgba(220,198,143,.9)}
.dn-res .zst-karte__zeile::before,.dn-res .zst-karte__zeile::after{border-top-color:rgba(220,198,143,.7);border-bottom-color:rgba(220,198,143,.3)}
.dn-res .felder{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2vw,26px) clamp(20px,2.4vw,34px);margin-top:clamp(20px,2.4vw,30px);text-align:left}
.dn-res .feld--ganz{grid-column:1/-1}
.dn-res .feld{display:grid;gap:6px;padding:0 0 10px;border-radius:0;background:none;box-shadow:none;border-bottom:1px solid rgba(220,198,143,.62);position:relative}
.dn-res .feld::after{content:'';position:absolute;left:0;right:0;bottom:-4px;border-bottom:1px solid rgba(220,198,143,.2)}
.dn-res .feld span{font-family:var(--mono);font-size:10.5px;letter-spacing:.17em;text-transform:uppercase;color:rgba(220,198,143,.86)}
.dn-res .feld input,.dn-res .cw-knopf{border:0;background:none;padding:0;font:400 clamp(1.08rem,1.25vw,1.24rem)/1.3 var(--serif);color:#fbf3e2;color-scheme:dark;font-variant-numeric:lining-nums}
.dn-res .cw-winkel{stroke:var(--gold);opacity:.9}
.dn-res .dn-zaehler{gap:2px}
.dn-res .dn-zaehler button{width:30px;height:30px;border:1px solid rgba(220,198,143,.6);background:transparent;color:var(--gold);font:300 1.05rem/1 var(--sans)}
.dn-res .dn-zaehler button:hover{background:var(--gold);color:#0b1f40}
.dn-res .dn-zaehler input{width:40px!important;font:400 1.24rem/1 var(--serif);color:#fbf3e2}
.dn-res__kn{justify-content:center;margin-top:clamp(26px,3vw,36px);gap:14px}
.dn-res__weg{border:0;background:none;padding:6px 4px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(220,198,143,.86);cursor:pointer;box-shadow:inset 0 -1px 0 rgba(220,198,143,.5)}
.dn-res__tel{margin:18px 0 0;font-size:.92rem;color:rgba(255,255,255,.66)}
.dn-res__tel a{color:#fbf3e2;box-shadow:inset 0 -1px 0 rgba(220,198,143,.6)}
.dn-res .zu{position:absolute;z-index:3;right:22px;top:22px;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:rgba(3,10,24,.5);color:#fbf3e2;cursor:pointer}
.dn-res .zu svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.4}
@media (max-width:860px){.dn-res__in{grid-template-columns:minmax(0,1fr)}.dn-res__b{min-height:190px}}
@media (max-width:420px){.dn-res .felder{grid-template-columns:minmax(0,1fr)}}

/* ---------- «Etwas Feines für unterwegs.»: vier Lunchboxen als Bogen-Karten wie die Speisekarte (.hd-karte .gk), Zähler darunter (Robert 14.10.2026, 23:49) ---------- */
.dn-lunchkarte{margin-top:clamp(40px,4.6vw,70px)}
.dn-lunch .gk__p{margin-top:auto}
.dn-lunch > p{margin-bottom:14px}
.dn-lunch .dn-zaehler{margin-top:16px;gap:2px}
.dn-lunch .dn-zaehler button{width:32px;height:32px;border:1px solid rgba(220,198,143,.6);background:transparent;color:var(--gold);font:300 1.05rem/1 var(--sans);transition:background .3s,color .3s}
.dn-lunch .dn-zaehler button:hover{background:var(--gold);color:#0b1f40}
.dn-lunch .dn-zaehler input{width:42px!important;font:400 1.3rem/1 var(--serif);color:#fbf3e2;font-variant-numeric:lining-nums}
.dn-lunch.dn-lunch--an .gk__b{box-shadow:0 0 0 1.5px var(--gold)}
.dn-lunchtag{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:clamp(40px,4.4vw,64px)}
.dn-lunchtag .feld{width:min(340px,100%)}
.dn-lunchtag .quelle{margin:0;color:rgba(255,255,255,.62)}

/* ---------- «Ihr Kissen.»: freigeschwommen, die Texte wie ein Schild im Atelier (Robert 15.10.2026, 01:16) ----------
   Keine Karte mehr: das Studiofoto steht frei mit weichem Schatten, darunter Nummer, Name, Füllung und Text linksbündig wie im Werkverzeichnis. */
.dn-kissenreihe{gap:clamp(20px,2.4vw,40px);align-items:start}
.dn-kissen--atelier{display:block;gap:0;padding:0;overflow:visible;text-align:left;background:none;box-shadow:none;border-radius:0;cursor:pointer}
.dn-kissen--atelier:hover{transform:none}
.dn-kissen--atelier::after{display:none}
.dn-kissen--atelier .dn-kissen__b{margin:0;border-radius:var(--r-l);background:#cfc4b0;box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 28px 40px -26px rgba(40,28,8,.55),0 6px 14px -8px rgba(40,28,8,.25);outline:1px solid transparent;outline-offset:7px;transition:outline-color .35s}
.dn-kissen__nr{display:block;margin-top:clamp(18px,1.8vw,24px);font-family:var(--mono);font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--taupe)}
.dn-kissen--atelier b{display:block;margin:8px 0 0;font-size:clamp(1.12rem,1.3vw,1.3rem);line-height:1.2;text-wrap:balance;transition:color .35s}
.dn-kissen__mat{display:block;margin-top:12px;padding-top:10px;border-top:1px solid rgba(138,117,69,.45);font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(12,21,38,.6)}
.dn-kissen__txt{display:block;margin-top:10px;font-size:.84rem;line-height:1.55;color:rgba(12,21,38,.7)}
.dn-kissen--atelier:has(input:checked){box-shadow:none}
.dn-kissen--atelier:has(input:checked) .dn-kissen__b{outline-color:rgba(138,117,69,.75)}
.dn-kissen--atelier:has(input:checked) b{color:var(--blau)}
.dn-kissen--atelier:has(input:checked) .dn-kissen__mat{border-top-color:var(--taupe)}
.dn-kissen--atelier:has(input:focus-visible){outline:none}
.dn-kissen--atelier:has(input:focus-visible) .dn-kissen__b{outline:2px solid var(--navy)}
@media (max-width:860px){.dn-kissenreihe{row-gap:40px}}
.dn-kissen.dn-kissen--atelier > span.dn-kissen__txt{margin:10px 0 0;font-size:.84rem;color:rgba(12,21,38,.7)}

/* Lunchboxen als weiche Kachel statt Bogen (Robert 15.10.2026, 02:05: Nr. 1 aus varianten-lunch.html). Nur hier, die Hundespeisekarte behält ihre Bögen. */
.dn-lunchkarte .gk__b{border-radius:var(--r-l);aspect-ratio:1/1;box-shadow:0 30px 44px -26px rgba(0,0,0,.85)}
.dn-lunchkarte .dn-lunch.dn-lunch--an .gk__b{box-shadow:0 0 0 1.5px var(--gold),0 30px 44px -26px rgba(0,0,0,.85)}

/* «Kommt Ihr Hund mit?», Fassung 3 (Robert 15.10.2026, 01:41: «Bild mit dem Hund wieder entfernen und den Abschnitt nochmal geiler»):
   links das lange Billett des Hauses mit den drei Preisen (wie auf hunde.html), rechts die blaue Kachel mit Zeichen in Gold und dem, was im Zimmer bereitsteht. */
.dn-hundbillett{margin-top:clamp(30px,3.4vw,46px);max-width:620px}
.dn-hundbillett .ak-fuss{padding-top:0}
#hund .dn-hundkarte{display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,4vw,62px) clamp(28px,3.4vw,56px)}
.dn-hundkarte .dn-lux__z{width:clamp(70px,5.8vw,92px)}
.dn-hundkarte .d3{font-size:clamp(2rem,2.8vw,2.9rem)}
.dn-hundkarte__bereit{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 0;margin:clamp(18px,1.8vw,24px) 0 0;padding:0;list-style:none;font-family:var(--serif);font-size:clamp(1rem,1.15vw,1.15rem);color:rgba(251,243,226,.9)}
.dn-hundkarte__bereit li{padding:0 clamp(12px,1.3vw,18px)}
.dn-hundkarte__bereit li+li{box-shadow:-1px 0 0 rgba(220,198,143,.4)}
.dn-hundkarte .felder{margin-top:clamp(28px,3vw,40px)}

/* «Ein Tisch für Sie.»: die drei Lokale freigestellt wie Kissen und Lunchboxen (Robert 15.10.2026, 01:42: «Diese Kacheln genauso freistellen wie oben»).
   Keine Karte mehr: Foto frei mit runden Ecken und weichem Schatten, darunter Zeile, Name, Ort und Knopf. Vorgemerkt = feiner Goldrahmen mit Abstand ums Foto. */
.dn-lokal{padding:0;border-radius:0;background:none;box-shadow:none}
.dn-lokal::after{display:none}
.dn-lokal__b{border-radius:var(--r-l);box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 30px 44px -26px rgba(40,28,8,.6),0 6px 14px -8px rgba(40,28,8,.25);outline:1px solid transparent;outline-offset:7px;transition:outline-color .35s}
.dn-lokal__t{padding:clamp(22px,2.2vw,30px) 0 0}
.dn-lokal--an{box-shadow:none}
.dn-lokal--an .dn-lokal__b{outline-color:rgba(138,117,69,.75)}
.dn-lokal--an .d3{color:var(--blau)}
