/* ---------- RESPONSIVE SECTIONS (escluso nav menu) ---------- */

@media (max-width: 1024px) {
  html, body {
    overflow-x: hidden !important;
  }
  * {
    box-sizing: border-box;
  }
}

@media (max-width: 992px) {
  .container {
    max-width: 100%;
    width: 100%;
    padding-left: 8px;
    padding-right: 8px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    overflow-x: hidden;
  }
  /* Griglie a una colonna */
  .about-content,
  .mission-details,
  .values-grid,
  .team-grid,
  .footer-container {
    flex-direction: column !important;
    display: flex !important;
    gap: 2rem !important;
    width: 100%;
  }
  .mission-details,
  .values-grid,
  .team-grid,
  .footer-container {
    grid-template-columns: 1fr !important;
  }
  .about-image,
  .about-text {
    width: 100% !important;
    min-width: unset !important;
    padding: 0 !important;
  }
  .about-image {
    margin-bottom: 2rem;
  }
  /* Fix gallery/slider overflow */
  .gallery-slider {
    overflow-x: hidden !important;
    max-width: 100% !important;
  }
  .gallery-item {
    box-sizing: border-box !important;
  }
  .slick-track {
    margin-left: 0 !important;
  }
  .gallery-slider .slick-slide {
    margin: 0 5px;
  }
  /* NASCONDI frecce Slick solo su tablet/mobile */
  .gallery-slider .slick-prev,
  .gallery-slider .slick-next {
    display: none !important;
  }
}

@media (max-width: 768px) {
  .page-header {
    padding: 11rem 0 5rem;
  }
  .page-title {
    font-size: 2rem;
  }
  .section-title {
    font-size: 1.3rem;
    padding-bottom: 12px;
  }
  .cta-title {
    font-size: 1.6rem;
  }
  .about-section,
  .mission-testimonial-section,
  .office-gallery,
  .values-section,
  .team-section {
    padding: 2.5rem 0;
  }
  .cta {
    padding: 2rem 0;
  }
  .mission-detail-card,
  .value-card,
  .team-member {
    padding: 1rem;
  }
  .mission-highlight {
    padding: 1.5rem;
    font-size: 1.1rem;
  }
  .footer-container {
    gap: 1.2rem;
    padding: 0 0.5rem;
  }
  .footer-logo img {
    height: 45px;
  }
}

@media (max-width: 576px) {
  body {
    font-size: 1rem;
  }
  .page-title,
  .cta-title {
    font-size: 1.2rem;
  }
  .section-title {
    font-size: 1.1rem;
  }
  .mission-details,
  .values-grid,
  .team-grid {
    gap: 1rem !important;
  }
  .mission-detail-card,
  .value-card,
  .team-member {
    margin-bottom: 1rem;
    padding: 0.75rem;
  }
  .about-image img,
  .gallery-item img,
  .team-image img {
    max-width: 100vw;
    height: auto;
  }
  .team-image {
    height: 180px;
  }
  .footer {
    padding: 2rem 0 1rem;
  }
  .footer-title {
    font-size: 1rem;
  }
  .footer-bottom {
    font-size: 0.8rem;
    padding-top: 1rem;
    margin-top: 1rem;
  }
}
