@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(inter-var.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:700;font-display:swap;src:url(poppins-700.woff2) format("woff2")}
/* Global Sportgames – Template-CSS (Child-Template cassiopeia_gsg) */
:root{
  --red:#E30A1E; --red-600:#C40018; --red-50:#FFF1F2;
  --ink:#0B0E14; --ink-2:#121722; --ink-3:#1A2130; --ink-4:#252D3D;
  --line:rgba(255,255,255,.09); --line-dark:#E5E7EB;
  --on-dark:#EEF1F6; --muted-dark:#9AA3B2;
  --text:#141821; --muted:#5B6474; --bg-soft:#F4F5F8;
  --radius:18px; --radius-sm:12px;
  --shadow:0 10px 30px rgba(11,14,20,.08),0 2px 6px rgba(11,14,20,.05);
  --shadow-lg:0 30px 60px rgba(11,14,20,.18);
  --wrap:1200px;
  --ff-head:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --ff-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--ff-body);font-size:17px;line-height:1.65;color:var(--text);background:#fff;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--red);text-decoration:none}
a:hover{color:var(--red-600)}
h1,h2,h3,h4{font-family:var(--ff-head);font-weight:700;line-height:1.15;letter-spacing:-.01em;margin:0 0 .6em;color:inherit}
h1{font-size:clamp(2.1rem,4.6vw,3.9rem)}
h2{font-size:clamp(1.7rem,3.2vw,2.6rem)}
h3{font-size:1.25rem}
p{margin:0 0 1em}
.visually-hidden,.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:-999px;top:8px;background:#fff;color:var(--ink);padding:8px 14px;border-radius:8px;z-index:1000}
.skip-link:focus{left:12px}
:focus-visible{outline:3px solid #FF6B78;outline-offset:2px}

/* ---------- Topbar ---------- */
.gsg-topbar{background:#05070B;color:var(--muted-dark);font-size:13px}
.gsg-topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:38px}
.gsg-topbar a{color:var(--on-dark)}
.gsg-topbar .age{display:inline-flex;align-items:center;gap:8px}
.gsg-topbar .age b{display:inline-grid;place-items:center;width:28px;height:20px;border:1.5px solid var(--red);color:#fff;border-radius:5px;font-size:11px}
.gsg-topbar .tb-right{display:flex;gap:22px}
@media(max-width:760px){.gsg-topbar .tb-hide{display:none}}

/* ---------- Header ---------- */
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.gsg-header{position:sticky;top:0;z-index:900;background:rgba(11,14,20,.97);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--line)}
.gsg-header .wrap{display:flex;align-items:center;gap:28px;min-height:78px}
.gsg-brand{display:flex;align-items:center;flex:0 0 auto}
.gsg-brand svg{height:50px;width:auto;display:block}
.gsg-nav{margin-left:auto}
.gsg-nav ul{list-style:none;margin:0;padding:0}
.gsg-nav>ul,.gsg-nav .mod-menu{display:flex;align-items:center;gap:4px}
.gsg-nav li{position:relative}
.gsg-nav a,.gsg-nav .mod-menu__heading,.gsg-nav span.nav-header{display:block;padding:10px 14px;color:var(--on-dark);font-weight:600;font-size:15px;border-radius:10px;cursor:pointer}
.gsg-nav a:hover,.gsg-nav li.active>a,.gsg-nav li.current>a{color:#fff;background:rgba(255,255,255,.07)}
.gsg-nav li.active>a,.gsg-nav li.current>a{box-shadow:inset 0 -2px 0 var(--red)}
.gsg-nav li.parent>a::after,.gsg-nav li.deeper>a::after{content:"";display:inline-block;width:7px;height:7px;margin-left:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-3px) rotate(45deg);opacity:.7}
.gsg-nav ul ul{position:absolute;top:calc(100% + 8px);left:0;min-width:260px;background:var(--ink-2);border:1px solid var(--line);border-radius:14px;padding:8px;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s ease;display:block}
.gsg-nav ul ul::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.gsg-nav li:hover>ul,.gsg-nav li:focus-within>ul{opacity:1;visibility:visible;transform:none}
.gsg-nav ul ul a{font-weight:500;font-size:14.5px;padding:9px 12px}
.gsg-nav ul ul li.active>a{box-shadow:none;color:#fff;background:rgba(227,10,30,.18)}
.gsg-burger{display:none;margin-left:auto;background:none;border:1px solid var(--line);color:#fff;width:46px;height:46px;border-radius:12px;cursor:pointer}
.gsg-burger span{display:block;width:20px;height:2px;background:#fff;margin:4px auto;transition:.2s}
@media(max-width:1080px){
  .gsg-burger{display:block}
  .gsg-header .gsg-cta{display:none}
  .gsg-nav{position:fixed;inset:78px 0 auto 0;max-height:calc(100vh - 78px);overflow:auto;background:var(--ink);border-top:1px solid var(--line);padding:12px 20px 28px;display:none}
  .gsg-nav.open{display:block}
  .gsg-nav>ul,.gsg-nav .mod-menu{flex-direction:column;align-items:stretch}
  .gsg-nav ul ul{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:transparent;padding:0 0 0 14px;min-width:0}
  .gsg-nav a{font-size:17px;padding:12px 10px}
  .gsg-nav li.active>a,.gsg-nav li.current>a{box-shadow:inset 3px 0 0 var(--red)}
  body.nav-open .gsg-burger span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  body.nav-open .gsg-burger span:nth-child(2){opacity:0}
  body.nav-open .gsg-burger span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
}

/* ---------- Buttons ---------- */
.btn-gsg{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 24px;border-radius:999px;font-family:var(--ff-head);font-weight:700;font-size:15.5px;letter-spacing:.01em;line-height:1;border:2px solid transparent;transition:transform .15s ease,background .15s ease,box-shadow .15s ease;cursor:pointer;white-space:nowrap}
.btn-gsg svg{width:18px;height:18px;flex:0 0 auto}
.btn-gsg.primary{background:var(--red);color:#fff;box-shadow:0 10px 24px rgba(227,10,30,.35)}
.btn-gsg.primary:hover{background:var(--red-600);color:#fff;transform:translateY(-2px)}
.btn-gsg.ghost{border-color:rgba(255,255,255,.28);color:#fff;background:rgba(255,255,255,.04)}
.btn-gsg.ghost:hover{border-color:#fff;color:#fff;transform:translateY(-2px)}
.btn-gsg.dark{background:var(--ink);color:#fff}
.btn-gsg.dark:hover{background:var(--ink-3);color:#fff;transform:translateY(-2px)}
.btn-gsg.light{background:#fff;color:var(--ink)}
.btn-gsg.light:hover{color:var(--red);transform:translateY(-2px)}
.btn-gsg.outline{border-color:var(--line-dark);color:var(--text);background:#fff}
.btn-gsg.outline:hover{border-color:var(--ink);color:var(--ink)}
.btn-gsg.sm{padding:10px 16px;font-size:14px}
@media(max-width:1080px){.gsg-header .btn-gsg.gsg-cta{display:none}}

/* ---------- SP Page Builder Reset ---------- */
#sp-page-builder .sppb-section{margin:0}
#sp-page-builder .sppb-row-container{max-width:none;padding:0}
.gsg-main .sppb-addon-wrapper,.gsg-main .sppb-addon-text-block{margin:0!important}
.gsg-main .sppb-addon-text-block .sppb-addon-content{font-size:inherit;line-height:inherit}
.gsg-main .sppb-row{margin-left:0;margin-right:0}
.gsg-main .sppb-row>div[class*="sppb-col"]{padding-left:0;padding-right:0}
.gsg-main .sppb-column-addons>*:last-child{margin-bottom:0}

/* ---------- Section system ---------- */
.gsg-sec{padding:clamp(64px,8vw,112px) 0;position:relative}
.gsg-sec.soft{background:var(--bg-soft)}
.gsg-sec.dark{background:var(--ink);color:var(--on-dark)}
.gsg-sec.dark p{color:var(--muted-dark)}
.gsg-sec.tight{padding:56px 0}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--ff-head);font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:16px}
.eyebrow::before{content:"";width:28px;height:2px;background:currentColor;border-radius:2px}
.sec-head{max-width:760px;margin-bottom:48px}
.sec-head.center{text-align:center;margin-left:auto;margin-right:auto}
.sec-head.center .eyebrow::after{content:"";width:28px;height:2px;background:currentColor;border-radius:2px}
.sec-head p{font-size:1.1rem;color:var(--muted)}
.dark .sec-head p{color:var(--muted-dark)}
.lead{font-size:1.18rem;color:var(--muted)}
.dark .lead,.gsg-hero .lead{color:#C9CFDA}
.grid{display:grid;gap:24px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:980px){.g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}}

/* ---------- Hero ---------- */
.gsg-hero{position:relative;color:#fff;background:var(--ink);overflow:hidden;isolation:isolate}
.gsg-hero .bg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;max-width:none}
.gsg-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(11,14,20,.96) 0%,rgba(11,14,20,.85) 42%,rgba(11,14,20,.35) 100%),radial-gradient(1200px 500px at 0% 100%,rgba(227,10,30,.35),transparent 60%)}
.gsg-hero .wrap{padding-top:clamp(80px,11vw,150px);padding-bottom:clamp(120px,13vw,190px)}
.gsg-hero.sub .wrap{padding-top:clamp(64px,8vw,104px);padding-bottom:clamp(96px,10vw,128px)}
.gsg-hero h1{max-width:860px;margin-bottom:22px;color:#fff}
.gsg-hero h1 em{font-style:normal;color:var(--red);background:linear-gradient(90deg,#FF4D5E,#E30A1E);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.gsg-hero .lead{max-width:640px;font-size:1.2rem;margin-bottom:34px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px}
.hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px}
.chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);font-size:14px;font-weight:600;color:#fff}
.chip svg{width:16px;height:16px;color:var(--red)}
.chip.red{background:var(--red);border-color:var(--red)}
.breadcrumb-gsg{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;color:#AEB6C4;margin:0 0 22px;list-style:none;padding:0}
.breadcrumb-gsg a{color:#fff}
.breadcrumb-gsg li+li::before{content:"/";margin-right:8px;opacity:.5}

/* ---------- Feature cards (overlap) ---------- */
.overlap{margin-top:-96px;position:relative;z-index:2}
.fcard{background:#fff;border-radius:var(--radius);padding:30px 26px;box-shadow:var(--shadow);border:1px solid #EEF0F3;transition:transform .2s ease,box-shadow .2s ease}
.fcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.fcard h3{margin:18px 0 8px;font-size:1.15rem}
.fcard p{color:var(--muted);font-size:15.5px;margin:0}
.ico{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:var(--red-50);color:var(--red);flex:0 0 auto}
.ico svg{width:26px;height:26px}
.dark .ico{background:rgba(227,10,30,.14)}

/* ---------- Split ---------- */
.split{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,6vw,80px);align-items:center}
.split.rev>:first-child{order:2}
@media(max-width:900px){.split{grid-template-columns:1fr}.split.rev>:first-child{order:0}}
.media-stack{position:relative}
.media-stack img{border-radius:22px;box-shadow:var(--shadow-lg);width:100%;aspect-ratio:4/3;object-fit:cover}
.media-stack .float{position:absolute;right:-18px;bottom:-26px;background:var(--ink);color:#fff;border-radius:18px;padding:18px 22px;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:14px;max-width:270px}
.media-stack .float b{font-family:var(--ff-head);font-size:2rem;color:var(--red);line-height:1}
.media-stack .float span{font-size:14px;line-height:1.35;color:#C9CFDA}
@media(max-width:640px){.media-stack .float{right:12px;bottom:-22px}}
.checks{list-style:none;padding:0;margin:24px 0 32px;display:grid;gap:12px}
.checks li{position:relative;padding-left:36px;font-weight:500}
.checks li::before{content:"";position:absolute;left:0;top:2px;width:24px;height:24px;border-radius:50%;background:var(--red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/14px no-repeat}
.checks.two{grid-template-columns:1fr 1fr}
@media(max-width:640px){.checks.two{grid-template-columns:1fr}}

/* ---------- Stats ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--ink-2)}
.stats>div{padding:30px 26px;border-right:1px solid var(--line)}
.stats>div:last-child{border-right:0}
.stats b{display:block;font-family:var(--ff-head);font-size:clamp(2rem,3.4vw,2.8rem);color:#fff;line-height:1.05}
.stats b i{font-style:normal;color:var(--red)}
.stats span{color:var(--muted-dark);font-size:15px}
@media(max-width:820px){.stats{grid-template-columns:1fr 1fr}.stats>div:nth-child(2){border-right:0}.stats>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}

/* ---------- Location cards ---------- */
.loc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media(max-width:980px){.loc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.loc-grid{grid-template-columns:1fr}}
.loc{position:relative;display:flex;flex-direction:column;gap:6px;padding:24px;border-radius:var(--radius);background:var(--ink-2);border:1px solid var(--line);color:var(--on-dark);transition:border-color .2s,transform .2s,background .2s}
.loc:hover{border-color:rgba(227,10,30,.6);transform:translateY(-3px);background:var(--ink-3)}
.loc .brand{align-self:flex-start;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.08);color:#fff;margin-bottom:6px}
.loc .brand.tipico{background:rgba(227,10,30,.18);color:#FF8A95}
.loc .brand.tipwin{background:rgba(59,130,246,.16);color:#93C5FD}
.loc h3{font-size:1.2rem;margin:0;color:#fff}
.loc address{font-style:normal;color:var(--muted-dark);font-size:15.5px;line-height:1.5}
.loc address small{color:inherit;opacity:.75}
.loc .acts{display:flex;gap:16px;margin-top:12px;font-size:14.5px;font-weight:600}
.loc .acts a{color:#fff;display:inline-flex;align-items:center;gap:6px}
.loc .acts a:hover{color:#FF6B78}
.loc .acts svg{width:16px;height:16px}
.soft .loc,.light .loc{background:#fff;border-color:#E8EAEE;color:var(--text);box-shadow:var(--shadow)}
.soft .loc h3,.light .loc h3{color:var(--text)}
.soft .loc address,.light .loc address{color:var(--muted)}
.soft .loc .acts a,.light .loc .acts a{color:var(--text)}
.soft .loc .acts a:hover,.light .loc .acts a:hover{color:var(--red)}
.soft .loc:hover,.light .loc:hover{background:#fff;border-color:var(--red)}
.soft .loc .brand,.light .loc .brand{background:#F1F2F5;color:var(--text)}
.soft .loc .brand.tipico,.light .loc .brand.tipico{background:var(--red-50);color:var(--red-600)}
.soft .loc .brand.tipwin,.light .loc .brand.tipwin{background:#EFF6FF;color:#1D4ED8}
.city-filter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}
.city-filter a{padding:9px 16px;border-radius:999px;border:1px solid var(--line);color:var(--on-dark);font-weight:600;font-size:14.5px}
.city-filter a:hover{border-color:var(--red);color:#fff;background:rgba(227,10,30,.15)}
.soft .city-filter a,.light .city-filter a{border-color:#DDE0E6;color:var(--text);background:#fff}
.soft .city-filter a:hover,.light .city-filter a:hover{border-color:var(--red);color:var(--red)}

/* ---------- Service cards ---------- */
.scard{position:relative;border-radius:22px;overflow:hidden;background:#fff;border:1px solid #ECEEF2;box-shadow:var(--shadow);display:flex;flex-direction:column}
.scard img{aspect-ratio:16/10;object-fit:cover;width:100%}
.scard .in{padding:26px 26px 30px}
.scard h3{margin-bottom:10px}
.scard p{color:var(--muted);font-size:15.5px}
.scard .more{font-weight:700;font-family:var(--ff-head);font-size:15px;display:inline-flex;gap:8px;align-items:center}
.more svg,.scard .more svg{width:18px;height:18px}

/* ---------- Gallery ---------- */
.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:220px;gap:16px}
.gallery figure{margin:0;border-radius:18px;overflow:hidden;position:relative}
.gallery figure:first-child{grid-row:span 2}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.gallery figure:hover img{transform:scale(1.05)}
.gallery figcaption{position:absolute;left:14px;bottom:14px;background:rgba(11,14,20,.75);color:#fff;font-size:13px;font-weight:600;padding:6px 12px;border-radius:999px;backdrop-filter:blur(6px)}
@media(max-width:760px){.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:160px}.gallery figure:first-child{grid-column:span 2;grid-row:span 1}}

/* ---------- CTA band ---------- */
.cta-band{position:relative;border-radius:28px;padding:clamp(36px,5vw,60px);background:radial-gradient(600px 300px at 100% 0%,rgba(255,255,255,.18),transparent 60%),linear-gradient(120deg,#E30A1E,#9E0014);color:#fff;display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:center;overflow:hidden;box-shadow:0 30px 60px rgba(227,10,30,.25)}
.cta-band h2{margin-bottom:10px;color:#fff}
.cta-band p{color:rgba(255,255,255,.88);margin:0}
.cta-band .acts{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}
.cta-band .hours{display:inline-flex;align-items:center;gap:10px;background:rgba(0,0,0,.2);padding:8px 14px;border-radius:999px;font-weight:600;font-size:14.5px;margin-bottom:16px}
.cta-band .hours svg{width:18px;height:18px}
@media(max-width:860px){.cta-band{grid-template-columns:1fr}.cta-band .acts{justify-content:flex-start}}

/* ---------- Info cards (Standortseiten) ---------- */
.info-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:-64px;position:relative;z-index:2}
@media(max-width:900px){.info-cards{grid-template-columns:1fr}}
.icard{background:#fff;border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);border:1px solid #EEF0F3;display:flex;gap:16px;align-items:flex-start}
.icard h3{font-size:1.02rem;margin:2px 0 6px}
.icard p,.icard address{margin:0;color:var(--muted);font-style:normal;font-size:15.5px;line-height:1.55}
.icard a{font-weight:600}

/* ---------- Prose ---------- */
.prose{max-width:780px}
.prose h2{margin-top:1.6em}
.prose h3{margin-top:1.4em}
.prose ul{padding-left:1.2em}
.prose li{margin-bottom:.4em}
.prose.wide{max-width:none}
.legal h1{font-size:clamp(2rem,4vw,3rem)}
.legal h2{font-size:1.5rem;margin-top:2em}
.legal h3{font-size:1.15rem}
.legal p,.legal li{font-size:16px;color:#2B313C}

/* ---------- FAQ ---------- */
.faq{display:grid;gap:12px;max-width:880px;margin:0 auto}
.faq details{background:#fff;border:1px solid #E7E9EE;border-radius:16px;padding:0 24px;transition:box-shadow .2s}
.faq details[open]{box-shadow:var(--shadow)}
.faq summary{list-style:none;cursor:pointer;padding:20px 36px 20px 0;font-family:var(--ff-head);font-weight:700;font-size:1.05rem;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:4px;top:50%;width:12px;height:12px;border-right:2.5px solid var(--red);border-bottom:2.5px solid var(--red);transform:translateY(-70%) rotate(45deg);transition:.2s}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq details>div{padding:0 0 22px;color:var(--muted)}
.dark .faq details{background:var(--ink-2);border-color:var(--line)}
.dark .faq summary{color:#fff}

/* ---------- Responsible gaming ---------- */
.rg{display:flex;gap:20px;align-items:center;padding:22px 26px;border-radius:var(--radius);background:#FFF7ED;border:1px solid #FED7AA;color:#7C2D12}
.rg b.age{flex:0 0 auto;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;border:3px solid #EA580C;font-family:var(--ff-head);font-size:1.2rem;color:#EA580C}
.rg p{margin:0;font-size:15.5px}
.rg a{color:#9A3412;font-weight:700;text-decoration:underline}

/* ---------- Footer ---------- */
.gsg-footer{background:#07090D;color:var(--muted-dark);font-size:15.5px;padding-top:80px}
.gsg-footer .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:40px}
@media(max-width:960px){.gsg-footer .cols{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.gsg-footer .cols{grid-template-columns:1fr}}
.gsg-footer h4{color:#fff;font-size:15px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:18px}
.gsg-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.gsg-footer a{color:var(--on-dark)}
.gsg-footer a:hover{color:#FF6B78}
.gsg-footer .brandcol svg{height:54px;width:auto;margin-bottom:18px}
.gsg-footer .contact li{display:flex;gap:10px;align-items:flex-start}
.gsg-footer .contact svg{width:18px;height:18px;color:var(--red);flex:0 0 auto;margin-top:4px}
.gsg-footer .bottom{margin-top:56px;border-top:1px solid var(--line);padding:24px 0;display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between;font-size:14px}
.gsg-footer .bottom nav{display:flex;flex-wrap:wrap;gap:18px}
.gsg-footer .rg-note{margin-top:22px;display:flex;gap:12px;align-items:center;font-size:13.5px;line-height:1.5;color:#8A93A3}
.gsg-footer .rg-note b{flex:0 0 auto;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:2px solid var(--red);color:#fff;font-family:var(--ff-head);font-size:14px}
.gsg-footer .seo-line{font-size:13px;color:#6B7383;margin-top:6px}

/* ---------- Joomla Systemmeldungen / Fallback-Inhalte ---------- */
.gsg-main>#system-message-container{max-width:var(--wrap);margin:20px auto;padding:0 24px}
.gsg-main .com-content-article,.gsg-main .item-page,.gsg-main .com-contact,.gsg-main .search,.gsg-main .com-content-category-blog{max-width:860px;margin:60px auto;padding:0 24px}
.back-top{position:fixed;right:18px;bottom:18px;width:46px;height:46px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;box-shadow:0 10px 24px rgba(227,10,30,.4);opacity:0;pointer-events:none;transition:.2s;z-index:800}
.back-top.show{opacity:1;pointer-events:auto}
.back-top:hover{color:#fff}
.back-top svg{width:20px;height:20px}

/* Reveal animation */
@media (prefers-reduced-motion:no-preference){
  .js-rv .rv{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
  .js-rv .rv.in{opacity:1;transform:none}
}
@media(max-width:600px){.gsg-brand svg{height:42px}.gsg-header .wrap{min-height:68px}.gsg-nav{inset:68px 0 auto 0}body{font-size:16px}.gsg-hero .lead{font-size:1.08rem}.rg{flex-direction:column;align-items:flex-start}}

#sp-page-builder>.page-header{display:none}

/* Joomla mod_menu (J5/J6) Anpassungen */
.gsg-nav .mod-menu__toggle-sub{display:none!important}
.gsg-nav .mod-menu__sub,.gsg-nav .mod-menu__sub[aria-hidden="true"]{display:block!important}
.gsg-nav .mod-menu>li{display:block}
.gsg-nav .mod-menu__sub.small{font-size:inherit}
@media(max-width:1080px){.gsg-nav li.parent>a::after,.gsg-nav li.deeper>a::after{display:none}}
/* === Cookie-Banner (GDPR) === */
.cc-window.cc-floating{font-family:var(--ff-body)!important;font-size:15px!important;line-height:1.6!important;max-width:460px!important;padding:30px 30px 26px!important;border-radius:22px!important;border:1px solid rgba(255,255,255,.1)!important;box-shadow:0 40px 90px rgba(0,0,0,.55)!important;background:#121722!important;color:#C9CFDA!important}
.cc-window.cc-floating::before{content:"";display:block;width:52px;height:52px;margin-bottom:16px;border-radius:14px;background:rgba(227,10,30,.15) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E30A1E' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a9 9 0 109 9 4 4 0 01-4-4 4 4 0 01-5-5z'/%3E%3Ccircle cx='8.5' cy='11.5' r='1' fill='%23E30A1E'/%3E%3Ccircle cx='12' cy='16' r='1' fill='%23E30A1E'/%3E%3Ccircle cx='15.5' cy='13' r='1' fill='%23E30A1E'/%3E%3C/svg%3E") center/26px no-repeat}
.cc-window .cc-message{display:block;margin:0 0 20px!important}
.cc-window .cc-message::before{content:"Cookies & Datenschutz";display:block;font-family:var(--ff-head);font-weight:700;font-size:1.3rem;line-height:1.2;color:#fff;margin-bottom:10px}
.cc-window .cc-message-text{display:block;margin-bottom:12px;color:#C9CFDA}
.cc-window .cc-link{display:inline-block!important;margin:0 16px 0 0!important;padding:0!important;opacity:1!important;color:#FF6B78!important;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.cc-window .cc-link:hover{color:#fff!important}
.cc-window .cc-compliance{display:flex!important;flex-direction:column;gap:10px;width:100%}
.cc-window .cc-btn{flex:1 1 auto;width:100%;margin:0!important;padding:13px 20px!important;border-radius:999px!important;font-family:var(--ff-head)!important;font-weight:700!important;font-size:15px!important;letter-spacing:.01em;border-width:2px!important;transition:transform .15s ease,background .15s ease}
.cc-window .cc-btn:hover{transform:translateY(-1px)}
.cc-window .cc-btn.cc-allow,.cc-window .cc-btn.cc-allowall{background:#E30A1E!important;border-color:#E30A1E!important;color:#fff!important;box-shadow:0 10px 24px rgba(227,10,30,.35)}
.cc-window .cc-btn.cc-allow:hover{background:#C40018!important;border-color:#C40018!important}
.cc-window .cc-btn.cc-deny,.cc-window .cc-btn.cc-dismiss{background:transparent!important;border-color:rgba(255,255,255,.28)!important;color:#fff!important}
.cc-window .cc-btn.cc-deny:hover{border-color:#fff!important;text-decoration:none}
.cc-revoke{font-family:var(--ff-head)!important;font-weight:700!important;font-size:13px!important;background:#121722!important;color:#fff!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:999px!important;padding:9px 16px!important;left:18px!important;bottom:18px!important;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.cc-revoke:hover{text-decoration:none!important;color:#FF6B78!important}
@media(max-width:520px){.cc-window.cc-floating{max-width:calc(100% - 24px)!important;padding:24px 20px!important;left:12px!important;right:12px!important}}
/* === Kontaktformular === */
.cc-window .cc-compliance .cc-btn+.cc-btn{margin-top:4px!important}
.gsg-main .com-contact{max-width:var(--wrap);margin:0 auto;padding:28px 24px 96px}
.page-kontakt .com-contact>.page-header,.page-kontakt .com-contact__container,.page-kontakt .com-contact>h2,.page-kontakt .com-contact__miscinfo{display:none!important}
.com-contact__form{max-width:860px;background:#fff;border:1px solid #EEF0F3;border-radius:24px;box-shadow:var(--shadow);padding:clamp(24px,4vw,44px)}
#contact-form fieldset{border:0;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}
#contact-form legend,#contact-form .field-spacer{display:none}
#contact-form .control-group{margin:0}
#contact-form .control-group:has(textarea),#contact-form .control-group:has(#jform_contact_emailmsg),#contact-form .control-group:has(button),#contact-form .control-group:has(input[type=checkbox]),#contact-form .control-group:has(.g-recaptcha){grid-column:1/-1}
#contact-form .control-label label{display:block;font-weight:600;font-size:14.5px;color:var(--text);margin-bottom:7px}
#contact-form .star{color:var(--red)}
#contact-form .form-control,#contact-form input[type=text],#contact-form input[type=email],#contact-form textarea{width:100%;font:inherit;font-size:16px;color:var(--text);background:#F7F8FA;border:1.5px solid #E2E5EA;border-radius:14px;padding:13px 16px;transition:border-color .15s,box-shadow .15s,background .15s}
#contact-form textarea{min-height:170px;resize:vertical}
#contact-form .form-control:focus,#contact-form textarea:focus{outline:0;background:#fff;border-color:var(--red);box-shadow:0 0 0 4px rgba(227,10,30,.12)}
#contact-form .form-control.invalid,#contact-form .invalid{border-color:#DC2626!important}
#contact-form label.invalid{color:#DC2626}
#contact-form .form-control-feedback,#contact-form .invalid-feedback{color:#DC2626;font-size:13.5px;margin-top:6px}
#contact-form button[type=submit],#contact-form .btn-primary{display:inline-flex;align-items:center;gap:10px;margin-top:6px;padding:15px 30px;border:0;border-radius:999px;background:var(--red);color:#fff;font-family:var(--ff-head);font-weight:700;font-size:16px;cursor:pointer;box-shadow:0 10px 24px rgba(227,10,30,.35);transition:transform .15s,background .15s}
#contact-form button[type=submit]:hover{background:var(--red-600);transform:translateY(-2px)}
#contact-form input[type=checkbox]{width:20px;height:20px;accent-color:var(--red);vertical-align:middle;margin:0 10px 0 0;flex:0 0 auto}
#contact-form .gdpr_privacy_policy_checkbox_container,#contact-form [class*=gdpr]{display:flex;align-items:flex-start;gap:8px;font-size:15px;line-height:1.5;color:var(--muted);margin:4px 0 8px;grid-column:1/-1}
#contact-form [class*=gdpr] a{color:var(--red);font-weight:600;text-decoration:underline}
@media(max-width:640px){#contact-form fieldset{grid-template-columns:1fr}}

#kontaktformular{scroll-margin-top:110px}
#contact-form .control-group:has(#gdpr_privacy_policy_checkbox){display:flex!important;flex-direction:row-reverse;justify-content:flex-end;align-items:flex-start;gap:12px;margin-top:4px!important;grid-column:1/-1}
#contact-form .control-group:has(#gdpr_privacy_policy_checkbox) .controls{margin:2px 0 0!important}
#contact-form .control-group:has(#gdpr_privacy_policy_checkbox) .control-label{display:block!important;font-size:15px;line-height:1.55;color:var(--muted)}
#contact-form .control-group:has(#gdpr_privacy_policy_checkbox) .control-label::before{content:"Ich habe die "}
#contact-form .control-group:has(#gdpr_privacy_policy_checkbox) .control-label::after{content:" gelesen und bin damit einverstanden, dass meine Angaben zur Bearbeitung meiner Anfrage verarbeitet werden. *"}
#contact-form a[data-role=gdpr_privacy_policy]{color:var(--red);font-weight:600;text-decoration:underline;text-underline-offset:3px}
#contact-form a[data-role=gdpr_privacy_policy] label{display:inline!important;margin:0!important;font-weight:600!important;font-size:15px!important;color:var(--red)!important;cursor:pointer}
#contact-form a[data-role=gdpr_privacy_policy] label span{display:none}
#contact-form textarea{min-height:150px}
#contact-form textarea[rows]{height:auto}

.legal h2[id]{scroll-margin-top:110px}

.com-contact__form{max-width:none}
#contact-form fieldset{grid-template-columns:1fr 1fr}
#contact-form .control-group:has(#jform_contact_subject){grid-column:auto}
@media(max-width:900px){#contact-form fieldset{grid-template-columns:1fr 1fr}#contact-form .control-group:has(#jform_contact_subject){grid-column:1/-1}}
@media(max-width:640px){#contact-form fieldset{grid-template-columns:1fr}}
