
:root{
  --blue:#1f9fd6;   --blue-d:#1580ad;  --blue-s:#e6f5fc;
  --green:#46a35e;  --green-d:#3a8c4f; --green-s:#e9f6ec;
  --lime:#8cbf2d;   --lime-d:#5f8a1c;  --lime-s:#eef6df;   /* Hausfarbe aus dem Logo */
  --yellow:#ffc328; --yellow-d:#e8a700;--yellow-s:#fff6dd;
  --coral:#f0664a;  --coral-d:#d8513a; --coral-s:#fdeae5;
  --purple:#7b6cd9;
  --ink:#22324c;    --ink-2:#5b6a82;
  --cream:#fff8ec;  --surface:#ffffff; --line:#ececec;
  --shadow:0 6px 22px rgba(34,50,76,.10);
  --shadow-sm:0 3px 12px rgba(34,50,76,.08);
}

html{scroll-behavior:smooth}
body{font-family:'Nunito',system-ui,sans-serif;color:var(--ink);background:var(--surface);line-height:1.6;font-size:17px;font-weight:500;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.display,.site-title{font-family:'Fredoka',sans-serif;font-weight:600;line-height:1.15}
.gsw-home :where(a),.gsw-util :where(a),.gsw-header :where(a),footer.gsw-footer :where(a),.gsw-404 :where(a){color:inherit;text-decoration:none}
.gsw-home img{max-width:100%;display:block}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}
#inner-wrap.wrap{max-width:none;padding:0}
#inner-wrap.wrap > *{max-width:1140px;margin-left:auto;margin-right:auto}
.kicker{font-family:'Fredoka';font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:.8rem}
.lead{font-size:1.18rem;color:var(--ink-2)}
svg.ic{width:1.25em;height:1.25em;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none}

.btn{display:inline-flex;align-items:center;gap:.5em;font-family:'Fredoka';font-weight:600;font-size:1rem;padding:.7em 1.4em;border-radius:14px;border:0;cursor:pointer;transition:transform .14s,box-shadow .14s,background .14s}
.btn:hover{transform:translateY(-2px)}
.btn-blue{background:var(--blue);color:#fff;box-shadow:var(--shadow-sm)}
.btn-blue:hover{background:var(--blue-d)}
.btn-coral{background:var(--coral);color:#fff;box-shadow:var(--shadow-sm)}
.btn-coral:hover{background:var(--coral-d)}
.btn-yellow{background:var(--yellow);color:#5a3d00}
.btn-yellow:hover{background:var(--yellow-d)}
.btn-ghost{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 2px var(--line)}
.btn-ghost:hover{box-shadow:inset 0 0 0 2px var(--blue);color:var(--blue-d)}
.arrow{font-family:'Fredoka';font-weight:600;color:var(--blue-d)}
.arrow:hover{text-decoration:underline}

.note{background:var(--ink);color:#e7ecf5;font-size:.82rem;text-align:center;padding:.5em 1em}
.note b{color:var(--yellow)}

/* Polaroid-Foto */
.photo{position:relative;background:var(--blue-s);border:7px solid #fff;border-radius:6px;overflow:hidden;box-shadow:var(--shadow)}
.photo::after{content:"Bild folgt";position:absolute;left:10px;bottom:8px;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--blue-d);opacity:.6;font-weight:700}
.photo .ph-ic{position:absolute;inset:0;display:grid;place-items:center;opacity:.4}
.photo .ph-ic svg{width:44px;height:44px;stroke-width:1.4}
.tilt-l{transform:rotate(-2.2deg)} .tilt-r{transform:rotate(2deg)}
.p-blue{background:var(--blue-s);color:var(--blue)} .p-green{background:var(--green-s);color:var(--green)}
.p-yellow{background:var(--yellow-s);color:var(--yellow-d)} .p-coral{background:var(--coral-s);color:var(--coral)}

/* Krakel-Strich */
.scribble{position:relative;display:inline-block}
.scribble svg{position:absolute;left:0;right:0;bottom:-.32em;width:100%;height:.4em}

/* Util + Header */
.util{background:var(--blue-d);color:#dcf0fa;font-size:.84rem;font-weight:600}
.util .wrap{display:flex;justify-content:space-between;align-items:center;min-height:38px;gap:1em}
.util a{color:#fff} .util a:hover{color:#cdeb8a} .util .r{display:flex;gap:1.5em;flex-wrap:wrap}
header.gsw-header{background:#fff;border-bottom:2px solid var(--blue-s);position:sticky;top:0;z-index:40}
.nav{display:flex;align-items:center;min-height:120px;gap:2.4em}
.brand{flex:none;display:flex;align-items:center}
.brand img{height:100px;width:auto;display:block}
.menu{flex:1;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.35em .35em;list-style:none}
.menu a{display:block;padding:.5em .95em;font-family:'Fredoka';font-weight:500;font-size:1.12rem;border-radius:11px;transition:background .14s,color .14s;white-space:nowrap}
.menu a:hover{background:var(--lime);color:#fff}
.menu li{position:relative}
.menu .has-sub>a::after{content:"";display:inline-block;width:.4em;height:.4em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:.5em;opacity:.65}
.submenu{position:absolute;top:calc(100% + 4px);left:0;min-width:230px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:8px;margin:0;list-style:none;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .14s,transform .14s;z-index:100}
.submenu.right{left:auto;right:0}
.menu li.has-sub:hover>.submenu{opacity:1;visibility:visible;transform:translateY(0)}
.menu li.has-sub:hover>a{background:var(--lime);color:#fff}
.submenu li{position:static}
.submenu a{display:block;padding:.5em .85em;border-radius:9px;font-family:'Fredoka';font-weight:500;font-size:.96rem;white-space:nowrap;color:var(--ink)}
.submenu a:hover{background:var(--lime);color:#fff}
.burger{display:none;margin-left:auto;background:none;border:0;cursor:pointer;color:var(--ink)}

/* Hero */
.hero{background:var(--cream);position:relative;overflow:hidden}
.hero .grid{display:grid;grid-template-columns:1.04fr .96fr;gap:48px;align-items:center;padding:60px 0 64px;position:relative;z-index:2}
.hero h1{font-size:clamp(2.3rem,4.8vw,3.5rem);margin:.3em 0 .55em;font-weight:700}
.hero .lead{max-width:30em}
.hero .cta{display:flex;gap:14px;margin-top:26px;flex-wrap:wrap;align-items:center}
.deco{position:absolute;z-index:1;pointer-events:none}
.deco.sun{top:34px;right:42%;color:var(--yellow)}
.heroimg{position:relative}
.heroimg .photo{aspect-ratio:5/4}
.sticker{position:absolute;right:-14px;top:-18px;background:var(--coral);color:#fff;font-family:'Fredoka';font-weight:600;font-size:.92rem;padding:12px 16px;border-radius:14px;box-shadow:var(--shadow);transform:rotate(4deg);max-width:180px;line-height:1.25}
.sticker small{display:block;font-weight:500;opacity:.9;font-size:.78rem}

/* Quick tiles */
.quick{margin-top:-34px;position:relative;z-index:5}
.qgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.qtile{border-radius:18px;padding:22px 20px;color:#fff;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow);transition:transform .14s}
.qtile:hover{transform:translateY(-5px)}
.qtile .qi{width:46px;height:46px;border-radius:13px;background:rgba(255,255,255,.22);display:grid;place-items:center;margin-bottom:4px}
.qtile .qi svg{width:25px;height:25px}
.qtile b{font-family:'Fredoka';font-weight:600;font-size:1.14rem}
.qtile small{font-size:.88rem;opacity:.95}
.q-blue{background:var(--blue)} .q-green{background:var(--green)} .q-coral{background:var(--coral)}
.q-yellow{background:var(--yellow);color:#5a3d00}
.q-yellow .qi{background:rgba(90,61,0,.14)}

.gsw-home section{padding:64px 0;margin:0}
.sec-head{margin-bottom:30px}
.sec-head h2{font-size:clamp(1.8rem,3.4vw,2.4rem);margin-top:.2em;font-weight:700}
.head-row{display:flex;align-items:baseline;justify-content:space-between;gap:1em;flex-wrap:wrap}

/* News */
.news{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.post{background:#fff;border-radius:18px;box-shadow:var(--shadow-sm);overflow:hidden;border:1px solid #f1f1f1;transition:transform .14s,box-shadow .14s}
.post:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.post .ph{aspect-ratio:3/2;position:relative;display:grid;place-items:center}
.post .ph::after{content:"Bild folgt";position:absolute;left:12px;bottom:10px;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700;opacity:.55}
.post .ph svg{width:42px;height:42px;opacity:.45;stroke-width:1.4}
.post .body{font-family:'Nunito',system-ui,sans-serif;color:var(--ink);background:var(--surface);line-height:1.6;font-size:17px;font-weight:500;-webkit-font-smoothing:antialiased}
.tag{display:inline-block;font-family:'Fredoka';font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;padding:.32em .7em;border-radius:8px;margin-bottom:.6em}
.t-blue{background:var(--blue-s);color:var(--blue-d)} .t-green{background:var(--green-s);color:var(--green-d)} .t-yellow{background:var(--yellow-s);color:var(--yellow-d)}
.post h3{font-size:1.24rem;margin-bottom:.3em}
.post p{font-size:.95rem;color:var(--ink-2)}
.post .date{font-size:.82rem;color:var(--ink-2);font-weight:700;margin-top:.6em}

/* Schulleben – bunte Kacheln */
.bg-cream{background:var(--cream)}
.life{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.lcard{background:#fff;border-radius:18px;padding:26px 22px;box-shadow:var(--shadow-sm);border-bottom:5px solid var(--blue);transition:transform .14s}
.lcard:hover{transform:translateY(-5px)}
.lcard .li{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;margin-bottom:14px}
.lcard .li svg{width:28px;height:28px}
.lcard h3{font-size:1.2rem;margin-bottom:.2em}
.lcard p{font-size:.9rem;color:var(--ink-2)}
.b-blue{border-color:var(--blue)} .b-blue .li{background:var(--blue-s);color:var(--blue)}
.b-green{border-color:var(--green)} .b-green .li{background:var(--green-s);color:var(--green)}
.b-yellow{border-color:var(--yellow)} .b-yellow .li{background:var(--yellow-s);color:var(--yellow-d)}
.b-coral{border-color:var(--coral)} .b-coral .li{background:var(--coral-s);color:var(--coral)}

/* Termine */
.termine{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:start}
.tlist{list-style:none}
.tlist li{display:flex;gap:18px;padding:16px 0;border-bottom:2px dashed #e9e9e9;align-items:center}
.tlist li:first-child{padding-top:0}
.tdate{flex:none;width:58px;text-align:center;border-radius:13px;padding:8px 0;color:#fff}
.tdate .d{font-family:'Fredoka';font-size:1.4rem;font-weight:700;line-height:1}
.tdate .m{font-size:.72rem;font-weight:700;text-transform:uppercase}
.td-blue{background:var(--blue)} .td-green{background:var(--green)} .td-coral{background:var(--coral)} .td-yellow{background:var(--yellow);color:#5a3d00}
.titem h3{font-size:1.1rem} .titem p{font-size:.88rem;color:var(--ink-2)}
.tcard{background:var(--blue);color:#fff;border-radius:18px;padding:28px;box-shadow:var(--shadow)}
.tcard h3{font-size:1.3rem;margin-bottom:.4em}
.tcard p{font-size:.95rem;color:#e7f6fd;margin-bottom:1.1em}

/* OGS band */
.ogs{padding:0}
.ogs .inner{background:var(--green);color:#fff;border-radius:26px;padding:44px;display:grid;grid-template-columns:1.4fr 1fr;gap:34px;align-items:center;box-shadow:var(--shadow)}
.ogs h2{color:#fff;font-size:clamp(1.7rem,3.2vw,2.3rem)}
.ogs p{color:#e7f6ec;margin:.5em 0 1.2em}
.ogs .cta{display:flex;gap:12px;flex-wrap:wrap}
.speise{background:rgba(255,255,255,.16);border-radius:18px;padding:24px}
.speise b{font-family:'Fredoka';font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.speise ul{list-style:none;margin-top:.5em;font-size:.95rem;color:#f1fff5}
.speise li{padding:.28em 0;border-bottom:1px solid rgba(255,255,255,.2)}
.speise li:last-child{border:0}

/* Förderverein */
.foev .inner{background:var(--yellow-s);border:2px solid #ffe6a3;border-radius:26px;padding:40px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.foev h2{font-size:clamp(1.7rem,3.2vw,2.1rem)}
.foev p{color:#6b5320;margin:.4em 0 1.1em}
.foev .cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.foev .photo{aspect-ratio:16/11}

/* Kontakt */
.kontakt{background:var(--cream)}
.kontakt .grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.cbox{background:#fff;border-radius:20px;padding:30px;box-shadow:var(--shadow-sm)}
.cbox h3{font-size:1.35rem;margin-bottom:.5em}
.cline{display:flex;gap:.7em;align-items:flex-start;margin:.55em 0;color:var(--ink-2)}
.cline .ci{color:var(--blue);flex:none;margin-top:.15em}
.cline b{color:var(--ink)} .cline a{color:var(--blue-d);font-weight:700}
.hours{margin-top:1em;border-top:2px dashed #eee;padding-top:1em}
.hours div{display:flex;justify-content:space-between;padding:.25em 0;font-size:.95rem;color:var(--ink-2)}
.hours b{color:var(--ink)}
.kontakt .photo{min-height:300px}

/* Footer */
footer.gsw-footer{background:var(--ink);color:#c2cde0;padding:54px 0 26px}
.fcols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px;margin-bottom:32px}
footer.gsw-footer h4{color:#fff;font-family:'Fredoka';font-weight:600;font-size:1rem;margin-bottom:.8em}
footer.gsw-footer ul{list-style:none} footer.gsw-footer li{padding:.3em 0}
footer.gsw-footer a{color:#d4ddee} footer.gsw-footer a:hover{color:#fff;text-decoration:underline}
.fbrand{display:flex;align-items:center;gap:.6em;margin-bottom:.6em}
.fbrand .mono{width:42px;height:42px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-family:'Fredoka';font-weight:700}
.fbrand b{font-family:'Fredoka';color:#fff;font-size:1.2rem}
.legal{border-top:1px solid #38465e;padding-top:18px;display:flex;justify-content:space-between;gap:1em;flex-wrap:wrap;font-size:.86rem;color:#9aa9c2}
.legal a{color:#fff;font-weight:600}

@media(max-width:900px){
  .menu,.util{display:none}.burger{display:block}
  .hero .grid,.termine,.ogs .inner,.foev .inner,.kontakt .grid{grid-template-columns:1fr;gap:30px}
  .qgrid{grid-template-columns:1fr 1fr}.news{grid-template-columns:1fr}
  .life{grid-template-columns:1fr 1fr}.fcols{grid-template-columns:1fr 1fr}
  .quick{margin-top:30px}.deco.sun{display:none}
}
@media(max-width:540px){.qgrid,.life,.fcols{grid-template-columns:1fr}}

/* === Cookie-Banner: Krümelmonster === */
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:90;max-width:760px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 14px 44px rgba(34,50,76,.24);display:flex;align-items:center;gap:20px;padding:14px 24px 14px 18px}
.cookie-banner.hidden{display:none}
.kruemel{flex:none;width:110px;height:142px;overflow:visible;animation:k-bob 2.6s ease-in-out infinite}
.cb-text{flex:1;min-width:150px}
.cb-text b{font-family:'Fredoka';font-weight:600;font-size:1.16rem;display:block;color:var(--ink)}
.cb-text p{font-size:.9rem;color:var(--ink-2);margin-top:.1em}
.cb-actions{display:flex;gap:10px;flex-wrap:wrap;flex:none}
.cb-actions .btn{font-size:.92rem;padding:.55em 1.05em}
.kruemel .mouth,.kruemel .cookie,.kruemel .pupil,.kruemel .crumb{transform-box:fill-box;transform-origin:center}
.kruemel .mouth{animation:k-chomp 1.9s ease-in-out infinite}
.kruemel .cookie{animation:k-catch 1.9s cubic-bezier(.45,0,.7,1) infinite}
.kruemel .pupil{animation:k-goog 1.7s ease-in-out infinite}
.kruemel .crumb{opacity:0;animation:k-crumb 1.9s ease-in infinite}
@keyframes k-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes k-chomp{0%,40%{transform:scaleY(1)}52%{transform:scaleY(.24)}66%,100%{transform:scaleY(1)}}
@keyframes k-catch{0%{transform:translateY(-50px) scale(1);opacity:1}42%{transform:translateY(0) scale(1);opacity:1}50%{transform:translateY(3px) scale(.85);opacity:1}58%{transform:translateY(3px) scale(.12);opacity:0}74%{transform:translateY(-50px) scale(1);opacity:0}100%{transform:translateY(-50px) scale(1);opacity:1}}
@keyframes k-goog{0%,100%{transform:translate(0,0)}25%{transform:translate(2px,-1px)}50%{transform:translate(-1px,1px)}75%{transform:translate(1px,2px)}}
@keyframes k-crumb{0%,52%{opacity:0;transform:translate(0,0)}58%{opacity:1}100%{opacity:0;transform:translate(var(--cx,0),18px)}}
@media(prefers-reduced-motion:reduce){.kruemel,.kruemel *{animation:none!important}}
@media(max-width:640px){.cookie-banner{flex-direction:column;text-align:center;bottom:10px;left:10px;right:10px;padding:18px}.cb-actions{justify-content:center}}

/* ===== Ergänzungen für WordPress (02.09.) ===== */
.gsw-home h1,.gsw-home h2,.gsw-home h3,.gsw-home p{margin-top:0}
.gsw-home .sec-head h2{margin:.15em 0 0}
.gsw-home ul{list-style:none;padding:0;margin:0}
.gsw-home .cta{display:flex;gap:1em;align-items:center;flex-wrap:wrap}
.menu,.submenu{margin:0;padding:0}
.nav .burger svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}
@media(max-width:900px){
  .nav{flex-wrap:wrap;min-height:90px}
  .nav.open .menu{display:flex;flex-direction:column;align-items:stretch;width:100%;padding:8px 0 16px}
  .nav.open .menu a{white-space:normal}
  .nav.open .submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 0 14px;min-width:0;display:none}
  .nav.open .menu li.has-sub.open>.submenu,.nav.open .menu li.has-sub:focus-within>.submenu{display:block}
  .brand img{height:64px}
}
.post .ph img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.photo img{width:100%;height:100%;object-fit:cover;border-radius:inherit;position:absolute;inset:0}
.photo{position:relative;overflow:hidden}
.photo.has-img .ph-ic,.photo.has-img::after{display:none}
.tlist h3,.tlist p{margin:0}
.speise ul{list-style:none;padding:0;margin:0}
.speise b{display:block;margin-bottom:.4em}
/* Innenseiten: Kadence-Inhalt an die Optik anpassen */
body:not(.home) #inner-wrap{padding-top:1rem}
.entry-header .entry-title{font-family:'Fredoka',sans-serif}
.site-footer{display:none}
.gsw-util{background:var(--blue-d)}
.gsw-404{text-align:center;padding:3rem 1rem 4rem}
.gsw-404 .kruemel{width:140px;height:auto;margin:0 auto 1rem;display:block}

/* Spezifitäts-Fixes gegen Kadence-Link-Styles */
.gsw-home a.btn,.gsw-404 a.btn{text-decoration:none}
.gsw-home a.btn-ghost{color:var(--ink)}
.gsw-home .ogs a.btn-ghost{color:var(--ink)}
.gsw-home .post h3 a,.gsw-home .lcard,.gsw-home .qtile{text-decoration:none}

.post .ph.has-img::after{display:none}
.post .ph.has-img{padding:0}
.post .ph img{display:block}

/* ===== Foto-Karussell (02.09.) ===== */
.gsw-slider{margin:1.5rem 0 2rem;outline:none}
.gsw-slider__stage{position:relative;background:var(--cream);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm)}
.gsw-slider__fig{margin:0;height:clamp(280px,58vh,600px);display:flex;align-items:center;justify-content:center;flex-direction:column}
.gsw-slider__fig img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;cursor:zoom-in;display:block}
.gsw-slider__fig figcaption{position:absolute;left:0;right:0;bottom:0;background:rgba(34,50,76,.72);color:#fff;font-size:.9rem;padding:.5em 4rem;text-align:center}
.gsw-slider__btn{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:0;background:#fff;color:var(--ink);font-size:2rem;line-height:1;cursor:pointer;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;font-family:'Fredoka';z-index:2}
.gsw-slider__btn.prev{left:14px}.gsw-slider__btn.next{right:14px}.gsw-slider__btn:hover{background:var(--yellow)}
.gsw-slider__full{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:12px;border:0;background:#fff;cursor:pointer;font-size:1.2rem;box-shadow:var(--shadow-sm);z-index:2}
.gsw-slider__count{position:absolute;top:14px;left:14px;background:rgba(34,50,76,.75);color:#fff;font-family:'Fredoka';font-weight:600;font-size:.85rem;padding:.25em .7em;border-radius:999px;z-index:2}
.gsw-slider__thumbs{display:flex;gap:8px;overflow-x:auto;padding:10px 2px;scrollbar-width:thin}
.gsw-slider__thumbs button{flex:0 0 auto;width:84px;height:60px;padding:0;border:3px solid transparent;border-radius:10px;overflow:hidden;background:none;cursor:pointer;opacity:.7;transition:opacity .15s,border-color .15s}
.gsw-slider__thumbs button img{width:100%;height:100%;object-fit:cover;display:block}
.gsw-slider__thumbs button.is-active,.gsw-slider__thumbs button:hover{opacity:1;border-color:var(--yellow)}
.gsw-lightbox{position:fixed;inset:0;background:rgba(15,22,36,.94);z-index:9999;display:none;align-items:center;justify-content:center}
.gsw-lightbox.is-open{display:flex}
.gsw-lightbox img{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:8px}
.gsw-lightbox__close{position:absolute;top:16px;right:20px;background:none;border:0;color:#fff;font-size:2.6rem;cursor:pointer;line-height:1}
.gsw-lightbox__btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.15);border:0;color:#fff;font-size:2.4rem;width:52px;height:52px;border-radius:50%;cursor:pointer}
.gsw-lightbox__btn.prev{left:18px}.gsw-lightbox__btn.next{right:18px}
.gsw-lightbox__cap{position:absolute;bottom:14px;left:0;right:0;text-align:center;color:#d4ddee;font-size:.9rem}
@media(max-width:640px){.gsw-slider__fig{height:clamp(220px,52vw,380px)}.gsw-slider__btn{width:38px;height:38px;font-size:1.5rem}.gsw-slider__thumbs button{width:64px;height:46px}}
/* Beitragsbild auf Einzelseiten: kleiner, proportional, unter der Überschrift */
.single-post .post-thumbnail,.single-post .post-thumbnail.alignwide{max-width:100%;margin:0 0 1.5rem}
.single-post .post-thumbnail img{width:100%;max-height:420px;object-fit:cover;border-radius:18px;aspect-ratio:auto}
.single-post .post-thumbnail-inner{padding:0 !important;height:auto !important}
.single-post .post-thumbnail-inner img{position:static !important;height:auto !important}
.entry-meta .posted-by,.entry-meta .meta-divider:first-of-type{display:none}
/* Fix: alte Galerie unter dem Karussell verstecken; Beitragsbild-Wrapper ohne Ratio-Leerfläche */
.wp-block-gallery[hidden]{display:none !important}
.single-post .post-thumbnail,.single-post .post-thumbnail-inner,.single-post .post-thumbnail-inner > *{height:auto !important;padding:0 !important;max-height:none;aspect-ratio:auto !important}
.single-post .post-thumbnail img{position:static !important;display:block;width:100%;height:auto !important;max-height:420px;object-fit:cover;border-radius:18px}
.single-post .post-thumbnail{margin:0 0 1.75rem !important}

/* Karussell-Buttons: SVG-Icons zentriert */
.gsw-slider__btn,.gsw-slider__full,.gsw-lightbox__btn,.gsw-lightbox__close{display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:0;font-size:0}
.gsw-slider__btn svg,.gsw-lightbox__btn svg{width:26px;height:26px}
.gsw-slider__full{width:46px;height:46px;border-radius:14px;background:var(--blue);color:#fff}
.gsw-slider__full svg{width:24px;height:24px}
.gsw-slider__full:hover{background:var(--blue-d)}
.gsw-lightbox__close svg{width:30px;height:30px}
.gsw-lightbox__btn{background:rgba(255,255,255,.18)}
.gsw-lightbox__btn:hover{background:rgba(255,255,255,.35)}
/* Untermenü: Lücke überbrücken + Schließverzögerung, damit die Maus sicher ins Untermenü kommt */
.menu li.has-sub::after{content:"";position:absolute;left:0;right:0;top:100%;height:16px}
.submenu{transition:opacity .15s,transform .15s,visibility 0s linear .35s}
.menu li.has-sub:hover>.submenu,.menu li.has-sub:focus-within>.submenu{opacity:1;visibility:visible;transform:translateY(0);transition-delay:0s}
.submenu::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.submenu a{padding:.6em 1em}
