
/* Ultimate Slots – main stylesheet */
/* Tokens */
:root{
  --bg:#fff; --bg-soft:#f6f8fb; --ink:#0e1014; --muted:#657084; --line:#e6e9ef; --gold:#f3c14a;
  --radius:16px; --radius-lg:22px; --shadow:0 6px 24px rgba(16,24,40,.08); --shadow-strong:0 18px 40px rgba(16,24,40,.16);
  --container:1160px; --header-h:72px; --focus:0 0 0 3px rgba(243,193,74,.45);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;color:var(--ink);background:var(--bg);line-height:1.7}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
:where(a,button,summary,[tabindex]):focus-visible{outline:none;box-shadow:var(--focus);border-radius:12px}
@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}

/* Layout / type */
.container{width:min(100% - 32px, var(--container));margin-inline:auto}
.section{padding: clamp(40px, 8vw, 72px) 0}
h1,h2,h3{letter-spacing:-.01em}
h1{margin:0 0 8px;font-weight:800;line-height:1.2;font-size:clamp(1.8rem,1.6vw+1rem,2.4rem)}
h2{margin:20px 0 10px;font-weight:800;line-height:1.25;font-size:clamp(1.35rem,1.1vw+0.95rem,1.8rem)}
h3{margin:16px 0 8px;font-weight:800;font-size:clamp(1.1rem,0.7vw+0.9rem,1.3rem)}
.breadcrumbs + .container.section{padding-top:24px}

/* Header / Nav */
.site-header{position:sticky;top:0;z-index:100;background:linear-gradient(180deg,#fff 0,#f7f8fb 100%);border-bottom:1px solid var(--line);backdrop-filter:saturate(120%) blur(6px)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 0;min-height:var(--header-h)}
.brand{font-weight:800;font-size:1.35rem;letter-spacing:.1px;white-space:nowrap}
.brand b{color:var(--gold)}
.nav-links{display:flex;gap:24px;align-items:center}
.nav-links > * > a, .nav-links > a{display:inline-block;padding:10px 8px;line-height:1;border-radius:10px;font-weight:600;font-size:.98rem}
.nav-links a:hover{color:var(--gold);background:linear-gradient(180deg,#fff,#f7f9fd)}
.has-subnav{position:relative}
.has-subnav::after{content:"";position:absolute;left:0;right:0;top:100%;height:12px}
.dropdown{display:none;position:absolute;top:calc(100% + 8px);left:0;min-width:232px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-strong);padding:8px;z-index:80}
.has-subnav:hover .dropdown,.has-subnav:focus-within .dropdown{display:block}
.dropdown a{display:block;padding:10px 12px;border-radius:10px;white-space:nowrap}
.dropdown a:hover{background:#f4f6fb;color:#111}
.actions{display:flex;align-items:center;gap:10px}
.cta{background:var(--gold);color:#111;border:0;padding:12px 18px;border-radius:12px;font-weight:700;box-shadow:var(--shadow);transition:background .2s,transform .12s;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.cta:hover{background:#ffd36b;transform:translateY(-1px)}

/* Mobile Nav */
.hamburger{display:none;background:#fff;border:1px solid var(--line);width:42px;height:42px;border-radius:12px;align-items:center;justify-content:center}
.hamburger span{width:20px;height:2px;background:#111;position:relative;display:block}
.hamburger span::before,.hamburger span::after{content:"";position:absolute;left:0;width:100%;height:2px;background:#111}
.hamburger span::before{top:-6px}.hamburger span::after{top:6px}
.hamburger.active span{background:transparent}
.hamburger.active span::before{top:0;transform:rotate(45deg)}
.hamburger.active span::after{top:0;transform:rotate(-45deg)}
.mobile-overlay{display:none;position:fixed;inset:0;background:rgba(14,16,20,.32);backdrop-filter:blur(2px);z-index:95}
.mobile-overlay.open{display:block}
.mobile-panel{position:absolute;top:0;right:0;bottom:0;width:100vw;max-width:100%;background:#fff;box-shadow:var(--shadow-strong);display:flex;flex-direction:column}
.mobile-header{display:flex;align-items:center;justify-content:space-between;height:64px;padding-inline:max(14px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-right));border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff 0,#f7f8fb 100%)}
.mobile-header .brand{font-size:1.15rem}
.close-btn{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;font-size:20px}
.mobile-scroller{flex:1;overflow:auto;padding:14px max(14px,env(safe-area-inset-right)) 14px max(14px,env(safe-area-inset-left))}
.m-item{display:block;font-weight:700;font-size:1rem;line-height:1.25;padding:14px;border:1px solid var(--line);border-radius:12px;margin:8px 0;background:#fff}
details.m-accordion{border:1px solid var(--line);border-radius:12px;margin:8px 0;background:#fff;overflow:hidden}
.m-accordion summary{list-style:none;cursor:pointer;padding:14px;font-weight:700;position:relative;padding-right:32px}
.m-accordion summary::-webkit-details-marker{display:none}
.m-accordion[open] summary{background:#f7f9fd;border-bottom:1px solid var(--line);border-radius:12px 12px 0 0}
.m-accordion .sub{padding:8px 10px 12px;background:#fff;border-radius:0 0 12px 12px}
.m-accordion .sub a{display:block;font-weight:600;font-size:1rem;line-height:1.25;padding:10px 12px;border-radius:10px;margin:6px 0}
.m-accordion .sub a:hover{background:#f4f6fb}
.mobile-overlay .m-accordion summary::after{content:"▸";position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#657084;font-size:.95rem;transition:transform .2s ease;}
.mobile-overlay .m-accordion[open] summary::after{content:"▾";}

/* Hero */
.hero{background:linear-gradient(135deg,#fff 0,#fdfdfd 40%,#f4f7ff 100%);text-align:center;padding: clamp(56px, 8vw, 96px) 0 clamp(24px, 4vw, 40px)}
.lead{color:var(--muted);max-width:720px;margin-inline:auto}
.hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:16px}
.btn{border-radius:12px;font-weight:800;letter-spacing:.01em;min-height:48px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;line-height:1;box-shadow:var(--shadow)}
.btn-primary{background:var(--gold);color:#111;border:0}
.btn-primary:hover{background:#ffd36b}
.btn-outline{background:transparent;color:#111;border:1.5px solid var(--gold);box-shadow:none}
.btn-outline:hover{background:var(--gold);color:#111}

/* Featured slots */
.featured{background:linear-gradient(135deg,#f6f8fb 0,#fff 100%)}
.slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,24px)}
.slot-card{background:linear-gradient(145deg,#fff,#f4f6fa);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);transition:transform .15s,box-shadow .25s;cursor:pointer}
.slot-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-strong)}
.slot-media{aspect-ratio:16/10;background:linear-gradient(135deg,#f3f4f6,#e9ecf1)}
.slot-body{padding:14px 16px 16px;display:grid;gap:10px}
.slot-title{font-weight:700;font-size:1.02rem;letter-spacing:.1px}
.slot-cta{background:var(--gold);color:#111;border:0;padding:12px 16px;border-radius:12px;font-weight:700;width:100%;min-height:44px;transition:background .2s,transform .12s,box-shadow .2s}
.slot-cta:hover{background:#ffd36b;transform:translateY(-2px);box-shadow:var(--shadow)}

/* Tables */
.table-wrap{background:linear-gradient(145deg,#fff,#fafbff);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}
table{width:100%;border-collapse:collapse;font-size:clamp(.95rem,.2vw + .9rem,1rem)}
thead th{text-align:left;font-weight:700;color:var(--muted);background:#fbfbfe;border-bottom:1px solid var(--line);padding:16px 18px;letter-spacing:.2px}
tbody td{padding:18px;border-bottom:1px solid var(--line)}
.rating{font-weight:800}

/* Tiles */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,22px)}
.tile{background:linear-gradient(145deg,#fff,#f7f9fd);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow);transition:transform .15s,box-shadow .25s,background .3s}
.tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-strong);background:linear-gradient(145deg,#fff,#eef4ff)}
.tile strong{display:block;font-weight:700;margin-top:6px}
.icon{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#fff8e1,#ffe8a0);display:grid;place-items:center;font-size:18px}

/* Footer */
.site-footer{background:linear-gradient(180deg,#f6f8fb 0,#fff 100%);color:#6b7280;padding:48px 0;border-top:1px solid var(--line)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px}
.footer a:hover{color:var(--gold)}
.legal{margin-top:24px;font-size:.9rem}
.f-accordion{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}
.f-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;font-weight:800;padding:14px 16px;list-style:none;border-radius:14px}
.f-summary::-webkit-details-marker{display:none}
.f-accordion[open] .f-summary{background:#f7f9fd;border-bottom:1px solid var(--line);border-radius:14px 14px 0 0}
.f-links{display:grid;padding:10px 14px 14px;background:#fff;border-radius:0 0 14px 14px}
.f-links a{padding:10px 12px;border-radius:10px;font-weight:600}
.f-links a:hover{background:#f4f6fb;color:#111}
.f-summary::after{content:"▸";font-size:.95rem;color:#657084;transition:transform .2s ease;}
.f-accordion[open] .f-summary::after{content:"▾";}
.footer-brand{padding:12px 0}

/* Content */
blockquote{border-left:4px solid var(--line);padding:8px 16px;margin:12px 0;background:#fbfbfe;border-radius:12px}
code,kbd{background:#f5f7fb;border:1px solid var(--line);border-radius:6px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}
pre{background:#0e1014;color:#e7e9ee;border-radius:12px;padding:16px;overflow:auto}
pre code{background:transparent;border:0;color:inherit;padding:0}
.callout{border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin:16px 0;box-shadow:var(--shadow);background:#fff}
.callout .callout-title{font-weight:800;margin:0 0 6px}
.callout.info{border-color:#bcd7ff;background:linear-gradient(180deg,#f7fbff,#fff)}
.callout.tip{border-color:#bff0cc;background:linear-gradient(180deg,#f7fff9,#fff)}
.callout.warn{border-color:#ffe2b6;background:linear-gradient(180deg,#fff9f0,#fff)}
.callout.danger{border-color:#ffc4c4;background:linear-gradient(180deg,#fff7f7,#fff)}
.btn-row{display:flex;gap:12px;flex-wrap:wrap}
.btn-sm{min-height:38px;padding:0 14px;border-radius:10px}
.btn-wide{min-width:220px;justify-content:center}
.btn-row a,.btn-row .cta{display:inline-flex;align-items:center}

/* Guards + accordions */
.tiles > p,.slot-grid > p,.table-wrap > p{margin:0;display:contents}
.tiles{align-items:stretch}
.tiles .tile{height:100%}
.m-accordion summary{position:relative}
.m-accordion summary::after{content:"▸";position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#657084;font-size:.95rem;transition:transform .2s ease}
.m-accordion[open] summary::after{content:"▾"}

.breadcrumbs{background:linear-gradient(180deg,#f9fafc,#fff);border:1px solid var(--line);border-radius:12px;margin:12px auto 0;max-width:var(--container);box-shadow:var(--shadow)}
.breadcrumbs ol{list-style:none;display:flex;gap:6px 10px;padding:8px 12px;margin:0;white-space:nowrap;overflow-x:auto;scrollbar-width:thin}
.breadcrumbs li{display:flex;align-items:center;gap:10px;color:#657084;font-weight:600;flex:0 0 auto;white-space:nowrap}
.breadcrumbs li+li::before{content:'›';opacity:.6}
.breadcrumbs a:hover{color:#111}

/* Iframe */
.iframe-card{border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-strong);overflow:hidden;background:#000}
.iframe-aspect{position:relative;padding-top:56.25%}
.iframe-aspect iframe{position:absolute;inset:0;width:100%;height:100%;display:block;border:0}

/* Game info table */
.info-table table{width:100%}
.info-table th{width:34%;text-align:left;color:var(--muted);font-weight:700;background:#fbfbfe;border-bottom:1px solid var(--line);padding:16px 18px}
.info-table td{padding:16px 18px;border-bottom:1px solid var(--line)}

/* Responsive */
@media(max-width:1100px){
  .slot-grid,.tiles{grid-template-columns:repeat(3,1fr)}
  .footer-grid{grid-template-columns:1.2fr 1fr;gap:18px}
}
@media(max-width:900px){
  .nav-links{display:none}.cta.desktop-only{display:none}.hamburger{display:inline-flex}
  .footer-grid{grid-template-columns:1fr;gap:14px}
  .footer-brand{order:-1}
  .site-footer{padding:36px 0}
  .f-accordion{border-radius:16px}
}
@media(max-width:800px){
  .slot-grid,.tiles{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .section{padding:40px 0}
  .slot-grid,.tiles{grid-template-columns:1fr}
  .btn,.btn-outline,.cta{width:100%}
  /* generic table-to-cards except info-table */
  .table-wrap:not(.info-table) table,.table-wrap:not(.info-table) thead,.table-wrap:not(.info-table) tbody,.table-wrap:not(.info-table) th,.table-wrap:not(.info-table) td,.table-wrap:not(.info-table) tr{display:block}
  .table-wrap:not(.info-table) thead{display:none}
  .table-wrap:not(.info-table) tbody tr{background:#fff;margin-bottom:16px;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
  .table-wrap:not(.info-table) tbody td{border:0;border-bottom:1px solid var(--line);padding:14px 16px}
  .table-wrap:not(.info-table) tbody tr td:last-child{border-bottom:0}

  /* Info table (clean stacked rows) */
  .info-table table,.info-table thead,.info-table tbody,.info-table th,.info-table td,.info-table tr{display:block}
  .info-table th{border:0;background:transparent;padding:10px 16px 0}
  .info-table td{padding:8px 16px 12px;border:0}
  .info-table tbody tr{background:transparent;margin:0;border:0;box-shadow:none;border-bottom:1px solid var(--line)}
  .info-table tbody tr:last-child{border-bottom:0}
}




.nav-open 

.site-header{transform:translateZ(0);will-change:transform;z-index:2147483647}
.dropdown{z-index:2147483620}
.mobile-overlay{z-index:2147483500}
