/* BVKMU e.V. — Freundliches Türkis + warmes Gold, 3-Spalten-Layout */
:root{
  --navy:#0891B2;        /* Türkis Hauptfarbe */
  --navy-d:#0E7490;      /* dunkleres Türkis (Teal) */
  --navy-l:#06B6D4;      /* helleres Türkis (Cyan) */
  --gold:#F59E0B;        /* warmes Orange-Gold Akzent */
  --gold-d:#D97706;      /* dunkleres Orange */
  --gold-l:#FEF3C7;      /* helles Gold/Creme für Hintergründe */
  --cream:#F0FDFF;       /* sehr helles Türkis-Hintergrund */
  --cream-2:#CFFAFE;     /* etwas dunkler türkis */
  --ink:#1E293B;         /* Anthrazit Text */
  --ink-l:#475569;       /* hellere Schrift */
  --line:#A5F3FC;        /* türkis Linien */
  --green:#0891B2; --red:#DC2626;
  --radius:10px; --maxw:1280px;
  --font:'Segoe UI',Roboto,-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font);background:var(--cream);color:var(--ink);line-height:1.65;font-size:15px}
a{color:var(--navy);text-decoration:none}
a:hover{color:var(--gold-d)}
img{max-width:100%}
h1{color:var(--navy);font-size:1.7rem;line-height:1.25;margin-bottom:.35em}
h2{color:var(--navy);font-size:1.35rem;margin:1em 0 .4em;line-height:1.3}
h3{color:var(--navy-l);font-size:1.1rem;margin:.9em 0 .3em}
h4{color:var(--navy);font-size:.95rem;margin-bottom:.3em}
p{margin-bottom:.7em;font-size:.95rem}
.container{max-width:var(--maxw);margin:0 auto;padding:0 18px}

/* ===== HEADER ===== */
header.site{background:var(--cream);border-bottom:3px solid var(--gold);position:sticky;top:0;z-index:1000;
  box-shadow:0 2px 8px rgba(8,145,178,.08)}
.hdr{display:flex;align-items:center;gap:12px;padding:8px 0;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;color:var(--navy)}
.brand img.logo{width:42px;height:42px;display:block;border-radius:9px}
.brand .bt{display:flex;flex-direction:column;line-height:1.1}
.brand b{font-size:1.15rem;color:var(--navy);letter-spacing:.3px}
.brand i{font-size:.68rem;color:var(--ink-l);font-style:normal}
.brand:hover{opacity:.9}
.burger{display:none;background:none;border:1px solid var(--line);color:var(--navy);font-size:1.2rem;
  padding:2px 10px;border-radius:6px;cursor:pointer;margin-left:auto}
nav.top{margin-left:auto}
nav.top ul{list-style:none;display:flex;gap:2px;align-items:center;flex-wrap:nowrap}
nav.top a{display:inline-block;padding:7px 9px;border-radius:6px;font-size:.82rem;font-weight:600;
  color:var(--navy);white-space:nowrap}
nav.top a:hover{background:var(--gold-l);color:var(--navy-d)}
nav.top a.cur{color:var(--gold-d)}
nav.top a.cta{background:var(--gold);color:#fff}
nav.top a.cta:hover{background:var(--gold-d)}

/* ===== BUTTONS ===== */
.btn{display:inline-block;padding:8px 18px;border-radius:20px;font-weight:700;font-size:.85rem;
  background:var(--navy);color:#fff;border:0;cursor:pointer}
.btn:hover{background:var(--navy-d);color:#fff}
.btn.blue{background:var(--navy-l)} .btn.blue:hover{background:var(--navy)}
.btn.gold{background:var(--gold);color:#fff} .btn.gold:hover{background:var(--gold-d)}
.btn.sm{padding:6px 14px;font-size:.78rem}

/* ===== PAGE-HEAD ===== */
.pagehead{background:var(--navy);color:#fff;padding:24px 0;border-bottom:3px solid var(--gold)}
.pagehead h1{color:#fff;font-size:1.6rem;margin:0}
.pagehead .lead{color:var(--gold-l);margin:.2em 0 0;font-size:.95rem}

/* ===== 3-SPALTEN ===== */
.layout{display:grid;grid-template-columns:200px 1fr 230px;gap:22px;padding:24px 18px;align-items:start}
.content{min-width:0}
.side{font-size:.85rem}
.side h4{color:var(--navy);border-bottom:2px solid var(--gold-l);padding-bottom:4px;margin-bottom:8px;
  font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}
ul.sidemenu{list-style:none}
ul.sidemenu>li{margin-bottom:1px}
ul.sidemenu>li>a{display:block;padding:6px 8px;border-radius:5px;color:var(--ink)}
ul.sidemenu>li>a:hover{background:var(--gold-l);color:var(--navy)}
ul.sidemenu>li.grp>a{font-weight:700;color:var(--navy)}
ul.sidemenu>li ul{list-style:none;margin:2px 0 6px 12px;border-left:2px solid var(--gold-l);padding-left:4px}
ul.sidemenu>li ul li a{padding:4px 6px;font-size:.8rem;color:var(--ink-l)}

/* Widgets rechts */
.widget{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;margin-bottom:14px}
.widget h4{margin:0 0 8px;color:var(--navy)}
.widget .mini,.widget form{display:flex;flex-direction:column;gap:6px}
.widget input{padding:7px 9px;border:1px solid var(--line);border-radius:6px;font-size:.82rem;font-family:inherit}
.widget input:focus{outline:0;border-color:var(--gold)}
.widget .reg{font-size:.78rem;color:var(--ink-l);margin:.4em 0 0}
.widget .more{font-size:.82rem;font-weight:600;color:var(--navy)}
.bssearch form{flex-direction:row;gap:6px}
.bssearch input{flex:1}
.counter{text-align:center}
.counter .cnt{font-size:1.6rem;color:var(--gold-d);display:block;margin:2px 0}
.cntlist{list-style:none;text-align:left;font-size:.8rem}
.cntlist li{display:flex;justify-content:space-between;padding:2px 0;border-bottom:1px dotted var(--line)}
.cntlist li b{color:var(--navy)}

/* ===== CONTENT ===== */
.lead-box{background:var(--gold-l);border-left:4px solid var(--gold);padding:12px 16px;border-radius:6px;margin-bottom:1em;font-size:.92rem}
.grid{display:grid;gap:18px}
.grid.cards{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.grid.two{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;border-top:3px solid var(--gold)}
.card:hover{box-shadow:0 6px 18px rgba(8,145,178,.12)}
.card.navy{border-top-color:var(--navy)}
.icon{font-size:1.7rem}
.tbl-wrap{overflow-x:auto;margin:1em 0}
table{border-collapse:collapse;width:100%;background:#fff;border-radius:var(--radius);overflow:hidden;
  border:1px solid var(--line);font-size:.85rem}
thead{background:var(--navy);color:#fff}
th{padding:8px 11px;text-align:left;font-weight:600}
td{padding:7px 11px;border-top:1px solid var(--line);vertical-align:top}
tbody tr:nth-child(even){background:var(--cream)}
table.tight th,table.tight td{padding:5px 9px;font-size:.8rem}
.tag{display:inline-block;padding:2px 9px;border-radius:12px;font-size:.74rem;font-weight:700}
.tag.yes{background:#E3F1E6;color:#2E6B36} .tag.no{background:#F6E0DC;color:#8C2E20} .tag.maybe{background:#F6EFD9;color:#7A6212}
ul.plain{padding-left:18px;margin:.4em 0 .8em} ul.plain li{margin-bottom:.3em;font-size:.92rem}
ol.plain{padding-left:20px;margin:.4em 0 .8em} ol.plain li{margin-bottom:.35em;font-size:.92rem}
.check{list-style:none} .check li{position:relative;padding-left:22px;margin-bottom:6px;font-size:.92rem}
.check li::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:800}
.cross{list-style:none} .cross li{position:relative;padding-left:22px;margin-bottom:6px;font-size:.92rem}
.cross li::before{content:"✕";position:absolute;left:0;color:var(--red);font-weight:800}
.box{background:var(--cream-2);border-left:4px solid var(--navy-l);padding:12px 16px;border-radius:6px;margin:1em 0;font-size:.92rem}
.box.gold{background:var(--gold-l);border-left-color:var(--gold)}
.box.green{background:#EAF3EC;border-left-color:var(--green)}
.callout{background:var(--navy);color:#fff;padding:22px;border-radius:var(--radius);text-align:center;margin:1.4em 0}
.callout h2{color:#fff} .callout p{color:var(--gold-l);opacity:.95}
.hero{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-l) 100%);color:#fff;padding:40px 0;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 15%,rgba(201,162,39,.25),transparent 45%)}
.hero .container{position:relative;z-index:1}
.hero h1{color:#fff;font-size:2rem;margin-bottom:.2em}
.hero .lead{font-size:1rem;max-width:640px;margin-bottom:1em;opacity:.96;color:#fff}
.hero .eyebrow{color:var(--gold);font-weight:800;font-size:1.15rem;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:.6em;
  display:inline-block;background:rgba(245,158,11,.14);border:1.5px solid var(--gold);
  padding:.4em 1em;border-radius:999px;line-height:1.3;text-shadow:0 1px 2px rgba(0,0,0,.25)}
.hero .btnrow{display:flex;gap:10px;flex-wrap:wrap}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:14px;margin-top:24px}
.stat{background:rgba(255,255,255,.12);padding:16px;border-radius:var(--radius);text-align:center;border:1px solid rgba(201,162,39,.3)}
.stat .num{font-size:1.5rem;font-weight:800;color:var(--gold);display:block}
.stat .lbl{font-size:.78rem;opacity:.92}
.form-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.field{display:flex;flex-direction:column;gap:4px}
.field.full{grid-column:1/-1}
label{font-weight:600;font-size:.82rem;color:var(--navy)}
input,select,textarea{padding:8px 11px;border:1px solid var(--line);border-radius:6px;font-size:.88rem;font-family:inherit;background:#fff}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--gold)}
textarea{min-height:100px;resize:vertical}
.checkrow{display:flex;align-items:flex-start;gap:8px}
.checkrow input{width:auto;margin-top:4px}
details.faq{background:#fff;border:1px solid var(--line);border-radius:8px;margin-bottom:8px;overflow:hidden}
details.faq summary{padding:12px 14px;font-weight:600;color:var(--navy);cursor:pointer;list-style:none;font-size:.92rem;display:flex;justify-content:space-between;align-items:center}
details.faq summary::after{content:"+";font-size:1.2rem;color:var(--gold-d)}
details.faq[open] summary::after{transform:rotate(45deg)}
details.faq .answer{padding:10px 14px;color:var(--ink-l);font-size:.9rem}
.legal{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 26px}
.legal h2{border-bottom:2px solid var(--gold-l);padding-bottom:.3em}

/* ===== FOOTER ===== */
footer.site{background:var(--navy-d);color:#D6CDB8;padding:34px 0 18px;margin-top:20px}
.ftr{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:26px}
footer.site b{color:#fff;font-size:1rem;display:block;margin-bottom:4px}
footer.site h4{color:#fff;margin-bottom:6px;font-size:.9rem;display:block}
footer.site a{color:#D6CDB8;display:inline-block;padding:2px 12px 2px 0;font-size:.82rem;
  position:relative;line-height:1.9}
footer.site a::after{content:"|";position:absolute;right:1px;top:50%;transform:translateY(-50%);
  color:rgba(255,255,255,.22);font-size:.7rem}
footer.site a:last-child::after{content:""}
footer.site a:hover{color:var(--gold)}
footer.site p{font-size:.82rem;color:#A89E87}
.copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:22px;padding-top:16px;text-align:center;font-size:.76rem;color:#A89E87}

/* ===== COOKIE ===== */
.cookie{position:fixed;bottom:0;left:0;right:0;background:var(--navy-d);color:#fff;padding:10px 18px;
  display:flex;gap:14px;align-items:center;flex-wrap:wrap;justify-content:center;z-index:2000}
.cookie p{margin:0;font-size:.8rem;flex:1;min-width:240px;color:#D6CDB8}
.cookie a{color:var(--gold)}

/* ===== RESPONSIVE ===== */
@media(max-width:1080px){
  .layout{grid-template-columns:180px 1fr}
  .side.right{display:none}
}
@media(max-width:860px){
  .layout{grid-template-columns:1fr;padding:16px}

  .side.left{order:2}

  .content{order:1}}
@media(max-width:560px){
  body{font-size:14px}

  h1{font-size:1.4rem}
 .hero h1{font-size:1.5rem}

  .container{padding:0 14px}}


/* ============================================================
   TOP-MENÜ: ZWINGEND HORIZONTAL (nie vertikal, nie ausgeblendet)
   ============================================================ */
/* Burger immer aus — Menü bleibt immer als waagerechte Leiste sichtbar */
.burger{display:none !important}

nav.top{display:block !important; margin-left:auto !important}
nav.top ul{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:0 !important;
  list-style:none !important;
}
nav.top li{display:list-item !important; margin:0 !important; padding:0 !important; width:auto !important}
nav.top a{
  display:inline-block !important;
  padding:7px 9px !important;
  font-size:.82rem !important;
  font-weight:600 !important;
  white-space:nowrap !important;
  border-radius:6px !important;
  border-bottom:0 !important;
}

/* Auf schmalen Geräten: Menü kompakter halten, ggf. waagerecht scrollbar statt vertikal */
@media(max-width:860px){
  nav.top{order:0 !important; flex-basis:auto !important}
  nav.top ul{
    overflow-x:auto !important;
    overflow-y:hidden !important;
    flex-wrap:nowrap !important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
  }
  nav.top a{padding:6px 8px !important; font-size:.76rem !important}
  .hdr{flex-wrap:wrap !important}
}
@media(max-width:560px){
  nav.top a{padding:5px 6px !important; font-size:.72rem !important}
  .brand .bt i{display:none}
}


/* ============================================================
   ENDGÜLTIG: Top-Navigation IMMER horizontal
   ============================================================ */
.burger{display:none !important}
.hdr{display:flex !important; flex-direction:row !important; align-items:center !important;
     flex-wrap:nowrap !important; gap:10px !important}
nav.top{display:block !important; order:0 !important; flex-basis:auto !important;
        margin-left:auto !important; width:auto !important}
nav.top ul{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:0 !important;
  list-style:none !important;
  margin:0 !important; padding:0 !important;
}
nav.top li{display:list-item !important; margin:0 !important; padding:0 !important; width:auto !important}
nav.top a{
  display:inline-block !important;
  padding:7px 9px !important;
  font-size:.82rem !important;
  white-space:nowrap !important;
  border-bottom:0 !important;
  border-radius:6px !important;
}
@media(max-width:860px){
  nav.top{order:0 !important; flex-basis:auto !important; display:block !important}
  nav.top ul{overflow-x:auto !important; overflow-y:hidden !important; flex-wrap:nowrap !important;
             -webkit-overflow-scrolling:touch; scrollbar-width:thin}
  nav.top a{padding:6px 8px !important; font-size:.76rem !important}
}
@media(max-width:560px){
  .brand .bt i{display:none}
  nav.top a{padding:5px 6px !important; font-size:.72rem !important}
}


/* ============================================================
   ENTScheidender FIX: <nav class="top"> enthält <li> direkt (kein <ul>).
   Daher MUSS nav.top selbst der Flex-Container sein.
   ============================================================ */
nav.top{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:0 !important;
  margin:0 0 0 auto !important;
  padding:0 !important;
  list-style:none !important;
}
/* direkte <li>-Kinder von nav.top horizontal */
nav.top > li{
  display:list-item !important;
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
  width:auto !important;
}
nav.top > li > a{
  display:inline-block !important;
  padding:7px 9px !important;
  font-size:.82rem !important;
  font-weight:600 !important;
  white-space:nowrap !important;
  border-radius:6px !important;
  color:#0891B2 !important;
  border-bottom:0 !important;
}
nav.top > li > a:hover{background:#FEF3C7 !important; color:#0E7490 !important}
nav.top > li > a.cur{color:#D97706 !important}
nav.top > li > a.cta{background:#F59E0B !important; color:#fff !important}

@media(max-width:860px){
  nav.top{
    overflow-x:auto !important;
    overflow-y:hidden !important;
    flex-wrap:nowrap !important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
  }
  nav.top > li > a{padding:6px 8px !important; font-size:.76rem !important}
}
@media(max-width:560px){
  .brand .bt i{display:none}
  nav.top > li > a{padding:5px 6px !important; font-size:.72rem !important}
}

/* ============ Stempel-Galerie (Beratungsstellen bundesweit) ============ */
.stempel-band{
  background:linear-gradient(135deg,#f0fdff 0%,#fef9e7 60%,#f0f5ff 100%);
  border:1.5px solid var(--gold);
  border-radius:14px;
  padding:22px 18px 16px;
  margin:24px 0;
  box-shadow:0 4px 18px rgba(8,145,178,.10);
}
.stempel-band > h2{
  text-align:center;
  color:var(--navy-d);
  margin:0 0 4px;
  font-size:1.35rem;
}
.stempel-band > p.sub{
  text-align:center;
  color:#475569;
  margin:0 0 16px;
  font-size:.92rem;
}
.stempel-grid{
  display:grid;
  grid-template-columns:repeat(10,1fr);
  gap:8px;
  align-items:center;
  justify-items:center;
}
.stempel-grid figure{
  margin:0;
  text-align:center;
  transition:transform .18s ease;
}
.stempel-grid figure:hover{ transform:scale(1.08) rotate(-1deg); }
.stempel-grid img{
  width:78px;
  height:78px;
  object-fit:contain;
  display:block;
  margin:0 auto;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.12));
}
@media(max-width:900px){
  .stempel-grid{ grid-template-columns:repeat(6,1fr); }
  .stempel-grid img{ width:70px; height:70px; }
}
@media(max-width:560px){
  .stempel-grid{ grid-template-columns:repeat(5,1fr); gap:6px; }
  .stempel-grid img{ width:56px; height:56px; }
  .stempel-band > h2{ font-size:1.15rem; }
}
