/* ==========================================================================
   MAIN PAGE – Modular section designs
   Scoped to .landing-canvas to avoid global bleed.
   Matches HTML: <body class="landing-canvas"><article class="lp-article">…</article>
   ========================================================================== */

body.landing-canvas .lp-article{
  max-width: 1120px;
  margin: 0 auto;
  padding: 24px 18px 80px;
}

/* Global rhythm for sections */
body.landing-canvas .lp-article > section,
body.landing-canvas .lp-article > p,
body.landing-canvas .lp-article > h1{
  position: relative;
}

/* Intro H1 banner */
body.landing-canvas h1,
body.landing-canvas .lp-hero-title{
  font-size: clamp(32px, 5vw, 48px);
  background: linear-gradient(90deg, var(--text), #334155);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  margin: 24px 0 12px;
}
body.landing-canvas h1 + p{
  font-size: clamp(16px, 2.1vw, 18px);
  color: #374151;
  background: var(--bg-alt);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  border-radius: var(--radius-lg);
  padding: 18px 20px;
}

/* ---------- Headings: badges, rules, ribbons ---------- */
body.landing-canvas h2,
body.landing-canvas .sec-title{
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 14px;
  font-size: clamp(24px, 3.6vw, 34px);
  margin-top: 52px;
}
body.landing-canvas h2::before,
body.landing-canvas .sec-title::before{
  content: "";
  width: 14px; height: 14px;
  border-radius: 4px;
  background: linear-gradient(135deg, var(--accent), var(--accent-8));
  box-shadow: 0 6px 18px rgba(37,99,235,.25);
}
body.landing-canvas h3,
body.landing-canvas .sub-title{
  font-size: clamp(18px, 2.4vw, 22px);
  position: relative;
  padding-left: 14px;
}
body.landing-canvas h3::before,
body.landing-canvas .sub-title::before{
  content:"";
  position:absolute; left:0; top:.35em;
  width:6px; height: .8em; border-radius: 3px;
  background: linear-gradient(180deg, var(--accent-2), var(--accent-6));
}
body.landing-canvas .minor-title{ font-size: clamp(16px,2.2vw,20px); }

/* ---------- Lists (bulleted & checklists) ---------- */
body.landing-canvas ul{ padding-left: 1.2rem; }
body.landing-canvas ul li{ margin:.35rem 0; }
body.landing-canvas ul li > strong{ color:#111; }

body.landing-canvas .checklist,
body.landing-canvas ul.checklist{
  list-style: none; padding-left:0;
}
body.landing-canvas .checklist li{
  display:flex; gap:10px; align-items: flex-start;
  background: var(--card);
  border:1px solid var(--border);
  border-radius: var(--radius-md);
  padding:10px 12px;
  box-shadow: var(--shadow);
}
body.landing-canvas .checklist li::before{
  content:"✓";
  flex:0 0 22px; height:22px; display:grid; place-items:center;
  border-radius: 6px; font-weight:700;
  background: rgba(16,185,129,.12); color: var(--accent-2);
  border:1px solid rgba(16,185,129,.35);
  margin-top: 2px;
}

/* ---------- Ordered “Steps” list ---------- */
body.landing-canvas ol,
body.landing-canvas .steps{
  counter-reset: step;
  list-style: none; padding-left:0;
}
body.landing-canvas ol li,
body.landing-canvas .steps li{
  counter-increment: step;
  display:grid; grid-template-columns: 42px 1fr; align-items:start;
  gap:14px;
  background: var(--bg-alt);
  border:1px solid var(--border);
  border-radius: var(--radius-md);
  padding:14px 16px;
  margin: 10px 0;
  box-shadow: var(--shadow);
}
body.landing-canvas ol li::before,
body.landing-canvas .steps li::before{
  content: counter(step);
  width:42px; height:42px; border-radius: 12px;
  display:grid; place-items:center;
  font-weight:800;
  background: linear-gradient(135deg, var(--accent-3), var(--accent-7));
  color:#fff;
  box-shadow: 0 8px 20px rgba(245,158,11,.35);
}

/* ---------- Tables (responsive cards on mobile) ---------- */
body.landing-canvas table,
body.landing-canvas .cmp-table{
  width:100%;
  border-collapse: collapse;
  margin: 18px 0 8px;
  background: var(--card);
  border:1px solid var(--border);
  box-shadow: var(--shadow);
  border-radius: var(--radius-lg);
  overflow:hidden;
}
body.landing-canvas table caption{
  text-align: left;
  font-weight:700;
  padding:14px 16px;
  background: linear-gradient(90deg, #eef2ff, #f0f9ff);
  border-bottom:1px solid var(--border);
}
body.landing-canvas thead th{
  text-align:left; font-weight:800; font-size:15px;
  background:#f8fafc;
  border-bottom:1px solid var(--border);
  padding:12px 14px;
}
body.landing-canvas tbody td{
  padding:12px 14px; border-bottom:1px solid #f1f5f9;
}
body.landing-canvas tbody tr:nth-child(even){ background:#fcfdff; }

/* Stack to cards on small screens */
@media (max-width: 720px){
  body.landing-canvas table thead{ display:none; }
  body.landing-canvas table, 
  body.landing-canvas tbody, 
  body.landing-canvas tr, 
  body.landing-canvas td{ display:block; width:100%; }
  body.landing-canvas tbody tr{
    border-bottom:1px solid var(--border);
    padding: 10px 0;
  }
  body.landing-canvas tbody td{
    border:0; padding:8px 16px;
  }
  body.landing-canvas tbody td::before{
    content: attr(data-label);
    display:block; font-weight:700; color:#374151; margin-bottom:2px;
  }
}

/* Helper: add data-labels via CSS-only for common tables (optional) */
body.landing-canvas table tbody tr td:nth-child(1){--label:""; }
body.landing-canvas table tbody tr td:nth-child(2){--label:""; }

/* ---------- Asides / “Responsible play” note ---------- */
body.landing-canvas aside.note{
  background:
    linear-gradient(180deg, rgba(20,184,166,.08), rgba(20,184,166,.02)),
    var(--bg-alt);
  border: 1px solid rgba(20,184,166,.25);
  border-left: 6px solid var(--accent-6);
  border-radius: var(--radius-lg);
  padding:16px 18px;
  box-shadow: var(--shadow);
}
body.landing-canvas aside.note h3{ margin-top:0; }

/* ---------- IMAGES with frames ---------- */
body.landing-canvas img,
body.landing-canvas .framed-img{
  max-width: 100%; height:auto; display:block;
  border-radius: 14px;
  box-shadow: 0 18px 50px rgba(2,6,23,.12);
  border: 1px solid var(--border);
}

/* ==========================================================================
   SECTION VARIANTS (order-sensitive)
   ========================================================================== */

/* Section 1: Definition + comparison + aside */
body.landing-canvas .lp-article section:nth-of-type(1){
  background: linear-gradient(180deg,#ffffff, #f8fafc);
  border:1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 26px 22px;
  box-shadow: var(--shadow);
}
body.landing-canvas .lp-article section:nth-of-type(1) > p{ margin-bottom: 12px; }
body.landing-canvas .lp-article section:nth-of-type(1) table{ margin-top: 14px; }
body.landing-canvas .lp-article section:nth-of-type(1) aside{ margin-top: 16px; }

/* Section 2: Payments overview */
body.landing-canvas .lp-article section:nth-of-type(2){
  background: linear-gradient(90deg, #f0f9ff, #ecfeff);
  border:1px solid #dbeafe;
  border-radius: var(--radius-lg);
  padding: 34px 22px;
  box-shadow: var(--shadow);
}
body.landing-canvas .lp-article section:nth-of-type(2) > p{ max-width: 85ch; }
body.landing-canvas .lp-article section:nth-of-type(2) h3{ margin-top: 22px; }
body.landing-canvas .lp-article section:nth-of-type(2) h3 + p{
  background: #ffffff;
  border:1px solid var(--border);
  border-radius: var(--radius-md);
  padding:12px 14px;
  box-shadow: var(--shadow);
}

/* Section 3: How-to */
body.landing-canvas .lp-article section:nth-of-type(3){
  background: var(--bg-alt);
  border:1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 28px 22px;
  box-shadow: var(--shadow);
}
body.landing-canvas .lp-article section:nth-of-type(3) h3{ margin-top: 14px; }
body.landing-canvas .lp-article section:nth-of-type(3) ol{ margin-top: 10px; }
body.landing-canvas .lp-article section:nth-of-type(3) h4{ margin-top: 22px; font-weight:800; }

/* Section 4: Fees & limits */
body.landing-canvas .lp-article section:nth-of-type(4){
  background:
    radial-gradient(600px 220px at 100% 0%, rgba(37,99,235,.08), transparent 60%),
    #fff;
  border:1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 30px 22px;
  box-shadow: var(--shadow);
}
body.landing-canvas .lp-article section:nth-of-type(4) p strong{
  background: linear-gradient(90deg, #dcfce7, #f0fdf4);
  border: 1px solid #bbf7d0;
  padding: 2px 6px;
  border-radius: 8px;
}

/* Section 5: Alternatives */
body.landing-canvas .lp-article section:nth-of-type(5){
  background: linear-gradient(180deg, #fff, #f6f7fb);
  border:1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 28px 22px;
  box-shadow: var(--shadow);
}
@media(min-width: 900px){
  body.landing-canvas .lp-article section:nth-of-type(5) > h3 + p,
  body.landing-canvas .lp-article section:nth-of-type(5) > p + h3{
    columns: 2;
    column-gap: 28px;
  }
}

/* Section 6: Licenses & safety */
body.landing-canvas .lp-article section:nth-of-type(6){
  background: linear-gradient(90deg,#faf5ff,#fdf2f8);
  border:1px solid #f5d0fe;
  border-radius: var(--radius-lg);
  padding: 30px 22px;
  box-shadow: var(--shadow);
}
body.landing-canvas .lp-article section:nth-of-type(6) ul{
  list-style:none; padding-left:0;
  display:grid; gap:12px;
}
@media(min-width: 720px){
  body.landing-canvas .lp-article section:nth-of-type(6) ul{ grid-template-columns: 1fr 1fr; }
}
body.landing-canvas .lp-article section:nth-of-type(6) ul li{
  background:#fff;
  border:1px solid var(--border);
  border-left: 6px solid var(--accent-5);
  border-radius: var(--radius-md);
  padding:12px 14px;
  box-shadow: var(--shadow);
}

/* Section 7: Bonuses */
body.landing-canvas .lp-article section:nth-of-type(7){
  background: linear-gradient(180deg,#f0f9ff,#fff);
  border:1px solid #dbeafe;
  border-radius: var(--radius-lg);
  padding: 28px 22px;
  box-shadow: var(--shadow);
}
body.landing-canvas .lp-article section:nth-of-type(7) ul{
  display:grid; gap:12px; list-style:none; padding-left:0;
}
@media(min-width: 900px){
  body.landing-canvas .lp-article section:nth-of-type(7) ul{ grid-template-columns: repeat(2,1fr); }
}
body.landing-canvas .lp-article section:nth-of-type(7) ul li{
  background:#fff; border:1px solid var(--border);
  border-radius: var(--radius-md);
  padding:12px 14px; box-shadow: var(--shadow);
}

/* Section 8: KYC / MitID */
body.landing-canvas .lp-article section:nth-of-type(8){
  background: linear-gradient(180deg,#ffffff,#f8fafc);
  border:1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 28px 22px;
  box-shadow: var(--shadow);
}
body.landing-canvas .lp-article section:nth-of-type(8) ul li{
  position:relative;
  background:#fff; border:1px solid var(--border);
  border-radius: var(--radius-md);
  padding:12px 14px 12px 44px;
  box-shadow: var(--shadow);
}
body.landing-canvas .lp-article section:nth-of-type(8) ul li::before{
  content:"";
  position:absolute; left:12px; top:14px;
  width:18px; height:18px; border-radius:6px;
  background: linear-gradient(135deg, var(--accent-2), var(--accent-6));
}

/* Section 9: Responsible play (dark) */
body.landing-canvas .lp-article section:nth-of-type(9){
  background: #0b1220;
  color: #e5e7eb;
  border-radius: var(--radius-lg);
  padding: 28px 22px;
  box-shadow: 0 18px 50px rgba(2,6,23,.4);
}
body.landing-canvas .lp-article section:nth-of-type(9) h2,
body.landing-canvas .lp-article section:nth-of-type(9) h3{ color:#fff; }
body.landing-canvas .lp-article section:nth-of-type(9) a{ color:#93c5fd; border-bottom-color:#93c5fd; }
body.landing-canvas .lp-article section:nth-of-type(9) ul li{
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  border-radius: var(--radius-md);
  padding: 10px 12px;
}

/* Section 10: Tax & banking */
body.landing-canvas .lp-article section:nth-of-type(10){
  background: linear-gradient(90deg,#fff7ed,#fffbeb);
  border:1px solid #fed7aa;
  border-radius: var(--radius-lg);
  padding: 28px 22px;
  box-shadow: var(--shadow);
}
body.landing-canvas .lp-article section:nth-of-type(10) ul{
  list-style:none; padding-left:0; display:grid; gap:12px;
}
@media(min-width: 780px){
  body.landing-canvas .lp-article section:nth-of-type(10) ul{ grid-template-columns: repeat(2,1fr); }
}
body.landing-canvas .lp-article section:nth-of-type(10) ul li{
  background:#fff; border:1px solid var(--border);
  border-left:6px solid var(--accent-3);
  border-radius: var(--radius-md); padding:12px 14px; box-shadow: var(--shadow);
}

/* Section 11: Games (pill tags) */
body.landing-canvas .lp-article section:nth-of-type(11){
  background: linear-gradient(180deg,#eff6ff,#ffffff);
  border:1px solid #bfdbfe;
  border-radius: var(--radius-lg);
  padding: 28px 22px;
  box-shadow: var(--shadow);
}
body.landing-canvas .lp-article section:nth-of-type(11) .pill-list,
body.landing-canvas .lp-article section:nth-of-type(11) ul{
  list-style:none; padding-left:0; display:flex; flex-wrap:wrap; gap:10px;
}
body.landing-canvas .lp-article section:nth-of-type(11) .pill-list li,
body.landing-canvas .lp-article section:nth-of-type(11) ul li{
  background:#fff;
  border:1px solid var(--border);
  border-radius: 999px;
  padding:8px 12px;
  box-shadow: var(--shadow);
}

/* Section 12: Summary / decision tree */
body.landing-canvas .lp-article section:nth-of-type(12){
  background: linear-gradient(180deg,#ecfeff,#f0fdf4);
  border:1px solid #bae6fd;
  border-radius: var(--radius-lg);
  padding: 28px 22px;
  box-shadow: var(--shadow);
}
body.landing-canvas .lp-article section:nth-of-type(12) ul li{
  background:#fff; border:1px solid var(--border);
  border-radius: var(--radius-md); padding:10px 12px; box-shadow: var(--shadow);
}

/* Section 13: FAQ (accordionesque cards without JS) */
body.landing-canvas .lp-article section:nth-of-type(13){
  background: #ffffff;
  border:1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 28px 22px;
  box-shadow: var(--shadow);
}
body.landing-canvas .lp-article section:nth-of-type(13) h3,
body.landing-canvas .lp-article section:nth-of-type(13) .faq-q{
  margin-top:20px;
  background:#f8fafc;
  border:1px solid var(--border);
  border-radius: var(--radius-md);
  padding:12px 14px;
}
body.landing-canvas .lp-article section:nth-of-type(13) h3 + p,
body.landing-canvas .lp-article section:nth-of-type(13) .faq-q + .faq-a{
  border-left:4px solid var(--accent);
  padding:10px 14px; background:#fff; border:1px solid var(--border);
  border-radius: 10px; margin-top:8px;
}

/* Section 14: Author */
body.landing-canvas .lp-article section:nth-of-type(14){
  background: linear-gradient(90deg,#f8fafc,#eef2ff);
  border:1px solid #e5e7eb;
  border-radius: var(--radius-lg);
  padding: 22px;
  box-shadow: var(--shadow);
}
body.landing-canvas .lp-article section:nth-of-type(14) p strong{
  display:inline-block;
  padding:4px 10px;
  background:#fff; border:1px solid var(--border);
  border-radius: 999px;
}

/* Final disclaimer paragraph styling */
body.landing-canvas .disclaimer em{
  background:#fff;
  border:1px dashed var(--border);
  border-radius: 10px;
  padding:8px 10px;
  display:inline-block;
}

/* ---------- Misc helpers ---------- */
body.landing-canvas .table-note{
  font-size: 13px; color:#475569;
  background:#f8fafc; border:1px solid var(--border);
  padding:8px 10px; border-radius: 8px; display:inline-block;
}

/* ===== GeneratePress full-width fix for the landing page ===== */
body.landing-canvas .site-header,
body.landing-canvas .site-footer,
body.landing-canvas .widget-area,
body.landing-canvas .sidebar,
body.landing-canvas .site-info{ display:none !important; }

body.landing-canvas .site-content,
body.landing-canvas .content-area,
body.landing-canvas .site-main,
body.landing-canvas .inside-article,
body.landing-canvas .grid-container,
body.landing-canvas .site,
body.landing-canvas .container{
  max-width: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  float: none !important;
  box-sizing: border-box;
}

/* центрируем и задаём рабочую ширину самому контенту */
body.landing-canvas .lp-article,
body.landing-canvas .entry-content{
  max-width: 1120px !important;   /* можно 1200–1240, если хочется шире */
  width: 100%;
  margin: 0 auto;
  padding-left: 18px;
  padding-right: 18px;
}

/* на one-container макете GP уберём внутренние паддинги статьи */
body.landing-canvas.one-container .inside-article{
  padding: 0 !important;
}

/* если где-то включён сайдбар — принудительно на 100% ширины */
body.landing-canvas #primary.content-area{ width: 100% !important; }

/* ===== FIX: Steps layout in how-to section ===== */
body.landing-canvas .s-howto .steps{
  counter-reset: step;
  list-style: none;
  padding-left: 0;
  margin: 10px 0 0;
}

body.landing-canvas .s-howto .steps li{
  /* override grid from base rules */
  display: flex !important;
  align-items: flex-start;
  gap: 14px;

  background: var(--bg-alt);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 14px 16px;
  margin: 10px 0;
  box-shadow: var(--shadow);

  /* keep text wrapping natural */
  white-space: normal;
  word-break: normal;
  overflow-wrap: anywhere; /* длинные URL/слова не ломают карточку */
}

body.landing-canvas .s-howto .steps li::before{
  counter-increment: step;
  content: counter(step);
  flex: 0 0 42px;
  width: 42px; height: 42px;
  border-radius: 12px;
  display: grid; place-items: center;
  font-weight: 800;
  background: linear-gradient(135deg, var(--accent-3), var(--accent-7));
  color: #fff;
  box-shadow: 0 8px 20px rgba(245,158,11,.35);
}

body.landing-canvas .s-howto .steps li strong{
  /* визуально заголовок шага как первый фрагмент абзаца */
  margin-right: 6px;
  font-weight: 700;
}

/* ===== FIX: readable labels in dark "Responsible play" section ===== */
body.landing-canvas .s-responsible { color:#e5e7eb; } /* базовый текст светлее */

body.landing-canvas .s-responsible .checklist li{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.14);
  color:#e5e7eb;               /* текст пунктов */
}

body.landing-canvas .s-responsible .checklist li > strong{
  color:#ffffff !important;    /* левый «лейбл» белым */
}

body.landing-canvas .s-responsible a{
  color:#93c5fd; border-bottom-color:#93c5fd;
}

/* ===== FIX: make section 2 paragraphs full width ===== */
body.landing-canvas .s-payments > p{
  max-width: none !important;   /* снимаем 85ch */
}

/* на всякий: если где-то ещё нужно принудительно растянуть абзацы */
body.landing-canvas .is-fullwidth{
  max-width: none !important;
}

/* Casino vitrine */
.casino-vitrine{
  --card-bg:#fff;
  --card-br:#e5e7eb;
  --muted:#475569;
  --shadow:0 8px 24px rgba(2,6,23,.06);
  display:grid;
  gap:16px;
  grid-template-columns: repeat(auto-fill, minmax(260px,1fr));
  margin: 18px 0 8px;
}
.casino-vitrine .cv-card{
  background:var(--card-bg);
  border:1px solid var(--card-br);
  border-radius:16px;
  box-shadow:var(--shadow);
  display:flex; flex-direction:column;
  overflow:hidden;
  transition:transform .2s ease, box-shadow .2s ease;
}
.casino-vitrine .cv-card:hover{
  transform: translateY(-2px);
  box-shadow:0 14px 40px rgba(2,6,23,.12);
}
.casino-vitrine .cv-media{
  aspect-ratio: 16/9;
  background:#f8fafc;
  display:grid; place-items:center;
  overflow:hidden;
}
.casino-vitrine .cv-media img{
  width:100%; height:100%; object-fit:cover;
}
.casino-vitrine .cv-body{
  padding:14px 14px 16px;
}
.casino-vitrine .cv-title{
  font-size:18px; line-height:1.2; margin:4px 0 10px;
}
.casino-vitrine .cv-meta{
  display:flex; flex-wrap:wrap; gap:12px 16px;
  margin:0 0 10px; padding:0; list-style:none;
  font-size:14px;
}
.casino-vitrine .cv-label{
  color:var(--muted);
}
.casino-vitrine .cv-pay{
  font-size:14px; line-height:1.45;
}
.casino-vitrine .cv-pay-list{
  display:block; margin-top:4px;
}

/* dark-mode friendly (если фон тёмный в секции 9 и т.п.) */
@media (prefers-color-scheme: dark){
  .casino-vitrine{ --card-bg:#0b1220; --card-br:#1f2937; --muted:#9ca3af; }
  .casino-vitrine .cv-card{ box-shadow:0 8px 24px rgba(0,0,0,.35); }
}