/* ========================================
   RESPONSIVE DESIGN - MEDIA QUERIES
   ======================================== */

/* ---------- Tablet (max-width: 1024px) ---------- */
@media (max-width: 1024px) {
  :root {
    --section-padding: 80px 0;
  }

  /* Features */
  .features-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .features-grid > .feature-card:last-child:nth-child(3n + 1) {
    grid-column: auto;
  }

  /* Counters / Facts */
  .counters-grid,
  .facts-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* About */
  .about-split {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .about-image img {
    height: 400px;
  }

  .about-image::after {
    display: none;
  }

  /* Skills */
  .skills-grid {
    grid-template-columns: 1fr;
  }

  /* Services */
  .services-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .services-grid > .flip-card:last-child:nth-child(3n + 1) {
    grid-column: auto;
  }

  /* Pricing */
  .pricing-grid {
    grid-template-columns: 1fr;
    max-width: 500px;
    margin: 0 auto;
  }

  .pricing-card.featured {
    transform: none;
  }

  .pricing-card.featured:hover {
    transform: translateY(-8px);
  }

  /* Process */
  .process-grid {
    grid-template-columns: repeat(2, 1fr);
  }

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

  /* Gallery */
  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Contact */
  .contact-grid {
    grid-template-columns: 1fr;
  }

  /* Footer */
  .footer-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ---------- Mobile Large (max-width: 768px) ---------- */
@media (max-width: 768px) {
  :root {
    --section-padding: 60px 0;
    --nav-height: 70px;
  }

  /* Navigation */
  .nav-links {
    display: none;
  }

  .hamburger {
    display: flex;
  }

  .mobile-menu {
    display: block;
  }

  /* Hero */
  .hero {
    text-align: center;
  }

  .hero-content p {
    margin-left: auto;
    margin-right: auto;
  }

  .hero-buttons {
    justify-content: center;
  }

  .hero-scroll-indicator {
    display: none;
  }

  /* Features */
  .features-grid {
    grid-template-columns: 1fr;
    max-width: 500px;
    margin: 0 auto;
  }

  .features-grid > .feature-card:last-child:nth-child(3n + 1) {
    grid-column: auto;
  }

  /* Parallax */
  .parallax-section {
    height: 350px;
  }

  /* Counters */
  .counters-grid,
  .facts-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  .counter-number {
    font-size: 2.2rem;
  }

  /* Testimonials */
  .testimonials-wrapper {
    padding: 0 10px;
  }

  .swiper-button-prev,
  .swiper-button-next {
    display: none !important;
  }

  /* Timeline */
  .timeline::before {
    left: 20px;
  }

  .timeline-item,
  .timeline-item:nth-child(odd),
  .timeline-item:nth-child(even) {
    width: 100%;
    margin-left: 0;
    padding-left: 50px;
    padding-right: 0;
    justify-content: flex-start;
  }

  .timeline-item:nth-child(odd) .timeline-dot,
  .timeline-item:nth-child(even) .timeline-dot {
    left: 12px;
    right: auto;
  }

  /* Services */
  .services-grid {
    grid-template-columns: 1fr;
    max-width: 400px;
    margin: 0 auto;
  }

  .services-grid > .flip-card:last-child:nth-child(3n + 1) {
    grid-column: auto;
  }

  .flip-card {
    height: 300px;
  }

  /* Process */
  .process-grid {
    grid-template-columns: 1fr;
    max-width: 300px;
    margin: 0 auto;
  }

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

  /* Footer */
  .footer-grid {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .footer-social {
    justify-content: center;
  }

  .footer-links a:hover {
    padding-left: 0;
  }
}

/* ---------- Mobile Small (max-width: 480px) ---------- */
@media (max-width: 480px) {
  :root {
    --section-padding: 50px 0;
    --container-padding: 0 16px;
  }

  h1 {
    font-size: 2rem;
  }

  h2 {
    font-size: 1.6rem;
  }

  /* Hero */
  .hero-buttons {
    flex-direction: column;
    width: 100%;
  }

  .hero-buttons .btn {
    width: 100%;
    justify-content: center;
  }

  /* Counters */
  .counters-grid {
    grid-template-columns: 1fr 1fr;
  }

  .counter-number {
    font-size: 1.8rem;
  }

  /* Contact Form */
  .contact-form {
    padding: 24px;
  }

  /* Pricing */
  .pricing-card {
    padding: 30px 20px;
  }

  /* Section Header */
  .section-header {
    margin-bottom: 40px;
  }

  .palette-info {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ---------- Tools Responsive ---------- */
@media (max-width: 1024px) {
  .tools-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .tools-grid {
    grid-template-columns: 1fr;
    max-width: 500px;
    margin: 0 auto;
  }

  .tool-box {
    padding: 24px;
  }

  .tool-row {
    flex-direction: column;
  }

  .tool-swap-btn {
    align-self: center;
    margin-bottom: 0;
    transform: rotate(90deg);
  }

  .palette-container {
    height: 150px;
  }

  .palette-info {
    grid-template-columns: repeat(3, 1fr);
  }

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

@media (max-width: 480px) {
  .palette-info {
    grid-template-columns: repeat(2, 1fr);
  }

  .password-display {
    flex-direction: column;
    text-align: center;
  }
}
