/* ===== Bericht 3: St. Martin in Friesdorf (30.10.2026) =================
   Ergänzt stil.css; alle Klassen mit Vorsilbe sm-, Farben aus :root. */

.bericht-drei { background:var(--bg); }
.bericht-drei .bericht-bild { width:210px; aspect-ratio:3/4; object-fit:cover; }

/* Bilder mit Bildnachweis */
.sm-bild { margin:1.8rem 0; }
.sm-bild img {
  width:100%; height:auto; display:block; border-radius:6px;
  box-shadow:0 10px 26px var(--schatten); background:var(--bg-tief);
}
.sm-bild figcaption {
  margin-top:0.6rem; font-size:0.88rem; color:var(--text-weich); line-height:1.5;
}
.sm-bild figcaption .sm-nachweis {
  display:block; margin-top:0.2rem; font-size:0.76rem; color:var(--akzent-tief);
}
.sm-bild-paar { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; margin:1.8rem 0; }
.sm-bild-paar .sm-bild { margin:0; }
.sm-bild-rechts { float:right; width:42%; margin:0.3rem 0 1rem 1.6rem; }
.sm-bild-rechts img { aspect-ratio:auto; }

/* Zeitungsausschnitt mit heutiger Lesefassung */
.sm-zeitung {
  margin:2rem 0; background:#f7f1e3; border:1px solid var(--linie);
  border-radius:6px; padding:1rem 1rem 0.9rem; box-shadow:0 8px 22px var(--schatten);
}
.sm-zeitung-kopf {
  display:flex; flex-wrap:wrap; justify-content:space-between; gap:0.3rem 1rem;
  font-size:0.78rem; letter-spacing:0.06em; text-transform:uppercase;
  color:var(--akzent-tief); font-weight:600; margin-bottom:0.7rem;
}
.sm-zeitung-kopf a { color:inherit; }
.sm-zeitung img {
  width:100%; height:auto; display:block; border-radius:3px;
  filter:sepia(0.18) contrast(1.04); mix-blend-mode:multiply;
}
.sm-zeitung details { margin-top:0.8rem; }
.sm-zeitung summary {
  cursor:pointer; list-style:none; display:flex; align-items:center; gap:0.8rem;
  width:100%; box-sizing:border-box; padding:0.75rem 1.1rem; border-radius:8px;
  background:var(--akzent-tief); color:#fff; border:none;
  box-shadow:0 4px 12px var(--schatten); transition:background .2s, transform .2s;
}
.sm-zeitung summary:hover { background:#5d7060; }
.sm-zeitung summary::-webkit-details-marker { display:none; }
.sm-zeitung summary::marker { content:""; }
.sm-knopf-ico { font-size:1.45rem; line-height:1; }
.sm-knopf-text b { display:block; font-size:1.02rem; font-weight:600; }
.sm-knopf-text small { display:block; font-size:0.84rem; font-weight:400; opacity:0.88; }
.sm-knopf-pfeil { margin-left:auto; color:var(--gold); transition:transform .2s; }
.sm-zeitung details[open] .sm-knopf-pfeil { transform:rotate(180deg); }
.sm-zeitung summary:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
.sm-lese {
  margin-top:0.8rem; padding:1rem 1.2rem; background:var(--weiss);
  border-left:3px solid var(--gold); border-radius:0 6px 6px 0;
  font-size:0.98rem; color:var(--text); line-height:1.65;
}
.sm-lese p { margin:0 0 0.7rem; color:var(--text) !important; }
.sm-lese p:last-child { margin-bottom:0; }
.bericht-text .sm-lese p::first-letter, .bericht-text .sm-lese p:first-of-type::first-letter { all:unset; }
.sm-lese .sm-anm { font-size:0.84rem; color:var(--text-weich) !important; font-style:italic; }

/* Anekdote / Gut zu wissen */
.sm-kasten {
  margin:2rem 0; padding:1.2rem 1.4rem 1.2rem 1.3rem;
  background:var(--weiss); border:1px solid var(--linie);
  border-radius:8px; position:relative;
  display:grid; grid-template-columns:auto 1fr; gap:0.4rem 1rem;
}
.sm-kasten svg { width:34px; height:34px; grid-row:1 / span 2; margin-top:0.1rem; }
.sm-kasten h4 {
  margin:0 !important; font-size:0.78rem !important; letter-spacing:0.09em;
  text-transform:uppercase; color:var(--gold) !important; font-weight:700 !important;
  font-family:inherit;
}
.sm-kasten p { margin:0 0 0.5rem !important; font-size:0.98rem !important; }
.sm-kasten p:last-child { margin-bottom:0 !important; }
.bericht-text .sm-kasten p::first-letter, .bericht-text .sm-kasten p:first-of-type::first-letter { all:unset; }

/* Mundartvers mit Übersetzung */
.sm-vers {
  margin:1.8rem 0; display:grid; grid-template-columns:1fr 1fr; gap:0;
  border-radius:8px; overflow:hidden; border:1px solid var(--linie);
}
.sm-vers > div { padding:1.1rem 1.3rem; }
.sm-vers .sm-platt {
  background:var(--akzent-tief); color:#fff;
  font-family:var(--serif); font-size:1.14rem; line-height:1.5; font-style:italic;
}
.sm-vers .sm-hoch { background:var(--weiss); color:var(--text-weich); font-size:0.98rem; line-height:1.6; }
.sm-vers .sm-vers-titel {
  display:block; font-family:inherit; font-style:normal; font-size:0.7rem;
  letter-spacing:0.1em; text-transform:uppercase; opacity:0.8; margin-bottom:0.4rem;
}
.sm-vers-quelle { grid-column:1 / -1; font-size:0.78rem; padding:0.55rem 1.3rem !important;
  background:var(--bg-tief); color:var(--text-weich); }

/* Kleines Martins-Wörterbuch */
.sm-woerter { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:0.9rem; margin:1.4rem 0 2rem; }
.sm-woerter div {
  background:var(--weiss); border:1px solid var(--linie); border-radius:6px; padding:0.8rem 1rem;
}
.sm-woerter dt { font-family:var(--serif); font-size:1.2rem; font-weight:700; color:var(--text); }
.sm-woerter dd { margin:0.2rem 0 0; font-size:0.9rem; color:var(--text-weich); line-height:1.5; }

/* Zeitleiste */
.sm-zeitleiste { list-style:none; margin:1.4rem 0 2rem; padding:0; position:relative; }
.sm-zeitleiste::before {
  content:""; position:absolute; left:4.6rem; top:0.3rem; bottom:0.3rem;
  width:2px; background:linear-gradient(var(--gold),var(--akzent));
}
.sm-zeitleiste li {
  display:grid; grid-template-columns:4.2rem 1fr; gap:1.4rem;
  padding:0.42rem 0; position:relative; font-size:0.95rem; color:var(--text-weich);
}
.sm-zeitleiste li::before {
  content:""; position:absolute; left:4.35rem; top:0.85rem; width:12px; height:12px;
  border-radius:50%; background:var(--weiss); border:2px solid var(--gold);
}
.sm-zeitleiste b { font-variant-numeric:tabular-nums; color:var(--text); text-align:right; }
.sm-zeitleiste .sm-dunkel::before { background:#3b3b3b; border-color:#3b3b3b; }

/* Karte */
.sm-karte { margin:2rem 0; }
.sm-karte-flaeche { border-radius:6px; overflow:hidden; box-shadow:0 10px 26px var(--schatten); }
#smKarte { width:100%; height:440px; background:var(--bg-tief); }
.sm-legende { display:flex; flex-wrap:wrap; gap:0.5rem 1.3rem; margin-top:0.8rem; font-size:0.84rem; color:var(--text-weich); }
.sm-legende span { display:flex; align-items:center; gap:0.45rem; }
.sm-legende i { width:14px; height:14px; border-radius:50%; display:inline-block; border:2px solid #fff; box-shadow:0 0 0 1px rgba(0,0,0,.35); }
.sm-m-alt { background:#8b4a2b; } .sm-m-neu { background:#4f7a52; } .sm-m-feuer { background:#e2541b; }

/* Zahlenzeile */
.sm-zahlen { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:0.9rem; margin:1.6rem 0; }
.sm-zahlen div { background:var(--weiss); border:1px solid var(--linie); border-radius:8px; padding:0.9rem 1rem; text-align:center; }
.sm-zahlen strong { display:block; font-family:var(--serif); font-size:2rem; color:var(--akzent-tief); line-height:1.1; font-variant-numeric:tabular-nums; }
.sm-zahlen span { font-size:0.82rem; color:var(--text-weich); }

/* Quellen und Bildnachweise */
.sm-quellen { font-size:0.86rem; color:var(--text-weich); }
.sm-quellen ol, .sm-quellen ul { padding-left:1.2rem; }
.sm-quellen li { margin-bottom:0.35rem; }
.sm-quellen details summary { cursor:pointer; font-weight:600; color:var(--text); margin:0.6rem 0; }

@media (max-width:680px) {
  .sm-bild-paar, .sm-vers { grid-template-columns:1fr; }
  .sm-bild-rechts { float:none; width:100%; margin:1.4rem 0; }
  .sm-zeitleiste::before { left:3.6rem; }
  .sm-zeitleiste li { grid-template-columns:3.2rem 1fr; gap:1.7rem; }
  .sm-zeitleiste li::before { left:3.35rem; }
  #smKarte { height:340px; }
  .sm-zeitung { padding:0.7rem; }
}
@media (prefers-reduced-motion:reduce) { .sm-zeitung summary, .sm-knopf-pfeil { transition:none; } }
@media print { .sm-zeitung details { display:block; } .sm-zeitung details > * { display:block; } }

/* Vergleich St. Martin / Halloween */
.tabelle-wrap .sm-vergleich { min-width:0; table-layout:fixed; }
.sm-vergleich thead th:first-child { width:24%; }
.bericht-text .sm-vergleich tbody td,
.sm-vergleich tbody td:nth-child(2) { white-space:normal !important; font-weight:400 !important; color:var(--text-weich) !important; font-size:0.92rem; }
.sm-vergleich tbody td:first-child { color:var(--text) !important; font-weight:600 !important; }

/* Gastgeber und Helfer (Logos) */
.sm-partner { margin:2rem 0; padding:1.2rem 1.4rem; background:var(--weiss); border:1px solid var(--linie); border-radius:8px; }
.sm-partner-titel { margin:0 0 0.9rem !important; font-size:0.78rem !important; letter-spacing:0.09em; text-transform:uppercase; color:var(--gold) !important; font-weight:700; }
.sm-partner-logos { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:1rem; margin-bottom:1rem; }
.sm-partner-logos figure { margin:0; display:flex; flex-direction:column; align-items:center; gap:0.5rem; text-align:center; }
.sm-partner-logos img { height:86px; width:auto; max-width:100%; object-fit:contain; }
.sm-partner-logos figcaption { font-size:0.8rem; color:var(--text-weich); line-height:1.4; }
.sm-partner p { font-size:0.95rem !important; margin:0 !important; }
.bericht-text .sm-partner p::first-letter, .bericht-text .sm-partner p:first-of-type::first-letter { all:unset; }

/* Zeitzeugen-Zitat und Familienrezept */
.sm-zitat { margin:1.6rem 0; padding:1rem 1.3rem; border-left:3px solid var(--gold); background:#f7f1e3;
  font-family:var(--serif); font-size:1.15rem; line-height:1.55; font-style:italic; color:var(--text); border-radius:0 6px 6px 0; }
.sm-zitat cite { display:block; margin-top:0.6rem; font-family:inherit; font-style:normal; font-size:0.8rem; color:var(--text-weich); }
.sm-rezept { clear:both; margin:2rem 0; display:grid; grid-template-columns:1.1fr 1fr; gap:1.2rem; align-items:start; }
.sm-rezept img { width:100%; height:auto; display:block; border-radius:4px; box-shadow:0 10px 26px var(--schatten); background:#fff; }
.sm-rezept-text { background:var(--weiss); border:1px solid var(--linie); border-radius:8px; padding:1rem 1.2rem; font-size:0.95rem; }
.sm-rezept-text p { margin:0 0 0.6rem !important; font-size:0.95rem !important; }
.sm-rezept-text ul { margin:0 0 0.8rem; padding-left:1.1rem; }
.sm-rezept-text li { margin-bottom:0.15rem; }
.sm-rezept-text .sm-rezept-titel { font-family:var(--serif); font-size:1.3rem !important; line-height:1.2; font-weight:700; color:var(--text); }
.sm-rezept-text .sm-rezept-unter { font-style:italic; color:var(--text-weich); }
.sm-rezept figcaption { grid-column:1 / -1; font-size:0.88rem; color:var(--text-weich); }
.sm-rezept figcaption .sm-nachweis { display:block; margin-top:0.2rem; font-size:0.76rem; color:var(--akzent-tief); }
.bericht-text .sm-rezept p::first-letter, .bericht-text .sm-rezept p:first-of-type::first-letter { all:unset; }

/* Karte: Feuer-Symbol und Linien in der Legende */
.sm-feuer-icon span { display:flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:50%;
  background:#fff; box-shadow:0 0 0 2px #e2541b, 0 2px 6px rgba(0,0,0,.35); font-size:17px; line-height:1; }
.sm-m-feuer-alt { background:transparent !important; border:2px dashed #8b4a2b !important; box-shadow:none !important; }
.sm-l-weg { display:inline-block; width:26px; height:0; border-top:4px solid #b0302a; border-radius:2px; }
.sm-l-offen { border-top:4px dotted #b0302a; opacity:.75; }
@media (max-width:680px) { .sm-rezept { grid-template-columns:1fr; } }

/* Fragebogen: Fragen und Antworten (Knopf wie bei den Zeitungen) */
.sm-bogen { clear:both; margin:1.6rem 0 2rem; }
.sm-bogen summary { cursor:pointer; list-style:none; display:flex; align-items:center; gap:0.8rem;
  width:100%; box-sizing:border-box; padding:0.75rem 1.1rem; border-radius:8px;
  background:var(--akzent-tief); color:#fff; box-shadow:0 4px 12px var(--schatten); }
.sm-bogen summary:hover { background:#5d7060; }
.sm-bogen summary::-webkit-details-marker { display:none; }
.sm-bogen summary::marker { content:""; }
.sm-bogen[open] .sm-knopf-pfeil { transform:rotate(180deg); }
.sm-bogen summary:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
.sm-bogen .tabelle-wrap { margin-top:0.8rem; overflow-x:auto; }
.sm-fa { width:100%; border-collapse:collapse; font-size:0.9rem; background:var(--weiss); }
.sm-fa th { text-align:left; background:var(--akzent-tief); color:#fff; padding:0.5rem 0.7rem; font-weight:600; }
.sm-fa td { padding:0.5rem 0.7rem; border-bottom:1px solid var(--linie); vertical-align:top; color:var(--text); white-space:normal !important; }
.sm-fa td:first-child { font-weight:700; color:var(--akzent-tief); white-space:nowrap !important; width:3rem; }
.sm-fa td:nth-child(2) { color:var(--text-weich); width:45%; }
.sm-fa tr:last-child td { background:#f7f1e3; }
.sm-fa-quelle { font-size:0.78rem !important; color:var(--text-weich) !important; margin-top:0.5rem !important; }
.bericht-text .sm-bogen p::first-letter, .bericht-text .sm-bogen p:first-of-type::first-letter { all:unset; }
