/* Base */
*,
*::before,
*::after { box-sizing: border-box; }

html, body { height: 100%; }
html { overflow-x: hidden; }
body {
  margin: 0;
  font-family: 'Montserrat', Arial, sans-serif;
  background: #FFFFFF;
  color: #111;
  line-height: 1.5;
}

/* ---------- NAVBAR ---------- */
.navbar {
  position: sticky; top: 0; z-index: 1000;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 16px;
  padding: 14px 20px;
  background: #fcfcfc;
  border-bottom: 1px solid #e2e2e2;
}
.nav-logo img { height: 60px; width: auto; display: block; }

/* Hamburger */
.hamburger{
  display:none;
  width:44px; height:44px; border:0; background:transparent; cursor:pointer; justify-self:start;
  position: relative;
}
.hamburger span{
  position:absolute; left:9px; right:9px; height:3px; background:#333; border-radius:2px;
  transition:transform .2s ease, opacity .2s ease;
}
.hamburger span:nth-child(1){ top:12px; }
.hamburger span:nth-child(2){ top:20px; }
.hamburger span:nth-child(3){ top:28px; }

/* Center links */
.nav-menu{
  justify-self:center;
  display:flex; align-items:center; gap:28px;
}
.nav-link{
  color:#555; text-decoration:none; font-weight:600;
  padding:8px 14px; border-radius:10px; transition:.2s;
  font-size: 1.05rem;
  white-space: nowrap;
}
.nav-link:hover,
.nav-link.active{ background:linear-gradient(180deg, #033178, #12386B); color:#fff; }

/* Right button */
.nav-download .download-btn{
  display:inline-block;
  padding:10px 22px;
  background:linear-gradient(180deg, #0c2461, #283e6a);
  color:#fff; text-decoration:none; font-weight:600; border-radius:12px;
  box-shadow:0 6px 14px rgba(44,62,80,.12);
}

/* ---------- MOBILE NAV ---------- */
@media (max-width: 900px){
  .navbar{
    grid-template-columns: auto auto 1fr;
  }
  .nav-download{ display:none; }
  .hamburger{ display:block; }

  .nav-menu{
    position: fixed; inset: 64px 0 auto 0;
    display: none; flex-direction: column; align-items: flex-start;
    gap: 12px; padding: 16px 20px;
    background: #fff; border-top: 1px solid #eee; box-shadow: 0 6px 20px rgba(0,0,0,.06);
    z-index: 999;
  }
  .nav-menu.active{ display: flex; }
  .no-scroll{ overflow: hidden; }
}

/* ---------- ABOUT SECTION ---------- */
.about-section{
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 32px;
  align-items: center;
  padding: 28px 5vw;
}
.about-images{ display:flex; justify-content:center; }

/* ---------- SLIDER ---------- */
.slider {
  width: min(380px, 88vw);
  aspect-ratio: 9 / 16;
  border-radius: 20px;
  overflow: hidden;
  background: #eef2ff;
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
  position: relative;
}

.slides {
  display: flex;
  height: 100%;
  transition: transform 0.6s ease-in-out; /* smooth sliding */
}

.slides img {
  width: 100%;
  flex: 0 0 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

/* Nav arrows */
.prev, .next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,0.4);
  color: #fff;
  border: none;
  padding: 8px 12px;
  cursor: pointer;
  border-radius: 50%;
  font-size: 18px;
}
.prev { left: 8px; }
.next { right: 8px; }

/* Dots */
.testimonial-dots {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
}
.testimonial-dots span {
  width: 10px; height: 10px;
  background: #bbb;
  border-radius: 50%;
  display: inline-block;
  cursor: pointer;
  transition: background 0.3s;
}
.testimonial-dots span.active {
  background: #033178;
}

/* ---------- ABOUT CONTENT ---------- */
.about-content h2{
  font-size: 2rem; color:#01338E; margin: 0 0 10px 0; font-weight:700;
}
.about-content p{ font-size: 1.1rem; color:#444; margin: 0 0 16px 0; }
.feature-list{ list-style:none; padding:0; margin:0 0 22px 0; display:grid; grid-template-columns: 1fr 1fr; gap:8px 16px; }
.feature-list li{ font-size: 1rem; color:#333; }

.btn{
  display:inline-block; padding:.8rem 1.1rem; border-radius:12px; font-weight:600; text-decoration:none;
  background:#eef3ff; color:#033178;
}

@media (max-width: 900px){
  .about-section{ grid-template-columns: 1fr; text-align:center; }
  .feature-list{ grid-template-columns: 1fr; }
}

/* ---------- GAME RULES ---------- */
.game-rules{ background:#f2fdf9; padding: 50px 5vw; display:flex; justify-content:center; }
.game-rules-container{
  display:grid; grid-template-columns: .9fr 1.1fr; gap: 32px; align-items:center; max-width:1200px; width:100%;
}
.game-rules-image img{ width: clamp(180px, 28vw, 280px); border-radius:50%; display:block; margin-inline:auto; }
.game-rules-content h2{ font-size: 2rem; color:#01338E; margin:0 0 10px 0; }
.game-rules-content p{ font-size: 1.1rem; color:#444; margin:0 0 16px 0; }
.google-btn img{ width: 200px; transition: transform .2s; }
.google-btn img:hover{ transform: scale(1.05); }

@media (max-width: 900px){
  .game-rules-container{ grid-template-columns: 1fr; text-align:center; }
}

/* ---------- FOOTER ---------- */
.footer{ background:#0d2c61; color:#fff; }
.footer-top{
  display:grid; grid-template-columns: 1fr 1fr 1fr; gap: 24px;
  padding: 42px 5vw; border-bottom: 1px solid rgba(255,255,255,.2);
}
.footer-left{ text-align:center; }
.footer-logo{ width:80px; margin: 0 auto 10px; }
.footer-left h4{ margin:0; font-size:16px; font-weight:700; }
.footer-middle h3, .footer-right h3{ margin:0 0 10px; font-size:18px; }
.footer-middle p{ margin:0; color:#d9d9d9; font-size:14px; line-height:1.6; }
.footer-right ul{ list-style:none; margin:0; padding:0; }
.footer-right li{ margin-bottom:8px; }
.footer-right a{ color:#fff; text-decoration:none; }
.footer-right a:hover{ text-decoration:underline; }

.footer-bottom{ text-align:center; padding:18px 5vw; }
.footer-copy p{ margin:4px 0; }
.footer-copy a{ color:#fff; text-decoration:none; }
.footer-copy a:hover{ text-decoration:underline; }

@media (max-width: 900px){
  .footer-top{ grid-template-columns: 1fr; text-align:center; }
}
