/* ===== Casoola NL — main.css ===== */
:root{
  --bg-deep:#150103; --bg:#1f0708; --bg-2:#2a0c0e;
  --surface:#2a0c0e; --surface-2:#360f13; --surface-3:#481319;
  --header-1:#641722; --header-2:#4a101a; --header-3:#3a0c14;
  --red:#c81f17; --red-2:#7c1c20; --red-3:#9c2420;
  --gold:#f3c969; --gold-2:#e0a23e; --gold-bright:#ffe487; --gold-deep:#8c6a30;
  --gold-grad:linear-gradient(180deg,#ffe79a 0%,#f3c869 46%,#dc9f37 100%);
  --line:rgba(243,201,105,.18); --line-2:rgba(243,201,105,.34);
  --text:#f3e7d7; --text-dim:#cdab9d; --text-mut:#9c8278; --white:#fff;
  --radius:14px; --maxw:1320px;
  --oct:polygon(9px 0,calc(100% - 9px) 0,100% 9px,100% calc(100% - 9px),calc(100% - 9px) 100%,9px 100%,0 calc(100% - 9px),0 9px);
  --ff-head:"Roboto Slab",Georgia,"Times New Roman",serif;
  --ff-body:"Inter",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;font-family:var(--ff-body);color:var(--text);line-height:1.6;
  background:var(--bg-deep);
  background-image:radial-gradient(120% 60% at 50% 0%,#37121a 0%,#260a0d 38%,#160305 78%);
  background-attachment:fixed;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;height:auto}
a{color:var(--gold);text-decoration:none}
a:hover{color:var(--gold-bright)}
button{font-family:inherit}
.container{max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(12px,3vw,28px)}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-weight:700;cursor:pointer;border:0;text-align:center;line-height:1.1;
  font-family:var(--ff-head);letter-spacing:.02em}
.btn-gold{background:var(--gold-grad);color:#3a0a10;border-radius:9px;
  padding:.72em 1.5em;box-shadow:0 6px 18px rgba(0,0,0,.45),inset 0 1px 0 #fff7df,inset 0 -2px 0 rgba(140,80,20,.5);
  text-shadow:0 1px 0 rgba(255,255,255,.35);border:1px solid #b9842f}
.btn-gold:hover{filter:brightness(1.06);color:#3a0a10}
.btn-bevel{background:var(--gold-grad);clip-path:var(--oct);padding:0;color:var(--gold)}
.btn-bevel>span{display:block;margin:2px;padding:.62em 1.25em;background:linear-gradient(180deg,#5a131d,#3c0d15);
  clip-path:var(--oct);color:var(--gold-bright);font-family:var(--ff-head);font-weight:700;
  letter-spacing:.04em;font-size:.86rem;text-transform:uppercase}
.btn-bevel:hover>span{background:linear-gradient(180deg,#6c1622,#48101a);color:#fff}
.btn-outline{background:transparent;border:1.5px solid var(--line-2);color:var(--gold);
  border-radius:999px;padding:.55em 1.15em;font-size:.85rem;text-transform:uppercase}
.btn-outline:hover{border-color:var(--gold);background:rgba(243,201,105,.08)}
.btn-sm{padding:.5em 1.05em;font-size:.8rem}

/* ---------- header ---------- */
.site-head{position:sticky;top:0;z-index:60;
  background:linear-gradient(96deg,var(--header-3) 0%,var(--header-2) 42%,var(--header-1) 100%);
  border-bottom:1px solid var(--line);box-shadow:0 2px 14px rgba(0,0,0,.5)}
.head-inner{display:flex;align-items:center;gap:14px;height:66px;max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(10px,2.4vw,22px)}
.nav-toggle{flex:0 0 auto;width:40px;height:40px;border-radius:9px;border:1px solid var(--line-2);
  background:rgba(0,0,0,.22);display:none;align-items:center;justify-content:center;cursor:pointer}
.nav-toggle svg{width:20px;height:20px;fill:var(--gold)}
.brand{flex:0 0 auto;display:inline-flex;align-items:center}
.brand img{height:38px;width:auto;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}
.head-spacer{flex:1 1 auto}
.search{flex:0 1 360px;display:flex;align-items:center;gap:9px;background:rgba(18,3,5,.62);
  border:1px solid var(--line);border-radius:999px;padding:9px 16px;color:var(--gold-2);min-width:0}
.search svg{width:17px;height:17px;fill:var(--gold-2);flex:0 0 auto}
.search input{flex:1;background:transparent;border:0;outline:0;color:var(--text);font-size:.9rem;min-width:0}
.search input::placeholder{color:#b78a5a}
.head-auth{flex:0 0 auto;display:flex;align-items:center;gap:10px}
.burger{flex:0 0 auto;width:42px;height:42px;border-radius:10px;border:1px solid var(--line-2);
  background:rgba(0,0,0,.25);display:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;cursor:pointer}
.burger span{width:20px;height:2px;background:var(--gold);border-radius:2px}

/* ---------- shell / sidebar ---------- */
.shell{display:flex;gap:0;max-width:var(--maxw);margin-inline:auto;align-items:flex-start}
.sidebar{flex:0 0 236px;align-self:stretch;padding:14px 12px 40px;position:sticky;top:66px;
  max-height:calc(100vh - 66px);overflow-y:auto;scrollbar-width:thin}
.sidebar::-webkit-scrollbar{width:7px}.sidebar::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:4px}
.nav-group{background:var(--surface);border:1px solid rgba(0,0,0,.4);border-top:2px solid var(--red-2);
  border-radius:12px;padding:6px;margin-bottom:12px}
.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:9px;
  color:var(--gold);font-family:var(--ff-head);font-weight:600;font-size:.86rem;letter-spacing:.03em;
  text-transform:uppercase;line-height:1.15}
.nav-item .ico{font-size:1.2rem;width:24px;text-align:center;flex:0 0 auto;filter:drop-shadow(0 1px 1px rgba(0,0,0,.6))}
.nav-item:hover{background:rgba(200,31,23,.16);color:var(--gold-bright)}
.nav-item.active{background:linear-gradient(180deg,#c2201c,#7e1417);color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 3px 10px rgba(0,0,0,.4)}
.main{flex:1 1 auto;min-width:0;padding:18px clamp(12px,2vw,24px) 50px}

/* ---------- hero ---------- */
.hero{position:relative;border-radius:18px;overflow:hidden;margin-bottom:20px;
  border:1px solid var(--line);min-height:300px;display:flex;align-items:center;
  background:#2a0c0e center/cover no-repeat}
.hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(20,3,6,.94) 0%,rgba(28,8,12,.78) 38%,rgba(28,8,12,.12) 70%,rgba(28,8,12,0) 100%)}
.hero-in{position:relative;z-index:2;padding:clamp(22px,4vw,48px);max-width:640px}
.eyebrow{font-family:var(--ff-head);text-transform:uppercase;letter-spacing:.22em;
  color:var(--gold);font-size:.78rem;font-weight:600;margin:0 0 10px}
.hero-title{font-family:var(--ff-head);font-weight:700;line-height:1.04;margin:0 0 8px;
  font-size:clamp(1.8rem,4.4vw,3rem);color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.hero-title .amt{color:var(--gold-bright)}
.hero-sub{color:var(--text-dim);margin:0 0 20px;font-size:1.02rem;max-width:30em}
.hero .btn-gold{font-size:1.05rem;padding:.85em 2em}

/* ---------- category strip ---------- */
.catbar{display:flex;gap:9px;overflow-x:auto;padding:4px 2px 14px;margin-bottom:6px;scrollbar-width:none}
.catbar::-webkit-scrollbar{display:none}
.chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;
  background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:9px 16px;
  color:var(--gold);font-family:var(--ff-head);font-weight:600;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase}
.chip .ico{font-size:1rem}
.chip:hover,.chip.active{background:linear-gradient(180deg,#c2201c,#7e1417);color:#fff;border-color:transparent}

/* ---------- rows ---------- */
.row{margin:22px 0 8px}
.row-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.row-title{font-family:var(--ff-head);font-weight:700;font-size:1.18rem;color:var(--white);margin:0;letter-spacing:.01em}
.row-title b{color:var(--gold)}
.row-head .more{margin-left:auto;color:var(--gold-2);font-weight:600;font-size:.84rem;white-space:nowrap;font-family:var(--ff-head)}
.row-head .more:hover{color:var(--gold-bright)}
.row-arrows{display:flex;gap:6px}
.row-arrows button{width:34px;height:34px;border-radius:8px;border:1px solid var(--line-2);
  background:rgba(0,0,0,.25);color:var(--gold);cursor:pointer;font-size:1rem;display:grid;place-items:center}
.row-arrows button:hover{background:var(--red-2);color:#fff}
.track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,1fr);gap:14px;
  overflow-x:auto;padding-bottom:10px;scroll-behavior:smooth;scrollbar-width:none}
.track::-webkit-scrollbar{display:none}
.track.grid6{grid-auto-flow:row;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));overflow:visible}

.card{position:relative;border-radius:13px;overflow:hidden;background:var(--surface-2);
  border:1px solid var(--line);box-shadow:0 5px 14px rgba(0,0,0,.4);aspect-ratio:5/7}
.card img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.card:hover img{transform:scale(1.06)}
.card .ribbon{position:absolute;top:0;left:50%;transform:translateX(-50%);
  background:var(--gold-grad);color:#3a0a10;font-family:var(--ff-head);font-weight:700;font-size:.62rem;
  letter-spacing:.08em;padding:3px 12px;border-radius:0 0 7px 7px;text-transform:uppercase}
.card .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(0deg,rgba(20,3,6,.82),rgba(20,3,6,.1));opacity:0;transition:opacity .25s}
.card:hover .play{opacity:1}
.card .play span{background:var(--gold-grad);color:#3a0a10;font-family:var(--ff-head);font-weight:700;
  font-size:.78rem;padding:.5em 1.1em;border-radius:8px;text-transform:uppercase}

/* sport tiles */
.sport-tile{aspect-ratio:5/7;background:radial-gradient(120% 90% at 50% 12%,#3a0f17,#1d0608);
  display:flex;align-items:flex-end;justify-content:center;padding:0}
.sport-tile img{width:100%;height:100%;object-fit:contain;object-position:bottom}
.sport-tile .lbl{position:absolute;bottom:0;left:0;right:0;text-align:center;
  background:linear-gradient(0deg,rgba(18,3,5,.92),transparent);padding:18px 6px 9px;
  font-family:var(--ff-head);font-weight:700;color:#fff;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em}
.subcats{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px}

/* ---------- spin rally promo ---------- */
.rally{background:linear-gradient(180deg,#350f15,#240a0c);border:1px solid var(--line);
  border-radius:16px;padding:18px clamp(14px,2.5vw,24px);margin:24px 0}
.rally-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:6px}
.rally-head .row-title{font-size:1.3rem}
.rally-head p{color:var(--text-dim);margin:0;font-size:.92rem}
.rally-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;margin-top:14px}
.rally-card{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;overflow:hidden;
  display:flex;flex-direction:column}
.rally-card .thumb{aspect-ratio:1/1;overflow:hidden}
.rally-card .thumb img{width:100%;height:100%;object-fit:cover}
.rally-card .meta{padding:10px;text-align:center}
.rally-card .meta .nm{font-family:var(--ff-head);font-weight:600;font-size:.82rem;color:var(--text);display:block;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:8px}

/* ---------- promo banners ---------- */
.promo{position:relative;border-radius:16px;overflow:hidden;margin:24px 0;min-height:170px;
  display:flex;align-items:center;border:1px solid var(--line);background:#2a0c0e center/cover no-repeat}
.promo::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(20,3,6,.92),rgba(24,7,10,.55) 55%,rgba(24,7,10,.05))}
.promo-in{position:relative;z-index:2;padding:clamp(18px,3vw,34px);max-width:560px}
.promo-in .promo-h{font-family:var(--ff-head);font-weight:700;color:#fff;margin:0 0 14px;
  font-size:clamp(1.15rem,2.4vw,1.6rem);line-height:1.15}
.promo-in .promo-h b{color:var(--gold-bright)}

/* ---------- SEO content block ---------- */
.seo{background:linear-gradient(180deg,rgba(42,12,14,.66),rgba(25,7,9,.66));
  border:1px solid var(--line);border-radius:18px;padding:clamp(20px,3.4vw,46px);margin:30px 0 10px}
.seo h1,.seo h2,.seo h3{font-family:var(--ff-head);color:var(--white);line-height:1.2;font-weight:700}
.seo h1{font-size:clamp(1.7rem,3.6vw,2.4rem);margin:0 0 18px;
  background:linear-gradient(180deg,#fff,#f1d9b0);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.seo h2{font-size:clamp(1.3rem,2.6vw,1.7rem);margin:2em 0 .6em;padding-top:.4em;
  border-top:1px solid var(--line);color:var(--gold)}
.seo h2:first-of-type{border-top:0;padding-top:0}
.seo h3{font-size:1.16rem;margin:1.5em 0 .4em;color:var(--gold-bright)}
.seo p{margin:0 0 1.05em;color:var(--text)}
.seo .lead{font-size:1.12rem;color:#fff}
.seo a{text-decoration:underline;text-underline-offset:2px}
.seo strong{color:#fff}
.seo ul,.seo ol{margin:0 0 1.2em;padding-left:0;list-style:none}
.seo ol{counter-reset:li}
.seo ul li,.seo ol li{position:relative;padding:.34em 0 .34em 2em;color:var(--text)}
.seo ul li::before{content:"";position:absolute;left:.35em;top:.95em;width:9px;height:9px;border-radius:50%;
  background:var(--gold-grad);box-shadow:0 0 0 3px rgba(243,201,105,.14)}
.seo ol li{counter-increment:li}
.seo ol li::before{content:counter(li);position:absolute;left:0;top:.3em;width:1.5em;height:1.5em;
  background:linear-gradient(180deg,#c2201c,#7e1417);color:#fff;border-radius:8px;display:grid;place-items:center;
  font-family:var(--ff-head);font-weight:700;font-size:.82em}
.seo li+li{border-top:1px dashed rgba(243,201,105,.1)}
.table-wrap{overflow-x:auto;margin:0 0 1.4em;border:1px solid var(--line);border-radius:12px;
  -webkit-overflow-scrolling:touch}
.seo table{border-collapse:collapse;width:100%;min-width:520px;font-size:.94rem}
.seo th,.seo td{padding:12px 15px;text-align:left;border-bottom:1px solid rgba(243,201,105,.12);vertical-align:top}
.seo thead th{background:linear-gradient(180deg,#5a131d,#3c0d15);color:var(--gold-bright);
  font-family:var(--ff-head);text-transform:uppercase;font-size:.78rem;letter-spacing:.04em;white-space:nowrap}
.seo tbody tr:nth-child(even){background:rgba(243,201,105,.04)}
.seo tbody tr:hover{background:rgba(200,31,23,.1)}
/* FAQ */
.faq{display:grid;gap:12px;margin:.5em 0 1.4em}
.qa{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px 16px 56px;position:relative}
.qa::before{content:"?";position:absolute;left:16px;top:16px;width:28px;height:28px;border-radius:8px;
  background:var(--gold-grad);color:#3a0a10;font-family:var(--ff-head);font-weight:700;display:grid;place-items:center}
.qa h3{margin:.05em 0 .4em;font-size:1.04rem;color:#fff}
.qa p{margin:0;color:var(--text-dim)}

/* ---------- footer ---------- */
.site-foot{background:linear-gradient(180deg,#1c0608,#100204);border-top:1px solid var(--line);margin-top:40px}
.foot-top{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;padding:24px 0 6px}
.pill{display:inline-flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line-2);
  border-radius:999px;padding:9px 18px;color:var(--gold);font-family:var(--ff-head);font-weight:600;font-size:.84rem}
.foot-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:22px 26px;padding:26px 0}
.foot-col .foot-h{font-family:var(--ff-body);font-weight:700;color:#fff;font-size:.95rem;margin:0 0 14px;letter-spacing:.01em}
.foot-col a{display:block;color:var(--text-mut);font-size:.86rem;padding:5px 0}
.foot-col a:hover{color:var(--gold)}
.foot-col a.real{color:var(--text-dim)}
.foot-pay{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding:18px 0;border-top:1px solid var(--line)}
.pay-chip{background:#f5f3ee;border-radius:7px;height:34px;min-width:54px;display:flex;align-items:center;justify-content:center;
  padding:0 12px;font-weight:800;font-size:.78rem;color:#222;font-family:var(--ff-head);letter-spacing:.02em}
.pay-chip.v{color:#1a1f71}.pay-chip.m{color:#eb001b}.pay-chip.i{color:#cc0066}.pay-chip.s{color:#4d2dbb}
.foot-legal{text-align:center;color:var(--text-mut);font-size:.8rem;padding:18px 0 30px;line-height:1.7}
.foot-legal .age{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;
  border:2px solid var(--red-3);color:#fff;font-weight:800;font-family:var(--ff-head);margin-bottom:10px}
.foot-legal a{color:var(--gold-2)}

/* ---------- cookie ---------- */
.cookie{position:fixed;left:14px;right:14px;bottom:14px;z-index:90;max-width:560px;margin-inline:auto;
  background:linear-gradient(180deg,#350f15,#220809);border:1px solid var(--line-2);border-radius:14px;
  padding:16px 18px;display:flex;gap:14px;align-items:center;box-shadow:0 14px 40px rgba(0,0,0,.6)}
.cookie p{margin:0;font-size:.84rem;color:var(--text-dim);flex:1}
.cookie a{color:var(--gold)}
.cookie.hide{display:none}

/* ---------- mobile drawer ---------- */
.drawer-back{position:fixed;inset:0;background:rgba(8,1,2,.6);z-index:80;opacity:0;visibility:hidden;transition:.25s}
.drawer-back.open{opacity:1;visibility:visible}
.drawer{position:fixed;top:0;left:0;bottom:0;width:min(82vw,320px);z-index:81;
  background:linear-gradient(180deg,#2a0c0e,#180405);border-right:1px solid var(--line);
  transform:translateX(-102%);transition:transform .28s ease;overflow-y:auto;padding:16px 14px 40px}
.drawer.open{transform:none}
.drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.drawer-head img{height:34px}
.drawer-close{width:38px;height:38px;border-radius:9px;border:1px solid var(--line-2);background:rgba(0,0,0,.25);
  color:var(--gold);font-size:1.3rem;cursor:pointer}
.drawer .nav-item{font-size:.92rem}
.drawer .cta-row{display:flex;flex-direction:column;gap:10px;margin:14px 4px}

/* ---------- 404 ---------- */
.nf{min-height:54vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:60px 20px}
.nf .code{font-family:var(--ff-head);font-weight:700;font-size:clamp(4rem,16vw,9rem);line-height:.9;
  background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.nf h1{font-family:var(--ff-head);color:#fff;font-size:1.6rem;margin:.4em 0 .3em}
.nf p{color:var(--text-dim);max-width:36em;margin:0 0 22px}
.nf .links{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}

/* ---------- responsive ---------- */
@media (max-width:1023px){
  .sidebar{display:none}
  .nav-toggle{display:none}
  .search{display:none}
  .head-auth .btn-bevel.login{display:none}
  .burger{display:flex}
  .main{padding:14px 0 40px}
  .container.shell{padding-inline:12px}
}
@media (min-width:1024px){ .burger{display:none} .drawer,.drawer-back{display:none} }
@media (max-width:600px){
  .head-inner{height:58px;gap:10px}
  .brand img{height:32px}
  .hero{min-height:340px}
  .hero::after{background:linear-gradient(0deg,rgba(20,3,6,.96) 6%,rgba(28,8,12,.5) 60%,rgba(28,8,12,.1))}
  .foot-cols{grid-template-columns:repeat(2,1fr)}
  .head-auth .btn-bevel>span{font-size:.78rem;padding:.6em .9em}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
