/* Kingmaker Casino — kingmaker.globetrotters-heaven.de
   Duotone bold: charcoal + amber-gold. Namespace for new components: km-de-*.
   Motif: diagonal amber tab before every h2, sharp-cut (notched) card corners. */
:root{
  --bg:#161616; --bg-elev:#1f1f1f; --bg-card:#212120; --text:#f5f0e6;
  --muted:rgba(245,240,230,.66);
  --accent:#e8a53a; --accent-ink:#1a1206; --accent-soft:rgba(232,165,58,.14);
  --line:rgba(245,240,230,.14); --line-strong:rgba(245,240,230,.24);
  --radius:6px; --wrap:1120px; --wrap-wide:1280px;
  --header-bg:rgba(22,22,22,.9);
  --z-dropdown:100; --z-sticky:200; --z-overlay:900; --z-modal:1000; --z-toast:1100;
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-6:24px; --space-8:32px; --space-12:48px; --space-16:64px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);
  font:16px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent)}
h1,h2,h3,h4{line-height:1.15;margin:0 0 .5em;font-weight:900;letter-spacing:-.02em}
h2{font-size:clamp(1.5rem,2.4vw + 1rem,2.1rem)}
h3{font-size:1.2rem}
p{overflow-wrap:anywhere}
.container{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 20px}
.container--wide{max-width:var(--wrap-wide)}
.muted{color:var(--muted)}
.small{font-size:.86rem}
.skip-link{position:absolute;left:-999px;top:0;background:var(--accent);color:var(--accent-ink);padding:10px 16px;z-index:var(--z-toast);font-weight:700;text-decoration:none}
.skip-link:focus{left:0}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* ===== Header / nav ===== */
.site-header{position:sticky;top:0;z-index:var(--z-sticky);background:var(--header-bg);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;gap:18px;height:64px}
.brand img{height:30px;width:auto}
.site-nav{display:flex;gap:4px;margin-left:auto}
.site-nav a{color:var(--text);text-decoration:none;font-weight:700;font-size:.92rem;padding:10px 14px;border-radius:4px;letter-spacing:.01em}
.site-nav a:hover{color:var(--accent);background:var(--bg-elev)}
.nav-toggle{display:block;margin-left:auto;background:none;border:1px solid var(--line);color:var(--text);width:40px;height:40px;border-radius:4px;font-size:1.1rem;cursor:pointer}
.header-auth{display:flex}
@media(min-width:48em){
  .nav-toggle{display:none}
  .header-auth{margin-left:0}
}
@media(max-width:47.9375em){
  .site-nav{display:none;position:absolute;left:0;right:0;top:64px;background:var(--bg-elev);border-bottom:1px solid var(--line);padding:var(--space-3);flex-direction:column;gap:2px}
  .site-nav.open{display:flex}
  .site-nav a{padding:12px 14px}
}

/* ===== Buttons ===== */
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:800;padding:13px 24px;border-radius:4px;border:1px solid transparent;cursor:pointer;white-space:nowrap;text-decoration:none;font-size:.95rem;letter-spacing:.01em}
.btn-cta{background:var(--accent);color:var(--accent-ink)}
.btn-cta:hover{background:#f2b355}
.km-de-btn-ghost{background:transparent;border:1px solid var(--line-strong);color:var(--text)}
.km-de-btn-ghost:hover{background:rgba(245,240,230,.08)}

@media (prefers-reduced-motion:no-preference){
  .km-de-cta-pulse{animation:km-de-pulse 2.8s ease-in-out infinite}
}
@keyframes km-de-pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(232,165,58,.5)}
  50%{box-shadow:0 0 0 14px rgba(232,165,58,0)}
}

section{padding:var(--space-12) 0}
#main{overflow-x:clip}

/* ===== Sharp-cut notch motif ===== */
.km-de-notch{clip-path:polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 0 100%);border:1px solid var(--line);background:var(--bg-card)}

/* diagonal accent band divider */
.km-de-band{height:34px;background:var(--accent);clip-path:polygon(0 100%,100% 0,100% 100%)}

/* recurring diagonal tab before section headings in flowing content */
.km-de-main h2, .km-de-page h2, .km-de-legal h2{position:relative;padding-left:34px}
.km-de-main h2::before, .km-de-page h2::before, .km-de-legal h2::before{
  content:'';position:absolute;left:0;top:.2em;width:22px;height:1em;
  background:var(--accent);clip-path:polygon(35% 0,100% 0,65% 100%,0 100%)
}

/* ===== hover-lift (cards) — transform/opacity only, reduced-motion aware ===== */
.km-de-lift{transition:box-shadow .2s ease;box-shadow:0 0 0 rgba(0,0,0,0)}
@media (prefers-reduced-motion:no-preference){
  .km-de-lift{transition:transform .2s ease,box-shadow .2s ease}
  .km-de-lift:hover{transform:translateY(-4px);box-shadow:0 14px 26px rgba(0,0,0,.38)}
}

/* ===== Breadcrumbs ===== */
.crumbs{display:block;padding:var(--space-4) 0 0;font-size:.86rem;color:var(--muted)}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--accent)}

/* ===== Hero (full-bleed) ===== */
.km-de-hero{position:relative;min-height:clamp(400px,54vw,620px);overflow:hidden}
.km-de-hero-media{position:absolute;inset:0}
.km-de-hero-media img{width:100%;height:100%;object-fit:cover}
.km-de-hero-scrim{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(22,22,22,.1) 0%,rgba(22,22,22,.55) 55%,rgba(22,22,22,.94) 100%)}
.km-de-hero-inner{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;
  min-height:inherit;padding-block:var(--space-12) var(--space-8);width:100%}
.km-de-badge{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;
  background:var(--accent-soft);border:1px solid var(--accent);color:var(--accent);
  font-weight:800;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;
  padding:8px 14px;border-radius:999px;margin-bottom:var(--space-4)}
.km-de-hero h1{font-size:clamp(2.1rem,4vw + 1.1rem,3.4rem);max-width:16ch;margin-bottom:.3em}
.km-de-hero-sub{max-width:56ch;color:var(--muted);font-size:1.08rem;margin:0 0 var(--space-4)}
.km-de-hero-trust{display:flex;flex-wrap:wrap;gap:var(--space-4);margin:var(--space-4) 0 0;padding:0;list-style:none;color:var(--muted);font-size:.86rem}
.km-de-hero-trust li{display:flex;align-items:center;gap:6px}
.km-de-hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:var(--space-4)}

/* ===== Layout: right sticky sidebar ===== */
.km-de-layout{display:grid;grid-template-columns:1fr;gap:var(--space-8);align-items:start}
@media(min-width:56.25em){
  .km-de-layout{grid-template-columns:1fr 320px}
}
.km-de-main{min-width:0;display:flex;flex-direction:column;gap:var(--space-12)}
.km-de-sidebar{min-width:0;display:flex;flex-direction:column;gap:var(--space-4)}
@media(min-width:56.25em){
  .km-de-sidebar{position:sticky;top:calc(64px + var(--space-4))}
}
.km-de-page{max-width:78ch}
.km-de-page > * + *{margin-top:var(--space-8)}
.km-de-legal{max-width:72ch}
.km-de-legal > * + *{margin-top:var(--space-6)}
.km-de-legal ul{padding-left:1.2em}
.km-de-legal ul li{margin:.3em 0}

/* ===== Sidebar cards ===== */
.km-de-side-card{background:var(--bg-card);border:1px solid var(--line);padding:var(--space-6)}
.km-de-side-card h3{margin-top:0}
.km-de-side-offer .btn{width:100%;justify-content:center;margin-top:var(--space-3)}
.km-de-side-figures{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-3)}
.km-de-side-figures div{flex:1 1 auto}
.km-de-side-figures b{display:block;color:var(--accent);font-size:1.3rem;font-weight:900}
.km-de-side-figures span{display:block;color:var(--muted);font-size:.78rem}
.km-de-quickfacts{list-style:none;margin:0;padding:0}
.km-de-quickfacts li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.9rem}
.km-de-quickfacts li:last-child{border-bottom:0}
.km-de-quickfacts li span:first-child{color:var(--muted)}
.km-de-quickfacts li b{font-weight:700;text-align:right}

/* ===== Offer / bonus block ===== */
.km-de-offer-card{padding:var(--space-8)}
.km-de-offer-figures{display:flex;gap:var(--space-8);flex-wrap:wrap;margin-bottom:var(--space-4)}
.km-de-offer-figures div{min-width:110px}
.km-de-offer-figures b{display:block;font-size:clamp(1.6rem,2.4vw + 1rem,2.2rem);color:var(--accent);font-weight:900}
.km-de-offer-figures span{display:block;color:var(--muted);font-size:.86rem}
.km-de-offer-meta{color:var(--muted);font-size:.9rem;margin:var(--space-3) 0}
.km-de-offer-card .btn{margin-top:var(--space-2)}

/* ===== Calculator (signature feature) ===== */
.km-de-calc{background:var(--bg-elev);border:1px solid var(--line);padding:var(--space-6);margin-top:var(--space-6)}
.km-de-calc h3{margin-top:0}
.km-de-calc-row{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center;margin:var(--space-3) 0 var(--space-4)}
.km-de-calc-row label{font-size:.86rem;color:var(--muted);flex:1 1 100%}
.km-de-calc-range{flex:1 1 220px;accent-color:var(--accent);height:6px}
.km-de-calc-amount{width:110px;padding:10px 12px;border:1px solid var(--line-strong);background:var(--bg);color:var(--text);border-radius:4px;font-size:1rem}
.km-de-calc-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-4)}
.km-de-calc-results div{background:var(--bg);border:1px solid var(--line);padding:var(--space-4);text-align:center}
.km-de-calc-results output{display:block;font-size:1.3rem;font-weight:900;color:var(--accent);font-variant-numeric:tabular-nums}
.km-de-calc-label{display:block;color:var(--muted);font-size:.78rem}

/* ===== Games grid ===== */
.km-de-games-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr))}
.game{background:var(--bg-card);border:1px solid var(--line);overflow:hidden;position:relative}
.game .thumb{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--bg-elev)}
.game .thumb img{width:100%;height:100%;object-fit:cover}
.game .meta{padding:10px 12px}
.game .meta b{display:block;font-size:.92rem}
.game-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(22,22,22,.72);color:var(--text);text-decoration:none;font-weight:800;
  letter-spacing:.05em;text-transform:uppercase;font-size:.86rem;opacity:0;transition:opacity .18s ease}
.game .thumb:hover .game-play,.game .thumb:focus-within .game-play{opacity:1}
.game-play span{border:1px solid var(--accent);color:var(--accent-ink);background:var(--accent);padding:8px 16px;border-radius:999px}

/* ===== Payments ===== */
.km-de-pay-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(130px,100%),1fr))}
.km-de-pay-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:var(--space-4);background:var(--bg-card);border:1px solid var(--line)}
.km-de-pay-card img{height:28px;width:auto;object-fit:contain}
.km-de-pay-card span{font-size:.82rem;color:var(--muted);text-align:center}

/* ===== Providers ===== */
.km-de-providers{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.km-de-provider-pill{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;
  background:var(--bg-card);border:1px solid var(--line);border-radius:999px;font-weight:700;font-size:.9rem}
.km-de-provider-pill img{height:18px;width:auto;object-fit:contain}

/* ===== Tables ===== */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-card)}
table{width:100%;border-collapse:collapse;min-width:520px}
th,td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--line)}
th{color:var(--accent);font-size:.82rem;text-transform:uppercase;letter-spacing:.05em}
tr:last-child td{border-bottom:0}
@media(max-width:39.9375em){
  .table-wrap table, .table-wrap thead, .table-wrap tbody, .table-wrap tr, .table-wrap td{display:block}
  .table-wrap table{min-width:0;width:100%}
  .table-wrap thead{display:none}
  .table-wrap tr{margin:0;border-bottom:1px solid var(--line)}
  .table-wrap tr:last-child{border-bottom:0}
  .table-wrap td{display:flex;justify-content:space-between;gap:12px;padding:10px 18px;border-bottom:1px solid rgba(245,240,230,.06)}
  .table-wrap td:last-child{border-bottom:0}
  .table-wrap td::before{content:attr(data-label);font-weight:700;color:var(--muted);padding-right:12px}
}

/* ===== Verdict / pros-cons ===== */
.km-de-verdict-grid{display:grid;gap:var(--space-6);grid-template-columns:1fr}
@media(min-width:37.5em){.km-de-verdict-grid{grid-template-columns:1fr 1fr}}
.km-de-verdict-grid > div{background:var(--bg-card);border:1px solid var(--line);padding:var(--space-6)}
.km-de-verdict-grid h3{margin-top:0}
.km-de-verdict-grid ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.km-de-verdict-grid li{display:flex;gap:10px;align-items:flex-start;font-size:.95rem}
.km-de-verdict-grid li::before{flex:0 0 auto;font-weight:900;width:1.2em}
.km-de-liked li::before{content:'✓';color:var(--accent)}
.km-de-toknow li::before{content:'!';color:var(--muted)}

/* ===== FAQ ===== */
.km-de-faq{display:flex;flex-direction:column;gap:var(--space-2)}
.km-de-faq details{background:var(--bg-card);border:1px solid var(--line);padding:var(--space-4) var(--space-6)}
.km-de-faq summary{cursor:pointer;font-weight:800;list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center}
.km-de-faq summary::-webkit-details-marker{display:none}
.km-de-faq summary::after{content:'+';color:var(--accent);font-size:1.3rem;font-weight:900;flex:0 0 auto}
.km-de-faq details[open] summary::after{content:'\2212'}
.km-de-faq details p{color:var(--muted);margin:.8em 0 0}

/* ===== CTA band ===== */
.km-de-cta-band{background:var(--bg-elev);padding:var(--space-16) 0;text-align:center;border-top:1px solid var(--line)}
.km-de-cta-band h2{margin-bottom:.3em}
.km-de-cta-band p{color:var(--muted);max-width:60ch;margin:0 auto var(--space-4)}

/* ===== Legal / step lists ===== */
.km-de-steps{list-style:none;counter-reset:km-de-step;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}
.km-de-steps li{counter-increment:km-de-step;display:flex;gap:14px;align-items:flex-start;background:var(--bg-card);border:1px solid var(--line);padding:var(--space-4)}
.km-de-steps li::before{content:counter(km-de-step);flex:0 0 auto;width:32px;height:32px;border-radius:999px;
  background:var(--accent);color:var(--accent-ink);font-weight:900;display:flex;align-items:center;justify-content:center}

/* ===== Footer ===== */
.site-footer{background:var(--bg-elev);border-top:1px solid var(--line);padding:var(--space-12) 0 var(--space-8)}
.footer-grid{display:flex;flex-wrap:wrap;gap:var(--space-8);justify-content:space-between;padding-bottom:var(--space-6);border-bottom:1px solid var(--line)}
.footer-grid h4{color:var(--accent);font-size:.86rem;text-transform:uppercase;letter-spacing:.06em}
.footer-grid ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.footer-grid a{color:var(--muted);text-decoration:none;font-size:.92rem}
.footer-grid a:hover{color:var(--accent)}
.disclaimer{display:flex;gap:12px;align-items:flex-start;padding-top:var(--space-6);color:var(--muted);font-size:.86rem}
.disclaimer .age{flex:0 0 auto;background:var(--accent);color:var(--accent-ink);font-weight:900;padding:4px 10px;border-radius:4px}
.footer-bottom{text-align:center;color:var(--muted);font-size:.82rem;margin-top:var(--space-6)}
.updated{text-align:center;color:var(--muted);font-size:.86rem;border-top:1px solid var(--line);padding-top:20px}
.prose{font-size:1.05rem;line-height:1.75}

/* ===== Cookie / back-to-top ===== */
.to-top{position:fixed;right:20px;bottom:20px;z-index:var(--z-toast);width:48px;height:48px;border-radius:50%;
  border:1px solid var(--line);background:var(--accent);color:var(--accent-ink);font-size:1.4rem;cursor:pointer;
  opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .2s,transform .2s,visibility .2s}
.to-top.show{opacity:1;visibility:visible;transform:none}
.cookie{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-modal);background:var(--bg-card);border-top:1px solid var(--line);
  padding:16px 20px;display:flex;gap:18px;align-items:center;justify-content:center;flex-wrap:wrap}
.cookie.hidden{display:none}
.cookie-text{margin:0;max-width:60ch;color:var(--muted);font-size:.9rem}
.cookie-actions{display:flex;gap:10px}
