:root{
  --tanne:#22382b;        /* dunkles Tannengrün */
  --tanne-tief:#16261d;
  --moos:#66815a;
  --nebel:#eef0e9;        /* kühles Nebel-Weiß */
  --sandstein:#a8593f;    /* rote Sandsteintreppe vor dem Haus */
  --petrol:#2f6f7e;       /* Blau aus Navas Bildern */
  --tinte:#1d2620;
  --linie:#c9cfc2;
  --display:'Fraunces','Frank Ruhl Libre',serif;
  --body:'Rubik',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  font-family:var(--body);
  color:var(--tinte);
  background:var(--nebel);
  line-height:1.65;
  font-weight:300;
  overflow-x:hidden;
}
[dir="rtl"] body, [dir="rtl"]{font-family:'Rubik',system-ui,sans-serif}
[dir="rtl"] h1,[dir="rtl"] h2,[dir="rtl"] h3,[dir="rtl"] .logo{font-family:'Frank Ruhl Libre','Rubik',serif}
h1,h2,h3,.logo{font-family:var(--display);font-weight:600;line-height:1.2}
img{max-width:100%;display:block}
a{color:var(--petrol)}

/* ---------- Navigation ---------- */
nav{
  position:sticky;top:0;z-index:50;
  background:rgba(22,38,29,.92);
  backdrop-filter:blur(6px);
  color:var(--nebel);
  display:flex;align-items:center;gap:1rem;
  padding:.65rem 1.2rem;flex-wrap:wrap;
}
.logo{font-size:1.25rem;color:var(--nebel);text-decoration:none;letter-spacing:.02em}
.logo b{color:#d9b48f;font-weight:700}
.navlinks{display:flex;gap:1.1rem;flex-wrap:wrap;margin-inline-start:auto}
.navlinks a{color:var(--nebel);text-decoration:none;font-size:.92rem;opacity:.9;padding:.2rem 0;border-bottom:2px solid transparent}
.navlinks a:hover,.navlinks a:focus-visible{border-bottom-color:#d9b48f;opacity:1}
.lang{display:flex;gap:.35rem;margin-inline-start:.5rem}
.lang button{
  background:transparent;border:1px solid rgba(238,240,233,.4);color:var(--nebel);
  border-radius:3px;padding:.18rem .5rem;font:inherit;font-size:.82rem;cursor:pointer;
}
.lang button[aria-pressed="true"]{background:var(--nebel);color:var(--tanne);border-color:var(--nebel);font-weight:500}
.lang button:hover{border-color:var(--nebel)}
:focus-visible{outline:3px solid var(--sandstein);outline-offset:2px}

/* ---------- Hero ---------- */
header{
  position:relative;min-height:78vh;display:flex;align-items:flex-end;
  background:url('images/umgebung-panorama.jpg') center/cover no-repeat;
}
header.header-klein{min-height:38vh}
header::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(22,38,29,.15) 30%,rgba(22,38,29,.78) 100%);
}
.hero-inner{position:relative;z-index:1;color:var(--nebel);padding:3rem 1.5rem 3.5rem;max-width:1100px;margin:0 auto;width:100%}
.hero-inner h1{font-size:clamp(2.6rem,7vw,4.6rem);font-weight:700;letter-spacing:.01em}
.hero-inner h1 b{color:#d9b48f}
.hero-inner p.tag{font-size:clamp(1.05rem,2.4vw,1.4rem);margin-top:.6rem;max-width:34em}
.hero-inner p.addr{font-size:.95rem;opacity:.85;margin-top:.8rem}
.hero-cta{display:inline-block;margin-top:1.4rem;background:var(--sandstein);color:#fff;
  text-decoration:none;padding:.7rem 1.5rem;border-radius:3px;font-weight:500}
.hero-cta:hover{background:#8f4a33}

/* ---------- Abschnitte & Wanderweg-Signatur ---------- */
main{max-width:1100px;margin:0 auto;padding:0 1.5rem}
section{padding:4.2rem 0 1rem;position:relative}
.marke{display:flex;align-items:center;gap:.8rem;margin-bottom:1.6rem}
.raute{width:14px;height:14px;background:var(--sandstein);transform:rotate(45deg);flex:none}
.marke h2{font-size:clamp(1.7rem,4vw,2.4rem);color:var(--tanne)}
.marke::after{content:"";flex:1;border-top:2px dashed var(--linie)}
.intro{max-width:46em;font-size:1.05rem}

.zweispaltig{display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem;align-items:start;margin-top:1.8rem}
@media (max-width:760px){.zweispaltig{grid-template-columns:1fr}}

.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.3rem}
.chips span{background:#fff;border:1px solid var(--linie);border-radius:999px;padding:.3rem .85rem;font-size:.88rem;color:var(--tanne)}

.fotos{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.8rem;margin-top:2rem}
.fotos a{display:block;overflow:hidden;border-radius:4px;background:#fff}
.fotos img{width:100%;height:240px;object-fit:cover;transition:transform .35s ease}
.fotos a:hover img{transform:scale(1.04)}
@media (prefers-reduced-motion:reduce){.fotos img{transition:none}.fotos a:hover img{transform:none}}

.portrait{border-radius:4px;border:6px solid #fff;box-shadow:0 8px 28px rgba(22,38,29,.18)}

/* ---------- Kunst ---------- */
#kunst{
  background:var(--tanne);color:var(--nebel);
  width:100vw;margin:4rem 0 0 calc(50% - 50vw);
  padding:4.2rem max(1.5rem, calc(50vw - 550px)) 3.5rem;
}
#kunst .marke h2{color:var(--nebel)}
#kunst .marke::after{border-top-color:rgba(238,240,233,.25)}
#kunst .raute{background:#d9b48f}
#kunst .intro{color:rgba(238,240,233,.9)}
.werke{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.2rem;margin-top:2.2rem}
.werke figure{background:rgba(238,240,233,.06);padding:.9rem;border-radius:4px}
.werke img{width:100%;height:320px;object-fit:contain;background:rgba(238,240,233,.04)}
.werke figcaption{font-size:.85rem;margin-top:.6rem;color:rgba(238,240,233,.75)}
.kunst-hinweis{margin-top:1.8rem;font-size:.92rem;color:rgba(238,240,233,.75);font-style:italic}

/* ---------- Wegweiser ---------- */
.umgebung-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin-top:2rem}
@media (max-width:760px){.umgebung-grid{grid-template-columns:1fr}}
.umg-block h3{color:var(--tanne);font-size:1.25rem;margin-bottom:.6rem;display:flex;align-items:center;gap:.5rem}
.umg-block h3::before{content:"";width:9px;height:9px;background:var(--moos);transform:rotate(45deg);flex:none}
.umg-block{margin-bottom:1.6rem}
.wegweiser{list-style:none;margin-top:.4rem}
.wegweiser li{
  display:flex;align-items:baseline;gap:.6rem;padding:.45rem 0;
  border-bottom:1px dashed var(--linie);font-size:.97rem;
}
.wegweiser .ort{flex:1}
.wegweiser .km{font-family:var(--display);font-weight:600;color:var(--sandstein);white-space:nowrap}
.wegweiser a.linklabel{flex:1;color:var(--petrol);font-weight:400;text-decoration:none;border-bottom:1px solid transparent}
.wegweiser a.linklabel:hover,.wegweiser a.linklabel:focus-visible{border-bottom-color:var(--petrol)}
.wegweiser .pfeil{font-family:var(--display);font-weight:600;color:var(--sandstein);white-space:nowrap}
[dir="rtl"] .wegweiser .pfeil{display:inline-block;transform:scaleX(-1)}

/* ---------- Eure Bilder CTA / Teaser-Boxen ---------- */
.cta-box{
  background:#fff;border:2px dashed var(--moos);border-radius:6px;
  padding:1.8rem;margin-top:2.5rem;text-align:center;
}
.cta-box h3{color:var(--tanne);font-size:1.3rem;margin-bottom:.5rem}
.cta-box p{max-width:38em;margin:0 auto}
.cta-btns{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;margin-top:1.2rem}
.btn{display:inline-block;text-decoration:none;padding:.6rem 1.3rem;border-radius:3px;font-weight:500;font-size:.95rem}
.btn-gruen{background:var(--moos);color:#fff}.btn-gruen:hover{background:#56704b}
.btn-petrol{background:var(--petrol);color:#fff}.btn-petrol:hover{background:#265c69}
.btn-rand{border:1.5px solid var(--tanne);color:var(--tanne)}.btn-rand:hover{background:var(--tanne);color:#fff}

/* ---------- Kontakt ---------- */
.kontakt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1.8rem}
.kontakt-card{background:#fff;border-radius:4px;padding:1.4rem;border-top:4px solid var(--sandstein)}
.kontakt-card h3{font-size:1rem;color:var(--tanne);margin-bottom:.4rem}
.kontakt-card a{word-break:break-all}

/* ---------- Footer ---------- */
footer{background:var(--tanne-tief);color:rgba(238,240,233,.75);margin-top:4.5rem;padding:2.5rem 1.5rem;font-size:.85rem}
.foot-inner{max-width:1100px;margin:0 auto}
footer h3{color:var(--nebel);font-size:1rem;margin-bottom:.5rem}
footer a{color:#d9b48f}

/* ---------- Reiseplan-Unterseite: Tageskarten & Tabelle ---------- */
.plan-hinweis{
  background:#fff;border-left:4px solid var(--sandstein);border-radius:4px;
  padding:1rem 1.2rem;margin:1.6rem 0 2rem;font-size:.95rem;max-width:46em;
}
[dir="rtl"] .plan-hinweis{border-left:none;border-right:4px solid var(--sandstein)}
.tag-karte{
  background:#fff;border-radius:6px;padding:1.6rem 1.7rem;margin-bottom:1.6rem;
  border-inline-start:4px solid var(--sandstein);
}
.tag-karte h3{color:var(--tanne);font-size:1.35rem;margin-bottom:.3rem}
.tag-karte .warum{font-style:italic;color:var(--moos);margin-bottom:.9rem;max-width:44em}
.tag-fakten{display:flex;flex-wrap:wrap;gap:.4rem .9rem;margin:.9rem 0;font-size:.85rem;color:var(--tinte)}
.tag-fakten span{background:var(--nebel);border-radius:999px;padding:.25rem .7rem}
.tag-fakten b{color:var(--sandstein)}
.tag-karte .route{margin-top:.7rem;font-size:.95rem}
.tag-karte .route b{color:var(--tanne)}
.tag-karte .hinweis{margin-top:.8rem;font-size:.88rem;background:var(--nebel);padding:.6rem .9rem;border-radius:4px}
.tag-karte .reisende{margin-top:.8rem;font-size:.92rem;color:var(--petrol)}
.bewertung{display:flex;gap:1rem;margin-top:.6rem;font-size:.85rem;flex-wrap:wrap}
.bewertung b{color:var(--sandstein)}

.tabelle-wrap{overflow-x:auto;margin:1.5rem 0 2rem;border-radius:6px;background:#fff}
table.kandidaten{border-collapse:collapse;width:100%;font-size:.85rem;white-space:nowrap}
table.kandidaten th,table.kandidaten td{padding:.5rem .7rem;text-align:start;border-bottom:1px solid var(--linie)}
table.kandidaten th{background:var(--tanne);color:var(--nebel);position:sticky;top:0}
table.kandidaten tr:nth-child(even) td{background:rgba(238,240,233,.5)}

.liste-einfach{margin-top:.6rem;padding-inline-start:1.3rem}
.liste-einfach li{margin-bottom:.5rem}

/* ---------- Erkunden: Kategorie-Kacheln, Filter, Ziel-Karten ---------- */
.kachel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;margin-top:2rem}
.kachel{
  display:block;text-decoration:none;color:var(--nebel);background:var(--tanne);
  border-radius:6px;padding:1.4rem;cursor:pointer;border:none;font:inherit;text-align:start;
  transition:transform .2s ease;position:relative;overflow:hidden;
}
.kachel:hover,.kachel:focus-visible{transform:translateY(-3px)}
.kachel .emoji{font-size:1.8rem;display:block;margin-bottom:.5rem}
.kachel .kachel-titel{font-family:var(--display);font-weight:600;font-size:1.15rem;display:block}
.kachel .kachel-anzahl{font-size:.82rem;opacity:.8;display:block;margin-top:.3rem}
.kachel[data-kat="wasser"]{background:var(--petrol)}
.kachel[data-kat="abenteuer"]{background:var(--sandstein)}
.kachel[data-kat="nationalpark"]{background:var(--tanne)}
.kachel[data-kat="felsen"]{background:#6b5842}
.kachel[data-kat="kurios"]{background:var(--moos)}
.kachel[data-kat="regen"]{background:#3d5a63}

.filter-leiste{display:flex;flex-wrap:wrap;gap:.5rem;margin:2rem 0 .5rem;align-items:center}
.filter-gruppe{display:flex;flex-wrap:wrap;gap:.4rem;padding:.6rem 0;border-top:1px dashed var(--linie)}
.filter-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--tanne);opacity:.75;width:100%;margin-bottom:.1rem}
.chip{
  background:#fff;border:1px solid var(--linie);border-radius:999px;padding:.35rem .9rem;
  font:inherit;font-size:.85rem;color:var(--tinte);cursor:pointer;
}
.chip[aria-pressed="true"]{background:var(--tanne);color:var(--nebel);border-color:var(--tanne)}
.chip:hover{border-color:var(--tanne)}
.ergebnis-info{font-size:.9rem;opacity:.75;margin:1rem 0}

.ziel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.3rem;margin-top:1rem}
.ziel-karte{background:#fff;border-radius:6px;padding:1.4rem;border-inline-start:4px solid var(--sandstein);display:flex;flex-direction:column}
.ziel-karte[data-kat="wasser"]{border-color:var(--petrol)}
.ziel-karte[data-kat="abenteuer"]{border-color:var(--sandstein)}
.ziel-karte[data-kat="nationalpark"]{border-color:var(--tanne)}
.ziel-karte[data-kat="felsen"]{border-color:#6b5842}
.ziel-karte[data-kat="kurios"]{border-color:var(--moos)}
.ziel-karte[data-kat="regen"]{border-color:#3d5a63}
.ziel-kopf{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem}
.ziel-karte h3{color:var(--tanne);font-size:1.15rem}
.ziel-ort{font-size:.82rem;opacity:.7;margin-bottom:.5rem}
.ziel-highlights{font-size:.85rem;color:var(--moos);margin-bottom:.6rem}
.ziel-stats{display:flex;flex-wrap:wrap;gap:.35rem .7rem;font-size:.82rem;margin-bottom:.7rem}
.ziel-stats span{background:var(--nebel);border-radius:999px;padding:.2rem .65rem}
.ziel-ratings{display:flex;gap:.6rem;font-size:.78rem;margin-bottom:.7rem;flex-wrap:wrap}
.ziel-ratings b{color:var(--sandstein)}
.ziel-text{font-size:.92rem;flex:1}
.nava-tipp{background:var(--nebel);border-radius:4px;padding:.6rem .8rem;font-size:.85rem;margin-top:.8rem;font-style:italic}
.nava-tipp b{font-style:normal;color:var(--tanne)}
.ziel-btns{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.9rem}
.ziel-btns a{font-size:.82rem;padding:.4rem .8rem}
.leer-hinweis{padding:2rem;text-align:center;opacity:.7;font-size:.95rem}
