/* Obsidian Grid — main.css · Royal Reels AU · Design C (Bold Promo) */
:root{
  --bg:#15161c; --bg2:#1b1d25; --surface:#232631; --surface2:#2c303d;
  --gold:#ffc42d; --gold-d:#e9af1b; --green:#22b431; --green-d:#178a24;
  --blue1:#1877e0; --blue2:#0b3a86; --text:#f1f3f8; --muted:#a0a7b8; --line:#31353f;
  --r:16px; --rs:11px; --maxw:1180px;
  --font:'Segoe UI',Roboto,system-ui,-apple-system,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{overflow-x:clip;max-width:100vw}
body{background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.7;font-size:17px}
img,svg,video,iframe{max-width:100%;height:auto;display:block}
a{color:var(--gold);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 20px}
h1,h2,h3,h4{line-height:1.22}

/* ── Buttons ── */
.btn{display:inline-flex;align-items:center;justify-content:center;font-weight:900;border:none;cursor:pointer;border-radius:var(--rs);padding:12px 22px;font-size:14.5px;transition:.15s;white-space:nowrap;min-height:44px}
.btn-app{background:linear-gradient(180deg,var(--gold),var(--gold-d));color:#1a1200;box-shadow:0 6px 16px rgba(255,196,45,.3)}
/* Зелёный CTA: оттенок подобран так, чтобы БЕЛЫЙ текст давал контраст >=4.5 на ОБОИХ стопах
   градиента (было #28c93a/#178a24 → 2.21:1 = ниже нормы). Сейчас 5.5:1 и 7.8:1. */
.btn-reg{background:linear-gradient(180deg,#157a24,#0e5f1a);color:#fff;box-shadow:0 6px 16px rgba(21,122,36,.45)}
.btn:hover{transform:translateY(-2px);filter:brightness(1.12);text-decoration:none;color:#1a1200}
.btn-reg:hover{color:#fff}
.btn-xl{padding:16px 38px;font-size:17.5px;border-radius:13px}
.cta-button{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#157a24,#0e5f1a);color:#fff;font-weight:900;padding:13px 26px;border-radius:12px;font-size:16px;min-height:46px;box-shadow:0 6px 16px rgba(21,122,36,.45);transition:.15s;margin:.3rem 0}
.cta-button:hover{transform:translateY(-2px);filter:brightness(1.12);text-decoration:none;color:#fff}
/* ⛔ Специфичность: `.content-body a{color:gold}` перебивал color кнопок →
   золотой текст на зелёной кнопке (1.39:1). Кнопки внутри контента держат свой цвет. */
.content-body a.cta-button,
.content-body a.btn-reg{color:#fff}
.content-body a.btn-app{color:#1a1200}

/* ── Header ── */
.site-header{position:sticky;top:0;z-index:100;background:rgba(21,22,28,.97);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.hdr{display:flex;align-items:center;gap:22px;min-height:68px;padding-top:8px;padding-bottom:8px}
.logo{display:inline-flex;align-items:center;gap:7px;font-weight:900;font-size:22px;letter-spacing:.5px;color:var(--text)}
.logo:hover{text-decoration:none}
.logo .crown{color:var(--gold);font-size:15px;margin-bottom:13px}
.logo b{color:var(--gold)}
.custom-logo{max-height:44px;width:auto}
.nav-menu{display:flex;gap:18px;font-size:14.5px;font-weight:700}
.nav-menu a{color:#ccd2e0;padding:.3rem 0}
.nav-menu a:hover{color:var(--gold);text-decoration:none}
.hdr-cta{margin-left:auto;display:flex;gap:10px}
/* тап-таргет бургера был 32×36 — поднимаем до >=44×44 (основной элемент моб. навигации) */
.burger{display:none;font-size:26px;background:none;border:none;color:var(--text);cursor:pointer;line-height:1;padding:8px 12px;min-width:44px;min-height:44px}

/* ── Hero ── */
.hero{position:relative;overflow:hidden;background:
  radial-gradient(90% 120% at 15% 10%,rgba(255,196,45,.18),transparent 55%),
  radial-gradient(120% 130% at 90% 90%,rgba(24,119,224,.35),transparent 55%),
  linear-gradient(160deg,#1d2130,#141824);border-bottom:1px solid var(--line)}
.hero .wrap{text-align:center;padding:56px 20px 50px}
.flag{display:inline-block;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:99px;padding:6px 16px;font-size:13px;font-weight:700;color:#e6ebf6;margin-bottom:18px}
.hero h1{font-size:32px;font-weight:800;color:#eef2fb;margin-bottom:10px;max-width:900px;margin-left:auto;margin-right:auto}
.big{font-size:60px;font-weight:900;line-height:1;margin:8px 0 4px;background:linear-gradient(180deg,#ffe38a,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}
.plus{font-size:24px;font-weight:800;color:#dfe6f4;margin-bottom:22px}
.plus b{color:#4fe463}
.hero-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.hero small{display:block;color:#aeb8cc;margin-top:16px;font-size:12.5px}

/* ── Feature strip ── */
.feat{background:var(--bg2);border-bottom:1px solid var(--line)}
.feat .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:22px 20px}
.fe{display:flex;gap:12px;align-items:center}
.fe .ic{flex:none;width:44px;height:44px;border-radius:12px;background:var(--surface2);display:grid;place-items:center;font-size:20px}
.fe .t{font-weight:800;font-size:14.5px}
.fe .s{color:var(--muted);font-size:12.5px}

/* ── Section heads ── */
.sec-head{text-align:center;margin-bottom:24px}
.sec-head h2{font-size:28px;font-weight:800;border:none;padding:0}
.sec-head p{color:var(--muted);font-size:14.5px;max-width:560px;margin:6px auto 0}
.k{color:var(--gold)}
.steps-sec,.compare-sec{padding:44px 0}
.compare-sec{background:var(--bg2);border-top:1px solid var(--line)}

/* ── Steps ── */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.step{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:26px 22px;text-align:center}
.step .n{width:46px;height:46px;border-radius:50%;background:linear-gradient(180deg,var(--gold),var(--gold-d));color:#1a1200;font-weight:900;font-size:20px;display:grid;place-items:center;margin:0 auto 14px}
.step h3{font-size:18px;margin-bottom:6px;color:var(--text)}
.step p{color:var(--muted);font-size:13.5px}

/* ── Content body (the_content) ── */
.content-body{padding:44px 20px 20px}
.content-body .byline{color:var(--muted);font-size:13.5px;font-style:italic;margin-bottom:1.2rem;border-left:3px solid var(--gold);padding-left:.8rem}
.content-body h1{font-size:33px;margin:.2rem 0 1rem}
.content-body h2{font-size:24px;font-weight:800;color:#fff;margin:2rem 0 .8rem;border-left:4px solid var(--gold);padding-left:.7rem}
.content-body h3{font-size:18.5px;margin:1.4rem 0 .5rem;color:var(--gold-d)}
.content-body p{margin:0 0 1.1rem}
.content-body ul,.content-body ol{margin:0 0 1.1rem 1.4rem}
.content-body li{margin-bottom:.45rem}
.content-body strong{color:#fff}
.content-body a{color:var(--gold);font-weight:600}
.content-img{max-width:800px;width:100%;height:auto;margin:1.5rem auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r)}

/* ── Tables ── */
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);margin:1.3rem 0}
table{width:100%;border-collapse:collapse;background:var(--surface)}
.content-body table{margin:1.3rem 0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
th,td{padding:12px 15px;text-align:left;border-bottom:1px solid var(--line);font-size:14.5px}
th{background:var(--surface2);color:var(--gold);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.4px}
tbody tr:last-child td{border-bottom:none}
table.compare td,table.compare th{text-align:center}
table.compare td:first-child,table.compare th:first-child{text-align:left}
.rr-row{background:rgba(255,196,45,.07)}
.rr-row td:first-child{color:var(--gold);font-weight:800}
.chk{color:#4fe463;font-weight:800}
.pill{background:var(--gold);color:#1a1200;font-weight:800;padding:3px 10px;border-radius:99px;font-size:12.5px;white-space:nowrap}

/* ── Review block (видимый = schema) ── */
.review-block{display:flex;gap:20px;align-items:center;background:linear-gradient(160deg,var(--surface),var(--bg2));border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:var(--r);padding:22px;margin:1.6rem 0}
.rb-score{flex:none;width:96px;height:96px;border-radius:50%;background:conic-gradient(var(--gold) 0 92%,#3a3d49 92% 100%);display:grid;place-items:center}
.rb-score .rb-num{font-size:26px;font-weight:900;color:#fff;line-height:1}
.rb-score{position:relative}
.rb-score:after{content:"";position:absolute;width:74px;height:74px;border-radius:50%;background:var(--bg2)}
.rb-score .rb-num,.rb-score .rb-out{position:relative;z-index:1}
.rb-score .rb-out{color:var(--muted);font-size:12px}
.rb-body .stars{color:var(--gold);letter-spacing:3px;font-size:18px}
.rb-quote{margin:.4rem 0 .6rem;font-style:italic;color:#dde2ee}
.review-block .byline{font-size:12.5px;color:var(--muted);margin:0}

/* ── Games gallery ── */
.games-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:1.4rem 0}
.game-card{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:1/1;border:1px solid var(--line);display:flex;align-items:flex-end;padding:12px;font-weight:800;font-size:14px;text-shadow:0 2px 6px rgba(0,0,0,.75)}
.game-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.game-card .gc-name{position:relative;z-index:1}
.game-card.ph .gc-name{color:#fff}
.game-card .rib{position:absolute;top:11px;right:-32px;transform:rotate(45deg);background:var(--gold);color:#1a1200;font-size:10px;font-weight:900;padding:3px 36px;letter-spacing:.4px;z-index:2}
.ph.g1{background:linear-gradient(160deg,#c98a2a,#7a3d12)} .ph.g2{background:linear-gradient(160deg,#1f5fb0,#0b2a5c)}
.ph.g3{background:linear-gradient(160deg,#c0341f,#5c1108)} .ph.g4{background:linear-gradient(160deg,#d8a83a,#8a5a10)}
.ph.g5{background:linear-gradient(160deg,#6a2fa0,#2a0e50)} .ph.g6{background:linear-gradient(160deg,#2aa0c9,#0b4a66)}
.ph.g7{background:linear-gradient(160deg,#c93a7a,#5c0e3a)} .ph.g8{background:linear-gradient(160deg,#2a9a6a,#0e4a30)}

/* ── Charts ── */
.chart-fig{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px;margin:1.4rem 0}
.chart-svg{width:100%;height:auto;display:block}
.chart-fig figcaption{color:var(--muted);font-size:13px;text-align:center;margin-top:10px}
.legend{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin-top:10px;font-size:12.5px;color:var(--muted)}
.legend span{display:inline-flex;gap:6px;align-items:center}
.legend .dot{width:11px;height:11px;border-radius:3px;display:inline-block}

/* ── Editorial note ── */
.editorial-note{display:flex;gap:15px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px;margin:2rem 0 0;font-size:13.5px;color:var(--muted)}
.ed-avatar{flex:none;width:52px;height:52px;border-radius:50%;background:linear-gradient(160deg,var(--gold),var(--gold-d));display:grid;place-items:center;font-weight:900;color:#1a1200;font-size:18px}
.editorial-note strong{color:var(--text)}

/* ── Footer ── */
.site-footer{background:#0f1015;border-top:1px solid var(--line);padding:40px 0 24px;margin-top:24px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:26px;margin-bottom:24px}
.footer-col .foot-h{margin:0 0 12px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--gold)}
.footer-col a{display:block;color:var(--muted);font-size:13.5px;padding:4px 0;font-weight:400}
.footer-col a:hover{color:var(--text);text-decoration:none}
.brand-col .logo{font-size:20px;margin-bottom:10px}
.fdesc{color:var(--muted);font-size:13px}
.rg-bar{background:var(--surface);border:1px solid var(--line);border-radius:var(--rs);padding:14px 16px;color:var(--muted);font-size:12.5px;display:flex;gap:12px;align-items:center}
.eighteen{flex:none;width:38px;height:38px;border-radius:50%;border:2px solid #e5484d;color:#e5484d;display:grid;place-items:center;font-weight:900;font-size:13px}
.copy{color:#6c7180;font-size:12px;text-align:center;margin-top:20px}

/* ── Sticky mobile CTA (только ≤768) ── */
.stick-cta{display:none;position:fixed;left:0;right:0;bottom:0;z-index:120;background:linear-gradient(180deg,#20242f,#171922);border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(0,0,0,.45)}
.stick-cta .wrap{display:flex;align-items:center;gap:12px;padding:9px 16px}
.stick-cta .off{font-weight:800;font-size:12.5px;line-height:1.3}
.stick-cta .off b{color:var(--gold)}
.stick-cta .btn{margin-left:auto;flex:none}

/* ── Post list (blog index) ── */
.post-list{display:grid;gap:16px;margin:1.4rem 0}
.post-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.post-card h2{border:none;padding:0;font-size:20px;margin-bottom:.4rem}

/* ── Responsive ── */
@media(max-width:900px){
  /* width:100% при left:20px давал right=vw+20 → правый край панели срезался (overflow 20px).
     width:auto + left/right:20px держит панель ровно в гуттерах. */
  .nav-menu{order:4;width:auto;flex-direction:column;gap:0;display:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--rs);margin-top:8px;position:absolute;left:20px;right:20px;top:64px;z-index:99;padding:6px}
  .nav-menu.open{display:flex}
  .nav-menu a{padding:.7rem .8rem;border-bottom:1px solid var(--line)}
  .hdr{flex-wrap:wrap;position:relative;gap:10px}
  .logo{order:1}
  .burger{display:block;order:2;margin-left:auto}
  .hdr-cta{order:3;margin-left:0;width:100%;gap:10px}
  .hdr-cta .btn{flex:1}
  .big{font-size:46px}.hero h1{font-size:25px}.plus{font-size:20px}
  .feat .wrap{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr}
  .games-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .review-block{flex-direction:column;text-align:center}
  body{padding-bottom:60px}
  .stick-cta{display:block}
}
@media(max-width:430px){
  .big{font-size:38px}.hero .wrap{padding-top:40px}
  .feat .wrap{grid-template-columns:1fr}
  body{font-size:16px}
}
