:root {
  --bg: #12061a; --elev: #1c0b28; --gold: #F0C75E;
  --neon: #FFB347; --text: #fff6e8; --muted: #c8b0c0;
  --border: rgba(240,199,94,0.35); --display: "Cinzel", serif; --body: "Figtree", sans-serif; --cta: #E9C77B; --cta-t: #2a1500;
}
* { box-sizing: border-box; }
html,body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);}
img{max-width:100%;height:auto;display:block;}
a{color:var(--gold);}
.skip-vip{position:absolute;left:-999px;}
.vip-foil{background:linear-gradient(90deg,#3a120c,#C9B37E 40%,#3a120c); color:var(--cta-t); font-size:12px; padding:6px 16px; text-align:center;}
.vip-18{background:#12060c;color:var(--gold);padding:1px 6px;margin-right:8px;font-weight:700;}
.vip-top{text-align:center;padding:18px 16px 8px;border-bottom:1px solid var(--gold);}
.vip-emblem{display:inline-flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;color:var(--gold);font-family:var(--display);font-size:28px;letter-spacing:.16em;text-transform:uppercase;}
.vip-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:18px;margin:14px 0 8px;}
.vip-tabs a{color:var(--text);text-decoration:none;font-size:12px;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid transparent;padding-bottom:4px;}
.vip-tabs a:hover{border-bottom-color:var(--gold);color:var(--gold);}
.vip-body{display:grid;grid-template-columns:1fr 280px;gap:0;align-items:start;}
.game-wall{padding:24px 28px 120px;min-width:0;}
.rank-dock{background:#1a0a10;border-left:1px solid var(--gold);padding:20px 16px;position:sticky;top:0;min-height:100vh;}
.dock-kicker{font-family:var(--display);letter-spacing:.18em;text-transform:uppercase;color:var(--neon);font-size:11px;margin:0 0 6px;}
.rank-dock h2{font-family:var(--display);font-size:1.1rem;color:var(--gold);margin:0 0 8px;}
.dock-list{list-style:none;padding:0;margin:0 0 16px;}
.dock-list li{display:flex;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #3a1a22;}
.dock-pos{width:22px;height:22px;display:grid;place-items:center;border:1px solid var(--gold);color:var(--gold);font-size:11px;font-family:var(--display);}
.vip-hero figure{margin:0 0 16px;border:2px solid var(--gold);box-shadow:0 0 24px rgba(201,179,126,.3);}
.vip-hero h1{font-family:var(--display);font-size:clamp(2rem,5vw,3.2rem);color:var(--gold);margin:0 0 10px;}
.cat-pills{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0;}
.cat-pills a{border:1px solid var(--gold);padding:6px 12px;text-decoration:none;font-size:12px;letter-spacing:.08em;text-transform:uppercase;}
.wall-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.wall-tile{position:relative;background:var(--elev);border:1px solid var(--border);}
.wall-tile img{height:130px;width:100%;object-fit:cover;}
.wall-tile h3{font-family:var(--display);margin:8px 10px 4px;font-size:1.05rem;}
.wall-tile p{margin:0 10px 10px;font-size:12px;color:var(--muted);}
.vip-badge{position:absolute;top:8px;left:8px;background:var(--gold);color:var(--cta-t);font-size:10px;padding:2px 6px;z-index:1;font-family:var(--display);}
.ficha-row,.ficha-catalog{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.ficha-catalog{grid-template-columns:repeat(3,1fr);}
.member-ficha{background:#1a0a10;border:1px solid var(--gold);padding:0 0 12px;position:relative;}
.member-ficha::before{content:"";position:absolute;left:0;top:0;bottom:0;width:8px;background:var(--gold);}
.member-ficha img{width:100%;}
.member-ficha p,.member-ficha h2,.member-ficha h3,.ficha-id,.member-ficha dl,.ind-tag,.vip-link,.cta-review-wrap{margin-left:18px;margin-right:10px;}
.ficha-id{display:flex;gap:8px;align-items:center;}
.vip-colo{display:grid;grid-template-columns:2fr 1fr;gap:20px;border-top:2px solid var(--gold);padding:20px 28px 120px;font-size:13px;color:var(--muted);}
.vip-colo-brand{font-family:var(--display);color:var(--gold);letter-spacing:.12em;}
.ficha-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:13px;}
.ficha-fields dt{color:var(--muted);} .ficha-fields dd{margin:0;}
.btn-cta{display:inline-flex;align-items:center;gap:8px;background:var(--cta);color:var(--cta-t);text-decoration:none;font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;font-weight:700;padding:12px 18px;border:0;box-shadow:0 0 18px color-mix(in srgb, var(--cta) 65%, transparent);}
.cta-disclosure,.cta-review-disclosure{font-size:11px;color:var(--muted);margin:6px 0 0;}
.cta-sticky{position:fixed;right:16px;bottom:16px;z-index:50;background:#12060c;border:1px solid var(--gold);padding:10px;}
.pill-18-inline{background:var(--neon);color:var(--cta-t);padding:0 5px;font-size:10px;}
.wall-title{font-family:var(--display);color:var(--gold);}
.ind-tag{font-size:10px;color:var(--neon);letter-spacing:.08em;text-transform:uppercase;}
.plat-mark{width:40px;height:40px;object-fit:contain;}
.vip-read{max-width:740px;}
.read-body{line-height:1.7;}
@media(max-width:980px){
  .vip-body{grid-template-columns:1fr;}
  .rank-dock{position:static;min-height:0;border-left:0;border-top:1px solid var(--gold);}
  .wall-grid,.ficha-row,.ficha-catalog{grid-template-columns:1fr 1fr;}
  .vip-colo{grid-template-columns:1fr;padding-bottom:120px;}
}

.club-lobby{margin:20px 0}
.club-stage{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:28px 28px 6px 6px;border:2px solid #FFB347;box-shadow:0 0 0 6px #12061a,0 0 0 8px #7B4BFF}
.club-curtain{flex:0 0 100%;margin:0;scroll-snap-align:start;position:relative}.club-curtain img{width:100%;height:auto;display:block;aspect-ratio:21/9;object-fit:cover}
.club-curtain figcaption{position:absolute;right:18px;top:18px;background:#FFB347;color:#2a1200;font-weight:800;padding:6px 14px;border-radius:999px}
.club-h{text-align:center;color:#FFB347;font-variant:small-caps;letter-spacing:.06em;margin:22px 0 12px}
.club-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.club-medal{margin:0;position:relative;border-radius:50% 50% 14px 14px;overflow:hidden;border:3px solid #FFB347;background:#1e0b2b;box-shadow:0 0 22px #7B4BFF55}
.club-big{grid-column:span 2;grid-row:span 2}
.club-medal img{width:100%;height:auto;display:block;aspect-ratio:1}.club-medal figcaption{position:absolute;bottom:0;left:0;right:0;text-align:center;background:#12061acc;color:#ffd99a;font-weight:700;padding:6px;font-size:.85rem}
.club-seal{position:absolute;top:12px;left:50%;transform:translateX(-50%);background:#7B4BFF;color:#fff;font-size:.66rem;font-weight:800;padding:3px 10px;border-radius:999px}.club-seal.s-destaque,.club-seal.s-top{background:#FFB347;color:#2a1200}
.fichas-belt{position:sticky;bottom:0;z-index:20;display:flex;gap:8px;align-items:center;overflow-x:auto;background:linear-gradient(90deg,#2a0f3d,#12061a);border-top:2px solid #FFB347;padding:10px 14px;margin:20px -12px 0}
.fichas-belt a{white-space:nowrap;color:#fff;text-decoration:none;background:#ffffff10;border-radius:999px;padding:6px 12px;font-weight:700}.fichas-belt span{display:inline-block;background:#FFB347;color:#2a1200;border-radius:50%;width:22px;height:22px;text-align:center;margin-right:6px}
.dock-title{color:#FFB347}.fichas-belt small{color:#c7b0e8;white-space:nowrap}
@media(max-width:760px){.club-gallery{grid-template-columns:repeat(2,1fr)}}
.visit-plat{display:inline-block;margin:6px 0;padding:7px 14px;border-radius:999px;background:#7B4BFF;color:#fff;text-decoration:none;font-weight:700}

/*b3fix*/img{max-width:100%;height:auto}main,main>*,[class*="lightbox"]>*,[class*="split"]>*,[class*="body"]>*{min-width:0}

/* ===== CASINO LOBBY (77Nimbus VIP redo) ===== */
:root { --champ: #E9C77B; --plum: #2a0f3d; }
body.vip-club { background: radial-gradient(1100px 600px at 50% -10%, rgba(123,75,255,.25), transparent 60%), #12061a; }
.sr-title { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.vip-foil { font-size: 11px; padding: 5px 16px; text-align:center; }
.nb-top { display:grid; grid-template-columns: 1fr auto 1fr; align-items:center; padding: 10px 28px 4px; }
.nb-emblem { display:flex; align-items:center; gap: 12px; color: var(--champ); text-decoration:none; font-family: var(--display); font-size: 40px; font-weight: 800; letter-spacing: 1px; text-shadow: 0 2px 14px rgba(233,199,123,.35); }
.nb-emblem b { font-weight: 700; color: #f6e2b0; }
.nb-emblem .ico { color: var(--champ); filter: drop-shadow(0 0 8px rgba(233,199,123,.6)); }
.nb-cta { justify-self: end; }
.btn-cta { display:inline-flex; align-items:center; gap:8px; background: linear-gradient(180deg, #fff0c6, var(--champ) 50%, #b8893a); color: #2a1500; font-family: var(--display); font-weight: 800; text-decoration:none; padding: 12px 22px; border-radius: 999px; letter-spacing: .5px; box-shadow: 0 0 0 1px #fff3 inset, 0 8px 24px rgba(233,199,123,.35); }
.btn-cta-top { padding: 10px 20px; font-size: 14px; }
.nb-nav { display:flex; justify-content:center; align-items:center; gap: 30px; padding: 9px 20px; margin: 4px 28px 0; border-top: 1px solid rgba(233,199,123,.45); border-bottom: 1px solid rgba(233,199,123,.45); background: linear-gradient(90deg, transparent, rgba(233,199,123,.08), transparent); }
.nb-nav a { color: #f6e9cf; text-decoration:none; font-weight: 600; font-size: 15px; letter-spacing: .3px; }
.nb-nav a.nb-small { font-size: 12.5px; color: #c9b6e0; font-weight: 500; }
.nb-sep { color: var(--champ); font-size: 10px; }
body.is-home .vip-body { grid-template-columns: 1fr; }
body.is-home .game-wall { padding: 14px 28px 60px; }
.nb-stage { display:grid; grid-template-columns: 2fr 1fr; gap: 16px; }
.nb-frame { position: relative; border: 2px solid var(--champ); border-radius: 6px; padding: 4px; background: linear-gradient(135deg, #5a3d16, #e9c77b, #5a3d16); box-shadow: 0 0 30px rgba(233,199,123,.18); }
.nb-track { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; background:#000; }
.nb-track::-webkit-scrollbar { display:none; }
.nb-slide { flex: 0 0 100%; margin:0; height: 288px; position:relative; scroll-snap-align: start; }
.nb-slide img { width:100%; height:100%; object-fit:cover; object-position: 60% 40%; }
.nb-slide figcaption { position:absolute; inset: 0; display:flex; flex-direction:column; justify-content:flex-end; gap: 6px; padding: 22px 26px; max-width: 520px; background: linear-gradient(90deg, rgba(18,6,26,.88), rgba(18,6,26,.2) 80%, transparent); }
.nb-slide .nb-kick { color: var(--champ); font-size: 12px; letter-spacing: 2px; text-transform: uppercase; display:flex; gap:6px; align-items:center; }
.nb-slide strong { font-family: var(--display); font-size: 36px; color: #fff; line-height: 1.05; }
.nb-slide em { font-style: normal; font-size: 14px; color: #eadcf3; }
.nb-slide .btn-cta { align-self: flex-start; margin-top: 6px; }
.nb-dots { position:absolute; bottom: 16px; right: 22px; display:flex; gap: 6px; } .nb-dots i { width: 9px; height: 9px; border-radius: 50%; background: #ffffff70; } .nb-dots i:first-child { background: var(--champ); }
.nb-podium { border: 2px solid var(--champ); border-radius: 6px; background: linear-gradient(180deg, #2e1144, #1a0a26); padding: 14px 16px; position:relative; }
.nb-podium::before { content:""; position:absolute; inset: 5px; border: 1px solid rgba(233,199,123,.35); pointer-events:none; }
.nb-podium h2 { margin: 0 0 12px; text-align:center; font-family: var(--display); color: var(--champ); font-size: 24px; }
.nb-podium ol { list-style:none; margin:0; padding:0; display:grid; gap: 10px; }
.nb-podium li { display:grid; grid-template-columns: 56px 1fr; align-items:center; }
.nb-step { height: 46px; display:grid; place-items:center; background: linear-gradient(180deg, #3a1b54, #22102f); border: 1px solid var(--champ); border-bottom: 5px solid #b8893a; font-family: var(--display); font-size: 24px; color: var(--champ); position: relative; }
.nb-step .ico { position:absolute; top: -12px; }
.nb-podium li a { display:flex; flex-direction:column; justify-content:center; height: 46px; padding: 0 12px; background: linear-gradient(180deg, #fbf3e1, #e8dcc2); color: #2a1500; text-decoration:none; border-radius: 0 4px 4px 0; }
.nb-podium li a b { font-size: 15px; } .nb-podium li a small { font-size: 10.5px; color: #6b5432; }
.nb-podium li.p2 { margin-left: 8px; } .nb-podium li.p3 { margin-left: 16px; }
.nb-more { font-size: 12px; color: #d8c8ea; margin: 10px 0 2px; } .nb-more a { color: var(--champ); }
.nb-note { font-size: 10.5px; color: #a993c2; margin: 4px 0 0; }
.nb-wall { margin-top: 14px; border: 1px solid rgba(233,199,123,.5); border-radius: 6px; padding: 8px 12px 12px; background: linear-gradient(180deg, #24103a, #170a24); }
.nb-wall h2 { margin: 0 0 8px; font-family: var(--display); color: #f6e2b0; font-size: 20px; }
.nb-grid { display:grid; grid-template-columns: repeat(7, 1fr); gap: 10px; }
.nb-tile { position:relative; display:block; aspect-ratio: 3/3.4; border: 2px solid var(--champ); border-radius: 6px; overflow: hidden; text-decoration:none; background: #2a0f3d; box-shadow: inset 0 0 0 3px #3a1b54, 0 6px 16px rgba(0,0,0,.4); }
.nb-tile img { width:100%; height:100%; object-fit:cover; }
.nb-tile span { position:absolute; left:0; right:0; bottom:0; padding: 18px 6px 8px; text-align:center; font-family: var(--display); color:#fff; font-size: 13.5px; line-height:1.15; background: linear-gradient(0deg, rgba(26,8,38,.96) 45%, transparent); }
.nb-ribbon { position:absolute; top: 0; left: 50%; transform: translateX(-50%); z-index: 2; font-style: normal; font-family: var(--display); font-weight: 800; font-size: 12px; padding: 3px 16px 6px; color: #fff; clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 78%, 0 100%); }
.nb-ribbon.r-hot { background: linear-gradient(180deg, #e0303a, #8e0f18); } .nb-ribbon.r-novo { background: linear-gradient(180deg, #3a63d8, #1a2f7a); }
.nb-intro { display:grid; grid-template-columns: .9fr 1.1fr; gap: 26px; align-items:center; margin: 26px 0; }
.nb-intro figure { margin:0; border: 2px solid var(--champ); border-radius: 6px; overflow:hidden; } .nb-intro figcaption { font-size: 12px; color:#a993c2; padding: 6px 10px; }
.nb-intro h2 { font-family: var(--display); color: var(--champ); font-size: 28px; margin: 6px 0; }
@media (min-width: 901px) { .cta-sticky { display:none; } }
@media (max-width: 900px) {
  .nb-top { grid-template-columns: 1fr auto; padding: 8px 12px; } .nb-side { display:none; } .nb-emblem { font-size: 26px; } .nb-emblem .ico { width: 26px; height: 26px; }
  .nb-cta .btn-cta-top { padding: 8px 12px; font-size: 12px; }
  .nb-nav { overflow-x:auto; justify-content:flex-start; gap: 18px; margin: 4px 0 0; white-space: nowrap; }
  body.is-home .game-wall { padding: 10px 12px 60px; }
  .nb-stage { grid-template-columns: 1fr; } .nb-slide { height: 300px; } .nb-slide strong { font-size: 28px; }
  .nb-grid { grid-template-columns: repeat(3, 1fr); } .nb-intro { grid-template-columns: 1fr; }
}
.felt-crumbs ol, .neon-crumbs ol, .vip-crumbs ol { display:flex; flex-wrap:wrap; gap: 6px; list-style:none; padding: 0; margin: 12px 0; font-size: 12.5px; }
.felt-crumbs, .neon-crumbs { padding: 0 28px; }
.felt-crumbs li + li::before, .neon-crumbs li + li::before, .vip-crumbs li + li::before { content: "›"; margin-right: 6px; opacity: .6; }
.felt-crumbs a, .neon-crumbs a, .vip-crumbs a { text-decoration: none; }