/* ===============================================================
   Gambiva-style layout, skinned in the Dice Palace palette.
   Layout replicated structurally; branding = Dice Palace;
   copy is placeholder text (not the source site's prose).
   =============================================================== */
:root{
  --bg:#150a1b;
  --bg-2:#1d0f2a;
  --header-a:#6b0a29;
  --header-b:#430619;
  --header-c:#21030d;
  --panel:#281a3a;
  --panel-2:#34244a;
  --panel-3:#40305a;
  --line:#4a2f5e;
  --wine:#7a1236;
  --wine-2:#a01a46;
  --gold:#e8b64e;
  --gold-2:#f6d888;
  --gold-d:#b8842f;
  --green:#2fae5a;
  --cream:#fbf5ed;
  --muted:#b79fbe;
  --muted-2:#8f79a0;
  --radius:12px;
  --radius-lg:16px;
  --tile-ar:226/338;   /* real game-thumbnail aspect ratio (slots + live) */
  --shadow:0 8px 24px rgba(0,0,0,.5);
  --sidebar-w:290px;
  --topbar-h:64px;
  --maxw:1180px;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;overflow-x:hidden;}
body{
  background:var(--bg);
  background-image:
    radial-gradient(circle at 70% -5%, rgba(122,18,54,.28), transparent 45%),
    repeating-linear-gradient(45deg, rgba(255,255,255,.012) 0 2px, transparent 2px 22px);
  color:var(--cream);font-family:"EB Garamond",Georgia,serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4,.serif{font-family:"Cinzel",serif;}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
.gold-text{background:linear-gradient(180deg,#f8e39c,#e8b64e 55%,#b8842f);-webkit-background-clip:text;background-clip:text;color:transparent;}
/* Visually hidden but available to screen readers / crawlers */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ---------------- Top bar ---------------- */
.topbar{
  position:fixed;top:0;left:0;right:0;height:var(--topbar-h);z-index:70;
  background:linear-gradient(180deg,var(--header-b),var(--header-c));
  border-bottom:2px solid transparent;border-image:linear-gradient(90deg,transparent,var(--gold) 30%,var(--gold-2) 50%,var(--gold) 70%,transparent) 1;
  display:flex;align-items:center;gap:14px;padding:0 20px;
}
.topbar .hamburger{width:42px;height:42px;border-radius:10px;background:rgba(0,0,0,.28);border:1px solid rgba(232,182,78,.35);display:none;flex-direction:column;align-items:center;justify-content:center;gap:4px;flex:0 0 auto;}
.topbar .hamburger span{width:18px;height:2px;background:var(--gold-2);border-radius:2px;}
.search{flex:1 1 auto;max-width:520px;margin-left:14px;display:flex;align-items:center;gap:10px;background:rgba(0,0,0,.3);border:1px solid rgba(232,182,78,.28);border-radius:24px;padding:10px 18px;color:var(--muted);font-size:14px;}
/* Logo relocated into the top bar (aligned above the sidebar) */
.topbar-logo{display:flex;align-items:center;gap:9px;flex:0 0 auto;padding:0;width:calc(var(--sidebar-w) - 40px);}
.topbar-logo .die-badge{width:38px;height:38px;filter:drop-shadow(0 3px 4px rgba(0,0,0,.5));}
.topbar-logo .word{display:flex;flex-direction:column;line-height:.9;}
.topbar-logo .word b{font-size:17px;font-weight:800;letter-spacing:1.5px;color:var(--gold-2);}
.topbar-logo .word b:last-child{color:#fff;}
.search svg{width:16px;height:16px;stroke:var(--gold);fill:none;stroke-width:2;flex:0 0 auto;}
.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:10px;}
/* Language switcher */
.lang-switch{display:flex;align-items:center;gap:2px;background:rgba(0,0,0,.28);border:1px solid rgba(232,182,78,.3);border-radius:20px;padding:3px;flex:0 0 auto;}
.lang-switch a{font-family:"Cinzel",serif;font-size:11px;font-weight:600;letter-spacing:.5px;color:var(--muted);padding:5px 9px;border-radius:16px;line-height:1;}
.lang-switch a:hover{color:var(--gold-2);}
.lang-switch a.active{background:linear-gradient(180deg,#f8e39c,#e8b64e 55%,#c9962f);color:#3a0a17;}
/* Sidebar copy of the switcher — shown only on mobile (drawer); topbar copy hidden there */
.side-lang{display:none;margin:14px 0 2px;justify-content:center;}
@media (max-width:900px){
  .topbar .lang-switch{display:none;}
  .side-lang{display:flex;}
}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:24px;font-family:"Cinzel",serif;font-weight:600;font-size:12.5px;letter-spacing:1px;text-transform:uppercase;padding:11px 22px;white-space:nowrap;transition:filter .12s ease,transform .1s ease;}
.btn:hover{filter:brightness(1.08);}
.btn:active{transform:translateY(1px);}
.btn-login{background:rgba(0,0,0,.2);border:1px solid var(--gold);color:var(--gold-2);}
.btn-register{background:linear-gradient(180deg,#f8e39c,#e8b64e 55%,#c9962f);color:#3a0a17;border:1px solid #f6d888;box-shadow:0 3px 10px rgba(232,182,78,.3);}
.btn-play{background:linear-gradient(180deg,#f8e39c,#e8b64e 55%,#c9962f);color:#3a0a17;border:1px solid #f6d888;font-size:15px;padding:16px 42px;box-shadow:0 6px 18px rgba(232,182,78,.4);}

/* ---------------- Sidebar ---------------- */
.sidebar{
  position:fixed;top:var(--topbar-h);left:0;bottom:0;width:var(--sidebar-w);z-index:60;overflow-y:auto;
  background:linear-gradient(180deg,#20122e,#160a20);border-right:1px solid var(--line);padding:16px;
  scrollbar-width:thin;scrollbar-color:var(--wine) transparent;
}
.sidebar::-webkit-scrollbar{width:8px;}
.sidebar::-webkit-scrollbar-thumb{background:var(--wine);border-radius:4px;}
.logo{display:flex;align-items:center;gap:10px;padding:0;}
.logo .die-badge{width:44px;height:44px;flex:0 0 auto;filter:drop-shadow(0 3px 4px rgba(0,0,0,.5));}
.logo .word{display:flex;flex-direction:column;line-height:.9;}
.logo .word b{font-size:20px;font-weight:800;letter-spacing:2px;color:var(--gold-2);}
.logo .word b:last-child{color:#fff;}

.side-bonus{display:block;border-radius:var(--radius);background:linear-gradient(135deg,var(--wine),#4a0c22);border:1px solid var(--gold-d);padding:12px 14px;text-align:center;box-shadow:var(--shadow);}
.side-bonus b{display:block;font-family:"Cinzel",serif;font-size:13px;letter-spacing:1px;color:var(--gold-2);text-transform:uppercase;}
.side-bonus span{display:block;font-size:12.5px;color:#f0c9d6;margin-top:3px;}

.nav{margin-top:14px;display:flex;flex-direction:column;gap:7px;}
.nav a{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid rgba(232,182,78,.1);border-radius:10px;padding:13px 15px;font-family:"Cinzel",serif;font-weight:600;font-size:13px;letter-spacing:.8px;text-transform:uppercase;transition:background .12s,border-color .12s;}
.nav a:hover,.nav a.active{background:linear-gradient(90deg,var(--wine),var(--panel-2));border-color:var(--gold-d);}
.nav a .ic{width:20px;height:20px;flex:0 0 auto;color:var(--gold);}
.nav a .ic svg{width:20px;height:20px;fill:currentColor;}

.side-title{font-family:"Cinzel",serif;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin:18px 4px 10px;}
.pop-games{display:flex;flex-direction:column;gap:8px;}
.pop-game{display:flex;align-items:center;gap:11px;background:var(--panel);border:1px solid rgba(232,182,78,.1);border-radius:10px;padding:9px 11px;}
.pop-game:hover{background:var(--panel-2);}
.pop-thumb{width:40px;height:40px;border-radius:8px;flex:0 0 auto;background:linear-gradient(160deg,#3a2450,#241432);border:1px solid rgba(232,182,78,.2);display:flex;align-items:center;justify-content:center;}
.pop-thumb svg{width:20px;height:20px;stroke:var(--gold-2);fill:none;stroke-width:1.6;}
.pop-thumb img{width:100%;height:100%;object-fit:cover;border-radius:8px;}
.pop-game .meta{flex:1;min-width:0;}
.pop-game .meta b{display:block;font-family:"Cinzel",serif;font-size:12.5px;color:var(--cream);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pop-game .meta span{font-size:12px;color:var(--muted);}
.pop-game .go{width:26px;height:26px;border-radius:50%;background:linear-gradient(180deg,#f8e39c,#e8b64e 55%,#c9962f);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.pop-game .go svg{width:12px;height:12px;fill:#3a0a17;margin-left:2px;}

.side-btns{margin-top:16px;display:flex;flex-direction:column;gap:8px;}
.side-btns a{display:flex;align-items:center;justify-content:space-between;background:var(--panel);border:1px solid rgba(232,182,78,.1);border-radius:10px;padding:13px 15px;font-family:"Cinzel",serif;font-weight:600;font-size:13px;letter-spacing:.8px;text-transform:uppercase;}
.side-btns a:hover{background:var(--panel-2);}
.side-btns .bubble{width:30px;height:30px;border-radius:50%;background:var(--wine);display:flex;align-items:center;justify-content:center;font-size:15px;}

/* ---------------- Main ---------------- */
.main{margin-left:var(--sidebar-w);padding:calc(var(--topbar-h) + 20px) 26px 40px;}
.wrap{max-width:var(--maxw);margin:0 auto;}
.section{margin-top:34px;}
.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.section-head h2{margin:0;font-size:22px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--cream);}
.view-all{font-family:"Cinzel",serif;font-size:11.5px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--gold-2);border:1px solid var(--gold-d);border-radius:20px;padding:7px 16px;}
.view-all:hover{background:var(--wine);color:#fff;}

/* Hero */
.hero{position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:420px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;padding:50px clamp(30px,6vw,72px);border:1px solid rgba(232,182,78,.35);box-shadow:var(--shadow);
  background:radial-gradient(120% 120% at 20% 0%,#5a1030 0%,#3a0a20 45%,#1a0612 100%);}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 120%, rgba(232,182,78,.18), transparent 55%);pointer-events:none;}
.hero-art{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;opacity:1;}
.hero-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;background:
  linear-gradient(90deg, rgba(20,6,15,.78) 0%, rgba(20,6,15,.58) 32%, rgba(20,6,15,.16) 62%, transparent 82%),
  linear-gradient(180deg, rgba(20,6,15,.32), transparent 38% 68%, rgba(20,6,15,.48));}
.hero-inner{position:relative;z-index:2;max-width:560px;}
.hero .hero-title{font-family:"Cinzel",serif;font-size:52px;line-height:1.02;font-weight:900;margin:0 0 18px;text-shadow:0 3px 14px rgba(0,0,0,.5);}
.hero .offer{font-family:"Cinzel",serif;font-size:30px;font-weight:800;letter-spacing:.5px;margin:0 0 26px;text-transform:uppercase;}
.hero .terms{margin-top:14px;font-size:13px;color:var(--muted);}

/* Panels */
.panel{background:linear-gradient(135deg,var(--panel),var(--panel-2));border:1px solid var(--gold-d);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:26px 28px;}
.panel.pay-panel{margin-top:22px;text-align:center;}
.panel.pay-panel .p-title{font-family:"Cinzel",serif;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--gold-2);margin-bottom:18px;font-size:16px;}
.pay-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center;}
.pay{background:rgba(0,0,0,.3);border:1px solid rgba(232,182,78,.22);border-radius:8px;height:44px;min-width:76px;padding:0 16px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12.5px;color:var(--cream);letter-spacing:.3px;}

/* Feature strips (3 across) */
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px;}
.feature{background:var(--panel);border:1px solid rgba(232,182,78,.15);border-radius:var(--radius);padding:20px;display:flex;gap:14px;align-items:flex-start;}
.feature .fi{width:42px;height:42px;flex:0 0 auto;border-radius:10px;background:linear-gradient(135deg,var(--wine),#4a0c22);display:flex;align-items:center;justify-content:center;}
.feature .fi svg{width:22px;height:22px;stroke:var(--gold-2);fill:none;stroke-width:2;}
.feature b{font-family:"Cinzel",serif;font-size:15px;color:var(--gold-2);display:block;margin-bottom:4px;}
.feature p{margin:0;font-size:14px;color:var(--muted);}

/* Game grid */
.grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;}
.card{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:var(--tile-ar);background:linear-gradient(135deg,rgba(232,182,78,.06),transparent 60%),linear-gradient(160deg,#2a1a3e,#1b1029);border:1px solid rgba(232,182,78,.18);box-shadow:0 6px 14px rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;transition:transform .15s,border-color .15s;}
.card:hover{transform:translateY(-4px);border-color:var(--gold);}
.card .ph-ico{width:38%;max-width:70px;opacity:.35;}
.card .ph-ico svg{width:100%;stroke:var(--gold-2);fill:none;stroke-width:1.5;}
.card .cap{position:absolute;left:0;right:0;bottom:0;padding:20px 8px 8px;background:linear-gradient(180deg,transparent,rgba(13,4,10,.85));text-align:center;}
.card .cap b{display:block;font-family:"Cinzel",serif;font-size:12px;color:var(--cream);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.card .cap span{font-size:11px;color:var(--muted);}
.card .tile-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;}
/* Hover play overlay for image tiles */
.card .play-ov{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 50%,rgba(42,10,20,.35),rgba(13,4,10,.7));opacity:0;transition:opacity .15s;}
.card:hover .play-ov{opacity:1;}
.card .play-btn{width:52px;height:52px;border-radius:50%;background:linear-gradient(180deg,#f8e39c,#e8b64e 55%,#c9962f);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(0,0,0,.5);transform:scale(.82);transition:transform .15s;}
.card:hover .play-btn{transform:scale(1);}
.card .play-btn svg{width:20px;height:20px;fill:#3a0a17;margin-left:3px;}

/* Game of the week */
.gotw{display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:center;margin-top:22px;}
.gotw .art{aspect-ratio:var(--tile-ar);border-radius:var(--radius);overflow:hidden;background:linear-gradient(160deg,#3a2450,#241432);border:1px solid var(--gold-d);display:flex;align-items:center;justify-content:center;}
.gotw .art svg{width:40%;stroke:var(--gold-2);fill:none;stroke-width:1.4;}
.gotw .art img{width:100%;height:100%;object-fit:cover;}
.gotw h3{font-size:24px;margin:0 0 8px;color:var(--gold-2);}
.gotw p{color:var(--muted);margin:0 0 18px;font-size:15px;}

/* Prose / review */
.prose{max-width:900px;}
.prose h2{font-size:24px;margin:30px 0 12px;letter-spacing:.5px;}
.prose h3{font-size:19px;color:var(--gold-2);margin:24px 0 10px;}
.prose p{color:var(--cream);font-size:16px;line-height:1.7;margin:0 0 14px;}
.prose ul{margin:0 0 16px;padding-left:20px;list-style:none;}
.prose ul li{position:relative;padding-left:24px;margin-bottom:8px;color:var(--cream);}
.prose ul li::before{content:"◆";position:absolute;left:0;color:var(--gold);font-size:12px;top:3px;}
.prose .muted{color:var(--muted);}
.prose .legal-note{background:var(--panel);border-left:3px solid var(--gold);border-radius:8px;padding:14px 18px;margin:0 0 22px;color:var(--muted);font-size:14.5px;line-height:1.6;}
.prose .legal-note strong{color:var(--gold-2);}
.prose .lead{color:var(--muted);font-size:14.5px;margin:-4px 0 20px;}

/* Tables */
.table-wrap{overflow-x:auto;margin:0 0 20px;border-radius:var(--radius);border:1px solid var(--line);}
table{width:100%;border-collapse:collapse;min-width:520px;background:var(--panel);}
thead th{background:linear-gradient(180deg,var(--wine),#4a0c22);color:var(--gold-2);font-family:"Cinzel",serif;font-size:12.5px;letter-spacing:.6px;text-transform:uppercase;text-align:left;padding:13px 16px;}
tbody td{padding:12px 16px;font-size:14.5px;border-top:1px solid var(--line);color:var(--cream);}
tbody tr:nth-child(even){background:rgba(255,255,255,.02);}
tbody tr:hover{background:rgba(232,182,78,.05);}
td .tag{display:inline-block;font-size:11px;font-weight:700;color:#3a0a17;background:linear-gradient(180deg,#f8e39c,#e8b64e);border-radius:12px;padding:2px 10px;}

/* Pros & cons */
.proscons{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:8px 0 16px;}
.pc{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;}
.pc h4{margin:0 0 12px;font-size:16px;letter-spacing:1px;text-transform:uppercase;}
.pc.pros h4{color:var(--green);}
.pc.cons h4{color:#e88;}
.pc ul{list-style:none;padding:0;}
.pc li{position:relative;padding-left:26px;margin-bottom:9px;font-size:14.5px;color:var(--cream);}
.pc.pros li::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:900;}
.pc.cons li::before{content:"✕";position:absolute;left:0;color:#e88;font-weight:900;}

/* Providers grid */
.providers{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;}
.provider{height:64px;border-radius:10px;background:var(--panel);border:1px solid rgba(232,182,78,.14);display:flex;align-items:center;justify-content:center;color:var(--muted-2);font-family:"Cinzel",serif;font-size:12px;letter-spacing:.5px;}
.provider:hover{border-color:var(--gold-d);color:var(--cream);}

/* Promotions cards (compact, highlighted bonus amount) */
.promos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:6px;}
.promo-card{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;gap:8px;
  background:linear-gradient(160deg,var(--panel-2),var(--panel));border:1px solid var(--gold-d);border-radius:var(--radius);
  padding:16px 16px 14px;box-shadow:var(--shadow);transition:transform .15s,border-color .15s;color:var(--cream);}
.promo-card::before{content:"";position:absolute;right:-34px;top:-34px;width:120px;height:120px;border-radius:50%;
  background:radial-gradient(circle,rgba(232,182,78,.16),transparent 70%);pointer-events:none;}
.promo-card:hover{transform:translateY(-4px);border-color:var(--gold);}
.promo-top{display:flex;align-items:center;gap:10px;width:100%;position:relative;}
.promo-ic{width:42px;height:42px;flex:0 0 auto;border-radius:11px;background:linear-gradient(135deg,var(--wine),#4a0c22);display:flex;align-items:center;justify-content:center;}
.promo-ic svg{width:22px;height:22px;stroke:var(--gold-2);fill:none;stroke-width:1.8;}
.promo-cat{margin-left:auto;font-family:"Cinzel",serif;font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;
  color:var(--gold-2);background:rgba(232,182,78,.12);border:1px solid rgba(232,182,78,.3);border-radius:20px;padding:4px 10px;}
.promo-name{font-family:"Cinzel",serif;font-size:14px;font-weight:700;color:var(--cream);margin:4px 0 0;}
.promo-amt{font-family:"Cinzel",serif;font-size:21px;font-weight:900;line-height:1.12;margin:-2px 0 0;}
.promo-desc{font-size:12.5px;color:var(--muted);}
.promo-cta{margin-top:auto;display:inline-flex;align-items:center;gap:7px;font-family:"Cinzel",serif;font-size:11px;font-weight:700;
  letter-spacing:.8px;text-transform:uppercase;color:#3a0a17;background:linear-gradient(180deg,#f8e39c,#e8b64e 55%,#c9962f);
  border:1px solid #f6d888;border-radius:20px;padding:9px 18px;box-shadow:0 3px 10px rgba(232,182,78,.3);}
.promo-cta svg{width:12px;height:12px;fill:#3a0a17;}
.promo-card:hover .promo-cta{filter:brightness(1.07);}
@media (max-width:1100px){.promos{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.promos{grid-template-columns:1fr;}}

/* Callout / verdict */
.verdict{background:linear-gradient(120deg,var(--wine),#4a0c22 60%,#2a0814);border:1px solid var(--gold-d);border-radius:var(--radius-lg);padding:28px 30px;margin-top:22px;}
.verdict h2{margin:0 0 10px;color:var(--gold-2);}
.verdict p{color:var(--cream);margin:0;font-size:16px;line-height:1.7;}

/* ---------------- Footer ---------------- */
.footer{margin-left:var(--sidebar-w);background:linear-gradient(180deg,#2a0814,#160510);border-top:2px solid transparent;border-image:linear-gradient(90deg,transparent,var(--gold) 30%,var(--gold-2) 50%,var(--gold) 70%,transparent) 1;padding:40px 26px 30px;}
.footer-inner{max-width:var(--maxw);margin:0 auto;}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:28px;}
.footer-brand p{color:var(--muted);font-size:14px;line-height:1.6;margin:12px 0 0;max-width:280px;}
.footer-cols h4{font-size:14px;letter-spacing:1px;text-transform:uppercase;color:var(--gold-2);margin:0 0 14px;}
.footer-cols a{display:block;color:var(--muted);font-size:14px;padding:4px 0;}
.footer-cols a:hover{color:var(--gold-2);}
.footer-legal{margin-top:30px;padding-top:22px;border-top:1px solid rgba(232,182,78,.15);display:flex;gap:18px;align-items:center;flex-wrap:wrap;justify-content:space-between;}
.footer-legal p{color:var(--muted-2);font-size:13px;line-height:1.6;margin:0;flex:1;min-width:260px;}
.badges{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.badge{background:rgba(0,0,0,.3);border:1px solid rgba(232,182,78,.25);border-radius:8px;padding:8px 12px;font-size:12px;font-weight:700;color:var(--cream);}
.badge-18{width:42px;height:42px;border-radius:50%;border:2px solid var(--gold);color:var(--gold-2);display:flex;align-items:center;justify-content:center;font-family:"Cinzel",serif;font-weight:900;font-size:14px;}

.overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:55;opacity:0;visibility:hidden;transition:opacity .2s;}
.overlay.open{opacity:1;visibility:visible;}
.support-fab{position:fixed;right:18px;bottom:18px;z-index:50;background:linear-gradient(180deg,#f8e39c,#e8b64e 55%,#c9962f);color:#3a0a17;border-radius:24px;padding:12px 20px;display:flex;align-items:center;gap:8px;font-family:"Cinzel",serif;font-weight:700;font-size:13px;box-shadow:var(--shadow);}
.support-fab svg{width:18px;height:18px;fill:#3a0a17;}

/* ---------------- Responsive ---------------- */
@media (max-width:1100px){
  .grid{grid-template-columns:repeat(4,1fr);}
  .providers{grid-template-columns:repeat(4,1fr);}
  .footer-top{grid-template-columns:1fr 1fr 1fr;}
}
@media (max-width:900px){
  .topbar .hamburger{display:flex;}
  .search{margin-left:0;}
  .topbar-logo{width:auto;}
  .sidebar{transform:translateX(-100%);transition:transform .25s ease;}
  .sidebar.open{transform:translateX(0);}
  .main,.footer{margin-left:0;}
  .hero{align-items:center;text-align:center;}
  .hero-art{object-position:50% 38%;}
  .hero-scrim{background:linear-gradient(180deg,rgba(20,6,15,.52),rgba(20,6,15,.34) 42%,rgba(20,6,15,.56));}
  .features{grid-template-columns:1fr;}
  .gotw{grid-template-columns:1fr;}
  .gotw .art{max-width:220px;margin:0 auto;}
  .proscons{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr 1fr;}
}
@media (max-width:640px){
  .topbar{padding:0 12px;gap:8px;}
  .search{display:none;}
  .btn{padding:8px 11px;font-size:10px;letter-spacing:.3px;}
  .topbar-logo .die-badge{width:32px;height:32px;}
  .topbar-logo .word b{font-size:14px;letter-spacing:1px;}
  .main{padding:calc(var(--topbar-h) + 14px) 14px 30px;}
  .grid{grid-template-columns:repeat(2,1fr);}
  .providers{grid-template-columns:repeat(3,1fr);}
  .hero .hero-title{font-size:32px;}
  .hero .offer{font-size:20px;}
  .hero{min-height:320px;padding:36px 18px;}
  .section-head h2{font-size:18px;}
  .footer-top{grid-template-columns:1fr;}
}
/* Very small phones: keep the top bar (logo + CTAs) fitting */
@media (max-width:380px){
  .topbar{gap:6px;padding:0 8px;}
  .topbar .hamburger{width:38px;height:38px;}
  .btn{padding:7px 9px;font-size:9px;letter-spacing:.3px;}
  .topbar-logo{gap:6px;}
  .topbar-logo .die-badge{width:27px;height:27px;}
  .topbar-logo .word b{font-size:11.5px;letter-spacing:.4px;}
}
