/* ============================================================
   EVENTS BY JESSICA — Responsive Styles
   ============================================================ */

/* ---- Wide (1440px+) ---- */
@media (min-width: 1440px) {
  :root { --container: 1380px; }
  .hero__title { font-size: 6rem; }
}

/* ---- Desktop (1024px–1439px) — default, most styles in style.css ---- */

/* ---- Tablet (768px–1023px) ---- */
@media (max-width: 1023px) {
  :root {
    --space-2xl: 5rem;
    --space-3xl: 7rem;
  }

  /* Nav */
  .site-nav { display: none; }
  .hamburger { display: flex; }
  .mobile-nav { display: flex; }

  /* Hero */
  .hero__deco { display: none; }

  /* About */
  .about-grid {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .about-image-wrap::before { display: none; }
  .about-image-wrap img { height: 400px; }
  .about-badge { right: 1rem; }

  /* Services */
  .services-grid { grid-template-columns: 1fr 1fr; }

  /* Process */
  .process-steps {
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem 2rem;
  }

  .process-steps::before { display: none; }

  /* Stats */
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .stat-item:nth-child(2)::after { display: none; }

  /* Reviews */
  .review-card { min-width: 280px; flex: 0 0 280px; }

  /* Portfolio */
  .portfolio-grid { grid-template-columns: 1fr; }
  .portfolio-item:first-child { aspect-ratio: 4/3; grid-row: span 1; }

  /* Inquiry */
  .inquiry-grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  /* Instagram */
  .instagram-grid { grid-template-columns: repeat(3, 1fr); }

  /* Footer */
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
  }
}

/* ---- Mobile (max 767px) ---- */
@media (max-width: 767px) {
  :root {
    --space-xl:  3rem;
    --space-2xl: 4rem;
    --space-3xl: 5.5rem;
  }

  .container { padding-inline: 1.25rem; }

  /* Sticky CTA — show on mobile */
  .sticky-cta {
    display: flex;
  }

  /* Add bottom padding to prevent content hidden under sticky bar */
  body {
    padding-bottom: 78px;
  }

  /* Header */
  .site-header { padding-block: 1rem; }
  .logo-text span:first-child { font-size: 1.4rem; }
  .logo-text span:last-child { display: none; }

  /* Hero */
  .hero { min-height: 100svh; }
  .hero__content { text-align: center; }
  .hero__title { font-size: clamp(2.2rem, 9vw, 3.5rem); }
  .hero__script { font-size: 2rem; }
  .hero__subtitle { font-size: 1.05rem; }
  .hero__ctas {
    justify-content: center;
    flex-direction: column;
    align-items: center;
  }
  .hero__bg { background-attachment: scroll !important; }

  /* Stats */
  .stats-grid {
    grid-template-columns: 1fr 1fr;
    gap: 0;
  }
  .stat-item::after { display: none; }
  .stat-item:nth-child(1),
  .stat-item:nth-child(2) {
    border-bottom: 1px solid rgba(201,168,76,0.15);
  }

  /* Section */
  .section-title { font-size: clamp(1.7rem, 6vw, 2.2rem); }
  .section-label { font-size: 2.2rem; }

  /* About */
  .about-grid { gap: 2rem; }
  .about-image-wrap img { height: 300px; }
  .about-badge {
    right: 0.5rem;
    bottom: 1rem;
    padding: 0.75rem 1rem;
  }
  .about-badge strong { font-size: 1.4rem; }

  /* Services */
  .services-grid { grid-template-columns: 1fr; }

  /* Process */
  .process-steps {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  /* Reviews */
  .review-card { min-width: 260px; flex: 0 0 260px; }
  .reviews-tabs { gap: 0.35rem; }
  .reviews-tab { font-size: 0.75rem; padding: 0.45rem 0.85rem; }

  /* Portfolio */
  .portfolio-grid { gap: 0.75rem; }

  /* Form */
  .form-grid { grid-template-columns: 1fr; }
  .form-group.full { grid-column: span 1; }
  .form-card { padding: 1.5rem; }

  /* Inquiry info */
  .inquiry-info h2 { font-size: 1.8rem; }

  /* Instagram */
  .instagram-grid { grid-template-columns: repeat(3, 1fr); }

  /* Footer */
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .footer-bottom {
    flex-direction: column;
    text-align: center;
    gap: 0.5rem;
  }

  /* Page hero */
  .page-hero { height: 40vh; min-height: 300px; }

  /* Packages */
  .packages-grid { grid-template-columns: 1fr; }
  .packages-toggle { flex-wrap: wrap; }

  /* Rentals */
  .rentals-grid { grid-template-columns: 1fr; }

  /* Gallery */
  .gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .gallery-filters { flex-wrap: wrap; justify-content: center; }
  .gallery-filter-btn { font-size: 0.75rem; padding: 0.4rem 0.85rem; }

  /* Testimonials */
  .testimonials-grid { grid-template-columns: 1fr; }

  /* FAQs */
  .faq-item { padding: 1.25rem; }

  /* Contact */
  .contact-grid { grid-template-columns: 1fr; }
  .contact-map { height: 250px; }
}

/* ---- Small Mobile (max 480px) ---- */
@media (max-width: 480px) {
  .hero__title { font-size: clamp(1.9rem, 8vw, 2.5rem); }
  .btn { padding: 0.8rem 1.6rem; font-size: 0.75rem; }
  .btn-lg { padding: 0.95rem 1.8rem; font-size: 0.85rem; }

  .review-card { min-width: 240px; flex: 0 0 240px; }

  .instagram-grid { grid-template-columns: repeat(2, 1fr); }

  .gallery-grid { grid-template-columns: 1fr; }

  .sticky-cta__btn { font-size: 0.75rem; padding: 0.75rem 0.75rem; }
}

/* ---- Disable parallax on mobile for performance ---- */
@media (max-width: 767px) {
  .hero__bg,
  .page-hero__bg,
  .rentals-banner__bg {
    background-attachment: scroll !important;
    transform: none !important;
  }
}

/* ---- Reduced Motion ---- */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  html { scroll-behavior: auto; }

  [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* ---- Print ---- */
@media print {
  .site-header,
  .mobile-nav,
  .sticky-cta,
  .hero__scroll-indicator {
    display: none !important;
  }

  body { padding-bottom: 0 !important; }
}
