*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

/* ── BODY / BG ────────────────────────────────────────────── */
body{
  font-family:'Segoe UI',Arial,Helvetica,sans-serif;
  background:#060810;
  color:#fff;
  min-height:100vh;
  overflow-x:hidden;
  position:relative;
}
/* simulated dark casino atmosphere */
body::before{
  content:"";
  position:fixed;inset:0;z-index:0;
  background:
    radial-gradient(ellipse 55% 50% at 78% 18%,#01216988 0%,transparent 65%),
    radial-gradient(ellipse 45% 40% at 60% 70%,#0a205888 0%,transparent 60%),
    radial-gradient(ellipse 30% 35% at 92% 50%,#1b2f6baa 0%,transparent 55%),
    radial-gradient(ellipse 60% 30% at 15% 40%,#04030e 0%,#0a0c1e 100%);
  pointer-events:none;
}
/* red top bar */
body::after{
  content:"";
  position:fixed;top:0;left:0;right:0;height:6px;
  background:linear-gradient(90deg,#012169,#ffffff,#c8102e,#ffffff,#012169);
  z-index:999;
}

/* ── WRAP ─────────────────────────────────────────────────── */
.wrap{
  position:relative;z-index:1;
  max-width:1460px;
  margin:0 auto;
  padding:6px 36px 48px;
}

/* ── HERO ─────────────────────────────────────────────────── */
.hero{
  display:flex;
  align-items:flex-start;
  gap:24px;
  padding:28px 0 22px;
}
.hero-text{flex:1;text-align:center}
.hero-text h1{
  font-size:46px;font-weight:900;
  letter-spacing:.4px;line-height:1.1;
  text-transform:uppercase;
  margin-bottom:14px;
}
.hero-text h1 .red{color:#ff1654}
.hero-text p{
  font-size:16px;line-height:1.65;color:#c8d4ef;
  max-width:860px;margin:0 auto 20px;
}
.trust-row{
  display:flex;justify-content:center;flex-wrap:wrap;
  gap:16px 32px;margin-bottom:14px;
}
.trust-row span{
  display:flex;align-items:center;gap:8px;
  font-size:14px;font-weight:700;letter-spacing:.5px;color:#d8e2ff;
}
.trust-row .ti{font-size:18px}
.hero small{font-size:13px;color:#6a7aa8}

/* UK Flag */
.nl-flag{flex-shrink:0;padding-top:4px}
.flag-ring{
  width:180px;height:180px;border-radius:50%;
  padding:12px;
  background:conic-gradient(#ffe348 0deg,#fca800 90deg,#ffe348 180deg,#fca800 270deg,#ffe348 360deg);
  box-shadow:0 0 36px #ffb70066,0 6px 18px #0004;
}
.flag-inner{
  width:100%;height:100%;border-radius:50%;
  background:
    linear-gradient(to bottom, transparent 38%, #fff 38% 44%, #c8102e 44% 56%, #fff 56% 62%, transparent 62%),
    linear-gradient(to right, transparent 38%, #fff 38% 44%, #c8102e 44% 56%, #fff 56% 62%, transparent 62%),
    linear-gradient(33deg, transparent 43%, #fff 43% 48%, #c8102e 48% 52%, #fff 52% 57%, transparent 57%),
    linear-gradient(-33deg, transparent 43%, #fff 43% 48%, #c8102e 48% 52%, #fff 52% 57%, transparent 57%),
    #012169;
}

/* ── CARDS CONTAINER ──────────────────────────────────────── */
.cards{display:flex;flex-direction:column;gap:16px;padding-bottom:8px}

/* ── SINGLE CARD ─────────────────────────────────────────── */
.card{
  position:relative;
  border-radius:12px;
  padding:14px 14px 14px 14px;
  border:2px solid #1a3a7a;
  background:linear-gradient(100deg,#090d20f8,#0e1430f8);
  box-shadow:0 2px 24px #0003,inset 0 1px 0 #ffffff08;
  overflow:visible;
}
.card.c-gold{
  border-color:#d4a000;
  box-shadow:0 0 28px #d4a00033,inset 0 1px 0 #ffe57a18;
  background:linear-gradient(100deg,#0d0a02f8,#120e00f8);
}

/* rank + badge row floating above card top-left */
.card-top{
  display:flex;align-items:center;gap:8px;
  margin-bottom:12px;
  margin-left:-2px;
}
.rn{
  width:44px;height:44px;border-radius:50%;
  display:grid;place-items:center;
  font-size:22px;font-weight:900;flex-shrink:0;
}
.rn-gold{background:linear-gradient(135deg,#ffe44a,#c88400);color:#1a0900}
.rn-pink{background:linear-gradient(135deg,#ff2878,#a80028);color:#fff}

.rb{
  display:inline-block;
  padding:6px 16px;border-radius:8px;
  font-size:13px;font-weight:800;letter-spacing:.5px;
}
.rb-gold{background:linear-gradient(90deg,#ffe148,#cc8000);color:#160900}
.rb-pink{background:linear-gradient(90deg,#ff2878,#9a0028);color:#fff}

/* ── CARD GRID ───────────────────────────────────────────── */
.card-grid{
  display:grid;
  grid-template-columns:220px 150px 160px 1fr 200px 180px;
  align-items:center;
  gap:0;
  min-height:100px;
}

/* dividers between cols */
.col-offer,
.col-rating,
.col-features,
.col-pay,
.col-cta{border-left:1px solid #ffffff10;padding-left:20px}
.col-logo{padding-right:16px}
.col-offer{padding-right:16px}
.col-rating{padding-right:16px;text-align:center}
.col-features{padding-right:16px}
.col-pay{padding-right:16px}
.col-cta{padding:0 0 0 16px}

/* ── LOGO COL ─────────────────────────────────────────────── */
.col-logo{display:flex;align-items:center;gap:12px}
.logo-icon{flex-shrink:0;display:block}
.logo-text{display:flex;flex-direction:column;justify-content:center}

/* Fortunica */
.bname-fort{
  font-size:26px;font-weight:900;letter-spacing:.5px;
  color:#fff;
}
/* RoyalWin */
.bname-royal{
  font-size:26px;font-weight:900;letter-spacing:.5px;
  background:linear-gradient(180deg,#ffe566,#ff8800);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
/* LuckyFox */
.bname-fox span.w{color:#fff;font-size:26px;font-weight:900;letter-spacing:.5px}
.bname-fox span.o{color:#ff6a18;font-size:26px;font-weight:900;letter-spacing:.5px}

/* ── OFFER COL ───────────────────────────────────────────── */
.offer-big{font-size:34px;font-weight:900;color:#fff;line-height:1}
.offer-sub{font-size:17px;font-weight:700;color:#a8b8dc;margin-top:4px}

/* ── RATING COL ──────────────────────────────────────────── */
.stars{color:#ffd42a;font-size:26px;letter-spacing:2px;line-height:1}
.votes{font-size:13px;color:#8a9ac0;margin-top:5px}

/* ── FEATURES COL ────────────────────────────────────────── */
.feat{display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height:1.4;color:#cdd8f5;margin-bottom:7px}
.feat:last-child{margin-bottom:0}
.ck{color:#3de0ff;font-weight:900;font-size:16px;flex-shrink:0;margin-top:1px}

/* ── PAYMENTS COL ────────────────────────────────────────── */
.pm{display:flex;align-items:center;gap:8px;font-size:13px;color:#c8d4f0;margin-bottom:5px}
.pm:last-of-type{margin-bottom:4px}

/* payment icons */
.pm-icon{
  width:26px;height:26px;border-radius:5px;
  display:grid;place-items:center;
  font-size:12px;font-weight:900;flex-shrink:0;line-height:1;
}
.pm-pp{background:#003087;color:#fff}
/* PayPal P using inline SVG */
.pm-visa{background:#1a1f71;color:#fff;font-size:10px;font-style:italic;letter-spacing:-.5px;font-weight:900}
/* MC uses pseudo double circles */
.pm-mc{
  position:relative;overflow:visible;
  background:transparent !important;
  width:32px;
}
.pm-mc::before,.pm-mc::after{
  content:"";
  position:absolute;
  width:18px;height:18px;
  border-radius:50%;
  top:50%;transform:translateY(-50%);
}
.pm-mc::before{left:0;background:#eb001b;opacity:.9}
.pm-mc::after{left:9px;background:#ff5f00;opacity:.9}
.pm-btc{background:#f7931a;color:#fff;font-size:15px}

.pm-more{
  font-size:12px;
  color:#3d8fff;
  text-decoration:underline;
  cursor:pointer;
}
.pm-more:hover{color:#70b8ff}

/* ── CTA COL ─────────────────────────────────────────────── */
.cta-btn{
  display:grid;place-items:center;
  width:100%;min-height:90px;
  background:linear-gradient(160deg,#0fd955,#08a83e);
  border:none;border-radius:10px;
  color:#fff;font-size:24px;font-weight:900;
  letter-spacing:.3px;line-height:1.25;text-align:center;
  text-decoration:none;
  cursor:pointer;
  box-shadow:0 4px 20px #0ad45040;
  transition:filter .15s,transform .12s;
  padding:0 12px;
}
.cta-btn:hover{filter:brightness(1.1);transform:translateY(-2px)}
.cta-btn:active{filter:brightness(.94);transform:translateY(0)}

/* ── TABLET ≤1120px ───────────────────────────────────────── */
@media(max-width:1120px){
  .wrap{padding:6px 20px 36px}
  .card-grid{grid-template-columns:180px 130px 140px 1fr 0 150px}
  .col-pay{display:none}
  .card-grid{grid-template-columns:180px 130px 140px 1fr 150px}
  .hero-text h1{font-size:36px}
  .flag-ring{width:140px;height:140px}
}

/* ── TABLET ≤860px ────────────────────────────────────────── */
@media(max-width:860px){
  .hero{gap:14px}
  .hero-text h1{font-size:26px}
  .flag-ring{width:110px;height:110px}
  .card-grid{
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto auto auto;
    gap:12px 18px;
  }
  .col-logo{grid-column:1;border-left:none;padding-left:0}
  .col-offer{grid-column:2;border-left:none;padding-left:0}
  .col-rating{grid-column:1;border-left:none;padding-left:0;text-align:left}
  .col-features{grid-column:2;border-left:none;padding-left:0}
  .col-pay{display:none}
  .col-cta{grid-column:1/3;border-left:none;padding-left:0}
  .cta-btn{min-height:64px;font-size:20px}
}

/* ── MOBILE ≤580px ────────────────────────────────────────── */
@media(max-width:580px){
  .wrap{padding:6px 12px 28px}
  .hero{flex-direction:column-reverse;align-items:center;padding:20px 0 16px}
  .flag-ring{width:88px;height:88px;padding:8px}
  .hero-text h1{font-size:20px}
  .hero-text p{font-size:13px}
  .trust-row span{font-size:12px}
  .hero small{font-size:12px}

  .card{padding:10px}
  .card-top{margin-bottom:10px}
  .rn{width:36px;height:36px;font-size:18px}
  .rb{font-size:11px;padding:5px 10px}

  .card-grid{
    grid-template-columns:1fr 1fr;
    gap:10px 12px;
  }
  .col-logo{grid-column:1/3}
  .offer-big{font-size:24px}
  .offer-sub{font-size:14px}
  .stars{font-size:20px;letter-spacing:1px}
  .bname-fort,.bname-royal{font-size:20px}
  .bname-fox span.w,.bname-fox span.o{font-size:20px}
  .feat{font-size:12px;gap:6px}
  .cta-btn{font-size:18px;min-height:58px}
}

/* ── SMALL ≤380px ─────────────────────────────────────────── */
@media(max-width:380px){
  .hero-text h1{font-size:16px}
  .bname-fort,.bname-royal{font-size:17px}
  .bname-fox span.w,.bname-fox span.o{font-size:17px}
  .offer-big{font-size:20px}
  .stars{font-size:17px}
  .cta-btn{font-size:16px}
}