/*!
 * jilliph.homes - Core stylesheet (mobile-first HTML5 casino, PH)
 * Palette: #2E4057 bg | #E9ECEF text | #FF8000 accent | #B0E0E6 soft
 * All custom classes use the w0b51- prefix. English comments only.
 */

/* ---------- Design tokens ---------- */
:root {
  --w0b51-bg:#2E4057; --w0b51-bg-deep:#243345; --w0b51-bg-soft:#364961;
  --w0b51-text:#E9ECEF; --w0b51-text-soft:#B7C2D0;
  --w0b51-accent:#FF8000; --w0b51-accent-deep:#E67300;
  --w0b51-soft:#B0E0E6; --w0b51-soft-deep:#8FD0D8;
  --w0b51-line:rgba(233,236,239,0.12); --w0b51-shadow:0 6px 22px rgba(0,0,0,0.35);
  --w0b51-radius:14px; --w0b51-radius-sm:10px; --w0b51-radius-pill:999px;
  --w0b51-header-h:60px; --w0b51-bottom-h:62px; --w0b51-maxw:430px; --w0b51-tap:44px;
}

/* ---------- Reset & base ---------- */
*,*::before,*::after { box-sizing:border-box; }
html { font-size:62.5%; -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body {
  margin:0; font-family:'Segoe UI','Helvetica Neue',Arial,system-ui,sans-serif;
  background:var(--w0b51-bg);
  background-image:radial-gradient(circle at 20% 10%,rgba(176,224,230,0.08),transparent 45%),
                   radial-gradient(circle at 80% 90%,rgba(255,128,0,0.10),transparent 40%);
  color:var(--w0b51-text); line-height:1.5rem; font-size:1.5rem;
  min-height:100vh; overflow-x:hidden;
  padding-bottom:calc(var(--w0b51-bottom-h) + 18px);
}
img { max-width:100%; display:block; }
a { color:var(--w0b51-soft); text-decoration:none; }
a:hover,a:focus { color:var(--w0b51-accent); }
button { font-family:inherit; cursor:pointer; border:none; background:none; color:inherit; }
ul { list-style:none; padding:0; margin:0; }
h1,h2,h3,h4 { margin:0 0 0.8rem; line-height:1.5rem; font-weight:700; }
h1 { font-size:2.4rem; line-height:3rem; }
h2 { font-size:2.1rem; line-height:2.6rem; }
h3 { font-size:1.75rem; line-height:2.2rem; }
p { margin:0 0 1rem; }

/* ---------- Layout primitives ---------- */
.w0b51-container { width:100%; max-width:var(--w0b51-maxw); margin:0 auto; padding:0 14px; }
.w0b51-wrapper { padding:18px 14px; }
.w0b51-section { padding:22px 14px; }
.w0b51-section--alt { background:var(--w0b51-bg-deep); border-top:1px solid var(--w0b51-line); border-bottom:1px solid var(--w0b51-line); }
.w0b51-section-title { display:flex; align-items:center; gap:10px; margin-bottom:14px; color:var(--w0b51-text); }
.w0b51-section-title .w0b51-bar { width:5px; height:22px; border-radius:3px; background:linear-gradient(180deg,var(--w0b51-accent),var(--w0b51-soft)); }
.w0b51-section-title h2 { margin:0; flex:1; }
.w0b51-section-title .w0b51-more { font-size:1.3rem; color:var(--w0b51-soft); font-weight:600; }
.w0b51-lead { color:var(--w0b51-text-soft); font-size:1.45rem; }
.w0b51-muted { color:var(--w0b51-text-soft); }
.w0b51-accent-text { color:var(--w0b51-accent); font-weight:700; }
.w0b51-soft-text { color:var(--w0b51-soft); font-weight:700; }
.w0b51-text-center { text-align:center; }

/* ---------- Buttons ---------- */
.w0b51-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:var(--w0b51-tap); padding:9px 18px;
  border-radius:var(--w0b51-radius-pill); font-size:1.45rem; font-weight:700;
  letter-spacing:0.2px;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.w0b51-btn:active { transform:scale(0.96); }
.w0b51-btn--accent { background:linear-gradient(135deg,var(--w0b51-accent),var(--w0b51-accent-deep)); color:#1a1a1a; box-shadow:0 4px 14px rgba(255,128,0,0.35); }
.w0b51-btn--ghost { background:rgba(176,224,230,0.12); color:var(--w0b51-soft); border:1px solid rgba(176,224,230,0.45); }
.w0b51-btn--block { width:100%; }
.w0b51-btn--lg { min-height:50px; font-size:1.6rem; padding:12px 22px; }
.w0b51-link-text { color:var(--w0b51-accent); font-weight:700; border-bottom:1px dashed rgba(255,128,0,0.4); padding-bottom:1px; }

/* ---------- Header ---------- */
.w0b51-header {
  position:fixed; top:0; left:0; right:0; height:var(--w0b51-header-h);
  background:rgba(36,51,69,0.96); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--w0b51-line); z-index:1000;
}
.w0b51-header-inner { height:100%; max-width:var(--w0b51-maxw); margin:0 auto; padding:0 12px; display:flex; align-items:center; gap:10px; }
.w0b51-brand { display:flex; align-items:center; gap:8px; flex:1; min-width:0; }
.w0b51-brand img { width:30px; height:30px; border-radius:8px; }
.w0b51-brand-name { font-size:1.85rem; font-weight:800; color:var(--w0b51-text); letter-spacing:0.4px; }
.w0b51-brand-name span { color:var(--w0b51-accent); }
.w0b51-header-actions { display:flex; align-items:center; gap:8px; }
.w0b51-header-actions .w0b51-btn { min-height:38px; padding:7px 14px; font-size:1.35rem; }
.w0b51-menu-btn { width:40px; height:40px; border-radius:10px; background:rgba(176,224,230,0.12); color:var(--w0b51-soft); display:inline-flex; align-items:center; justify-content:center; font-size:2rem; }

/* ---------- Mobile slide-in menu ---------- */
.w0b51-menu-overlay { position:fixed; inset:0; background:rgba(8,14,22,0.55); opacity:0; pointer-events:none; transition:opacity .25s ease; z-index:9998; }
.w0b51-menu-overlay.w0b51-overlay-show { opacity:1; pointer-events:auto; }
.w0b51-mobile-menu {
  position:fixed; top:0; right:-82%; width:80%; max-width:320px; height:100vh;
  background:var(--w0b51-bg-deep); padding:76px 16px 24px;
  transition:right .28s ease; z-index:9999; overflow-y:auto; border-left:1px solid var(--w0b51-line);
}
.w0b51-mobile-menu.w0b51-menu-open { right:0; }
.w0b51-mobile-menu .w0b51-menu-close { position:absolute; top:14px; right:14px; width:40px; height:40px; border-radius:10px; background:rgba(255,128,0,0.15); color:var(--w0b51-accent); font-size:1.9rem; }
.w0b51-menu-cta { display:grid; gap:10px; margin-bottom:18px; }
.w0b51-menu-nav { display:grid; gap:6px; }
.w0b51-menu-nav a { display:flex; align-items:center; gap:12px; padding:12px; border-radius:var(--w0b51-radius-sm); background:rgba(176,224,230,0.06); color:var(--w0b51-text); font-size:1.5rem; font-weight:600; min-height:var(--w0b51-tap); }
.w0b51-menu-nav a i { color:var(--w0b51-accent); font-size:1.8rem; width:22px; text-align:center; }
.w0b51-menu-nav a:active { background:rgba(255,128,0,0.14); }
body.w0b51-no-scroll { overflow:hidden; }

/* ---------- Hero carousel ---------- */
.w0b51-carousel { position:relative; margin:calc(var(--w0b51-header-h) + 12px) 14px 0; border-radius:var(--w0b51-radius); overflow:hidden; box-shadow:var(--w0b51-shadow); }
.w0b51-carousel-viewport { overflow:hidden; }
.w0b51-carousel-track { display:flex; transition:transform .42s cubic-bezier(0.4,0,0.2,1); }
.w0b51-slide { min-width:100%; position:relative; }
.w0b51-slide img { width:100%; height:180px; object-fit:cover; }
.w0b51-slide-cap { position:absolute; left:0; right:0; bottom:0; padding:28px 16px 14px; background:linear-gradient(180deg,transparent,rgba(36,51,69,0.92)); color:var(--w0b51-text); }
.w0b51-slide-cap h3 { font-size:1.7rem; margin:0 0 4px; color:var(--w0b51-soft); }
.w0b51-slide-cap p { margin:0; font-size:1.3rem; color:var(--w0b51-text-soft); }
.w0b51-carousel-arrow { position:absolute; top:50%; transform:translateY(-50%); width:34px; height:34px; border-radius:50%; background:rgba(36,51,69,0.7); color:var(--w0b51-text); display:inline-flex; align-items:center; justify-content:center; font-size:1.6rem; }
.w0b51-carousel-arrow.w0b51-prev { left:8px; }
.w0b51-carousel-arrow.w0b51-next { right:8px; }
.w0b51-carousel-dots { position:absolute; bottom:8px; left:50%; transform:translateX(-50%); display:flex; gap:6px; }
.w0b51-dot { width:7px; height:7px; border-radius:50%; background:rgba(233,236,239,0.45); transition:all .2s ease; }
.w0b51-dot.w0b51-dot-active { background:var(--w0b51-accent); width:18px; border-radius:4px; }

/* ---------- Hero heading ---------- */
.w0b51-hero { padding:18px 14px 8px; text-align:center; }
.w0b51-hero h1 { font-size:2.6rem; line-height:3.1rem; margin-bottom:10px; }
.w0b51-hero h1 span { color:var(--w0b51-accent); }
.w0b51-hero p { color:var(--w0b51-text-soft); font-size:1.5rem; }
.w0b51-hero-cta { display:flex; gap:10px; justify-content:center; margin-top:12px; flex-wrap:wrap; }

/* ---------- Category pills ---------- */
.w0b51-pills { display:flex; gap:8px; overflow-x:auto; padding:6px 14px 10px; scrollbar-width:none; }
.w0b51-pills::-webkit-scrollbar { display:none; }
.w0b51-pill { flex:0 0 auto; padding:8px 16px; border-radius:var(--w0b51-radius-pill); background:rgba(176,224,230,0.08); color:var(--w0b51-text-soft); font-size:1.35rem; font-weight:600; border:1px solid var(--w0b51-line); white-space:nowrap; min-height:36px; display:inline-flex; align-items:center; gap:6px; }
.w0b51-pill i { color:var(--w0b51-accent); }
.w0b51-pill:active { background:rgba(255,128,0,0.16); color:var(--w0b51-text); }

/* ---------- Game grid & cards ---------- */
.w0b51-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.w0b51-grid--4 { grid-template-columns:repeat(4,1fr); }
.w0b51-card {
  background:var(--w0b51-bg-soft); border-radius:var(--w0b51-radius-sm);
  overflow:hidden; border:1px solid var(--w0b51-line);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; position:relative;
}
.w0b51-card:active { transform:scale(0.97); border-color:var(--w0b51-accent); box-shadow:0 4px 14px rgba(255,128,0,0.25); }
.w0b51-card-img { width:100%; aspect-ratio:1/1; object-fit:cover; background:#1c2838; }
.w0b51-card-name { padding:6px 8px 8px; font-size:1.2rem; text-align:center; color:var(--w0b51-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-weight:600; }
.w0b51-card-badge { position:absolute; top:6px; left:6px; background:var(--w0b51-accent); color:#1a1a1a; font-size:1rem; font-weight:700; padding:2px 7px; border-radius:var(--w0b51-radius-pill); }
.w0b51-card-badge--hot { background:#ff3b3b; color:#fff; }
.w0b51-card-badge--new { background:var(--w0b51-soft); color:#1c2838; }

/* ---------- Feature cards ---------- */
.w0b51-feature-grid { display:grid; gap:10px; grid-template-columns:1fr; }
.w0b51-feature { display:flex; gap:12px; align-items:flex-start; background:var(--w0b51-bg-soft); padding:12px; border-radius:var(--w0b51-radius-sm); border:1px solid var(--w0b51-line); }
.w0b51-feature-ico { flex:0 0 44px; width:44px; height:44px; border-radius:12px; background:linear-gradient(135deg,rgba(255,128,0,0.25),rgba(176,224,230,0.2)); display:inline-flex; align-items:center; justify-content:center; font-size:2.1rem; color:var(--w0b51-accent); }
.w0b51-feature h3 { font-size:1.55rem; margin:0 0 3px; color:var(--w0b51-text); }
.w0b51-feature p { margin:0; font-size:1.3rem; color:var(--w0b51-text-soft); }

/* ---------- RTP table ---------- */
.w0b51-rtp-row { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:8px; padding:10px 12px; border-radius:var(--w0b51-radius-sm); background:var(--w0b51-bg-soft); margin-bottom:6px; font-size:1.3rem; align-items:center; border:1px solid var(--w0b51-line); }
.w0b51-rtp-row span:first-child { font-weight:700; color:var(--w0b51-text); }
.w0b51-rtp-row .w0b51-rtp-val { color:var(--w0b51-accent); font-weight:700; text-align:right; }
.w0b51-rtp-row .w0b51-rtp-bar { height:6px; border-radius:3px; background:rgba(233,236,239,0.15); overflow:hidden; }
.w0b51-rtp-row .w0b51-rtp-bar i { display:block; height:100%; background:linear-gradient(90deg,var(--w0b51-soft),var(--w0b51-accent)); border-radius:3px; }
.w0b51-rtp-head { font-size:1.2rem; color:var(--w0b51-text-soft); text-transform:uppercase; letter-spacing:0.5px; margin-bottom:6px; }

/* ---------- Testimonials ---------- */
.w0b51-testi { background:var(--w0b51-bg-soft); border-radius:var(--w0b51-radius); padding:14px; margin-bottom:10px; border:1px solid var(--w0b51-line); }
.w0b51-testi-head { display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.w0b51-testi-avatar { width:38px; height:38px; border-radius:50%; background:linear-gradient(135deg,var(--w0b51-accent),var(--w0b51-soft)); color:#1a1a1a; font-weight:800; font-size:1.5rem; display:inline-flex; align-items:center; justify-content:center; }
.w0b51-testi-name { font-weight:700; color:var(--w0b51-text); font-size:1.4rem; }
.w0b51-testi-stars { color:var(--w0b51-accent); font-size:1.3rem; }
.w0b51-testi p { margin:0; font-size:1.35rem; color:var(--w0b51-text-soft); }

/* ---------- Winners strip ---------- */
.w0b51-winner { display:flex; align-items:center; gap:10px; background:var(--w0b51-bg-soft); padding:10px 12px; border-radius:var(--w0b51-radius-sm); margin-bottom:6px; border:1px solid var(--w0b51-line); }
.w0b51-winner-ico { width:34px; height:34px; border-radius:50%; background:rgba(255,128,0,0.18); color:var(--w0b51-accent); display:inline-flex; align-items:center; justify-content:center; font-size:1.6rem; }
.w0b51-winner-meta { flex:1; min-width:0; }
.w0b51-winner-meta strong { display:block; color:var(--w0b51-text); font-size:1.35rem; }
.w0b51-winner-meta span { color:var(--w0b51-text-soft); font-size:1.2rem; }
.w0b51-winner-amt { color:var(--w0b51-accent); font-weight:800; font-size:1.4rem; }

/* ---------- Payment chips ---------- */
.w0b51-chips { display:flex; flex-wrap:wrap; gap:8px; }
.w0b51-chip { flex:1 1 30%; min-width:90px; background:var(--w0b51-bg-soft); border:1px solid var(--w0b51-line); border-radius:var(--w0b51-radius-sm); padding:10px; text-align:center; font-size:1.25rem; color:var(--w0b51-text); }
.w0b51-chip i { display:block; font-size:2rem; color:var(--w0b51-soft); margin-bottom:4px; }

/* ---------- App download CTA ---------- */
.w0b51-app-cta { background:linear-gradient(135deg,var(--w0b51-bg-soft),var(--w0b51-bg-deep)); border-radius:var(--w0b51-radius); padding:16px; border:1px solid var(--w0b51-line); text-align:center; }
.w0b51-app-cta h3 { color:var(--w0b51-soft); font-size:1.8rem; }
.w0b51-app-cta p { color:var(--w0b51-text-soft); font-size:1.35rem; }
.w0b51-app-btns { display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin-top:8px; }

/* ---------- FAQ ---------- */
.w0b51-faq-item { background:var(--w0b51-bg-soft); border-radius:var(--w0b51-radius-sm); margin-bottom:8px; border:1px solid var(--w0b51-line); overflow:hidden; }
.w0b51-faq-q { padding:12px 14px; font-weight:700; color:var(--w0b51-text); font-size:1.4rem; display:flex; gap:8px; align-items:center; }
.w0b51-faq-q i { color:var(--w0b51-accent); }
.w0b51-faq-a { padding:0 14px 12px; color:var(--w0b51-text-soft); font-size:1.32rem; }

/* ---------- Reveal animation ---------- */
.w0b51-reveal { opacity:0; transform:translateY(16px); transition:opacity .5s ease,transform .5s ease; }
.w0b51-reveal.w0b51-revealed { opacity:1; transform:translateY(0); }

/* ---------- Footer ---------- */
.w0b51-footer { background:var(--w0b51-bg-deep); border-top:1px solid var(--w0b51-line); padding:22px 14px calc(var(--w0b51-bottom-h) + 22px); margin-top:14px; }
.w0b51-footer-brand { font-weight:800; font-size:1.8rem; color:var(--w0b51-text); margin-bottom:6px; }
.w0b51-footer-brand span { color:var(--w0b51-accent); }
.w0b51-footer p { color:var(--w0b51-text-soft); font-size:1.3rem; }
.w0b51-footer-links { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:14px 0; }
.w0b51-footer-links a { background:rgba(176,224,230,0.06); border:1px solid var(--w0b51-line); padding:9px 12px; border-radius:var(--w0b51-radius-sm); color:var(--w0b51-text); font-size:1.25rem; text-align:center; min-height:38px; display:inline-flex; align-items:center; justify-content:center; }
.w0b51-footer-promos { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; }
.w0b51-footer-promos .w0b51-btn { flex:1 1 40%; min-width:130px; font-size:1.3rem; padding:9px 12px; }
.w0b51-copy { text-align:center; color:var(--w0b51-text-soft); font-size:1.2rem; padding-top:12px; border-top:1px solid var(--w0b51-line); }

/* ---------- Mobile bottom navigation ---------- */
.w0b51-bottom-nav {
  position:fixed; bottom:0; left:0; right:0; height:var(--w0b51-bottom-h);
  background:rgba(28,40,56,0.98); backdrop-filter:blur(10px);
  border-top:1px solid var(--w0b51-line);
  display:flex; justify-content:space-around; align-items:stretch;
  z-index:1000; box-shadow:0 -4px 18px rgba(0,0,0,0.35);
}
.w0b51-bottom-nav-btn {
  flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:2px; color:var(--w0b51-text-soft); font-size:1.05rem; font-weight:600;
  min-width:60px; min-height:var(--w0b51-bottom-h); padding:4px 2px;
  position:relative; transition:color .18s ease;
}
.w0b51-bottom-nav-btn i { font-size:2.1rem; transition:transform .18s ease; }
.w0b51-bottom-nav-btn:active { color:var(--w0b51-text); }
.w0b51-bottom-nav-btn:active i { transform:scale(1.18); }
.w0b51-bottom-nav-btn.w0b51-active { color:var(--w0b51-accent); }
.w0b51-bottom-nav-btn.w0b51-active::before { content:''; position:absolute; top:0; left:50%; transform:translateX(-50%); width:30px; height:3px; border-radius:0 0 3px 3px; background:var(--w0b51-accent); }
.w0b51-bottom-nav-btn.w0b51-promo i { color:var(--w0b51-accent); }
.w0b51-bottom-nav-badge { position:absolute; top:6px; right:18px; background:var(--w0b51-accent); color:#1a1a1a; font-size:0.95rem; font-weight:800; min-width:16px; height:16px; padding:0 4px; border-radius:8px; display:inline-flex; align-items:center; justify-content:center; }

/* ---------- Promo strip & cards ---------- */
.w0b51-promo-strip { display:flex; gap:10px; overflow-x:auto; padding:4px 0; scrollbar-width:none; }
.w0b51-promo-strip::-webkit-scrollbar { display:none; }
.w0b51-promo-card { flex:0 0 80%; background:linear-gradient(135deg,var(--w0b51-accent),#c9590a); color:#1a1a1a; border-radius:var(--w0b51-radius); padding:12px 14px; font-weight:700; }
.w0b51-promo-card small { display:block; font-weight:600; opacity:0.85; margin-top:2px; }
.w0b51-promo-card.w0b51-promo-card--soft { background:linear-gradient(135deg,var(--w0b51-soft),#5fa6b0); color:#102030; }

/* ---------- Step list & trust strip ---------- */
.w0b51-steps { counter-reset:step; display:grid; gap:8px; }
.w0b51-step { display:flex; gap:12px; align-items:flex-start; background:var(--w0b51-bg-soft); padding:12px; border-radius:var(--w0b51-radius-sm); border:1px solid var(--w0b51-line); counter-increment:step; }
.w0b51-step::before { content:counter(step); flex:0 0 30px; width:30px; height:30px; border-radius:50%; background:var(--w0b51-accent); color:#1a1a1a; font-weight:800; font-size:1.5rem; display:inline-flex; align-items:center; justify-content:center; }
.w0b51-step strong { display:block; color:var(--w0b51-text); font-size:1.45rem; margin-bottom:2px; }
.w0b51-step span { color:var(--w0b51-text-soft); font-size:1.3rem; }
.w0b51-trust { display:flex; flex-wrap:wrap; gap:8px; }
.w0b51-trust-item { flex:1 1 45%; background:var(--w0b51-bg-soft); border:1px solid var(--w0b51-line); border-radius:var(--w0b51-radius-sm); padding:10px 12px; display:flex; align-items:center; gap:8px; font-size:1.3rem; color:var(--w0b51-text); }
.w0b51-trust-item i { color:var(--w0b51-soft); font-size:1.8rem; }

/* ---------- Responsive: tablets & desktop ---------- */
@media (min-width:768px) {
  body { background-image:radial-gradient(circle at 25% 15%,rgba(176,224,230,0.08),transparent 45%),radial-gradient(circle at 75% 85%,rgba(255,128,0,0.08),transparent 40%); }
  .w0b51-container { max-width:960px; padding:0 24px; }
  .w0b51-header-inner { max-width:960px; padding:0 24px; }
  .w0b51-carousel { max-width:960px; margin-left:auto; margin-right:auto; }
  .w0b51-slide img { height:340px; }
  .w0b51-grid { grid-template-columns:repeat(6,1fr); gap:14px; }
  .w0b51-feature-grid { grid-template-columns:repeat(2,1fr); }
  .w0b51-footer-links { grid-template-columns:repeat(4,1fr); }
  .w0b51-bottom-nav { display:none; }
  body { padding-bottom:24px; }
  .w0b51-footer { padding-bottom:22px; }
  .w0b51-menu-btn { display:none; }
  .w0b51-header-actions .w0b51-btn { min-height:42px; padding:9px 18px; font-size:1.45rem; }
}
@media (min-width:1024px) {
  .w0b51-grid { grid-template-columns:repeat(8,1fr); }
  .w0b51-feature-grid { grid-template-columns:repeat(3,1fr); }
}
