/* GemoBet — "Edelstein"-Identität: goldene Gravur auf dunkler Schokolade,
   Akzent Gem-Gelb (#ff0) + Saphir (#33f). Facettierte (gem-cut) Ecken statt
   runder Pillen. Variante gemobet1.de: Foto-Hero (Krone/Karten), Fakten-Leiste,
   Sport-Teaser-Band, 4-spaltiges Footer-Raster. */
:root{
  --ink:#f7ecd9;
  --ink-soft:#cdb997;
  --bg:#160b06;
  --choc-deep:#1c0f06;
  --choc:#49271c;
  --brown:#9b5127;
  --panel:#241408;
  --panel-2:#2c1810;
  --surface:#33200f;
  --line:rgba(250,210,97,.2);
  --gold:#fad261;
  --gold-deep:#eac664;
  --gem:#ffff00;
  --sapphire:#3333ff;
  --grey:#8a8a8a;
  --r-md:10px;
  --maxw:1180px;
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --cut:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);
}
*,*::before,*::after{box-sizing:border-box;min-width:0;}
html{overflow-x:clip;}
html,body{margin:0;padding:0;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul,ol{margin:0;padding:0;}
button{font-family:inherit;}
.gb-wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px;}
.gb-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.gb-num{font-variant-numeric:tabular-nums;}

/* ===== Header ===== */
.gb-header{
  position:sticky;top:0;z-index:40;
  background:#160b06;backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
.gb-header__inner{
  max-width:var(--maxw);margin:0 auto;padding:12px 20px;
  display:flex;align-items:center;gap:22px;
}
.gb-logo{display:inline-flex;align-items:center;flex-shrink:0;}
.gb-logo img{height:30px;width:auto;display:block;}
.gb-nav{display:flex;align-items:center;gap:20px;flex:1;}
.gb-nav__link{
  font-weight:600;font-size:14.5px;color:var(--ink-soft);
  padding:6px 2px;border-bottom:2px solid transparent;
}
.gb-nav__link:hover,.gb-nav__link.is-active{color:var(--gold);border-bottom-color:var(--gold);}
.gb-header__cta{margin-left:auto;flex-shrink:0;}
.gb-burger{
  display:none;margin-left:auto;flex-shrink:0;
  width:42px;height:42px;
  border:1px solid var(--line);background:var(--panel);clip-path:var(--cut);
  align-items:center;justify-content:center;cursor:pointer;
}
.gb-burger__bars{position:relative;width:18px;height:2px;background:var(--gold);}
.gb-burger__bars::before,.gb-burger__bars::after{
  content:"";position:absolute;left:0;width:18px;height:2px;background:var(--gold);
}
.gb-burger__bars::before{top:-6px;}
.gb-burger__bars::after{top:6px;}
.gb-mobile-nav{
  position:fixed;inset:0 0 0 auto;width:min(320px,86vw);height:100vh;
  background:var(--panel);z-index:60;
  transform:translateX(100%);visibility:hidden;
  transition:transform .25s ease,visibility .25s;
  display:flex;flex-direction:column;padding:20px;overflow-y:auto;
  border-left:1px solid var(--line);
}
.gb-mobile-nav.is-open{transform:translateX(0);visibility:visible;}
.gb-mobile-nav__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.gb-mobile-nav__close{
  width:38px;height:38px;border-radius:50%;border:none;
  background:transparent;padding:0;cursor:pointer;
}
.gb-mobile-nav__close img{width:38px;height:38px;}
.gb-mobile-nav__link{
  display:block;padding:13px 4px;font-weight:600;font-size:16px;color:var(--ink);
  border-bottom:1px solid var(--surface);
}
.gb-mobile-nav__link.is-active{color:var(--gold);}
.gb-mobile-nav__cta{margin-top:18px;}
.gb-scrim{
  position:fixed;inset:0;background:rgba(8,4,2,.6);z-index:55;
  opacity:0;pointer-events:none;transition:opacity .25s ease;
}
.gb-scrim.is-open{opacity:1;pointer-events:auto;}

/* ===== Buttons ===== */
.gb-btn{
  display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--gold),var(--gold-deep));
  color:var(--choc-deep);font-weight:800;font-size:14.5px;
  padding:12px 26px;white-space:nowrap;clip-path:var(--cut);
  transition:box-shadow .15s ease,transform .15s ease;
  border:none;
}
.gb-btn:hover{box-shadow:0 0 0 2px var(--gem);transform:translateY(-1px);}
.gb-btn--ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line);}
.gb-btn--ghost:hover{border-color:var(--gold);color:var(--gold);box-shadow:none;transform:none;background:transparent;}
.gb-btn--block{width:100%;}

/* ===== Generic panel ===== */
.gb-box{background:var(--panel);border:1px solid var(--line);}

/* ===== Breadcrumbs ===== */
.gb-crumbs{padding:16px 0 0;}
.gb-crumbs__list{list-style:none;display:flex;flex-wrap:wrap;gap:6px;font-size:13px;color:var(--grey);}
.gb-crumbs__list li::after{content:"/";margin-left:6px;color:var(--line);}
.gb-crumbs__list li:last-child::after{content:"";}
.gb-crumbs__list a:hover{color:var(--gold);}
.gb-crumbs__list li[aria-current] span{color:var(--gold);font-weight:600;}

/* ===== Article / SEO block ===== */
.gb-article{
  background:var(--panel);border:1px solid var(--line);
  padding:34px clamp(18px,4vw,48px);margin:28px auto 56px;max-width:840px;
}
.gb-article h1{font-size:clamp(25px,4vw,35px);line-height:1.22;font-weight:800;margin:0 0 18px;color:var(--gold);}
.gb-article h2{font-size:clamp(19px,3vw,24px);font-weight:800;margin:32px 0 12px;color:var(--ink);}
.gb-article h3{
  font-size:16.5px;font-weight:700;margin:20px 0 0;padding:14px 30px 14px 0;
  border-top:1px solid var(--surface);cursor:pointer;position:relative;color:var(--ink);
}
.gb-article h2 + h3{border-top:none;margin-top:14px;}
.gb-article h3::after{
  content:"+";position:absolute;right:2px;top:12px;font-size:20px;font-weight:700;color:var(--gold);
}
.gb-article h3[aria-expanded="true"]::after{content:"–";}
.gb-article h3 + p{margin-top:8px;}
.gb-article p{margin:0 0 16px;color:var(--ink-soft);}
.gb-article a{color:var(--gold);font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.gb-article ul{margin:0 0 16px;padding-left:22px;color:var(--ink-soft);}
.gb-article li{margin:0 0 6px;}
.gb-article table{
  width:100%;border-collapse:collapse;table-layout:fixed;margin:18px 0 22px;
  font-size:14.5px;overflow-wrap:anywhere;
}
.gb-article table td{
  border:1px solid var(--surface);padding:10px 12px;vertical-align:top;
  font-variant-numeric:tabular-nums;color:var(--ink-soft);
}
.gb-article table tr td:first-child{font-weight:700;width:38%;background:var(--surface);color:var(--gold);}
.gb-faq-collapsed{
  display:block;max-height:0;overflow:hidden;margin:0!important;opacity:0;transition:max-height .2s ease,opacity .2s ease;
}
.gb-faq-open{
  display:block;max-height:400px;opacity:1;transition:max-height .2s ease,opacity .2s ease;
}
@media (max-width:560px){
  .gb-article table{font-size:12px;}
  .gb-article table td{padding:7px 8px;}
}

/* ===== Footer ===== */
.gb-footer{background:var(--choc-deep);color:var(--ink-soft);margin-top:40px;border-top:1px solid var(--line);}
.gb-footer a:hover{color:var(--gold);}
.gb-footer__inner{max-width:var(--maxw);margin:0 auto;padding:40px 20px 26px;}
.gb-footer__grid{display:grid;gap:28px;}
@media (min-width:861px){.gb-footer__grid{grid-template-columns:1.3fr 1fr 1fr 1fr;}}
.gb-footer__logo{height:26px;width:auto;}
.gb-footer__desc{color:var(--grey);font-size:13.5px;margin:14px 0 0;max-width:260px;}
.gb-footer__col-title{font-weight:700;color:var(--gold);margin:0 0 12px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;}
.gb-footer__col a{display:block;padding:4px 0;color:var(--ink-soft);font-size:14px;}
.gb-footer__contact{display:block;padding:4px 0;color:var(--ink-soft);font-size:14px;}
.gb-footer__legal{
  border-top:1px solid var(--surface);margin-top:28px;padding-top:20px;
  font-size:12.5px;color:var(--grey);line-height:1.7;
}
.gb-footer__legal strong{color:var(--ink-soft);}

/* ===== 404 ===== */
.gb-404{
  min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:60px 20px;gap:16px;
}
.gb-404__code{font-size:clamp(48px,10vw,88px);font-weight:800;color:var(--gold);margin:0;}
.gb-404__text{font-size:18px;margin:0;max-width:420px;color:var(--ink-soft);}

/* ===== Responsive header collapse (spec p.3) ===== */
@media (max-width:860px){
  .gb-nav,.gb-header__cta{display:none;}
  .gb-burger{display:inline-flex;}
}
@media (min-width:861px){
  .gb-mobile-nav,.gb-scrim{display:none;}
}

/* ===================================================================
   Variante A (gemobet1.de, "übersicht+sport"): Foto-Hero mit Facetten-
   Overlay, Fakten-Leiste, Spielkategorien-Raster, Sportwetten-Teaser,
   Honesty-Box, 4er Teaser-Raster, 4-spaltiges Footer-Raster.
   =================================================================== */

/* Hero: photo + CSS-facet overlay (Edelstein-Schliff) */
.gb-hero{position:relative;overflow:hidden;background:var(--choc-deep);}
.gb-hero__media{position:absolute;inset:0;}
.gb-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 30%;opacity:.5;}
.gb-hero__media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(22,11,6,.94) 20%,rgba(22,11,6,.55) 55%,rgba(22,11,6,.88) 100%);
}
.gb-hero__facets{position:absolute;inset:0;pointer-events:none;opacity:.5;}
.gb-hero__facets i{position:absolute;display:block;}
.gb-hero__facets i:nth-child(1){width:220px;height:220px;right:6%;top:-40px;background:linear-gradient(135deg,var(--gem),transparent 70%);clip-path:polygon(50% 0,100% 38%,80% 100%,20% 100%,0 38%);opacity:.14;}
.gb-hero__facets i:nth-child(2){width:140px;height:140px;right:22%;bottom:-30px;background:linear-gradient(135deg,var(--sapphire),transparent 70%);clip-path:polygon(50% 0,100% 38%,80% 100%,20% 100%,0 38%);opacity:.16;}
.gb-hero__facets i:nth-child(3){width:90px;height:90px;right:2%;bottom:20%;background:linear-gradient(135deg,var(--gold),transparent 70%);clip-path:polygon(50% 0,100% 38%,80% 100%,20% 100%,0 38%);opacity:.22;}
.gb-hero__inner{position:relative;padding:60px 0 52px;}
.gb-hero__panel{max-width:540px;}
.gb-hero__eyebrow{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--gem);margin:0 0 12px;}
.gb-hero__title{color:var(--ink);font-size:clamp(26px,4.4vw,40px);font-weight:800;line-height:1.16;margin:0 0 14px;}
.gb-hero__sub{color:var(--ink-soft);font-size:15.5px;margin:0 0 22px;max-width:480px;}
.gb-hero__ctas{display:flex;gap:12px;flex-wrap:wrap;}

/* Fact strip */
.gb-facts{padding:30px 0 6px;}
.gb-facts__row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.gb-fact{padding:16px 14px;text-align:center;}
.gb-fact__icon{width:26px;height:26px;margin:0 auto 8px;display:block;}
.gb-fact__val{font-weight:800;font-size:17px;color:var(--gold);margin:0 0 2px;}
.gb-fact__label{font-size:12px;color:var(--grey);margin:0;text-transform:uppercase;letter-spacing:.03em;}

/* Game category grid + chip filter */
.gb-games{padding:44px 0 10px;}
.gb-games__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 16px;}
.gb-games__title{font-size:clamp(19px,3vw,24px);font-weight:800;color:var(--ink);margin:0;}
.gb-games__lead{font-size:13.5px;color:var(--grey);margin:4px 0 0;}
.gb-chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px;}
.gb-chip{
  padding:8px 16px;font-size:13px;font-weight:700;color:var(--ink-soft);
  background:var(--panel);border:1px solid var(--line);clip-path:var(--cut);
  cursor:pointer;
}
.gb-chip.is-active{background:var(--gold);color:var(--choc-deep);border-color:var(--gold);}
.gb-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.gb-tile{
  position:relative;aspect-ratio:1/1.05;overflow:hidden;
  border:1px solid var(--line);display:flex;flex-direction:column;justify-content:flex-end;padding:14px;
}
.gb-tile[hidden]{display:none;}
.gb-tile--slots{background:radial-gradient(120% 120% at 20% 0%,#5a3016 0%,var(--choc-deep) 65%);}
.gb-tile--jackpot{background:radial-gradient(120% 120% at 20% 0%,#6b4a12 0%,var(--choc-deep) 65%);}
.gb-tile--tisch{background:radial-gradient(120% 120% at 20% 0%,#3a1e40 0%,var(--choc-deep) 65%);}
.gb-tile--cashback{background:radial-gradient(120% 120% at 20% 0%,#1a3a1e 0%,var(--choc-deep) 65%);}
.gb-tile__glyph{position:absolute;top:10px;right:10px;font-size:34px;line-height:1;color:var(--gold);opacity:.5;}
.gb-tile__name{position:relative;font-weight:800;font-size:15px;color:var(--ink);margin:0;}
.gb-tile__meta{position:relative;font-size:12px;color:var(--gold);margin:2px 0 0;}

/* Sports teaser band */
.gb-sport{padding:44px 0 6px;}
.gb-sport__band{
  display:flex;align-items:center;gap:22px;flex-wrap:wrap;
  padding:26px 26px;background:linear-gradient(120deg,var(--choc) 0%,var(--panel-2) 100%);
  border:1px solid var(--line);
}
.gb-sport__icon{font-size:34px;flex-shrink:0;}
.gb-sport__body{flex:1;min-width:220px;}
.gb-sport__title{font-weight:800;font-size:16.5px;color:var(--ink);margin:0 0 6px;}
.gb-sport__desc{font-size:13.5px;color:var(--ink-soft);margin:0;}

/* Honesty box */
.gb-honesty{padding:36px 0 6px;}
.gb-honesty__box{background:var(--panel);border:1px solid var(--line);padding:24px 26px;}
.gb-honesty__title{font-weight:700;font-size:15.5px;margin:0 0 12px;color:var(--gold);}
.gb-honesty__list{list-style:none;display:flex;flex-direction:column;gap:10px;}
.gb-honesty__list li{
  display:flex;gap:10px;justify-content:space-between;font-size:14px;color:var(--ink-soft);
  border-bottom:1px dashed var(--surface);padding-bottom:10px;flex-wrap:wrap;
}
.gb-honesty__list li:last-child{border-bottom:none;padding-bottom:0;}
.gb-honesty__list a{font-weight:700;color:var(--gold);white-space:nowrap;}

/* Provider strip */
.gb-providers{padding:34px 0 6px;}
.gb-providers__title{font-size:12.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--grey);margin:0 0 12px;text-align:center;}
.gb-providers__row{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;}
.gb-providers__chip{padding:8px 18px;font-size:13.5px;font-weight:700;color:var(--ink-soft);background:var(--panel);border:1px solid var(--line);}

/* Teaser grid to subpages */
.gb-teasers{padding:38px 0 10px;}
.gb-teasers__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.gb-teaser{padding:18px;display:flex;flex-direction:column;gap:8px;}
.gb-teaser__title{font-weight:800;font-size:14.5px;margin:0;color:var(--gold);}
.gb-teaser__link{font-size:13px;color:var(--ink-soft);}
.gb-teaser__link::after{content:" →";color:var(--gold);}

/* Page intro band (subpages) */
.gb-page-band{padding:26px 0 6px;}
.gb-page-band__title{font-size:clamp(21px,4vw,29px);font-weight:800;margin:6px 0 8px;color:var(--gold);}
.gb-page-band__desc{max-width:640px;color:var(--ink-soft);margin:0;}

@media (max-width:860px){
  .gb-facts__row{grid-template-columns:repeat(2,1fr);}
  .gb-tiles{grid-template-columns:repeat(2,1fr);}
  .gb-teasers__grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:520px){
  .gb-teasers__grid{grid-template-columns:1fr;}
  .gb-sport__band{padding:20px;}
}
