/* ==========================================================
   gperya.homes - Core base stylesheet
   Mobile-first HTML5 casino/gaming site (max-width: 430px)
   All custom classes use the "s671-" prefix.
   Comments in English only.
   ========================================================== */

:root{
  /* CSS variables (prefixed) */
  --s671-primary:#004D40;      /* deep teal - background */
  --s671-secondary:#FFB347;    /* warm amber - accent */
  --s671-dark:#1B263B;         /* dark navy - background */
  --s671-gold:#DAA520;         /* golden - highlight */
  --s671-bg:#0d2a26;           /* page background */
  --s671-surface:#11352f;      /* card surface */
  --s671-surface2:#163b34;     /* alt card surface */
  --s671-text:#f5efe0;         /* primary text */
  --s671-text-muted:#c9c0aa;   /* secondary text */
  --s671-border:rgba(218,165,32,0.22);
  --s671-shadow:0 0.5rem 1.5rem rgba(0,0,0,0.35);
  --s671-radius:1.2rem;
  --s671-radius-sm:0.8rem;
}

*{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",system-ui,-apple-system,Roboto,Arial,sans-serif;
  font-size:1.6rem;line-height:1.5rem;
  background:var(--s671-bg);
  color:var(--s671-text);
  max-width:430px;margin:0 auto;
  min-height:100vh;
  overflow-x:hidden;
  background-image:
    radial-gradient(circle at 0% 0%, rgba(0,77,64,0.55) 0%, transparent 45%),
    radial-gradient(circle at 100% 100%, rgba(218,165,32,0.12) 0%, transparent 50%),
    linear-gradient(180deg, #0d2a26 0%, #0a1f1c 100%);
  background-attachment:fixed;
}

a{color:var(--s671-secondary);text-decoration:none;}
img{max-width:100%;display:block;}

/* ===== Layout containers ===== */
.s671-container{width:100%;max-width:430px;margin:0 auto;padding:0 1.2rem;}
.s671-wrapper{padding:1rem 0;}
.s671-section{margin:2rem 0;padding:1.4rem;background:var(--s671-surface);border-radius:var(--s671-radius);border:1px solid var(--s671-border);box-shadow:var(--s671-shadow);}

/* ===== Header / Top navigation ===== */
.s671-header{
  position:fixed;top:0;left:50%;transform:translateX(-50%);
  width:100%;max-width:430px;z-index:1000;
  background:linear-gradient(180deg, rgba(27,38,59,0.96), rgba(0,77,64,0.96));
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--s671-border);
  padding:0.8rem 1rem;
  display:flex;align-items:center;justify-content:space-between;gap:0.6rem;
}
.s671-logo{display:flex;align-items:center;gap:0.6rem;min-width:0;}
.s671-logo img{width:2.8rem;height:2.8rem;border-radius:0.6rem;}
.s671-logo span{font-size:1.8rem;font-weight:800;color:var(--s671-gold);letter-spacing:0.04em;white-space:nowrap;}
.s671-header-actions{display:flex;align-items:center;gap:0.5rem;}
.s671-icon-btn{
  background:transparent;border:none;color:var(--s671-text);
  font-size:2rem;width:3.6rem;height:3.6rem;border-radius:0.8rem;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
}
.s671-icon-btn:active{transform:scale(0.92);background:rgba(255,255,255,0.06);}

.s671-btn{
  border:none;cursor:pointer;font-weight:700;border-radius:1rem;
  padding:0.7rem 1.2rem;font-size:1.3rem;min-height:3.4rem;
  transition:transform 0.15s ease, box-shadow 0.15s ease;
  display:inline-flex;align-items:center;justify-content:center;gap:0.4rem;
}
.s671-btn:active{transform:scale(0.96);}
.s671-btn-register{background:linear-gradient(135deg,#FFB347,#ff9b3d);color:#1B263B;box-shadow:0 0.3rem 0.8rem rgba(255,179,71,0.35);}
.s671-btn-login{background:transparent;color:var(--s671-text);border:1.5px solid var(--s671-gold);}
.s671-btn-cta{background:linear-gradient(135deg,#DAA520,#FFB347);color:#1B263B;width:100%;padding:1rem;font-size:1.5rem;}
.s671-btn-ghost{background:rgba(218,165,32,0.12);color:var(--s671-gold);border:1px solid var(--s671-border);}

/* ===== Expandable nav menu ===== */
.s671-nav{
  position:fixed;top:6.4rem;left:50%;transform:translateX(-50%);
  width:100%;max-width:430px;z-index:9999;
  background:var(--s671-dark);
  border-bottom:1px solid var(--s671-border);
  max-height:0;overflow:hidden;transition:max-height 0.3s ease;
  box-shadow:var(--s671-shadow);
}
.s671-nav.s671-open{max-height:60rem;}
.s671-nav-list{list-style:none;padding:0.6rem 1rem;}
.s671-nav-list li a{
  display:flex;align-items:center;gap:0.8rem;
  padding:1rem;color:var(--s671-text);font-size:1.4rem;font-weight:600;
  border-bottom:1px dashed rgba(255,255,255,0.08);
}
.s671-nav-list li a:active{background:rgba(218,165,32,0.08);}
.s671-nav-list li a i,.s671-nav-list li a span.material-icons-outlined{color:var(--s671-secondary);font-size:1.8rem;}

.s671-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:9998;opacity:0;pointer-events:none;transition:opacity 0.25s ease;}
.s671-overlay.s671-open{opacity:1;pointer-events:auto;}

/* ===== Main content ===== */
main{padding-top:6.4rem;}
@media (max-width:768px){
  main{padding-bottom:8rem;}
}

.s671-h1{
  font-size:2.2rem;line-height:1.35;color:var(--s671-gold);font-weight:800;
  margin:1rem 0 0.6rem;padding:0 0.4rem;
}
.s671-subtitle{color:var(--s671-text-muted);font-size:1.35rem;padding:0 0.4rem;margin-bottom:0.8rem;line-height:1.5;}

.s671-h2{font-size:1.9rem;color:var(--s671-secondary);font-weight:800;margin-bottom:0.8rem;display:flex;align-items:center;gap:0.6rem;}
.s671-h3{font-size:1.55rem;color:var(--s671-gold);font-weight:700;margin:0.6rem 0;}
.s671-p{font-size:1.4rem;line-height:1.5;color:var(--s671-text);margin-bottom:0.8rem;}

/* ===== Promo / CTA banner text link ===== */
.s671-promo-link{color:var(--s671-secondary);font-weight:800;text-decoration:underline;cursor:pointer;}
.s671-promo-link-gold{color:var(--s671-gold);font-weight:800;cursor:pointer;}

/* ===== Carousel ===== */
.s671-carousel{position:relative;width:100%;border-radius:var(--s671-radius);overflow:hidden;margin:1rem 0;box-shadow:var(--s671-shadow);border:1px solid var(--s671-border);}
.s671-carousel-track{display:flex;transition:transform 0.45s ease;}
.s671-carousel-slide{min-width:100%;position:relative;}
.s671-carousel-slide img{width:100%;height:auto;display:block;}
.s671-carousel-cap{position:absolute;left:0;right:0;bottom:0;padding:1rem;background:linear-gradient(180deg,transparent,rgba(0,0,0,0.78));}
.s671-carousel-cap strong{color:var(--s671-gold);font-size:1.5rem;display:block;margin-bottom:0.3rem;}
.s671-carousel-cap span{color:var(--s671-text);font-size:1.2rem;}
.s671-carousel-dots{position:absolute;bottom:0.6rem;left:0;right:0;display:flex;justify-content:center;gap:0.5rem;z-index:2;}
.s671-carousel-dots button{width:0.8rem;height:0.8rem;border-radius:50%;border:none;background:rgba(255,255,255,0.35);cursor:pointer;padding:0;}
.s671-carousel-dots button.s671-active{background:var(--s671-gold);width:2rem;border-radius:0.5rem;}

/* ===== Game grid ===== */
.s671-cat-title{
  display:flex;align-items:center;justify-content:space-between;
  margin:1.6rem 0 0.8rem;padding:0 0.4rem;
}
.s671-cat-title h2{font-size:1.7rem;color:var(--s671-gold);font-weight:800;display:flex;align-items:center;gap:0.5rem;}
.s671-cat-title h2 i{color:var(--s671-secondary);}
.s671-cat-link{font-size:1.2rem;color:var(--s671-secondary);font-weight:700;}

.s671-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.7rem;padding:0 0.4rem;}
.s671-card{
  background:var(--s671-surface2);border-radius:var(--s671-radius-sm);
  border:1px solid var(--s671-border);overflow:hidden;cursor:pointer;
  transition:transform 0.15s ease, box-shadow 0.15s ease;
  display:flex;flex-direction:column;
}
.s671-card:active{transform:scale(0.96);box-shadow:0 0 1rem rgba(218,165,32,0.4);}
.s671-card-img{aspect-ratio:1/1;width:100%;background:rgba(0,0,0,0.25);}
.s671-card-img img{width:100%;height:100%;object-fit:cover;}
.s671-card-name{padding:0.5rem 0.4rem;font-size:1.15rem;text-align:center;color:var(--s671-text);font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* ===== Feature / info list ===== */
.s671-feature-grid{display:grid;grid-template-columns:1fr;gap:0.8rem;}
.s671-feature{
  display:flex;gap:1rem;align-items:flex-start;
  padding:1rem;background:var(--s671-surface2);border-radius:var(--s671-radius-sm);
  border-left:3px solid var(--s671-gold);
}
.s671-feature i,.s671-feature .material-icons-outlined{color:var(--s671-secondary);font-size:2.2rem;flex-shrink:0;}
.s671-feature h3{margin:0 0 0.2rem;}
.s671-feature p{font-size:1.3rem;color:var(--s671-text-muted);line-height:1.4;margin:0;}

/* ===== Steps ===== */
.s671-steps{counter-reset:step;display:flex;flex-direction:column;gap:0.8rem;}
.s671-step{display:flex;gap:1rem;padding:1rem;background:var(--s671-surface2);border-radius:var(--s671-radius-sm);}
.s671-step-num{flex-shrink:0;width:2.8rem;height:2.8rem;border-radius:50%;background:linear-gradient(135deg,#DAA520,#FFB347);color:#1B263B;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:1.4rem;}
.s671-step h3{margin:0 0 0.2rem;}
.s671-step p{margin:0;color:var(--s671-text-muted);font-size:1.3rem;}

/* ===== RTP / stat table ===== */
.s671-rtp-table{width:100%;border-collapse:collapse;font-size:1.3rem;}
.s671-rtp-table th,.s671-rtp-table td{padding:0.7rem 0.5rem;text-align:left;border-bottom:1px dashed rgba(255,255,255,0.08);}
.s671-rtp-table th{color:var(--s671-gold);font-size:1.2rem;text-transform:uppercase;letter-spacing:0.04em;}
.s671-rtp-table td.s671-num{color:var(--s671-secondary);font-weight:800;text-align:right;}

/* ===== Testimonials ===== */
.s671-testi{background:var(--s671-surface2);border-radius:var(--s671-radius-sm);padding:1rem;margin-bottom:0.8rem;border-left:3px solid var(--s671-secondary);}
.s671-testi-head{display:flex;align-items:center;gap:0.7rem;margin-bottom:0.4rem;}
.s671-testi-avatar{width:3rem;height:3rem;border-radius:50%;background:linear-gradient(135deg,#DAA520,#004D40);display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;font-size:1.3rem;}
.s671-testi-name{font-weight:700;color:var(--s671-gold);font-size:1.3rem;}
.s671-testi-stars{color:#FFB347;font-size:1.1rem;margin-left:auto;}
.s671-testi p{font-size:1.3rem;color:var(--s671-text-muted);margin:0;line-height:1.4;}

/* ===== Winners ticker ===== */
.s671-winner{display:flex;align-items:center;justify-content:space-between;padding:0.7rem 1rem;background:var(--s671-surface2);border-radius:0.8rem;margin-bottom:0.5rem;font-size:1.3rem;}
.s671-winner-name{color:var(--s671-gold);font-weight:700;}
.s671-winner-game{color:var(--s671-text-muted);font-size:1.2rem;}
.s671-winner-amount{color:var(--s671-secondary);font-weight:800;}

/* ===== Payment chips ===== */
.s671-pay-row{display:flex;flex-wrap:wrap;gap:0.6rem;}
.s671-pay-chip{background:var(--s671-surface2);border:1px solid var(--s671-border);border-radius:1rem;padding:0.6rem 1rem;font-size:1.2rem;color:var(--s671-text);display:flex;align-items:center;gap:0.4rem;font-weight:600;}
.s671-pay-chip i{color:var(--s671-secondary);}

/* ===== Category highlights ===== */
.s671-cat-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--s671-surface2);border-radius:var(--s671-radius-sm);margin-bottom:0.7rem;border:1px solid var(--s671-border);}
.s671-cat-card .s671-cat-ico{width:3.6rem;height:3.6rem;border-radius:0.8rem;background:linear-gradient(135deg,#004D40,#1B263B);display:flex;align-items:center;justify-content:center;font-size:1.8rem;color:var(--s671-gold);flex-shrink:0;}
.s671-cat-card h3{margin:0;font-size:1.4rem;}
.s671-cat-card p{margin:0;color:var(--s671-text-muted);font-size:1.2rem;line-height:1.3;}

/* ===== FAQ ===== */
.s671-faq-item{background:var(--s671-surface2);border-radius:var(--s671-radius-sm);margin-bottom:0.7rem;border:1px solid var(--s671-border);overflow:hidden;}
.s671-faq-q{padding:1rem;font-weight:700;color:var(--s671-gold);font-size:1.4rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;}
.s671-faq-q .s671-toggle{color:var(--s671-secondary);font-size:1.6rem;}
.s671-faq-a{padding:0 1rem 1rem;color:var(--s671-text-muted);font-size:1.3rem;line-height:1.5;display:none;}
.s671-faq-item.s671-open .s671-faq-a{display:block;}
.s671-faq-item.s671-open .s671-toggle{transform:rotate(45deg);}

/* ===== App download CTA ===== */
.s671-app-cta{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0.8rem;padding:1.4rem;background:linear-gradient(135deg,#004D40,#1B263B);border-radius:var(--s671-radius);border:1px solid var(--s671-border);}
.s671-app-cta h3{margin:0;font-size:1.6rem;color:var(--s671-gold);}
.s671-app-cta p{margin:0;color:var(--s671-text-muted);font-size:1.3rem;}
.s671-app-btns{display:flex;gap:0.6rem;flex-wrap:wrap;justify-content:center;}

/* ===== Trust badges ===== */
.s671-trust-row{display:flex;flex-wrap:wrap;gap:0.6rem;}
.s671-trust{flex:1 1 45%;background:var(--s671-surface2);border-radius:0.8rem;padding:0.9rem;display:flex;gap:0.6rem;align-items:center;border:1px solid var(--s671-border);min-width:14rem;}
.s671-trust i{color:var(--s671-gold);font-size:1.8rem;}
.s671-trust span{font-size:1.2rem;color:var(--s671-text);font-weight:600;}

/* ===== Footer ===== */
.s671-footer{background:var(--s671-dark);border-top:1px solid var(--s671-border);padding:2rem 1rem 1rem;margin-top:2rem;}
.s671-footer-brand{color:var(--s671-text-muted);font-size:1.3rem;line-height:1.5;margin-bottom:1rem;}
.s671-footer-brand strong{color:var(--s671-gold);}
.s671-footer-promos{display:flex;flex-wrap:wrap;gap:0.6rem;margin-bottom:1.2rem;}
.s671-footer-promos .s671-btn{flex:1 1 45%;min-width:14rem;font-size:1.25rem;padding:0.8rem;}
.s671-footer-links{display:flex;flex-wrap:wrap;gap:0.6rem 1rem;margin-bottom:1rem;}
.s671-footer-links a{color:var(--s671-text-muted);font-size:1.2rem;text-decoration:underline;}
.s671-footer-links a:hover{color:var(--s671-secondary);}
.s671-footer-copy{text-align:center;color:var(--s671-text-muted);font-size:1.15rem;border-top:1px dashed rgba(255,255,255,0.08);padding-top:1rem;}

/* ===== Mobile bottom navigation (fixed) ===== */
.s671-bottomnav{
  position:fixed;bottom:0;left:50%;transform:translateX(-50%);
  width:100%;max-width:430px;z-index:1000;
  height:6rem;background:linear-gradient(180deg,rgba(17,53,47,0.98),rgba(11,28,26,0.99));
  border-top:1px solid var(--s671-border);
  display:flex;justify-content:space-around;align-items:center;
  box-shadow:0 -0.4rem 1.2rem rgba(0,0,0,0.35);
}
.s671-bottomnav-btn{
  flex:1;height:100%;background:transparent;border:none;color:var(--s671-text-muted);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.2rem;
  cursor:pointer;font-size:1rem;font-weight:600;min-width:6rem;min-height:6rem;
  transition:color 0.15s ease, transform 0.15s ease;position:relative;
}
.s671-bottomnav-btn i,.s671-bottomnav-btn .material-icons-outlined,.s671-bottomnav-btn ion-icon{font-size:2.2rem;transition:transform 0.15s ease;}
.s671-bottomnav-btn:active{transform:scale(0.9);}
.s671-bottomnav-btn.s671-active{color:var(--s671-gold);}
.s671-bottomnav-btn.s671-active i,.s671-bottomnav-btn.s671-active .material-icons-outlined,.s671-bottomnav-btn.s671-active ion-icon{transform:translateY(-0.1rem);}
.s671-bottomnav-btn.s671-promo{color:var(--s671-secondary);}
.s671-bottomnav-btn .s671-badge{position:absolute;top:0.5rem;right:1.4rem;background:#ff4d4d;color:#fff;font-size:0.9rem;font-weight:700;border-radius:50%;width:1.6rem;height:1.6rem;display:flex;align-items:center;justify-content:center;}

/* Hide bottom nav on desktop */
@media (min-width:769px){.s671-bottomnav{display:none;}}

/* Desktop top bar adapts to wider screens (still capped at 430px look) */
.s671-desktop-hide{display:inline-flex;}

/* Utility */
.s671-text-center{text-align:center;}
.s671-mt-1{margin-top:1rem;}
.s671-mb-1{margin-bottom:1rem;}
.s671-hidden{display:none !important;}

/* Badge tag */
.s671-tag{display:inline-block;padding:0.2rem 0.7rem;background:rgba(218,165,32,0.15);color:var(--s671-gold);border-radius:1rem;font-size:1.1rem;font-weight:700;border:1px solid var(--s671-border);}

/* Responsive tweaks */
@media (max-width:360px){
  .s671-grid{grid-template-columns:repeat(2,1fr);}
  .s671-logo span{font-size:1.6rem;}
}
