:root{
  --bg:#070102;
  --bg2:#130406;
  --panel:rgba(14, 9, 9, .82);
  --panel2:rgba(25, 9, 10, .72);
  --line:rgba(214, 174, 92, .26);
  --line-red:rgba(255, 35, 54, .36);
  --gold:#e7c77e;
  --gold2:#fff0bb;
  --red:#e4142c;
  --red2:#ff4558;
  --text:#fff6e9;
  --muted:#c9b9a1;
  --soft:#8e7e6a;
  --radius:28px;
  --shadow:0 22px 70px rgba(0,0,0,.55), 0 0 50px rgba(186,0,24,.11);
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  overflow-x:hidden;
}
a{color:inherit}
.site-bg{
  position:fixed; inset:0; z-index:-2;
  background:
    radial-gradient(circle at 78% 8%, rgba(255,33,52,.14), transparent 30%),
    radial-gradient(circle at 9% 28%, rgba(255,10,38,.08), transparent 24%),
    linear-gradient(180deg, #090203 0%, #100304 42%, #040101 100%);
}
.site-bg:after{display:none}
.topbar{
  width:min(calc(100% - 32px), 1260px);
  min-height:76px;
  padding:10px 16px;
  display:flex; align-items:center; gap:22px;
  position:sticky; top:14px; z-index:20;
  margin:14px auto 0;
  background:linear-gradient(180deg, rgba(16,8,9,.88), rgba(6,4,4,.88));
  border:1px solid var(--line);
  border-radius:999px;
  box-shadow:0 18px 60px rgba(0,0,0,.5), inset 0 0 0 1px rgba(255,255,255,.03);
  backdrop-filter:blur(14px);
}
.brand{width:78px;height:78px;flex:0 0 78px;border-radius:50%;display:grid;place-items:center;position:relative;margin-left:-3px;text-decoration:none}
.brand:after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid rgba(255,28,45,.45);box-shadow:0 0 26px rgba(255,13,33,.44)}
.brand img{width:100%;height:100%;display:block;border-radius:50%;object-fit:cover;filter:drop-shadow(0 0 14px rgba(255,0,34,.45))}
.nav{display:flex;align-items:center;justify-content:flex-end;gap:18px;flex:1;margin-left:auto}
.nav a{
  padding:13px 14px;
  color:#f7ead3;
  text-decoration:none;
  font-size:15px;
  letter-spacing:.01em;
  border-radius:999px;
  transition:.18s ease;
  white-space:nowrap;
}
.nav a:hover{color:var(--gold2);background:rgba(255,255,255,.04)}
.nav .nav-cta{
  margin-left:22px;
  color:white;
  font-weight:800;
  padding:15px 24px;
  background:linear-gradient(180deg,#d82035,#9a0b1a);
  border:1px solid rgba(255,132,140,.5);
  box-shadow:0 0 24px rgba(255,22,44,.34), inset 0 1px rgba(255,255,255,.28);
}
.menu-button{display:none;margin-left:auto;width:54px;height:54px;border-radius:18px;border:1px solid var(--line);background:rgba(0,0,0,.35);color:var(--gold);align-items:center;justify-content:center;flex-direction:column;gap:6px}
.menu-button span{width:24px;height:2px;background:var(--gold);border-radius:99px}
.section-shell,.section{width:min(calc(100% - 32px), var(--max));margin:0 auto}
.hero{
  min-height:610px;
  display:grid;grid-template-columns:minmax(0,1.02fr) minmax(390px,.98fr);
  gap:36px;align-items:center;
  padding:74px 0 52px;
  position:relative;
}
.hero:before{
  content:"";position:absolute;inset:28px -80px -20px;border-radius:48px;z-index:-1;
  background:
    linear-gradient(90deg,rgba(0,0,0,.15),rgba(116,6,14,.12)),
    radial-gradient(circle at 78% 44%, rgba(255,20,42,.28), transparent 31%),
    radial-gradient(ellipse at 45% 84%, rgba(184,3,24,.22), transparent 42%);
  border:1px solid rgba(231,199,126,.08);
}
.eyebrow{margin:0 0 14px;text-transform:uppercase;color:var(--gold);letter-spacing:.18em;font-weight:900;font-size:12px;display:flex;align-items:center;gap:12px}
.eyebrow span{display:block;width:42px;height:2px;background:linear-gradient(90deg,var(--red),transparent)}
h1,h2,h3,p{margin-top:0}
h1{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(56px,7vw,104px);
  line-height:.88;
  letter-spacing:-.06em;
  color:#fff9ee;
  max-width:720px;
  text-shadow:0 0 30px rgba(0,0,0,.8);
}
h1 span{display:block;color:var(--gold);background:linear-gradient(180deg,#fff6c6,#c69c47 60%,#fff1cb);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{font-size:clamp(18px,2vw,25px);line-height:1.48;max-width:660px;color:#f6eadf;margin:26px 0 20px}
.hero-tags{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 28px;max-width:680px}
.hero-tags span{padding:10px 15px;border:1px solid var(--line);border-radius:999px;background:rgba(0,0,0,.33);color:var(--gold2);font-weight:800;font-size:13px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 24px;border-radius:16px;text-decoration:none;font-weight:900;letter-spacing:.01em;border:1px solid transparent;cursor:pointer;transition:.18s ease}
.btn:hover{transform:translateY(-1px)}
.btn-red{color:#fff;background:linear-gradient(180deg,#f02d45,#b60c20);border-color:rgba(255,170,170,.44);box-shadow:0 0 32px rgba(255,18,42,.32),inset 0 1px rgba(255,255,255,.27)}
.btn-dark{color:var(--gold2);background:rgba(0,0,0,.46);border-color:var(--line);box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.hero-art{position:relative;min-height:480px;display:grid;place-items:center;overflow:visible}
.hero-art:before{content:"";position:absolute;left:2%;right:2%;bottom:22px;height:148px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(188,12,24,.5),transparent 68%);filter:blur(18px);opacity:.9}
.emblem-glow{position:absolute;width:min(100%,620px);aspect-ratio:1/1;border-radius:50%;background:radial-gradient(circle,rgba(251,42,52,.26),rgba(113,0,15,.12) 46%,transparent 72%);filter:blur(4px)}
.hero-emblem{position:relative;width:min(100%,620px);max-height:560px;object-fit:contain;filter:drop-shadow(0 0 34px rgba(255,28,46,.32)) drop-shadow(0 24px 45px rgba(0,0,0,.72))}
.section{padding:54px 0}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}
.section-head h2,.panel-title h2{font-family:Georgia,"Times New Roman",serif;color:var(--gold2);font-size:clamp(32px,4vw,50px);line-height:1;margin:0;letter-spacing:-.03em}
.section-two{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;align-items:stretch}
.panel,.game-card,.step-card,.rule-card,.final-cta{
  background:linear-gradient(180deg,rgba(21,13,12,.9),rgba(7,5,5,.86));
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow), inset 0 1px rgba(255,255,255,.04);
}
.panel{padding:30px}
.panel-title{display:flex;align-items:center;gap:13px;margin-bottom:18px}
.suit{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(228,20,44,.14);color:var(--red2);border:1px solid var(--line-red);font-size:22px}
.panel p{color:#eadbc8;line-height:1.75;font-size:17px;margin:0 0 12px}
.notice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.notice-grid div{padding:18px;border:1px solid rgba(231,199,126,.2);border-radius:20px;background:rgba(0,0,0,.24);min-height:112px}
.notice-grid b{display:block;color:var(--gold2);font-size:34px;font-family:Georgia,serif;line-height:1}
.notice-grid span{display:block;color:var(--muted);margin-top:8px;font-size:14px;line-height:1.35}
.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.game-card{padding:24px;min-height:330px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.game-card:before{content:"";position:absolute;right:-48px;top:-54px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(255,30,50,.22),transparent 70%)}
.game-date{color:var(--red2);font-size:13px;text-transform:uppercase;font-weight:900;letter-spacing:.08em;margin-bottom:18px}
.game-card h3{font-family:Georgia,serif;font-size:28px;color:var(--gold2);line-height:1.05;margin-bottom:12px}
.game-card p{color:#d8cabb;line-height:1.6;margin-bottom:20px}
.game-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:auto 0 18px}
.game-card dl div{padding:13px 10px;border-radius:16px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.065)}
.game-card dt{font-size:11px;color:var(--soft);text-transform:uppercase;font-weight:800}
.game-card dd{margin:4px 0 0;color:#fff3cf;font-weight:900;white-space:nowrap}
.btn-card{width:100%;background:rgba(163,14,26,.45);border-color:rgba(255,53,73,.45);color:#fff}
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.step-card{padding:26px;min-height:230px}
.step-card b{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line-red);color:var(--red2);background:rgba(228,20,44,.11);font-size:14px;margin-bottom:25px}
.step-card h3,.rule-card h3{font-family:Georgia,serif;color:var(--gold2);font-size:24px;margin-bottom:10px}
.step-card p,.rule-card p{color:#d7cab8;line-height:1.55;margin:0}
.rating-card{padding:18px}
.rating-table{width:100%;display:grid;gap:0}
.rating-row{display:grid;grid-template-columns:80px minmax(0,1fr) 140px;gap:14px;align-items:center;min-height:58px;padding:0 16px;border-bottom:1px solid rgba(255,255,255,.08);color:#ecdecb}
.rating-row:last-child{border-bottom:0}
.rating-header{min-height:45px;color:var(--gold);font-size:12px;text-transform:uppercase;font-weight:900;letter-spacing:.08em}
.rating-row strong{display:flex;align-items:center;gap:12px;min-width:0}
.rating-row b{color:var(--gold2);font-size:18px;text-align:right}
.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(180deg,#5b1017,#130709);border:1px solid rgba(255,57,72,.36);color:#fff;font-weight:900;flex:0 0 34px;overflow:hidden}
.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.rules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.rule-card{padding:28px}
.rule-card>span{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;border:1px solid rgba(255,33,52,.42);background:rgba(228,20,44,.11);color:var(--red2);font-weight:1000;font-size:20px;margin-bottom:22px}
.legal-line{margin-top:16px;padding:18px 22px;border:1px solid rgba(231,199,126,.22);border-radius:22px;color:#e5d4b8;background:rgba(0,0,0,.24)}
.contacts-card{display:grid;gap:16px;position:relative;overflow:hidden}
.contacts-card:after{display:none}
.contact-row{position:relative;display:grid;grid-template-columns:130px minmax(0,1fr);gap:20px;align-items:center;padding:18px;border:1px solid rgba(255,255,255,.07);border-radius:18px;background:rgba(255,255,255,.025);z-index:1}
.contact-row span{color:var(--soft);font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:.09em}
.contact-row a{color:var(--gold2);text-decoration:underline;text-decoration-color:rgba(231,199,126,.75);text-underline-offset:5px;font-weight:800;line-height:1.35}
.final-cta{display:grid;grid-template-columns:96px 1fr auto;gap:24px;align-items:center;padding:26px;margin-bottom:42px}
.final-cta img{width:96px;height:96px;border-radius:50%;filter:drop-shadow(0 0 20px rgba(255,24,44,.35))}
.final-cta h2{font-family:Georgia,serif;margin:0 0 6px;color:var(--gold2);font-size:34px;line-height:1.05}
.final-cta p{margin:0;color:#d7cab8}
.footer{width:min(calc(100% - 32px),var(--max));margin:0 auto 24px;padding:24px;color:#a99a86;font-size:14px;line-height:1.6;text-align:center;border-top:1px solid rgba(255,35,55,.24)}
.footer a{color:var(--gold2);text-decoration:underline;text-underline-offset:4px}
.footer-cookie-link{
  display:inline;
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  color:var(--gold2);
  text-decoration:underline;
  text-underline-offset:4px;
  font:inherit;
  cursor:pointer;
}
.footer-cookie-link:hover{color:#ffe0a0}

.cookie[hidden], .cookie-settings[hidden]{display:none !important}
.cookie{
  position:fixed;left:18px;right:18px;bottom:18px;z-index:40;
  max-width:980px;margin:auto;padding:18px;
  border:1px solid var(--line);border-radius:24px;
  background:rgba(10,6,7,.96);
  box-shadow:0 18px 60px rgba(0,0,0,.58), 0 0 34px rgba(255,18,42,.12);
  backdrop-filter:blur(16px);
}
.cookie-main{display:flex;align-items:center;gap:18px}
.cookie-text{flex:1;min-width:0}
.cookie-text strong{display:block;color:var(--gold2);font-family:Georgia,serif;font-size:22px;margin-bottom:6px}
.cookie p{margin:0;color:#dbcbb5;line-height:1.45;font-size:14px}
.cookie a{color:var(--gold2);text-decoration:underline;text-underline-offset:4px}
.cookie-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.cookie .btn{min-height:44px;padding:0 18px;border-radius:14px}
.cookie-settings{margin-top:14px;padding-top:14px;border-top:1px solid rgba(231,199,126,.18)}
.cookie-option{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:16px;background:rgba(255,255,255,.025);margin-bottom:10px}
.cookie-option input{margin-top:4px;accent-color:var(--red)}
.cookie-option b{display:block;color:var(--gold2);font-size:14px;margin-bottom:3px}
.cookie-option small{display:block;color:#c8b9a5;line-height:1.35}
.cookie-actions-save{margin-top:12px}
body.page{padding-top:24px}.page-wrap{width:min(calc(100% - 32px),920px);margin:0 auto 40px}.legal-page{background:linear-gradient(180deg,rgba(18,8,9,.9),rgba(6,4,4,.88));border:1px solid var(--line);border-radius:32px;padding:34px;box-shadow:var(--shadow)}.legal-page h1{font-size:clamp(34px,5vw,56px);line-height:1}.legal-page h2{font-family:Georgia,serif;color:var(--gold2);margin-top:34px}.legal-page p,.legal-page li{color:#e4d5c2;line-height:1.72}.back-link{display:inline-flex;margin:0 0 18px;color:var(--gold2);text-decoration:underline;text-underline-offset:5px;font-weight:900}.install-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:22px}.install-card{padding:24px;border:1px solid var(--line);border-radius:24px;background:rgba(0,0,0,.28)}.install-card h2{margin-top:0}.install-card ol{padding-left:20px}.app-open{margin-top:22px}
@media (max-width: 1080px){
  .topbar{border-radius:28px}.nav{gap:8px}.nav a{padding:12px 10px}.hero{grid-template-columns:1fr;padding-top:54px}.hero-art{min-height:360px}.hero-emblem{width:min(88%,520px)}.section-two,.cards-grid{grid-template-columns:1fr}.steps-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 860px){
    .topbar{width:min(calc(100% - 20px), 720px);top:10px;margin-top:10px;padding:10px 12px;min-height:72px}.brand{width:64px;height:64px;flex-basis:64px}.menu-button{display:flex}.nav{position:absolute;left:0;right:0;top:calc(100% + 8px);display:none;flex-direction:column;margin-left:0;gap:6px;align-items:stretch;padding:12px;background:rgba(9,5,6,.97);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.nav.open{display:flex}.nav a{width:100%;text-align:center}.nav .nav-cta{margin-left:0}.hero{padding:42px 0 34px;gap:12px}.hero:before{inset:12px -10px -12px;border-radius:32px}h1{font-size:clamp(48px,15vw,78px)}.lead{font-size:18px}.hero-tags{display:grid;grid-template-columns:1fr 1fr}.hero-tags span{text-align:center;font-size:12px;padding:10px 8px}.hero-actions{display:grid;grid-template-columns:1fr;width:100%}.btn{width:100%}.hero-art{min-height:300px}.section{padding:36px 0}.notice-grid{grid-template-columns:1fr}.steps-grid,.rules-grid{grid-template-columns:1fr}.rating-row{grid-template-columns:52px minmax(0,1fr) 86px;padding:0 8px;gap:8px}.contact-row{grid-template-columns:1fr;gap:6px}.final-cta{grid-template-columns:1fr;text-align:center;justify-items:center}.cookie-main{display:grid}.cookie-actions{justify-content:stretch}.cookie .btn{width:100%}.install-grid{grid-template-columns:1fr}.legal-page{padding:24px;border-radius:26px}.panel{padding:24px}
}
@media (max-width: 480px){
  .section-shell,.section{width:min(calc(100% - 20px),var(--max))}.hero-tags{grid-template-columns:1fr}.game-card dl{grid-template-columns:1fr}.cards-grid{gap:14px}.section-head{display:block}.section-head .eyebrow{margin-bottom:12px}.section-head h2,.panel-title h2{font-size:34px}.hero-copy{padding-top:6px}.hero-art{min-height:250px}.contacts-card{padding:16px}.contact-row{padding:15px}.final-cta h2{font-size:28px}
}
.legal .back{display:inline-flex;margin:0 0 18px;color:var(--gold2);text-decoration:underline;text-underline-offset:5px;font-weight:900}.legal ul,.legal ol{padding-left:22px}.legal strong{color:#fff1bd}

/* Schedule loading state: no old placeholder card before Firebase data arrives */
.game-loading{min-height:260px;justify-content:center}
.game-loading h3{color:#fff0c9}
.loading-lines{display:grid;gap:10px;margin-top:18px}
.loading-lines span{display:block;height:12px;border-radius:999px;background:linear-gradient(90deg,rgba(231,199,126,.12),rgba(231,199,126,.34),rgba(231,199,126,.12));background-size:220% 100%;animation:kpl-loading 1.25s ease-in-out infinite}
.loading-lines span:nth-child(2){width:82%;animation-delay:.12s}.loading-lines span:nth-child(3){width:64%;animation-delay:.24s}
@keyframes kpl-loading{0%{background-position:120% 0}100%{background-position:-120% 0}}
.btn-ghost{border-color:rgba(231,199,126,.28);background:rgba(255,255,255,.035);color:var(--gold2)}
.btn-ghost:hover{border-color:rgba(231,199,126,.55);background:rgba(231,199,126,.09)}

/* === DARK LUXURY RESKIN 20260615 ===
   More expensive, darker casino-club interface with restrained red accents.
   Red is used only as a muted wine glow; main UI is graphite, black and gold.
*/
:root{
  --bg:#030304;
  --bg2:#070708;
  --panel:rgba(10,10,12,.91);
  --panel2:rgba(16,15,15,.84);
  --line:rgba(218,185,113,.24);
  --line-red:rgba(122,31,38,.22);
  --gold:#d8b56a;
  --gold2:#f3dd9a;
  --red:#7f1824;
  --red2:#b3424a;
  --text:#f5ead8;
  --muted:#b9aa92;
  --soft:#7d7467;
  --shadow:0 24px 80px rgba(0,0,0,.72), 0 1px 0 rgba(255,255,255,.025) inset;
}
body{
  background:#030304;
}
.site-bg{
  background:
    radial-gradient(circle at 82% 12%, rgba(218,185,113,.075), transparent 27%),
    radial-gradient(circle at 12% 20%, rgba(97,28,34,.075), transparent 28%),
    radial-gradient(ellipse at 50% 105%, rgba(218,185,113,.035), transparent 48%),
    linear-gradient(180deg,#030304 0%,#070708 48%,#020202 100%);
}
.topbar{
  background:linear-gradient(180deg,rgba(15,15,16,.94),rgba(5,5,6,.94));
  border-color:rgba(218,185,113,.24);
  box-shadow:0 18px 70px rgba(0,0,0,.72), inset 0 1px rgba(255,255,255,.055);
}
.brand:after{
  border-color:rgba(218,185,113,.35);
  box-shadow:0 0 20px rgba(218,185,113,.14),0 0 34px rgba(92,23,30,.16);
}
.brand img{
  filter:drop-shadow(0 0 10px rgba(218,185,113,.18)) drop-shadow(0 10px 18px rgba(0,0,0,.55));
}
.nav a{
  color:#d8cab0;
}
.nav a:hover{
  color:#f3dd9a;
  background:rgba(218,185,113,.06);
}
.nav .nav-cta,
.btn-red{
  color:#fff4db;
  background:linear-gradient(180deg,#3a2421 0%,#191414 54%,#0b0b0c 100%);
  border-color:rgba(218,185,113,.42);
  box-shadow:0 0 0 1px rgba(255,255,255,.035) inset,0 16px 36px rgba(0,0,0,.42),0 0 22px rgba(218,185,113,.08);
}
.nav .nav-cta:hover,
.btn-red:hover{
  background:linear-gradient(180deg,#4a3028 0%,#201919 52%,#0c0c0d 100%);
  border-color:rgba(243,221,154,.58);
  box-shadow:0 0 0 1px rgba(255,255,255,.05) inset,0 18px 42px rgba(0,0,0,.5),0 0 28px rgba(218,185,113,.13);
}
.menu-button{
  background:rgba(8,8,9,.72);
  border-color:rgba(218,185,113,.3);
}
.menu-button span{
  background:#d8b56a;
}
.hero:before{
  background:
    linear-gradient(115deg,rgba(0,0,0,.2),rgba(218,185,113,.025) 55%,rgba(86,18,25,.055)),
    radial-gradient(circle at 77% 45%, rgba(125,31,38,.13), transparent 32%),
    radial-gradient(ellipse at 48% 86%, rgba(218,185,113,.052), transparent 45%);
  border-color:rgba(218,185,113,.105);
  box-shadow:0 36px 120px rgba(0,0,0,.42) inset;
}
.eyebrow{
  color:#d8b56a;
}
.eyebrow span{
  background:linear-gradient(90deg,#d8b56a,rgba(216,181,106,0));
}
h1{
  color:#f7efe2;
  text-shadow:0 18px 48px rgba(0,0,0,.82);
}
h1 span{
  background:linear-gradient(180deg,#fff3c2 0%,#d2ab58 52%,#8f6f31 100%);
  -webkit-background-clip:text;
  background-clip:text;
}
.lead{
  color:#e7dac8;
}
.hero-tags span{
  background:rgba(8,8,9,.62);
  border-color:rgba(218,185,113,.28);
  color:#ead498;
  box-shadow:inset 0 1px rgba(255,255,255,.035);
}
.btn-dark,
.btn-ghost{
  color:#f3dd9a;
  background:rgba(8,8,9,.72);
  border-color:rgba(218,185,113,.28);
  box-shadow:inset 0 1px rgba(255,255,255,.04),0 12px 26px rgba(0,0,0,.26);
}
.btn-dark:hover,
.btn-ghost:hover{
  background:rgba(218,185,113,.075);
  border-color:rgba(218,185,113,.5);
}
.hero-art:before{
  background:radial-gradient(ellipse at center,rgba(218,185,113,.16),rgba(96,28,32,.10) 35%,transparent 70%);
  opacity:.72;
}
.emblem-glow{
  background:radial-gradient(circle,rgba(218,185,113,.11),rgba(106,28,34,.08) 43%,transparent 72%);
}
.hero-emblem{
  filter:drop-shadow(0 0 20px rgba(218,185,113,.12)) drop-shadow(0 24px 52px rgba(0,0,0,.78));
}
.panel,.game-card,.step-card,.rule-card,.final-cta,.legal-page,.install-card{
  background:
    linear-gradient(180deg,rgba(18,18,20,.93),rgba(7,7,8,.91)),
    radial-gradient(circle at 82% 0%,rgba(218,185,113,.05),transparent 28%);
  border-color:rgba(218,185,113,.22);
  box-shadow:0 22px 68px rgba(0,0,0,.64), inset 0 1px rgba(255,255,255,.045);
}
.panel:hover,.game-card:hover,.step-card:hover,.rule-card:hover{
  border-color:rgba(218,185,113,.34);
  box-shadow:0 26px 76px rgba(0,0,0,.7), inset 0 1px rgba(255,255,255,.055);
}
.section-head h2,.panel-title h2,.final-cta h2,.legal-page h2,.install-card h2{
  color:#f1dc9d;
}
.suit,
.step-card b,
.rule-card>span{
  background:rgba(218,185,113,.07);
  border-color:rgba(218,185,113,.27);
  color:#d8b56a;
}
.panel p,.game-card p,.step-card p,.rule-card p,.final-cta p,.legal-page p,.legal-page li{
  color:#d8cbb7;
}
.notice-grid div,
.game-card dl div,
.contact-row,
.cookie-option{
  background:rgba(255,255,255,.025);
  border-color:rgba(218,185,113,.13);
}
.notice-grid b,.game-card h3,.step-card h3,.rule-card h3,.rating-row b,.contact-row a,.footer a,.cookie-text strong,.cookie a,.back-link,.legal .back{
  color:#f3dd9a;
}
.game-card:before{
  background:radial-gradient(circle,rgba(218,185,113,.09),transparent 70%);
}
.game-date{
  color:#cfae67;
}
.btn-card{
  background:linear-gradient(180deg,rgba(76,54,35,.62),rgba(22,19,17,.72));
  border-color:rgba(218,185,113,.32);
  color:#fff1c7;
}
.rating-row{
  border-color:rgba(218,185,113,.11);
  color:#e4d8c8;
}
.rating-header{
  color:#d8b56a;
}
.avatar{
  background:linear-gradient(180deg,#46351f,#121212);
  border-color:rgba(218,185,113,.35);
  color:#f3dd9a;
}
.legal-line{
  background:rgba(8,8,9,.56);
  border-color:rgba(218,185,113,.2);
  color:#dccdb4;
}
.contact-row a{
  text-decoration-color:rgba(218,185,113,.8);
}
.final-cta img{
  filter:drop-shadow(0 0 16px rgba(218,185,113,.14)) drop-shadow(0 14px 24px rgba(0,0,0,.55));
}
.footer{
  border-top-color:rgba(218,185,113,.18);
  color:#918879;
}
.cookie{
  background:rgba(8,8,9,.97);
  border-color:rgba(218,185,113,.24);
  box-shadow:0 22px 70px rgba(0,0,0,.76),0 0 26px rgba(218,185,113,.05);
}
.cookie p,.cookie-option small{
  color:#cfc1ab;
}
.cookie-option input{
  accent-color:#d8b56a;
}
.loading-lines span{
  background:linear-gradient(90deg,rgba(218,185,113,.07),rgba(218,185,113,.26),rgba(218,185,113,.07));
  background-size:220% 100%;
}
@media (max-width: 860px){
  .nav{
    background:rgba(7,7,8,.98);
    border-color:rgba(218,185,113,.24);
  }
}

.legal-accent{
  color:#fff1bd;
  font-weight:900;
  letter-spacing:.01em;
}
.requisites-card{
  margin:22px 0 10px;
  padding:24px;
  border:1px solid rgba(231,199,126,.28);
  border-radius:24px;
  background:linear-gradient(180deg, rgba(231,199,126,.08), rgba(255,255,255,.025));
  box-shadow:0 22px 60px rgba(0,0,0,.35);
}
.requisites-card p{margin:10px 0;}
.offer-page h3{
  margin:24px 0 8px;
  color:#fff1bd;
  font-family:Georgia, 'Times New Roman', serif;
  font-size:22px;
}
.offer-page a,.legal-page a{
  color:#f1d18a;
  text-decoration:underline;
  text-decoration-color:rgba(241,209,138,.65);
  text-underline-offset:5px;
  font-weight:800;
}


/* === Schedule cards v2: detailed expandable tournament cards === */
.games-grid{
  grid-template-columns:repeat(auto-fit,minmax(310px,1fr));
  align-items:stretch;
}
.game-card-pro{
  min-height:0;
  gap:18px;
}
.game-card-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  position:relative;
  z-index:1;
}
.game-card-top h3{
  margin:7px 0 0;
  word-break:normal;
  overflow-wrap:anywhere;
}
.game-badge{
  flex:0 0 auto;
  display:inline-grid;
  place-items:center;
  min-width:52px;
  height:34px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(218,185,113,.26);
  background:rgba(218,185,113,.08);
  color:var(--gold2);
  font-weight:1000;
  font-size:12px;
  letter-spacing:.12em;
}
.game-meta-list{
  display:grid;
  gap:10px;
  position:relative;
  z-index:1;
}
.game-meta-list div{
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  gap:12px;
  align-items:start;
  padding:13px 14px;
  border-radius:16px;
  border:1px solid rgba(218,185,113,.13);
  background:rgba(255,255,255,.025);
}
.game-meta-list span,
.detail-cell span{
  color:var(--soft);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
}
.game-meta-list b,
.detail-cell b{
  color:#f3dd9a;
  font-weight:900;
  line-height:1.25;
}
.game-short{
  margin:0;
}
.game-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:auto;
  position:relative;
  z-index:1;
}
.game-actions .btn{
  width:100%;
  min-height:48px;
}
.game-details{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  padding-top:4px;
  animation:kpl-details-in .18s ease-out;
}
.game-details[hidden]{display:none !important}
.detail-cell{
  padding:14px;
  border-radius:16px;
  border:1px solid rgba(218,185,113,.14);
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.018));
}
.detail-cell b{
  display:block;
  margin-top:5px;
  font-size:18px;
}
.detail-wide{grid-column:1/-1}
@keyframes kpl-details-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* Booking modal */
body.modal-open{overflow:hidden}
.booking-modal[hidden]{display:none !important}
.booking-modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:18px}
.booking-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.74);backdrop-filter:blur(10px)}
.booking-window{
  position:relative;
  width:min(100%,560px);
  padding:30px;
  border-radius:30px;
  border:1px solid rgba(218,185,113,.28);
  background:linear-gradient(180deg,rgba(18,18,20,.98),rgba(6,6,7,.98));
  box-shadow:0 30px 110px rgba(0,0,0,.78), inset 0 1px rgba(255,255,255,.06);
  overflow:hidden;
}
.booking-window:before{
  content:"";
  position:absolute;
  right:-90px;top:-100px;width:250px;height:250px;border-radius:50%;
  background:radial-gradient(circle,rgba(218,185,113,.12),transparent 70%);
  pointer-events:none;
}
.booking-close{
  position:absolute;right:16px;top:14px;
  width:42px;height:42px;border-radius:50%;
  border:1px solid rgba(218,185,113,.22);
  background:rgba(255,255,255,.035);
  color:var(--gold2);
  font-size:28px;line-height:1;cursor:pointer;
}
.booking-kicker{
  color:var(--gold);font-weight:1000;text-transform:uppercase;letter-spacing:.14em;font-size:12px;margin-bottom:10px;
}
.booking-window h2{
  margin:0 44px 10px 0;
  font-family:Georgia,serif;
  color:var(--gold2);
  font-size:clamp(28px,4vw,40px);
  line-height:1.05;
}
.booking-window p{margin:0 0 18px;color:#d8cbb7;line-height:1.55}
.booking-options{display:grid;gap:10px}
.booking-option{
  display:block;
  padding:16px 18px;
  border-radius:18px;
  border:1px solid rgba(218,185,113,.16);
  background:rgba(255,255,255,.025);
  color:inherit;
  text-decoration:none;
  transition:.18s ease;
}
.booking-option:hover{transform:translateY(-1px);border-color:rgba(218,185,113,.38);background:rgba(218,185,113,.07)}
.booking-option b{display:block;color:var(--gold2);font-size:17px;margin-bottom:4px}
.booking-option span{display:block;color:#c8b9a5;font-size:14px;line-height:1.35}
.booking-option-main{background:linear-gradient(180deg,rgba(91,68,38,.35),rgba(16,14,13,.7));border-color:rgba(218,185,113,.32)}

@media (max-width: 620px){
  .game-meta-list div{grid-template-columns:1fr;gap:4px}
  .game-actions{grid-template-columns:1fr}
  .game-details{grid-template-columns:1fr}
  .booking-window{padding:24px 18px;border-radius:24px}
}

/* === Compact schedule cards: меньше воздуха, детали внутри "Подробнее" === */
.games-grid{
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:16px;
}
.game-card-compact{
  padding:18px;
  gap:13px;
  min-height:0;
}
.game-card-compact:before{
  width:104px;
  height:104px;
  right:-38px;
  top:-38px;
  opacity:.55;
}
.compact-head{
  gap:10px;
  align-items:flex-start;
}
.compact-head h3{
  font-size:22px;
  line-height:1.08;
  margin:0 0 7px;
  max-width:100%;
}
.game-card-compact .game-date{
  margin:0;
  font-size:11px;
  line-height:1.25;
  color:#b9aa86;
  letter-spacing:.11em;
}
.game-card-compact .game-badge{
  min-width:42px;
  height:28px;
  padding:0 9px;
  font-size:10px;
  opacity:.9;
}
.compact-meta{
  gap:7px;
}
.compact-meta div{
  grid-template-columns:60px minmax(0,1fr);
  gap:8px;
  padding:9px 10px;
  border-radius:12px;
}
.compact-meta span{
  font-size:9px;
  letter-spacing:.07em;
}
.compact-meta b{
  font-size:13px;
  line-height:1.22;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.compact-actions{
  gap:8px;
  margin-top:2px;
}
.compact-actions .btn{
  min-height:42px;
  padding:10px 12px;
  font-size:12px;
}
.game-card-compact .game-details{
  margin-top:2px;
  gap:8px;
}
.game-card-compact .detail-cell{
  padding:10px 11px;
  border-radius:12px;
}
.game-card-compact .detail-cell span{
  font-size:9px;
}
.game-card-compact .detail-cell b{
  font-size:15px;
  line-height:1.25;
}
.game-card-compact .detail-wide b{
  font-size:13px;
  color:#dfd3ba;
  font-family:inherit;
  font-weight:750;
}
@media (max-width: 640px){
  .games-grid{grid-template-columns:1fr;gap:12px}
  .game-card-compact{padding:15px;gap:11px}
  .compact-head h3{font-size:20px}
  .compact-meta div{grid-template-columns:54px minmax(0,1fr);padding:8px 9px}
  .compact-actions{grid-template-columns:1fr 1fr}
  .compact-actions .btn{min-height:40px;font-size:11px;padding:9px 8px}
}

/* === FIX 20260615: schedule cards must stay small tiles, not stretch across the whole row === */
#games .games-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(255px, 272px));
  justify-content:start;
  align-items:start;
  gap:14px;
}
#games .game-card,
#games .game-card-pro,
#games .game-card-compact,
#games .game-loading{
  width:100%;
  max-width:272px;
  min-height:0;
}
#games .game-card-compact{
  padding:15px;
  gap:10px;
  border-radius:22px;
}
#games .game-card-compact:before{
  width:86px;
  height:86px;
  right:-34px;
  top:-34px;
  opacity:.42;
}
#games .compact-head{
  gap:8px;
}
#games .compact-head h3{
  font-size:18px;
  line-height:1.08;
  min-height:39px;
  margin:0 0 5px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
#games .game-card-compact .game-date{
  font-size:10px;
  letter-spacing:.08em;
  line-height:1.25;
}
#games .game-card-compact .game-badge{
  height:24px;
  min-width:36px;
  padding:0 7px;
  font-size:9px;
}
#games .compact-meta{
  gap:6px;
}
#games .compact-meta div{
  grid-template-columns:52px minmax(0,1fr);
  padding:7px 8px;
  gap:7px;
  border-radius:11px;
}
#games .compact-meta span{
  font-size:8px;
  letter-spacing:.055em;
}
#games .compact-meta b{
  font-size:12px;
  line-height:1.18;
  -webkit-line-clamp:1;
}
#games .compact-actions{
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-top:0;
}
#games .compact-actions .btn{
  min-height:38px;
  padding:8px 7px;
  border-radius:12px;
  font-size:11px;
}
#games .game-card-compact .game-details{
  gap:7px;
  margin-top:1px;
}
#games .game-card-compact .detail-cell{
  padding:8px;
  border-radius:11px;
}
#games .game-card-compact .detail-cell span{
  font-size:8px;
}
#games .game-card-compact .detail-cell b{
  font-size:13px;
  margin-top:3px;
}
#games .game-card-compact .detail-wide b{
  font-size:12px;
  line-height:1.25;
}
@media (min-width: 1120px){
  #games .games-grid{
    grid-template-columns:repeat(4, 272px);
  }
}
@media (max-width: 920px){
  #games .games-grid{
    grid-template-columns:repeat(auto-fill, minmax(235px, 1fr));
  }
  #games .game-card,
  #games .game-card-pro,
  #games .game-card-compact,
  #games .game-loading{
    max-width:none;
  }
}
@media (max-width: 640px){
  #games .games-grid{
    grid-template-columns:1fr;
  }
  #games .game-card-compact{
    padding:14px;
  }
  #games .compact-head h3{
    font-size:19px;
    min-height:0;
  }
}

/* === FIX 20260615: schedule cards same size as the rest of the site windows === */
#games .games-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  justify-content:stretch !important;
  align-items:stretch !important;
  gap:18px !important;
}
#games .game-card,
#games .game-card-pro,
#games .game-card-compact,
#games .game-loading{
  width:100% !important;
  max-width:none !important;
  min-height:330px !important;
  height:auto !important;
}
#games .game-card-compact{
  padding:24px !important;
  gap:14px !important;
  border-radius:26px !important;
}
#games .game-card-compact:before{
  width:138px !important;
  height:138px !important;
  right:-48px !important;
  top:-52px !important;
  opacity:.30 !important;
}
#games .compact-head{
  gap:10px !important;
  min-height:78px;
}
#games .compact-head h3{
  font-size:25px !important;
  line-height:1.05 !important;
  min-height:54px !important;
  margin:0 0 8px !important;
  -webkit-line-clamp:2 !important;
}
#games .game-card-compact .game-date{
  font-size:11px !important;
  letter-spacing:.10em !important;
}
#games .game-card-compact .game-badge{
  height:29px !important;
  min-width:44px !important;
  padding:0 10px !important;
  font-size:10px !important;
}
#games .compact-meta{
  gap:8px !important;
}
#games .compact-meta div{
  grid-template-columns:72px minmax(0,1fr) !important;
  padding:11px 12px !important;
  gap:10px !important;
  border-radius:15px !important;
}
#games .compact-meta span{
  font-size:10px !important;
  letter-spacing:.07em !important;
}
#games .compact-meta b{
  font-size:14px !important;
  line-height:1.22 !important;
  -webkit-line-clamp:2 !important;
}
#games .compact-actions{
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
  margin-top:auto !important;
}
#games .compact-actions .btn{
  min-height:44px !important;
  padding:11px 12px !important;
  border-radius:14px !important;
  font-size:12px !important;
}
#games .game-card-compact .game-details{
  gap:8px !important;
  margin-top:2px !important;
}
#games .game-card-compact .detail-cell{
  padding:10px 11px !important;
  border-radius:13px !important;
}
#games .game-card-compact .detail-cell span{
  font-size:9px !important;
}
#games .game-card-compact .detail-cell b{
  font-size:15px !important;
  margin-top:4px !important;
}
#games .game-card-compact .detail-wide b{
  font-size:13px !important;
  line-height:1.3 !important;
}
@media (max-width: 1080px){
  #games .games-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width: 640px){
  #games .games-grid{
    grid-template-columns:1fr !important;
  }
  #games .game-card,
  #games .game-card-pro,
  #games .game-card-compact,
  #games .game-loading{
    min-height:0 !important;
  }
  #games .game-card-compact{
    padding:18px !important;
  }
  #games .compact-head{
    min-height:0;
  }
  #games .compact-head h3{
    font-size:21px !important;
    min-height:0 !important;
  }
  #games .compact-meta div{
    grid-template-columns:62px minmax(0,1fr) !important;
  }
}


/* === FINAL UI POLISH 20260615 ===
   Единая сетка, аккуратные окна, ровные шрифты и кнопки.
   Правит старые конфликтующие размеры через более поздние правила.
*/
:root{
  --max:1180px;
  --radius:24px;
  --radius-sm:16px;
  --field:rgba(255,255,255,.028);
  --field-line:rgba(218,185,113,.14);
}
html{scroll-padding-top:116px}
body{
  font-size:16px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  background:#030304;
}
.site-bg{
  background:
    radial-gradient(circle at 82% 8%, rgba(218,185,113,.055), transparent 24%),
    radial-gradient(circle at 10% 16%, rgba(110,32,38,.055), transparent 26%),
    linear-gradient(180deg,#030304 0%,#050506 44%,#020203 100%) !important;
}
.section-shell,.section{
  width:min(calc(100% - 40px), var(--max));
}
.topbar{
  min-height:70px !important;
  padding:8px 12px !important;
  gap:18px !important;
  border-radius:999px !important;
}
.brand{
  width:68px !important;
  height:68px !important;
  flex-basis:68px !important;
  margin-left:0 !important;
}
.brand:after{inset:-4px !important}
.nav{
  gap:8px !important;
  justify-content:flex-end !important;
  padding-left:22px;
}
.nav a{
  padding:11px 12px !important;
  font-size:14px !important;
  font-weight:750;
  letter-spacing:.01em;
}
.nav .nav-cta{
  margin-left:14px !important;
  padding:12px 19px !important;
  font-size:14px !important;
}
.hero{
  min-height:560px !important;
  grid-template-columns:minmax(0,1.02fr) minmax(330px,.88fr) !important;
  gap:38px !important;
  padding:68px 0 44px !important;
}
.hero:before{
  inset:22px -34px -8px !important;
  border-radius:40px !important;
}
.hero-copy{max-width:700px}
.eyebrow{
  margin-bottom:12px !important;
  font-size:11px !important;
  letter-spacing:.17em !important;
}
.eyebrow span{width:34px !important}
h1{
  font-size:clamp(52px,6.2vw,88px) !important;
  line-height:.94 !important;
  letter-spacing:-.055em !important;
  max-width:680px !important;
}
.lead{
  max-width:620px !important;
  margin:22px 0 18px !important;
  font-size:clamp(17px,1.65vw,22px) !important;
  line-height:1.55 !important;
}
.hero-tags{
  gap:9px !important;
  margin-bottom:24px !important;
}
.hero-tags span{
  padding:9px 13px !important;
  font-size:12px !important;
  letter-spacing:.01em;
}
.btn{
  min-height:48px !important;
  padding:0 20px !important;
  border-radius:14px !important;
  font-size:14px !important;
  font-weight:900 !important;
  line-height:1.1 !important;
}
.hero-actions .btn{min-height:52px !important;padding-inline:24px !important}
.hero-art{
  min-height:430px !important;
}
.hero-emblem{
  width:min(100%,500px) !important;
  max-height:500px !important;
}
.section{
  padding:42px 0 !important;
}
.section-head{
  margin-bottom:18px !important;
}
.section-head h2,.panel-title h2{
  font-size:clamp(30px,3.5vw,44px) !important;
  letter-spacing:-.035em !important;
}
.panel,.game-card,.step-card,.rule-card,.final-cta,.legal-page,.install-card{
  border-radius:var(--radius) !important;
  border-color:rgba(218,185,113,.20) !important;
  background:
    linear-gradient(180deg,rgba(18,18,20,.94),rgba(8,8,9,.92)) !important;
  box-shadow:0 20px 54px rgba(0,0,0,.58), inset 0 1px rgba(255,255,255,.045) !important;
}
.panel:hover,.game-card:hover,.step-card:hover,.rule-card:hover{
  transform:translateY(-1px);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.panel{padding:26px !important}
.panel-title{gap:12px !important;margin-bottom:14px !important}
.suit{
  width:38px !important;height:38px !important;font-size:20px !important;
}
.panel p{
  font-size:16px !important;
  line-height:1.68 !important;
}
.section-two{
  grid-template-columns:minmax(0,1fr) minmax(330px,.72fr) !important;
  gap:18px !important;
}
.notice-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:10px !important;
}
.notice-grid div{
  min-height:96px !important;
  padding:15px !important;
  border-radius:16px !important;
}
.notice-grid b{font-size:30px !important}
.notice-grid span{font-size:12px !important}
.cards-grid,.steps-grid,.rules-grid{
  gap:18px !important;
}
.steps-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
.step-card,.rule-card{
  min-height:220px !important;
  padding:24px !important;
  display:flex;
  flex-direction:column;
}
.step-card b,.rule-card>span{
  width:48px !important;height:48px !important;margin-bottom:20px !important;
}
.step-card h3,.rule-card h3{
  font-size:22px !important;
  line-height:1.08 !important;
  margin-bottom:10px !important;
}
.step-card p,.rule-card p{
  font-size:15px !important;
  line-height:1.55 !important;
}
.rating-card{
  padding:16px !important;
}
.rating-row{
  grid-template-columns:64px minmax(0,1fr) 118px !important;
  min-height:56px !important;
  padding:0 14px !important;
  gap:12px !important;
}
.rating-header{min-height:40px !important;font-size:11px !important}
.rating-row strong{font-size:15px !important}
.rating-row b{font-size:17px !important}
.avatar{width:32px !important;height:32px !important;flex-basis:32px !important}
.rules-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
.legal-line{
  margin-top:14px !important;
  padding:16px 18px !important;
  border-radius:18px !important;
  font-size:14px !important;
}
.contacts-card{
  padding:22px !important;
  gap:12px !important;
}
.contact-row{
  grid-template-columns:110px minmax(0,1fr) !important;
  padding:15px 16px !important;
  border-radius:15px !important;
}
.contact-row span{font-size:11px !important}
.contact-row a{font-size:16px !important}
.final-cta{
  grid-template-columns:78px minmax(0,1fr) auto !important;
  gap:20px !important;
  padding:24px !important;
  margin-bottom:34px !important;
}
.final-cta img{width:78px !important;height:78px !important}
.final-cta h2{font-size:30px !important;line-height:1.08 !important}
.final-cta p{font-size:15px !important}
.footer{
  padding:22px 0 26px !important;
  margin-bottom:16px !important;
  font-size:13px !important;
}

/* Schedule: same style as other site windows, but calm and readable */
#games .games-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
}
#games .game-card,
#games .game-card-pro,
#games .game-card-compact,
#games .game-loading{
  max-width:none !important;
  width:100% !important;
  min-height:310px !important;
}
#games .game-card-compact{
  padding:22px !important;
  gap:12px !important;
  border-radius:var(--radius) !important;
}
#games .game-card-compact:before{
  width:118px !important;height:118px !important;right:-44px !important;top:-48px !important;opacity:.22 !important;
}
#games .compact-head{
  min-height:68px !important;
  gap:10px !important;
}
#games .compact-head h3{
  font-size:23px !important;
  line-height:1.08 !important;
  min-height:50px !important;
  margin:0 0 7px !important;
  letter-spacing:-.015em !important;
}
#games .game-card-compact .game-date{
  font-size:10px !important;
  line-height:1.3 !important;
  color:#c2b28e !important;
}
#games .game-badge{
  height:28px !important;
  min-width:42px !important;
  font-size:9px !important;
  letter-spacing:.10em !important;
}
#games .compact-meta{
  gap:8px !important;
}
#games .compact-meta div{
  grid-template-columns:68px minmax(0,1fr) !important;
  gap:9px !important;
  padding:10px 11px !important;
  border-radius:14px !important;
  min-height:42px !important;
}
#games .compact-meta span{
  font-size:9px !important;
  line-height:1.2 !important;
}
#games .compact-meta b{
  font-size:13px !important;
  line-height:1.28 !important;
  -webkit-line-clamp:2 !important;
}
#games .compact-actions{
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
  margin-top:auto !important;
}
#games .compact-actions .btn{
  min-height:42px !important;
  padding:10px 10px !important;
  border-radius:13px !important;
  font-size:12px !important;
}
#games .game-details{
  margin-top:2px !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
}
#games .detail-cell{
  padding:10px 11px !important;
  border-radius:13px !important;
}
#games .detail-cell span{font-size:9px !important}
#games .detail-cell b{font-size:14px !important;line-height:1.25 !important}
#games .detail-wide b{font-size:13px !important;font-weight:750 !important;color:#d9cbb3 !important}
.game-loading{
  justify-content:center !important;
}
.game-loading h3{
  min-height:0 !important;
  font-size:22px !important;
}

/* Modal and cookies polish */
.booking-window{
  border-radius:26px !important;
  padding:28px !important;
}
.booking-window h2{font-size:clamp(28px,3.8vw,38px) !important}
.booking-option{border-radius:16px !important;padding:15px 17px !important}
.cookie{
  max-width:940px !important;
  padding:16px !important;
  border-radius:22px !important;
}
.cookie-text strong{font-size:20px !important}
.cookie p{font-size:13px !important;line-height:1.45 !important}
.cookie .btn{min-height:42px !important;font-size:13px !important}

@media (max-width:1180px){
  .topbar{width:min(calc(100% - 24px), 1160px) !important}
  .nav{gap:3px !important;padding-left:8px !important}
  .nav a{font-size:13px !important;padding:10px 8px !important}
  .nav .nav-cta{padding:11px 14px !important;margin-left:6px !important}
  .hero{grid-template-columns:1fr .82fr !important}
  #games .games-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media (max-width: 860px){
  html{scroll-padding-top:92px}
  .section-shell,.section{width:min(calc(100% - 24px), var(--max)) !important}
  .topbar{
    width:min(calc(100% - 20px),720px) !important;
    border-radius:24px !important;
    min-height:68px !important;
    top:10px !important;
  }
  .brand{width:58px !important;height:58px !important;flex-basis:58px !important}
  .nav{padding:12px !important}
  .nav a{font-size:14px !important;padding:12px !important}
  .hero{
    min-height:0 !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    padding:42px 0 30px !important;
  }
  .hero:before{inset:12px -8px -8px !important;border-radius:28px !important}
  h1{font-size:clamp(46px,14vw,70px) !important;line-height:.96 !important}
  .lead{font-size:17px !important;margin:18px 0 16px !important}
  .hero-art{min-height:260px !important;order:2}
  .hero-emblem{width:min(84%,420px) !important;max-height:360px !important}
  .hero-tags{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .hero-tags span{font-size:11px !important;padding:9px 8px !important}
  .hero-actions{display:grid !important;grid-template-columns:1fr !important;gap:10px !important}
  .hero-actions .btn{width:100% !important}
  .section{padding:32px 0 !important}
  .section-head{display:block !important;margin-bottom:16px !important}
  .section-head h2,.panel-title h2{font-size:32px !important}
  .section-two,.steps-grid,.rules-grid,#games .games-grid{grid-template-columns:1fr !important}
  .panel,.step-card,.rule-card,.contacts-card{padding:20px !important;border-radius:20px !important}
  .notice-grid{grid-template-columns:1fr !important}
  .step-card,.rule-card{min-height:0 !important}
  #games .game-card,
  #games .game-card-pro,
  #games .game-card-compact,
  #games .game-loading{min-height:0 !important}
  #games .compact-head{min-height:0 !important}
  #games .compact-head h3{min-height:0 !important;font-size:22px !important}
  #games .compact-meta div{grid-template-columns:62px minmax(0,1fr) !important}
  .rating-row{grid-template-columns:46px minmax(0,1fr) 82px !important;min-height:54px !important;padding:0 8px !important}
  .contact-row{grid-template-columns:1fr !important;gap:5px !important;padding:14px !important}
  .final-cta{grid-template-columns:1fr !important;text-align:center !important;justify-items:center !important;border-radius:22px !important}
  .cookie-main{display:grid !important;gap:14px !important}
  .cookie-actions{justify-content:stretch !important}
  .cookie .btn{width:100% !important}
}
@media (max-width:480px){
  .section-shell,.section{width:min(calc(100% - 18px), var(--max)) !important}
  h1{font-size:clamp(42px,15vw,62px) !important}
  .hero-tags{grid-template-columns:1fr !important}
  .panel-title{align-items:flex-start !important}
  #games .game-card-compact{padding:18px !important}
  #games .game-actions{grid-template-columns:1fr 1fr !important}
  #games .compact-actions .btn{font-size:11px !important;padding:9px 6px !important}
  #games .game-details{grid-template-columns:1fr !important}
  .booking-modal{padding:10px !important}
  .booking-window{padding:22px 16px !important;border-radius:22px !important}
}

/* === SCHEDULE SIZE TWEAK 20260615 ===
   Чуть увеличиваем окна расписания, но оставляем их в общей сетке сайта.
*/
#games .games-grid{
  gap:20px !important;
}
#games .game-card,
#games .game-card-pro,
#games .game-card-compact,
#games .game-loading{
  min-height:345px !important;
}
#games .game-card-compact{
  padding:26px !important;
  gap:14px !important;
}
#games .compact-head{
  min-height:76px !important;
}
#games .compact-head h3{
  font-size:25px !important;
  min-height:54px !important;
  line-height:1.07 !important;
}
#games .compact-meta{
  gap:9px !important;
}
#games .compact-meta div{
  padding:12px 13px !important;
  min-height:46px !important;
  border-radius:15px !important;
}
#games .compact-meta b{
  font-size:14px !important;
}
#games .compact-actions .btn{
  min-height:46px !important;
  font-size:12.5px !important;
}
@media (max-width:860px){
  #games .game-card,
  #games .game-card-pro,
  #games .game-card-compact,
  #games .game-loading{
    min-height:0 !important;
  }
  #games .compact-head{
    min-height:0 !important;
  }
}

/* === HERO PHOTO SLIDER + ONE-TIME EMBLEM INTRO 20260615 === */
.hero{
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate !important;
  background:#030303 !important;
  border-radius:34px !important;
}
.hero:before{
  display:none !important;
}
.hero-slider,
.hero-slider-shade{
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
}
.hero-slider{
  z-index:0;
  background:#030303;
}
.hero-slide{
  position:absolute;
  inset:0;
  opacity:0;
  background-size:cover;
  background-position:center;
  transform:scale(1.06);
  animation:krasHeroSlide 28s infinite;
  will-change:opacity,transform;
}
.hero-slide-1{background-image:url('assets/hero/hero-slide-1.webp');animation-delay:0s;background-position:center 48%}
.hero-slide-2{background-image:url('assets/hero/hero-slide-2.webp');animation-delay:7s;background-position:center 55%}
.hero-slide-3{background-image:url('assets/hero/hero-slide-3.webp');animation-delay:14s;background-position:center 50%}
.hero-slide-4{background-image:url('assets/hero/hero-slide-4.webp');animation-delay:21s;background-position:center 52%}
.hero-slider-shade{
  z-index:1;
  background:
    linear-gradient(90deg,rgba(3,3,4,.96) 0%,rgba(3,3,4,.88) 34%,rgba(3,3,4,.54) 62%,rgba(3,3,4,.35) 100%),
    radial-gradient(circle at 78% 50%,rgba(218,185,113,.10),transparent 34%),
    radial-gradient(circle at 48% 108%,rgba(0,0,0,.92),transparent 48%),
    linear-gradient(180deg,rgba(0,0,0,.42),rgba(0,0,0,.86));
  box-shadow:inset 0 -90px 110px rgba(0,0,0,.82), inset 0 0 0 1px rgba(218,185,113,.12);
}
.hero-copy,
.hero-art{
  position:relative !important;
  z-index:2 !important;
}
.hero-art{
  transition:opacity .75s ease, transform .75s ease, filter .75s ease !important;
}
.hero-intro-playing .hero-art{
  opacity:1 !important;
  filter:saturate(1.04) contrast(1.03) !important;
}
.hero-intro-playing .hero-emblem{
  animation:krasEmblemIntro 3.2s cubic-bezier(.2,.8,.12,1) both !important;
  transform-origin:50% 50%;
}
.hero-intro-seen .hero-art,
.hero-intro-done .hero-art{
  opacity:0 !important;
  transform:scale(.92) translateY(16px) !important;
  pointer-events:none !important;
  filter:blur(3px) !important;
}
.hero-intro-seen .hero-emblem,
.hero-intro-done .hero-emblem{
  visibility:hidden !important;
}
.hero-intro-playing .hero-slider-shade{
  background:
    linear-gradient(90deg,rgba(3,3,4,.96) 0%,rgba(3,3,4,.84) 36%,rgba(3,3,4,.58) 66%,rgba(3,3,4,.42) 100%),
    radial-gradient(circle at 74% 49%,rgba(218,185,113,.18),transparent 36%),
    radial-gradient(circle at 48% 108%,rgba(0,0,0,.92),transparent 48%),
    linear-gradient(180deg,rgba(0,0,0,.36),rgba(0,0,0,.86));
}
.hero-copy h1,
.hero-copy .lead,
.hero-tags,
.hero-actions,
.hero-copy .eyebrow{
  position:relative;
  z-index:3;
}
@keyframes krasHeroSlide{
  0%{opacity:0;transform:scale(1.08)}
  5%{opacity:1;transform:scale(1.055)}
  22%{opacity:1;transform:scale(1.015)}
  28%{opacity:0;transform:scale(1.0)}
  100%{opacity:0;transform:scale(1.08)}
}
@keyframes krasEmblemIntro{
  0%{opacity:0;transform:scale(.76) rotate(-12deg);filter:drop-shadow(0 0 0 rgba(218,185,113,0))}
  18%{opacity:1;transform:scale(1.05) rotate(6deg);filter:drop-shadow(0 0 26px rgba(218,185,113,.24))}
  52%{opacity:1;transform:scale(1.0) rotate(360deg);filter:drop-shadow(0 0 30px rgba(218,185,113,.18))}
  78%{opacity:1;transform:scale(1.0) rotate(360deg)}
  100%{opacity:0;transform:scale(.86) rotate(360deg);filter:blur(2px) drop-shadow(0 0 14px rgba(218,185,113,.10))}
}
@media (max-width:860px){
  .hero-slide-1{background-image:url('assets/hero/hero-slide-1-mobile.webp');background-position:center 50%}
  .hero-slide-2{background-image:url('assets/hero/hero-slide-2-mobile.webp');background-position:center 52%}
  .hero-slide-3{background-image:url('assets/hero/hero-slide-3-mobile.webp');background-position:center 50%}
  .hero-slide-4{background-image:url('assets/hero/hero-slide-4-mobile.webp');background-position:center 52%}
  .hero-slider-shade{
    background:
      linear-gradient(180deg,rgba(3,3,4,.92) 0%,rgba(3,3,4,.72) 45%,rgba(3,3,4,.92) 100%),
      radial-gradient(circle at 50% 58%,rgba(218,185,113,.11),transparent 34%);
  }
  .hero-intro-seen .hero-art,
  .hero-intro-done .hero-art{
    display:none !important;
  }
}
@media (prefers-reduced-motion: reduce){
  .hero-slide{animation:none;opacity:1;transform:none}
  .hero-slide:not(.hero-slide-1){display:none}
  .hero-emblem{animation:none !important}
}

/* === HERO TEXT POSITION FIX 20260615 === */
.hero{
  width:min(calc(100% - 44px), var(--max)) !important;
  padding:70px clamp(26px,4.4vw,68px) 54px !important;
  grid-template-columns:minmax(0, 1fr) minmax(300px,.72fr) !important;
  column-gap:clamp(24px,4vw,56px) !important;
  align-items:center !important;
}
.hero-copy{
  max-width:640px !important;
  justify-self:start !important;
  align-self:center !important;
  padding-top:0 !important;
  transform:none !important;
}
.hero-copy .eyebrow,
.hero-copy h1,
.hero-copy .lead,
.hero-tags,
.hero-actions{
  max-width:100% !important;
}
.hero-copy h1,
h1{
  font-size:clamp(50px,5.85vw,82px) !important;
  line-height:.94 !important;
  letter-spacing:-.052em !important;
}
.hero-copy .lead,
.lead{
  max-width:600px !important;
  font-size:clamp(17px,1.45vw,21px) !important;
  line-height:1.52 !important;
  margin:22px 0 18px !important;
}
.hero-tags{
  max-width:620px !important;
}
.hero-actions{
  max-width:560px !important;
}
.hero-art{
  justify-self:center !important;
  min-height:410px !important;
}
.hero-emblem{
  width:min(100%,460px) !important;
  max-height:470px !important;
}
.hero-slider-shade{
  background:
    linear-gradient(90deg,rgba(3,3,4,.98) 0%,rgba(3,3,4,.90) 35%,rgba(3,3,4,.60) 66%,rgba(3,3,4,.38) 100%),
    radial-gradient(circle at 78% 50%,rgba(218,185,113,.10),transparent 34%),
    radial-gradient(circle at 48% 108%,rgba(0,0,0,.92),transparent 48%),
    linear-gradient(180deg,rgba(0,0,0,.42),rgba(0,0,0,.86)) !important;
}
@media (min-width:1180px){
  .hero{
    min-height:600px !important;
  }
}
@media (max-width:1040px){
  .hero{
    grid-template-columns:1fr !important;
    padding:58px clamp(22px,5vw,44px) 46px !important;
  }
  .hero-copy{
    max-width:720px !important;
  }
  .hero-art{
    min-height:330px !important;
  }
  .hero-emblem{
    width:min(72%,430px) !important;
  }
}
@media (max-width:680px){
  .hero{
    width:min(calc(100% - 20px), var(--max)) !important;
    padding:40px 20px 34px !important;
    border-radius:28px !important;
  }
  .hero-copy{
    text-align:left !important;
  }
  .hero-copy h1,
  h1{
    font-size:clamp(42px,12.2vw,62px) !important;
    letter-spacing:-.05em !important;
  }
  .hero-copy .lead,
  .lead{
    font-size:17px !important;
    line-height:1.5 !important;
  }
  .hero-tags{
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
  }
  .hero-tags span{
    white-space:normal !important;
    line-height:1.2 !important;
  }
  .hero-actions{
    width:100% !important;
  }
  .hero-art{
    min-height:250px !important;
  }
  .hero-emblem{
    width:min(82%,360px) !important;
  }
}

/* ===== 2026-06 booking cards premium redesign ===== */
#games .games-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:22px !important;
  align-items:stretch !important;
}

#games .tournament-card{
  --card-image:url('assets/booking-card-classic.webp');
  position:relative;
  min-height:640px;
  border-radius:28px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 24px 64px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.04) inset;
  background:#070707;
  isolation:isolate;
  display:flex;
}

#games .tournament-card::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(180deg, rgba(4,4,4,.18) 0%, rgba(4,4,4,.28) 18%, rgba(4,4,4,.56) 48%, rgba(4,4,4,.88) 78%, rgba(3,3,3,.98) 100%),
    linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.62) 34%, rgba(0,0,0,.24) 62%, rgba(0,0,0,.08) 100%),
    var(--card-image);
  background-size:cover;
  background-position:center;
  transform:scale(1.01);
}

#games .tournament-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 14% 0%, rgba(255,70,70,.18), transparent 32%),
    radial-gradient(circle at 100% 100%, rgba(255,189,96,.18), transparent 28%);
  opacity:.95;
  pointer-events:none;
}

#games .tournament-card--classic{--card-image:url('assets/booking-card-classic.webp');}
#games .tournament-card--bounty{--card-image:url('assets/booking-card-bounty.webp');}
#games .tournament-card--street{--card-image:url('assets/booking-card-street.webp');}

#games .tournament-card__content{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  width:100%;
  padding:22px;
  color:#fff;
}

#games .tournament-card__date{
  font-size:14px;
  font-weight:800;
  line-height:1.35;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:rgba(255,255,255,.76);
  margin-bottom:14px;
}

#games .tournament-card__title{
  margin:0 0 12px;
  font-size:36px;
  line-height:1.02;
  letter-spacing:-.04em;
  color:#fff;
  font-weight:900;
  max-width:75%;
  text-wrap:balance;
}

#games .tournament-card__line,
#games .tournament-card__format{
  font-size:17px;
  line-height:1.45;
  color:rgba(255,255,255,.86);
}

#games .tournament-card__line{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin-top:6px;
}

#games .tournament-card__line--money{
  margin-top:0;
  margin-bottom:2px;
  font-size:18px;
}

#games .tournament-card__line--money b{
  color:#fff2cf;
  font-size:18px;
}

#games .tournament-card__format{
  margin-top:8px;
  margin-bottom:18px;
}

#games .tournament-card__feature{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  max-width:100%;
  min-height:42px;
  padding:10px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(12,12,12,.55);
  backdrop-filter:blur(12px);
  box-shadow:0 10px 22px rgba(0,0,0,.24), 0 0 0 1px rgba(255,255,255,.04) inset;
  margin-bottom:18px;
}

#games .tournament-card__feature b{
  color:#fff;
  font-size:15px;
  line-height:1.25;
}

#games .tournament-card__more{
  align-self:flex-start;
  appearance:none;
  border:0;
  background:none;
  padding:0;
  margin:0 0 16px;
  color:rgba(255,255,255,.9);
  font-size:16px;
  font-weight:700;
  cursor:pointer;
}

#games .tournament-card__more::after{
  content:'▾';
  display:inline-block;
  margin-left:8px;
  font-size:12px;
  transition:transform .2s ease;
}

#games .tournament-card__more[aria-expanded="true"]::after{
  transform:rotate(180deg);
}

#games .tournament-card__details{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  padding:14px;
  margin-bottom:16px;
  border-radius:18px;
  background:rgba(8,8,8,.58);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(18px);
  box-shadow:0 18px 32px rgba(0,0,0,.28);
}

#games .tournament-card__detail{
  padding:12px;
  border-radius:14px;
  background:rgba(255,255,255,.05);
  display:flex;
  flex-direction:column;
  gap:6px;
}

#games .tournament-card__detail span{
  font-size:12px;
  color:rgba(255,255,255,.62);
  text-transform:uppercase;
  letter-spacing:.05em;
}

#games .tournament-card__detail b{
  font-size:16px;
  line-height:1.35;
  color:#fff;
}

#games .tournament-card__detail--wide{
  grid-column:1 / -1;
}

#games .tournament-card__bottom{
  margin-top:auto;
}

#games .tournament-card__seats{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  padding:12px 14px;
  margin-bottom:14px;
  border-radius:16px;
  background:rgba(18,18,18,.66);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 14px 28px rgba(0,0,0,.26);
  backdrop-filter:blur(14px);
}

#games .tournament-card__seats div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

#games .tournament-card__seats span{
  color:rgba(255,255,255,.82);
  font-weight:700;
  font-size:14px;
  line-height:1.25;
}

#games .tournament-card__seats b{
  color:#fff;
  font-size:15px;
  line-height:1.25;
  text-align:right;
}

#games .tournament-card__cta{
  width:100%;
  min-height:58px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(180deg, #f5f5f7 0%, #dcdde2 100%);
  color:#333;
  font-size:18px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 14px 30px rgba(0,0,0,.24), 0 0 22px rgba(255,255,255,.08);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

#games .tournament-card__cta:hover,
#games .tournament-card__cta:focus-visible{
  transform:translateY(-1px);
  box-shadow:0 18px 36px rgba(0,0,0,.28), 0 0 28px rgba(255,255,255,.12);
  filter:brightness(1.02);
}

#games .tournament-card:hover{
  transform:translateY(-2px);
  box-shadow:0 30px 80px rgba(0,0,0,.52), 0 0 0 1px rgba(255,255,255,.05) inset;
}

@media (max-width: 1200px){
  #games .games-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}

@media (max-width: 760px){
  #games .games-grid{grid-template-columns:1fr !important; gap:14px !important;}
  #games .tournament-card{min-height:580px; border-radius:24px;}
  #games .tournament-card__content{padding:18px;}
  #games .tournament-card__title{font-size:34px; max-width:85%;}
  #games .tournament-card__line,
  #games .tournament-card__format{font-size:16px;}
  #games .tournament-card__feature b{font-size:14px;}
  #games .tournament-card__details{grid-template-columns:1fr;}
  #games .tournament-card__seats{grid-template-columns:1fr; gap:8px;}
  #games .tournament-card__cta{min-height:54px; font-size:17px;}
}


/* ===== final fix: booking cards details + background scale ===== */
#games .tournament-card::before,
#games .tournament-card::after{
  pointer-events:none !important;
}

#games .tournament-card__content{
  pointer-events:auto !important;
}

#games .tournament-card__more,
#games .tournament-card__cta{
  position:relative !important;
  z-index:5 !important;
  pointer-events:auto !important;
  touch-action:manipulation;
}

#games .tournament-card__details[hidden]{
  display:none !important;
}

/* Картинки на фоне чуть отдалены, чтобы не выглядели растянутыми и было видно больше арта */
#games .tournament-card::before{
  background-size:
    auto,
    auto,
    92% auto !important;
  background-repeat:no-repeat !important;
  background-position:
    center,
    center,
    right bottom !important;
  background-color:#050606;
}

/* На узких экранах фон можно оставить чуть крупнее, чтобы карточка не пустела */
@media (max-width:760px){
  #games .tournament-card::before{
    background-size:
      auto,
      auto,
      105% auto !important;
    background-position:
      center,
      center,
      right bottom !important;
  }
}

/* При раскрытии карточка получает запас по высоте */
#games .tournament-card.is-details-open{
  min-height:710px;
}

#games .tournament-card__feature b{
  white-space:normal;
}



/* ===== participants modal + points list + money polish ===== */
#games .tournament-card{
  cursor:pointer;
}

#games .tournament-card__more,
#games .tournament-card__cta{
  cursor:pointer;
}

#games .tournament-card__points{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:5px;
  min-width:190px;
}

#games .tournament-card__points li{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  color:#fff;
  font-size:14px;
  line-height:1.25;
}

#games .tournament-card__points span{
  color:rgba(255,255,255,.78);
  font-weight:750;
}

#games .tournament-card__points b{
  color:#fff2cf;
  font-weight:900;
}

.participants-modal[hidden]{
  display:none !important;
}

.participants-modal{
  position:fixed;
  inset:0;
  z-index:10000;
  display:grid;
  place-items:center;
  padding:18px;
}

.participants-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(10px);
}

.participants-dialog{
  position:relative;
  width:min(560px, 100%);
  max-height:min(760px, calc(100vh - 36px));
  overflow:auto;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.14);
  background:
    radial-gradient(circle at 100% 0%, rgba(180,24,35,.28), transparent 36%),
    linear-gradient(180deg, rgba(21,21,24,.98), rgba(8,8,10,.98));
  box-shadow:0 30px 90px rgba(0,0,0,.7);
  padding:24px;
  color:#fff;
}

.participants-close{
  position:absolute;
  top:14px;
  right:14px;
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}

.participants-kicker{
  color:#d4aa63;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:12px;
  margin-bottom:8px;
}

.participants-dialog h2{
  margin:0 46px 8px 0;
  font-size:30px;
  line-height:1.08;
  color:#fff;
}

.participants-dialog p{
  margin:0 0 18px;
  color:rgba(255,255,255,.72);
  line-height:1.45;
}

.participants-list{
  display:grid;
  gap:10px;
}

.participants-row{
  display:grid;
  grid-template-columns:38px 1fr auto;
  align-items:center;
  gap:12px;
  padding:13px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.09);
}

.participants-number{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:50%;
  background:linear-gradient(180deg, #d2a151, #7f431e);
  color:#17100a;
  font-weight:900;
}

.participants-row b{
  font-size:17px;
  color:#fff;
}

.participants-row small{
  color:rgba(255,255,255,.62);
  font-weight:700;
}

.participants-empty{
  display:grid;
  gap:8px;
  padding:18px;
  border-radius:18px;
  background:rgba(255,255,255,.06);
  border:1px dashed rgba(255,255,255,.18);
}

.participants-empty b{
  color:#fff;
  font-size:18px;
}

.participants-empty span{
  color:rgba(255,255,255,.72);
  line-height:1.45;
}

@media (max-width:760px){
  #games .tournament-card__points{
    min-width:0;
    width:100%;
  }

  .participants-dialog{
    padding:20px;
    border-radius:24px;
  }

  .participants-dialog h2{
    font-size:25px;
  }

  .participants-row{
    grid-template-columns:34px 1fr;
  }

  .participants-row small{
    grid-column:2;
  }
}


/* ===== responsive proportional card background fix ===== */
/* Фон карточки больше не режется как cover. Картинка тянется пропорционально под размер карточки. */
#games .tournament-card{
  background:
    radial-gradient(circle at 85% 18%, rgba(160,20,28,.24), transparent 34%),
    linear-gradient(180deg, #060707 0%, #090909 44%, #050505 100%) !important;
}

#games .tournament-card::before{
  inset:0 !important;
  transform:none !important;
  background-image:
    linear-gradient(180deg, rgba(4,4,4,.08) 0%, rgba(4,4,4,.18) 28%, rgba(4,4,4,.60) 68%, rgba(3,3,3,.94) 100%),
    linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.52) 42%, rgba(0,0,0,.10) 100%),
    var(--card-image) !important;
  background-size:
    100% 100%,
    100% 100%,
    contain !important;
  background-repeat:
    no-repeat,
    no-repeat,
    no-repeat !important;
  background-position:
    center,
    center,
    right bottom !important;
  background-color:#050606 !important;
}

/* При раскрытии подробностей высота меняется, а картинка остается целиком и пропорционально пересчитывается */
#games .tournament-card.is-details-open::before{
  background-size:
    100% 100%,
    100% 100%,
    contain !important;
  background-position:
    center,
    center,
    right bottom !important;
}

/* Десктоп: карточки не раздувают картинку на полэкрана, держим аккуратный вертикальный формат */
@media (min-width:1201px){
  #games .tournament-card{
    min-height:620px !important;
  }

  #games .tournament-card.is-details-open{
    min-height:700px !important;
  }
}

/* Планшет: фон целиком, без кривой обрезки */
@media (max-width:1200px){
  #games .tournament-card::before{
    background-size:
      100% 100%,
      100% 100%,
      contain !important;
  }
}

/* Телефон: картинка чуть крупнее, но всё равно пропорционально и без дикого crop */
@media (max-width:760px){
  #games .tournament-card{
    min-height:560px !important;
  }

  #games .tournament-card.is-details-open{
    min-height:690px !important;
  }

  #games .tournament-card::before,
  #games .tournament-card.is-details-open::before{
    background-size:
      100% 100%,
      100% 100%,
      96% auto !important;
    background-position:
      center,
      center,
      right bottom !important;
  }
}

/* Само модальное окно участников не должно визуально конфликтовать с фоном карточки */
.participants-dialog{
  max-height:calc(100dvh - 36px) !important;
}


/* ===== final visual fix: clean responsive card art without ugly cutting ===== */
/* Картинка теперь подготовлена в вертикальном формате карточки и заполняет высоту пропорционально.
   Больше нет жёсткой верхней границы, как на старом contain-варианте. */
#games .tournament-card{
  background:
    radial-gradient(circle at 92% 78%, rgba(175,23,32,.20), transparent 34%),
    linear-gradient(180deg, #050505 0%, #070707 48%, #050505 100%) !important;
}

#games .tournament-card::before{
  inset:0 !important;
  transform:none !important;
  opacity:1 !important;
  background-image:
    linear-gradient(180deg, rgba(0,0,0,.06) 0%, rgba(0,0,0,.18) 34%, rgba(0,0,0,.64) 78%, rgba(0,0,0,.94) 100%),
    linear-gradient(90deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.52) 36%, rgba(0,0,0,.14) 72%, rgba(0,0,0,.04) 100%),
    var(--card-image) !important;
  background-size:
    100% 100%,
    100% 100%,
    auto 100% !important;
  background-repeat:
    no-repeat,
    no-repeat,
    no-repeat !important;
  background-position:
    center,
    center,
    right bottom !important;
  background-color:#050505 !important;
  pointer-events:none !important;
}

#games .tournament-card.is-details-open::before{
  background-size:
    100% 100%,
    100% 100%,
    auto 100% !important;
  background-position:
    center,
    center,
    right bottom !important;
}

/* На мобилке фон не должен превращаться в огромный обрезанный кусок */
@media (max-width:760px){
  #games .tournament-card::before,
  #games .tournament-card.is-details-open::before{
    background-size:
      100% 100%,
      100% 100%,
      auto 100% !important;
    background-position:
      center,
      center,
      right bottom !important;
  }
}

/* Чуть меньше визуального шума вокруг деталей, чтобы при раскрытии карточка выглядела аккуратно */
#games .tournament-card__details{
  background:rgba(8,8,8,.70) !important;
}


/* SEO landing pages */
.seo-body{padding-top:0}
.seo-main{padding-bottom:18px}
.seo-hero{
  min-height:520px;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(280px,.55fr);
  gap:28px;
  align-items:center;
  padding:70px 0 38px;
  position:relative;
}
.seo-hero:before{
  content:"";position:absolute;inset:28px -70px 0;border-radius:46px;z-index:-1;
  background:radial-gradient(circle at 72% 36%,rgba(255,20,42,.24),transparent 35%),linear-gradient(90deg,rgba(0,0,0,.10),rgba(116,6,14,.10));
  border:1px solid rgba(231,199,126,.08);
}
.seo-hero-copy h1 span{display:block;color:var(--gold);background:linear-gradient(180deg,#fff6c6,#c69c47 60%,#fff1cb);-webkit-background-clip:text;background-clip:text;color:transparent}
.seo-hero-card{display:grid;justify-items:center;text-align:center;gap:10px;padding:28px;min-height:330px;align-content:center}
.seo-hero-card img{width:min(100%,250px);filter:drop-shadow(0 0 30px rgba(255,28,46,.3))}
.seo-hero-card b{font-family:Georgia,serif;color:var(--gold2);font-size:26px;line-height:1.1}
.seo-hero-card span{color:#d9cab5;font-weight:800}
.seo-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch}
.seo-text-card h2{font-family:Georgia,serif;color:var(--gold2);font-size:34px;line-height:1.05;margin:0 0 16px}
.seo-text-card p{font-size:17px;line-height:1.72;color:#eadbc8}
.seo-list{margin:0;padding-left:22px;color:#eadbc8;line-height:1.72;font-size:17px}
.seo-list li{margin:0 0 8px}
.seo-cards .rule-card{text-decoration:none;color:inherit;display:block;min-height:230px}
.seo-link-card{transition:.18s ease}
.seo-link-card:hover{transform:translateY(-2px);border-color:rgba(255,55,72,.5)}
.seo-entry-section{padding-top:18px}
@media (max-width: 1080px){.seo-hero{grid-template-columns:1fr}.seo-hero-card{min-height:auto}.seo-grid-two{grid-template-columns:1fr}}
@media (max-width: 860px){.seo-hero{padding:42px 0 28px}.seo-hero:before{inset:12px -10px 0;border-radius:32px}.seo-hero-card img{width:190px}.seo-text-card h2{font-size:30px}}
