
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --bg:#111;--bg2:#181818;--bg3:#1e1e1e;
  --blue:#5ce1e6;
  --blue-shine:linear-gradient(135deg,#2af0f6 0%,#5ce1e6 30%,#1ab8c4 55%,#7efbff 75%,#2af0f6 100%);
  --blue-glow:rgba(92,225,230,0.2);
  --gold-shine:linear-gradient(135deg,#BF953F 0%,#FCF6BA 40%,#B38728 60%,#FBF5B7 80%,#AA771C 100%);
  --gold-text:#E8C96D;
  --white:#fff;--muted:#555;--border:rgba(92,225,230,0.12);
  --font:'Poppins',sans-serif;
}
.ww{font-family:var(--font);background:var(--bg);color:#ccc;overflow-x:hidden;}

/* ── ANIMATIONS ── */
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
@keyframes shimmer{0%{background-position:200% center;}100%{background-position:-200% center;}}
@keyframes pulse-ring{0%{transform:scale(0.95);box-shadow:0 0 0 0 rgba(92,225,230,0.4);}70%{transform:scale(1);box-shadow:0 0 0 16px rgba(92,225,230,0);}100%{transform:scale(0.95);box-shadow:0 0 0 0 rgba(92,225,230,0);}}
@keyframes scan{0%{transform:translateY(-100%);}100%{transform:translateY(100vh);}}
@keyframes fadeUp{from{opacity:0;transform:translateY(32px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes glow-pulse{0%,100%{text-shadow:0 0 20px rgba(92,225,230,0.4);}50%{text-shadow:0 0 40px rgba(92,225,230,0.8),0 0 80px rgba(92,225,230,0.3);}}
@keyframes border-run{0%{background-position:0% 50%;}50%{background-position:100% 50%;}100%{background-position:0% 50%;}}

/* FADE-UP ON SCROLL */
.fade-up{opacity:0;transform:translateY(40px);transition:opacity 0.7s ease,transform 0.7s ease;}
.fade-up.visible{opacity:1;transform:translateY(0);}
.fade-up.d1{transition-delay:0.1s;}.fade-up.d2{transition-delay:0.2s;}
.fade-up.d3{transition-delay:0.3s;}.fade-up.d4{transition-delay:0.4s;}

/* ── NAV ── */
.ww-nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:rgba(10,10,10,0.92);backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 48px;height:68px;
  transition:border-color 0.3s;
}
.ww-nav img{height:48px;filter:drop-shadow(0 0 8px rgba(92,225,230,0.3));}
.ww-nav-links{display:flex;align-items:center;gap:40px;}
.ww-nav-links a{font-size:11px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;color:#555;text-decoration:none;transition:color 0.2s;}
.ww-nav-links a:hover{color:#fff;}
.ww-nav-btn{
  font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  padding:10px 26px;border-radius:3px;text-decoration:none;color:#111 !important;
  background:var(--blue-shine);background-size:200% auto;
  animation:shimmer 4s linear infinite;
  transition:transform 0.2s,box-shadow 0.2s;
}
.ww-nav-btn:hover{transform:translateY(-1px);box-shadow:0 4px 20px rgba(92,225,230,0.4);}

/* ── HERO ── */
.ww-hero{
  min-height:100vh;padding:140px 40px 100px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;position:relative;overflow:hidden;
  background:radial-gradient(ellipse 120% 80% at 50% 0%,#0d1f21 0%,var(--bg) 60%);
}
/* animated scan line */
.ww-hero::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,rgba(92,225,230,0.6),transparent);
  animation:scan 8s linear infinite;pointer-events:none;
}
/* grid overlay */
.ww-hero-grid{
  position:absolute;inset:0;
  background-image:linear-gradient(rgba(92,225,230,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(92,225,230,0.03) 1px,transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 30%,transparent 100%);
  pointer-events:none;
}
.ww-hero-logo{margin-bottom:44px;animation:float 6s ease-in-out infinite;}
.ww-hero-logo img{
  height:96px;
  filter:drop-shadow(0 0 32px rgba(92,225,230,0.5)) drop-shadow(0 0 8px rgba(92,225,230,0.3));
}
.ww-divider{display:flex;align-items:center;gap:14px;justify-content:center;margin-bottom:28px;}
.ww-divider-line{width:40px;height:1px;background:linear-gradient(90deg,transparent,var(--blue));}
.ww-divider-line.r{background:linear-gradient(90deg,var(--blue),transparent);}
.ww-divider span{font-size:10px;font-weight:500;letter-spacing:5px;text-transform:uppercase;color:var(--blue);}
.ww-hero h1{
  font-size:clamp(42px,7vw,80px);font-weight:800;line-height:1.05;
  color:#fff;margin-bottom:20px;letter-spacing:-1.5px;
  animation:fadeUp 1s ease 0.3s both;
}
.ww-hero h1 .shine-blue{
  background:var(--blue-shine);background-size:200% auto;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  animation:shimmer 3s linear infinite,glow-pulse 3s ease-in-out infinite;
}
.ww-hero-sub{
  font-size:16px;font-weight:300;color:#b0b0b0;max-width:480px;
  margin:0 auto 52px;line-height:1.8;
  animation:fadeUp 1s ease 0.5s both;
}
.ww-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:28px;animation:fadeUp 1s ease 0.7s both;}
.ww-btn-blue{
  font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;
  padding:16px 44px;border-radius:3px;text-decoration:none;color:#0a1a1b;border:none;cursor:pointer;
  background:var(--blue-shine);background-size:200% auto;
  box-shadow:0 4px 28px rgba(92,225,230,0.35);
  animation:shimmer 3s linear infinite;
  transition:transform 0.25s,box-shadow 0.25s;display:inline-block;
}
.ww-btn-blue:hover{transform:translateY(-2px);box-shadow:0 8px 40px rgba(92,225,230,0.55);}
.ww-btn-ghost{
  font-size:11px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;
  padding:15px 44px;border-radius:3px;text-decoration:none;color:#aaa;
  border:1px solid rgba(92,225,230,0.2);background:transparent;cursor:pointer;
  transition:all 0.25s;display:inline-block;
}
.ww-btn-ghost:hover{border-color:var(--blue);color:var(--blue);box-shadow:0 0 20px rgba(92,225,230,0.1);}
.ww-invite{
  font-size:11px;letter-spacing:3px;text-transform:uppercase;
  background:var(--gold-shine);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  background-size:200% auto;animation:shimmer 4s linear infinite;
  animation:fadeIn 1s ease 1s both,shimmer 4s linear 1s infinite;
}

/* ── SECTIONS ── */
.ww-s{padding:100px 40px;}
.ww-s2{background:var(--bg2);}
.ww-c{max-width:1080px;margin:0 auto;}
.ww-sh{margin-bottom:60px;}
.ww-eyebrow{
  font-size:10px;font-weight:600;letter-spacing:4px;text-transform:uppercase;
  margin-bottom:16px;display:flex;align-items:center;gap:12px;
}
.ww-eyebrow-blue{color:var(--blue);}
.ww-eyebrow-blue::after{content:'';flex:0 0 32px;height:1px;background:var(--blue);opacity:0.4;}
.ww-eyebrow-gold{color:var(--gold-text);}
.ww-eyebrow-gold::after{content:'';flex:0 0 32px;height:1px;background:var(--gold-text);opacity:0.4;}
.ww-s h2{font-size:clamp(28px,3.5vw,46px);font-weight:700;color:#fff;line-height:1.1;letter-spacing:-0.5px;}
.ww-s-intro{font-size:15px;color:#999;line-height:1.8;max-width:500px;margin-top:14px;font-weight:300;}

/* ── SERVICE GRID ── */
.ww-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(92,225,230,0.06);}
.ww-tile{
  background:var(--bg3);padding:40px 32px;position:relative;overflow:hidden;
  transition:background 0.3s;cursor:default;
}
.ww-tile::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:transparent;
  transition:background 0.4s;
}
.ww-tile:hover{background:#1c2c2e;}
.ww-tile:hover::before{background:var(--blue-shine);background-size:200% auto;}
/* blue glow corner on hover */
.ww-tile::after{
  content:'';position:absolute;top:-40px;right:-40px;
  width:100px;height:100px;border-radius:50%;
  background:radial-gradient(circle,rgba(92,225,230,0.08) 0%,transparent 70%);
  opacity:0;transition:opacity 0.4s;
}
.ww-tile:hover::after{opacity:1;}
.ww-tile-n{
  font-size:11px;font-weight:600;letter-spacing:3px;margin-bottom:20px;
  background:var(--blue-shine);background-size:200% auto;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  animation:shimmer 4s linear infinite;opacity:0.6;
}
.ww-tile h3{font-size:14px;font-weight:600;color:#fff;margin-bottom:10px;letter-spacing:0.3px;}
.ww-tile p{font-size:13px;color:#999;line-height:1.7;font-weight:300;}

/* ── STEPS ── */
.ww-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:56px;position:relative;}
.ww-steps::before{
  content:'';position:absolute;top:28px;left:12%;right:12%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(92,225,230,0.2),var(--blue),rgba(92,225,230,0.2),transparent);
}
.ww-step-n{
  font-size:52px;font-weight:800;line-height:1;margin-bottom:14px;
  background:var(--blue-shine);background-size:200% auto;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  animation:shimmer 4s linear infinite;
}
.ww-step-rule{width:28px;height:2px;background:rgba(92,225,230,0.3);margin-bottom:20px;}
.ww-step h3{font-size:13px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#fff;margin-bottom:10px;}
.ww-step p{font-size:13px;color:#aaa;line-height:1.75;font-weight:300;}

/* ── STAT BAR ── */
.ww-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(92,225,230,0.06);margin-top:80px;}
.ww-stat{
  background:var(--bg2);padding:40px;text-align:center;
  border-bottom:2px solid transparent;
  transition:border-color 0.3s,background 0.3s;
}
.ww-stat:hover{background:#1a2426;border-bottom-color:var(--blue);}
.ww-stat-val{
  font-size:42px;font-weight:800;line-height:1;
  background:var(--blue-shine);background-size:200% auto;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  animation:shimmer 3s linear infinite;margin-bottom:8px;
}
.ww-stat-label{font-size:11px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:#aaa;}

/* ── PLATFORMS ── */
.ww-platforms{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px;}
.ww-plat{
  background:var(--bg3);border:1px solid rgba(92,225,230,0.08);
  border-radius:4px;padding:36px;position:relative;overflow:hidden;
  transition:border-color 0.3s,box-shadow 0.3s;
}
.ww-plat:hover{border-color:rgba(92,225,230,0.25);box-shadow:0 0 32px rgba(92,225,230,0.06);}
.ww-plat::after{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:var(--blue-shine);background-size:200% auto;
  animation:shimmer 4s linear infinite;
}
.ww-plat h3{font-size:10px;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:var(--blue);margin-bottom:24px;}
.ww-plat li{list-style:none;font-size:13px;color:#bbb;padding:9px 0;border-bottom:1px solid rgba(255,255,255,0.03);font-weight:300;display:flex;align-items:center;gap:10px;}
.ww-plat li:last-child{border:none;}
.ww-plat li::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--blue);opacity:0.5;flex-shrink:0;}

/* ── FINAL CTA ── */
.ww-final{
  text-align:center;padding:120px 40px;
  background:radial-gradient(ellipse 80% 60% at 50% 50%,#0a1f22 0%,var(--bg) 70%);
  border-top:1px solid rgba(92,225,230,0.15);
  position:relative;overflow:hidden;
}
.ww-final-ring{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:600px;height:600px;border-radius:50%;
  border:1px solid rgba(92,225,230,0.05);
  animation:pulse-ring 4s ease-out infinite;
  pointer-events:none;
}
.ww-final-ring2{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:400px;height:400px;border-radius:50%;
  border:1px solid rgba(92,225,230,0.07);
  animation:pulse-ring 4s ease-out 1s infinite;
  pointer-events:none;
}
.ww-final-logo{margin-bottom:40px;position:relative;}
.ww-final-logo img{height:64px;filter:drop-shadow(0 0 24px rgba(92,225,230,0.4));}
.ww-final h2{font-size:clamp(26px,3.5vw,44px);font-weight:700;color:#fff;margin-bottom:14px;letter-spacing:-0.5px;position:relative;}
.ww-final p{font-size:13px;color:#555;margin-bottom:44px;letter-spacing:1px;position:relative;}
/* gold CTA on final section for contrast */
.ww-btn-gold-shine{
  font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;
  padding:16px 44px;border-radius:3px;text-decoration:none;color:#111;border:none;cursor:pointer;
  background:var(--gold-shine);background-size:200% auto;
  box-shadow:0 4px 28px rgba(191,149,63,0.3);
  animation:shimmer 4s linear infinite;
  transition:transform 0.25s,box-shadow 0.25s;display:inline-block;position:relative;
}
.ww-btn-gold-shine:hover{transform:translateY(-2px);box-shadow:0 8px 40px rgba(191,149,63,0.5);}

@media(max-width:900px){.ww-grid{grid-template-columns:1fr 1fr;}.ww-stats{grid-template-columns:1fr 1fr;}}
@media(max-width:640px){
  .ww-nav-links{display:none;}.ww-grid,.ww-stats{grid-template-columns:1fr;}
  .ww-steps{grid-template-columns:1fr;gap:40px;}.ww-steps::before{display:none;}
  .ww-platforms{grid-template-columns:1fr;}.ww-btns{flex-direction:column;align-items:center;}
  .ww-s{padding:72px 24px;}
}


/* =====================================================
   WHALEWIZ MEMBER DASHBOARD — additional styles
   ===================================================== */

/* Dashboard layout */
.ww-dash-wrap { min-height:100vh; background:#111; }
.ww-dash { display:flex; min-height:100vh; background:#111; }
/* Pill nav background matches dashboard — no gap */
.ww-mobile-topnav { background:#111; border-bottom:1px solid rgba(92,225,230,.1); }

/* Sidebar nav */
.ww-dash-nav {
  width:240px; flex-shrink:0;
  background:var(--bg2);
  border-right:1px solid var(--border);
  display:flex; flex-direction:column;
  padding:24px 0;
  position:sticky; top:0; height:100vh; overflow-y:auto;
}
.ww-dash-logo { padding:0 24px 24px; border-bottom:1px solid var(--border); margin-bottom:16px; }
.ww-dash-nav-list { list-style:none; padding:0 12px; margin:0; flex:1; }
.ww-dash-nav-list li { margin-bottom:2px; }
.ww-nav-item {
  width:100%; background:none; border:none; cursor:pointer;
  color:rgba(255,255,255,.45); font-family:var(--font); font-size:13px; font-weight:500;
  padding:10px 14px; border-radius:6px; text-align:left;
  display:flex; align-items:center; gap:10px;
  transition:all .2s; position:relative;
}
.ww-nav-item:hover { background:rgba(92,225,230,.06); color:rgba(255,255,255,.8); }
.ww-nav-item--active { background:rgba(92,225,230,.1); color:var(--blue) !important; }
.ww-badge-dot {
  background:var(--blue); color:#111; font-size:10px; font-weight:700;
  padding:1px 6px; border-radius:999px; margin-left:auto;
}
.ww-dash-nav-bottom { padding:16px 12px 0; border-top:1px solid var(--border); margin-top:auto; }
.ww-wiz-float-small {
  width:100%; background:rgba(250,187,23,.06); border:1px solid rgba(250,187,23,.2);
  border-radius:8px; padding:10px 14px; cursor:pointer; color:var(--gold-text);
  font-family:var(--font); font-size:12px; font-weight:500;
  display:flex; align-items:center; gap:10px; transition:.2s;
}
.ww-wiz-float-small:hover { background:rgba(250,187,23,.1); }

/* Main content */
.ww-dash-main { flex:1; overflow-y:auto; padding:40px; min-width:0; }
.ww-section { display:none; }
.ww-section--active { display:block; }
.ww-section-header {
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:32px; flex-wrap:wrap; gap:12px;
}
.ww-section-header h1 {
  font-size:clamp(22px,3vw,32px); font-weight:700; color:#fff;
  margin:0; letter-spacing:-.3px;
}
.ww-section-sub { color:rgba(255,255,255,.45); font-size:13px; margin-top:4px; }

/* Cards */
.ww-dash-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.ww-card {
  background:var(--bg3); border:1px solid var(--border); border-radius:12px;
  padding:28px; transition:border-color .2s;
}
.ww-card:hover { border-color:rgba(92,225,230,.18); }
.ww-card--wide { grid-column:1/-1; }
.ww-card--tier { border-top:2px solid var(--blue); }
.ww-card--wizard { border-top:2px solid var(--gold-text); }
.ww-card-eyebrow {
  font-size:10px; font-weight:600; letter-spacing:3px; text-transform:uppercase;
  color:rgba(255,255,255,.35); margin-bottom:16px;
}
.ww-card-sub { font-size:12px; color:rgba(255,255,255,.4); margin-top:8px; }

/* Tier display */
.ww-tier-display { display:flex; align-items:center; gap:16px; margin-bottom:20px; }
.ww-tier-badge {
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 16px; border-radius:999px; border:1px solid; font-size:13px; font-weight:700;
}
.ww-tier-pts { font-size:28px; font-weight:800; color:#fff; }
.ww-progress-wrap { margin-top:4px; }
.ww-progress-bar { height:4px; background:rgba(255,255,255,.08); border-radius:999px; overflow:hidden; margin-bottom:6px; }
.ww-progress-fill { height:100%; background:var(--blue-shine); background-size:200% auto; animation:shimmer 3s linear infinite; border-radius:999px; transition:width .6s ease; }
.ww-progress-label { font-size:11px; color:rgba(255,255,255,.4); }

/* Value big */
.ww-value-big {
  font-size:40px; font-weight:800; line-height:1;
  background:var(--gold-shine); background-size:200% auto;
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  animation:shimmer 4s linear infinite;
}

/* Wizard card */
.ww-wizard-row { display:flex; align-items:center; gap:14px; margin-bottom:20px; }
.ww-wiz-avatar { width:48px; height:48px; border-radius:50%; object-fit:cover; border:2px solid var(--gold-text); flex-shrink:0; }
.ww-wiz-avatar--placeholder { display:flex; align-items:center; justify-content:center; background:rgba(250,187,23,.1); font-size:1.4rem; }
.ww-wiz-name { font-size:15px; font-weight:700; color:#fff; }
.ww-wiz-title { font-size:12px; color:rgba(255,255,255,.4); margin-top:2px; }
.ww-btn-contact {
  width:100%; background:transparent; border:1px solid rgba(250,187,23,.3); border-radius:8px;
  padding:10px; color:var(--gold-text); font-family:var(--font); font-size:12px; font-weight:600;
  cursor:pointer; letter-spacing:1px; text-transform:uppercase; transition:.2s;
}
.ww-btn-contact:hover { background:rgba(250,187,23,.08); border-color:var(--gold-text); }

/* Quick actions */
.ww-quick-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.ww-quick-btn {
  background:rgba(92,225,230,.06); border:1px solid var(--border); border-radius:8px;
  padding:12px; color:rgba(255,255,255,.7); font-family:var(--font); font-size:12px;
  cursor:pointer; transition:.2s; text-align:center; font-weight:500;
}
.ww-quick-btn:hover { background:rgba(92,225,230,.12); border-color:var(--blue); color:#fff; }

/* Table */
.ww-table { width:100%; border-collapse:collapse; font-size:13px; }
.ww-table th { text-align:left; padding:8px 12px; color:rgba(255,255,255,.35); font-size:10px; font-weight:600; letter-spacing:2px; text-transform:uppercase; border-bottom:1px solid var(--border); }
.ww-table td { padding:12px; border-bottom:1px solid rgba(255,255,255,.04); color:rgba(255,255,255,.75); vertical-align:middle; }
.ww-table tr:last-child td { border-bottom:none; }
.ww-status-pill { display:inline-block; padding:3px 10px; border-radius:999px; border:1px solid; font-size:11px; font-weight:600; }

/* Casino cards */
.ww-casinos-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.ww-casino-card {
  background:var(--bg3); border:1px solid var(--border); border-radius:10px; padding:20px;
  transition:.2s; cursor:default;
}
.ww-casino-card:hover { border-color:rgba(92,225,230,.2); }
.ww-casino-card__name { font-size:14px; font-weight:700; color:#fff; margin-bottom:6px; }
.ww-casino-card__type { font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--blue); margin-bottom:12px; }
.ww-casino-card__row { display:flex; justify-content:space-between; font-size:12px; color:rgba(255,255,255,.5); padding:5px 0; border-top:1px solid rgba(255,255,255,.04); }
.ww-casino-card__notes { width:100%; background:rgba(255,255,255,.04); border:1px solid var(--border); border-radius:6px; padding:8px 10px; color:rgba(255,255,255,.6); font-family:var(--font); font-size:12px; margin-top:10px; resize:vertical; min-height:60px; }
.ww-casino-card__add { background:rgba(92,225,230,.06); border:1px dashed rgba(92,225,230,.3); border-radius:10px; padding:20px; text-align:center; color:var(--blue); font-size:13px; cursor:pointer; transition:.2s; }
.ww-casino-card__add:hover { background:rgba(92,225,230,.1); }
.ww-sub-heading { font-size:14px; font-weight:600; color:rgba(255,255,255,.6); margin:32px 0 16px; letter-spacing:1px; text-transform:uppercase; }

/* Forms */
.ww-form { display:flex; flex-direction:column; gap:16px; }
.ww-form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.ww-form-group { display:flex; flex-direction:column; gap:6px; }
.ww-form-label { font-size:10px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,.45); }
.ww-input, .ww-dash-wrap input, .ww-dash-wrap select, .ww-dash-wrap textarea {
  background:rgba(255,255,255,.06) !important; border:1px solid rgba(255,255,255,.12) !important;
  border-radius:8px !important; color:#fff !important; font-family:var(--font) !important;
  font-size:13px !important; padding:11px 14px !important; width:100% !important;
  outline:none; transition:border-color .2s;
}
.ww-input:focus, .ww-dash-wrap input:focus, .ww-dash-wrap select:focus, .ww-dash-wrap textarea:focus {
  border-color:var(--blue) !important;
}
.ww-input option, .ww-dash-wrap select option { background:#1e1e1e; color:#fff; }
.ww-textarea { resize:vertical; min-height:80px; }
.ww-btn-teal {
  background:var(--blue-shine) !important; background-size:200% auto !important;
  border:none !important; border-radius:6px !important; color:#111 !important;
  font-family:var(--font) !important; font-size:11px !important; font-weight:700 !important;
  letter-spacing:2px !important; text-transform:uppercase !important;
  padding:12px 28px !important; cursor:pointer !important; transition:.2s !important;
  animation:shimmer 4s linear infinite; display:inline-block;
  text-decoration:none !important; width:auto !important;
}
.ww-btn-teal:hover { transform:translateY(-1px); box-shadow:0 4px 20px rgba(92,225,230,.3); }
.ww-btn-ghost {
  background:transparent !important; border:1px solid rgba(92,225,230,.3) !important;
  border-radius:6px !important; color:var(--blue) !important; font-family:var(--font) !important;
  font-size:11px !important; font-weight:600 !important; letter-spacing:2px !important;
  text-transform:uppercase !important; padding:11px 28px !important; cursor:pointer !important;
  transition:.2s !important;
}
.ww-btn-ghost:hover { background:rgba(92,225,230,.08) !important; }
.ww-form-msg { font-size:13px; padding:10px 14px; border-radius:6px; display:none; }
.ww-form-msg--ok  { background:rgba(0,204,102,.1); border:1px solid #00cc66; color:#00cc66; }
.ww-form-msg--err { background:rgba(255,80,80,.1);  border:1px solid #ff5050; color:#ff5050; }

/* Checkboxes */
.ww-checkbox-group { display:flex; flex-wrap:wrap; gap:8px; }
.ww-check-label {
  display:flex; align-items:center; gap:7px;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:6px;
  padding:7px 12px; cursor:pointer; font-size:12px; color:rgba(255,255,255,.65);
  transition:.15s; user-select:none;
}
.ww-check-label:has(input:checked) { background:rgba(92,225,230,.12); border-color:var(--blue); color:var(--blue); }
.ww-check-label input { display:none; }

/* Referral */
.ww-ref-link-wrap { display:flex; gap:10px; }
.ww-ref-link-wrap .ww-input { flex:1; font-family:monospace !important; font-size:12px !important; }

/* Tier ladder */
.ww-tier-ladder { display:flex; gap:0; align-items:stretch; }
.ww-tier-rung {
  flex:1; padding:20px 12px; text-align:center; border-right:1px solid var(--border);
  opacity:.3; transition:.2s;
}
.ww-tier-rung:last-child { border-right:none; }
.ww-tier-rung--past { opacity:.6; }
.ww-tier-rung--active { opacity:1; background:rgba(92,225,230,.06); border-radius:8px; }
.ww-tier-rung-icon { font-size:1.8rem; margin-bottom:8px; }
.ww-tier-rung-name { font-size:11px; font-weight:600; color:#fff; letter-spacing:1px; }
.ww-tier-rung-you { font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--blue); margin-top:4px; }

/* Badges */
.ww-badges-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.ww-badge-item { text-align:center; padding:18px 12px; border-radius:10px; border:1px solid var(--border); position:relative; }
.ww-badge-item--earned { background:rgba(92,225,230,.06); border-color:rgba(92,225,230,.2); }
.ww-badge-item--locked { opacity:.35; filter:grayscale(1); }
.ww-badge-icon { font-size:1.8rem; margin-bottom:6px; }
.ww-badge-name { font-size:11px; color:rgba(255,255,255,.65); font-weight:500; }
.ww-badge-locked { position:absolute; top:6px; right:6px; font-size:.8rem; }

/* Notifications */
.ww-notif {
  padding:16px; border-bottom:1px solid var(--border); cursor:pointer; transition:.15s;
  border-left:2px solid var(--blue);
}
.ww-notif--read { opacity:.5; border-left-color:transparent; }
.ww-notif:hover { background:rgba(92,225,230,.04); }
.ww-notif-title { font-size:13px; font-weight:600; color:#fff; margin-bottom:4px; }
.ww-notif-msg { font-size:12px; color:rgba(255,255,255,.55); }
.ww-notif-time { font-size:11px; color:rgba(255,255,255,.3); margin-top:4px; }

/* Floating wizard button */
.ww-wiz-float {
  position:fixed; bottom:32px; right:32px; z-index:9999;
  width:60px; height:60px; border-radius:50%; cursor:pointer;
  background:var(--gold-shine); background-size:200% auto; animation:shimmer 4s linear infinite;
  border:none; box-shadow:0 4px 24px rgba(191,149,63,.4);
  display:flex; align-items:center; justify-content:center;
  font-size:1.4rem; transition:transform .2s, box-shadow .2s;
  overflow:hidden;
}
.ww-wiz-float img { width:100%; height:100%; object-fit:cover; border-radius:50%; }
.ww-wiz-float:hover { transform:scale(1.08); box-shadow:0 6px 32px rgba(191,149,63,.6); }

/* Modal */
.ww-modal-overlay {
  position:fixed; inset:0; background:rgba(0,0,0,.7); z-index:10000;
  display:flex; align-items:center; justify-content:center;
  backdrop-filter:blur(4px);
}
.ww-modal-box {
  background:var(--bg2); border:1px solid rgba(250,187,23,.2); border-radius:16px;
  padding:40px; max-width:400px; width:90%; text-align:center; position:relative;
}
.ww-modal-close {
  position:absolute; top:14px; right:16px; background:none; border:none;
  color:rgba(255,255,255,.4); font-size:1.2rem; cursor:pointer; line-height:1;
}
.ww-modal-close:hover { color:#fff; }
.ww-modal-photo { width:80px; height:80px; border-radius:50%; object-fit:cover; border:2px solid var(--gold-text); margin-bottom:16px; }
.ww-modal-name { font-size:18px; font-weight:700; color:#fff; margin-bottom:4px; }
.ww-modal-title { font-size:12px; color:rgba(255,255,255,.45); margin-bottom:24px; }
.ww-modal-actions { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.ww-modal-action {
  padding:12px 20px; border-radius:8px; font-family:var(--font); font-size:12px;
  font-weight:700; text-decoration:none !important; cursor:pointer; transition:.2s; border:1px solid;
  letter-spacing:1px;
}
.ww-modal-call     { background:rgba(92,225,230,.1);  border-color:var(--blue);      color:var(--blue) !important; }
.ww-modal-whatsapp { background:rgba(0,204,102,.1);   border-color:#00cc66;          color:#00cc66 !important; }
.ww-modal-email    { background:rgba(250,187,23,.1);  border-color:var(--gold-text); color:var(--gold-text) !important; }
.ww-modal-action:hover { transform:translateY(-1px); filter:brightness(1.15); }

/* Empty states */
.ww-empty { color:rgba(255,255,255,.3); font-size:13px; font-style:italic; padding:12px 0; }

/* Login gate */
.ww-login-gate { min-height:80vh; display:flex; align-items:center; justify-content:center; }
.ww-gate-inner { text-align:center; max-width:400px; padding:40px; }
.ww-gate-logo { font-size:4rem; margin-bottom:20px; }
.ww-gate-title { font-size:24px; font-weight:700; color:#fff; margin-bottom:10px; }
.ww-gate-sub { color:rgba(255,255,255,.45); font-size:14px; margin-bottom:32px; line-height:1.6; }
.ww-gate-actions { display:flex; gap:12px; justify-content:center; }

/* Login/register forms */
.ww-login-wrap, .ww-apply-wrap { max-width:500px; margin:60px auto; padding:0 20px; }
.ww-login-inner { background:var(--bg2); border:1px solid var(--border); border-radius:16px; padding:40px; }
.ww-login-logo { font-size:2.5rem; text-align:center; margin-bottom:12px; }
.ww-login-heading { font-size:20px; font-weight:700; color:#fff; text-align:center; margin-bottom:24px; }
.ww-login-tabs { display:flex; background:rgba(255,255,255,.04); border-radius:8px; padding:4px; margin-bottom:28px; }
.ww-tab-btn { flex:1; background:none; border:none; padding:9px; border-radius:6px; font-family:var(--font); font-size:12px; font-weight:600; color:rgba(255,255,255,.45); cursor:pointer; transition:.2s; letter-spacing:1px; text-transform:uppercase; }
.ww-tab-btn--active { background:rgba(92,225,230,.12); color:var(--blue); }
.ww-tab-panel { display:none; }
.ww-tab-panel--active { display:block; }
.ww-register-note { font-size:12px; color:rgba(255,255,255,.4); margin-bottom:16px; text-align:center; line-height:1.5; }
.ww-register-apply { text-align:center; font-size:12px; color:rgba(255,255,255,.35); margin-top:16px; }
.ww-register-apply a { color:var(--blue) !important; }
.ww-already-in { color:rgba(255,255,255,.55); font-size:14px; text-align:center; padding:40px 20px; }
.ww-already-in a { color:var(--blue) !important; }
.ww-btn--full { width:100% !important; text-align:center; }

/* Apply page extras */
.ww-apply-form-inner { max-width:720px; margin:60px auto; padding:0 20px; }
.ww-apply-title { font-size:22px; font-weight:700; color:#fff; margin-bottom:8px; }
.ww-apply-sub { color:rgba(255,255,255,.45); font-size:13px; margin-bottom:28px; }

/* Admin minimal CSS */
.ww-admin-stats { display:flex; gap:20px; margin:20px 0; flex-wrap:wrap; }
.ww-admin-stat { background:#1a1a2e; border:1px solid rgba(92,225,230,.2); border-radius:8px; padding:20px 28px; text-align:center; }
.ww-admin-stat span { display:block; font-size:28px; font-weight:800; color:#5ce1e6; }

/* ── Mobile pill nav (in-flow, no fixed positioning) ────────────────────── */
.ww-mobile-topnav {
  display: none;
  background: #181818;
  border-bottom: 1px solid rgba(92,225,230,.1);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  white-space: nowrap;
  padding: 10px 12px;
}
.ww-mobile-topnav::-webkit-scrollbar { display: none; }
.ww-mobile-topnav-btn {
  display: inline-block;
  padding: 7px 16px;
  margin-right: 6px;
  background: #111;
  border: 1px solid rgba(92,225,230,.25);
  border-radius: 999px;
  color: #5ce1e6;
  font-family: var(--font);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .5px;
  cursor: pointer;
  transition: all .15s;
  white-space: nowrap;
  position: relative;
  opacity: .55;
}
.ww-mobile-topnav-btn--active {
  background: rgba(92,225,230,.12);
  border-color: #5ce1e6;
  color: #5ce1e6;
  opacity: 1;
}
.ww-mob-dot {
  display: inline-block;
  width: 6px; height: 6px;
  background: #5ce1e6;
  border-radius: 50%;
  margin-left: 4px;
  vertical-align: middle;
  position: relative;
  top: -1px;
}

/* Responsive */
@media(max-width:900px){
  .ww-dash-nav { display: none !important; }
  .ww-mobile-topnav { display: block; }
  .ww-dash-grid { grid-template-columns: 1fr !important; }
  .ww-casinos-grid { grid-template-columns: 1fr 1fr; }
  .ww-badges-grid { grid-template-columns: repeat(3,1fr); }
  .ww-tier-ladder { flex-wrap: wrap; }
  .ww-form-row { grid-template-columns: 1fr; }
  .ww-dash-main { padding: 20px 16px 40px !important; }
}
@media(max-width:600px){
  .ww-dash-main { padding: 16px 14px 32px !important; }
  .ww-casinos-grid { grid-template-columns: 1fr; }
  .ww-badges-grid { grid-template-columns: repeat(2,1fr); }
  .ww-card { padding: 16px; }
  .ww-section-header h1 { font-size: 1.2rem; }
}

/* ── Member Messages ─────────────────────────────────────────────────────── */
.ww-messages-card { padding: 0; display: flex; flex-direction: column; height: 520px; }
.ww-thread-scroll { flex: 1; overflow-y: auto; padding: 20px; display: flex; flex-direction: column; gap: 10px; }
.ww-bubble { max-width: 72%; display: flex; flex-direction: column; }
.ww-bubble--mine { align-self: flex-end; align-items: flex-end; }
.ww-bubble--wizard { align-self: flex-start; align-items: flex-start; }
.ww-bubble-text { padding: 10px 14px; border-radius: 14px; font-size: .88rem; line-height: 1.55; white-space: pre-wrap; word-break: break-word; }
.ww-bubble--mine .ww-bubble-text { background: #5ce1e6; color: #111; border-bottom-right-radius: 4px; }
.ww-bubble--wizard .ww-bubble-text { background: #1e1e1e; color: #ccc; border: 1px solid #2a2a2a; border-bottom-left-radius: 4px; }
.ww-bubble-time { font-size: .68rem; color: #444; margin-top: 4px; }
.ww-msg-compose { display: flex; gap: 10px; padding: 14px 16px; border-top: 1px solid #1e1e1e; align-items: flex-end; }
.ww-msg-textarea { flex: 1; resize: none; min-height: 60px; font-size: .85rem; }
.ww-msg-send-btn { white-space: nowrap; padding: 10px 20px; align-self: flex-end; }

/* ── Hide WP admin bar for non-admins ───────────────────────────────────── */
body.ww-no-adminbar #wpadminbar { display: none !important; }
body.ww-no-adminbar { margin-top: 0 !important; padding-top: 0 !important; }

/* ── Strip Elementor wrapper padding on members page ────────────────────── */
.elementor-page-61 .elementor-section,
.elementor-page-61 .elementor-section.elementor-section-boxed { padding: 0 !important; margin: 0 !important; }
.elementor-page-61 .elementor-container { padding: 0 !important; max-width: 100% !important; width: 100% !important; }
.elementor-page-61 .elementor-column-wrap,
.elementor-page-61 .elementor-element-populated,
.elementor-page-61 .elementor-widget-container { padding: 0 !important; margin: 0 !important; }
.elementor-page-61 .elementor-widget-html { width: 100% !important; max-width: 100% !important; }
