/*  =======================================================================
    Cloudbet IT Template — Casino Platform
    =======================================================================

    Structure:
    1. Design tokens
    2. Base reset & typography
    3. Layout helpers
    4. Header (sticky, cloudbet-style)
    5. Sidebar (cl-sidebar)
    6. Layout wrapper (cl-layout)
    7. Buttons
    8. Lists / numbered steps
    9. Tables
    10. Gallery
    11. Two-column helper
    12. Menu cards
    13. Casino list & item
    14. Breadcrumbs
    15. Lightbox
    16. FAQ accordion
    17. Promo-box
    18. Player-box
    19. Author section
    20. Reviews block
    21. Cookie banner
    22. Footer
    23. Lang-switch
    24. Back-to-top
    25. Off-canvas nav
    26. Auth & bonus buttons
    27. Table of Contents
    28. CasinoGrid (.cg-*)
    29. BigWins (.bw-*)
    30. LiveBets (.lb-*)
    31. PromoBanners (.pb-*)
    32. Providers (.pr-*)
    33. Go Overlay
    34. Footer extras (.sf-*)
    35. Reduced motion (global)
    36. Hero welcome (small screens)
   ======================================================================= */


/* ---------- 1. Design tokens -------------------------------------------- */
:root{
  --c-bg:#0e0e1a;
  --c-surface:#1a1b2e;
  --c-surface-alt:#252540;
  --c-text:#e0e0e0;
  --c-text-muted:rgba(255,255,255,.5);
  --c-white:#ffffff;
  --c-accent:#8D52DA;
  --c-accent-hover:#a370e8;
  --c-accent-glow:rgba(141,82,218,.3);
  --c-green:#30E000;
  --c-yellow:#FFD641;
  --c-headline-yellow:#d4ff00;
  --c-border:rgba(255,255,255,.08);
  --c-shadow:rgba(0,0,0,.6);
  --c-overlay:rgba(14,14,26,.85);
  --c-glass:rgba(255,255,255,.04);
  --c-glass-border:rgba(255,255,255,.08);
  --c-glass-text:rgba(255,255,255,.45);
  --c-cta:#d4ff00;
  --c-cta-hover:#e0ff40;
  --c-cta-text:#0e0e1a;
  --container:1200px;
  --radius-sm:6px;
  --radius-md:8px;
  --radius-lg:12px;
  --radius-pill:999px;
  --transition-fast:150ms ease;
  --transition-normal:200ms ease;
}


/* ---------- 2. Base reset & typography ---------------------------------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}

body{
  background:var(--c-bg);
  color:var(--c-text);
  font:1.0625rem/1.5 'Noto Sans',Arial,sans-serif;
}

h1,h2,h3,h4,h5,h6{
  font-weight:700;
  line-height:1.3;
  margin:1.5rem 0;
  text-align:left;
  color:var(--c-white);
}
h1{font-size:2.5rem;}
h2{font-size:2rem;}
h3{font-size:1.5rem;}
h4{font-size:1.25rem;}
h5{font-size:1.125rem;}
h6{font-size:1rem;}

a{color:var(--c-accent);text-decoration:none;}
a:hover{color:var(--c-accent-hover);}

a[tb-on\:click]{cursor:pointer;}

img{max-width:100%;height:auto;}


/* ---------- 2b. Entry content (clean HTML from MODX editor) ------------- */
.entry-content p{margin-bottom:1rem;line-height:1.6;}
.entry-content ul,.entry-content ol{margin:1rem 0;padding-left:1.5em;}
.entry-content li{margin-bottom:.5rem;line-height:1.6;}
.entry-content a{color:var(--c-accent);text-decoration:underline;}
.entry-content a:hover{color:var(--c-accent-hover);}
.entry-content strong{color:var(--c-white);font-weight:700;}
.entry-content em{font-style:italic;}
.entry-content img{border-radius:var(--radius-md);margin:1rem 0;display:block;}
.entry-content table{width:100%;border-collapse:collapse;margin:1rem 0;}
.entry-content thead{background:var(--c-surface-alt);}
.entry-content th{padding:.9rem 1rem;color:var(--c-white);font-weight:600;text-align:left;border-bottom:2px solid var(--c-accent);}
.entry-content td{padding:.75rem .9rem;color:var(--c-text);border:1px solid var(--c-border);word-break:break-word;}
.entry-content tbody tr:nth-child(even){background:var(--c-surface-alt);}
.entry-content tbody tr:hover{background:var(--c-surface);}
.entry-content th:first-child,.entry-content td:first-child{color:var(--c-accent);font-weight:600;white-space:nowrap;}
.entry-content blockquote{border-left:3px solid var(--c-accent);padding:.75rem 1rem;margin:1.5rem 0;background:var(--c-surface);border-radius:0 var(--radius-md) var(--radius-md) 0;}
.entry-content blockquote p{margin:0;font-style:italic;color:var(--c-text-muted);}

/* Content links underline, except snippet areas */
.cl-content a{text-decoration:underline;}
.cg-section a,.bw-section a,.lb-section a,.cb-banner a{text-decoration:none;}
.entry-content .cg-section img,.entry-content .bw-section img,.entry-content .lb-section img,.entry-content .pb-section img{margin:0;border-radius:0;}

@media(max-width:600px){
  .entry-content table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .entry-content th,.entry-content td{padding:.6rem .7rem;font-size:.9rem;}
}


/* ---------- 3. Layout helpers ------------------------------------------- */
.main,
.container{max-width:var(--container);margin:0 auto;padding:0 1rem;}
.container .container{padding:0;}

.section{padding:1rem 0;}
.section-title{
  text-align:center;
  font-size:2rem;
  margin-bottom:2rem;
  color:var(--c-white);
}


/* ---------- 4. Header (sticky, cloudbet-style) -------------------------- */
.site-header{
  background:var(--c-bg);
  position:sticky;top:0;z-index:1050;
  border-bottom:1px solid var(--c-border);
}

.header-inner{
  display:flex;
  align-items:center;
  gap:1rem;
  padding:.75rem 1rem;
  max-width:var(--container);
  margin:0 auto;
}

.header-block--logo{flex-shrink:0;}
.header-block--bonus{display:none;}
.main-nav{display:none;}

.header-block--auth{
  display:flex;gap:.5rem;
  margin-left:auto;
  align-items:center;
}

.lang-switch{order:10;}
.burger{display:none;}
.nav-toggle{position:absolute;opacity:0;pointer-events:none;}

@media(max-width:1024px){
  .site-header .lang-switch{display:none;}
  .header-block--auth{gap:.35rem;}
  .cl-btn-login,.cl-btn-register{font-size:.8rem;padding:.5rem .9rem;}
  .burger{
    display:flex;order:20;
    width:2.5rem;height:2.5rem;flex-shrink:0;
  }
}

.logo{
  color:var(--c-white);
  font-weight:700;
  font-size:1.25rem;
  text-decoration:none;
}

/* burger icon (mobile fallback) */
.nav-toggle{display:none;}

.burger{
  width:2.75rem;height:2.75rem;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  z-index:1101;
  position:relative;
}
.burger span,
.burger::before,
.burger::after{
  content:"";
  position:absolute;left:.5rem;right:.5rem;height:3px;
  background:var(--c-accent);
  transition:transform .3s,opacity .3s;
}
.burger span{top:50%;transform:translateY(-50%);}
.burger::before{top:.625rem;}
.burger::after{bottom:.625rem;}

.nav-toggle:checked + .burger::before{transform:translateY(.5625rem) rotate(45deg);}
.nav-toggle:checked + .burger::after{transform:translateY(-.5625rem) rotate(-45deg);}
.nav-toggle:checked + .burger span{opacity:0;}

/* menu */
.menu{display:flex;gap:1.25rem;list-style:none;}
.menu>li{position:relative;}
.menu a,
.menu span{color:var(--c-white);text-decoration:none;font-weight:500;}
.menu a:hover{color:var(--c-accent);}

.menu li.active>a,
.menu li.current>a,
.menu li.active>span,
.menu li.current>span{color:var(--c-accent);}

.has-children>span{cursor:default;}

.submenu{
  display:none;position:absolute;left:0;top:100%;
  background:var(--c-surface);padding:.5rem 0;min-width:11.25rem;
  border-radius:var(--radius-sm);
  box-shadow:0 4px 12px var(--c-shadow);
}
.submenu li{padding:.5rem 1rem;}
.menu li:hover>.submenu{display:block;}

@media(min-width:1025px){
  .burger{display:none;}
  .header-block--auth a{
    padding:.65rem 1.5rem;
  }
}

@media(max-width:1024px){
  .header-inner{
    padding:.5rem 1rem;
  }
  .header-block--auth{gap:.35rem;}
  .header-block--auth a{
    padding:.5rem .75rem;
    font-size:.85rem;
  }
}


/* ---------- 5. Sidebar (cl-sidebar) ------------------------------------- */
.cl-sidebar{
  position:fixed;top:0;left:0;bottom:0;
  width:210px;
  background:var(--c-surface);
  border-right:1px solid var(--c-border);
  padding-top:4.5rem;
  overflow-y:auto;
  z-index:1040;
  scrollbar-width:thin;
  scrollbar-color:var(--c-surface-alt) transparent;
}
.cl-sidebar::-webkit-scrollbar{width:4px;}
.cl-sidebar::-webkit-scrollbar-thumb{background:var(--c-surface-alt);border-radius:2px;}

.cl-sidebar__nav{list-style:none;padding:.5rem 0;margin:0;}

.cl-sidebar__item{
  display:flex;align-items:center;gap:.625rem;
  padding:.625rem 1rem;
  color:var(--c-text);font-size:.9rem;font-weight:500;
  text-decoration:none;
  border-left:3px solid transparent;
  transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);
}
.cl-sidebar__item:hover{
  background:rgba(141,82,218,.08);
  color:var(--c-white);
}
.cl-sidebar__item--active{
  background:rgba(141,82,218,.12);
  color:var(--c-accent);
  border-left-color:var(--c-accent);
}

.cl-sidebar__icon{
  width:1.25rem;height:1.25rem;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  opacity:.6;
}
.cl-sidebar__item:hover .cl-sidebar__icon,
.cl-sidebar__item--active .cl-sidebar__icon{opacity:1;}
.cl-sidebar__icon svg{width:100%;height:100%;fill:currentColor;}
.cl-sidebar__icon img{width:100%;height:100%;object-fit:contain;}

.cl-sidebar__label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

@media(max-width:1024px){
  .cl-sidebar{
    display:block;
    position:fixed;top:0;left:0;bottom:0;
    width:260px;
    transform:translateX(-100%);
    transition:transform .3s ease;
    z-index:1100;
    padding-top:4rem;
  }
  .nav-toggle:checked ~ .cl-layout .cl-sidebar{
    transform:translateX(0);
  }
  /* overlay when sidebar open */
  .cl-sidebar-overlay{
    display:none;position:fixed;inset:0;
    background:rgba(0,0,0,.6);z-index:1099;
  }
  .nav-toggle:checked ~ .cl-sidebar-overlay{
    display:block;
  }
}


/* ---------- 6. Layout wrapper (cl-layout) ------------------------------- */
.cl-layout{
  display:flex;min-height:100vh;
}
.cl-layout__main{
  flex:1;
  margin-left:210px;
  min-width:0;
}

@media(max-width:1024px){
  .cl-layout__main{margin-left:0;}
}


/* ---------- 7. Buttons -------------------------------------------------- */
.btn-primary{
  display:inline-block;
  background:var(--c-accent);
  color:var(--c-white);
  padding:.65rem 1.5rem;
  border-radius:var(--radius-sm);
  text-decoration:none;
  font-weight:600;
  transition:background var(--transition-normal),transform var(--transition-normal);
}
.btn-primary:hover{background:var(--c-accent-hover);color:var(--c-white);}

.cl-btn-login{
  display:inline-block;
  background:var(--c-accent);
  color:var(--c-white);
  padding:.5rem 1.25rem;
  border-radius:var(--radius-pill);
  text-decoration:none;
  font-weight:600;font-size:.875rem;
  transition:background var(--transition-normal),transform var(--transition-normal);
}
.cl-btn-login:hover{background:var(--c-accent-hover);color:var(--c-white);transform:translateY(-1px);}

.cl-btn-register{
  display:inline-block;
  background:var(--c-cta);
  color:var(--c-cta-text);
  padding:.5rem 1.25rem;
  border-radius:var(--radius-pill);
  text-decoration:none;
  font-weight:700;font-size:.875rem;
  transition:background var(--transition-normal),transform var(--transition-normal);
}
.cl-btn-register:hover{background:var(--c-cta-hover);color:var(--c-cta-text);transform:translateY(-1px);}

@keyframes btnPulse{
  0%{transform:scale(1);box-shadow:0 0 0 rgba(141,82,218,0);}
  50%{transform:scale(1.05);box-shadow:0 0 1.5rem var(--c-accent-glow);}
  100%{transform:scale(1);box-shadow:0 0 0 rgba(141,82,218,0);}
}
.btn-primary--pulse{animation:btnPulse 2s infinite ease-in-out;}


/* ---------- 5b. Hero ----------------------------------------------------- */
.hero{
  padding:5rem 0;text-align:center;
  background:radial-gradient(circle at center,
            var(--c-accent) 0%,
            var(--c-surface-alt) 60%,
            var(--c-bg) 100%);
}
.hero h1{font-size:2.5rem;margin-bottom:1rem;}
.hero p{font-size:1.125rem;color:var(--c-text-muted);}


/* ---------- 8. Lists / numbered steps ----------------------------------- */
.steps{counter-reset:step;list-style:none;margin-top:2rem;}
.steps li{
  display:flex;gap:1rem;align-items:flex-start;margin-bottom:1rem;
}
.steps li::before{
  counter-increment:step;
  content:counter(step);
  background:var(--c-accent);color:var(--c-white);
  width:2rem;height:2rem;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-weight:700;
  flex-shrink:0;
}
.steps span{flex:1;}

.features{margin:0;padding-left:1.4em;}
.features li{list-style-position:inside;}
.features li p{margin:0;}


/* ---------- 9. Tables --------------------------------------------------- */
.info-table,
.slot-table,
main.container table{width:100%;border-collapse:collapse;}

.info-table{color:var(--c-text);}
.info-table th,
.info-table td{
  padding:.75rem 1rem;
  border:1px solid var(--c-border);
}
.info-table th{
  background:var(--c-surface);
  text-align:left;
  color:var(--c-text-muted);
}

.slot-table{font-size:.9375rem;color:var(--c-text);min-width:37.5rem;}
.slot-table thead th{
  background:var(--c-surface);
  padding:.75rem 1rem;
  border:1px solid var(--c-border);
  font-weight:600;white-space:nowrap;
}
.slot-table td,
.slot-table tbody th{
  padding:.65rem 1rem;border:1px solid var(--c-border);
}
.slot-table tbody tr:nth-child(even){background:rgba(0,0,0,.025);}
.slot-table .tag{
  display:inline-block;margin-left:.35rem;padding:.15rem .45rem;
  font-size:.75em;border-radius:4px;
  background:var(--c-accent);color:var(--c-white);
}

main.container thead{background:var(--c-surface-alt);}
main.container th{
  padding:.9rem 1rem;color:var(--c-white);font-weight:600;
  text-align:left;border-bottom:2px solid var(--c-accent);
}
main.container td{
  padding:.75rem .9rem;color:var(--c-text);
  border:1px solid var(--c-border);word-break:break-word;
}
main.container tbody tr:nth-child(even){background:var(--c-surface-alt);}
main.container tbody tr:hover{background:var(--c-surface);}
main.container th:first-child,
main.container td:first-child{
  color:var(--c-accent);font-weight:600;white-space:nowrap;
}

@media(max-width:600px){
  main.container table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  main.container th,main.container td{padding:.6rem .7rem;font-size:.9rem;}
}


/* ---------- 10. Gallery -------------------------------------------------- */
.gallery{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;
}
.gallery img{
  width:100%;border-radius:var(--radius-sm);object-fit:cover;
  cursor:zoom-in;transition:transform .3s,box-shadow .3s,filter .3s;
}
.gallery img:hover{
  transform:scale(1.05);
  box-shadow:0 0 .75rem var(--c-accent-glow);
  filter:brightness(1.05);
}

@media(max-width:1024px){
  .gallery{
    display:flex;flex-wrap:nowrap;gap:1rem;
    overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
  }
  .gallery img{flex:0 0 auto;width:70vw;scroll-snap-align:center;max-width:none;}
}


/* ---------- 11. Two-column helper --------------------------------------- */
.two-col{display:flex;gap:2rem;align-items:center;}
.col-text{flex:1;}
.col-img{flex:1;display:flex;justify-content:center;}
.col-img img{max-width:100%;border-radius:var(--radius-md);}
@media(max-width:768px){.two-col{flex-direction:column;}}


/* ---------- 12. Menu cards ---------------------------------------------- */
.menu-cards{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:1.25rem;list-style:none;margin-top:2rem;
}
.menu-cards li{
  background:var(--c-surface);padding:1.5rem;border-radius:var(--radius-md);text-align:center;
}
.menu-cards strong{display:block;font-size:1.1rem;margin-bottom:.5rem;color:var(--c-accent);}
.menu-cards span{color:var(--c-text-muted);font-size:.9rem;}


/* ---------- 13. Casino list & item -------------------------------------- */
.casino-list{display:grid;gap:1rem;list-style:none;margin-top:2rem;}
.casino-list a{
  display:flex;align-items:center;justify-content:center;
  padding:1rem;border-radius:var(--radius-sm);font-weight:600;text-decoration:none;
  color:var(--c-text);border:2px solid transparent;transition:border-color var(--transition-normal),transform var(--transition-normal);
}
.casino-list a:hover{border-color:var(--c-accent);transform:translateY(-2px);color:var(--c-text);}

.casino-item{
  display:flex;align-items:center;gap:1.25rem;
  background:var(--c-surface);padding:1rem 1.25rem;border-radius:var(--radius-md);
}
.casino-item__img{
  flex:0 0 9.375rem;width:9.375rem;height:9.375rem;border-radius:50%;
  background:var(--c-surface-alt);display:flex;align-items:center;justify-content:center;
}
.casino-item__img svg,
.casino-item__img img{width:70%;height:70%;object-fit:contain;fill:var(--c-text);}
.casino-item__body{flex:1;}
.casino-item__title{font-size:1.1rem;font-weight:700;margin-bottom:.25rem;}
.casino-item__desc{font-size:.9rem;color:var(--c-text-muted);line-height:1.4;margin:0;}
.casino-item__bonus{text-align:right;min-width:11.25rem;}

.bonus-text{font-weight:600;font-size:.95rem;color:var(--c-accent);margin:0 0 .5rem;}
.bonus-text span{font-weight:400;color:var(--c-text);}

.btn-play{
  display:inline-block;padding:.6rem 1.5rem;border-radius:var(--radius-sm);
  background:var(--c-accent);color:var(--c-white);
  font-weight:600;text-decoration:none;transition:background var(--transition-normal),transform var(--transition-normal);
}
.btn-play:hover{background:var(--c-accent-hover);transform:translateY(-2px);color:var(--c-white);}

@media(max-width:600px){
  .casino-item{
    flex-direction:column;align-items:center;text-align:center;padding:1.25rem;
  }
  .casino-item>*{flex:0 1 100%;width:100%;max-width:100%;}
  .casino-item__img{
    width:clamp(5rem,34vw,7.5rem);height:clamp(5rem,34vw,7.5rem);margin-bottom:1rem;
  }
  .btn-primary{width:100%;padding:.65rem 1rem;}
  .btn-play{width:90%;}
}


/* ---------- 14. Breadcrumbs --------------------------------------------- */
/* breadcrumbs — supports both BEM (.breadcrumbs__list) and flat (ul.breadcrumbs > li) */
.breadcrumbs{font-size:.85rem;margin:.5rem 0;color:var(--c-text-muted);display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;}
.breadcrumbs__list{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;}
.breadcrumbs li,.breadcrumbs__item{display:inline;white-space:nowrap;}
.breadcrumbs a,.breadcrumbs__item a{color:var(--c-text-muted);text-decoration:none;}
.breadcrumbs a:hover,.breadcrumbs__item a:hover{color:var(--c-accent);}
.breadcrumbs li:last-child,.breadcrumbs__item--current{color:var(--c-white);cursor:default;}
.breadcrumbs li+li::before,.breadcrumbs__list>*+*::before{
  content:"›";margin-right:.4rem;color:var(--c-text-muted);
}


/* ---------- 15. Lightbox ------------------------------------------------ */
.lightbox{
  position:fixed;inset:0;display:flex;justify-content:center;align-items:center;
  background:rgba(0,0,0,.9);visibility:hidden;opacity:0;
  transition:opacity .3s;z-index:2000;
}
.lightbox.open{visibility:visible;opacity:1;}
.lightbox__img{
  max-width:90%;max-height:90%;border-radius:var(--radius-md);
  box-shadow:0 0 1.25rem rgba(0,0,0,.5);
}
.lightbox__close{
  position:absolute;top:1rem;right:1.5rem;
  font-size:2.5rem;color:var(--c-white);cursor:pointer;user-select:none;
}


/* ---------- 16. FAQ accordion ------------------------------------------- */
.faq{display:grid;gap:1rem;}
.faq-item{
  background:var(--c-surface);border-radius:var(--radius-md);padding:1rem 1.25rem;
  color:var(--c-text);transition:background .25s;
}
.faq-item[open]{background:var(--c-surface-alt);}
.faq-item summary{
  list-style:none;cursor:pointer;font-weight:600;
  position:relative;padding-right:2rem;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:"+";position:absolute;right:0;top:0;
  font-weight:700;font-size:1.25rem;color:var(--c-accent);transition:transform .25s;
}
.faq-item[open] summary::after{content:"\2013";transform:rotate(180deg);}
.faq-item p{margin:.75rem 0 0;color:var(--c-text-muted);line-height:1.5;font-size:.9375rem;}


/* ---------- 17. Promo-box ----------------------------------------------- */
.promo-box{
  background:var(--c-surface);
  border:2px dashed var(--c-accent);
  border-radius:var(--radius-lg);
  padding:1.5rem 1.25rem;
  max-width:20rem;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.promo-sub{
  font-size:.85rem;font-weight:700;color:var(--c-accent);letter-spacing:.05em;
  margin-bottom:.5rem;
}
.promo-code{
  display:flex;width:100%;border:2px solid var(--c-accent);
  border-radius:var(--radius-md);overflow:hidden;margin-bottom:.75rem;
}
.promo-code__text{
  flex:1;font-weight:700;font-size:1.25rem;
  padding:.65rem .75rem;background:var(--c-white);color:var(--c-bg);
}
.promo-code__copy{
  width:5rem;text-align:center;background:var(--c-accent);color:var(--c-white);
  font-weight:600;padding:0 .9rem;border:none;cursor:pointer;transition:background var(--transition-normal);
}
.promo-code__copy:hover{background:var(--c-accent-hover);}
.promo-desc{font-size:.9rem;line-height:1.4;color:var(--c-text-muted);margin:0;}


/* ---------- 18. Player-box ---------------------------------------------- */
.player-box{
  position:relative;width:100%;padding-top:56.25%;
  background:var(--bg) center/cover no-repeat;border-radius:var(--radius-lg);overflow:hidden;
}
.player-box::before{
  content:"";position:absolute;inset:0;
  background:var(--c-overlay);backdrop-filter:blur(2px);
}
.player-iframe{
  position:absolute;inset:0;width:100%;height:100%;
  border:none;opacity:0;visibility:hidden;transition:opacity .4s;
}
.player-overlay{
  position:absolute;inset:0;display:flex;flex-direction:column;
  justify-content:center;align-items:center;gap:1rem;z-index:2;
}
.btn-play--primary{background:var(--c-accent);color:var(--c-white);padding:.9rem 2.2rem;}
.btn-play--primary:hover{background:var(--c-accent-hover);transform:translateY(-2px);}
.btn-play--ghost{
  background:transparent;border:2px solid var(--c-accent);color:var(--c-accent);
  padding:.9rem 2.2rem;
}
.btn-play--ghost:hover{background:var(--c-accent);color:var(--c-white);transform:translateY(-2px);}
.player-full{
  position:absolute;bottom:1rem;right:1rem;
  width:2.75rem;height:2.75rem;display:flex;align-items:center;justify-content:center;
  background:var(--c-bg);border:2px solid var(--c-accent);
  border-radius:var(--radius-sm);color:var(--c-text);cursor:pointer;z-index:3;
  transition:background .25s;
}
.player-full:hover{background:var(--c-accent);}
.player-box.fullscreen{
  position:fixed;inset:0;width:100vw;height:100vh;padding:0;border-radius:0;z-index:3000;
}
.player-box.fullscreen .player-full{bottom:1.25rem;right:1.25rem;}

@media(max-width:600px){
  .player-box{
    width:calc(100% + 2rem);margin:0 -1rem;border-radius:0;min-height:17.5rem;
  }
  .player-iframe{border-radius:0;}
}


/* ---------- 19. Author section ------------------------------------------ */
.author-header{display:flex;align-items:center;gap:2.5rem;}
.author-photo{
  flex:0 0 11.25rem;width:11.25rem;height:11.25rem;border-radius:50%;overflow:hidden;
  background:var(--c-surface);
}
.author-photo img{width:100%;height:100%;object-fit:cover;}
.author-name{font-size:2rem;margin:0 0 .3rem;}
.author-role{color:var(--c-text-muted);margin:0 0 1rem;font-size:1rem;}
.author-meta{
  list-style:none;padding:0;margin:0 0 1.25rem;display:grid;gap:.4rem;
}
.author-meta strong{color:var(--c-text);}
.author-social{display:flex;gap:.75rem;}
.author-social a{
  display:inline-flex;width:2.5rem;height:2.5rem;background:var(--c-surface);
  border-radius:50%;align-items:center;justify-content:center;transition:background .25s;
}
.author-social a:hover{background:var(--c-accent);}
.author-social svg{fill:var(--c-text);width:1.25rem;height:1.25rem;}
.author-bio{margin-top:2.5rem;font-size:1rem;line-height:1.6;color:var(--c-text-muted);}
.article-list{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:.75rem;}
.article-list a{color:var(--c-text);text-decoration:none;font-weight:600;}
.article-list time{display:block;font-size:.875rem;color:var(--c-text-muted);}
.article-list a:hover{color:var(--c-accent);}


/* ---------- 20. Reviews block ------------------------------------------- */
.reviews-block{margin:3rem 0;}
.reviews{
  background:var(--c-surface);border-radius:var(--radius-md);
  padding:2rem 1.75rem;box-shadow:0 4px .75rem var(--c-shadow);
}
.reviews__summary{
  display:flex;align-items:center;justify-content:space-between;
  gap:1rem;margin-bottom:2rem;
}
.reviews__rating{
  display:flex;align-items:center;gap:.5rem;font-size:1.25rem;color:var(--c-white);
}
.reviews__rating strong{font-size:2.25rem;color:var(--c-accent);line-height:1;}
.reviews__stars{font-size:1.1rem;color:var(--c-accent);letter-spacing:-1px;}
.reviews__rating small{color:var(--c-text-muted);font-size:.9rem;}
.reviews__trustpilot img{width:13.75rem;height:auto;display:block;}
.reviews-btn{
  display:inline-block;padding:.65rem 1.5rem;
  background:var(--c-accent);color:var(--c-white);
  border-radius:var(--radius-sm);font-weight:600;text-decoration:none;
  transition:background var(--transition-normal),transform var(--transition-normal);
}
.reviews-btn:hover{background:var(--c-accent-hover);transform:translateY(-2px);color:var(--c-white);}
.reviews-list{display:grid;gap:1.25rem;}
.review{
  background:var(--c-surface-alt);border-radius:var(--radius-md);padding:1.25rem 1.5rem;
}
.review__head{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:.5rem;font-weight:600;color:var(--c-white);
}
.review__date{font-size:.85rem;color:var(--c-text-muted);}
.review__text{color:var(--c-text);line-height:1.45;}

@media(max-width:768px){
  .reviews{padding:1.5rem 1.25rem;}
  .reviews__summary{flex-direction:column;align-items:flex-start;}
  .reviews-btn{width:100%;text-align:center;}
  .reviews__trustpilot img{width:6.25rem;}
}


/* ---------- 21. Cookie banner ------------------------------------------- */
.cb-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:4000;}

.cb-banner{
  position:fixed;bottom:1rem;left:1rem;z-index:4001;max-width:23.75rem;
  padding:1.25rem;border-radius:var(--radius-lg);
  background:var(--c-bg);color:var(--c-text);
  font-size:.875rem;line-height:1.5;box-shadow:0 4px 1.5rem rgba(0,0,0,.4);
}
.cb-text{margin:0 0 1rem;}
.cb-text a{color:var(--c-accent);text-decoration:underline;}
.cb-actions{display:flex;flex-wrap:wrap;gap:.5rem;}
.cb-btn{
  border:none;border-radius:var(--radius-sm);padding:.5rem 1rem;
  font-size:.8125rem;font-weight:600;cursor:pointer;transition:opacity var(--transition-normal);
}
.cb-btn:hover{opacity:.85;}
.cb-btn--accept,.cb-btn--save{background:var(--c-accent);color:var(--c-white);}
.cb-btn--reject{background:transparent;color:var(--c-text);border:1px solid var(--c-text);}
.cb-btn--settings{background:transparent;color:var(--c-accent);padding:.5rem .25rem;text-decoration:underline;}

.cb-modal{
  position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:4002;
  width:90%;max-width:30rem;max-height:85vh;overflow-y:auto;
  border-radius:var(--radius-lg);padding:1.5rem;
  background:var(--c-bg);color:var(--c-text);
  box-shadow:0 .5rem 2rem rgba(0,0,0,.5);
}
.cb-modal__title{margin:0 0 .5rem;font-size:1.125rem;}
.cb-modal__desc{margin:0 0 1.25rem;font-size:.8125rem;opacity:.8;line-height:1.5;}
.cb-categories{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem;}
.cb-cat{border:1px solid var(--c-glass-border);border-radius:var(--radius-md);padding:.75rem 1rem;}
.cb-cat__header{display:flex;justify-content:space-between;align-items:center;}
.cb-cat__name{font-weight:600;font-size:.875rem;}
.cb-cat__always{font-size:.75rem;opacity:.6;}
.cb-cat__desc{margin:.375rem 0 0;font-size:.75rem;opacity:.7;line-height:1.4;}
.cb-modal__actions{display:flex;gap:.5rem;justify-content:flex-end;}

.cb-toggle{position:relative;display:inline-block;width:2.5rem;height:1.375rem;cursor:pointer;}
.cb-toggle input{opacity:0;width:0;height:0;}
.cb-toggle__slider{position:absolute;inset:0;border-radius:1.375rem;background:rgba(255,255,255,.2);transition:background var(--transition-normal);}
.cb-toggle__slider::before{content:'';position:absolute;left:3px;top:3px;width:1rem;height:1rem;border-radius:50%;background:var(--c-white);transition:transform var(--transition-normal);}
.cb-toggle input:checked+.cb-toggle__slider{background:var(--c-accent);}
.cb-toggle input:checked+.cb-toggle__slider::before{transform:translateX(1.125rem);}

@media(max-width:600px){
  .cb-banner{left:0;right:0;bottom:0;max-width:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;}
  .cb-modal{width:95%;}
}


/* ---------- 22. Footer -------------------------------------------------- */
.site-footer{
  background:var(--c-surface);color:var(--c-white);
  padding:3rem 1rem 2rem;font-size:.9rem;text-align:center;
}
.footer-columns{
  display:flex;flex-wrap:wrap;gap:2rem 4rem;justify-content:center;
}
.footer-col{flex:1 1 10rem;min-width:8.125rem;}
.footer-col--logo{
  flex:1 1 17.5rem;display:flex;flex-direction:column;align-items:center;gap:1rem;
}
.footer-title{font-size:1rem;font-weight:700;color:var(--c-white);margin-bottom:.75rem;}
.footer-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;}
.footer-list a{color:var(--c-white);text-decoration:none;transition:color var(--transition-normal);}
.footer-list a:hover{color:var(--c-accent);}

.socials,
.share-links{
  display:flex;gap:.5rem;list-style:none;margin-top:1rem;justify-content:center;
}
.socials img{width:2.25rem;height:2.25rem;display:block;}
.share-icon,
.socials a{
  display:inline-flex;width:2.25rem;height:2.25rem;
  align-items:center;justify-content:center;
  background:var(--c-surface-alt);border-radius:50%;transition:background var(--transition-normal);
}
.share-icon:hover,
.socials a:hover{background:var(--c-accent);}
.share-icon svg{fill:var(--c-text);width:1.25rem;height:1.25rem;}
.footer-images{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;}
.footer-images img{width:6rem;height:3.5rem;object-fit:contain;display:block;}
.footer-bottom{
  border-top:1px solid var(--c-border);
  margin-top:2rem;padding-top:1rem;
  font-size:.8rem;color:var(--c-text-muted);
}

/* socials cleanup */
ul.socials>a{display:none;pointer-events:none;}
ul.socials>li>a:first-child:empty{display:none;pointer-events:none;}

@media(max-width:768px){
  .footer-columns{flex-direction:column;gap:1.5rem;}
  .footer-col--logo{order:-1;}
}


/* ---------- 23. Lang-switch --------------------------------------------- */
.lang-switch{
  position:relative;display:inline-block;
  padding:.5rem .75rem;background:var(--c-bg);border-radius:var(--radius-sm);
  font-weight:600;
}
.lang-switch__current{
  display:flex;align-items:center;gap:.35rem;
  background:none;border:0;cursor:pointer;
  font-size:1rem;color:var(--c-white);
  min-height:2.75rem;min-width:2.75rem;
}
.lang-switch__current::after{
  content:'';width:.4rem;height:.4rem;
  border:.15rem solid var(--c-white);
  border-left:transparent;border-top:transparent;
  transform:rotate(45deg);transition:transform .3s;margin-top:.15rem;
}
.lang-switch.is-open .lang-switch__current::after{transform:rotate(-135deg);}

.lang-switch__list{
  position:absolute;right:0;top:calc(100% + .5rem);
  background:var(--c-surface);border-radius:var(--radius-sm);
  min-width:100%;width:max-content;
  box-shadow:0 4px .75rem var(--c-shadow);
  padding:.35rem 0;list-style:none;margin:0;display:none;z-index:1100;
}
.lang-switch.is-open .lang-switch__list{display:block;}

.flag-icon{width:1.25rem;height:auto;border-radius:2px;flex-shrink:0;}

.lang-switch__link{
  display:flex;align-items:center;gap:.5rem;
  padding:.45rem 1rem;font-size:.9rem;
  white-space:nowrap;color:var(--c-text);text-decoration:none;
  transition:background var(--transition-normal),color var(--transition-normal);
  min-height:2.75rem;
}
.lang-switch__link:hover,
.lang-switch__link.is-active{background:var(--c-accent);color:var(--c-white);cursor:default;}


/* ---------- 24. Back-to-top button -------------------------------------- */
.to-top{
  position:fixed;bottom:2rem;right:2rem;
  width:3rem;height:3rem;border:none;border-radius:50%;
  background:var(--c-accent);color:var(--c-white);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px .75rem var(--c-shadow);
  opacity:0;visibility:hidden;transition:opacity .3s,transform .3s;
  cursor:pointer;z-index:2500;
}
.to-top:hover{transform:translateY(-2px);background:var(--c-accent-hover);}
.to-top--show{opacity:1;visibility:visible;z-index:9999;}


/* ---------- 25. Off-canvas nav ------------------------------------------ */
@media(max-width:1024px){
  .main-nav{
    position:fixed;inset:0;background:var(--c-surface-alt);
    display:none;flex-direction:column;align-items:center;justify-content:center;
    z-index:1000;padding:4rem 2rem 2rem;overflow-y:auto;
  }
  #nav-toggle:checked ~ .main-nav{display:flex;}

  .menu{flex-direction:column;gap:1.5rem;font-size:1.25rem;text-align:center;}
  .submenu{position:static;background:transparent;padding:0;}
}


/* ---------- 26. Auth & bonus buttons ------------------------------------ */
.btn-auth{
  display:inline-block;padding:.6rem 1.5rem;border-radius:var(--radius-pill);
  font-weight:600;text-decoration:none;
  transition:background var(--transition-normal),color var(--transition-normal),transform var(--transition-normal);
}
.btn-login{
  background:var(--c-accent);
  color:var(--c-white);
  border-radius:var(--radius-pill);
}
.btn-login:hover{background:var(--c-accent-hover);color:var(--c-white);transform:translateY(-1px);}
.btn-register{
  background:var(--c-cta);
  color:var(--c-cta-text);
  border-radius:var(--radius-pill);
}
.btn-register:hover{background:var(--c-cta-hover);color:var(--c-cta-text);transform:translateY(-1px);}


/* ---------- 27. Table of Contents --------------------------------------- */
.toc{
  background:var(--c-glass);
  backdrop-filter:blur(1rem) saturate(160%);
  -webkit-backdrop-filter:blur(1rem) saturate(160%);
  border:1px solid rgba(141,82,218,.15);
  border-radius:var(--radius-lg);
  margin:1rem 0;
  overflow:hidden;
}

.toc__title{
  display:flex;align-items:center;gap:.5rem;
  padding:.625rem 1rem;
  font-size:.8125rem;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;
  color:var(--c-text-muted);
  cursor:pointer;list-style:none;user-select:none;
}
.toc__title::-webkit-details-marker{display:none;}

.toc__title::before{
  content:'\203A';display:inline-block;
  font-size:1.1rem;line-height:1;
  color:var(--c-accent);
  transition:transform var(--transition-fast);
}
.toc[open] .toc__title::before{transform:rotate(90deg);}
.toc__title:hover{color:var(--c-accent);}

.toc__list,
.toc__sub{list-style:none;margin:0;padding:0;border-top:1px solid var(--c-glass);padding-bottom:.375rem;}
.toc__sub{border-top:none;padding-bottom:0;padding-left:.75rem;}

.toc a{
  display:block;padding:.3125rem 1rem .3125rem .875rem;
  color:var(--c-text-muted);text-decoration:none;
  font-size:.875rem;line-height:1.4;
  border-left:2px solid transparent;
  transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast);
}
.toc a:hover{
  color:var(--c-accent);
  border-left-color:var(--c-accent);
  background:rgba(141,82,218,.05);
}
.toc a:focus-visible{outline:2px solid var(--c-accent);outline-offset:-2px;}
.toc li+li a{border-top:1px solid rgba(255,255,255,.04);}

@supports not (backdrop-filter:blur(1px)){
  .toc{background:rgba(37,37,64,.92);}
}


/* ---------- 28. CasinoGrid (.cg-*) ------------------------------------- */
.cg-section{position:relative;margin-bottom:2.5rem;}

.cg-header{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:.75rem;gap:.75rem;
}
.cg-heading{font-size:1.25rem;font-weight:700;color:inherit;margin:0;line-height:1.2;}

.cg-view-all{
  font-size:.82rem;color:var(--c-glass-text);text-decoration:none;
  background:var(--c-glass);backdrop-filter:blur(.75rem);-webkit-backdrop-filter:blur(.75rem);
  border:1px solid var(--c-glass-border);border-radius:var(--radius-sm);
  padding:.3125rem .875rem;white-space:nowrap;flex-shrink:0;cursor:pointer;
  transition:border-color var(--transition-fast),color var(--transition-fast);
}
.cg-view-all:hover{border-color:var(--c-accent);color:var(--c-accent);}
.cg-view-all:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px;}

.cg-slider-wrap{display:flex;align-items:center;gap:.5rem;}

.cg-slider{
  display:flex;gap:.75rem;overflow-x:auto;
  scroll-snap-type:x mandatory;scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;
  padding-bottom:.25rem;flex:1;min-width:0;
}
.cg-slider::-webkit-scrollbar{display:none;}

.cg-arrow{
  flex-shrink:0;width:2.75rem;height:2.75rem;border-radius:50%;
  background:var(--c-glass);backdrop-filter:blur(.75rem);-webkit-backdrop-filter:blur(.75rem);
  border:1px solid var(--c-glass-border);color:var(--c-glass-text);
  font-size:1.5rem;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast);
  padding:0;user-select:none;
}
.cg-arrow:hover{border-color:var(--c-accent);color:var(--c-accent);box-shadow:0 0 .625rem rgba(141,82,218,.2);}
.cg-arrow:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px;}

.cg-item{
  flex:0 0 10rem;scroll-snap-align:start;display:block;
  text-decoration:none;color:inherit;border-radius:.625rem;overflow:hidden;
  background:var(--c-glass);backdrop-filter:blur(.75rem);-webkit-backdrop-filter:blur(.75rem);
  border:1px solid var(--c-glass-border);cursor:pointer;
  transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);
}
.cg-item:hover{
  transform:translateY(-3px);
  border-color:rgba(141,82,218,.4);
  box-shadow:0 0 0 1px rgba(141,82,218,.15),0 .5rem 1.5rem rgba(0,0,0,.3);
}
.cg-item:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px;}

.cg-img{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;background:rgba(0,0,0,.3);}
.cg-img img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .22s ease;}
.cg-item:hover .cg-img img{transform:scale(1.04);}

.cg-meta{padding:.5rem .625rem .625rem;}
.cg-title{font-size:.82rem;font-weight:600;line-height:1.3;color:var(--c-white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cg-provider{font-size:.7rem;color:var(--c-glass-text);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

@media(max-width:576px){
  .cg-arrow{display:none;}
  .cg-item{flex:0 0 8.125rem;}
  .cg-slider{gap:.5rem;}
  .cg-heading{font-size:1rem;}
}


/* ---------- 29. BigWins (.bw-*) ----------------------------------------- */
.bw-section{margin:2rem 0;}
.bw-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;}
.bw-heading{font-size:1.2rem;font-weight:700;margin:0;color:inherit;}

.bw-slider{position:relative;overflow:hidden;height:5.25rem;}
.bw-cards{
  display:grid;grid-template-columns:repeat(var(--bw-per-row,6),1fr);
  gap:.75rem;height:5.25rem;overflow:hidden;
}

@media(max-width:1100px){
  .bw-cards{grid-template-columns:repeat(var(--bw-per-row-md,4),1fr);}
}

.bw-card{
  display:flex;align-items:center;gap:.625rem;
  background:var(--c-glass);border-radius:var(--radius-md);
  padding:0 .75rem 0 0;height:5.25rem;overflow:hidden;
  min-width:0;text-decoration:none;color:inherit;
}
.bw-section .bw-card img{
  flex:0 0 auto;width:3.75rem;height:5.25rem;
  object-fit:cover;border-radius:var(--radius-md) 0 0 var(--radius-md);display:block;
}
.bw-card-body{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:2px;}
.bw-amount{font-size:.95rem;font-weight:800;color:var(--c-yellow);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bw-game{font-size:.72rem;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--c-white);}
.bw-nickname{font-size:.75rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--c-white);}
.bw-meta{font-size:.66rem;opacity:.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--c-white);}
.bw-mult{color:var(--c-green);font-weight:700;}

@media(max-width:768px){
  .bw-slider{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x mandatory;height:auto;}
  .bw-slider::-webkit-scrollbar{display:none;}
  .bw-cards{display:flex;flex-wrap:nowrap;height:auto;overflow:visible;gap:.5rem;padding-bottom:2px;}
  .bw-card{flex:0 0 min(11.875rem,calc(50vw - .5rem));width:min(11.875rem,calc(50vw - .5rem));height:5.625rem;scroll-snap-align:start;}
  .bw-section .bw-card img{width:3.125rem;height:5.625rem;}
}

@keyframes bw-slide-in-left{
  from{opacity:0;transform:translateX(-2.5rem);}
  to{opacity:1;transform:translateX(0);}
}
@keyframes bw-slide-out-right{
  from{opacity:1;transform:translateX(0);}
  to{opacity:0;transform:translateX(2.5rem);}
}
.bw-card--entering{animation:bw-slide-in-left .4s ease forwards;}
.bw-card--leaving{animation:bw-slide-out-right .35s ease forwards;pointer-events:none;}


/* ---------- 30. LiveBets (.lb-*) ---------------------------------------- */
.lb-section{margin:2rem 0;}
.lb-header{
  display:flex;justify-content:space-between;align-items:center;
  gap:.5rem;border-bottom:1px solid var(--c-glass-border);margin-bottom:.75rem;flex-wrap:wrap;
}
.lb-heading{font-size:1.2rem;font-weight:700;margin:0;color:inherit;padding-bottom:.625rem;}

.lb-tabs{display:flex;align-items:center;}
.lb-tab{
  height:2.75rem;padding:0 1rem;background:none;border:none;
  border-bottom:2px solid transparent;color:var(--c-glass-text);
  font-size:.88rem;cursor:pointer;
  transition:color var(--transition-fast),border-color var(--transition-fast);
  white-space:nowrap;position:relative;bottom:-1px;
}
.lb-tab--active{color:var(--c-accent);border-bottom-color:var(--c-accent);}
.lb-tab:hover:not(.lb-tab--active){color:rgba(255,255,255,.75);}
.lb-tab:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px;}

.lb-body{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.lb-table{min-width:33.75rem;}

.lb-thead{
  display:grid;grid-template-columns:2fr 1.2fr .9fr 1fr 1fr 1.2fr;
  padding:.375rem .75rem;gap:.5rem;
  font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--c-glass-text);
}
.lb-tbody{
  height:calc(var(--lb-rows,10)*2.5rem);overflow:hidden;
  contain:layout;overflow-anchor:none;transition:opacity var(--transition-normal);
}
.lb-tbody--fade{opacity:0;}

.lb-row{
  display:grid;grid-template-columns:2fr 1.2fr .9fr 1fr 1fr 1.2fr;
  gap:.5rem;padding:0 .75rem;height:2.5rem;align-items:center;
  border-radius:var(--radius-md);cursor:pointer;text-decoration:none;color:inherit;
  background:rgba(255,255,255,.02);transition:background var(--transition-fast);
}
.lb-row:nth-child(odd){background:rgba(255,255,255,.055);}
.lb-row:hover{background:rgba(255,255,255,.09);}
.lb-row:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px;}

.lb-col-game{display:grid;grid-template-columns:1.25rem 1fr;align-items:center;gap:.5rem;overflow:hidden;min-width:0;}
.lb-game-thumb{width:1.25rem;height:1.25rem;border-radius:4px;object-fit:cover;flex-shrink:0;display:block;}
.lb-game-name{font-size:.8rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lb-game-info{min-width:0;overflow:hidden;}
.lb-game-player{display:none;}
.lb-col-right{display:none;}

.lb-col-player,
.lb-col-time{font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lb-col-bet,.lb-col-mult{min-width:0;}
.lb-col-payout{font-size:.8rem;font-weight:700;color:var(--c-green);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

.lb-badge{display:inline-block;padding:3px .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;white-space:nowrap;}
.lb-badge--bet{background:var(--c-glass-border);color:inherit;}
.lb-badge--mult{background:rgba(59,130,246,.18);color:#93c5fd;}

@media(max-width:768px){
  .lb-body{overflow-x:visible;min-height:calc(var(--lb-rows,10)*4rem);}
  .lb-tbody{height:calc(var(--lb-rows,10)*4rem);}
  .lb-table{min-width:0;}
  .lb-thead{display:none;}
  .lb-row{grid-template-columns:1fr auto;height:3.75rem;margin-bottom:.25rem;}
  .lb-col-player,.lb-col-time,.lb-col-bet,.lb-col-mult,.lb-col-payout{display:none;}
  .lb-col-game{grid-template-columns:3rem 1fr;}
  .lb-game-thumb{width:3rem;height:3rem;border-radius:var(--radius-md);}
  .lb-game-info{display:flex;flex-direction:column;gap:3px;}
  .lb-game-name{font-size:.82rem;}
  .lb-game-player{display:block;font-size:.72rem;opacity:.55;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .lb-col-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;}
  .lb-payout-amount{font-size:.85rem;font-weight:700;color:var(--c-green);white-space:nowrap;}
}

@media(max-width:560px){
  .lb-header{flex-direction:column;align-items:stretch;border-bottom:none;gap:0;}
  .lb-heading{padding-bottom:0;margin-bottom:.625rem;}
  .lb-tabs{width:100%;background:var(--c-glass);border-radius:var(--radius-md);padding:3px;margin-bottom:.875rem;gap:2px;}
  .lb-tab{flex:1;text-align:center;padding:0 .375rem;height:2.25rem;font-size:.8rem;border-bottom:none;border-radius:var(--radius-sm);bottom:0;transition:color var(--transition-fast),background var(--transition-fast);}
  .lb-tab--active{background:rgba(141,82,218,.15);border-bottom-color:transparent;}
}


/* ---------- 31. PromoBanners (.pb-*) ------------------------------------ */
.pb-section{padding:0 0 1.5rem;}

.pb-slider{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;}

@media(max-width:1024px){
  .pb-slider{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:.75rem;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:.25rem;}
  .pb-slider::-webkit-scrollbar{display:none;}
  .pb-slide{flex:0 0 calc(100vw - 2rem);scroll-snap-align:start;}
}

.pb-banner{position:relative;display:block;width:100%;border-radius:1rem;overflow:hidden;cursor:pointer;text-decoration:none;}
.pb-banner__img{width:100%;aspect-ratio:2/1;}
.pb-banner__img img{width:100%;height:100%;object-fit:cover;display:block;}
.pb-banner__content{
  position:absolute;bottom:0;left:0;right:0;padding:.75rem;
  background:linear-gradient(transparent,rgba(0,0,0,.75));
  display:flex;align-items:flex-end;justify-content:space-between;gap:.5rem;
}
.pb-badge{position:absolute;top:.75rem;left:.75rem;background:rgba(37,37,64,.85);border-radius:var(--radius-sm);padding:3px .5rem;font-size:.75rem;font-weight:700;color:var(--c-white);white-space:nowrap;}
.pb-text{flex:1;min-width:0;overflow:hidden;}
.pb-headline{margin:0;font-size:1.25rem;font-weight:900;color:var(--c-headline-yellow);line-height:1.2;}
.pb-sub{margin:2px 0 0;font-size:.875rem;font-weight:600;color:var(--c-headline-yellow);opacity:.9;}
.pb-cta{
  flex-shrink:0;background:var(--c-cta);color:var(--c-cta-text);border:none;
  border-radius:62.5rem;padding:.5rem 1rem;font-size:.75rem;font-weight:700;
  cursor:pointer;transition:background var(--transition-normal),transform var(--transition-fast);white-space:nowrap;
}
.pb-cta:hover{background:var(--c-cta-hover);transform:translateY(-1px);}


/* ---------- 32. Providers (.pr-*) --------------------------------------- */
.pr-section{margin-bottom:2.5rem;}
.pr-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;gap:.75rem;}
.pr-heading{font-size:1.25rem;font-weight:700;color:inherit;margin:0;line-height:1.2;}

.pr-view-all{
  font-size:.82rem;color:var(--c-glass-text);text-decoration:none;
  background:var(--c-glass);backdrop-filter:blur(.75rem);-webkit-backdrop-filter:blur(.75rem);
  border:1px solid var(--c-glass-border);border-radius:var(--radius-sm);
  padding:.3125rem .875rem;white-space:nowrap;flex-shrink:0;cursor:pointer;
  transition:border-color var(--transition-fast),color var(--transition-fast);
}
.pr-view-all:hover{border-color:var(--c-accent);color:var(--c-accent);}
.pr-view-all:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px;}

.pr-slider-wrap{display:flex;align-items:center;gap:.5rem;}
.pr-slider{
  display:flex;gap:.75rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none;
  padding-bottom:.25rem;flex:1;min-width:0;
}
.pr-slider::-webkit-scrollbar{display:none;}

.pr-arrow{
  flex-shrink:0;width:2.75rem;height:2.75rem;border-radius:50%;
  background:var(--c-glass);backdrop-filter:blur(.75rem);-webkit-backdrop-filter:blur(.75rem);
  border:1px solid var(--c-glass-border);color:var(--c-glass-text);
  font-size:1.5rem;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast);
  padding:0;user-select:none;
}
.pr-arrow:hover{border-color:var(--c-accent);color:var(--c-accent);box-shadow:0 0 .625rem rgba(141,82,218,.2);}
.pr-arrow:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px;}

.pr-item{
  flex:0 0 7.5rem;scroll-snap-align:start;display:flex;flex-direction:column;
  align-items:center;gap:.5rem;padding:.75rem .5rem;border-radius:var(--radius-lg);
  text-decoration:none;color:inherit;
  background:var(--c-glass);backdrop-filter:blur(.75rem);-webkit-backdrop-filter:blur(.75rem);
  border:1px solid var(--c-glass-border);cursor:pointer;touch-action:manipulation;
  transition:border-color var(--transition-fast),box-shadow var(--transition-fast);
}
.pr-item:hover{border-color:var(--c-accent);box-shadow:0 0 .625rem rgba(141,82,218,.15);}

.pr-logo{width:100%;display:flex;align-items:center;justify-content:center;height:3rem;}
.pr-logo img{max-width:100%;max-height:3rem;object-fit:contain;}
.pr-name{font-size:.72rem;color:var(--c-glass-text);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;}

@media(max-width:576px){
  .pr-arrow{display:none;}
  .pr-item{flex:0 0 6.875rem;}
}


/* ---------- 33. Go Overlay ---------------------------------------------- */
.go-link{cursor:pointer;}

#go-overlay{
  display:none;position:fixed;inset:0;z-index:99999;
  background:rgba(0,0,0,.75);align-items:center;justify-content:center;
}
#go-overlay.go-overlay--visible{display:flex;}

.go-spinner{
  width:3.5rem;height:3.5rem;
  border:.3125rem solid rgba(255,255,255,.2);
  border-top-color:var(--c-accent);border-radius:50%;
  animation:go-spin .8s linear infinite;
}
@keyframes go-spin{to{transform:rotate(360deg);}}


/* ---------- 34. Footer extras (.sf-*) ----------------------------------- */
.sf-copyright{
  border-top:1px solid var(--c-glass-border);
  padding:1rem 0;font-size:.8125rem;
  color:var(--c-glass-text);text-align:center;
}


/* ---------- 35. Reduced motion (global) --------------------------------- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
}




/* ---------- 37. Hero welcome (small screens) ---------------------------- */
@media(max-width:380px){
  .hero-welcome .cont{max-width:100%;margin:0 auto;padding:0 1rem;}
  .hero-welcome .two-col{flex-direction:column;gap:1rem;}
  .hero-welcome .col-text,
  .hero-welcome .col-img{flex:none;width:100%;}
  .hero-welcome .col-img img{max-width:100%;height:auto;display:block;}
  .hero-welcome .section-title{font-size:1.4rem;line-height:1.2;margin-bottom:.75rem;word-break:break-word;hyphens:auto;}
  .hero-welcome .lead{font-size:.85rem;}
}
