/* ============================================================
   main.css — deferred (loaded async). Below-the-fold + components.
   Tokens live in critical.css :root. SAFE TO EDIT: spacing/colours
   reference the tokens, so adjust tokens in critical.css to restyle globally.
   ============================================================ */

/* ---- Sections ---- */
section{padding:clamp(2.5rem,7vw,4.5rem) 0}
.section-head{text-align:center;max-width:62ch;margin:0 auto var(--s8)}
.section-head h2{font-size:var(--fs-h2);margin-bottom:var(--s3)}
.section-head p{color:var(--text-2)}
.section-alt{background:var(--bg-2)}
h2,h3{margin-bottom:var(--s3)}
p{margin-bottom:var(--s4);color:var(--text-2)}
.prose p:last-child{margin-bottom:0}
.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.prose a:hover{color:var(--accent-deep)}
.prose ul{margin:0 0 var(--s4) 1.1rem;list-style:disc}
.prose ul li{margin-bottom:.4rem;color:var(--text-2)}
.prose ol{margin:0 0 var(--s4) 1.2rem;list-style:decimal}
.prose ol li{margin-bottom:.4rem;color:var(--text-2)}
.prose h2{margin-top:var(--s8)} .prose h3{margin-top:var(--s6)}

/* ---- Illustrations (custom brand SVGs) ---- */
.illus{margin:0;border-radius:var(--r4);overflow:hidden;line-height:0}
.illus img{width:100%;height:auto;display:block}
.illus figcaption{line-height:1.5;font-size:.82rem;color:var(--text-3);text-align:center;padding:var(--s3) var(--s4) 0}
.media-split{display:grid;gap:var(--s8);align-items:center;max-width:var(--wrap);margin-inline:auto}
.media-split .prose{max-width:60ch}
@media(min-width:861px){
  .media-split{grid-template-columns:1fr 1fr}
  .media-split.media-rev .media-text{order:2}
  .media-split.media-rev .illus{order:1}
}

/* ---- Comparison / data tables ---- */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 var(--s4);border:1px solid var(--line);border-radius:var(--r3)}
table.tbl{width:100%;border-collapse:collapse;min-width:520px;font-size:.93rem}
table.tbl caption{text-align:left;color:var(--text-3);font-size:.82rem;padding:var(--s3) var(--s4) 0}
table.tbl th,table.tbl td{padding:.7rem .9rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;color:var(--text-2)}
table.tbl thead th{background:var(--bg-3);color:var(--text);font-weight:700;position:sticky;top:0}
table.tbl tbody tr:last-child td{border-bottom:0}
table.tbl tbody tr:nth-child(even) td{background:rgba(255,255,255,.015)}
table.tbl td strong{color:#fff}
.tbl .yes{color:var(--success);font-weight:700}
.tbl .no{color:var(--text-3)}

/* ---- Glossary ---- */
.glossary{display:grid;gap:var(--s3);max-width:820px;margin-inline:auto}
.glossary dt{font-weight:800;color:var(--accent);font-size:1.02rem}
.glossary dd{margin:.15rem 0 0;color:var(--text-2);font-size:.95rem}
.glossary .g-item{background:var(--bg-2);border:1px solid var(--line);border-left:3px solid var(--accent);
  border-radius:var(--r2);padding:var(--s4) var(--s6)}

/* ---- Key-points list (checks) ---- */
.checks{display:grid;gap:.6rem;margin:0 0 var(--s4);max-width:820px}
.checks li{position:relative;padding-left:1.9rem;color:var(--text-2);list-style:none}
.checks li::before{content:"";position:absolute;left:0;top:.15rem;width:1.2rem;height:1.2rem;
  background:var(--grad-accent2);border-radius:50%;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/0.8rem no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/0.8rem no-repeat}

/* ---- Feature / card grid ---- */
.grid{display:grid;gap:var(--s4)}
.grid-2{grid-template-columns:1fr}
.grid-3{grid-template-columns:1fr}
@media(min-width:600px){.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:1fr 1fr}}
@media(min-width:900px){.grid-3{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r3);
  padding:var(--s6);transition:transform .18s,border-color .18s}
.card:hover{transform:translateY(-3px);border-color:rgba(255,106,26,.4)}
.card .ico{width:46px;height:46px;display:flex;align-items:center;justify-content:center;
  border-radius:var(--r2);background:rgba(255,106,26,.12);margin-bottom:var(--s4)}
.card .ico svg{width:26px;height:26px;color:var(--accent)}
.card h3{font-size:var(--fs-h3);margin-bottom:var(--s2)}
.card p{margin:0;font-size:.95rem}

/* ---- Steps (HowTo) ---- */
.steps{counter-reset:step;display:grid;gap:var(--s4)}
.step{position:relative;background:var(--bg-2);border:1px solid var(--line);
  border-radius:var(--r3);padding:var(--s6) var(--s6) var(--s6) calc(var(--s16) + var(--s2))}
.step::before{counter-increment:step;content:counter(step);position:absolute;left:var(--s6);top:var(--s6);
  width:40px;height:40px;display:flex;align-items:center;justify-content:center;
  background:var(--grad-accent);color:#0B0E13;font-weight:800;border-radius:var(--r-pill)}
.step h3{margin-bottom:var(--s1);font-size:1.1rem}
.step p{margin:0;font-size:.95rem}

/* ---- Stat strip ---- */
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s4);text-align:center}
@media(min-width:700px){.stats{grid-template-columns:repeat(4,1fr)}}
.stat b{display:block;font-size:clamp(1.6rem,4vw,2.3rem);color:var(--accent);font-weight:800}
.stat span{color:var(--text-3);font-size:.85rem}

/* ---- Trust / responsible gaming ---- */
.trust-strip{display:flex;flex-wrap:wrap;gap:var(--s4);justify-content:center;align-items:center}
.trust-strip .badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--bg-3);
  border:1px solid var(--line);border-radius:var(--r-pill);padding:.5rem 1rem;font-size:.85rem;color:var(--text-2)}
.trust-strip .badge svg{width:18px;height:18px;color:var(--accent2)}
.badge{display:inline-flex;align-items:center;gap:.4rem}
.badge svg{width:16px;height:16px;color:var(--accent2)}
.badge-18{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.4);color:var(--warning);font-weight:700;
  border:1px solid rgba(245,158,11,.4);border-radius:var(--r-pill);padding:.35rem .8rem;font-size:.8rem}
.rg-box{background:var(--bg-2);border:1px solid var(--line);border-left:4px solid var(--warning);
  border-radius:var(--r2);padding:var(--s6);color:var(--text-2);font-size:.92rem}
.rg-box h3{color:var(--warning);font-size:1.05rem}

/* ---- FAQ (native <details>, JS-enhanced) ---- */
.faq{max-width:820px;margin-inline:auto;display:grid;gap:var(--s3)}
.faq details{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r2);overflow:hidden}
.faq summary{list-style:none;cursor:pointer;padding:var(--s4) var(--s6);font-weight:700;
  display:flex;justify-content:space-between;align-items:center;gap:var(--s4);color:var(--text)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.5rem;color:var(--accent);line-height:1;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .faq-body{padding:0 var(--s6) var(--s4);color:var(--text-2)}
.faq .faq-body p{margin-bottom:.6rem}
.faq .faq-body a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}

/* ---- Breadcrumb ---- */
.crumbs{padding:var(--s4) 0;font-size:.85rem;color:var(--text-3)}
.crumbs ol{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.crumbs li:not(:last-child)::after{content:"/";margin-left:.4rem;color:var(--line)}
.crumbs a{color:var(--text-2)} .crumbs a:hover{color:var(--accent)}
.crumbs [aria-current]{color:var(--text)}

/* ---- Forms (login / signup) ---- */
.form-card{max-width:440px;margin-inline:auto;background:var(--bg-2);border:1px solid var(--line);
  border-radius:var(--r4);padding:var(--s8) var(--s6);box-shadow:var(--shadow)}
.form-card h1{font-size:var(--fs-h2);text-align:center;margin-bottom:var(--s2)}
.form-card .sub{text-align:center;color:var(--text-3);margin-bottom:var(--s6);font-size:.92rem}
.field{margin-bottom:var(--s4)}
.field label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.35rem;color:var(--text-2)}
.field input{width:100%;min-height:46px;padding:.65rem .9rem;background:var(--bg-3);
  border:1px solid var(--line);border-radius:var(--r2);color:var(--text);font-size:1rem}
.field input:focus{border-color:var(--accent);outline:none}
.form-note{font-size:.82rem;color:var(--text-3);text-align:center;margin-top:var(--s4)}
.form-note a{color:var(--accent)}
.alt-action{text-align:center;margin-top:var(--s4);font-size:.92rem;color:var(--text-2)}
.alt-action a{color:var(--accent);font-weight:700}

/* ---- CTA band ---- */
.cta-band{background:linear-gradient(135deg,rgba(255,106,26,.14),rgba(38,198,230,.1));
  border:1px solid var(--line);border-radius:var(--r4);padding:clamp(2rem,5vw,3rem);text-align:center}
.cta-band h2{font-size:var(--fs-h2);margin-bottom:var(--s3)}
.cta-band p{max-width:52ch;margin:0 auto var(--s6);color:var(--text-2)}
.cta-actions{display:flex;flex-wrap:wrap;gap:var(--s3);justify-content:center}

/* ---- Floating WhatsApp button (same model as silverexchcom.com) ---- */
.wa-float{position:fixed;right:16px;bottom:16px;z-index:60;width:56px;height:56px;border-radius:var(--r-pill);
  background:#25D366;display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 20px rgba(37,211,102,.45);transition:transform .2s;isolation:isolate}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:30px;height:30px;color:#fff}
.wa-float::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;
  background:#25D366;will-change:transform,opacity;transform:scale(1);opacity:.55;animation:wa-pulse 2.4s ease-out infinite}
@keyframes wa-pulse{0%{transform:scale(1);opacity:.55}70%{transform:scale(1.65);opacity:0}100%{transform:scale(1.65);opacity:0}}
@media(prefers-reduced-motion:reduce){.wa-float::after{animation:none;opacity:0}}

/* ---- Footer ---- */
.site-footer{background:var(--bg-2);border-top:1px solid var(--line);padding-top:var(--s12);margin-top:var(--s16)}
.footer-grid{display:grid;gap:var(--s8);grid-template-columns:1fr}
@media(min-width:560px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(min-width:900px){.footer-grid{grid-template-columns:1.8fr 1fr 1.2fr 1fr 1.2fr;gap:var(--s6)}}
.footer-grid h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin-bottom:var(--s4);font-weight:700}
.footer-grid a{color:var(--text-2);display:inline-block;padding:.25rem 0;font-size:.92rem}
.footer-grid a:hover{color:var(--accent)}
.footer-brand p{font-size:.9rem;max-width:34ch}
.footer-badges{display:flex;gap:var(--s3);align-items:center;flex-wrap:wrap;margin-top:var(--s4)}
.footer-badges .badge{background:var(--bg-3);border:1px solid var(--line);border-radius:var(--r-pill);padding:.35rem .8rem;font-size:.8rem;color:var(--text-2)}
.footer-socials{display:flex;gap:.45rem;flex-wrap:wrap}
.footer-socials a{display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:var(--r-pill);
  background:var(--bg-3);border:1px solid var(--line);color:var(--text-2);
  padding:0;transition:background .15s,color .15s,border-color .15s}
.footer-socials a:hover{background:var(--accent);color:#0B0E13;border-color:var(--accent)}
.footer-socials svg{width:16px;height:16px}
.ico-inline{width:15px;height:15px;display:inline-block;vertical-align:-2px;margin-right:.25rem;color:var(--accent2)}
.footer-bottom{border-top:1px solid var(--line);margin-top:var(--s8);padding:var(--s6) 0;
  font-size:.82rem;color:var(--text-3);text-align:center}
.footer-bottom .disclaimer{max-width:90ch;margin:0 auto var(--s3)}

/* ---- Consent banner ---- */
.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:70;background:var(--bg-2);
  border:1px solid var(--line);border-radius:var(--r3);padding:var(--s4) var(--s6);
  box-shadow:var(--shadow);display:none;gap:var(--s4);align-items:center;flex-wrap:wrap;justify-content:space-between}
.consent.show{display:flex}
.consent p{margin:0;font-size:.85rem;color:var(--text-2);flex:1 1 280px}
.consent a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.consent .consent-btns{display:flex;gap:var(--s2)}
@media(min-width:520px){.consent{left:auto;max-width:520px}}
