/* Shared site identity. Page-specific grids, tools and product controls stay local. */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');
html[data-site-theme] {
  --site-bg: #101224;
  --site-surface: #16182d;
  --site-gold: #ffc400;
  --site-font: "Plus Jakarta Sans", Helvetica, Arial, sans-serif;
}
html[data-site-theme="page"] body {
  --bg: var(--site-bg);
  --bg-soft: var(--site-surface);
  --panel: var(--site-surface);
  --panel2: #1b1e35;
  --bg-color-even: var(--site-bg);
  --bg-color-odd: var(--site-surface);
  --accent: #ffbf00;
  --accent-strong: var(--site-gold);
  --accent-soft: rgba(255,196,0,.1);
  --accent-border: rgba(255,196,0,.35);
  --accent-glow: rgba(255,196,0,.14);
  --text: #f4f6fb;
  --muted: rgba(255,255,255,.55);
  --muted-2: rgba(255,255,255,.72);
  background: var(--site-bg);
  font-family: var(--site-font);
  line-height: 1.8;
}
html[data-site-theme="page"] :is(h1,h2,h3,h4,h5,h6) {
  font-family: var(--site-font);
  line-height: 1.2;
}
html[data-site-theme="page"] :is(.page-hero h1,.hero-header h1) {
  font-size: clamp(2.6rem,5vw,4.5rem);
  line-height: 1.15;
}
html[data-site-theme="page"] :is(.page-hero,.tool-hero,.deals-hero)::before {
  background: radial-gradient(ellipse at 50% 0,rgba(255,191,0,.08),transparent 65%);
}
html[data-site-theme="page"] :is(.card-base,.value-card,.service-card,.channel-card,.contact-card,.diff-card,.partner-card,.panel,.summary-card,.feature-card,.info-card,.faq-card,.faq-item,.live-card,.tool-card,.side-card,.filter-card,.deal-card,.coupon-strip,.hero-stat,.policy-card,.highlight-card,.fro-hero-card,.fro-upload-card,.fro-score-card,.fro-summary-card,.fro-panel) {
  background: var(--site-surface);
  border-color: rgba(255,255,255,.09);
  box-shadow: 0 16px 40px rgba(0,0,0,.16);
}
html[data-site-theme="page"] :is(.cta-band,.cta-box) {
  background: radial-gradient(circle at 90% 0,rgba(255,191,0,.08),transparent 50%),var(--site-surface);
}
html[data-site-theme="page"] .stats-strip .stat { background: var(--site-surface); }
html[data-site-theme="page"] :is(.btn,.btn-outline,.btn-primary,.btn-gold) { font-family: var(--site-font); }
/* Keep semantic status, game artwork, and selection/availability indicators intact. */

/* One footer presentation on every page, matching the homepage's layout. */
html[data-site-theme] footer.footer-modern {
  position: relative;
  clear: both;
  width: 100%;
  padding: 80px 0 0;
  margin: 0;
  border-top: 0;
  background: linear-gradient(to bottom,#0b1026 0%,#060912 40%,#000 100%);
  color: rgba(255,255,255,.6);
  font-family: var(--site-font);
  font-size: 16.5px;
  line-height: 1.8;
  letter-spacing: -.2px;
  text-align: left;
  overflow: hidden;
}
html[data-site-theme] footer.footer-modern *,
html[data-site-theme] footer.footer-modern *::before,
html[data-site-theme] footer.footer-modern *::after { box-sizing: border-box; }
html[data-site-theme] footer.footer-modern::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 20% 20%,rgba(255,191,0,.08),transparent 40%),radial-gradient(circle at 80% 30%,rgba(255,191,0,.05),transparent 40%);
  pointer-events: none;
}
html[data-site-theme] footer.footer-modern .footer-modern-inner {
  width: min(1300px,92%);
  margin: auto;
  position: relative;
  z-index: 2;
}
html[data-site-theme] footer.footer-modern .footer-line {
  position: relative;
  display: flex;
  justify-content: center;
  margin: 0 0 60px;
}
html[data-site-theme] footer.footer-modern .footer-line::before {
  content: "";
  position: absolute;
  top: 50%;
  width: 100%;
  height: 1px;
  background: linear-gradient(to right,transparent,#ffbf00,transparent);
}
html[data-site-theme] footer.footer-modern .footer-icon { background: #060912; padding: 0 18px; position: relative; z-index: 2; }
html[data-site-theme] footer.footer-modern img { vertical-align: middle; object-fit: contain; }
html[data-site-theme] footer.footer-modern .footer-icon img { width: 40px; height: 40px; }
html[data-site-theme] footer.footer-modern .footer-grid { display: grid; grid-template-columns: 1.2fr 2fr; gap: 60px; align-items: start; }
html[data-site-theme] footer.footer-modern .footer-brand { max-width: 360px; min-width: 0; }
html[data-site-theme] footer.footer-modern .footer-logo { display: inline-block; width: 200px; max-width: 100%; height: auto; margin: 0 0 20px; }
html[data-site-theme] footer.footer-modern p { margin: 0 0 1rem; font-size: inherit; line-height: 1.8; }
html[data-site-theme] footer.footer-modern .footer-desc { color: rgba(255,255,255,.7); margin-bottom: 10px; }
html[data-site-theme] footer.footer-modern .footer-rating { color: rgba(255,255,255,.5); margin-bottom: 25px; }
html[data-site-theme] footer.footer-modern .footer-socials { display: flex; gap: 18px; margin: 0; }
html[data-site-theme] footer.footer-modern .footer-socials a {
  display: inline-flex; align-items: center; justify-content: center;
  width: auto; height: auto; padding: 0; border: 0; border-radius: 0;
  background: transparent; color: #ffbf00; font-size: 20px; transition: .25s;
}
html[data-site-theme] footer.footer-modern .footer-socials a:hover { transform: translateY(-3px) scale(1.1); color: #fff; }
html[data-site-theme] footer.footer-modern .footer-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; }
html[data-site-theme] footer.footer-modern .footer-col h5 {
  font-family: var(--site-font); font-weight: 700; color: #ffbf00;
  margin: 0 0 15px; font-size: 16px; line-height: 1.2; letter-spacing: .5px;
}
html[data-site-theme] footer.footer-modern .footer-col ul { display: block; list-style: none; padding: 0; margin: 0; }
html[data-site-theme] footer.footer-modern .footer-col li { margin: 0 0 10px; padding: 0; }
html[data-site-theme] footer.footer-modern .footer-col a { color: rgba(255,255,255,.6); text-decoration: none; transition: .2s; overflow-wrap: anywhere; }
html[data-site-theme] footer.footer-modern .footer-col a:hover { color: #fff; }
html[data-site-theme] footer.footer-modern a:focus-visible { outline: 2px solid #ffc400; outline-offset: 4px; }
html[data-site-theme] footer.footer-modern .footer-bottom { border-top: 1px solid rgba(255,255,255,.08); margin-top: 50px; padding: 20px 0; text-align: center; }
html[data-site-theme] footer.footer-modern .footer-bottom p { color: rgba(255,255,255,.5); font-size: 14px; }
@media (max-width: 992px) {
  html[data-site-theme] footer.footer-modern .footer-grid { grid-template-columns: 1fr; gap: 40px; }
  html[data-site-theme] footer.footer-modern .footer-links { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
  html[data-site-theme] footer.footer-modern .footer-links { grid-template-columns: 1fr; }
  html[data-site-theme] footer.footer-modern .footer-line { margin-bottom: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-site-theme] footer.footer-modern a { transition: none; }
}
/* These legacy pages omitted clearance for their fixed navigation. */
html[data-header-clearance="true"] main {
  padding-top: calc(var(--hh-nav-h, 74px) + var(--hh-announce-h, 40px));
}
html[data-site-theme="page"] .stat-tile { background: var(--site-surface); }
html[data-site-theme="page"] :is(.summary-card,.info-card,.cta-box).is-unavailable {
  border-color: var(--unavail-border,rgba(255,107,107,.35));
}
/* Primary actions use the same gold treatment across product and tool pages. */
html[data-site-theme="page"] :is(.btn,.btn-primary,.btn-gold):not(:disabled):not([aria-disabled="true"]) {
  background: linear-gradient(180deg,#ffc927 0%,#f5b000 100%);
  color: #111;
  border-color: rgba(255,196,0,.35);
  box-shadow: 0 8px 24px rgba(255,196,0,.12);
}
