/* ── Lokale Schrift: Lora (Variable Font, v37) ──────────────── */
@font-face{font-family:'Lora';font-style:normal;font-weight:400 600;font-display:swap;src:url('../fonts/lora-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Lora';font-style:normal;font-weight:400 600;font-display:swap;src:url('../fonts/lora-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Lora';font-style:italic;font-weight:400 600;font-display:swap;src:url('../fonts/lora-italic-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Lora';font-style:italic;font-weight:400 600;font-display:swap;src:url('../fonts/lora-italic-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ── Resets & CSS-Variablen ────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --nav-rot:    #b42d2d;
  --nav-blau:   #4c5678;
  --titel-farbe:#3c4460;
  --link-rot:   #b42d2d;
  --text:       #222233;
  --grau-aussen:#cccccc;
  --weiss:      #ffffff;
  --border:     #cccccc;
  --seite-breite:1100px;
  --schrift:    'Lora',Georgia,serif;
}

/* ── Basis ─────────────────────────────────────────────────── */
html,body{font-family:var(--schrift);font-size:1rem;line-height:1.7;color:var(--text);background:var(--grau-aussen)}
h2,h3{font-family:var(--schrift);font-weight:normal}
p{margin-bottom:0.75rem}
a,a:visited{color:var(--link-rot);text-decoration:none}
img{height:auto}
a:hover{color:#df6262;text-decoration:underline}
hr{border:none;border-top:1px solid #ddd;margin:1rem 0;clear:both}

/* ── Grundlayout ────────────────────────────────────────────── */
.seiten-rahmen{max-width:var(--seite-breite);margin:0 auto;background:var(--weiss);border-left:1px solid var(--border);border-right:1px solid var(--border)}
.seiten-inhalt{display:flex;align-items:flex-start;gap:0;padding:0}
.haupt-inhalt{flex:1;padding:1.25rem 1.25rem 1.25rem 1.5rem;min-width:0;border-right:1px solid #ddd}
.sidebar{width:200px;flex-shrink:0;padding:1.25rem 1rem;font-size:0.9rem;line-height:1.6;background:#f9f8f6}

/* ── Header ─────────────────────────────────────────────────── */
.site-header{background:var(--weiss);text-align:center;padding:1.25rem 1rem 0.75rem;border-bottom:1px solid #ddd}
.site-header h1{font-family:var(--schrift);font-size:2.8rem;font-weight:normal;color:var(--nav-blau);letter-spacing:0.04em}
.site-header a,.site-header a:visited{text-decoration:none;color:inherit}

/* ── Navigation ─────────────────────────────────────────────── */
.site-nav{background:var(--nav-rot);display:flex;flex-wrap:wrap;align-items:stretch}
.site-nav a,.site-nav a:visited,.site-nav .nav-gruppe>a,.site-nav .nav-gruppe>a:visited{display:block;padding:0.45rem 0.9rem;color:var(--weiss);text-decoration:none;font-size:0.8rem;letter-spacing:0.02em;white-space:nowrap;transition:background 0.15s}
.site-nav a:hover,.site-nav .nav-gruppe>a:hover{background:#4d5577;color:var(--weiss)}
.site-nav a.aktiv,.site-nav .nav-gruppe.aktiv>a{background:var(--nav-blau)}
.nav-gruppe{position:relative}
.nav-gruppe>a::after{content:'';display:none}
.nav-sub{display:none;position:absolute;top:100%;left:0;background:var(--nav-rot);z-index:100;min-width:185px;box-shadow:0 4px 10px rgba(0,0,0,0.35)}
.nav-gruppe:hover .nav-sub,.nav-gruppe:focus-within .nav-sub{display:block}
.nav-sub a{font-size:0.78rem;border-top:1px solid rgba(255,255,255,0.12);padding:0.4rem 0.9rem}
.nav-sub a:hover,.nav-sub a:hover{background:#4d5577;color:var(--weiss)}
.nav-sub a.aktiv{background:var(--nav-blau)}
.nav-toggle{display:none;width:100%;background:var(--nav-rot);border:none;color:var(--weiss);padding:0.6rem 1rem;font-size:0.9rem;cursor:pointer;text-align:left}

/* ── Typografie Inhalt ───────────────────────────────────────── */
.seite-titel,h2.abschnitt{color:var(--titel-farbe);font-size:1.15rem;font-weight:bold;margin-bottom:0.75rem}
.jahres-titel{color:var(--titel-farbe);font-size:1rem;font-weight:bold;margin:1.25rem 0 0.25rem}
.haupt-inhalt>p,.haupt-inhalt>ul,.haupt-inhalt>ol{max-width:72ch}

/* ── Sidebar ────────────────────────────────────────────────── */
.sidebar h3{font-size:0.95rem;font-weight:bold;color:var(--text);margin-bottom:0.5rem}
.sidebar p{font-size:0.9rem;color:#444;margin-bottom:0.75rem}
.sidebar ul{list-style:none;padding:0}
.sidebar ul li{margin-bottom:0.1rem}
.sidebar ul li a{color:var(--link-rot);font-size:0.9rem}

/* ── Buch-Einträge (Geförderte Bücher, Leseproben) ──────────── */
.buch{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid #eee;overflow:hidden}
.buch h3{color:var(--titel-farbe);font-size:0.9rem;font-weight:bold;margin-bottom:0.15rem}
.buch .autor{color:var(--link-rot);font-size:0.82rem;margin-bottom:0.15rem}
.buch .meta{color:#555;font-size:0.8rem;margin-bottom:0.35rem}

/* Buchcover-Grid: nur wenn erstes Kind ein verlinktes Bild ist */
.buch:has(>a:first-child img){
  display:grid;
  grid-template-columns:110px 1fr;
  gap:0 1.25rem;
  align-items:start;
  overflow:visible;
  padding-bottom:1.5rem;
  margin-bottom:1.5rem;
}
.buch:has(>a:first-child img)>:first-child{grid-column:1;grid-row:1/span 10;margin:0;float:none;align-self:start}
.buch:has(>a:first-child img)>:not(:first-child){grid-column:2}

/* ── Seitenspezifisch: Leseproben ───────────────────────────── */
body[data-page="leseproben"] h3.jahres-titel{text-decoration:underline;text-underline-offset:4px}
body[data-page="leseproben"] .buch p em{font-weight:600;font-style:italic}

/* ── Aktuelles / Startseite ─────────────────────────────────── */
.aktuelles h2{color:var(--titel-farbe);font-size:1.15rem;font-weight:bold;margin:1rem 0 0.25rem}
.aktuelles h3{color:var(--titel-farbe);font-size:0.9rem;font-weight:bold;margin:0.75rem 0 0.25rem}
.aktuelles ul{padding-left:1.2rem;margin-bottom:0.75rem}
.aktuelles li{margin-bottom:0.2rem}
.buch-jahr{color:var(--titel-farbe);font-size:1rem;font-weight:bold;border-bottom:1px solid #ddd;padding-bottom:0.2rem;margin:1.5rem 0 0.75rem}

/* ── Veranstaltungen ────────────────────────────────────────── */
.veranstaltung{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid #eee;overflow:hidden}
.veranstaltung .wann{color:var(--nav-rot);font-size:0.8rem;font-weight:bold;margin-bottom:0.15rem}
.veranstaltung h3{color:var(--titel-farbe);font-size:0.9rem;font-weight:bold;margin-bottom:0.25rem}
.veranstaltung ul{padding-left:1.25rem;font-size:0.82rem;margin-top:0.35rem}

/* ── Vereinsseite ───────────────────────────────────────────── */
.vorstand-liste{display:flex;flex-direction:column;gap:0.9rem;margin-bottom:1rem}
.vorstand-person{display:flex;gap:0.85rem;font-size:0.82rem;padding:0.6rem 0.75rem;background:#f8f8f8;border-left:3px solid var(--nav-rot);align-items:flex-start}
.vorstand-person img{width:90px;flex-shrink:0;object-fit:cover}
.vorstand-person-text strong{display:block;margin-bottom:0.15rem}
.vorstand-person p{color:#555;font-size:0.78rem;margin:0.2rem 0 0;line-height:1.4}

/* ── Mitgliedschaft/Tabelle ─────────────────────────────────── */
.beitrags-tabelle{width:100%;max-width:520px;border-collapse:collapse;font-size:0.82rem;margin:0.75rem 0 1rem}
.beitrags-tabelle th,.beitrags-tabelle td{padding:0.5rem 0.75rem;text-align:left;border:1px solid #ddd}
.beitrags-tabelle th{background:var(--nav-rot);color:var(--weiss);font-weight:normal}
.beitrags-tabelle tr:nth-child(even) td{background:#f9f9f9}
.beitrags-tabelle td:last-child{font-weight:bold;color:var(--nav-rot)}

/* ── Autoren-Seite ───────────────────────────────────────────── */
.az-nav{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 0.75rem}
.az-nav a{display:inline-block;font-size:0.78rem;font-weight:bold;color:var(--nav-blau);text-decoration:none;padding:2px 7px;border:1px solid #c0c8d8;border-radius:3px;background:#f5f7fb;line-height:1.6}
.az-nav a:hover{background:var(--nav-blau);color:#fff;border-color:var(--nav-blau);text-decoration:none}
.buch-anzahl{font-size:0.82rem;color:#666;margin-bottom:0.5rem}
.autoren-liste{column-count:2;column-gap:2rem;list-style:disc;padding-left:1.2rem;margin:1rem 0;font-size:0.87rem;line-height:1.7}
.autoren-liste a{color:var(--link-rot);text-decoration:none}
.autoren-liste a:hover{text-decoration:underline}
.autoren-suche{margin-bottom:1rem}
.autoren-suche input{width:100%;max-width:360px;padding:6px 10px;border:1px solid #ccc;border-radius:4px;font-size:0.85rem;font-family:var(--schrift);color:var(--text)}
.autoren-suche input:focus{outline:none;border-color:var(--nav-rot);box-shadow:0 0 0 2px rgba(180,45,45,.15)}
#suche-info{font-size:0.75rem;color:#666;margin-top:4px;min-height:1.2em}

/* ── Sprungnavigation ───────────────────────────────────────── */
.jump-nav{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 1.25rem;padding:8px 10px;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:4px}
.jump-nav a{font-size:0.75rem;color:var(--link-rot);text-decoration:none;padding:2px 8px;border-radius:3px;background:#fff;border:1px solid #e0c0c0;white-space:nowrap}
.jump-nav a:hover{background:var(--nav-rot);color:#fff;border-color:var(--nav-rot);text-decoration:none}

/* ── Badges (PDF, ↗, YT) ────────────────────────────────────── */
.vergangen-tag{display:inline-block;font-size:0.65rem;padding:1px 5px;background:#f0f0f0;color:#5f5f5f;border:1px solid #ccc;border-radius:3px;vertical-align:middle;margin-left:5px;font-family:Arial,sans-serif;line-height:1.6}
.lnk-badge{display:inline-flex;align-items:center;font-size:0.58rem;font-weight:bold;letter-spacing:0.03em;border-radius:2px;padding:1px 3px;margin-left:4px;vertical-align:middle;border:1px solid;line-height:1}
.lnk-badge-pdf{color:#b42d2d;border-color:#d08080;background:#fff7f7}
.lnk-badge-web{color:#4c5678;border-color:#8090b0;background:#f5f7fb}
.lnk-badge-yt{color:#b00000;border-color:#c06060;background:#fff5f5}
a.lnk-portrait{color:var(--nav-blau);margin-top:3px;padding-top:4px;border-top:1px solid #dce4ee;display:block}
a.lnk-portrait:hover{color:#6875a0}

/* Externer-Link-Pfeil (↗) für Links außerhalb der eigenen Domain */
.haupt-inhalt a[href^="http"]:not([href*="literaturforum-indien.de"]):not(:has(.lnk-badge))::after{content:"";display:none}

/* ── Breadcrumb ─────────────────────────────────────────────── */
.breadcrumb{font-size:0.75rem;color:#666;margin-bottom:0.75rem}
.breadcrumb a{color:var(--link-rot);text-decoration:none}
.breadcrumb a:hover{text-decoration:underline}
.breadcrumb .sep{margin:0 5px;color:#bbb}

/* ── Hilfselemente ──────────────────────────────────────────── */
.zum-seitenanfang{margin-top:1.5rem;padding-top:0.75rem;border-top:1px solid #eee;text-align:right;font-size:0.78rem}
.zum-seitenanfang a{color:#666;text-decoration:none}
.zum-seitenanfang a:hover{color:var(--nav-rot)}

/* ── Zurück-nach-oben-Button ────────────────────────────────── */
#back-top{
  position:fixed;
  bottom:1.5rem;
  right:max(0.5rem, calc((100vw - var(--seite-breite)) / 2 - 48px));
  background:var(--nav-blau);
  color:#fff;
  border:none;
  border-radius:50%;
  width:38px;height:38px;
  font-size:1.2rem;line-height:1;
  cursor:pointer;
  display:none;
  align-items:center;justify-content:center;
  box-shadow:0 2px 8px rgba(0,0,0,.3);
  z-index:999;
  transition:background 0.15s;
}
#back-top.visible{display:flex}
#back-top:hover{background:#3c4460}

/* ── Footer ─────────────────────────────────────────────────── */
.site-footer{background:#f0f0f0;border-top:1px solid #ccc;padding:0.75rem 1.5rem;font-size:0.78rem;color:#555;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}
.site-footer a{color:var(--link-rot)}

/* ── Sprach-Umschalter ──────────────────────────────────────── */
.site-header{position:relative}
.lang-switch{position:absolute;top:0.5rem;right:0.75rem;font-size:0.72rem;display:flex;gap:0.25rem;align-items:center;line-height:1}
.lang-switch a,.lang-switch a:visited{color:var(--nav-blau);text-decoration:none;font-weight:bold;padding:2px 6px;border-radius:3px;border:1px solid transparent}
.lang-switch a:hover{background:var(--nav-blau);color:#fff;text-decoration:none;border-color:var(--nav-blau)}
.lang-switch a.aktiv,.lang-switch a.aktiv:visited{background:var(--nav-rot);color:#fff;border-color:var(--nav-rot)}
.lang-switch .sep{color:#bbb;user-select:none}
html.dark-active .lang-switch .sep{color:#444}

/* ── Bild-Links: Hover-Effekt ───────────────────────────────── */
.haupt-inhalt a img{transition:opacity 0.2s ease,box-shadow 0.2s ease;display:block}
.haupt-inhalt a:hover img{opacity:0.82;box-shadow:0 3px 10px rgba(0,0,0,0.28)}

/* ── Skip-Navigation (Tastatur/Screenreader) ────────────────── */
.skip-link{position:absolute;top:-100%;left:0;z-index:1001;background:var(--nav-rot);color:#fff;padding:0.5rem 1rem;font-size:0.9rem;text-decoration:none;border-radius:0 0 4px 0;transition:top .15s}
.skip-link:focus{top:0}

/* ── Barrierefreiheit: Fokus-Stile ──────────────────────────── */
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #b42d2d;outline-offset:3px;border-radius:2px}

/* ── Farbschema-Toggle-Button ───────────────────────────────── */
#theme-toggle{background:none;border:none;cursor:pointer;padding:0 0 0 .5rem;color:var(--nav-blau);opacity:.7;display:flex;align-items:center;border-left:1px solid #d8d8d8;margin-left:.2rem;transition:opacity .15s}
#theme-toggle:hover{opacity:1}
#theme-toggle svg{display:block}
html.dark-active #theme-toggle{border-left-color:#3a3a50}

/* ── Weicher Übergang beim Moduswechsel ─────────────────────── */
.seiten-rahmen,.site-header,.sidebar,.haupt-inhalt,.site-footer,
.vorstand-person,.buch,.veranstaltung,.jump-nav,.jump-nav a,
.az-nav a,.autoren-suche input,.vergangen-tag{
  transition:background-color .3s ease,color .3s ease,border-color .3s ease;
}

/* ── Dark Mode (per JS-Klasse oder Systemeinstellung) ───────── */
/* Aktiviert durch: html.dark-active (JS setzt Klasse basierend auf   */
/* localStorage-Präferenz oder prefers-color-scheme)                   */
html.dark-active{
  --nav-rot:#c94444;--nav-blau:#7888b8;--titel-farbe:#a8b8d8;
  --link-rot:#e07878;--text:#d4d4e8;--grau-aussen:#111118;--border:#3a3a50;
}
html.dark-active body{background:#111118}
html.dark-active .seiten-rahmen{background:#22222e;border-color:var(--border)}
html.dark-active .site-header{background:#22222e;border-bottom-color:var(--border)}
html.dark-active .site-header h1{color:#c4cce8}
html.dark-active hr{border-top-color:var(--border)}
html.dark-active .haupt-inhalt{border-right-color:var(--border);color:var(--text)}
html.dark-active .haupt-inhalt p,html.dark-active .haupt-inhalt li{color:var(--text)}
html.dark-active .sidebar{background:#1c1c2a;border-left-color:var(--border)}
html.dark-active .sidebar h3{color:#b8c6e0}
html.dark-active .sidebar p{color:#b0b4cc}
html.dark-active .sidebar a{color:var(--link-rot)}
html.dark-active .sidebar-cta,html.dark-active .sidebar-cta:hover{color:#fff!important}
html.dark-active .newsletter-mehr-btn{color:var(--link-rot)}
html.dark-active .buch{border-bottom-color:var(--border)}
html.dark-active .buch .meta{color:#8888a0}
html.dark-active .buch-jahr{border-bottom-color:var(--border)}
html.dark-active .veranstaltung{border-bottom-color:var(--border)}
html.dark-active .vorstand-person{background:#28283a}
html.dark-active .vorstand-person p{color:#b0b4cc}
html.dark-active .beitrags-tabelle th,html.dark-active .beitrags-tabelle td{border-color:var(--border)}
html.dark-active .beitrags-tabelle tr:nth-child(even) td{background:#28283a}
html.dark-active .az-nav a{background:#28283a;border-color:#42425a;color:var(--nav-blau)}
html.dark-active .autoren-suche input{background:#28283a;border-color:var(--border);color:var(--text)}
html.dark-active .jump-nav{background:#1c1c2a;border-color:var(--border)}
html.dark-active .jump-nav a{background:#22222e;border-color:#5a3535}
html.dark-active .vergangen-tag{background:#2e2e42;color:#8888a8;border-color:#484862}
html.dark-active .lnk-badge-pdf{background:#2a1515;border-color:#6a3535;color:#e08080}
html.dark-active .lnk-badge-web{background:#151528;border-color:#353558;color:#8898c8}
html.dark-active .lnk-badge-yt{background:#2a1010;border-color:#6a2525;color:#e07070}
html.dark-active a.lnk-portrait{border-top-color:var(--border)}
html.dark-active .breadcrumb{color:#7070a0}
html.dark-active .breadcrumb .sep{color:#505068}
html.dark-active .zum-seitenanfang{border-top-color:var(--border)}
html.dark-active .zum-seitenanfang a{color:#6868a0}
html.dark-active .site-footer{background:#17171f;border-top-color:var(--border);color:#8888a8}
html.dark-active .site-footer a{color:#c07070}
html.dark-active img{filter:brightness(0.88) saturate(0.95)}
html.dark-active a:hover{color:#f08888}

/* ── Print ──────────────────────────────────────────────────── */
@media print{
  .site-nav,.nav-toggle,#back-top,.jump-nav,.skip-link{display:none!important}
  .seiten-rahmen{max-width:none;border:none}
  .seiten-inhalt{display:block}
  .haupt-inhalt{padding:0.5rem;border:none}
  .sidebar{width:100%;border-top:1px solid #ccc;background:none}
  a{color:#000}
  .haupt-inhalt a[href^="http"]:not([href*="literaturforum-indien.de"])::after{content:" <" attr(href) ">";font-size:.75em;opacity:1;vertical-align:baseline;color:#444}
  a[href$=".pdf"]::after{content:" [PDF]";font-size:.8em}
  img{max-width:100%}
}

/* ── Tablet (681–900px): Sidebar unter Inhalt, Nav bleibt horizontal ── */
@media(min-width:681px) and (max-width:900px){
  .seiten-inhalt{flex-direction:column}
  .haupt-inhalt{border-right:none;padding:1.25rem 1.5rem}
  .sidebar{width:100%;border-top:1px solid #ddd}
  .autoren-liste{column-count:2}
}

/* ── Responsive (max-width: 680px) ─────────────────────────── */
@media(max-width:680px){
  .seiten-inhalt{flex-direction:column}
  .haupt-inhalt{border-right:none;padding:1rem}
  .sidebar{width:100%;border-top:1px solid #ddd;padding:1rem}
  header.site-header h1{font-size:1.5rem}
  .autoren-liste{column-count:1}

  /* Mobile Navigation mit max-height-Animation */
  .nav-toggle{display:block}
  .site-nav{display:block;max-height:0;overflow:hidden;transition:max-height .28s ease}
  .site-nav.offen{max-height:600px;overflow-y:auto}
  .site-nav a,.site-nav .nav-gruppe>a{padding:0.4rem 1rem;border-top:1px solid rgba(255,255,255,0.1)}
  .nav-gruppe{display:flex;flex-direction:column}
  .nav-sub{display:none !important;flex-direction:column;position:static;box-shadow:none;min-width:unset}
  .nav-gruppe.offen .nav-sub{display:flex !important}
  .nav-sub a{padding:0.35rem 1rem 0.35rem 2rem;background:rgba(0,0,0,0.12);font-size:0.78rem}
  .nav-sub a.aktiv{background:var(--nav-blau)}
  .site-nav .nav-gruppe>a::after{content:'▾';display:inline-block;font-size:0.7em;opacity:0.7;margin-left:0.35em;transition:transform .2s}
  .nav-gruppe.offen>a::after{transform:rotate(180deg)}
}
