/* ===== PG Soft Play — pgsoft-play.com ===== */
:root{
  --bg:#130806;
  --bg-soft:#1d100a;
  --bg-card:#241309;
  --gold:#db9a35;
  --gold-bright:#f0c45c;
  --red:#9c1c1c;
  --red-deep:#5a1004;
  --text:#f0e6d2;
  --text-muted:#b9a587;
  --line:rgba(219,154,53,.28);
  --maxw:900px;
  --radius:14px;
  --shadow:0 10px 34px rgba(0,0,0,.55);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  font-size:16px;
  line-height:1.7;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold-bright);text-decoration:none}
a:hover{color:var(--gold)}
.site-wrap{max-width:var(--maxw);margin:0 auto;background:var(--bg)}
.container{max-width:var(--maxw);margin:0 auto;padding:0 18px}
.vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---- Typography ---- */
h1,h2,h3{font-family:'Noto Serif SC','Inter',serif;line-height:1.25;color:var(--gold-bright);font-weight:700}
h2{
  font-size:1.55rem;margin:2.2rem 0 1rem;padding-bottom:.5rem;
  border-bottom:1px solid var(--line);
}
h3{font-size:1.2rem;margin:1.6rem 0 .7rem}
p{margin:0 0 1rem}
.content p,.content li{color:var(--text)}
.content{padding-top:1.6rem}
.lead{font-size:1.08rem;color:var(--text-muted)}
ul{padding-left:1.2rem}
ul li{margin:.35rem 0}

/* ---- Header ---- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:#0f0805;
  border-bottom:1px solid var(--line);
}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;min-height:64px;gap:16px}
.site-logo img{height:44px;width:auto}
.main-nav ul{display:flex;gap:22px;margin:0;padding:0;list-style:none}
.main-nav a{color:var(--text);font-weight:500;font-size:.95rem;letter-spacing:.3px;text-transform:uppercase}
.main-nav a:hover,.main-nav a.is-active{color:var(--gold-bright)}
.nav-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px}
.nav-burger span{width:26px;height:3px;background:var(--gold);border-radius:2px}

/* ---- Hero ---- */
.hero{
  background-image:url('/assets/img/hero-900.webp');
  background-size:cover;background-position:center top;
  border-bottom:1px solid var(--line);
  position:relative;
}
.hero::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(10,5,3,.92) 0%,rgba(10,5,3,.7) 42%,rgba(10,5,3,.15) 75%,rgba(10,5,3,.35) 100%);
}
.hero__inner{position:relative;padding:56px 18px;min-height:520px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.hero__title{font-size:2.7rem;margin:0 0 .6rem;text-shadow:0 3px 18px rgba(0,0,0,.7)}
.hero__subtitle{max-width:460px;font-size:1.12rem;color:var(--text);margin:0 0 1.6rem}

/* ---- Slot hero ---- */
.slot-hero{position:relative;background-size:cover;background-position:center;border-bottom:2px solid var(--gold);padding:48px 0;text-align:center}
.slot-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,5,3,.66),rgba(10,5,3,.93))}
.slot-hero .container{position:relative}
.slot-hero h1{font-size:2.1rem;margin:.5rem 0 0;text-shadow:0 3px 16px rgba(0,0,0,.7)}
.breadcrumb{font-size:.85rem;color:var(--text-muted)}
.breadcrumb a{color:var(--gold-bright)}
.content img:not(.spec-icon){border-radius:12px;border:1px solid var(--line);margin:1.2rem 0}

/* ---- Buttons ---- */
.btn{
  display:inline-block;padding:13px 30px;border-radius:40px;font-weight:700;
  font-size:1rem;letter-spacing:.4px;cursor:pointer;transition:transform .15s,box-shadow .2s;text-transform:uppercase;
}
.btn--gold{
  background:linear-gradient(180deg,var(--gold-bright),var(--gold));
  color:#2a1402;box-shadow:0 6px 20px rgba(219,154,53,.4);
}
.btn--gold:hover{transform:translateY(-2px);box-shadow:0 9px 26px rgba(219,154,53,.55);color:#2a1402}
.btn--outline{border:2px solid var(--gold);color:var(--gold-bright);background:transparent}
.btn--outline:hover{background:var(--gold);color:#2a1402}

/* ---- Casino CTA card ---- */
.casino-card{
  position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;
  background:linear-gradient(135deg,var(--bg-card),#170c06);
  border:1px solid var(--gold);border-radius:var(--radius);
  padding:22px 26px;margin:1.4rem 0;box-shadow:var(--shadow);
}
.casino-card__badge{
  position:absolute;top:-12px;left:22px;
  background:linear-gradient(180deg,var(--red),var(--red-deep));
  color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.6px;text-transform:uppercase;
  padding:4px 14px;border-radius:20px;border:1px solid var(--gold);
}
.casino-card__logo img{width:120px;height:120px;border-radius:12px;border:1px solid var(--line)}
.casino-card__rating{color:var(--gold-bright);font-size:1.2rem;letter-spacing:2px}
.casino-card__name{font-size:1.45rem;font-weight:700;color:var(--gold-bright);margin:.2rem 0;font-family:'Noto Serif SC',serif}
.casino-card__bonus{margin:0;color:var(--text)}
.casino-card__btn{
  white-space:nowrap;padding:14px 34px;border-radius:40px;font-weight:700;text-transform:uppercase;
  background:linear-gradient(180deg,var(--gold-bright),var(--gold));color:#2a1402;
  box-shadow:0 6px 20px rgba(219,154,53,.4);transition:transform .15s;
}
.casino-card__btn:hover{transform:translateY(-2px);color:#2a1402}

/* ---- Featured casino (большой CTA на страницах слотов) ---- */
.featured-casino{position:relative;background:linear-gradient(135deg,#2a160a,#150b05);border:1px solid var(--gold);border-radius:16px;padding:28px 26px 24px;margin:1.8rem 0;box-shadow:var(--shadow)}
.featured-casino__badge{position:absolute;top:-12px;left:24px;background:linear-gradient(180deg,var(--red),var(--red-deep));color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.6px;text-transform:uppercase;padding:5px 15px;border-radius:20px;border:1px solid var(--gold)}
.featured-casino__main{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px}
.featured-casino__logo{width:120px;height:120px;border-radius:12px;border:1px solid var(--line)}
.featured-casino__rating{color:var(--gold-bright);font-size:1.25rem;letter-spacing:2px}
.featured-casino__name{font-size:1.55rem;font-weight:700;color:var(--gold-bright);margin:.2rem 0;font-family:'Noto Serif SC',serif}
.featured-casino__bonus{margin:0;color:var(--text)}
.featured-casino__btn{white-space:nowrap;padding:15px 40px;border-radius:40px;font-weight:700;text-transform:uppercase;background:linear-gradient(180deg,var(--gold-bright),var(--gold));color:#2a1402;box-shadow:0 6px 20px rgba(219,154,53,.4);transition:transform .15s}
.featured-casino__btn:hover{transform:translateY(-2px);color:#2a1402}
.featured-casino__desc{margin:1.2rem 0 .9rem;color:var(--text-muted);line-height:1.7}
.featured-casino__feats{display:grid;grid-template-columns:1fr 1fr;gap:9px 20px;margin:0;padding:0;list-style:none}
.featured-casino__feats li{padding-left:25px;position:relative;color:var(--text)}
.featured-casino__feats li::before{content:"\2714";position:absolute;left:0;color:var(--gold-bright);font-weight:700}
@media (max-width:768px){
  .featured-casino__main{grid-template-columns:1fr;text-align:center;justify-items:center;gap:14px}
  .featured-casino__logo{width:250px;height:250px}
  .featured-casino__feats{grid-template-columns:1fr}
}

/* ---- Slots grid ---- */
.slots-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:1.4rem 0}
.slot-card{
  position:relative;display:flex;align-items:flex-end;justify-content:center;
  min-height:140px;border:1px solid var(--line);border-radius:12px;overflow:hidden;
  background-size:cover;background-position:center;text-decoration:none;
  transition:transform .15s,box-shadow .2s,border-color .2s;
}
.slot-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,5,3,.05) 30%,rgba(10,5,3,.9) 100%)}
.slot-card__name{position:relative;z-index:1;color:#fff;font-weight:700;font-size:.92rem;text-align:center;padding:10px 8px;line-height:1.25;text-shadow:0 2px 7px rgba(0,0,0,.95)}
.slot-card:hover{transform:translateY(-3px);border-color:var(--gold);box-shadow:0 8px 22px rgba(0,0,0,.55)}
.slot-card--soon{cursor:default}
.slot-card--soon:hover{transform:none;border-color:var(--line)}

/* ---- Spec table ---- */
.table-wrap{overflow-x:auto;margin:1.2rem 0}
.spec-table{width:100%;border-collapse:collapse;font-size:.95rem}
.spec-table th{background:linear-gradient(180deg,var(--gold),#b07d22);color:#2a1402;text-align:left;padding:12px 14px}
.spec-table td{padding:11px 14px;vertical-align:middle}
.spec-table tbody tr{border-bottom:1px solid var(--line)}
.spec-table tr:nth-child(even) td{background:rgba(255,255,255,.02)}
.spec-table td:first-child{font-weight:600;color:var(--gold-bright);width:38%}
.spec-icon{width:20px;height:20px;vertical-align:middle;margin-right:11px;display:inline-block}

/* ---- FAQ ---- */
.faq{margin:1.2rem 0}
.faq details{background:var(--bg-soft);border:1px solid var(--line);border-radius:10px;margin-bottom:10px;overflow:hidden}
.faq summary{
  cursor:pointer;padding:15px 18px;font-weight:600;color:var(--gold-bright);list-style:none;
  display:flex;justify-content:space-between;align-items:center;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.4rem;color:var(--gold)}
.faq details[open] summary::after{content:"\2212"}
.faq__body{padding:0 18px 16px;color:var(--text-muted)}

/* ---- App buttons ---- */
.app-buttons{display:flex;gap:14px;margin:1.2rem 0}

/* ---- Footer ---- */
.site-footer{margin-top:3rem;background:#0c0603;border-top:1px solid var(--line);padding:30px 0}
.site-footer__disclaimer{font-size:.82rem;color:var(--text-muted);margin-bottom:.8rem}
.site-footer__age{color:var(--gold);font-weight:600;margin:.4rem 0}
.site-footer__copy{font-size:.85rem;color:var(--text-muted);margin:0}

/* ---- Scroll to top (только десктоп) ---- */
.scroll-top{position:fixed;right:24px;bottom:24px;width:44px;height:44px;border:none;border-radius:50%;background:linear-gradient(180deg,var(--gold-bright),var(--gold));color:#2a1402;font-size:.95rem;line-height:1;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.55);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s,transform .25s,visibility .25s;z-index:60}
.scroll-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.scroll-top:hover{transform:translateY(-3px);box-shadow:0 9px 24px rgba(219,154,53,.5)}
@media (max-width:768px){.scroll-top{display:none}}

/* ---- Sticky CTA (всплывающая полоса внизу, все страницы) ---- */
.sticky-cta{
  position:fixed;left:0;right:0;bottom:0;z-index:70;
  background:linear-gradient(180deg,#1f110a,#150b05);
  border-top:2px solid var(--gold);
  box-shadow:0 -8px 28px rgba(0,0,0,.55);
  transform:translateY(115%);visibility:hidden;
  transition:transform .42s cubic-bezier(.22,1,.36,1),visibility .42s;
}
.sticky-cta.is-visible{transform:translateY(0);visibility:visible}
.sticky-cta__inner{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;gap:14px;padding:11px 18px}
.sticky-cta__link{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:18px;text-decoration:none;color:var(--text)}
.sticky-cta__logo{flex:0 0 auto;width:54px;height:54px;border-radius:11px;border:1px solid var(--gold);object-fit:cover}
.sticky-cta__info{display:flex;flex-direction:column;min-width:0;overflow:hidden}
.sticky-cta__name{font-family:'Noto Serif SC','Inter',serif;font-size:1.05rem;font-weight:700;color:var(--gold-bright);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sticky-cta__bonus{font-size:.95rem;color:var(--text);line-height:1.3;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sticky-cta__btn{flex:0 0 auto;margin-left:auto;background:linear-gradient(180deg,var(--gold-bright),var(--gold));color:#2a1402;font-weight:700;font-size:.95rem;letter-spacing:.4px;text-transform:uppercase;padding:13px 30px;border-radius:40px;white-space:nowrap;box-shadow:0 6px 18px rgba(219,154,53,.35);transition:transform .15s}
.sticky-cta__link:hover .sticky-cta__btn{transform:translateY(-2px)}
.sticky-cta__close{flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:transparent;border:1px solid var(--line);color:var(--text-muted);font-size:1.4rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:color .2s,border-color .2s}
.sticky-cta__close:hover{color:var(--gold-bright);border-color:var(--gold)}
body{transition:padding-bottom .42s}
body.has-sticky-cta{padding-bottom:104px}
/* Десктоп: плавающая плашка шириной 900px по центру, приподнята от низа, обводка по периметру + скругление */
@media (min-width:769px){
  .sticky-cta{background:none;border-top:none;box-shadow:none;padding:0 18px 18px;pointer-events:none;transform:translateY(140%)}
  .sticky-cta__inner{pointer-events:auto;background:linear-gradient(180deg,#1f110a,#150b05);border:1px solid var(--gold);border-radius:var(--radius);box-shadow:var(--shadow)}
}
@media (max-width:768px){
  .sticky-cta__inner{gap:9px;padding:8px 11px}
  .sticky-cta__link{gap:10px}
  .sticky-cta__logo{width:42px;height:42px;border-radius:9px}
  .sticky-cta__name{font-size:.92rem}
  .sticky-cta__bonus{font-size:.8rem}
  .sticky-cta__btn{padding:10px 17px;font-size:.85rem;letter-spacing:.2px}
  .sticky-cta__close{width:27px;height:27px;font-size:1.2rem}
  body.has-sticky-cta{padding-bottom:72px}
}

/* ---- Responsive ---- */
@media (max-width:768px){
  .nav-burger{display:flex}
  .main-nav{
    position:absolute;top:64px;left:0;right:0;background:rgba(15,8,5,.98);
    border-bottom:1px solid var(--line);max-height:0;overflow:hidden;transition:max-height .3s;
  }
  .nav-toggle:checked ~ .main-nav{max-height:340px}
  .main-nav ul{flex-direction:column;gap:0;padding:8px 0}
  .main-nav li{border-bottom:1px solid rgba(219,154,53,.12)}
  .main-nav a{display:block;padding:13px 20px}
  .hero{background-image:url('/assets/img/hero-480.webp')}
  .hero__title{font-size:1.9rem}
  .hero__inner{padding:46px 18px;min-height:260px}
  .casino-card{grid-template-columns:1fr;text-align:center;justify-items:center;gap:14px;padding:26px 18px}
  .casino-card__logo img{width:250px;height:250px}
  .slots-grid{grid-template-columns:repeat(2,1fr)}
  h2{font-size:1.35rem}
  .app-buttons{flex-direction:column}
  .app-buttons .btn{text-align:center}
  /* таблица -> вертикальные плашки без общей подложки */
  .table-wrap{overflow:visible}
  .spec-table thead{display:none}
  .spec-table,.spec-table tbody{display:block}
  .spec-table tr{display:block;margin-bottom:12px;border:1px solid var(--line);border-radius:10px;background:var(--bg-soft);overflow:hidden}
  .spec-table tr:nth-child(even) td{background:none}
  .spec-table td{display:block;border:none;padding:11px 14px;width:auto}
  .spec-table td:first-child{width:auto;background:rgba(219,154,53,.1)}
}
