*{
box-sizing:border-box;
margin:0;
padding:0;
}

:root{
--brand:#0b3d91;
--bg:#f4f6f8;
--text:#1f2937;
--card:#ffffff;
--soft:#f8fbff;
--border:#dbe7ff;
--shadow:0 8px 24px rgba(0,0,0,.06);
}

html{
scroll-behavior:smooth;
scroll-padding-top:145px;
}

body{
font-family:Arial,Helvetica,sans-serif;
background:var(--bg);
color:var(--text);
line-height:1.6;
-webkit-font-smoothing:antialiased;
overflow-x:hidden;
}

/* LINKS */

a{
text-decoration:none;
color:inherit;
}

/* IMAGES */

img{
max-width:100%;
height:auto;
display:block;
}

/* TOPBAR */

.topbar{
background:var(--brand);
color:#fff;
position:sticky;
top:0;
z-index:2000;
box-shadow:0 2px 10px rgba(0,0,0,.15);
}

.topbar-inner{
max-width:1280px;
margin:0 auto;
padding:10px 18px;
position:relative;
}

.logo-link{
display:inline-flex;
align-items:center;
}

.logo-link img{
height:150px;
}

/* DESKTOP TOPBAR LAYOUT */
@media (min-width:1181px){
  .topbar-inner{
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    column-gap:24px;
  }

  .logo-link{
    justify-self:start;
  }

  nav{
    display:flex;
    gap:10px;
    align-items:center;
    justify-self:center;
    flex-wrap:wrap;
    z-index:2001;
  }

  .topbar-actions{
    display:flex;
    align-items:center;
    gap:8px;
    justify-self:end;
  }
}

@media (min-width:901px) and (max-width:1180px){
  html{
    scroll-padding-top:190px;
  }

  .topbar-inner{
    display:grid;
    grid-template-columns:auto auto;
    grid-template-areas:
      "logo actions"
      "nav nav";
    align-items:center;
    row-gap:10px;
  }

  .logo-link{
    grid-area:logo;
  }

  .topbar-actions{
    grid-area:actions;
    display:flex;
    align-items:center;
    justify-self:end;
    gap:8px;
  }

  nav{
    grid-area:nav;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:8px;
    padding-top:2px;
  }
}

/* NAVIGATION */

nav a{
color:#fff;
font-weight:bold;
padding:8px 10px;
border-radius:8px;
transition:.2s;
white-space:nowrap;
font-size:15px;
}

nav a:hover,
nav a.active{
background:rgba(255,255,255,.14);
}

/* BURGER MENU */

.menu-toggle{
display:none;
font-size:30px;
cursor:pointer;
color:white;
line-height:1;
}

/* HERO */

/* HIER HERO-BILD (Z.B. RATHAUS) AUSTAUSCHEN */
.hero{
position:relative;
min-height:620px;
/* HINTERGRUNDBILD HIER ÄNDERN (DATEI IN /assets ABLEGEN) */
background-image:linear-gradient(rgba(7,25,59,.52),rgba(7,25,59,.6)),url("assets/austausch/hintergrundbild/rathaus-alpen.webp");
background-size:cover;
background-position:center;
background-repeat:no-repeat;
display:flex;
align-items:center;
z-index:1;
}

.hero-content{
max-width:1280px;
margin:0 auto;
padding:42px 22px;
color:#fff;
width:100%;
position:relative;
z-index:2;
}

.kicker{
display:inline-block;
letter-spacing:.14em;
font-size:13px;
font-weight:bold;
text-transform:uppercase;
background:rgba(255,255,255,.12);
padding:8px 12px;
border-radius:999px;
margin-bottom:18px;
}

.hero h1{
font-size:64px;
line-height:1.05;
margin-bottom:18px;
max-width:700px;
text-wrap:balance;
}

.hero p{
font-size:22px;
max-width:700px;
margin-bottom:26px;
}

.hero-buttons{
display:flex;
gap:14px;
flex-wrap:wrap;
position:relative;
z-index:5;
}

/* BUTTONS */

.button-primary,
.button-secondary,
.member-button{
display:inline-block;
background:var(--brand);
color:#fff;
padding:14px 22px;
border-radius:12px;
font-weight:bold;
border:2px solid var(--brand);
transition:.2s;
text-align:center;
}

.button-primary:hover,
.button-secondary:hover,
.member-button:hover{
transform:translateY(-2px) scale(1.05);
box-shadow:0 6px 14px rgba(0,0,0,0.15);
}

/* CONTAINER */

.container{
max-width:1200px;
margin:0 auto;
padding:48px 18px 64px;
}

/* SECTIONS */

section{
background:var(--card);
border-radius:18px;
padding:36px 28px;
margin-bottom:28px;
box-shadow:var(--shadow);
}

h2{
color:var(--brand);
font-size:30px;
margin-bottom:10px;
text-wrap:balance;
}

h3{
color:var(--brand);
margin-bottom:10px;
text-wrap:balance;
}

p + p{
margin-top:12px;
}

/* INTRO GRID */

.intro-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:28px;
align-items:center;
}

.hall-image{
width:100%;
border-radius:14px;
box-shadow:0 6px 18px rgba(0,0,0,.12);
}

.badge-list{
margin-top:18px;
padding-left:20px;
}

.badge-list li + li{
margin-top:8px;
}

/* BOXEN */

.fraktion-box,
.termine-box{
background:var(--soft);
border-left:6px solid var(--brand);
padding:24px;
border-radius:12px;
}

/* MITGLIEDER */

.members{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
gap:20px;
}

.member-card{
background:#f8fafc;
border:1px solid #e5e7eb;
border-top:5px solid var(--brand);
border-radius:16px;
padding:22px 18px;
text-align:center;
transition:0.2s;
height:100%;
display:flex;
flex-direction:column;
}

.member-card:hover{
transform:translateY(-4px);
box-shadow:0 12px 26px rgba(0,0,0,0.12);
}

.member-card img{
width:150px;
height:150px;
border-radius:50%;
object-fit:cover;
margin:0 auto 14px;
border:4px solid #dbe7ff;
background:#fff;
}

.member-role{
font-weight:bold;
color:#374151;
margin-bottom:8px;
}

.committee-mini{
margin-top:10px;
font-size:15px;
}

.member-card .member-button{
width:100%;
margin-top:10px;
}

/* THEMEN */

.theme-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
gap:18px;
}

.theme-card{
background:var(--soft);
border:1px solid var(--border);
border-radius:16px;
padding:20px;
height:100%;
}

.theme-card h3{
font-size:20px;
}

/* NEWS */

.news-list{
display:grid;
gap:16px;
}

.news-item{
background:var(--soft);
border-left:5px solid var(--brand);
padding:18px;
border-radius:12px;
}

/* KONTAKT */

.contact-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:24px;
align-items:start;
}

.map-frame{
width:100%;
height:340px;
border:0;
border-radius:14px;
}

/* PROFILE */

.profile-hero{
background:#fff;
border-radius:18px;
padding:28px 24px;
box-shadow:var(--shadow);
margin:28px auto;
}

.profile-grid{
display:grid;
grid-template-columns:320px minmax(0,1fr);
gap:26px;
align-items:start;
}

.profile-photo{
width:100%;
max-width:320px;
border-radius:18px;
border:5px solid #dbe7ff;
}

.profile-meta{
background:var(--soft);
border-radius:14px;
padding:18px;
}

.back-link{
display:inline-block;
margin-bottom:16px;
color:var(--brand);
font-weight:bold;
}

/* PRESS */
.press-section{
background:#fff;
border-radius:18px;
padding:36px 28px;
margin-bottom:28px;
box-shadow:var(--shadow);
}

.press-cards{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
gap:24px;
margin-top:32px;
}

/* ===== PREMIUM PRESS CARDS ===== */
.press-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:100%;
  background:#ffffff;
  border-radius:16px;
  overflow:hidden;
  border:1px solid #dbe7ff;
  border-top:5px solid var(--brand);
  box-shadow:0 12px 26px rgba(0,0,0,0.10);
  transition:transform .30s ease, box-shadow .30s ease, border-color .30s ease;
}

.press-card img{
  width:100%;
  height:210px;
  object-fit:cover;
  transition:transform .35s ease, filter .35s ease;
}

.press-card h3{
  padding:18px 18px 8px 18px;
  flex-grow:1;
  text-align:left;
  line-height:1.35;
}

.press-card .button-primary{
  margin:0 18px 18px 18px;
  align-self:stretch;
  text-align:center;
}

.press-card:hover{
  transform:translateY(-8px);
  box-shadow:0 20px 38px rgba(0,0,0,0.18);
  border-color:#9bb8ef;
}

.press-card:hover img{
  transform:scale(1.08);
  filter:brightness(1.03);
}

.press-card::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:205px;
  height:3px;
  background:linear-gradient(90deg, rgba(11,61,145,0.0), rgba(11,61,145,0.65), rgba(11,61,145,0.0));
  opacity:0;
  transition:opacity .30s ease;
  pointer-events:none;
}

.press-card:hover::after{
  opacity:1;
}

@media (max-width:700px){
  .press-card img{
    height:185px;
  }
  .press-card h3{
    padding:16px 16px 8px 16px;
  }
  .press-card .button-primary{
    margin:0 16px 16px 16px;
  }
}

/* IMPRESSUM */

.impressum-container{
display:grid;
grid-template-columns:minmax(0,1fr) auto;
gap:36px;
align-items:start;
}

.impressum-text{
border-right:1px solid #e5e7eb;
padding-right:36px;
max-width:600px;
}

.impressum-button{
display:flex;
justify-content:flex-end;
align-items:center;
}

/* BÜRGERSPRECHSTUNDE */

.sprechstunde-grid{
display:grid;
grid-template-columns:minmax(0,1fr) auto;
gap:32px;
align-items:center;
}

.sprechstunde-text ul{
margin-top:10px;
padding-left:18px;
}

.sprechstunde-button{
display:flex;
align-items:center;
}

/* FOOTER */

footer{
background:#1f2937;
color:#fff;
text-align:center;
padding:26px 18px;
}

/* LARGE TABLET / SMALL DESKTOP */

@media (max-width:1100px){
  .hero h1{
    font-size:54px;
  }

  .hero p{
    font-size:20px;
  }

  section,
  .press-section{
    padding:32px 24px;
  }
}

@media (max-width:980px){
  .intro-grid,
  .contact-grid,
  .profile-grid,
  .impressum-container,
  .sprechstunde-grid{
    grid-template-columns:1fr;
  }

  .impressum-text{
    border-right:none;
    padding-right:0;
    max-width:none;
  }

  .impressum-button,
  .sprechstunde-button{
    justify-content:flex-start;
  }

  /* HIER HERO-BILD (Z.B. RATHAUS) AUSTAUSCHEN */
.hero{
    min-height:560px;
  }
}

/* MOBILE FIX FORMULARSEITEN */

@media (max-width:900px){

.formbox{
width:95%;
padding:25px;
}

.headerbox{
flex-direction:column;
align-items:center;
text-align:center;
gap:15px;
}

.form-logo{
width:160px;
}

.contact-info{
font-size:14px;
line-height:1.4;
text-align:center;
}

h2{
font-size:26px;
}

.subtitle{
font-size:20px;
}

input,
select,
textarea{
font-size:16px;
}

.form-buttons{
flex-direction:column;
gap:15px;
}

button{
width:100%;
}

.back{
text-align:center;
}

}

/* MOBILE / TABLET NAV */

@media (max-width:700px){

html{
scroll-padding-top:90px;
}

.logo-link img{
height:70px;
}

.topbar-inner{
display:flex;
align-items:center;
justify-content:space-between;
}

.menu-toggle{
display:block;
margin-left:0;
}

nav{
  position:absolute;
  top:100%;
  left:0;
  width:100%;
  background:var(--brand);
  flex-direction:column;
  padding:0;
  z-index:2001;

  max-height:0;
  overflow:hidden;
  transition:max-height 0.3s ease;
  box-shadow:none;
}

nav.active{
  max-height:500px;
}

nav a{
width:100%;
text-align:center;
padding:12px;
font-size:18px;
}

/* HIER HERO-BILD (Z.B. RATHAUS) AUSTAUSCHEN */
.hero{
min-height:460px;
}

.hero h1{
font-size:38px;
}

.hero p{
font-size:18px;
}

section,
.profile-hero,
.press-section{
padding:26px 18px;
}

.container{
padding:24px 12px 44px;
}

.hero-buttons{
flex-direction:column;
align-items:stretch;
max-width:460px;
}

.button-primary,
.button-secondary{
width:100%;
text-align:center;
}

.map-frame{
height:280px;
}

.member-card{
padding:18px 16px;
}

}

/* VERY SMALL */

@media (max-width:480px){

.hero h1{
font-size:30px;
}

.hero p{
font-size:16px;
}

.contact-info{
font-size:13px;
line-height:1.4;
max-width:160px;
}

.headerbox{
align-items:center;
}

.form-logo{
width:140px;
}

section,
.profile-hero,
.press-section{
  border-radius:16px;
}

}

/* NAV MUSIC BUTTON FINAL */

.topbar-actions{
display:flex;
align-items:center;
gap:8px;
justify-self:end;
}

.nav-music-box{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
width:48px;
}

.nav-music-button{
background:transparent;
border:none;
padding:0;
cursor:pointer;
width:48px;
display:flex;
align-items:center;
justify-content:center;
position:relative;
overflow:visible;
}

.nav-music-button img{
width:100%;
height:auto;
display:block;
}

.nav-music-hint{
margin-top:2px;
font-size:10px;
line-height:1;
color:#ffffff;
text-shadow:0 1px 4px rgba(0,0,0,.45);
white-space:nowrap;
text-align:center;
}

/* PLAY / PAUSE BADGE */

.nav-music-button::after{
content:"▶";
position:absolute;
right:-14px;
bottom:-6px;
width:14px;
height:14px;
border-radius:50%;
background:rgba(11,61,145,0.95);
color:#fff;
font-size:9px;
line-height:14px;
text-align:center;
box-shadow:0 1px 4px rgba(0,0,0,.35);
}

.nav-music-button.playing::after{
content:"❚❚";
font-size:8px;
}

/* LIVE ANIMATION */

.nav-music-button.playing img{
animation:musicLive 1.2s infinite ease-in-out;
}

@keyframes musicLive{
0%{transform:scale(1);}
50%{transform:scale(1.08);}
100%{transform:scale(1);}
}

/* FIRST VISIT BLINK */

.pulse,
.pulse + .nav-music-hint{
animation:navPulse 1.4s infinite;
}

@keyframes navPulse{
0%{transform:scale(1); opacity:1;}
50%{transform:scale(1.25); opacity:0.3;}
100%{transform:scale(1); opacity:1;}
}

.nav-music-button.playing + .nav-music-hint{
animation:none;
opacity:1;
}

@media (max-width:700px){
.topbar-actions{
position:static;
}

.nav-music-box{
position:absolute;
left:78%;
top:50%;
transform:translate(-50%,-50%);
width:34px;
margin-left:0;
}

.nav-music-button{
width:34px;
}

.nav-music-hint{
font-size:7px;
}

.nav-music-button::after{
right:-12px;
bottom:-6px;
width:12px;
height:12px;
line-height:12px;
font-size:8px;
}
}

/* HOVER VERSION 2 (MODERN MIT UNTERSTRICH) */
@media (min-width:901px){
  nav a{
    position:relative;
    transition:all .210s ease;
  }

  nav a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:4px;
    width:0%;
    height:2px;
    background:#ffffff;
    transition:width .210s ease;
  }

  nav a:hover{
    transform:translateY(-2px) scale(1.05);
    background:rgba(255,255,255,.18);
  }

  nav a:hover::after{
    width:100%;
  }
}

/* LOGO INTRO VERSION A (LANGSAM + WEITER AUS DER ECKE) */
.logo-link img{
  opacity:0;
  transform:translate(-180px, -120px) scale(0.35);
  animation:logoIntroCornerSlow 2.2s cubic-bezier(.22,.61,.36,1) forwards;
  will-change: transform, opacity;
}

@keyframes logoIntroCornerSlow{
  0%{
    opacity:0;
    transform:translate(-180px, -120px) scale(0.35);
  }
  60%{
    opacity:1;
    transform:translate(6px, 3px) scale(1.04);
  }
  100%{
    opacity:1;
    transform:translate(0, 0) scale(1);
  }
}

/* MUSIKBUTTON INTRO NACH DEM LOGO (VON RECHTS EINSCHWENKEND) */
@media (min-width:901px){
  .nav-music-box{
    opacity:0;
    transform:translate(180px, -120px) scale(0.35);
    animation:musicIntroCorner 2.2s cubic-bezier(.22,.61,.36,1) forwards;
    animation-delay:0s;
    will-change:transform, opacity;
  }
}

@keyframes musicIntroCorner{
  0%{
    opacity:0;
    transform:translate(180px, -120px) scale(0.35);
  }
  60%{
    opacity:1;
    transform:translate(-6px, 3px) scale(1.04);
  }
  100%{
    opacity:1;
    transform:translate(0, 0) scale(1);
  }
}

@media (max-width:900px){
  .nav-music-box{
    opacity:0;
    transform:translate(120px, -50%) scale(0.35);
    animation:musicIntroMobile 2.2s cubic-bezier(.22,.61,.36,1) forwards;
    animation-delay:0s;
    will-change:transform, opacity;
  }
}

@keyframes musicIntroMobile{
  0%{
    opacity:0;
    transform:translate(120px, -50%) scale(0.35);
  }
  60%{
    opacity:1;
    transform:translate(-54%, -50%) scale(1.04);
  }
  100%{
    opacity:1;
    transform:translate(-50%, -50%) scale(1);
  }
}

/* FIX: SMALL DESKTOP / LARGE TABLET KEEP NORMAL TOP NAV */
@media (min-width:701px) and (max-width:1040px){
  html{
    scroll-padding-top:160px;
  }

  .topbar-inner{
    display:grid;
    grid-template-columns:auto auto;
    grid-template-areas:
      "logo actions"
      "nav nav";
    align-items:center;
    row-gap:8px;
  }

  .logo-link{
    grid-area:logo;
  }

  .logo-link img{
    height:88px;
  }

  .topbar-actions{
    grid-area:actions;
    display:flex;
    align-items:center;
    justify-self:end;
    gap:8px;
  }

  nav{
    grid-area:nav;
    display:flex !important;
    flex-wrap:wrap;
    justify-content:center;
    gap:6px;
    padding-top:2px;
    position:static;
    width:auto;
    background:transparent;
    box-shadow:none;
  }

  nav a{
    width:auto;
    text-align:center;
    padding:7px 8px;
    font-size:13px;
  }

  .menu-toggle{
    display:none !important;
  }

  .nav-music-box{
    width:42px;
  }

  .nav-music-button{
    width:42px;
  }

  .nav-music-hint{
    font-size:9px;
  }

  .nav-music-button::after{
    right:-12px;
    bottom:-6px;
  }
}

/* FIX: SMALLER DESKTOP HERO BEFORE MOBILE SWITCH */
@media (max-width:1040px){
  /* HIER HERO-BILD (Z.B. RATHAUS) AUSTAUSCHEN */
.hero{
    min-height:500px;
    background-position:center center;
  }

  .hero h1{
    font-size:48px;
    max-width:620px;
  }

  .hero p{
    font-size:19px;
    max-width:620px;
  }
}

/* BUTTON HOVER FIX: NAV-LIKE EFFECT WITHOUT WASHING OUT THE BUTTON */
.button-primary,
.button-secondary,
.member-button{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}

.button-primary::before,
.button-secondary::before,
.member-button::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(255,255,255,.18);
  opacity:0;
  transition:opacity .210s ease;
  border-radius:inherit;
  z-index:0;
  pointer-events:none;
}

.button-primary::after,
.button-secondary::after,
.member-button::after{
  content:"";
  position:absolute;
  left:0;
  bottom:4px;
  width:0%;
  height:2px;
  background:#ffffff;
  transition:width .210s ease;
  z-index:1;
  pointer-events:none;
}

.button-primary:hover::before,
.button-secondary:hover::before,
.member-button:hover::before{
  opacity:1;
}

.button-primary:hover::after,
.button-secondary:hover::after,
.member-button:hover::after{
  width:100%;
}

.button-primary,
.button-secondary,
.member-button,
.button-primary span,
.button-secondary span,
.member-button span{
  z-index:2;
}

/* BUTTON CLICK EFFECT */
.button-primary:active,
.button-secondary:active,
.member-button:active{
  transform:scale(0.96);
  box-shadow:0 2px 6px rgba(0,0,0,0.2);
}

/* HERO TEXT GLOW */
.hero h1{
  text-shadow:0 6px 18px rgba(0,0,0,0.35);
}

/* ===== PREMIUM PRESS CARDS ===== */
.press-card{
  position:relative;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 10px 22px rgba(0,0,0,0.12);
  transition:transform .28s ease, box-shadow .28s ease;
  display:flex;
  flex-direction:column;
  background:#fff;
}

.press-card img{
  width:100%;
  height:200px;
  object-fit:cover;
  transition:transform .35s ease;
}

.press-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom, rgba(0,0,0,0) 40%, rgba(0,0,0,0.45));
  opacity:0;
  transition:opacity .3s ease;
  pointer-events:none;
}

.press-card:hover{
  transform:translateY(-6px) scale(1.02);
  box-shadow:0 18px 36px rgba(0,0,0,0.2);
}

.press-card:hover img{
  transform:scale(1.08);
}

.press-card:hover::before{
  opacity:1;
}

.press-card h3{
  padding:16px 16px 6px 16px;
}

.press-card .button-primary{
  margin:14px 16px 18px 16px;
  margin-top:auto;
  align-self:center;
}

/* optional: nicer spacing on mobile */
@media (max-width:700px){
  .press-card img{
    height:180px;
  }
}

/* ===== AKTUELLES PREMIUM ===== */
.aktuelles-hero{
  position:relative;
  overflow:hidden;
}

.aktuelles-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0.0), rgba(0,0,0,0.12));
  pointer-events:none;
}

.aktuelles-hero h1{
  text-shadow:0 8px 24px rgba(0,0,0,0.28);
}

.aktuelles-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:24px;
}

.aktuell-card{
  position:relative;
  background:#ffffff;
  border:1px solid #dbe7ff;
  border-top:5px solid var(--brand);
  border-radius:18px;
  padding:24px;
  box-shadow:0 12px 26px rgba(0,0,0,0.10);
  display:flex;
  flex-direction:column;
  gap:14px;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
  overflow:hidden;
}

.aktuell-card::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:100%;
  background:linear-gradient(180deg, rgba(11,61,145,0.00), rgba(11,61,145,0.04));
  opacity:0;
  transition:opacity .28s ease;
  pointer-events:none;
}

.aktuell-card:hover{
  transform:translateY(-8px);
  box-shadow:0 20px 38px rgba(0,0,0,0.18);
  border-color:#9bb8ef;
}

.aktuell-card:hover::before{
  opacity:1;
}

.aktuell-card h2{
  font-size:1.35rem;
  margin:0;
  line-height:1.3;
}

.aktuell-card p{
  margin:0;
  color:#334155;
  line-height:1.7;
  flex-grow:1;
}

.aktuell-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  font-size:0.92rem;
  color:#475569;
}

.aktuell-badge{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:#eef4ff;
  color:#0b3d91;
  font-weight:700;
  border:1px solid rgba(11,61,145,0.10);
}

.aktuell-actions{
  margin-top:auto;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.aktuell-actions .button-primary{
  width:100%;
  text-align:center;
}

.empty-box{
  background:#fff;
  border:1px solid #dbe7ff;
  border-top:5px solid var(--brand);
  border-radius:18px;
  padding:34px 30px;
  box-shadow:0 12px 26px rgba(0,0,0,0.10);
  text-align:center;
}

.back-row{
  margin-top:34px;
  text-align:center;
}

@media (max-width:700px){
  .aktuelles-wrap{
    padding:34px 14px 54px;
  }

  .aktuell-card{
    padding:20px;
    border-radius:16px;
  }

  .empty-box{
    padding:26px 18px;
    border-radius:16px;
  }
}

/* CLEAN SIMPLE PDF PREVIEW */
.press-card canvas{
  width:100%;
  height:180px;
  object-fit:cover;
}

.press-card:hover canvas{
  transform:none;
}

/* SHARP PDF FIX */
.press-card canvas{
  width:100%;
  height:auto;
  image-rendering: crisp-edges;
}

.press-card:hover canvas{
  transform:none;
}

.menu-toggle{background:none;border:none;box-shadow:none;}

@media (max-width:700px){
nav{
position:absolute !important;
top:100%;
left:0;
width:100%;
background:#0b3d91;
display:flex !important;
flex-direction:column;
max-height:0;
overflow:hidden;
transition:max-height 0.3s ease;
z-index:3000;
}

nav.active{
max-height:500px;
}

.menu-toggle{
display:block;
background:none !important;
border:none !important;
box-shadow:none !important;
font-size:28px;
}

.topbar-inner{
position:relative;
}

.nav-music-box{
position:static !important;
}
}

/* ===== FINAL TICKER FIX ===== */
.ticker{
  position: sticky;
  top: 140px;
  z-index: 1900;
}

@media (max-width:700px){
  .ticker{
    top: 80px;
  }
}

/* ===== MEMBER CARD FINAL FIX ===== */
.members{
  align-items:stretch;
}

.member-card{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  height:100%;
}

.

/* ===== MEMBER CARD CLEAN FIX ===== */
.member-card{
  display:flex;
  flex-direction:column;
  height:100%;
}

.member-card p{
  min-height:80px;
}

.committee-mini{
  min-height:40px;
}

.member-card .member-button{
  margin-top:10px;
}

/* ===== WEITERE AFD-SEITEN ===== */
.subpage-hero.afd-links-hero{
  background:linear-gradient(rgba(7,25,59,.72),rgba(7,25,59,.76)),url("assets/afd-links/rathaus-kamp-lintfort.webp");
  background-size:cover;
  background-position:center;
  color:#fff;
  padding:110px 0 90px;
  text-align:center;
}

.afd-links-hero .kicker{
  color:#d9ecff;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:12px;
}

.afd-links-hero h1{
  font-size:clamp(36px,6vw,68px);
  line-height:1.05;
  margin-bottom:18px;
}

.afd-links-hero p{
  max-width:760px;
  margin:0 auto;
  font-size:20px;
}

.afd-links-page{
  padding-top:55px;
  padding-bottom:80px;
}

.section-intro{
  max-width:820px;
  margin:8px 0 28px;
}

.afd-link-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:24px;
  align-items:stretch;
}

.afd-link-card{
  position:relative;
  min-height:260px;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 14px 36px rgba(7,25,59,.18);
  border:1px solid rgba(255,255,255,.35);
}

.afd-link-card-kamp-lintfort{
  background-image:url("assets/afd-links/rathaus-kamp-lintfort.webp");
  background-size:cover;
  background-position:center;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  transition:transform .22s ease, box-shadow .22s ease;
}

.afd-link-card-kamp-lintfort:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 42px rgba(7,25,59,.26);
}

.afd-link-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(rgba(7,25,59,.54),rgba(7,25,59,.78));
}

.afd-link-content{
  position:relative;
  z-index:1;
  width:100%;
  padding:28px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:18px;
  text-align:center;
}

.afd-link-logo{
  max-width:min(420px,88%);
  max-height:145px;
  object-fit:contain;
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.55));
}

.afd-link-text{
  display:flex;
  flex-direction:column;
  gap:8px;
  align-items:center;
}

.afd-link-text strong{
  font-size:24px;
  line-height:1.2;
  text-shadow:0 3px 10px rgba(0,0,0,.65);
}

.afd-link-text span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 18px;
  border-radius:999px;
  background:#0b3d91;
  color:#fff;
  font-weight:700;
  box-shadow:0 6px 18px rgba(0,0,0,.28);
}

.afd-link-placeholder{
  background:#fff;
  border:2px dashed #c7d7f2;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
  text-align:center;
  color:#1f2937;
}

.afd-link-placeholder strong,
.afd-link-placeholder span{
  display:block;
}

.afd-link-placeholder strong{
  color:#0b3d91;
  font-size:24px;
  margin-bottom:10px;
}

@media (max-width:700px){
  .subpage-hero.afd-links-hero{
    padding:75px 0 60px;
  }

  .afd-link-card{
    min-height:230px;
  }

  .afd-link-logo{
    max-height:115px;
  }
}

/* ===== ALPEN FINALKORREKTUR 08.06.2026 ===== */
@media (min-width:1181px){
  .topbar-inner{max-width:1500px; column-gap:28px;}
  .logo-link img{height:155px; width:auto; max-width:none;}
  nav{gap:8px;}
  nav a{font-size:15px; padding:8px 9px;}
}
@media (min-width:901px) and (max-width:1180px){
  .logo-link img{height:130px; width:auto; max-width:none;}
}
@media (max-width:900px){
  .logo-link img{height:92px; width:auto; max-width:none;}
}
.ticker{
  position:sticky !important;
  top:150px;
  z-index:1995;
  background:#0b3d91;
  color:#fff;
  overflow:hidden;
  white-space:nowrap;
  height:50px;
  display:flex;
  align-items:center;
}
.ticker-track{
  display:inline-block;
  padding-left:100%;
  font-weight:700;
  white-space:nowrap;
  animation:tickerMove 45s linear infinite;
}
@keyframes tickerMove{0%{transform:translateX(0);}100%{transform:translateX(-100%);}}

.afd-link-card-kreisverband{background-image:linear-gradient(rgba(5,20,55,.52),rgba(5,20,55,.72)),url('assets/afd-links/bg-kreisverband-wesel.png');background-size:cover;background-position:center;}
.afd-link-card-dinslaken{background-image:linear-gradient(rgba(5,20,55,.52),rgba(5,20,55,.72)),url('assets/afd-links/bg-dinslaken.webp');background-size:cover;background-position:center;}
.afd-link-card-hamminkeln{background-image:linear-gradient(rgba(5,20,55,.52),rgba(5,20,55,.72)),url('assets/afd-links/bg-hamminkeln.webp');background-size:cover;background-position:center;}

/* ===== ALPEN KORREKTUR 3: Blaue Unterseiten-Hintergründe ohne Rathaus ===== */
.anfragen-hero,
.subpage-hero.afd-links-hero{
  background:linear-gradient(135deg, #0b3d91 0%, #123f7c 48%, #061b44 100%) !important;
  background-image:linear-gradient(135deg, #0b3d91 0%, #123f7c 48%, #061b44 100%) !important;
  background-size:cover !important;
  background-position:center !important;
}
.anfragen-hero::before,
.subpage-hero.afd-links-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 20% 20%, rgba(255,255,255,.14), transparent 32%), radial-gradient(circle at 80% 70%, rgba(0,162,224,.16), transparent 34%);
  pointer-events:none;
}
.anfragen-hero .hero-content,
.subpage-hero.afd-links-hero > *{
  position:relative;
  z-index:1;
}

/* ===== ALPEN KORREKTUR 5: Profil-Facebook einheitlich, keine Extra-Facebook-Buttons auf Startkarten ===== */
.profile-action-row{margin:14px 0 16px; display:flex; gap:12px; flex-wrap:wrap;}
.afd-link-card{
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  transition:transform .22s ease, box-shadow .22s ease, filter .22s ease;
}
.afd-link-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 42px rgba(7,25,59,.26);
  filter:brightness(1.04);
}
.afd-link-card-kreisverband{
  background-image:url('assets/afd-links/bg-kreisverband-wesel.png') !important;
}
.afd-link-card-dinslaken{
  background-image:url('assets/afd-links/bg-dinslaken.webp') !important;
}
.afd-link-card-hamminkeln{
  background-image:url('assets/afd-links/bg-hamminkeln.webp') !important;
}
.afd-link-card-kamp-lintfort{
  background-image:url('assets/afd-links/rathaus-kamp-lintfort.webp') !important;
}
.afd-link-overlay{
  background:linear-gradient(rgba(7,25,59,.28),rgba(7,25,59,.48)) !important;
}
.afd-link-text span{
  transition:transform .22s ease, background .22s ease;
}
.afd-link-card:hover .afd-link-text span{
  transform:translateY(-2px);
  background:#00a2e0;
}

/* ===== ALPEN FINAL: Unterseiten-Hintergrund wie Presse/Aktuelles ===== */
.anfragen-hero,
.subpage-hero.afd-links-hero{
  background:linear-gradient(135deg, rgba(11,61,145,0.95), rgba(31,78,140,0.90)), url('assets/austausch/hintergrundbild/rathaus-alpen.webp') center/cover no-repeat !important;
  color:#fff;
}
.anfragen-hero::before,
.subpage-hero.afd-links-hero::before{
  content:none !important;
  display:none !important;
}
.anfragen-hero .hero-content,
.subpage-hero.afd-links-hero > *{
  position:relative;
  z-index:1;
}

/* ===== ALPEN-KORREKTUR: Blauton nach fertiger Kamp-Lintfort-Seite ===== */
/* Kamp-Lintfort ist hier die Vorlage. Alpen bekommt denselben dunkleren Blauton. */

.aktuelles-hero,
.presse-hero,
.anfragen-hero,
.hero.anfragen-hero,
.antraege-hero,
.archive-hero,
.subpage-hero.afd-links-hero{
  min-height:620px !important;
  background:linear-gradient(rgba(7,25,59,.72),rgba(7,25,59,.82)),url("assets/austausch/hintergrundbild/rathaus-alpen.webp") center/cover no-repeat !important;
  background-image:linear-gradient(rgba(7,25,59,.72),rgba(7,25,59,.82)),url("assets/austausch/hintergrundbild/rathaus-alpen.webp") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  color:#fff !important;
}

.aktuelles-hero > *,
.presse-hero > *,
.anfragen-hero > *,
.hero.anfragen-hero > *,
.antraege-hero > *,
.archive-hero > *,
.subpage-hero.afd-links-hero > *{
  position:relative !important;
  z-index:1 !important;
}

.subpage-hero.afd-links-hero{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  padding:110px 0 120px !important;
}

.aktuelles-hero,
.presse-hero{
  padding-top:110px !important;
  padding-bottom:120px !important;
}

.hero.anfragen-hero,
.anfragen-hero{
  display:flex !important;
  align-items:center !important;
}

/* Linkkarten-Overlay wie auf der fertigen Kamp-Lintfort-Seite */
.afd-link-overlay{
  background:linear-gradient(rgba(7,25,59,.34),rgba(7,25,59,.62)) !important;
}

.afd-link-card-kreisverband{
  background-image:url("assets/afd-links/bg-kreisverband-wesel.png") !important;
  background-size:cover !important;
  background-position:center !important;
}

.afd-link-card-kamp-lintfort{
  background-image:url("assets/afd-links/rathaus-kamp-lintfort.webp") !important;
  background-size:cover !important;
  background-position:center !important;
}

.afd-link-card-dinslaken{
  background-image:url("assets/afd-links/bg-dinslaken.webp") !important;
  background-size:cover !important;
  background-position:center !important;
}

.afd-link-card-hamminkeln{
  background-image:url("assets/afd-links/bg-hamminkeln.webp") !important;
  background-size:cover !important;
  background-position:center !important;
}

@media (max-width:980px){
  .aktuelles-hero,
  .presse-hero,
  .anfragen-hero,
  .hero.anfragen-hero,
  .antraege-hero,
  .archive-hero,
  .subpage-hero.afd-links-hero{
    min-height:460px !important;
  }
}

@media (max-width:700px){
  .aktuelles-hero,
  .presse-hero,
  .anfragen-hero,
  .hero.anfragen-hero,
  .antraege-hero,
  .archive-hero,
  .subpage-hero.afd-links-hero{
    min-height:360px !important;
  }

  .subpage-hero.afd-links-hero{
    padding:70px 0 78px !important;
  }
}

/* ===== ALPEN FIX: Dokument-Kachelbilder auf Startseite ===== */
.press-cards-preview .press-card img{
  width:100%;
  height:210px;
  object-fit:cover;
  display:block;
  background:#eef4ff;
}

.press-cards-preview .press-card{
  overflow:hidden;
}

.press-preview-placeholder{
  min-height:210px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:linear-gradient(180deg,#ffffff 0%,#eef4ff 100%);
  color:var(--brand);
  font-weight:800;
  text-align:center;
}

/* ===== ALPEN FIX: echte PDF-Vorschau in Dokument-Kacheln ===== */
.document-preview-frame{
  width:100%;
  height:210px;
  position:relative;
  overflow:hidden;
  background:#eef4ff;
  border-bottom:1px solid #dbe7ff;
}

.document-preview-frame canvas,
.document-preview-frame img{
  width:100%;
  height:210px;
  display:block;
  object-fit:cover;
  background:#eef4ff;
}

.pdf-preview-canvas{
  opacity:0;
  transition:opacity .25s ease;
}

.pdf-preview-canvas.is-rendered{
  opacity:1;
}

.pdf-preview-fallback{
  position:absolute;
  inset:0;
  z-index:1;
}

.pdf-preview-canvas.is-rendered + .pdf-preview-fallback{
  display:none;
}

.press-cards-preview .press-card img,
.press-cards-preview .document-preview-frame{
  width:100%;
  height:210px;
  object-fit:cover;
}

/* ===== WEITERE AFD-SEITEN – HINTERGRUNDBILD-KARTEN FINAL ===== */
/* Alpen-Seite: alle Kommunen im Kreis Wesel vorbereitet, ohne eigene Alpen-Karte */
.afd-links-background-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
  margin:28px 0 34px;
  align-items:stretch;
}

.afd-links-background-grid .afd-link-card{
  position:relative;
  min-height:300px;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 14px 36px rgba(7,25,59,.18);
  border:2px solid rgba(11,61,145,.38);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background-color:#0b3d91;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.afd-links-background-grid .afd-link-card:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 42px rgba(7,25,59,.26);
  border-color:#0b3d91;
}

/* Für fehlende Rathaus-/Stadtbilder wird der Kreisverband-Hintergrund als Ersatz genutzt. */

.afd-links-background-grid .afd-link-card-kreisverband{
  background-image:url("assets/afd-links/bg-kreisverband-wesel.png");
}

.afd-links-background-grid .afd-link-card-kamp-lintfort{
  background-image:url("assets/afd-links/rathaus-kamp-lintfort.webp"), url("assets/afd-links/bg-kreisverband-wesel.png");
}

.afd-links-background-grid .afd-link-card-dinslaken{
  background-image:url("assets/afd-links/bg-dinslaken.webp"), url("assets/afd-links/bg-kreisverband-wesel.png");
}

.afd-links-background-grid .afd-link-card-hamminkeln{
  background-image:url("assets/afd-links/bg-hamminkeln.webp"), url("assets/afd-links/bg-kreisverband-wesel.png");
}

.afd-links-background-grid .afd-link-card-huenxe{
  background-image:url("assets/afd-links/bg-huenxe.webp"), url("assets/afd-links/bg-kreisverband-wesel.png");
}

.afd-links-background-grid .afd-link-card-moers{
  background-image:url("assets/afd-links/bg-moers.webp"), url("assets/afd-links/bg-kreisverband-wesel.png");
}

.afd-links-background-grid .afd-link-card-neukirchen-vluyn{
  background-image:url("assets/afd-links/bg-neukirchen-vluyn.webp"), url("assets/afd-links/bg-kreisverband-wesel.png");
}

.afd-links-background-grid .afd-link-card-rheinberg{
  background-image:url("assets/afd-links/bg-rheinberg.webp"), url("assets/afd-links/bg-kreisverband-wesel.png");
}

.afd-links-background-grid .afd-link-card-schermbeck{
  background-image:url("assets/afd-links/bg-schermbeck.webp"), url("assets/afd-links/bg-kreisverband-wesel.png");
}

.afd-links-background-grid .afd-link-card-sonsbeck{
  background-image:url("assets/afd-links/bg-sonsbeck.webp"), url("assets/afd-links/bg-kreisverband-wesel.png");
}

.afd-links-background-grid .afd-link-card-voerde{
  background-image:url("assets/afd-links/bg-voerde.webp"), url("assets/afd-links/bg-kreisverband-wesel.png");
}

.afd-links-background-grid .afd-link-card-wesel{
  background-image:url("assets/afd-links/bg-wesel.webp"), url("assets/afd-links/bg-kreisverband-wesel.png");
}

.afd-links-background-grid .afd-link-card-xanten{
  background-image:url("assets/afd-links/bg-xanten.webp"), url("assets/afd-links/bg-kreisverband-wesel.png");
}

.afd-links-background-grid .afd-link-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(rgba(7,25,59,.34),rgba(7,25,59,.62));
}

.afd-links-background-grid .afd-link-content{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  padding:28px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:18px;
  text-align:center;
  background:transparent !important;
  border:0 !important;
}

.afd-links-background-grid .afd-link-logo{
  max-width:min(420px,88%);
  max-height:145px;
  object-fit:contain;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.55));
}

.afd-links-background-grid .afd-link-text{
  display:flex;
  flex-direction:column;
  gap:8px;
  align-items:center;
}

.afd-links-background-grid .afd-link-text strong{
  color:#fff;
  font-size:24px;
  line-height:1.2;
  text-shadow:0 3px 10px rgba(0,0,0,.65);
}

.afd-links-background-grid .afd-link-text span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 18px;
  border-radius:999px;
  background:#0b3d91;
  color:#fff;
  font-weight:800;
  box-shadow:0 6px 18px rgba(0,0,0,.28);
}

@media (min-width:981px) and (max-width:1280px){
  .afd-links-background-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (min-width:701px) and (max-width:980px){
  .afd-links-background-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .afd-links-background-grid .afd-link-card{
    min-height:260px;
  }
}

@media (max-width:700px){
  .afd-links-background-grid{
    grid-template-columns:1fr;
  }

  .afd-links-background-grid .afd-link-card{
    min-height:230px;
  }

  .afd-links-background-grid .afd-link-logo{
    max-height:115px;
  }
}

/* ===== FINAL HELLERER BLAUTON 10-06-2026 ===== */
/* Alpen: mittelhell wie bei Kamp-Lintfort/Master. Startbild und Unterseiten etwas heller, aber weiter kräftig blau. */

/* Startbild / Haupt-Hero etwas heller */
.hero{
  background-image:linear-gradient(rgba(7,25,59,.40),rgba(7,25,59,.50)),url("assets/austausch/hintergrundbild/rathaus-alpen.webp") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}

/* Unterseiten: Aktuelles, Presse, Anträge & Anfragen, Weitere AfD-Seiten */
.aktuelles-hero,
.presse-hero,
.anfragen-hero,
.antraege-hero,
.archive-hero,
.linkpage-hero,
.subpage-hero.afd-links-hero{
  background:linear-gradient(135deg, rgba(11,61,145,.78), rgba(31,78,140,.70)),url("assets/austausch/hintergrundbild/rathaus-alpen.webp") center/cover no-repeat !important;
  background-image:linear-gradient(135deg, rgba(11,61,145,.78), rgba(31,78,140,.70)),url("assets/austausch/hintergrundbild/rathaus-alpen.webp") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}

/* Falls Unterseiten zusätzlich die Klasse .hero nutzen */
.hero.aktuelles-hero,
.hero.presse-hero,
.hero.anfragen-hero,
.hero.antraege-hero,
.hero.archive-hero{
  background-image:linear-gradient(135deg, rgba(11,61,145,.78), rgba(31,78,140,.70)),url("assets/austausch/hintergrundbild/rathaus-alpen.webp") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}

/* Linkkarten-Overlay bleibt passend, aber nicht zu dunkel */
.afd-link-overlay,
.afd-links-background-grid .afd-link-overlay{
  background:linear-gradient(rgba(7,25,59,.30),rgba(7,25,59,.54)) !important;
}

/* ===== ALPEN LOGO-FIX 10-06-2026 ===== */
/* Einheitliche Logo-Größe wie in der Master: nicht zu klein, nicht störend, auf allen Seiten gleichmäßig. */

@media (min-width:1181px){
  .topbar-inner{
    max-width:1720px !important;
    grid-template-columns:280px minmax(0,1fr) 72px !important;
    column-gap:18px !important;
  }

  .logo-link{
    max-width:280px !important;
    justify-self:start !important;
    min-width:0 !important;
  }

  .logo-link img,
  .topbar .logo{
    height:120px !important;
    max-width:280px !important;
    width:auto !important;
    object-fit:contain !important;
  }

  nav{
    flex-wrap:nowrap !important;
    gap:7px !important;
    min-width:0 !important;
  }

  nav a{
    font-size:14px !important;
    padding:7px 7px !important;
    white-space:nowrap !important;
  }

  .topbar-actions{
    width:72px !important;
    justify-content:flex-end !important;
  }

  .nav-music-box{
    width:42px !important;
  }

  .nav-music-button{
    width:42px !important;
  }

  .ticker{
    top:140px !important;
  }
}

@media (min-width:1181px) and (max-width:1380px){
  .topbar-inner{
    max-width:100% !important;
    grid-template-columns:260px minmax(0,1fr) 64px !important;
    column-gap:12px !important;
  }

  .logo-link{
    max-width:260px !important;
  }

  .logo-link img,
  .topbar .logo{
    height:110px !important;
    max-width:260px !important;
  }

  nav{
    gap:5px !important;
  }

  nav a{
    font-size:13px !important;
    padding:7px 6px !important;
  }

  .ticker{
    top:130px !important;
  }
}

@media (min-width:701px) and (max-width:1180px){
  .logo-link img,
  .topbar .logo{
    height:100px !important;
    max-width:260px !important;
    width:auto !important;
    object-fit:contain !important;
  }
}

@media (max-width:700px){
  .logo-link img,
  .topbar .logo{
    height:76px !important;
    max-width:220px !important;
    width:auto !important;
    object-fit:contain !important;
  }
}

/* ===== LINKKARTE KREISTAGSFRAKTION WESEL 10-06-2026 ===== */
.afd-links-background-grid .afd-link-card-kreistag-wesel,
.afd-link-card-kreistag-wesel{
  background-image:url("assets/afd-links/bg-kreistag-wesel.png"), url("assets/afd-links/bg-kreisverband-wesel.png") !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}

/* ===== VORBEREITETE PROFILKARTEN AUSBLENDEN ===== */
.is-hidden{
  display:none !important;
}

/* ===== ALPEN FIX: Hero-Texte Anträge & Anfragen / Weitere AfD-Seiten zentriert ===== */
.hero.anfragen-hero,
.anfragen-hero,
.subpage-hero.afd-links-hero{
  text-align:center !important;
}

.hero.anfragen-hero .hero-content,
.anfragen-hero .hero-content,
.subpage-hero.afd-links-hero .hero-content{
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
  align-items:center !important;
}

.hero.anfragen-hero .kicker,
.hero.anfragen-hero h1,
.hero.anfragen-hero p,
.anfragen-hero .kicker,
.anfragen-hero h1,
.anfragen-hero p,
.subpage-hero.afd-links-hero .kicker,
.subpage-hero.afd-links-hero h1,
.subpage-hero.afd-links-hero p{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.anfragen-hero + .container .press-section > h2,
.anfragen-hero + .container .press-section

/* =========================================================
   REAL-FIX Unterseiten-Header
   Aktuelles, Presse, Anträge & Anfragen, Weitere AfD-Seiten
   ========================================================= */

/* Gleicher Hintergrundbereich wie Startseite: Rathausbild läuft gleich tief nach unten, Text sitzt höher */
.unified-subpage-hero,
.aktuelles-hero.unified-subpage-hero,
.presse-hero.unified-subpage-hero,
.hero.anfragen-hero.unified-subpage-hero,
.subpage-hero.afd-links-hero.unified-subpage-hero {
  min-height: 620px !important;
  padding: 112px 20px 300px !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  text-align: center !important;
  box-sizing: border-box !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* Einheitlicher innerer Textblock */
.unified-subpage-hero .unified-hero-content {
  width: 100% !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  text-align: center !important;
  display: block !important;
}

/* Der kleine transparente Balken soll nur so breit wie der Text sein */
.unified-subpage-hero .kicker {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 auto 14px !important;
  padding: 8px 18px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,0.14) !important;
  color: #fff !important;
  font-size: 0.86rem !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

/* Einheitliche Überschrift */
.unified-subpage-hero h1 {
  margin: 0 0 15px !important;
  padding: 0 !important;
  color: #fff !important;
  font-size: clamp(2.05rem, 4vw, 3.15rem) !important;
  line-height: 1.08 !important;
  font-weight: 900 !important;
  letter-spacing: -0.022em !important;
}

/* Einheitlicher Beschreibungstext */
.unified-subpage-hero p {
  max-width: 760px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  color: rgba(255,255,255,0.94) !important;
  font-size: clamp(1rem, 1.35vw, 1.12rem) !important;
  line-height: 1.58 !important;
  font-weight: 500 !important;
}

/* Alte Zusatzcontainer dürfen keine eigenen Höhen/Grids mehr erzwingen */
.presse-hero-inner,
.presse-intro-clean,
.hero.anfragen-hero .hero-content,
.subpage-hero.afd-links-hero .container {
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

/* Technische Badge-Zeilen bleiben weg */
.presse-badges,

/* Hauptinhalt etwas enger an den Header ziehen, damit unten kein weißes Loch entsteht */
.presse-main,
.press-section,
.afd-links-page,
.aktuelles-wrap {
  margin-top: 0 !important;
  position: relative !important;
  z-index: 2 !important;
}

@media (max-width: 760px) {
  .unified-subpage-hero,
  .aktuelles-hero.unified-subpage-hero,
  .presse-hero.unified-subpage-hero,
  .hero.anfragen-hero.unified-subpage-hero,
  .subpage-hero.afd-links-hero.unified-subpage-hero {
    min-height: 520px !important;
    padding: 102px 16px 230px !important;
  }

  .unified-subpage-hero .kicker {
    white-space: normal !important;
    padding: 7px 14px !important;
    font-size: 0.78rem !important;
  }

  .unified-subpage-hero h1 {
    font-size: clamp(1.8rem, 7.5vw, 2.35rem) !important;
  }

  .presse-main,
  .press-section,
  .afd-links-page,
  .aktuelles-wrap {
    margin-top: 0 !important;
  }
}

/* WEISSE INHALTSKÄSTEN NICHT IN DEN HEADER ZIEHEN
   Der dunkle Rathaus-/Headerbereich bleibt sauber sichtbar.
   Inhalte beginnen erst darunter. */
.presse-main,
.press-section,
.afd-links-page,
.aktuelles-wrap {
  margin-top: 0 !important;
}

/* ALPEN-BILDER-ZUORDNUNG-FINAL START
   Startseite und Weitere AfD-Seiten = Rathaus/Hintergrundbild.
   Aktuelles, Presse und Anträge/Anfragen = Sitzungssaal. */
.hero {
  background-image:
    linear-gradient(rgba(7,25,59,.40), rgba(7,25,59,.50)),
    url("assets/austausch/hintergrundbild/rathaus-alpen.webp") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

.linkpage-hero,
.links-page .linkpage-hero {
  background:
    linear-gradient(rgba(7,25,59,.72), rgba(7,25,59,.82)),
    url("assets/austausch/hintergrundbild/rathaus-alpen.webp") center/cover no-repeat !important;
  background-image:
    linear-gradient(rgba(7,25,59,.72), rgba(7,25,59,.82)),
    url("assets/austausch/hintergrundbild/rathaus-alpen.webp") !important;
}

.aktuelles-hero,
.presse-hero,
.anfragen-hero,
.antraege-hero,
.archive-hero,
.hero.aktuelles-hero,
.hero.presse-hero,
.hero.anfragen-hero,
.hero.antraege-hero,
.hero.archive-hero {
  background:
    linear-gradient(135deg, rgba(11,61,145,.78), rgba(31,78,140,.70)),
    url("assets/austausch/sitzungssaal/sitzungssaal-alpen.webp") center/cover no-repeat !important;
  background-image:
    linear-gradient(135deg, rgba(11,61,145,.78), rgba(31,78,140,.70)),
    url("assets/austausch/sitzungssaal/sitzungssaal-alpen.webp") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
/* ALPEN-BILDER-ZUORDNUNG-FINAL ENDE */

/* ALPEN-SITZUNGSSAAL-ANZEIGE-FIX START
   Aktuelles, Presse und Anträge/Anfragen müssen den aktiven Alpen-Sitzungssaal nutzen,
   nicht Moers oder eine Auswahl-Datei. */
.aktuelles-hero,
.presse-hero,
.anfragen-hero,
.antraege-hero,
.archive-hero,
.hero.aktuelles-hero,
.hero.presse-hero,
.hero.anfragen-hero,
.hero.antraege-hero,
.hero.archive-hero {
  background:
    linear-gradient(135deg, rgba(11,61,145,.78), rgba(31,78,140,.70)),
    url('assets/austausch/sitzungssaal/sitzungssaal-alpen.webp') center/cover no-repeat !important;
  background-image:
    linear-gradient(135deg, rgba(11,61,145,.78), rgba(31,78,140,.70)),
    url('assets/austausch/sitzungssaal/sitzungssaal-alpen.webp') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
/* ALPEN-SITZUNGSSAAL-ANZEIGE-FIX ENDE */



/* ALPEN-FEINSCHLIFF: Dokumentkarten Anträge & Anfragen
   Text und Button sitzen direkt unter der Dokumentenvorschau. */
.anfragen-docs-section .press-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  gap: 0 !important;
}

.anfragen-docs-section .document-preview-frame {
  margin: 0 0 14px 0 !important;
}

.anfragen-docs-section .press-card h3 {
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
}

.anfragen-docs-section .press-card p {
  margin: 0 0 14px 0 !important;
  padding: 0 !important;
}

.anfragen-docs-section .press-card .button-primary {
  margin-top: 0 !important;
  align-self: flex-start !important;
}

/* ALPEN-FIX: Anträge & Anfragen Dokumentkarten NICHT ins Hero-Bild ziehen
   Die Karten beginnen sauber unterhalb des Anzeigebildes. */
.hero.anfragen-hero.unified-subpage-hero + .container.anfragen-docs-container,
.anfragen-hero.unified-subpage-hero + .container.anfragen-docs-container {
  margin-top: 0 !important;
  padding-top: 28px !important;
  position: relative !important;
  z-index: 3 !important;
}

.anfragen-docs-section {
  margin-top: 0 !important;
  padding-top: 26px !important;
}

/* Dokumenttext direkt unter der Vorschau */
.anfragen-docs-section .press-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  gap: 0 !important;
}

.anfragen-docs-section .document-preview-frame {
  margin: 0 0 14px 0 !important;
}

.anfragen-docs-section .press-card h3 {
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
}

.anfragen-docs-section .press-card p {
  margin: 0 0 14px 0 !important;
  padding: 0 !important;
}

.anfragen-docs-section .press-card .button-primary {
  margin-top: 0 !important;
  align-self: flex-start !important;
}


@media (max-width: 1180px) {
  .topbar {
    overflow: visible !important;
  }

  .topbar-inner {
    overflow: visible !important;
  }

  nav#mainNav {
    display: none !important;
  }

  nav#mainNav.open {
    display: flex !important;
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    max-height: calc(100vh - 150px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;

    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;

    padding: 14px !important;
    border-radius: 16px !important;
    background: rgba(11, 61, 145, 0.98) !important;
    box-shadow: 0 18px 45px rgba(0,0,0,0.30) !important;
    z-index: 99990 !important;

    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  nav#mainNav.open a {
    display: block !important;
    width: 100% !important;
    padding: 12px 14px !important;
    border-radius: 10px !important;
    color: #ffffff !important;
    background: rgba(255,255,255,0.10) !important;
    text-align: left !important;
    white-space: normal !important;
    line-height: 1.25 !important;
  }

  nav#mainNav.open a:hover {
    background: rgba(255,255,255,0.20) !important;
  }
}

/* BURGER ENDGUELTIG SAUBER:
   Eine zentrale mobile Menü-Regel für alle Seiten. Kein display:none-Block mehr,
   damit das Menü nicht durch alte Regeln blockiert wird. */
.menu-toggle {
  cursor: pointer !important;
  position: relative !important;
  z-index: 99999 !important;
  pointer-events: auto !important;
}

@media (max-width: 1180px) {
  .topbar,
  .topbar-inner {
    overflow: visible !important;
  }

  nav#mainNav {
    display: flex !important;
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 12px !important;
    right: 12px !important;
    width: auto !important;

    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;

    padding: 0 14px !important;
    border-radius: 16px !important;
    background: rgba(11, 61, 145, 0.98) !important;
    box-shadow: 0 18px 45px rgba(0,0,0,0.30) !important;
    z-index: 99990 !important;

    max-height: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: max-height .25s ease, opacity .2s ease, padding .2s ease !important;
  }

  nav#mainNav.active {
    max-height: calc(100vh - 150px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    padding: 14px !important;
  }

  nav#mainNav.active a {
    display: block !important;
    width: 100% !important;
    padding: 12px 14px !important;
    border-radius: 10px !important;
    color: #ffffff !important;
    background: rgba(255,255,255,0.10) !important;
    text-align: left !important;
    white-space: normal !important;
    line-height: 1.25 !important;
  }

  nav#mainNav.active a:hover {
    background: rgba(255,255,255,0.20) !important;
  }
}

/* ALPEN RESPONSIVE MENU FIX:
   Menü schaltet rechtzeitig und sauber auf Burger um.
   Verhindert den Zwischenbereich, in dem das normale Menü verschwindet,
   bevor der Burger sauber greift. */

@media (max-width: 1180px) {
  .topbar,
  .topbar-inner {
    overflow: visible !important;
  }

  .menu-toggle {
    display: block !important;
    cursor: pointer !important;
    position: relative !important;
    z-index: 99999 !important;
    pointer-events: auto !important;
  }

  nav#mainNav {
    display: flex !important;
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 12px !important;
    right: 12px !important;
    width: auto !important;

    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;

    padding: 0 14px !important;
    border-radius: 16px !important;
    background: rgba(11, 61, 145, 0.98) !important;
    box-shadow: 0 18px 45px rgba(0,0,0,0.30) !important;
    z-index: 99990 !important;

    max-height: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: max-height .25s ease, opacity .2s ease, padding .2s ease !important;
  }

  nav#mainNav.active {
    max-height: calc(100vh - 150px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    padding: 14px !important;
  }

  nav#mainNav.active a {
    display: block !important;
    width: 100% !important;
    padding: 12px 14px !important;
    border-radius: 10px !important;
    color: #ffffff !important;
    background: rgba(255,255,255,0.10) !important;
    text-align: left !important;
    white-space: normal !important;
    line-height: 1.25 !important;
  }

  nav#mainNav.active a:hover {
    background: rgba(255,255,255,0.20) !important;
  }
}
