/* ==========================================================================
   A-ONE VEGETABLE — Responsive Stylesheet
   ========================================================================== */

/* ---------- Tablet: 1024px ---------- */
@media (max-width: 1024px) {
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .gallery-grid { grid-template-columns: repeat(3, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .contact-grid { grid-template-columns: 1fr; }
  .split { gap: var(--space-md); }
}

/* ---------- Tablet / small: 900px ---------- */
@media (max-width: 900px) {
  .hamburger { display: flex; }
  .nav-menu {
    position: fixed;
    top: 0; right: -100%;
    width: min(320px, 80%);
    height: 100vh;
    background: var(--color-white);
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: var(--space-md);
    padding: 6.5rem var(--space-md) var(--space-md);
    transition: right var(--transition);
    box-shadow: -10px 0 40px rgba(0,0,0,0.15);
  }
  .nav-menu.open { right: 0; }
  .nav-cta { flex-direction: column; align-items: flex-start; width: 100%; }
  .nav-cta .btn { width: 100%; justify-content: center; }

  .split { grid-template-columns: 1fr; }
  .split-media img { height: 320px; }
  .split-media .badge-float { right: 1rem; }

  .gallery-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 190px; }
  .gallery-item.wide { grid-column: span 2; }
  .gallery-item.tall { grid-row: span 1; }
}

/* ---------- Mobile: 640px ---------- */
@media (max-width: 640px) {
  .grid-3, .grid-4 { grid-template-columns: 1fr; }
  .hero-content { padding-top: 3.5rem; }
  .hero-stats { gap: var(--space-md); }
  .hero-actions .btn { flex: 1; justify-content: center; }

  .footer-grid { grid-template-columns: 1fr; gap: var(--space-md); }
  .footer-bottom { flex-direction: column; gap: 0.6rem; text-align: center; }

  .form-row { grid-template-columns: 1fr; }
  .service-row { flex-direction: column; align-items: flex-start; gap: var(--space-sm); }
  .service-arrow { align-self: flex-end; }

  .gallery-grid { grid-template-columns: 1fr; grid-auto-rows: 220px; }
  .gallery-item.wide, .gallery-item.tall { grid-column: span 1; grid-row: span 1; }

  .lightbox-prev, .lightbox-next { width: 40px; height: 40px; }
  .cta-band { margin: 0 var(--space-sm); padding: var(--space-lg) var(--space-sm); }

  section { padding: var(--space-lg) 0; }
}

/* ---------- Small mobile: 420px ---------- */
@media (max-width: 420px) {
  .container { padding: 0 1.1rem; }
  .brand-text .name { font-size: 1rem; }
  .hero h1 { font-size: 2rem; }
  .contact-form-card, .contact-info-card { padding: var(--space-md) 1.2rem; }
}
