/* ===========================================================
   Slot Games - design.css
   Mobile-first PH online casino styles
   Prefix: sa40-
   Palette: #FFCC02 (gold) | #FFB6C1 (light pink) | #2D2D2D (dark)
            #AFEEEE (pale turquoise) | #B22222 (firebrick red)
   =========================================================== */

:root{
  --sa40-primary:#FFCC02;       /* gold accent */
  --sa40-secondary:#FFB6C1;     /* light pink */
  --sa40-bg:#2D2D2D;            /* main dark background */
  --sa40-bg-deep:#1c1c1c;       /* deeper background */
  --sa40-bg-soft:#3a3a3a;       /* card background */
  --sa40-mint:#AFEEEE;          /* pale turquoise highlight */
  --sa40-red:#B22222;           /* firebrick CTA */
  --sa40-red-deep:#8d1a1a;
  --sa40-text:#ffffff;
  --sa40-text-soft:#d7d7d7;
  --sa40-text-muted:#9a9a9a;
  --sa40-border:rgba(255,204,2,.25);
  --sa40-shadow:0 6px 22px rgba(0,0,0,.45);
  --sa40-radius:14px;
  --sa40-radius-sm:10px;
  --sa40-header-h:60px;
  --sa40-bottom-h:62px;
  --sa40-max-w:430px;
}

/* ---------- Base reset ---------- */
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
html{font-size:62.5%;scroll-behavior:smooth;}
body{
  font-family:'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  background:var(--sa40-bg);
  color:var(--sa40-text);
  line-height:1.5rem;
  font-size:1.5rem;
  overflow-x:hidden;
  max-width:100%;
}
img{max-width:100%;display:block;border:0;}
a{color:var(--sa40-primary);text-decoration:none;}
a:hover{color:var(--sa40-mint);}
ul,ol{list-style:none;}
button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit;}
input,select,textarea{font-family:inherit;}

/* ---------- Layout helpers ---------- */
.sa40-wrapper{
  max-width:var(--sa40-max-w);
  margin:0 auto;
  position:relative;
  min-height:100vh;
}
.sa40-container{
  width:100%;
  padding:0 1.2rem;
}
.sa40-section{
  padding:2.4rem 0 1.2rem;
}
.sa40-section-title{
  font-size:2rem;
  font-weight:800;
  color:var(--sa40-primary);
  margin:0 0 1.2rem;
  display:flex;
  align-items:center;
  gap:.6rem;
}
.sa40-section-title i{font-size:2.2rem;}
.sa40-section-sub{
  font-size:1.35rem;
  color:var(--sa40-text-soft);
  margin-bottom:1.4rem;
}

/* ---------- Header ---------- */
.sa40-header{
  position:fixed;
  top:0;left:0;right:0;
  height:var(--sa40-header-h);
  background:linear-gradient(180deg,#1a1a1a,#2D2D2D);
  border-bottom:2px solid var(--sa40-primary);
  z-index:1000;
  box-shadow:0 2px 12px rgba(0,0,0,.55);
}
.sa40-header-inner{
  max-width:var(--sa40-max-w);
  margin:0 auto;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 1rem;
}
.sa40-logo{
  display:flex;
  align-items:center;
  gap:.55rem;
  color:var(--sa40-text);
  font-weight:800;
  font-size:1.7rem;
}
.sa40-logo img{width:30px;height:30px;border-radius:6px;}
.sa40-logo span{color:var(--sa40-primary);}
.sa40-header-actions{
  display:flex;
  align-items:center;
  gap:.5rem;
}
.sa40-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  padding:.65rem 1.1rem;
  border-radius:30px;
  font-weight:700;
  font-size:1.3rem;
  min-height:38px;
  transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;
  text-align:center;
  border:1px solid transparent;
}
.sa40-btn i{font-size:1.4rem;}
.sa40-btn:hover{transform:translateY(-1px);filter:brightness(1.08);}
.sa40-btn-primary{
  background:linear-gradient(135deg,var(--sa40-primary),#ff9d00);
  color:#2D2D2D;
  box-shadow:0 4px 12px rgba(255,204,2,.35);
}
.sa40-btn-secondary{
  background:transparent;
  color:var(--sa40-text);
  border-color:var(--sa40-mint);
}
.sa40-btn-danger{
  background:linear-gradient(135deg,var(--sa40-red),var(--sa40-red-deep));
  color:#fff;
  box-shadow:0 4px 12px rgba(178,34,34,.4);
}
.sa40-btn-block{
  width:100%;
  padding:.95rem;
  font-size:1.55rem;
}

/* Mobile menu toggle */
.sa40-menu-toggle{
  width:38px;height:38px;
  display:inline-flex;
  align-items:center;justify-content:center;
  color:var(--sa40-primary);
  font-size:1.9rem;
  background:rgba(255,255,255,.05);
  border-radius:8px;
  margin-right:.4rem;
}

/* ---------- Mobile drawer menu ---------- */
.sa40-mobile-menu{
  position:fixed;
  top:0;left:0;
  width:82%;max-width:340px;
  height:100vh;
  background:#1d1d1d;
  z-index:9999;
  transform:translateX(-105%);
  transition:transform .28s ease;
  padding:1.6rem 1.2rem;
  overflow-y:auto;
  border-right:2px solid var(--sa40-primary);
}
.sa40-mobile-menu.sa40-open{transform:translateX(0);}
.sa40-menu-overlay{
  position:fixed;inset:0;
  background:rgba(0,0,0,.6);
  z-index:9998;
  opacity:0;visibility:hidden;
  transition:opacity .25s ease;
}
.sa40-menu-overlay.sa40-open{opacity:1;visibility:visible;}
.sa40-menu-head{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:1.4rem;
  padding-bottom:1rem;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.sa40-menu-close{
  font-size:2rem;color:var(--sa40-text-soft);
}
.sa40-menu-close:hover{color:var(--sa40-primary);}
.sa40-menu-list li{margin-bottom:.4rem;}
.sa40-menu-list a{
  display:flex;
  align-items:center;
  gap:.7rem;
  padding:1rem .8rem;
  border-radius:8px;
  color:var(--sa40-text);
  font-size:1.5rem;
  font-weight:600;
}
.sa40-menu-list a i{
  color:var(--sa40-primary);
  width:22px;text-align:center;
}
.sa40-menu-list a:hover{
  background:rgba(255,204,2,.1);
  color:var(--sa40-primary);
}
.sa40-menu-cta{
  margin-top:1.4rem;
  display:flex;flex-direction:column;gap:.7rem;
}

/* ---------- Main content padding ---------- */
.sa40-main{
  padding-top:calc(var(--sa40-header-h) + .6rem);
  padding-bottom:calc(var(--sa40-bottom-h) + 2rem);
}

/* ---------- Hero / Carousel ---------- */
.sa40-hero{
  position:relative;
  margin:.4rem 0 1.6rem;
  border-radius:var(--sa40-radius);
  overflow:hidden;
  box-shadow:var(--sa40-shadow);
}
.sa40-carousel{position:relative;}
.sa40-carousel-track{
  display:flex;
  transition:transform .45s ease;
}
.sa40-slide{
  min-width:100%;
  position:relative;
}
.sa40-slide img{
  width:100%;
  height:200px;
  object-fit:cover;
}
.sa40-slide-cap{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:1.1rem 1.2rem;
  background:linear-gradient(0deg,rgba(0,0,0,.85),transparent);
}
.sa40-slide-cap h2{
  font-size:1.9rem;font-weight:800;color:#fff;margin-bottom:.3rem;
}
.sa40-slide-cap p{font-size:1.25rem;color:#ffe082;}
.sa40-carousel-dots{
  position:absolute;
  bottom:.7rem;right:1rem;
  display:flex;gap:.4rem;
}
.sa40-carousel-dots span{
  width:8px;height:8px;border-radius:50%;
  background:rgba(255,255,255,.45);
}
.sa40-carousel-dots span.sa40-active{background:var(--sa40-primary);}
.sa40-carousel-arrow{
  position:absolute;top:50%;transform:translateY(-50%);
  width:34px;height:34px;border-radius:50%;
  background:rgba(0,0,0,.5);
  color:#fff;font-size:1.6rem;
  display:flex;align-items:center;justify-content:center;
  z-index:2;
}
.sa40-carousel-arrow.prev{left:.5rem;}
.sa40-carousel-arrow.next{right:.5rem;}

/* ---------- Hero CTA band ---------- */
.sa40-hero-cta{
  background:linear-gradient(135deg,#3a1010,#1c1c1c);
  border:1px solid var(--sa40-red);
  border-radius:var(--sa40-radius);
  padding:1.6rem 1.2rem;
  margin-bottom:1.6rem;
  text-align:center;
}
.sa40-hero-cta h1{
  font-size:2.1rem;color:var(--sa40-primary);
  font-weight:900;margin-bottom:.5rem;line-height:1.25;
}
.sa40-hero-cta p{font-size:1.35rem;color:var(--sa40-text-soft);margin-bottom:1rem;}
.sa40-hero-cta .sa40-btn{display:inline-flex;padding:.85rem 2.2rem;font-size:1.5rem;}

/* ---------- Game grid ---------- */
.sa40-game-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.8rem;
  margin-bottom:.6rem;
}
.sa40-game-card{
  background:var(--sa40-bg-soft);
  border-radius:var(--sa40-radius-sm);
  overflow:hidden;
  text-align:center;
  cursor:pointer;
  border:1px solid rgba(255,255,255,.05);
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;
  padding:.5rem .35rem .65rem;
}
.sa40-game-card:hover{
  transform:translateY(-2px);
  border-color:var(--sa40-primary);
  box-shadow:0 6px 16px rgba(255,204,2,.2);
}
.sa40-game-card img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:8px;
  margin-bottom:.4rem;
}
.sa40-game-card .sa40-game-name{
  font-size:1.18rem;
  color:var(--sa40-text);
  font-weight:600;
  line-height:1.25;
  min-height:3rem;
  display:flex;align-items:center;justify-content:center;
}
.sa40-game-card .sa40-game-tag{
  display:inline-block;
  font-size:1rem;
  color:var(--sa40-primary);
  background:rgba(255,204,2,.12);
  padding:.1rem .55rem;
  border-radius:20px;
  margin-top:.3rem;
}

/* ---------- Category tabs (visual only, not switcher) ---------- */
.sa40-cat-heading{
  display:flex;align-items:center;justify-content:space-between;
  margin:1.8rem 0 1rem;
  padding-bottom:.5rem;
  border-bottom:1px dashed rgba(255,204,2,.3);
}
.sa40-cat-heading h2{
  font-size:1.8rem;font-weight:800;color:var(--sa40-primary);
  display:flex;align-items:center;gap:.5rem;
}
.sa40-cat-heading h2 i{font-size:2rem;}
.sa40-cat-heading .sa40-more{
  font-size:1.25rem;color:var(--sa40-mint);font-weight:600;
}

/* ---------- Info / Feature cards ---------- */
.sa40-card{
  background:var(--sa40-bg-soft);
  border:1px solid rgba(255,255,255,.06);
  border-radius:var(--sa40-radius);
  padding:1.4rem;
  margin-bottom:1.2rem;
}
.sa40-card h3{
  font-size:1.6rem;color:var(--sa40-primary);font-weight:800;
  margin-bottom:.7rem;display:flex;align-items:center;gap:.5rem;
}
.sa40-card p{font-size:1.35rem;color:var(--sa40-text-soft);margin-bottom:.6rem;}
.sa40-card ul{margin-top:.6rem;}
.sa40-card li{
  font-size:1.3rem;color:var(--sa40-text-soft);
  padding:.45rem 0 .45rem 1.8rem;position:relative;
}
.sa40-card li::before{
  content:"\f00c";font-family:"Font Awesome 6 Free";font-weight:900;
  position:absolute;left:0;color:var(--sa40-primary);font-size:1.2rem;
}

/* ---------- Steps list ---------- */
.sa40-steps{counter-reset:step;}
.sa40-steps li{
  counter-increment:step;
  position:relative;
  padding:.9rem 1rem .9rem 3.4rem;
  margin-bottom:.7rem;
  background:var(--sa40-bg-soft);
  border-radius:10px;
  border-left:3px solid var(--sa40-primary);
  font-size:1.32rem;color:var(--sa40-text-soft);
}
.sa40-steps li::before{
  content:counter(step);
  position:absolute;left:.7rem;top:50%;transform:translateY(-50%);
  width:2rem;height:2rem;border-radius:50%;
  background:var(--sa40-primary);color:#2D2D2D;
  font-weight:800;display:flex;align-items:center;justify-content:center;
  font-size:1.2rem;
}
.sa40-steps li strong{color:var(--sa40-text);}

/* ---------- FAQ accordion ---------- */
.sa40-faq-item{
  background:var(--sa40-bg-soft);
  border-radius:10px;
  margin-bottom:.7rem;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.05);
}
.sa40-faq-q{
  width:100%;
  text-align:left;
  padding:1rem 1.1rem;
  font-size:1.4rem;font-weight:700;
  color:var(--sa40-text);
  display:flex;justify-content:space-between;align-items:center;gap:.6rem;
}
.sa40-faq-q .sa40-ico{color:var(--sa40-primary);font-size:1.5rem;transition:transform .2s;}
.sa40-faq-item.sa40-open .sa40-faq-q .sa40-ico{transform:rotate(45deg);}
.sa40-faq-a{
  max-height:0;overflow:hidden;
  transition:max-height .3s ease;
  padding:0 1.1rem;
}
.sa40-faq-item.sa40-open .sa40-faq-a{max-height:400px;padding:0 1.1rem 1rem;}
.sa40-faq-a p{font-size:1.3rem;color:var(--sa40-text-soft);}

/* ---------- Testimonials ---------- */
.sa40-testi-grid{
  display:grid;grid-template-columns:1fr;gap:.8rem;
}
.sa40-testi{
  background:var(--sa40-bg-soft);
  border-radius:10px;
  padding:1.1rem;
  border-left:3px solid var(--sa40-secondary);
}
.sa40-testi-stars{color:var(--sa40-primary);font-size:1.3rem;margin-bottom:.4rem;}
.sa40-testi p{font-size:1.3rem;color:var(--sa40-text-soft);margin-bottom:.5rem;}
.sa40-testi-meta{font-size:1.15rem;color:var(--sa40-mint);font-weight:700;}

/* ---------- Payment methods ---------- */
.sa40-pay-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;
}
.sa40-pay-item{
  background:var(--sa40-bg-soft);
  border-radius:8px;padding:.9rem .5rem;text-align:center;
  border:1px solid rgba(255,255,255,.05);
}
.sa40-pay-item i{font-size:2.2rem;color:var(--sa40-primary);margin-bottom:.3rem;}
.sa40-pay-item span{display:block;font-size:1.15rem;color:var(--sa40-text-soft);}

/* ---------- Winners showcase ---------- */
.sa40-winner-list li{
  display:flex;align-items:center;justify-content:space-between;
  padding:.7rem .9rem;
  background:var(--sa40-bg-soft);
  border-radius:8px;
  margin-bottom:.5rem;
  font-size:1.3rem;
}
.sa40-winner-list .sa40-w-name{color:var(--sa40-text);font-weight:600;}
.sa40-winner-list .sa40-w-game{color:var(--sa40-text-muted);font-size:1.15rem;}
.sa40-winner-list .sa40-w-amount{color:var(--sa40-primary);font-weight:800;}

/* ---------- RTP table ---------- */
.sa40-rtp-table{
  width:100%;border-collapse:collapse;
  background:var(--sa40-bg-soft);
  border-radius:10px;overflow:hidden;
  font-size:1.25rem;
}
.sa40-rtp-table th,.sa40-rtp-table td{
  padding:.7rem .6rem;text-align:left;border-bottom:1px solid rgba(255,255,255,.06);
}
.sa40-rtp-table th{background:rgba(255,204,2,.12);color:var(--sa40-primary);font-size:1.2rem;}
.sa40-rtp-table td{color:var(--sa40-text-soft);}
.sa40-rtp-table .sa40-rt-num{color:var(--sa40-mint);font-weight:700;}

/* ---------- Promo banner band ---------- */
.sa40-promo-band{
  background:linear-gradient(135deg,var(--sa40-red),#5a0f0f);
  border-radius:var(--sa40-radius);
  padding:1.4rem 1.2rem;
  margin-bottom:1.4rem;
  text-align:center;
}
.sa40-promo-band h3{font-size:1.8rem;color:#fff;margin-bottom:.4rem;}
.sa40-promo-band p{font-size:1.3rem;color:#ffe0e0;margin-bottom:.9rem;}
.sa40-promo-band .sa40-btn{display:inline-flex;padding:.7rem 1.8rem;}

/* ---------- Footer ---------- */
.sa40-footer{
  background:#161616;
  border-top:2px solid var(--sa40-primary);
  padding:2rem 1.2rem 1.2rem;
  margin-top:1.6rem;
}
.sa40-footer-brand{
  display:flex;align-items:center;gap:.6rem;margin-bottom:.9rem;
}
.sa40-footer-brand img{width:32px;height:32px;border-radius:6px;}
.sa40-footer-brand strong{font-size:1.7rem;color:var(--sa40-primary);}
.sa40-footer p{font-size:1.25rem;color:var(--sa40-text-muted);margin-bottom:1.2rem;}
.sa40-footer-links{
  display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.2rem;
}
.sa40-footer-links a{
  font-size:1.18rem;
  padding:.35rem .8rem;
  background:rgba(255,255,255,.05);
  border-radius:20px;
  color:var(--sa40-text-soft);
}
.sa40-footer-links a:hover{background:rgba(255,204,2,.15);color:var(--sa40-primary);}
.sa40-footer-cta{
  display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.4rem;
}
.sa40-footer-copy{
  text-align:center;font-size:1.15rem;color:var(--sa40-text-muted);
  padding-top:1rem;border-top:1px solid rgba(255,255,255,.06);
}

/* ---------- Mobile bottom nav ---------- */
.sa40-bottom-nav{
  position:fixed;
  bottom:0;left:0;right:0;
  height:var(--sa40-bottom-h);
  background:linear-gradient(0deg,#111,#1d1d1d);
  border-top:2px solid var(--sa40-primary);
  z-index:1000;
  display:flex;justify-content:space-around;align-items:stretch;
}
.sa40-bottom-nav .sa40-nav-btn{
  flex:1;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  min-width:60px;min-height:60px;
  color:var(--sa40-text-soft);
  font-size:1.05rem;
  gap:.15rem;
  position:relative;
  transition:color .18s ease,background .18s ease;
}
.sa40-bottom-nav .sa40-nav-btn i{
  font-size:2.2rem;
}
.sa40-bottom-nav .sa40-nav-btn .material-icons,
.sa40-bottom-nav .sa40-nav-btn .bi{
  font-size:2.2rem;
}
.sa40-bottom-nav .sa40-nav-btn:hover{color:var(--sa40-primary);}
.sa40-bottom-nav .sa40-nav-btn.sa40-active{color:var(--sa40-primary);}
.sa40-bottom-nav .sa40-nav-btn.sa40-active::before{
  content:"";position:absolute;top:0;left:25%;right:25%;height:3px;
  background:var(--sa40-primary);border-radius:0 0 4px 4px;
}
.sa40-nav-badge{
  position:absolute;top:6px;right:18px;
  background:var(--sa40-red);color:#fff;
  font-size:.95rem;font-weight:700;
  min-width:16px;height:16px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  padding:0 4px;
}

/* ---------- Desktop: hide bottom nav, widen layout ---------- */
@media (min-width:769px){
  .sa40-bottom-nav{display:none;}
  .sa40-wrapper{max-width:760px;}
  .sa40-game-grid{grid-template-columns:repeat(5,1fr);}
  .sa40-pay-grid{grid-template-columns:repeat(6,1fr);}
  .sa40-testi-grid{grid-template-columns:repeat(2,1fr);}
  .sa40-main{padding-bottom:2rem;}
}
@media (max-width:768px){
  .sa40-main{padding-bottom:calc(var(--sa40-bottom-h) + 2rem);}
}

/* ---------- Utility ---------- */
.sa40-text-center{text-align:center;}
.sa40-mt-1{margin-top:.6rem;}
.sa40-mt-2{margin-top:1.2rem;}
.sa40-hide-desktop{}
.sa40-seo-text{font-size:1.32rem;color:var(--sa40-text-soft);margin-bottom:1rem;}
.sa40-seo-text strong{color:var(--sa40-primary);}
.sa40-inline-link{color:var(--sa40-mint);font-weight:700;border-bottom:1px dotted var(--sa40-mint);}
.sa40-inline-link:hover{color:var(--sa40-primary);}

.sa40-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:.4rem 0 1rem;}
.sa40-tags span{
  font-size:1.1rem;padding:.25rem .7rem;border-radius:20px;
  background:rgba(175,238,238,.12);color:var(--sa40-mint);
}
