﻿:root {
  --ink: #3a2c1d;
  --muted: #6b5a44;
  --paper: #fffaf0;
  --surface: #fff3dc;
  --surface-strong: #f9e2b7;
  --primary: #9a4f0a;
  --primary-2: #7f3e06;
  --amber: #d4882d;
  --amber-soft: #f3c66f;
  --line: #ead3a2;
  --white: #ffffff;
  --shadow: 0 18px 48px rgba(74, 58, 39, .16);
  --radius: 1.15rem;
  --shell: min(1180px, calc(100% - 2rem));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}
img { display: block; max-width: 100%; height: auto; }
a { color: var(--primary-2); text-decoration-thickness: .08em; text-underline-offset: .18em; }
a:hover { color: var(--primary); }
button, input, textarea, select { font: inherit; }

.shell { width: var(--shell); margin-inline: auto; }
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.skip-link {
  position: fixed; z-index: 1000; top: .5rem; left: .5rem;
  transform: translateY(-160%); padding: .7rem 1rem; border-radius: .5rem;
  background: var(--white); color: var(--primary); box-shadow: var(--shadow);
}
.skip-link:focus { transform: translateY(0); }

.site-header {
  position: sticky; z-index: 100; top: 0;
  background: rgba(255, 250, 240, .95);
  background: color-mix(in srgb, var(--paper) 94%, transparent);
  border-bottom: 1px solid transparent;
  backdrop-filter: blur(14px);
  transition: box-shadow .2s ease, border-color .2s ease;
}
.site-header.is-scrolled { border-color: var(--line); box-shadow: 0 8px 22px rgba(74,58,39,.10); }
.header-inner {
  width: var(--shell); min-height: 82px; margin-inline: auto;
  display: flex; align-items: center; gap: 1.5rem;
}
.brand { display: flex; align-items: center; gap: .7rem; color: var(--ink); text-decoration: none; flex: 0 0 auto; }
.brand img { width: 118px; height: 42px; object-fit: contain; object-position: left center; }
.brand-text { display: grid; line-height: 1.12; }
.brand-text strong { font-size: 1.2rem; letter-spacing: .025em; }
.brand-text small { margin-top: .18rem; color: var(--muted); font-size: .72rem; }
.main-navigation { margin-left: auto; display: flex; align-items: center; gap: 1rem; }
.main-navigation > ul { display: flex; align-items: center; gap: .15rem; margin: 0; padding: 0; list-style: none; }
.main-navigation a,
.main-navigation .current-page {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: .5rem .72rem;
  border-radius: .65rem;
  color: var(--ink);
  font-size: .91rem;
  font-weight: 650;
  text-decoration: none;
}
.main-navigation a:hover,
.main-navigation .current-page {
  background: var(--surface-strong);
  color: var(--primary);
}
.main-navigation .current-page {
  cursor: default;
  user-select: none;
}
.nav-tools { display: flex; align-items: center; gap: .35rem; }
.nav-tools .nav-cta { background: var(--primary); color: var(--white); padding-inline: 1rem; }
.nav-tools a.nav-cta:hover,
.nav-tools .nav-cta.current-page { background: var(--primary-2); color: var(--white); }
.language-switch { border: 1px solid var(--line); }
.menu-toggle { display: none; margin-left: auto; width: 46px; height: 46px; border: 1px solid var(--line); border-radius: .7rem; background: var(--white); }
.menu-toggle > span:not(.sr-only) { display: block; width: 22px; height: 2px; margin: 4px auto; background: var(--primary); }

.hero { position: relative; isolation: isolate; min-height: min(720px, 82vh); display: grid; align-items: end; color: var(--ink); overflow: hidden; }
.hero::before { content: ""; position: absolute; inset: 0; z-index: -2; background-image: var(--hero-image, url('/Images/ischia-sant-angelo.webp')); background-position: var(--hero-position, center 56%); background-size: cover; background-repeat: no-repeat; }
.hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(255,249,233,.96) 0%, rgba(255,245,215,.84) 45%, rgba(255,235,184,.30) 72%, rgba(255,235,184,.06) 100%), linear-gradient(0deg, rgba(212,136,45,.24), transparent 55%); }
.hero-content { width: var(--shell); margin-inline: auto; padding: clamp(5rem, 10vw, 8rem) 0 clamp(3.25rem, 7vw, 6rem); }
.hero-copy { max-width: 760px; }
.eyebrow { margin: 0 0 .75rem; color: var(--primary-2); font-size: .82rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.hero h1 { max-width: 15ch; margin: 0; font-size: clamp(2.65rem, 6.2vw, 5.7rem); line-height: .99; letter-spacing: -.045em; text-wrap: balance; }
.hero .lead { max-width: 700px; margin: 1.35rem 0 0; font-size: clamp(1.08rem, 2vw, 1.35rem); color: rgba(58,44,29,.92); }
.actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.7rem; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .72rem 1.15rem; border: 1px solid transparent; border-radius: .75rem; background: var(--primary); color: var(--white); font-weight: 750; text-decoration: none; box-shadow: 0 10px 25px rgba(0,0,0,.12); }
.button:hover { background: var(--primary-2); color: var(--white); }
.button-secondary { border-color: rgba(58,44,29,.42); background: rgba(255,250,240,.72); color: var(--ink); backdrop-filter: blur(8px); }
.button-secondary:hover { border-color: var(--primary); background: var(--white); color: var(--primary); }
.button-light { background: var(--white); color: var(--primary); }
.button-light:hover { background: var(--amber-soft); color: var(--ink); }
.hero-trust { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1.6rem 0 0; padding: 0; list-style: none; }
.hero-trust li { padding: .38rem .7rem; border: 1px solid rgba(154,79,10,.28); border-radius: 999px; background: rgba(255,250,240,.78); color: var(--ink); font-size: .88rem; backdrop-filter: blur(6px); }

.section { padding: clamp(4rem, 7vw, 7rem) 0; }
.section-muted { background: var(--surface); }
.section-dark { background: linear-gradient(135deg, #f2c56d 0%, #ffe8af 52%, #fff5db 100%); color: var(--ink); }
.section-heading { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(260px, .9fr); gap: 2rem; align-items: end; margin-bottom: 2rem; }
.section-heading h2, .content-header h1 { margin: 0; font-size: clamp(2rem, 4.4vw, 3.7rem); line-height: 1.08; letter-spacing: -.035em; text-wrap: balance; }
.section-heading p { margin: 0; color: var(--muted); font-size: 1.08rem; }
.section-dark .section-heading p { color: var(--muted); }

.cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.card { display: flex; min-height: 100%; flex-direction: column; padding: 1.3rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); box-shadow: 0 10px 28px rgba(24,48,42,.06); }
.card .icon { width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: 1rem; border-radius: .9rem; background: var(--surface-strong); color: var(--primary); font-size: 1.45rem; font-weight: 900; }
.card h3 { margin: 0; font-size: 1.28rem; line-height: 1.2; }
.card p { margin: .75rem 0 1rem; color: var(--muted); }
.card a { margin-top: auto; font-weight: 800; }
.card-featured { border-color: var(--amber); background: linear-gradient(150deg, #fffaf0, var(--white)); }

.split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .92fr); gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.split-media { position: relative; }
.split-media img { width: 100%; min-height: 390px; object-fit: cover; border-radius: calc(var(--radius) + .35rem); box-shadow: var(--shadow); }
.split-media .caption { position: absolute; right: 1rem; bottom: 1rem; max-width: 280px; padding: .7rem .85rem; border-radius: .7rem; background: rgba(255,255,255,.92); color: var(--ink); font-size: .85rem; box-shadow: var(--shadow); }
.split-copy h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.45rem); line-height: 1.06; letter-spacing: -.035em; }
.split-copy p { color: var(--muted); font-size: 1.06rem; }
.check-list { display: grid; gap: .6rem; margin: 1.25rem 0 1.5rem; padding: 0; list-style: none; }
.check-list li { position: relative; padding-left: 1.6rem; }
.check-list li::before { content: "✓"; position: absolute; left: 0; color: var(--primary-2); font-weight: 900; }

.program-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.program { position: relative; min-height: 320px; padding: 1.5rem; display: flex; flex-direction: column; justify-content: flex-end; border-radius: var(--radius); overflow: hidden; color: var(--white); isolation: isolate; }
.program::before { content: ""; position: absolute; inset: 0; z-index: -2; background: url('/Images/Galerien/2026/geo-wanderung-felsgelaende.webp') center / cover no-repeat; transition: transform .35s ease; }
.program::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(69,40,16,.95), rgba(154,79,10,.08) 75%); }
.program:hover::before { transform: scale(1.035); }
.program h3 { margin: 0; font-size: 1.5rem; }
.program p { margin: .55rem 0 1rem; color: rgba(255,255,255,.83); }
.program a { color: var(--white); font-weight: 800; }
.program:nth-child(2)::before { background-image: url('/Images/Galerien/2026/sant-angelo-kuestenlandschaft.webp'); background-position: center; }
.program:nth-child(3)::before { background-image: url('/Images/Galerien/2026/wandergruppe-ginsterbluete.webp'); background-position: center; }

.destinations { display: flex; flex-wrap: wrap; gap: .65rem; }
.destinations a { padding: .65rem .9rem; border: 1px solid rgba(58,44,29,.28); border-radius: 999px; background: rgba(255,255,255,.28); color: var(--ink); font-weight: 700; text-decoration: none; }
.destinations a:hover { border-color: var(--primary); background: var(--white); color: var(--primary); }

.faq { display: grid; gap: .75rem; max-width: 880px; }
details { border: 1px solid var(--line); border-radius: .9rem; background: var(--white); }
summary { cursor: pointer; padding: 1rem 1.15rem; font-weight: 800; }
details p { margin: 0; padding: 0 1.15rem 1.15rem; color: var(--muted); }

.content-header { padding: clamp(4rem, 7vw, 7rem) 0 3rem; background: linear-gradient(145deg, var(--surface), #fff); }
.content-header .shell { max-width: 960px; }
.content-header .lead { max-width: 760px; color: var(--muted); font-size: 1.18rem; }
.content-body { width: min(960px, calc(100% - 2rem)); margin-inline: auto; padding: 3.5rem 0 6rem; }
.content-body h2 { margin-top: 2.7rem; font-size: clamp(1.7rem, 3.4vw, 2.55rem); line-height: 1.15; }
.content-body h3 { margin-top: 2rem; font-size: 1.35rem; }
.content-body p, .content-body li { color: var(--muted); }
.content-body .info-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin: 2rem 0; }
.info-box { padding: 1.25rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.info-box h3 { margin-top: 0; }
.link-panel { margin-top: 2.5rem; padding: 1.5rem; border-radius: var(--radius); background: var(--surface); }
.link-panel h2 { margin-top: 0; }
.link-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: .7rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.link-list a { display: block; padding: .75rem .9rem; border-radius: .75rem; background: var(--white); font-weight: 750; text-decoration: none; }
.contact-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: 2rem 0; }
.contact-card { padding: 1.25rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.contact-card strong { display: block; margin-bottom: .35rem; }

.site-footer { background: linear-gradient(135deg, #f1c46f 0%, #f8dea3 58%, #fff1cf 100%); color: var(--ink); }
.footer-cta { padding: 3rem 0; display: flex; align-items: center; justify-content: space-between; gap: 2rem; border-bottom: 1px solid rgba(58,44,29,.18); }
.footer-cta h2 { margin: 0; font-size: clamp(1.8rem, 4vw, 3.2rem); line-height: 1.08; }
.footer-cta p:not(.eyebrow) { margin-bottom: 0; color: var(--muted); }
.footer-links { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; padding: 3rem 0; }
.footer-group h3 { margin: 0 0 .7rem; color: var(--primary-2); font-size: .93rem; text-transform: uppercase; letter-spacing: .08em; }
.footer-group ul { margin: 0; padding: 0; list-style: none; }
.footer-group li + li { margin-top: .38rem; }
.footer-group a { color: #5f4d36; text-decoration: none; }
.footer-group a:hover { color: var(--primary-2); text-decoration: underline; }
.footer-bottom { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 0 1.8rem; border-top: 1px solid rgba(58,44,29,.16); color: var(--muted); font-size: .85rem; }
.footer-bottom p { margin: 0; }
.footer-bottom a { color: inherit; }

.site-footer .button-light { border-color: rgba(58,44,29,.20); box-shadow: 0 10px 24px rgba(74,58,39,.12); }
.site-footer .button-light:hover { border-color: var(--primary); background: var(--primary); color: var(--white); }
::selection { background: var(--amber-soft); color: var(--ink); }

@media (max-width: 1040px) {
  .menu-toggle { display: block; }
  .main-navigation { position: fixed; inset: 82px 1rem auto; display: none; align-items: stretch; padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); box-shadow: var(--shadow); }
  .main-navigation.is-open { display: block; }
  .main-navigation > ul { display: grid; }
  .main-navigation a, .main-navigation .current-page { width: 100%; }
  .nav-tools { display: grid; grid-template-columns: 1fr auto; margin-top: .75rem; }
  .cards { grid-template-columns: repeat(2, 1fr); }
  .footer-links { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 760px) {
  :root { --shell: min(100% - 1.25rem, 1180px); }
  .brand img { width: 92px; height: 36px; }
  .brand-text small { display: none; }
  .hero { min-height: 690px; }
  .hero h1 { font-size: clamp(2.6rem, 13vw, 4.5rem); }
  .section-heading, .split { grid-template-columns: 1fr; }
  .cards, .program-grid, .contact-cards, .content-body .info-grid, .link-list { grid-template-columns: 1fr; }
  .split-media { order: -1; }
  .split-media img { min-height: 300px; }
  .footer-cta, .footer-bottom { align-items: flex-start; flex-direction: column; }
  .footer-links { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 460px) {
  .brand-text { display: none; }
  .footer-links { grid-template-columns: 1fr; }
  .actions .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .001ms !important; animation-duration: .001ms !important; }
}


/* ASP.NET-Web-Forms-Anfrageformular */
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1.5rem 0; }
.form-field { display:grid; gap:.35rem; }
.form-field-full { grid-column:1 / -1; }
.form-field label { font-weight:750; color:var(--ink); }
.form-field input, .form-field textarea, .form-field select { width:100%; padding:.75rem .85rem; border:1px solid var(--line); border-radius:.7rem; background:var(--white); color:var(--ink); }
.form-field input:focus, .form-field textarea:focus, .form-field select:focus { outline:3px solid rgba(212,136,45,.24); border-color:var(--amber); }
.form-actions { display:flex; align-items:center; flex-wrap:wrap; gap:1rem; margin-top:1rem; }
.form-message { margin:1rem 0; padding:1rem 1.15rem; border-radius:.8rem; background:var(--surface); border:1px solid var(--line); }
.form-message.success { background:#eef8e8; border-color:#a8c88c; }
.form-message.error { background:#fff1ed; border-color:#d6a08f; }
.validation-summary-errors { color:#8b2c16; }
.field-error { color:#8b2c16; font-size:.9rem; }
.honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.legacy-note { margin:2rem 0; padding:1rem 1.15rem; border-left:4px solid var(--amber); background:var(--surface); }
@media (max-width:760px) { .form-grid { grid-template-columns:1fr; } .form-field-full { grid-column:auto; } }
.utility-list { display: contents; margin: 0; padding: 0; list-style: none; }
.utility-list li { display: contents; list-style: none; }

/* Zufallsbilder aus App_Data/images.xml */
.gallery-heading { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr); gap:2rem; align-items:end; margin-bottom:1.6rem; }
.gallery-heading h2, .global-impression-copy h2 { margin:0; font-size:clamp(1.9rem,4vw,3.25rem); line-height:1.08; letter-spacing:-.03em; }
.gallery-heading > p, .global-impression-copy > p { margin:0; color:var(--muted); }
.random-gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.gallery-card, .global-impression-image { position:relative; display:block; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:var(--white); color:var(--ink); text-decoration:none; box-shadow:0 12px 30px rgba(74,58,39,.10); }
.gallery-card img, .global-impression-image img { width:100%; aspect-ratio:3 / 2; display:block; object-fit:cover; transition:transform .35s ease; }
.gallery-card:hover img, .global-impression-image:hover img { transform:scale(1.035); }
.gallery-card:focus-visible, .global-impression-image:focus-visible { outline:4px solid rgba(212,136,45,.35); outline-offset:3px; }
.gallery-card-copy { display:grid; gap:.35rem; padding:1rem 1.05rem 1.15rem; }
.gallery-slot-label { display:inline-flex; width:max-content; padding:.22rem .55rem; border-radius:999px; background:var(--amber-soft); color:var(--primary-2); font-size:.74rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.gallery-card-copy strong { font-size:1.05rem; line-height:1.25; }
.gallery-card-copy small { color:var(--muted); font-size:.88rem; line-height:1.45; }
.global-impression { border-top:1px solid var(--line); }
.global-impression-layout { display:grid; grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr); gap:clamp(1.5rem,5vw,4rem); align-items:center; }
.global-impression-copy { display:grid; gap:.8rem; }
.global-impression-image .gallery-card-copy { position:absolute; left:1rem; right:1rem; bottom:1rem; padding:.8rem .9rem; border-radius:.75rem; background:rgba(255,250,240,.92); backdrop-filter:blur(8px); box-shadow:0 8px 22px rgba(58,44,29,.18); }
.global-impression-image .gallery-card-copy small { display:none; }

/* Vergrößerung ohne externe Lightbox-Bibliothek */
.image-lightbox { width:min(94vw,1280px); max-width:none; padding:0; border:0; border-radius:1rem; background:#1d1812; color:#fff; box-shadow:0 30px 90px rgba(0,0,0,.45); }
.image-lightbox::backdrop { background:rgba(20,14,8,.84); backdrop-filter:blur(4px); }
.image-lightbox-inner { position:relative; display:grid; gap:.65rem; padding:.75rem; }
.image-lightbox img { width:100%; max-height:82vh; object-fit:contain; border-radius:.65rem; background:#111; }
.image-lightbox p { margin:.15rem .5rem .55rem; color:rgba(255,255,255,.88); font-size:.95rem; }
.image-lightbox-close { position:absolute; z-index:2; top:1rem; right:1rem; width:46px; height:46px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.35); border-radius:999px; background:rgba(29,24,18,.86); color:#fff; cursor:pointer; font-size:2rem; line-height:1; }
.image-lightbox-close:hover { background:#fff; color:var(--ink); }
body.lightbox-open { overflow:hidden; }

/* Einheitliche Standardseiten für Gemeinden, Wanderungen und Spezialitäten */
.topic-header { border-bottom:1px solid var(--line); }
.topic-gemeinde { background:linear-gradient(145deg,#fff3dc,#fffaf0); }
.topic-wanderung { background:linear-gradient(145deg,#f5ead2,#fffaf0); }
.topic-spezialitaet { background:linear-gradient(145deg,#ffe9ad,#fff6df); }
.topic-standard-page { max-width:1040px; }
.topic-facts { margin:0 0 3rem; }
.topic-facts dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:0; }
.topic-facts dl > div { padding:1.1rem 1.2rem; border:1px solid var(--line); border-radius:var(--radius); background:var(--white); }
.topic-facts dt { color:var(--primary-2); font-size:.82rem; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.topic-facts dd { margin:.4rem 0 0; color:var(--muted); }
.topic-text-section + .topic-text-section { margin-top:2.7rem; }
.topic-text-section h2 { margin-top:0; }

@media (max-width:760px) {
  .gallery-heading, .global-impression-layout { grid-template-columns:1fr; }
  .random-gallery-grid { grid-template-columns:1fr; }
  .topic-facts dl { grid-template-columns:1fr; }
  .global-impression-image .gallery-card-copy { position:static; border-radius:0; background:var(--white); box-shadow:none; }
}

/* Version 4: Artikel, Redaktion, Navigator, Bewertungen */
.breadcrumbs{display:flex;gap:.55rem;align-items:center;padding-top:1rem;padding-bottom:.6rem;font-size:.9rem;overflow-wrap:anywhere}.breadcrumbs a{color:var(--primary-2)}
.portal-article .article-content{max-width:980px}.article-section{padding:1.25rem 0;border-bottom:1px solid rgba(127,62,6,.16)}.article-section h2{font-size:clamp(1.35rem,2.4vw,2rem);margin-bottom:.7rem}.article-list{padding-left:1.4rem}.archive-banner,.editorial-review{background:#fff0cf;border-left:6px solid var(--amber);padding:1rem 1.2rem;border-radius:.6rem;margin-block:1.5rem}.editorial-review h2{font-size:1.35rem}.editorial-review li{margin:.45rem 0}.note-editorial{color:#6f3b00}
.see-also-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.see-also-card{display:flex;flex-direction:column;gap:.35rem;padding:1rem;background:var(--surface);border:1px solid rgba(127,62,6,.16);border-radius:.8rem}.see-also-card small{color:var(--muted)}
.author-box{display:flex;justify-content:space-between;gap:2rem;background:var(--surface);padding:1.3rem;border-radius:.8rem;margin-block:2rem}.author-box time{display:block;margin-top:.5rem}.rating-section{background:#fff3dc;border:1px solid rgba(127,62,6,.2);border-radius:.8rem;padding:1.2rem;margin-block:2rem}.rating-form{display:flex;align-items:end;gap:1rem;flex-wrap:wrap}.rating-options td{padding-right:.7rem}.rating-options label{margin-left:.2rem}
.navigator-search{width:100%;max-width:680px;padding:.85rem 1rem;border:1px solid #b98b50;border-radius:.55rem;margin:.5rem 0 1.5rem}.navigator-index{columns:2;column-gap:2rem}.navigator-group{break-inside:avoid;margin-bottom:1.5rem}.navigator-group ul{list-style:none;padding:0}.navigator-group li{margin:.45rem 0}.navigator-group .is-archived{opacity:.65}.navigator-group small{background:#f4d7a5;padding:.1rem .35rem;border-radius:.25rem}.guestbook-entry,.review-entry{padding:1rem;border:1px solid rgba(127,62,6,.18);border-radius:.7rem;margin-bottom:1rem;background:#fff}.guestbook-entry header{display:flex;justify-content:space-between}.two-column-layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%}th,td{padding:.55rem;border:1px solid #d7bd92;text-align:left}
@media(max-width:850px){.see-also-grid{grid-template-columns:1fr}.author-box,.two-column-layout{display:block}.navigator-index{columns:1}}

.see-also-card span{display:block;margin-top:.35rem;color:var(--muted);font-size:.9rem;line-height:1.4}

/* Version 15: Handbuch-Abgleich und Redaktionshinweise */
.editorial-notice { margin: 1.5rem 0; padding: 1rem 1.2rem; border: 1px solid rgba(154,79,10,.28); border-left: .35rem solid var(--amber); border-radius: .8rem; background: #fff8e8; }
.editorial-notice h2 { margin-top: 0; font-size: 1.15rem; }
.archive-notice { background: #f6f2ea; border-left-color: #78644d; }
.handbook-2019-page .article-section p { max-width: 78ch; }
.handbook-2019-page .article-section ul { max-width: 76ch; }
@media (max-width: 720px) { .handbook-2019-page .article-section { padding-inline: 0; } }


/* Version 15.3: aktuelle EAV-Buslinien und responsive Fahrplantabellen */
.responsive-timetable{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1rem 0 1.25rem;border-radius:.8rem}
.eav-timetable{width:100%;border-collapse:collapse;background:var(--white)}
.eav-timetable th,.eav-timetable td{vertical-align:top;padding:.75rem .8rem;border:1px solid #d7bd92}
.eav-timetable thead th{background:var(--surface);color:var(--ink);font-weight:800}
.eav-timetable tbody tr:nth-child(even){background:#fffaf0}
.eav-timetable a{font-weight:750}
.eav-line-facts{max-width:820px}
.eav-line-facts th{width:34%;background:var(--surface)}
.timetable-alert{padding:.85rem 1rem;border-left:4px solid var(--amber);background:#fff8e8;border-radius:.45rem}
.small-note{color:var(--muted);font-size:.94rem}
.bus-back-link{margin:1.5rem 0 0}
@media(max-width:700px){
  .responsive-timetable{overflow:visible}
  .eav-timetable,.eav-timetable tbody,.eav-timetable tr,.eav-timetable td{display:block;width:100%}
  .eav-timetable thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .eav-timetable tr{margin:0 0 1rem;border:1px solid #d7bd92;border-radius:.75rem;overflow:hidden;background:var(--white)!important}
  .eav-timetable td{display:grid;grid-template-columns:minmax(7.8rem,38%) 1fr;gap:.7rem;border:0;border-bottom:1px solid #ead8ba;padding:.7rem .75rem}
  .eav-timetable td:last-child{border-bottom:0}
  .eav-timetable td::before{content:attr(data-label);font-weight:800;color:var(--primary-2)}
  .eav-line-facts th{display:none}
  .eav-line-facts tr{margin-bottom:.55rem}
  .eav-line-facts td{grid-template-columns:minmax(8.5rem,42%) 1fr}
  .eav-timetable .button{width:100%;text-align:center}
}

/* Version 15.4: Gutscheine und kontextbezogene Empfehlungen */
.context-ads{border-top:1px solid var(--line);background:linear-gradient(180deg,#fffaf0 0%,#fff4df 100%)}
.context-ads-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);gap:2rem;align-items:end;margin-bottom:1.35rem}
.context-ads-heading h2{margin:.15rem 0 0;font-size:clamp(1.65rem,3.3vw,2.65rem);line-height:1.1}
.context-ads-heading>p{margin:0;color:var(--muted);max-width:62ch}
.context-ad-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.context-ad-grid-1{grid-template-columns:minmax(0,560px)}
.context-ad-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.context-ad-card{overflow:hidden;display:flex;flex-direction:column;border:1px solid rgba(127,62,6,.18);border-radius:var(--radius);background:var(--white);box-shadow:0 12px 30px rgba(74,58,39,.09)}
.context-ad-media{min-height:150px;display:grid;place-items:center;overflow:hidden;background:#f4e5c9}
.context-ad-media img{width:100%;aspect-ratio:16/7;display:block;object-fit:cover}
.context-ad-placeholder{padding:1.25rem;background:linear-gradient(135deg,#e8c996,#fff3d9)}
.context-ad-placeholder span{display:grid;place-items:center;min-height:105px;width:100%;border:1px dashed rgba(90,55,20,.35);border-radius:.8rem;color:var(--primary-2);font-weight:900;letter-spacing:.06em;text-align:center}
.provider-amazon .context-ad-placeholder{background:linear-gradient(135deg,#f8dfaf,#fff8e9)}
.provider-mytheresa .context-ad-placeholder{background:linear-gradient(135deg,#ece7df,#fff)}
.provider-book .context-ad-placeholder{background:linear-gradient(135deg,#dfeacb,#fff9e8)}
.context-ad-copy{display:flex;flex:1;flex-direction:column;gap:.65rem;padding:1rem 1.05rem 1.15rem}
.context-ad-copy h3{margin:0;font-size:1.15rem;line-height:1.25}
.context-ad-copy p{margin:0 0 .25rem;color:var(--muted);line-height:1.5}
.ad-disclosure{display:inline-flex;align-self:flex-start;padding:.2rem .5rem;border-radius:999px;background:var(--amber-soft);color:var(--primary-2);font-size:.72rem;font-weight:850;letter-spacing:.035em;text-transform:uppercase}
.context-ad-card.is-placeholder .ad-disclosure{background:#f1eee9;color:#655a4d}
.context-ad-card .ad-button{align-self:flex-start;margin-top:auto}
.context-ad-card .ad-button.is-disabled{cursor:default;opacity:.62;filter:saturate(.55);pointer-events:none}
@media(max-width:900px){.context-ad-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.context-ad-grid-1{grid-template-columns:minmax(0,560px)}}
@media(max-width:700px){.context-ads-heading,.context-ad-grid,.context-ad-grid-2{grid-template-columns:1fr}.context-ad-media{min-height:120px}.context-ad-card .ad-button{width:100%;text-align:center}}


/* Version 15.4.17: EAV-GTFS-Abfahrtszeiten, mobil optimiert */
.departure-section>p{max-width:78ch}
.departure-list{display:grid;gap:1.2rem;margin:1.15rem 0}
.departure-card{padding:1rem 1.05rem 1.15rem;border:1px solid #d7bd92;border-radius:.9rem;background:#fffaf0;box-shadow:0 7px 20px rgba(74,58,39,.06)}
.departure-card h3{margin:0 0 .3rem;font-size:1.12rem;color:var(--primary-2)}
.departure-direction{margin:0 0 .9rem;color:var(--muted)}
.departure-direction span{white-space:nowrap}
.departure-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(4.55rem,1fr));gap:.5rem;list-style:none;padding:0;margin:0}
.departure-grid li{position:relative;display:flex;align-items:center;justify-content:center;min-height:2.7rem;padding:.48rem .35rem;border:1px solid rgba(127,62,6,.22);border-radius:.65rem;background:var(--white);font-variant-numeric:tabular-nums;font-weight:850;font-size:1rem;line-height:1}
.departure-grid time{white-space:nowrap}
.departure-grid .next-day{position:absolute;top:.22rem;right:.28rem;font-size:.62rem;line-height:1;color:var(--primary-2);font-weight:900}
.departure-legend{margin-top:1rem;padding:.72rem .85rem;border-radius:.6rem;background:#fff8e8;color:var(--muted);font-size:.92rem}
.eav-route-name{font-weight:700;line-height:1.6}
@media(max-width:520px){
 .departure-card{padding:.85rem .8rem 1rem}
 .departure-grid{grid-template-columns:repeat(auto-fill,minmax(4.25rem,1fr));gap:.42rem}
 .departure-grid li{min-height:2.55rem;padding:.45rem .25rem;font-size:.97rem}
 .departure-direction span{display:block;margin-top:.25rem}
}
@media(max-width:360px){.departure-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}


/* Version 15.4.21: Team, Kurzinfo, Film und Nachtleben */
/* Version 15.4.22: gemeinsame Besucherführung Über uns / Team / Praktikum / Kontakt */

/* Über uns / Team / Praktikum / Kontakt – gemeinsame Besucherführung */
.about-section-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin:0 0 2.6rem;padding:.55rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.about-section-nav a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:.65rem .8rem;border-radius:.72rem;color:var(--ink);font-weight:800;text-align:center;text-decoration:none}
.about-section-nav a:hover{background:var(--white);color:var(--primary)}
.about-section-nav a.is-current{background:var(--primary);color:var(--white);box-shadow:0 8px 18px rgba(144,83,15,.18)}
.about-path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.5rem 0 2.5rem}
.about-path-card{display:flex;flex-direction:column;padding:1.35rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:0 10px 25px rgba(74,58,39,.07)}
.about-path-card h3{margin:.1rem 0 .55rem}.about-path-card p{margin-top:.35rem}.about-path-card .button{margin-top:auto;align-self:flex-start}

.team-page{max-width:1120px}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem;margin:2rem 0 3rem}.team-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:0 10px 28px rgba(24,48,42,.07)}.team-photo{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center top;background:var(--surface)}.team-card-body{display:flex;flex:1;flex-direction:column;padding:1.25rem}.team-card h2{margin:.15rem 0 .7rem;font-size:1.65rem}.team-card p{margin-top:.35rem}.team-role{margin:0!important;color:var(--primary-2)!important;font-size:.82rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.team-profile-link{margin-top:auto;padding-top:.65rem;font-weight:800}.team-contact-panel{margin-top:2rem}
.quick-facts-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:0 0 2.5rem}.quick-fact{padding:1.15rem;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,#fffaf0,#fff);text-align:center}.quick-fact strong{display:block;color:var(--ink);font-size:clamp(1.65rem,3.5vw,2.35rem);line-height:1.05}.quick-fact span{display:block;margin-top:.4rem;color:var(--muted);font-size:.92rem}.municipality-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:2rem 0 3rem}.municipality-card{display:flex;flex-direction:column;padding:1.35rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.municipality-card h2{margin:.15rem 0 .7rem;font-size:1.55rem}.municipality-card p{margin:.2rem 0 .9rem}.municipality-card a{margin-top:auto;font-weight:800}.municipality-pop{color:var(--primary-2)!important;font-size:.84rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
.film-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:2rem 0 3rem}.film-card{position:relative;padding:1.35rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.film-card h2{margin:.25rem 0 .65rem;padding-right:4.5rem;font-size:1.45rem}.film-card p{margin:.35rem 0}.film-year{position:absolute;top:1rem;right:1rem;padding:.3rem .55rem;border-radius:999px;background:var(--amber-soft);color:var(--primary-2);font-size:.82rem;font-weight:900}
.nightlife-notice{margin:0 0 2rem;padding:1rem 1.2rem;border-left:5px solid var(--amber);border-radius:.7rem;background:#fff8e8}.nightlife-notice p{margin:.35rem 0 0}.nightlife-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:2rem 0 3rem}.nightlife-card{padding:1.35rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.nightlife-card h2{margin:.2rem 0 .7rem;font-size:1.5rem}.nightlife-type{margin:0!important;color:var(--primary-2)!important;font-size:.82rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
@media(max-width:900px){.team-grid{grid-template-columns:1fr 1fr}.quick-facts-grid{grid-template-columns:1fr 1fr}.about-path-grid{grid-template-columns:1fr}}
@media(max-width:700px){.about-section-nav{grid-template-columns:1fr 1fr}.team-grid,.municipality-grid,.film-grid,.nightlife-grid{grid-template-columns:1fr}.team-photo{aspect-ratio:16/10}.quick-facts-grid{grid-template-columns:1fr 1fr}.film-card h2{padding-right:0;padding-top:1.6rem}.film-year{left:1rem;right:auto}}
@media(max-width:420px){.quick-facts-grid{grid-template-columns:1fr}.quick-fact{text-align:left}}

@media(max-width:460px){.about-section-nav{grid-template-columns:1fr}}

.gallery-context { max-width: 78ch; margin: .25rem 0 1.15rem; color: var(--muted, #5f625f); }


/* Version 15.6.4: vollständige Gemeinde-Fotogalerien aus images.xml */
.municipality-gallery-all .gallery-total-count{margin:.15rem 0 1rem;color:var(--primary-2);font-size:1.05rem}
.municipality-gallery-block{margin:2rem 0 3rem;padding-top:.25rem}
.municipality-gallery-block+ .municipality-gallery-block{border-top:1px solid var(--line);padding-top:2rem}
.municipality-gallery-block h3{margin:0 0 .2rem;font-size:clamp(1.35rem,2.4vw,1.85rem)}
.gallery-section-count{margin:.1rem 0 1rem;color:var(--muted);font-size:.92rem}
.municipality-gallery-grid-all{align-items:stretch}
.municipality-gallery-grid-all .gallery-card{height:100%}
@media(min-width:1180px){.municipality-gallery-grid-all{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* v15.6.5 – dynamischer Kalender religiöser Feste */
.feast-year-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 1.5rem}.feast-year-nav a{display:inline-flex;padding:.55rem .85rem;border:1px solid var(--border,#d9d1c3);border-radius:999px;text-decoration:none;background:#fff}.feast-year-nav a.active{font-weight:700;border-color:currentColor}.feast-next-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem}.feast-next-card{padding:1rem;border:1px solid var(--border,#e1dbd0);border-radius:14px;background:#fff}.feast-next-card time{font-weight:700}.feast-next-card h3{margin:.35rem 0}.feast-next-card p{margin:0}.feast-month{margin:2rem 0}.feast-month>h3{border-bottom:1px solid var(--border,#ddd4c6);padding-bottom:.45rem}.feast-list{display:grid;gap:1rem}.feast-card{display:grid;grid-template-columns:minmax(150px,210px) 1fr;gap:1rem;padding:1.1rem;border:1px solid var(--border,#e1dbd0);border-radius:16px;background:#fff}.feast-date time{display:block;font-weight:800;font-size:1.05rem}.feast-date small{display:block;margin-top:.35rem;opacity:.75}.feast-detail h4{font-size:1.2rem;margin:.15rem 0 .55rem}.feast-detail p{margin:.4rem 0}.feast-note{font-size:.92rem;opacity:.85}.feast-source{font-size:.9rem}.feast-source.muted{opacity:.7}.religious-calendar-page .notice{padding:1rem;border-left:4px solid currentColor;background:rgba(0,0,0,.035);margin:1rem 0}@media(max-width:700px){.feast-card{grid-template-columns:1fr}.feast-date{padding-bottom:.6rem;border-bottom:1px solid var(--border,#e1dbd0)}}
.checkbox-line{display:flex!important;align-items:flex-start;gap:.65rem;font-weight:500!important;line-height:1.45}.checkbox-line input[type=checkbox]{width:auto!important;min-width:1.1rem;height:1.1rem;margin-top:.2rem}.checkbox-line span{display:block}.guestbook-entry h3{margin:.6rem 0 .25rem;font-size:1.05rem}.privacy-note{font-size:.92rem;color:var(--muted)}


/* Version 15.6.8: Tipp des Tages aus Access + Tagestouren */
.daily-tip-card{padding:1.35rem 1.45rem;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,#fffaf0,#fff);box-shadow:0 10px 28px rgba(24,48,42,.06)}
.daily-tip-card h2{margin:.25rem 0 .75rem}.daily-tip-category{display:inline-flex;margin:.15rem 0 .5rem;padding:.3rem .6rem;border-radius:999px;background:var(--amber-soft);font-size:.84rem;font-weight:850;color:var(--primary-2)}
.daily-tip-action{margin-top:1.15rem}.daily-tour-highlight{padding:1.35rem 1.45rem;border-left:5px solid var(--primary);border-radius:var(--radius);background:var(--surface)}
.daily-tour-highlight h2{margin:.2rem 0 .7rem}.daily-tip-page .small-note{font-size:.9rem;color:var(--muted)}


.season-month-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:.5rem;margin:1rem 0 1.5rem}.season-month-nav a{display:flex;justify-content:center;padding:.58rem .7rem;border:1px solid var(--border,#d9d1c3);border-radius:999px;text-decoration:none;background:#fff}.season-month-nav a.active{font-weight:800;border-color:currentColor}.season-count{margin:.4rem 0 1.2rem}.season-category{margin:2rem 0}.season-category>h3{border-bottom:1px solid var(--border,#ddd4c6);padding-bottom:.45rem}.season-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}.season-card{padding:1.05rem;border:1px solid var(--border,#e1dbd0);border-radius:16px;background:#fff}.season-card h4{font-size:1.15rem;margin:.05rem 0 .55rem}.season-card>p{margin:.35rem 0}.season-dish{margin-top:.8rem;padding-top:.75rem;border-top:1px solid var(--border,#e5ded2)}.season-dish p{margin:.35rem 0 0}.season-feature{padding:1.2rem;border:1px solid var(--border,#dcd3c6);border-radius:18px;background:rgba(0,0,0,.025)}.season-feature h3{margin:.2rem 0 .55rem}.season-calendar-page .notice{padding:1rem;border-left:4px solid currentColor;background:rgba(0,0,0,.035);margin:1rem 0}
