/* ===================================================
   TAHAP 2 — RESPONSIVE.CSS
   Semua media query terpusat di sini.
=================================================== */

/* ---------- Tablet & below (≤900px) ---------- */
@media (max-width: 900px) {
  .nav-toggle { display: flex; }

  .nav-links {
    position: fixed;
    top: 0; left: 0; right: 0;
    padding-top: 88px;
    flex-direction: column;
    gap: 0;
    background: rgba(10,10,15,0.98);
    backdrop-filter: blur(14px) saturate(140%);
    border-bottom: 1px solid var(--line);
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transition: max-height 0.45s var(--ease), opacity 0.3s var(--ease);
  }
  .nav-links a {
    padding: 18px 32px;
    border-top: 1px solid var(--line);
    font-size: 16px;
    opacity: 0;
    transform: translateY(-8px);
    transition: opacity 0.35s var(--ease), transform 0.35s var(--ease);
  }
  .nav-links--open {
    max-height: calc(100vh - 88px);
    opacity: 1;
    visibility: visible;
  }
  .nav-links--open a {
    opacity: 1;
    transform: translateY(0);
  }
  .nav-links--open a:nth-child(1) { transition-delay: 0.08s; }
  .nav-links--open a:nth-child(2) { transition-delay: 0.13s; }
  .nav-links--open a:nth-child(3) { transition-delay: 0.18s; }
  .nav-links--open a:nth-child(4) { transition-delay: 0.23s; }
  .nav-links--open a:nth-child(5) { transition-delay: 0.28s; }
  .nav-links--open a:nth-child(6) { transition-delay: 0.33s; }

  .nav-cta { display: none !important; }
  
  .nav-cta {
  position: absolute;
  top: 100%;
  left : 0
  right: 0;
  margin-top: 10px;
  padding: 0;
  font-size: 12px;
  text-align: center;
  background: none;
  border: none;
  color: var(--gold);
  z-index: 90;
}
  
  
  
  .nav-links--open + .nav-cta { transform: translateY(0); }

  body.nav-open-lock { overflow: hidden; }

  .collection-grid { grid-template-columns: 1fr; }
  .c-card--wide { grid-column: span 1; }

  .process-rail { grid-template-columns: 1fr 1fr; gap: 32px 0; }

  .gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .g-item--tall { grid-row: span 2; }

  .cta-info { flex-direction: column; gap: 24px; text-align: center; align-items: center; }

  /* Section padding lebih ringkas supaya tidak terlalu panjang di layar sempit */
  .collection { padding: 80px 0; }
  .process { padding: 40px 0 90px; }
  .ba, .gallery, .faq { padding: 40px 0 90px; }
  .testimonial { padding: 70px 24px; }
  .cta { padding: 90px 24px; }
  .section-head { margin-bottom: 36px; }
  .ba-frame { aspect-ratio: 4 / 5; }
}

/* ---------- Mobile (≤560px) ---------- */
@media (max-width: 560px) {
  .nav-inner, .hero-inner, .section-head, .collection-grid,
  .process-rail, .ba-slider, .gallery-grid, .gallery-note,
  .faq-list, .footer-inner { padding-left: 20px; padding-right: 20px; }

  .hero { padding: 110px 20px 60px; min-height: auto; }
  .hero-title { font-size: clamp(32px, 9vw, 44px); }
  .hero-sub { font-size: 15.5px; }
  .hero-actions .btn { flex: 1 1 auto; text-align: center; }
  .hero-stats { gap: 16px; row-gap: 20px; }
  .stat-num { font-size: 22px; }
  .process-rail { grid-template-columns: 1fr; }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 110px; gap: 8px; }
 .collection { padding: 56px 0; }
 .process { padding: 32px 0 64px; }
 .ba, .gallery, .faq { padding: 32px 0 64px; }
 .testimonial { padding: 56px 20px; }
 .cta { padding: 64px 20px; }
 .cta-inner .hero-actions { flex-direction: column; } 
 .cta-inner .btn { width: 100%; }
 .faq-question { font-size: 15px; padding: 20px 2px; gap: 16px; }

  .wa-float { width: 48px; height: 48px; bottom: 16px; right: 16px; }
  .wa-float svg { width: 22px; height: 22px; }
  .lightbox { padding: 16px; }
  .lightbox-close { top: 12px; right: 16px; }
}
