/* Betninja1.com.de — Betninja Übersicht + Sportwetten. Chrome-CSS, kein Framework. */

:root{
  --bnj-bg:#0a0a0a;
  --bnj-bg-alt:#101828;
  --bnj-surface:#262626;
  --bnj-surface-2:#1a1a1a;
  --bnj-accent:#852bc0;
  --bnj-accent-light:#a855f7;
  --bnj-accent-dark:#5c1f8f;
  --bnj-text:#e5e7eb;
  --bnj-text-muted:#a3a3a3;
  --bnj-border:#404040;
  --bnj-on-accent:#ffffff;
  --bnj-radius:14px;
  --bnj-font: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--bnj-bg);
  color:var(--bnj-text);
  font-family:var(--bnj-font);
  line-height:1.6;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--bnj-accent-light);text-decoration:none;}
a:hover{text-decoration:underline;}
.bnj-wrap{max-width:1180px;margin:0 auto;padding:0 20px;}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ---------- Glyph / wordmark ---------- */
.bnj-glyph{
  display:inline-block;
  width:20px;height:20px;
  margin-right:8px;
  background:linear-gradient(135deg,var(--bnj-accent-light),var(--bnj-accent));
  clip-path:polygon(50% 0%,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0% 50%,39% 39%);
  vertical-align:-4px;
  flex:none;
}
.bnj-logo{
  display:inline-flex;
  align-items:center;
  font-weight:800;
  font-size:1.28rem;
  letter-spacing:.01em;
  color:var(--bnj-text);
  white-space:nowrap;
}
.bnj-logo span.bnj-logo__accent{color:var(--bnj-accent-light);}

/* ---------- Header ---------- */
.bnj-header{
  position:sticky;top:0;z-index:40;
  background:rgba(10,10,10,.88);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--bnj-border);
}
.bnj-header__row{
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;padding:14px 0;
}
.bnj-nav{display:flex;align-items:center;gap:4px;}
.bnj-nav a{
  color:var(--bnj-text-muted);
  font-size:.94rem;font-weight:600;
  padding:8px 12px;border-radius:8px;
  transition:color .15s,background .15s;
}
.bnj-nav a:hover,.bnj-nav a[aria-current="page"]{
  color:var(--bnj-text);background:rgba(133,43,192,.18);text-decoration:none;
}
.bnj-header__actions{display:flex;align-items:center;gap:10px;}
.bnj-cta{
  display:inline-block;
  background:linear-gradient(135deg,var(--bnj-accent-light),var(--bnj-accent-dark));
  color:var(--bnj-on-accent);
  font-weight:700;font-size:.92rem;
  padding:10px 18px;border-radius:10px;
  box-shadow:0 6px 18px rgba(133,43,192,.35);
  white-space:nowrap;
}
.bnj-cta:hover{text-decoration:none;filter:brightness(1.08);}
.bnj-burger{
  display:none;
  width:42px;height:42px;
  border:1px solid var(--bnj-border);
  border-radius:10px;
  background:var(--bnj-surface-2);
  position:relative;
  cursor:pointer;
}
.bnj-burger span,.bnj-burger span::before,.bnj-burger span::after{
  content:"";position:absolute;left:10px;right:10px;height:2px;background:var(--bnj-text);
  transition:transform .2s,opacity .2s;
}
.bnj-burger span{top:20px;}
.bnj-burger span::before{content:"";top:-7px;left:0;right:0;position:absolute;}
.bnj-burger span::after{content:"";top:7px;left:0;right:0;position:absolute;}
.bnj-burger[aria-expanded="true"] span{background:transparent;}
.bnj-burger[aria-expanded="true"] span::before{transform:translateY(7px) rotate(45deg);}
.bnj-burger[aria-expanded="true"] span::after{transform:translateY(-7px) rotate(-45deg);}

.bnj-mobile-nav{
  position:fixed;top:0;right:0;bottom:0;
  width:min(320px,84vw);
  background:var(--bnj-bg-alt);
  border-left:1px solid var(--bnj-border);
  transform:translateX(100%);
  transition:transform .25s ease;
  z-index:60;
  padding:20px;
  overflow-y:auto;
}
.bnj-mobile-nav.is-open{transform:translateX(0);}
.bnj-mobile-nav__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
.bnj-mobile-nav__close{
  width:36px;height:36px;border-radius:8px;border:1px solid var(--bnj-border);
  background:var(--bnj-surface-2);color:var(--bnj-text);font-size:1.1rem;cursor:pointer;
}
.bnj-mobile-nav a{
  display:block;padding:12px 8px;color:var(--bnj-text);font-weight:600;
  border-bottom:1px solid var(--bnj-border);
}
.bnj-mobile-nav .bnj-cta{margin-top:16px;width:100%;text-align:center;}
.bnj-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:50;
  opacity:0;pointer-events:none;transition:opacity .2s;
}
.bnj-overlay.is-open{opacity:1;pointer-events:auto;}

@media (max-width:860px){
  .bnj-nav{display:none;}
  .bnj-header__actions .bnj-cta{display:none;}
  .bnj-burger{display:block;}
}

/* ---------- Breadcrumbs ---------- */
.bnj-crumbs{padding:14px 0;font-size:.85rem;color:var(--bnj-text-muted);}
.bnj-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;}
.bnj-crumbs li:not(:last-child)::after{content:"/";margin-left:6px;color:var(--bnj-border);}
.bnj-crumbs a{color:var(--bnj-text-muted);}
.bnj-crumbs a:hover{color:var(--bnj-accent-light);}

/* ---------- Hero ---------- */
.bnj-hero{
  position:relative;
  background:linear-gradient(180deg,rgba(10,10,10,.35),rgba(10,10,10,.92)),var(--bnj-hero-img) center/cover no-repeat;
  border-bottom:1px solid var(--bnj-border);
}
.bnj-hero__inner{
  padding:64px 0 48px;
  display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center;
}
.bnj-hero__eyebrow{
  display:inline-block;color:var(--bnj-accent-light);font-weight:700;
  font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;
}
.bnj-hero__title{
  font-size:clamp(1.7rem,4vw,2.6rem);font-weight:800;line-height:1.15;
  margin:0 0 16px;color:var(--bnj-text);
}
.bnj-hero__lead{color:var(--bnj-text-muted);font-size:1.02rem;max-width:52ch;margin:0 0 24px;}
.bnj-hero__actions{display:flex;flex-wrap:wrap;gap:12px;}
.bnj-hero__ghost{
  display:inline-block;padding:10px 18px;border-radius:10px;
  border:1px solid var(--bnj-border);color:var(--bnj-text);font-weight:600;font-size:.92rem;
}
.bnj-hero__ghost:hover{border-color:var(--bnj-accent-light);text-decoration:none;}
.bnj-hero__figure{
  background:rgba(38,38,38,.55);border:1px solid var(--bnj-border);border-radius:var(--bnj-radius);
  padding:18px;display:flex;align-items:center;justify-content:center;
}
.bnj-hero__figure img{border-radius:10px;}
@media (max-width:820px){
  .bnj-hero__inner{grid-template-columns:1fr;padding:40px 0 32px;}
  .bnj-hero__figure{order:-1;max-width:220px;margin:0 auto;}
}

/* ---------- Stats bar ---------- */
.bnj-stats{padding:28px 0;border-bottom:1px solid var(--bnj-border);background:var(--bnj-bg-alt);}
.bnj-stats__row{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;}
.bnj-stat{
  background:var(--bnj-surface);border:1px solid var(--bnj-border);border-radius:12px;
  padding:14px 20px;text-align:center;min-width:150px;flex:1 1 150px;
}
.bnj-stat__value{display:block;font-size:1.3rem;font-weight:800;color:var(--bnj-accent-light);}
.bnj-stat__label{display:block;font-size:.8rem;color:var(--bnj-text-muted);margin-top:2px;}

/* ---------- Odds board (Sportwetten-Teaser) ---------- */
.bnj-section{padding:52px 0;}
.bnj-section--alt{background:var(--bnj-bg-alt);border-top:1px solid var(--bnj-border);border-bottom:1px solid var(--bnj-border);}
.bnj-section__head{max-width:640px;margin:0 auto 28px;text-align:center;}
.bnj-section__kicker{color:var(--bnj-accent-light);font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;display:block;margin-bottom:8px;}
.bnj-section__title{font-size:1.5rem;font-weight:800;margin:0 0 10px;color:var(--bnj-text);}
.bnj-section__lead{color:var(--bnj-text-muted);margin:0;}

.bnj-odds{
  display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:start;
}
.bnj-odds__board{
  background:var(--bnj-surface);border:1px solid var(--bnj-border);border-radius:var(--bnj-radius);overflow:hidden;
}
.bnj-odds__row{
  display:grid;grid-template-columns:1fr repeat(3,64px);gap:8px;align-items:center;
  padding:14px 16px;border-bottom:1px solid var(--bnj-border);
}
.bnj-odds__row:last-child{border-bottom:none;}
.bnj-odds__match{font-size:.9rem;color:var(--bnj-text);}
.bnj-odds__league{display:block;font-size:.74rem;color:var(--bnj-text-muted);margin-bottom:2px;}
.bnj-odds__price{
  font-variant-numeric:tabular-nums;
  text-align:center;background:var(--bnj-surface-2);border:1px solid var(--bnj-border);
  border-radius:8px;padding:6px 4px;font-weight:700;font-size:.88rem;color:var(--bnj-accent-light);
}
.bnj-odds__figure{
  background:rgba(38,38,38,.55);border:1px solid var(--bnj-border);border-radius:var(--bnj-radius);
  overflow:hidden;display:flex;
}
.bnj-odds__figure img{width:100%;height:100%;object-fit:cover;}
@media (max-width:760px){
  .bnj-odds{grid-template-columns:1fr;}
  .bnj-odds__figure{max-height:200px;}
}
@media (max-width:480px){
  .bnj-odds__row{grid-template-columns:1fr repeat(3,50px);padding:12px 10px;}
  .bnj-odds__price{font-size:.78rem;padding:5px 2px;}
}

/* ---------- Casino teaser strip ---------- */
.bnj-teaser-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.bnj-teaser-card{
  background:var(--bnj-surface);border:1px solid var(--bnj-border);border-radius:12px;overflow:hidden;
}
.bnj-teaser-card img{width:100%;aspect-ratio:216/282;object-fit:cover;}
.bnj-teaser-card__cap{padding:8px 10px;font-size:.78rem;color:var(--bnj-text-muted);}
@media (max-width:640px){.bnj-teaser-grid{grid-template-columns:repeat(2,1fr);}}

/* ---------- Bonus teaser card ---------- */
.bnj-bonus-card{
  display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;
  background:linear-gradient(120deg,rgba(133,43,192,.22),rgba(38,38,38,.5));
  border:1px solid var(--bnj-accent-dark);border-radius:var(--bnj-radius);
  padding:22px 24px;
}
.bnj-bonus-card__badge{
  width:56px;height:56px;border-radius:50%;
  background:linear-gradient(135deg,var(--bnj-accent-light),var(--bnj-accent-dark));
  display:flex;align-items:center;justify-content:center;flex:none;
}
.bnj-bonus-card__badge .bnj-glyph{margin:0;width:24px;height:24px;background:var(--bnj-on-accent);clip-path:polygon(50% 0%,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0% 50%,39% 39%);}
.bnj-bonus-card__title{margin:0 0 4px;font-weight:800;font-size:1.05rem;color:var(--bnj-text);}
.bnj-bonus-card__text{margin:0;color:var(--bnj-text-muted);font-size:.9rem;}
@media (max-width:640px){
  .bnj-bonus-card{grid-template-columns:1fr;text-align:center;}
  .bnj-bonus-card__badge{margin:0 auto;}
}

/* ---------- Payment strip (Ein-/Auszahlung) ---------- */
.bnj-pay-card{
  display:flex;gap:20px;align-items:center;
  background:var(--bnj-surface);border:1px solid var(--bnj-border);border-radius:var(--bnj-radius);
  padding:22px;
}
.bnj-pay-card img{width:84px;height:auto;flex:none;}
.bnj-pay-card__title{margin:0 0 6px;font-weight:800;color:var(--bnj-text);}
.bnj-pay-card__text{margin:0;color:var(--bnj-text-muted);font-size:.92rem;}
@media (max-width:480px){.bnj-pay-card{flex-direction:column;text-align:center;}}

/* ---------- Article / SEO block ---------- */
.bnj-article{padding:44px 0 56px;}
.bnj-article__inner{
  max-width:760px;margin:0 auto;
  background:var(--bnj-surface);border:1px solid var(--bnj-border);
  border-radius:var(--bnj-radius);padding:32px clamp(18px,4vw,44px);
}
.bnj-article__inner h1{
  font-size:clamp(1.5rem,3.4vw,2.15rem);line-height:1.22;margin:0 0 22px;color:var(--bnj-text);font-weight:800;
}
.bnj-article__inner h2{
  font-size:1.28rem;margin:34px 0 12px;color:var(--bnj-text);font-weight:800;
  padding-top:8px;border-top:1px solid var(--bnj-border);
}
.bnj-article__inner h2:first-of-type{border-top:none;padding-top:0;margin-top:8px;}
.bnj-article__inner h3{font-size:1.04rem;margin:20px 0 8px;color:var(--bnj-accent-light);font-weight:700;}
.bnj-article__inner p{margin:0 0 14px;color:var(--bnj-text-muted);}
.bnj-article__inner a{color:var(--bnj-accent-light);}
.bnj-article__inner table{
  width:100%;border-collapse:collapse;table-layout:fixed;margin:8px 0 18px;
  border:1px solid var(--bnj-border);border-radius:10px;overflow:hidden;
}
.bnj-article__inner td{
  padding:10px 14px;border-bottom:1px solid var(--bnj-border);
  font-size:.92rem;color:var(--bnj-text-muted);overflow-wrap:anywhere;
}
.bnj-article__inner tr:last-child td{border-bottom:none;}
.bnj-article__inner td:first-child{color:var(--bnj-text);font-weight:700;width:42%;}
@media (max-width:560px){
  .bnj-article__inner table{font-size:.84rem;}
  .bnj-article__inner td{padding:8px 10px;font-size:.82rem;}
}

/* FAQ accordion (progressive enhancement over h3+p) */
.bnj-faq-item{border-bottom:1px solid var(--bnj-border);}
.bnj-faq-item:last-child{border-bottom:none;}
.bnj-faq-item__q{
  margin:0;padding:14px 30px 14px 0;position:relative;cursor:pointer;
  font-size:1.02rem;color:var(--bnj-text);font-weight:700;
}
.bnj-faq-item__q::after{
  content:"+";position:absolute;right:2px;top:12px;font-size:1.3rem;color:var(--bnj-accent-light);
  transition:transform .2s;
}
.bnj-faq-item.is-open .bnj-faq-item__q::after{transform:rotate(45deg);}
.bnj-faq-item__a{
  margin:0;color:var(--bnj-text-muted);
  max-height:0;overflow:hidden;transition:max-height .25s ease;
}
.bnj-faq-item.is-open .bnj-faq-item__a{padding-bottom:14px;}

/* ---------- Footer ---------- */
.bnj-footer{border-top:1px solid var(--bnj-border);background:var(--bnj-bg-alt);padding:44px 0 24px;}
.bnj-footer__grid{display:grid;grid-template-columns:1.3fr 1fr 1.4fr;gap:32px;margin-bottom:28px;}
.bnj-footer__brand p{color:var(--bnj-text-muted);font-size:.9rem;max-width:36ch;}
.bnj-footer__heading{margin:0 0 12px;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:var(--bnj-text-muted);font-weight:700;}
.bnj-footer__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.bnj-footer__list a{color:var(--bnj-text-muted);font-size:.92rem;}
.bnj-footer__list a:hover{color:var(--bnj-accent-light);}
.bnj-rg{color:var(--bnj-text-muted);font-size:.84rem;line-height:1.6;}
.bnj-rg strong{color:var(--bnj-text);}
.bnj-footer__legal{border-top:1px solid var(--bnj-border);padding-top:18px;color:var(--bnj-text-muted);font-size:.8rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;}
@media (max-width:820px){.bnj-footer__grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.bnj-footer__grid{grid-template-columns:1fr;}}

/* Critical util for hero var assignment per-page */
.bnj-hero[data-img]{}
