/* Vaidha Therapy site-wide responsive safety fixes */
html { -webkit-text-size-adjust: 100%; }
*, *::before, *::after { box-sizing: border-box; }
body { max-width: 100%; overflow-x: hidden; }
img, video, iframe { max-width: 100%; }
img { height: auto; }
button, input, select, textarea { max-width: 100%; font: inherit; }

.container,
.nav-container,
.main-wrapper {
  max-width: 1280px;
}

.video-wrapper,
.video-card,
.testimonial-video,
.map-box,
.about-img,
.intro-image,
.cta-card,
.card {
  max-width: 100%;
}

.therapy-img {
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  height: auto !important;
  overflow: hidden;
}
.therapy-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

@media (max-width: 1100px) {
  .contact-grid,
  .extra-grid,
  .about-card,
  .intro-grid,
  .benefits-layout,
  .conditions-layout,
  .healing-layout,
  .appointment-card {
    grid-template-columns: 1fr !important;
  }

  .therapy-grid,
  .service-grid,
  .process-grid,
  .advantages-grid,
  .why-grid,
  .approach-grid,
  .conditions-grid,
  .benefits-list,
  .faq-grid,
  .videos-grid,
  .testimonial-grid,
  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .contact-grid,
  .extra-grid,
  .therapy-grid,
  .service-grid,
  .process-grid,
  .advantages-grid,
  .why-grid,
  .approach-grid,
  .conditions-grid,
  .benefits-list,
  .faq-grid,
  .videos-grid,
  .testimonial-grid,
  .footer-grid {
    gap: 24px !important;
  }
}

@media (max-width: 768px) {
  .container { width: min(92%, 1180px) !important; }
  .main-wrapper { width: min(92%, 1280px) !important; }

  .hero,
  .page-hero,
  .therapy-hero {
    min-height: auto !important;
    padding-top: 120px !important;
    padding-bottom: 70px !important;
  }

  .hero-content,
  .page-hero-content,
  .therapy-hero-content {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  .form-row,
  .appointment-form,
  .about-features,
  .benefit-list,
  .stats-grid,
  .steps-grid,
  .why-points,
  .feature-grid,
  .therapy-grid,
  .service-grid,
  .process-grid,
  .advantages-grid,
  .why-grid,
  .approach-grid,
  .conditions-grid,
  .benefits-list,
  .faq-grid,
  .videos-grid,
  .testimonial-grid,
  .footer-grid {
    grid-template-columns: 1fr !important;
  }

  .form-card,
  .info-card,
  .service-card,
  .benefit-card,
  .about-card,
  .appointment-card,
  .cta-card {
    padding: 28px 22px !important;
  }

  .input-box {
    min-height: 58px !important;
    height: auto !important;
    padding: 13px 16px !important;
  }

  .textarea-box {
    min-height: 145px !important;
  }

  .submit-btn,
  .appointment-form button,
  .btn,
  .primary-btn,
  .outline-btn {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .submit-btn { gap: 12px !important; }

  .info-item,
  .home-visit {
    align-items: flex-start !important;
  }

  .footer-bottom {
    flex-direction: column !important;
    text-align: center !important;
  }
}

@media (max-width: 480px) {
  .logo-box img,
  .logo img { width: 88px !important; }
  .nav-wrapper,
  .nav-container { height: 78px !important; }
  .navbar { top: 78px !important; }

  h1 { font-size: clamp(34px, 10vw, 44px) !important; }
  h2 { font-size: clamp(26px, 8vw, 36px) !important; }
  h3 { font-size: clamp(24px, 7vw, 32px) !important; }

  .hero-content,
  .page-hero-content,
  .therapy-hero-content {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .form-card,
  .info-card,
  .service-card,
  .benefit-card,
  .about-card,
  .appointment-card,
  .cta-card {
    padding: 24px 16px !important;
    border-radius: 14px !important;
  }

  .icon-circle,
  .home-visit div {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    font-size: 22px !important;
  }

  .map-box { height: 190px !important; }
  .area-tag { left: 12px !important; right: 12px !important; bottom: 14px !important; text-align: center; }
  .city { font-size: 13px !important; }
}
