:root { --bg:#fff; --surface:#f5f7f8; --text:#303234; --muted:#65686c; --border:#e5e8eb; --primary:#ed332a; --primary-hover:#c71f18; --accent:#1e7468; }
html { scroll-behavior:smooth; scroll-padding-top:112px; }
body { font-family:Montserrat,Arial,sans-serif; color:var(--text); font-size:16px; line-height:1.7; letter-spacing:0; min-width:0; }
*,*::before,*::after { letter-spacing:0; }
img { max-width:100%; }
a,button { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible { outline:3px solid #1e7468; outline-offset:4px; }
.sg-container { max-width:1224px; padding-inline:24px; }
.sg-header { position:sticky; top:0; z-index:30; padding:0; background:#fff; border-bottom:1px solid var(--border); }
.sg-header-inner { min-height:86px; gap:24px; }
.sg-brand { display:inline-flex; align-items:center; gap:9px; padding:0; border:0; color:var(--primary); font-size:24px; font-weight:900; flex-shrink:0; }
.sg-brand img { width:27px; height:27px; object-fit:contain; }
.sg-badge { color:#65686c; background:#f5f7f8; border:0; padding:6px 9px; white-space:nowrap; font-size:11px; }
.primary-nav { display:flex; align-items:center; justify-content:center; gap:22px; margin-left:auto; }
.primary-nav a { color:#303234; font-weight:700; font-size:12px; line-height:1.4; text-decoration:none; padding-block:16px; }
.primary-nav a:hover { color:var(--primary); }
.menu-toggle { display:none; width:42px; height:42px; border:1px solid var(--border); border-radius:4px; background:#fff; align-items:center; justify-content:center; cursor:pointer; }
.menu-toggle img { width:22px; height:22px; }
main.sg-container { padding-top:40px; padding-bottom:56px; }
.sg-hero { margin:0 0 32px; padding:0 0 30px; border-bottom:1px solid var(--border); }
h1 { color:#303234; font-size:40px; line-height:1.18; font-weight:900; max-width:950px; margin-bottom:20px; }
.sg-intro { max-width:950px; color:#434649; font-size:16px; line-height:1.75; }
.editorial-layout { display:grid; grid-template-columns:minmax(0,1fr) 244px; gap:36px; align-items:start; }
.editorial-content { min-width:0; }
.section-title { font-size:24px; line-height:1.35; font-weight:800; margin:0 0 20px; }
.sg-listing-section { margin:0 0 46px; }
[data-sg-listing] { display:block; }
.sg-casino-row { display:grid; grid-template-columns:104px minmax(0,1fr) 158px; gap:12px 22px; align-items:center; border:1px solid var(--border); border-radius:8px; padding:24px 20px; background:#fff; position:relative; box-shadow:0 3px 12px #252a3010; transition:border-color .15s,box-shadow .15s; }
.sg-casino-row:hover { border-color:#d2d6da; box-shadow:0 5px 18px #252a3018; }
.brand-logo { grid-column:1; grid-row:1 / 3; width:104px; height:104px; object-fit:contain; border-radius:6px; }
.brand-logo[src$="slotoro.svg"] { background:#272a25; padding:8px; }
.sg-casino-name { grid-column:2; grid-row:1; margin:0; color:#25282a; font-size:20px; line-height:1.3; font-weight:800; overflow-wrap:anywhere; }
.sg-casino-offer,.sg-casino-row [data-sg-field="empty-offer"] { grid-column:2; grid-row:2; margin:0; font-size:13px; color:#54585d; line-height:1.65; overflow-wrap:anywhere; }
.sg-casino-row .sg-cta { grid-column:3; grid-row:1 / 3; display:flex; align-items:center; justify-content:center; gap:7px; width:100%; min-height:46px; padding:12px 10px; background:var(--primary); border:1px solid var(--primary); border-radius:5px; color:#fff; font-family:inherit; font-size:12px; font-weight:800; line-height:1.4; text-align:center; text-decoration:none; }
.sg-casino-row .sg-cta:hover { background:var(--primary-hover); border-color:var(--primary-hover); }
.sg-cta img { width:16px; height:16px; filter:brightness(0) invert(1); flex-shrink:0; }
.game-library { min-width:0; }
.game-library h2 { font-size:20px; font-weight:800; line-height:1.4; margin-bottom:20px; }
.game-library-grid { display:grid; gap:20px; }
.game-card { border-radius:6px; overflow:hidden; background:#f5f7f8; }
.game-cover { display:block; width:100%; height:auto; aspect-ratio:339/180; object-fit:contain; background:#fff; }
.game-card-body { padding:13px 14px 15px; }
.game-card h3 { margin:0 0 4px; font-size:14px; line-height:1.45; font-weight:800; }
.game-card p { color:#65686c; margin:0 0 10px; font-size:11px; }
.game-card a { display:inline-flex; align-items:center; gap:5px; color:#c72a22; font-size:11px; font-weight:700; text-underline-offset:3px; }
.game-card a img { width:13px; height:13px; }
.games-note { color:#65686c; font-size:11px; line-height:1.7; margin-top:18px; }
.sg-article-section { padding:30px 0; margin:0; border-top:1px solid var(--border); }
.sg-article-section h2 { font-size:27px; line-height:1.3; font-weight:800; margin-bottom:20px; }
.sg-article-section p,.sg-article-section li { font-size:15px; line-height:1.85; }
.sg-article-section p { margin-bottom:18px; }
.sg-article-section table { min-width:0; font-size:13px; }
.sg-article-section th { background:#f2f5f6; }
.sg-article-section td,.sg-article-section th { padding:12px; overflow-wrap:anywhere; }
.sg-footer { background:#f5f7f8; padding:32px 24px; }
.sg-footer p { font-size:12px; line-height:1.8; }
.sg-footer .responsible-badge-links { display:flex; flex-wrap:wrap; gap:12px 20px; justify-content:center; margin:0 0 22px; }
.sg-footer .responsible-badge-links a { font-family:inherit; font-size:11px; }
.sg-footer .footer-support-contact,.sg-footer .responsible-help-line { font-size:12px; }
[id] { scroll-margin-top:108px; }
@media(max-width:1100px) {
  .primary-nav { gap:14px; }
  .sg-badge { display:none; }
  .editorial-layout { gap:26px; grid-template-columns:minmax(0,1fr) 220px; }
  .sg-casino-row { grid-template-columns:88px minmax(0,1fr); gap:10px 18px; }
  .brand-logo { width:88px; height:88px; }
  .sg-casino-row .sg-cta { grid-column:2; grid-row:3; max-width:180px; margin-top:4px; }
}
@media(max-width:800px) {
  .sg-container { padding-inline:20px; }
  .sg-header-inner { min-height:72px; flex-wrap:wrap; gap:0; padding-top:15px; padding-bottom:15px; }
  .sg-brand { font-size:22px; order:1; }
  .menu-toggle { display:flex; margin-left:auto; order:2; }
  .primary-nav { display:none; width:100%; margin:0; padding:12px 0 0; grid-template-columns:1fr 1fr; gap:0 20px; order:3; }
  .sg-header[data-menu-open] .primary-nav { display:grid; }
  .primary-nav a { padding:13px 0; font-size:13px; border-bottom:1px solid var(--border); }
  main.sg-container { padding-top:30px; }
  h1 { font-size:32px; }
  .sg-intro { font-size:14px; }
  .editorial-layout { display:flex; flex-direction:column; gap:36px; }
  .editorial-content,.game-library { width:100%; }
  .game-library { order:-1; padding-bottom:28px; border-bottom:1px solid var(--border); }
  .game-library-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
  .game-card-body { padding:10px; }
  .game-card h3 { font-size:12px; }
  .games-note { max-width:600px; }
  .sg-casino-row { grid-template-columns:104px minmax(0,1fr) 158px; }
  .brand-logo { width:104px; height:104px; }
  .sg-casino-row .sg-cta { grid-column:3; grid-row:1 / 3; margin:0; }
  .sg-article-section h2 { font-size:24px; }
  html { scroll-padding-top:88px; }
  [id] { scroll-margin-top:88px; }
}
@media(max-width:600px) {
  .sg-container { padding-inline:16px; }
  h1 { font-size:30px; }
  .sg-hero { padding-bottom:24px; margin-bottom:26px; }
  .game-library-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .game-card h3 { font-size:13px; }
  .sg-casino-row { grid-template-columns:76px minmax(0,1fr); padding:18px 16px; gap:14px 16px; }
  .brand-logo { width:76px; height:76px; grid-row:1; }
  .sg-casino-name { font-size:19px; align-self:center; }
  .sg-casino-offer,.sg-casino-row [data-sg-field="empty-offer"] { grid-column:1 / -1; grid-row:2; font-size:13px; }
  .sg-casino-row .sg-cta { grid-column:1 / -1; grid-row:3; max-width:none; min-height:46px; font-size:13px; }
  .sg-article-section h2 { font-size:23px; }
  .sg-article-section p,.sg-article-section li { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .sg-casino-row { transition:none; } }
