/*
Theme Name:  Refah Europa
Theme URI:   https://refaheuropa.de
Author:      Refah Europa e.V.
Description: V6. Kein Tailwind CDN. Alpine.js · AOS · Lucide. hsl(5,80%,42%) · Playfair Display + Source Sans 3.
Version:     6.0.0
Requires at least: 6.0
Requires PHP: 8.0
License:     GPL-2.0-or-later
Text Domain: refah-europa
*/
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&family=Source+Sans+3:wght@300;400;500;600;700&display=swap');
:root{
  --red:hsl(5,80%,42%);--red-d:hsl(5,80%,34%);--red-l:hsl(5,80%,96%);--red-mid:hsl(5,80%,28%);
  --dark:hsl(0,0%,15%);--bg:hsl(0,0%,98%);--card:hsl(0,0%,100%);--muted:hsl(0,0%,96%);
  --border:hsl(0,0%,90%);--text:hsl(0,10%,10%);--faint:hsl(0,5%,45%);
  --r:.75rem;--rs:.5rem;--rl:1rem;
  --sh0:0 1px 4px rgba(0,0,0,.08);--sh1:0 4px 16px rgba(0,0,0,.10);--sh2:0 8px 28px rgba(0,0,0,.13);
  --fh:'Playfair Display',Georgia,serif;--fb:'Source Sans 3',system-ui,sans-serif;
  --t:.2s ease;--tm:.3s ease;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--fb);background:var(--bg);color:var(--text);line-height:1.65}
img{max-width:100%;height:auto;display:block}
a{color:var(--red);text-decoration:none;transition:opacity var(--t)}
a:hover{opacity:.8}
ul,ol{list-style:none}
p{margin-bottom:.875rem;line-height:1.7}p:last-child{margin-bottom:0}
h1,h2,h3,h4{font-family:var(--fh);font-weight:700;color:var(--text);line-height:1.2}
h1{font-size:clamp(1.9rem,4.5vw,3rem)}h2{font-size:clamp(1.55rem,3.2vw,2.2rem)}h3{font-size:clamp(1.15rem,2.2vw,1.45rem)}
button{cursor:pointer;font-family:var(--fb)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

/* LANG */
[data-lang]{display:none!important}
span[data-lang].la{display:inline!important}
a [data-lang].la,button [data-lang].la,h1 [data-lang].la,h2 [data-lang].la,h3 [data-lang].la,h4 [data-lang].la,li [data-lang].la{display:inline!important}
div[data-lang].la,p[data-lang].la{display:block!important}

/* LAYOUT */
.W{max-width:1200px;margin:0 auto;padding:0 1.5rem}
.S{padding:4.5rem 0}.Ss{padding:3rem 0}
.bg-m{background:var(--muted)}
.g2{display:grid;gap:1.5rem}
@media(min-width:640px){.g2{grid-template-columns:1fr 1fr}}
.g4{display:grid;gap:1.25rem;grid-template-columns:1fr 1fr}
@media(min-width:768px){.g4{grid-template-columns:repeat(4,1fr)}}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font-family:var(--fb);font-size:.95rem;font-weight:600;padding:.72rem 1.5rem;border-radius:var(--r);border:1.5px solid transparent;cursor:pointer;transition:all var(--tm);text-decoration:none;white-space:nowrap;line-height:1.4}
.btn:hover{text-decoration:none}
.btn-r{background:var(--red);color:#fff;border-color:var(--red)}
.btn-r:hover{background:var(--red-d);border-color:var(--red-d);color:#fff;transform:translateY(-1px);box-shadow:0 4px 14px rgba(150,20,10,.25);opacity:1}
.btn-o{background:transparent;color:var(--red);border-color:var(--red)}
.btn-o:hover{background:var(--red);color:#fff;transform:translateY(-1px);opacity:1}
.btn-w{background:#fff;color:var(--red);border-color:#fff}
.btn-w:hover{background:var(--red-l);color:var(--red);opacity:1}
.btn-g{background:transparent;color:#fff;border-color:rgba(255,255,255,.65)}
.btn-g:hover{background:rgba(255,255,255,.12);color:#fff;opacity:1}
.btn-sm{padding:.5rem 1.1rem!important;font-size:.84rem!important}
.btn-lg{padding:.88rem 2rem!important;font-size:1.05rem!important}

/* CARDS */
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--sh0);overflow:hidden}
.card-p{padding:2rem}
.card-lift{transition:transform var(--tm),box-shadow var(--tm)}
.card-lift:hover{transform:translateY(-3px);box-shadow:var(--sh2)}
.card-r{background:var(--red);border:none;border-radius:var(--r)}
.card-d{background:var(--dark);border:none;border-radius:var(--r)}
.card-r *,.card-d *{color:#fff}.card-r p,.card-d p{opacity:.85}
.badge{display:inline-block;background:var(--red-l);color:var(--red);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.18rem .75rem;border-radius:999px}

/* ══════════════════════════════════════════════
   HEADER — BURGER IMMER SICHTBAR
   Kein display:none, kein Media Query
══════════════════════════════════════════════ */
#site-header{position:sticky;top:0;z-index:100;background:rgba(250,250,248,.97);border-bottom:1px solid var(--border);box-shadow:var(--sh0);transition:box-shadow var(--tm)}
#site-header.sc{box-shadow:var(--sh1)}
.hdr-i{display:flex;align-items:center;justify-content:space-between;height:68px;gap:1rem}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);flex-shrink:0}
.logo:hover{opacity:1}
.logo img{height:40px;width:40px;object-fit:contain}
.logo-name{font-family:var(--fh);font-size:1.1rem;font-weight:700;line-height:1.1}
.logo-ev{font-size:.72rem;color:var(--faint)}
@media(max-width:380px){.logo-name,.logo-ev{display:none}}
.hdr-r{display:flex;align-items:center;gap:8px;flex-shrink:0}

/* BURGER — display:flex!important — NEVER hidden */
#burger{
  display:flex!important;
  align-items:center;justify-content:center;
  width:40px;height:40px;
  background:transparent;
  border:1.5px solid var(--border);
  border-radius:var(--rs);
  cursor:pointer;color:var(--text);
  transition:background var(--t),border-color var(--t);
  position:relative;z-index:101;flex-shrink:0;
}
#burger:hover{background:var(--muted);border-color:var(--text)}
#burger svg{width:20px;height:20px;stroke:currentColor;fill:none;pointer-events:none;display:block}

/* LANG DROPDOWN */
.lang{position:relative;z-index:150}
.lang-btn{display:flex;align-items:center;gap:5px;background:transparent;border:1.5px solid var(--border);border-radius:var(--rs);padding:6px 10px;cursor:pointer;font-family:var(--fb);font-size:.8rem;font-weight:600;color:var(--faint);transition:all var(--t)}
.lang-btn:hover{background:var(--muted);color:var(--text)}
.lang-btn svg{width:14px;height:14px;stroke:currentColor;fill:none}
.lang-drop{position:absolute;top:calc(100% + 6px);right:0;background:var(--card);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--sh2);min-width:140px;z-index:200;overflow:hidden;display:none}
.lang-drop.open{display:block}
.lang-opt{display:flex;align-items:center;gap:8px;width:100%;padding:9px 14px;text-align:left;background:transparent;border:none;cursor:pointer;font-family:var(--fb);font-size:.875rem;color:var(--text);transition:background var(--t);text-decoration:none}
.lang-opt:hover{background:var(--muted)}
.lang-opt.on{font-weight:700;color:var(--red);background:var(--red-l)}

/* NAV OVERLAY */
#nav-ov{display:none;position:fixed;inset:0;z-index:200;background:var(--bg);overflow-y:auto}
#nav-ov.open{display:block}
.nav-top{display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;height:68px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg);z-index:1}
.nav-x{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:1.5px solid var(--border);border-radius:var(--rs);cursor:pointer;color:var(--text);transition:background var(--t)}
.nav-x:hover{background:var(--muted)}
.nav-x svg{width:20px;height:20px;stroke:currentColor;fill:none}
.nav-links{padding:1.5rem}
.nav-link{display:block;padding:13px 14px;font-size:1.05rem;font-weight:500;color:var(--faint);border-radius:var(--rs);transition:background var(--t),color var(--t);text-decoration:none;margin-bottom:2px}
.nav-link:hover,.nav-link.on{background:var(--muted);color:var(--red);opacity:1}
.nav-ctas{display:flex;gap:10px;padding:1.25rem 1.5rem 2rem;flex-wrap:wrap;border-top:1px solid var(--border)}
.nav-ctas .btn{flex:1;min-width:140px}

/* HERO SLIDER */
.re-hero{position:relative;overflow:hidden;background:var(--dark)}
.slide{display:none;position:relative;min-height:520px;align-items:center;background-size:cover;background-position:center;padding:100px 0 80px}
.slide.on{display:flex}
@media(min-width:768px){.slide{min-height:600px;padding:130px 0 80px}}
@media(min-width:1024px){.slide{min-height:680px}}
.slide-ov{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.68) 0%,rgba(100,15,5,.4) 60%,rgba(0,0,0,.5) 100%)}
.slide-body{position:relative;z-index:2;color:#fff;max-width:680px}
.slide-body h1{color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.35);margin-bottom:.75rem}
.slide-body p{color:rgba(255,255,255,.88);font-size:1.1rem;margin-bottom:2rem;max-width:500px}
.slide-btns{display:flex;flex-wrap:wrap;gap:12px}
.arr{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--tm);color:#fff}
.arr:hover{background:rgba(255,255,255,.28)}
.arr.p{left:1.25rem}.arr.n{right:1.25rem}
.arr svg{width:20px;height:20px;stroke:currentColor;fill:none}
.dots{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);z-index:10;display:flex;gap:8px}
.dot{height:8px;border-radius:4px;border:none;cursor:pointer;background:rgba(255,255,255,.35);width:8px;transition:width .3s,background .3s}
.dot.on{width:28px;background:#fff}

/* PAGE HERO */
.ph{background:linear-gradient(135deg,var(--red-mid) 0%,var(--red) 100%);padding:3.5rem 0 4.5rem}
.ph h1{color:#fff}.ph p{color:rgba(255,255,255,.78);margin-top:.4rem}
.ph-d{background:linear-gradient(135deg,hsl(0,0%,8%) 0%,hsl(0,0%,18%) 100%);padding:3.5rem 0 4.5rem}
.ph-d h1{color:#fff}

/* GALLERY */
.gal-img{width:100%;height:260px;object-fit:cover;border-radius:var(--r);box-shadow:var(--sh1);transition:transform var(--tm)}
@media(min-width:768px){.gal-img{height:320px}}
.gal-img:hover{transform:scale(1.02)}

/* NEWS */
.news-grid{display:grid;gap:1.5rem}
@media(min-width:640px){.news-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.news-grid{grid-template-columns:repeat(3,1fr)}}
.ncard{display:flex;flex-direction:column}
.nth{width:100%;height:160px;object-fit:cover}
.nth-ph{width:100%;height:160px;background:linear-gradient(135deg,var(--red-l),var(--muted))}
.nb{padding:1.25rem 1.5rem 1.5rem;flex:1;display:flex;flex-direction:column}
.nt{font-family:var(--fh);font-size:1.1rem;font-weight:600;color:var(--text);margin:.6rem 0 .5rem;line-height:1.3;transition:color var(--t)}
.ncard:hover .nt{color:var(--red)}
.ne{font-size:.875rem;color:var(--faint);line-height:1.55;flex:1}
.nf{display:flex;align-items:center;justify-content:space-between;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}
.nd{font-size:.75rem;color:var(--faint)}

/* CTA */
.cta-pair{display:grid;gap:1.5rem}
@media(min-width:640px){.cta-pair{grid-template-columns:1fr 1fr}}
.cta-box{display:flex;flex-direction:column;justify-content:space-between;min-height:280px;padding:2.25rem;border-radius:var(--r)}

/* KADRO */
.kadro{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
@media(min-width:600px){.kadro{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.kadro{grid-template-columns:repeat(4,1fr)}}
.k-img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top;display:block;transition:transform .5s ease}
.k-card:hover .k-img{transform:scale(1.04)}
.k-body{padding:1rem;text-align:center;border-top:1px solid var(--border)}
.k-name{font-family:var(--fh);font-size:.95rem;font-weight:600;font-style:italic;color:var(--faint);margin:0}
.k-role{font-size:.78rem;color:var(--red);font-weight:500;margin-top:.2rem}

/* EVENTS */
.ev-grid{display:grid;gap:1.5rem}
@media(min-width:768px){.ev-grid{grid-template-columns:1fr 1fr}}
.ev-meta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.75rem}
.ev-meta span{display:flex;align-items:center;gap:.35rem;font-size:.85rem;color:var(--faint)}
.ev-meta svg{width:15px;height:15px;stroke:var(--red);fill:none}

/* CONTACT ROWS */
.cr{display:flex;align-items:flex-start;gap:14px;padding:1rem 0;border-bottom:1px solid var(--border)}
.cr:last-child{border-bottom:none}
.ci{width:20px;height:20px;stroke:var(--red);fill:none;margin-top:2px;flex-shrink:0}
.cl{font-weight:600;font-size:.9rem;margin-bottom:2px}
.cv{font-size:.875rem;color:var(--faint)}

/* COMING SOON */
.soon{text-align:center;padding:7rem 0}
.soon svg{width:3.5rem;height:3.5rem;stroke:var(--red);fill:none;margin:0 auto 1.5rem}
.soon h2{margin-bottom:1rem}
.soon p{color:var(--faint);font-size:1.05rem;max-width:440px;margin:0 auto}

/* PROSE */
.prose{max-width:780px;margin:0 auto;padding:3.5rem 1.5rem}
.prose p{line-height:1.8;margin-bottom:1rem}
.prose h2,.prose h3{margin:2rem 0 .75rem}
.prose ul{list-style:disc;padding-left:1.5rem;margin-bottom:1rem}
.prose a{color:var(--red);text-decoration:underline}

/* PAGINATION */
.pages{display:flex;gap:.5rem;justify-content:center;margin-top:3rem;flex-wrap:wrap}
.pages a,.pages span{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--rs);border:1px solid var(--border);font-size:.875rem;color:var(--text);transition:background var(--t)}
.pages a:hover{background:var(--muted);opacity:1}
.pages .current{background:var(--red);color:#fff;border-color:var(--red)}

/* FOOTER */
#site-footer{background:var(--red);color:#fff}
.ft-body{padding:3.5rem 0}
.ft-grid{display:grid;gap:2.25rem;grid-template-columns:1fr}
@media(min-width:640px){.ft-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.ft-grid{grid-template-columns:2fr 1fr 1fr 1fr}}
.ft-brand{font-family:var(--fh);font-size:1.2rem;font-weight:700;color:#fff;margin-bottom:.5rem}
.ft-desc{font-size:.875rem;opacity:.78;line-height:1.65;max-width:280px}
.ft-cons{margin-top:1.1rem;display:flex;flex-direction:column;gap:.45rem}
.ft-cr{display:flex;align-items:center;gap:.5rem;font-size:.84rem;opacity:.78}
.ft-cr svg{width:14px;height:14px;stroke:currentColor;fill:none;flex-shrink:0}
.ft-cr a{color:#fff}
.ft-h{font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.88);margin-bottom:.875rem}
.ft-nav{display:flex;flex-direction:column;gap:.5rem}
.ft-nav a{font-size:.875rem;color:rgba(255,255,255,.7);transition:color var(--t)}
.ft-nav a:hover{color:#fff;opacity:1}
.soc-list{display:flex;gap:.5rem}
.soc-ico{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;display:flex;align-items:center;justify-content:center;transition:background var(--tm);text-decoration:none}
.soc-ico:hover{background:rgba(255,255,255,.26);opacity:1}
.soc-ico svg{width:17px;height:17px}
.soc-ico.si svg{stroke:currentColor;fill:none}
.soc-ico.fi svg{fill:currentColor;stroke:none}
.ft-bar{border-top:1px solid rgba(255,255,255,.12);padding:1rem 0;text-align:center;font-size:.82rem;color:rgba(255,255,255,.5)}

/* AOS */
[data-aos]{opacity:0;transform:translateY(22px);transition:opacity .55s ease,transform .55s ease}
[data-aos].aos-animate{opacity:1;transform:none}

@media(max-width:480px){.W{padding:0 1rem}.slide{min-height:420px;padding:80px 0 64px}.cta-pair{grid-template-columns:1fr}}
