/* GemoBet Casino — "Edelstein"-Identität: goldene Gravur auf dunkler
   Schokolade, Akzent Gem-Gelb (#ff0) + Saphir (#33f). Facettierte (gem-cut)
   Ecken statt runder Pillen. Variante gemobetcasino.com.de: reiner CSS-
   Facetten-Hero (kein Foto), dominantes Spiele-Raster zuerst, Live-Casino-
   und Freispiele-Banner, Cashback-Callout, 2-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:#eac764;
  --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:rgba(22,11,6,.92);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;justify-content:center;}
.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{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%);transition:transform .25s ease;
  display:flex;flex-direction:column;padding:20px;overflow-y:auto;
  border-left:1px solid var(--line);
}
.gb-mobile-nav.is-open{transform:translateX(0);}
.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:grid;grid-template-rows:0fr;overflow:hidden;margin:0!important;opacity:0;transition:grid-template-rows .2s ease,opacity .2s ease;
}
.gb-faq-collapsed > *{overflow:hidden;}
.gb-faq-open{
  display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows .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;}
.gb-footer__logo{height:26px;width:auto;}
.gb-footer__desc{color:var(--grey);font-size:13.5px;margin:14px 0 0;max-width:320px;}
.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 B (gemobetcasino.com.de, "casino-fokus"): reiner CSS-Facetten-
   Hero (kein Foto), dominantes Spiele-Raster direkt nach dem Hero, Live-
   Casino- + Freispiele-Banner, Cashback-Callout, 2-spaltiges Footer.
   =================================================================== */

/* Hero: pure CSS gem-facet composition, centered panel, no photo */
.gb-hero{
  position:relative;overflow:hidden;
  background:radial-gradient(120% 140% at 80% -10%,#3a2010 0%,var(--choc-deep) 60%);
}
.gb-hero__gem{position:absolute;inset:0;pointer-events:none;}
.gb-hero__gem i{position:absolute;display:block;clip-path:polygon(50% 0,100% 35%,82% 100%,18% 100%,0 35%);}
.gb-hero__gem i:nth-child(1){width:420px;height:420px;right:-90px;top:-120px;background:linear-gradient(150deg,var(--gold) 0%,var(--brown) 55%,transparent 100%);opacity:.28;}
.gb-hero__gem i:nth-child(2){width:260px;height:260px;right:6%;top:30%;background:linear-gradient(150deg,var(--sapphire) 0%,transparent 75%);opacity:.22;}
.gb-hero__gem i:nth-child(3){width:150px;height:150px;left:-40px;bottom:-30px;background:linear-gradient(150deg,var(--gem) 0%,transparent 75%);opacity:.18;}
.gb-hero__inner{position:relative;padding:64px 0 56px;display:flex;justify-content:center;}
.gb-hero__panel{max-width:640px;text-align:center;}
.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(27px,4.6vw,42px);font-weight:800;line-height:1.16;margin:0 0 14px;}
.gb-hero__sub{color:var(--ink-soft);font-size:15.5px;margin:0 auto 24px;max-width:520px;}
.gb-hero__ctas{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;}

/* Dominant game grid (leads the page) */
.gb-games{padding:8px 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(20px,3.2vw,26px);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(6,1fr);gap:12px;}
.gb-tile{
  position:relative;aspect-ratio:1/1.15;overflow:hidden;
  border:1px solid var(--line);display:flex;flex-direction:column;justify-content:flex-end;padding:12px;
}
.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--live{background:radial-gradient(120% 120% at 20% 0%,#1c3a4a 0%,var(--choc-deep) 65%);}
.gb-tile--spezial{background:radial-gradient(120% 120% at 20% 0%,#1a3a1e 0%,var(--choc-deep) 65%);}
.gb-tile__glyph{position:absolute;top:8px;right:8px;font-size:28px;line-height:1;color:var(--gold);opacity:.5;}
.gb-tile__name{position:relative;font-weight:800;font-size:13.5px;color:var(--ink);margin:0;}
.gb-tile__meta{position:relative;font-size:11px;color:var(--gold);margin:2px 0 0;}

/* Live-Casino + Freispiele banners */
.gb-banners{padding:40px 0 6px;}
.gb-banners__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.gb-banner{padding:24px 24px;position:relative;overflow:hidden;}
.gb-banner--live{background:linear-gradient(120deg,#1c3a4a 0%,var(--panel) 70%);border:1px solid var(--line);}
.gb-banner--spins{background:linear-gradient(120deg,#3a2410 0%,var(--panel) 70%);border:1px solid var(--line);}
.gb-banner__icon{font-size:30px;margin:0 0 10px;}
.gb-banner__title{font-weight:800;font-size:16.5px;color:var(--ink);margin:0 0 8px;}
.gb-banner__desc{font-size:13.5px;color:var(--ink-soft);margin:0 0 14px;}

/* Cashback callout */
.gb-cashback{padding:40px 0 6px;}
.gb-cashback__band{
  display:flex;align-items:center;gap:24px;flex-wrap:wrap;
  padding:28px 28px;background:linear-gradient(120deg,var(--choc) 0%,var(--panel-2) 100%);
  border:1px solid var(--line);
}
.gb-cashback__num{font-size:clamp(38px,6vw,54px);font-weight:800;color:var(--gem);line-height:1;flex-shrink:0;}
.gb-cashback__body{flex:1;min-width:220px;}
.gb-cashback__title{font-weight:800;font-size:16.5px;color:var(--ink);margin:0 0 6px;}
.gb-cashback__desc{font-size:13.5px;color:var(--ink-soft);margin:0;}

/* 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-tiles{grid-template-columns:repeat(3,1fr);}
  .gb-banners__grid{grid-template-columns:1fr;}
  .gb-teasers__grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:520px){
  .gb-tiles{grid-template-columns:repeat(2,1fr);}
  .gb-teasers__grid{grid-template-columns:1fr;}
  .gb-cashback__band{padding:20px;}
}
