/* ==========================================================================
   Dietle Touring — Kartenfeld-Bahnen mit Streckenband
   Alles lokal, keine externen Ressourcen.
   ========================================================================== */

/* --- Schriften (lokal) --------------------------------------------------- */
@font-face{font-family:"Bricolage";src:url(schriften/bricolage-grotesque-latin-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}
@font-face{font-family:"Bricolage";src:url(schriften/bricolage-grotesque-latin-ext-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Bricolage";src:url(schriften/bricolage-grotesque-latin-700-normal.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}
@font-face{font-family:"Bricolage";src:url(schriften/bricolage-grotesque-latin-ext-700-normal.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Instrument";src:url(schriften/instrument-sans-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}
@font-face{font-family:"Instrument";src:url(schriften/instrument-sans-latin-ext-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Instrument";src:url(schriften/instrument-sans-latin-500-normal.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}
@font-face{font-family:"Instrument";src:url(schriften/instrument-sans-latin-ext-500-normal.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Instrument";src:url(schriften/instrument-sans-latin-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}
@font-face{font-family:"Instrument";src:url(schriften/instrument-sans-latin-ext-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"MartianMono";src:url(schriften/martian-mono-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}
@font-face{font-family:"MartianMono";src:url(schriften/martian-mono-latin-ext-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"MartianMono";src:url(schriften/martian-mono-latin-500-normal.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}
@font-face{font-family:"MartianMono";src:url(schriften/martian-mono-latin-ext-500-normal.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}

/* --- Werte --------------------------------------------------------------- */
:root{
  --creme:#F4EFE2;
  --creme-tief:#E8E0CD;
  --tiefsee:#15272F;
  --tiefsee-hell:#1D3540;
  --orange:#D8541B;
  --orange-dunkel:#A83B0C;
  --orange-hell:#F0803F;
  --weg:#5C6367;
  --weg-hell:#A8B2B6;
  --tinte:#121A1E;
  --netz:rgba(21,39,47,.055);
  --netz-fein:rgba(21,39,47,.03);
  --spur:rgba(21,39,47,.22);
  --breite:min(100% - 2.2rem, 74rem);
  --kopfhoehe:4.25rem;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--kopfhoehe) + 1rem)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

body{
  margin:0;
  font-family:"Instrument",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:1.0625rem;line-height:1.65;color:var(--tinte);
  background-color:var(--creme);
  background-image:
    linear-gradient(90deg,var(--netz) 1px,transparent 1px),
    linear-gradient(180deg,var(--netz) 1px,transparent 1px),
    linear-gradient(90deg,var(--netz-fein) 1px,transparent 1px),
    linear-gradient(180deg,var(--netz-fein) 1px,transparent 1px);
  background-size:96px 96px,96px 96px,24px 24px,24px 24px;
  overflow-x:hidden;
}

h1,h2,h3,h4{font-family:"Bricolage","Instrument",system-ui,sans-serif;font-weight:700;line-height:1.12;margin:0 0 .6em;letter-spacing:-.01em;text-wrap:balance}
h1{font-size:clamp(1.9rem,6vw,3.3rem)}
h2{font-size:clamp(1.45rem,4vw,2.2rem)}
h3{font-size:clamp(1.15rem,2.6vw,1.45rem);font-weight:600}
h4{font-size:1.03rem;font-weight:600;margin-bottom:.35em}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
a{color:var(--orange-dunkel);text-underline-offset:.18em;text-decoration-thickness:.08em}
a:hover{color:var(--tinte)}
img{max-width:100%;height:auto;display:block}
figure{margin:0}
blockquote{margin:0 0 .7em}
ul,ol{margin:0 0 1em;padding-left:1.25rem}
li{margin-bottom:.3em}
:focus-visible{outline:3px solid var(--orange);outline-offset:2px;border-radius:2px}
.mono{font-family:"MartianMono",ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82em;letter-spacing:-.02em}
p.mono a{display:inline-block;min-height:24px;padding:.22rem 0}
.nurlesbar{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.sprung{position:absolute;left:.6rem;top:.5rem;z-index:200;background:var(--orange-dunkel);color:#fff;padding:.7rem 1.1rem;border-radius:4px;transform:translateY(-160%);font-weight:600}
.sprung:focus{transform:translateY(0);color:#fff}

/* --- Kopf ---------------------------------------------------------------- */
.kopf{
  position:sticky;top:0;z-index:100;
  background:var(--tiefsee);color:var(--creme);
  border-bottom:3px solid var(--orange);
}
.kopf__innen{width:var(--breite);margin-inline:auto;display:flex;align-items:center;gap:.75rem;min-height:var(--kopfhoehe)}
.marke{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:inherit;padding:.35rem 0;margin-right:auto}
.marke img{width:172px;height:34px;object-fit:contain}
.marke__zusatz{display:none;font-family:"MartianMono",monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--weg-hell)}
@media (min-width:60rem){.marke__zusatz{display:block}}

.menueschalter{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  min-width:44px;min-height:44px;padding:.5rem .8rem;
  background:transparent;color:var(--creme);border:1px solid rgba(244,239,226,.35);border-radius:3px;
  font:inherit;font-weight:600;font-size:.9rem;cursor:pointer;
}
.menueschalter:hover{border-color:var(--orange-hell);color:var(--orange-hell)}
.menueschalter__balken{position:relative;width:20px;height:2px;background:currentColor;display:block}
.menueschalter__balken::before,.menueschalter__balken::after{content:"";position:absolute;left:0;width:20px;height:2px;background:currentColor}
.menueschalter__balken::before{top:-6px}
.menueschalter__balken::after{top:6px}
.menueschalter[aria-expanded="true"] .menueschalter__balken{background:transparent}
.menueschalter[aria-expanded="true"] .menueschalter__balken::before{top:0;transform:rotate(45deg)}
.menueschalter[aria-expanded="true"] .menueschalter__balken::after{top:0;transform:rotate(-45deg)}

.hauptmenue{display:none}
.hauptmenue.offen{display:block;position:absolute;left:0;right:0;top:100%;background:var(--tiefsee);border-bottom:3px solid var(--orange);max-height:calc(100dvh - var(--kopfhoehe));overflow-y:auto}
.hauptmenue ul{list-style:none;margin:0;padding:.5rem 0 1rem;width:var(--breite);margin-inline:auto}
.hauptmenue li{margin:0}
.hauptmenue a{
  display:flex;align-items:center;gap:.75rem;
  padding:.85rem .2rem;min-height:44px;
  color:var(--creme);text-decoration:none;font-weight:500;
  border-bottom:1px solid rgba(244,239,226,.12);
}
.hauptmenue a::before{content:attr(data-kennung);font-family:"MartianMono",monospace;font-size:.62rem;color:var(--orange-hell);letter-spacing:.06em}
.hauptmenue a:hover,.hauptmenue a[aria-current="page"]{color:var(--orange-hell)}

@media (min-width:64rem){
  .menueschalter{display:none}
  .hauptmenue{display:block!important;position:static;border:0;overflow:visible;max-height:none;background:transparent}
  .hauptmenue ul{display:flex;gap:.15rem;width:auto;padding:0}
  .hauptmenue a{padding:.45rem .6rem;border:0;font-size:.94rem;min-height:38px}
  .hauptmenue a::before{display:none}
  .hauptmenue a[aria-current="page"]{box-shadow:inset 0 -3px 0 var(--orange)}
}

/* --- Statusleiste (offen/geschlossen) ------------------------------------ */
.statusleiste{background:var(--tiefsee-hell);color:var(--weg-hell);border-bottom:1px solid rgba(244,239,226,.1)}
.statusleiste__innen{width:var(--breite);margin-inline:auto;display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;padding:.5rem 0;font-size:.82rem}
.statusleiste b{color:var(--creme);font-weight:600}
.punkt{display:inline-block;width:.55rem;height:.55rem;border-radius:50%;background:var(--weg-hell);margin-right:.4rem;vertical-align:baseline}
.punkt--offen{background:#5FBB6B}
.punkt--zu{background:var(--orange-hell)}

/* --- Kartenfeld (Bahn) --------------------------------------------------- */
.feld{position:relative;padding:3rem 0 3.2rem}
.feld__innen{width:var(--breite);margin-inline:auto;position:relative;z-index:1;min-width:0}
.feld--tief{background:var(--creme-tief)}
.feld--nacht{background:var(--tiefsee);color:var(--creme)}
.feld--nacht h2,.feld--nacht h3,.feld--nacht h4{color:var(--creme)}
.feld--nacht a{color:var(--orange-hell)}
.feld--nacht a:hover{color:#fff}
.feld--nacht a.knopf:not(.knopf--leer),.feld--nacht a.knopf:not(.knopf--leer):hover{color:#fff}
.feld--nacht .neben{color:var(--weg-hell)}

/* senkrechte Streckenspur durch die ganze Seite */
.feld::before{
  content:"";position:absolute;top:0;bottom:0;left:1.1rem;width:2px;
  background:repeating-linear-gradient(180deg,var(--spur) 0 7px,transparent 7px 15px);
  z-index:0;pointer-events:none;
}
.feld--nacht::before{background:repeating-linear-gradient(180deg,rgba(244,239,226,.22) 0 7px,transparent 7px 15px)}
@media (min-width:78rem){.feld::before{left:calc(50% - 37rem - 1.4rem)}}

/* Streckenband mit Wegpunkt */
.band{display:flex;align-items:center;gap:.85rem;margin-bottom:1.6rem}
.band::after{
  content:"";flex:1 1 auto;height:3px;min-width:1.5rem;
  background:repeating-linear-gradient(90deg,var(--orange) 0 15px,transparent 15px 27px);
}
.wegpunkt{
  flex:0 0 auto;display:inline-grid;place-items:center;
  width:2.6rem;height:2.6rem;border-radius:50%;
  background:var(--orange-dunkel);color:#fff;
  font-family:"MartianMono",monospace;font-size:.72rem;font-weight:500;letter-spacing:-.03em;
}
.band h2,.band h3,.band p{margin:0}
.band__titel{font-family:"Bricolage",sans-serif;font-weight:700;font-size:clamp(1.35rem,3.6vw,2.05rem);line-height:1.1;margin:0}

.kicker{font-family:"MartianMono",monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-dunkel);margin:0 0 .5rem}
.feld--nacht .kicker{color:var(--orange-hell)}
.neben{color:var(--weg);font-size:.94rem}
.lead{font-size:1.13rem;max-width:56rem}

/* --- Bahnenkopf mit Bild -------------------------------------------------- */
.bahnkopf{position:relative;background:var(--tiefsee);color:var(--creme);overflow:hidden}
.bahnkopf::before{display:none}
.bahnkopf img{width:100%;height:clamp(280px,40vw,400px);object-fit:cover;opacity:.55}
.bahnkopf__text{position:absolute;inset:auto 0 0 0;padding:1.4rem 0 1.6rem;background:linear-gradient(180deg,rgba(21,39,47,0),rgba(21,39,47,.92) 62%)}
.bahnkopf__innen{width:var(--breite);margin-inline:auto}
.bahnkopf h1{margin:0;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.5)}
.bahnkopf p{margin:.5rem 0 0;color:#EDE6D8;max-width:48rem}

/* --- Bausteine ------------------------------------------------------------ */
.raster{display:grid;gap:1.4rem}
.raster > *{min-width:0}
.raster--2{grid-template-columns:1fr}
.raster--3{grid-template-columns:1fr}
.raster--4{grid-template-columns:repeat(2,1fr)}
@media (min-width:46rem){
  .raster--2{grid-template-columns:1fr 1fr}
  .raster--3{grid-template-columns:repeat(3,1fr)}
  .raster--4{grid-template-columns:repeat(4,1fr)}
}

.raster{align-content:start}
.block{padding:1.2rem 0 1.3rem;border-top:2px solid var(--orange);align-self:start}
.feld--nacht .block{border-top-color:rgba(244,239,226,.18)}


.werte{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem 1.2rem;margin:0;padding:0}
@media (min-width:52rem){.werte{grid-template-columns:repeat(4,1fr)}}
.werte div{border-top:2px solid var(--orange);padding-top:.6rem}
.werte dt{font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;color:var(--weg);margin:0 0 .15rem}
.feld--nacht .werte dt{color:var(--weg-hell)}
.werte dd{margin:0;font-family:"MartianMono",monospace;font-size:1.5rem;font-weight:500;line-height:1.1;letter-spacing:-.04em}

.knopf{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  min-height:46px;padding:.7rem 1.3rem;
  background:var(--orange-dunkel);color:#fff;text-decoration:none;font-weight:600;
  border:2px solid var(--orange-dunkel);border-radius:3px;cursor:pointer;font-family:inherit;font-size:1rem;
}
.knopf:hover{background:#15272F;border-color:#15272F;color:#fff}
.knopf--leer{background:transparent;color:var(--orange-dunkel)}
.knopf--leer:hover{background:var(--orange-dunkel);color:#fff;border-color:var(--orange-dunkel)}
.feld--nacht .knopf--leer{color:var(--orange-hell);border-color:var(--orange-hell)}
.feld--nacht .knopf--leer:hover{background:var(--orange-hell);color:var(--tiefsee)}
.knopfreihe{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.1rem}

.bild{position:relative;margin:0}
.bild img{width:100%;object-fit:cover}
.bild__marke{
  position:absolute;left:0;bottom:0;
  background:var(--orange-dunkel);color:#fff;
  font-family:"MartianMono",monospace;font-size:.62rem;letter-spacing:.04em;
  padding:.3rem .55rem;
}
.bild--169 img{aspect-ratio:16/9}
.bild--32 img{aspect-ratio:3/2}
.bild--11 img{aspect-ratio:1/1}
.bild--34 img{aspect-ratio:3/4}

/* Listen mit Punktführung */
.liste{list-style:none;margin:0;padding:0}
.liste li{display:flex;align-items:baseline;gap:.5rem;padding:.42rem 0;border-bottom:1px solid rgba(21,39,47,.13)}
.feld--nacht .liste li{border-bottom-color:rgba(244,239,226,.15)}
.liste li::after{content:"";flex:1 1 auto;order:1;border-bottom:1px dotted rgba(21,39,47,.35);translate:0 -.25em}
.feld--nacht .liste li::after{border-bottom-color:rgba(244,239,226,.3)}
.liste .wert{order:2;font-family:"MartianMono",monospace;font-size:.8rem;white-space:nowrap}
@media (max-width:38rem){
  .liste li{display:block}
  .liste li::after{display:none}
  .liste .wert{display:block;white-space:normal;color:var(--weg);margin-top:.15rem}
  .feld--nacht .liste .wert{color:var(--weg-hell)}
}

.merkmale{list-style:none;margin:0;padding:0;columns:2;column-gap:1.6rem}
@media (min-width:56rem){.merkmale{columns:3}}
.merkmale li{break-inside:avoid;overflow-wrap:anywhere;padding-left:1.1rem;position:relative;margin-bottom:.28em}
.merkmale li::before{content:"";position:absolute;left:0;top:.62em;width:.5rem;height:.5rem;background:var(--orange);border-radius:50%}

/* Tabellen */
.tabellenrahmen{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
table{border-collapse:collapse;width:100%;min-width:32rem;font-size:.95rem}
caption{text-align:left;font-size:.86rem;color:var(--weg);padding-bottom:.5rem}
th,td{text-align:left;padding:.6rem .7rem;border-bottom:1px solid rgba(21,39,47,.16);vertical-align:top}
th{font-family:"MartianMono",monospace;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;font-weight:500;color:var(--weg)}
td.preis{font-family:"MartianMono",monospace;white-space:nowrap;text-align:right;font-size:.82rem}
.feld--nacht th{color:var(--weg-hell)}
.feld--nacht th,.feld--nacht td{border-bottom-color:rgba(244,239,226,.18)}

/* Personen */
.person{display:flex;gap:.9rem;align-items:flex-start;padding:.9rem 0;border-top:1px solid rgba(21,39,47,.16)}
.feld--nacht .person{border-top-color:rgba(244,239,226,.18)}
.person img{width:76px;height:76px;flex:0 0 auto;object-fit:cover;border-radius:50%;background:var(--creme-tief)}
.person__name{font-family:"Bricolage",sans-serif;font-weight:600;font-size:1.04rem;margin:0}
.person__rolle{margin:.05rem 0 .3rem;font-size:.9rem;color:var(--weg)}
.feld--nacht .person__rolle{color:var(--weg-hell)}
.person__kontakt{margin:0;font-family:"MartianMono",monospace;font-size:.68rem;line-height:1.7;word-break:break-word}

/* Logo-Reihe */
.logos{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem;list-style:none;margin:0;padding:0}
@media (min-width:38rem){.logos{grid-template-columns:repeat(3,1fr)}}
@media (min-width:60rem){.logos{grid-template-columns:repeat(5,1fr)}}
.logos li{margin:0}
.logos a,.logos span{display:grid;place-items:center;gap:.4rem;padding:.9rem .6rem;background:#fff;border:1px solid rgba(21,39,47,.14);text-decoration:none;color:var(--tinte);min-height:96px;text-align:center}
.logos a:hover{border-color:var(--orange)}
.logos img{width:100%;max-width:120px;height:56px;object-fit:contain}
.logos .name{font-size:.76rem;color:var(--weg);line-height:1.3}

/* Galerie */
.galerie{display:grid;grid-template-columns:repeat(2,1fr);gap:.35rem;list-style:none;margin:0;padding:0}
@media (min-width:40rem){.galerie{grid-template-columns:repeat(4,1fr)}}
@media (min-width:64rem){.galerie{grid-template-columns:repeat(6,1fr)}}
.galerie li{margin:0}
.galerie img{width:100%;aspect-ratio:1/1;object-fit:cover;background:var(--creme-tief)}
.galerie--hoch img{aspect-ratio:3/4}

/* Klapptexte (FAQ) */
details{border-top:1px solid rgba(21,39,47,.16)}
details:last-of-type{border-bottom:1px solid rgba(21,39,47,.16)}
summary{
  cursor:pointer;padding:.85rem 2rem .85rem 0;position:relative;
  font-weight:600;font-family:"Bricolage",sans-serif;list-style:none;min-height:44px;
}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:.25rem;top:.7rem;font-family:"MartianMono",monospace;color:var(--orange-dunkel);font-size:1.2rem}
details[open] summary::after{content:"–"}
details > *:not(summary){margin-bottom:1rem}
details p:first-of-type{margin-top:0}

/* Formulare */
.formular{display:grid;gap:1rem;max-width:44rem}
.reihe{display:grid;gap:1rem}
@media (min-width:40rem){.reihe--2{grid-template-columns:1fr 1fr}}
.feldchen{display:grid;gap:.3rem}
.feldchen label{font-weight:600;font-size:.92rem}
.feldchen .hinweis{font-size:.82rem;color:var(--weg)}
input[type=text],input[type=email],input[type=tel],input[type=number],select,textarea{
  font:inherit;font-size:1rem;padding:.65rem .7rem;min-height:46px;
  border:1px solid rgba(21,39,47,.35);border-radius:3px;background:#fff;color:var(--tinte);width:100%;
}
textarea{min-height:8rem;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--orange);outline:3px solid rgba(216,84,27,.3);outline-offset:0}
fieldset{border:1px solid rgba(21,39,47,.22);border-radius:3px;padding:1rem;margin:0}
legend{font-family:"MartianMono",monospace;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;padding-inline:.4rem;color:var(--weg)}
.wahl{display:flex;align-items:flex-start;gap:.6rem;padding:.35rem 0}
.wahl input{margin-top:.32rem;width:20px;height:20px;flex:0 0 auto;accent-color:var(--orange)}
.pflicht{color:var(--orange-dunkel)}
.demohinweis{border-left:4px solid var(--orange);background:rgba(216,84,27,.08);padding:.9rem 1rem;font-size:.94rem}
.feld--nacht .demohinweis{background:rgba(240,128,63,.12)}
.ergebnis{white-space:pre-wrap;font-family:"MartianMono",monospace;font-size:.76rem;line-height:1.7;background:#fff;border:1px solid rgba(21,39,47,.25);padding:1rem;margin-top:1rem}
.feld--nacht .ergebnis{background:var(--tiefsee-hell);border-color:rgba(244,239,226,.25);color:var(--creme)}

/* Kartenfreigabe (Zwei-Klick) */
.kartenbox{border:1px solid rgba(21,39,47,.22);background:#fff;padding:1rem}
.lageplan{width:100%;height:auto;display:block;background:var(--creme-tief)}

/* Typfinder */
.finder{display:grid;gap:1rem}
.finder__wahl{display:flex;flex-wrap:wrap;gap:.5rem}
.finder__wahl button{
  font:inherit;font-size:.92rem;padding:.55rem .9rem;min-height:44px;cursor:pointer;
  background:#fff;border:1px solid rgba(21,39,47,.3);border-radius:3px;color:var(--tinte);
}
.finder__wahl button[aria-pressed="true"]{background:var(--orange-dunkel);border-color:var(--orange-dunkel);color:#fff;font-weight:600}
.typ{border-top:2px solid var(--orange);padding-top:.8rem}
.typ[hidden]{display:none}
.typ img{width:72px;height:72px;object-fit:contain;margin-bottom:.4rem}

/* Fuß */
.fuss{background:var(--tiefsee);color:var(--creme);padding:2.4rem 0 1.6rem;border-top:3px solid var(--orange)}
.fuss__innen{width:var(--breite);margin-inline:auto;display:grid;gap:1.6rem}
@media (min-width:52rem){.fuss__innen{grid-template-columns:1.3fr 1fr 1fr}}
.fuss h2{font-size:1rem;font-family:"MartianMono",monospace;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--weg-hell);margin-bottom:.7rem}
.fuss a{color:var(--creme)}
.fuss p a{display:inline-block;min-height:24px;padding:.22rem 0}
.fuss__zeile a{display:inline-block;min-height:24px;padding:.22rem 0}
.fuss a:hover{color:var(--orange-hell)}
.fuss ul{list-style:none;margin:0;padding:0}
.fuss li{margin-bottom:.35rem}
.fuss__zeile{width:var(--breite);margin:1.8rem auto 0;padding-top:1rem;border-top:1px solid rgba(244,239,226,.18);display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;font-size:.85rem;color:var(--weg-hell)}
.fuss__zeile a{color:var(--weg-hell)}

@media print{
  .kopf,.statusleiste,.menueschalter{position:static}
  body{background:#fff}
}
