/* Gestaltung Multivision Senft. Farben und Schriften von der alten
   WordPress-Seite (Kadence-Palette), Text nach Standard schwarz.
   Keine Gestaltung im HTML, die Sicherheits-Header blockieren style="..."
   und <style>. */

/* Pfade relativ zu assets/css/, damit sie auch in der Vorschau im Unterordner stimmen */
@font-face{font-family:"Heebo";src:url("../fonts/heebo-variabel.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Prompt";src:url("../fonts/prompt-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}

:root{
  --text:#000;
  --text-leise:#444;
  --grund:#fff;
  --flaeche:#eef1f5;          /* Kartenflaeche, wie im Original hell-blaugrau */
  --linie:#d3d9e3;
  --akzent:#5a6e91;           /* Originalblau, 5,1 zu 1 auf Weiss */
  --akzent-dunkel:#46587a;    /* Logobereich, Hover */
  --akzent-text:#fff;
  --fuss:#444;
  --fehler:#b3261e;
  --fehler-flaeche:#fbeceb;
  --breite:72rem;
  --breite-inhalt:52rem;
  --breite-schmal:44rem;
  --radius:.375rem;
  --schrift:"Heebo",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",Arial,sans-serif;
  --schrift-titel:"Prompt","Heebo",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--schrift);font-size:1.0625rem;line-height:1.65;color:var(--text);background:var(--grund)}
img,svg,picture{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:var(--schrift-titel);font-weight:700;line-height:1.2;margin:0 0 .6em;overflow-wrap:break-word}
h1{font-size:clamp(1.7rem,2.5vw + 1rem,2.4rem)}
h2{font-size:clamp(1.35rem,1.5vw + 1rem,1.8rem);hyphens:auto}
h3{font-size:1.25rem;hyphens:auto}
h4{font-size:1.1rem}
p{margin:0 0 1em}
a{color:var(--akzent)}
a:hover{color:var(--akzent-dunkel)}
ul[role="list"]{list-style:none;margin:0;padding:0}
.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}

/* Barrierefreiheit: Sprunglink und sichtbarer Fokus */
.skip-link{position:absolute;left:-999px;top:0;z-index:1000;background:var(--text);color:#fff;padding:.7rem 1rem}
.skip-link:focus{left:0}
:focus-visible{outline:3px solid var(--akzent);outline-offset:3px}

/* Wiederkehrendes Sektions-Geruest */
.section{padding-block:clamp(2.5rem,5vw,4rem)}
.section--ohne-oben{padding-top:0}
.section__inner{max-width:var(--breite);margin-inline:auto;padding-inline:1.25rem}
.section__inner--inhalt{max-width:var(--breite-inhalt)}
.section__inner--schmal{max-width:var(--breite-schmal)}
.lead{font-size:1.2rem;color:var(--text-leise);max-width:60ch}

/* Fliesstext-Bausteine aus den alten Seiten */
.inhalt > * + h2,.inhalt > * + h3{margin-top:1.6em}
.fett{font-weight:700}
.inhaltsbild{margin:0 0 1.5rem}
.inhaltsbild img{width:100%;border-radius:var(--radius)}
.inhaltsbild figcaption{font-size:.9rem;color:var(--text-leise);margin-top:.4rem}
.zitat{margin:1.5rem 0;padding:1rem 1.25rem;background:var(--flaeche);border-radius:var(--radius);font-family:var(--schrift-titel);font-size:1.2rem}
.zitat p{margin:0}
.textliste{padding-left:1.25rem;margin:0 0 1em}
.zeile{display:grid;gap:1.5rem 2rem;margin-bottom:1.5rem}
@media (min-width:761px){
  .zeile--2{grid-template-columns:1fr 1fr}
  .zeile--3{grid-template-columns:repeat(3,1fr)}
  .zeile--4{grid-template-columns:repeat(4,1fr)}
}
.zeile__spalte > :last-child{margin-bottom:0}

/* Knoepfe */
.btn{display:inline-flex;align-items:center;gap:.45rem;background:var(--akzent);color:var(--akzent-text);border:1px solid var(--akzent);border-radius:var(--radius);padding:.65rem 1.15rem;font:inherit;font-weight:600;text-decoration:none;cursor:pointer;line-height:1.3}
.btn:hover{background:var(--akzent-dunkel);border-color:var(--akzent-dunkel);color:var(--akzent-text)}
.btn--zweitrangig{background:transparent;color:var(--akzent)}
.btn--zweitrangig:hover{background:var(--akzent);color:var(--akzent-text)}
.btn--klein{padding:.4rem .8rem;font-size:.9rem}
.aktionen{display:flex;flex-wrap:wrap;gap:.75rem;margin:0 0 1em}

/* Kopfbereich: Logo mittig, darunter die Menueleiste */
.site-header{position:relative;z-index:200;color:var(--akzent-text)}
.site-header__marke{background:var(--akzent-dunkel);display:flex;justify-content:center;padding:.9rem 1.25rem .7rem}
.brand{display:block}
.brand img{width:240px;height:auto}
.site-header__leiste{background:var(--akzent)}
.site-header__inner{display:flex;align-items:center;justify-content:center;min-height:3.25rem}
.main-nav__liste{display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem 1.75rem}
.main-nav a,.main-nav__knopf{color:var(--akzent-text);text-decoration:none;font-weight:700;font-size:.98rem;padding:.85rem 0;display:inline-flex;align-items:center;gap:.3rem;text-underline-offset:.45em;text-decoration-thickness:2px}
.main-nav__knopf{background:none;border:0;font-family:inherit;cursor:pointer}
.main-nav a[aria-current="page"],.main-nav__knopf.ist-aktiv,.main-nav a:hover,.main-nav__knopf:hover{text-decoration-line:underline}
.main-nav__knopf svg{transition:transform .2s}
.main-nav__knopf[aria-expanded="true"] svg{transform:rotate(180deg)}

/* Mega-Menue: volle Breite unter der Leiste, fuenf Gruppen nebeneinander */
.main-nav__punkt--mega{position:static}
.mega{position:absolute;left:0;right:0;top:100%;background:var(--grund);color:var(--text);border-top:1px solid var(--linie);box-shadow:0 18px 40px -18px rgba(0,0,0,.35)}
.mega[hidden]{display:none}
.mega__inner{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.5rem 2rem;padding-block:1.75rem 2rem}
.mega__titel{font-family:var(--schrift-titel);font-weight:700;font-size:1rem;color:var(--akzent);margin:0 0 .6rem;padding-bottom:.45rem;border-bottom:1px solid var(--linie)}
.mega ul li + li{margin-top:.15rem}
.main-nav .mega a{color:var(--text);font-weight:400;font-size:.95rem;padding:.25rem 0;display:inline-block;text-decoration-thickness:1px;text-underline-offset:.2em}
.main-nav .mega a:hover{color:var(--akzent)}
.main-nav .mega a[aria-current="page"]{color:var(--akzent);font-weight:700}

/* Handy */
.nav-toggle{display:none;align-items:center;gap:.5rem;background:none;border:1px solid rgba(255,255,255,.6);border-radius:var(--radius);color:var(--akzent-text);font:inherit;font-weight:700;padding:.45rem .8rem;cursor:pointer;margin-block:.45rem}
.nav-toggle__icon,.nav-toggle__icon::before,.nav-toggle__icon::after{content:"";display:block;position:relative;width:1.15rem;height:2px;background:currentColor}
.nav-toggle__icon::before{position:absolute;top:-6px}
.nav-toggle__icon::after{position:absolute;top:6px}
.mobile-nav{position:fixed;inset:0;z-index:500;background:var(--grund);color:var(--text);padding:4.5rem 1.25rem 2rem;overflow-y:auto}
.mobile-nav[hidden]{display:none}
.mobile-nav__close{position:absolute;top:.75rem;right:1rem;background:none;border:0;font-size:2.25rem;line-height:1;cursor:pointer;color:var(--text)}
.mobile-nav__haupt{display:block;padding:.8rem 0;border-bottom:1px solid var(--linie);color:var(--text);font-size:1.25rem;font-weight:700;text-decoration:none}
.mobile-nav__haupt[aria-current="page"]{color:var(--akzent)}
.mobile-nav__ueberschrift{font-size:1.25rem;font-weight:700;margin:0;padding:.8rem 0 .3rem}
.mobile-nav__gruppe{border-bottom:1px solid var(--linie)}
.mobile-nav__gruppe summary{cursor:pointer;padding:.7rem 0 .7rem .75rem;font-weight:600;list-style-position:inside}
.mobile-nav__gruppe ul{padding:0 0 .6rem 1.75rem}
.mobile-nav__gruppe a{display:block;padding:.45rem 0;color:var(--text);text-decoration:none}
.mobile-nav__gruppe a[aria-current="page"]{color:var(--akzent);font-weight:700}
@media (max-width:900px){
  .main-nav{display:none}
  .nav-toggle{display:inline-flex}
  .brand img{width:200px}
}

/* Startseite: Kopfbereich mit Gipfelfoto */
.hero{position:relative;color:#fff;overflow:hidden;background:#2b3445}
.hero__hintergrund img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:rgba(20,26,38,.55)}
.hero__inner{position:relative;z-index:1;display:grid;gap:2rem;align-items:center;padding-block:clamp(2.5rem,6vw,4.5rem)}
@media (min-width:761px){.hero__inner{grid-template-columns:1.6fr 1fr}}
.hero h1{font-size:clamp(1.9rem,3vw + 1rem,2.9rem);text-transform:uppercase;letter-spacing:.01em;margin-bottom:.8em}
.hero__text p{max-width:58ch}
.hero__text a{color:#fff}
.hero__karte{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);border-radius:var(--radius);padding:.9rem;max-width:20rem;justify-self:center;backdrop-filter:blur(4px)}
.hero__karte img{border-radius:calc(var(--radius) - 2px)}
.hero__karte .aktionen{justify-content:center;margin:.9rem 0 0}

/* Startseite: Einleitung mit Wasserzeichen und Vortragskarten */
.einleitung{text-align:center}
.wasserzeichen{font-family:var(--schrift-titel);font-weight:700;font-size:clamp(2.5rem,7vw,4.5rem);line-height:1;text-transform:uppercase;color:var(--flaeche);margin:0 0 -.55em;user-select:none}
.einleitung__titel{position:relative;font-size:clamp(1.15rem,1vw + 1rem,1.45rem)}
.einleitung__themen{font-size:.98rem}
.karten{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem}
@media (min-width:761px){.karten{grid-template-columns:repeat(4,minmax(0,1fr))}}
.karte{background:var(--flaeche);border-radius:var(--radius);padding:.9rem .9rem 1.1rem;display:flex;flex-direction:column;align-items:center;gap:.6rem}
.karte img{border-radius:calc(var(--radius) - 2px);aspect-ratio:3/2;object-fit:cover;width:100%}
.karte__titel{font-size:1.05rem;margin:0}

/* Galerien: Raster mit Grossansicht */
.galerie{display:grid;gap:.75rem;margin:1.5rem 0 2rem}
.galerie--1{grid-template-columns:1fr}
.galerie--2,.galerie--3,.galerie--4{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:761px){
  .galerie--3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .galerie--4{grid-template-columns:repeat(4,minmax(0,1fr))}
}
.galerie__link{display:block;border-radius:var(--radius);overflow:hidden}
.galerie__bild img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .3s}
.galerie__link:hover img{transform:scale(1.04)}
/* Plakate: ganzes Hochformat zeigen, auf dem Handy eins pro Zeile wie im Original */
.galerie--plakate{grid-template-columns:1fr;gap:1.25rem}
@media (min-width:600px){.galerie--plakate{grid-template-columns:repeat(3,minmax(0,1fr))}}
.galerie__bild--plakat img{aspect-ratio:auto;height:auto;object-fit:contain}
.galerie--plakate .galerie__link{border-radius:0}
.galerie--plakate .galerie__link:hover img{transform:scale(1.02)}

/* Karussell: seitlich wischen oder Pfeile, ohne automatisches Weiterlaufen */
.karussell{margin:1.5rem 0 2rem}
.karussell__spur{display:flex;gap:.75rem;overflow-x:auto;scroll-snap-type:x mandatory;margin:0;padding-bottom:.5rem;scrollbar-width:thin}
.karussell__item{flex:0 0 min(85%,22rem);scroll-snap-align:start}
.karussell__steuerung{display:flex;justify-content:center;gap:.75rem;margin-top:.75rem}
.karussell__knopf{width:2.75rem;height:2.75rem;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--akzent);background:var(--grund);color:var(--akzent);cursor:pointer}
.karussell__knopf:hover{background:var(--akzent);color:var(--akzent-text)}

/* Grossansicht (Lightbox) aus main.js */
.grossansicht{border:0;padding:0;max-width:100vw;max-height:100vh;width:100vw;height:100vh;background:rgba(10,12,16,.94);color:#fff}
.grossansicht::backdrop{background:rgba(10,12,16,.94)}
.grossansicht__bild{position:absolute;inset:3.5rem 4rem;display:flex;align-items:center;justify-content:center}
.grossansicht__bild img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.grossansicht__knopf{position:absolute;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);color:#fff;width:2.9rem;height:2.9rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.6rem;line-height:1}
.grossansicht__knopf:hover{background:rgba(255,255,255,.25)}
.grossansicht__zu{top:.75rem;right:.75rem}
.grossansicht__zurueck{left:.6rem;top:50%;transform:translateY(-50%)}
.grossansicht__weiter{right:.6rem;top:50%;transform:translateY(-50%)}
.grossansicht__zaehler{position:absolute;left:0;right:0;bottom:1rem;text-align:center;font-size:.9rem}
@media (max-width:600px){.grossansicht__bild{inset:3.5rem .5rem 3rem}.grossansicht__zurueck,.grossansicht__weiter{top:auto;bottom:.5rem;transform:none}}

/* Videos: Start nur ueber den Play-Knopf */
.video{margin:1.5rem 0 2rem}
.video video{width:100%;height:auto;display:block;border-radius:var(--radius);background:#000}

/* Fussbereich: drei Spalten, darunter Copyright und Rechtslinks */
.site-footer{background:var(--fuss);color:#fff;padding-block:2.75rem 1.5rem;font-size:.95rem}
.site-footer a{color:#fff}
.site-footer a:hover{color:#dde3ec}
.site-footer__spalten{display:grid;gap:2rem 3rem}
@media (min-width:761px){.site-footer__spalten{grid-template-columns:1.4fr 1fr 1fr}}
.site-footer .brand img{width:200px}
.site-footer__satz{margin:.75rem 0 1rem;opacity:.9}
.site-footer address{font-style:normal;line-height:1.75}
.site-footer__titel{font-size:1rem;margin:0 0 .75rem;color:#fff}
.site-footer__nav li + li{margin-top:.35rem}
.site-footer__zeile{display:flex;flex-wrap:wrap;gap:.75rem 2rem;justify-content:space-between;align-items:center;margin-top:2.25rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.2);font-size:.88rem}
.site-footer__zeile ul{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}
.site-footer__copy{margin:0;opacity:.85}

/* Danke-Seite und Fehlerseite: Foto, Text, Wege zum Weiterlesen */
.danke__block{display:grid;gap:1.5rem;align-items:center;margin-bottom:2.5rem}
@media (min-width:761px){.danke__block{grid-template-columns:160px 1fr}}
.danke__bild img{width:160px;aspect-ratio:1;object-fit:cover;border-radius:50%}
.danke__titel{font-size:1.25rem;margin:2.5rem 0 1rem;padding-top:1.5rem;border-top:1px solid var(--linie)}
.danke .karten{margin-top:0}
.danke__zurueck{margin-top:2rem}

/* Vortragsliste in Gruppen (Fehlerseite, Sitemap) */
.vortragsliste{display:grid;gap:1.5rem 2rem;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr))}
.vortragsliste h3{font-size:1rem;color:var(--akzent);margin:0 0 .5rem;padding-bottom:.4rem;border-bottom:1px solid var(--linie)}
.vortragsliste li + li{margin-top:.3rem}
.seitenliste{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}
.sitemap__maschine{margin-top:2.5rem;font-size:.92rem;color:var(--text-leise)}
/* Adressliste der gestalteten sitemap.xml: eine Adresse je Zeile */
.seitenliste--adressen{display:block;list-style:none;padding:0;margin:1.5rem 0;border-top:1px solid var(--linie)}
.seitenliste--adressen li{border-bottom:1px solid var(--linie);padding:.6rem 0;overflow-wrap:anywhere}

/* Formular */
.form{display:grid;gap:1rem;margin-top:.5rem}
.form__feld{display:grid;gap:.35rem}
.form__feld label{font-weight:600}
.form input[type="text"],.form input[type="email"],.form textarea{width:100%;font:inherit;color:var(--text);background:var(--grund);border:1px solid var(--text-leise);border-radius:var(--radius);padding:.7rem .8rem}
.form__feld--checkbox{grid-template-columns:auto 1fr;align-items:start;gap:.6rem}
.form__feld--checkbox input{width:1.2rem;height:1.2rem;margin-top:.2rem}
.form__feld--checkbox label{font-weight:400}
.form .btn{justify-self:start}
/* Honigtopf: aus dem Bild geschoben statt display:none, manche Bots
   ueberspringen versteckte Felder */
.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-hinweis{background:var(--fehler-flaeche);border:1px solid var(--fehler);color:var(--fehler);border-radius:var(--radius);padding:.8rem 1rem;margin-top:1rem;font-weight:600}

/* Fehlerseite */
.kennung{display:inline-block;font-size:.85rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--fehler);margin-bottom:.5rem}
.linkliste{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin-top:2rem}

/* Rechtstexte: lange Woerter und Adressen umbrechen */
.rechtstext{overflow-wrap:break-word}

/* Weniger Bewegung, wenn das System es verlangt */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
}
