/* Global responsive helpers and overrides */
/* Safe, minimal rules to improve responsiveness site-wide */

/* Make images and media fluid */
img, video, iframe, .img-fluid, .feature-img, .hero-image, .slide-media img, .team-img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Fluid typography for hero areas */
.hero-title {
  font-size: clamp(1.6rem, 5vw, 4.5rem);
  line-height: 1.05;
}
.hero-sub {
  font-size: clamp(1rem, 2.2vw, 1.75rem);
}

/* Navbar sizing: scales with viewport but stays usable on small screens */
.navbar-nav .nav-link {
  font-size: clamp(0.9rem, 1.6vw, 1.05rem);
  padding-left: 0.9rem;
  padding-right: 0.9rem;
}

/* Ensure buttons remain tappable on small screens */
.btn, .btn-lg { min-height: 44px; }

/* Slides: ensure stacked layout on narrow screens and disable sticky where needed */
@media (max-width: 991px) {
  .slides { display: block; transform: none !important; }
  .slide { display: block !important; grid-template-columns: 1fr !important; height: auto !important; margin-bottom: 1.25rem; }
  .slideshow-inner { position: static !important; height: auto !important; overflow: visible !important; top: auto !important; }
  .slideshow-dots { position: relative; right: auto; top: auto; transform: none; left: 50%; justify-content: center; margin: 0.8rem auto 0 auto; display:flex; gap:0.5rem; }
}

/* Footer: stack columns and center social icons on small screens */
@media (max-width: 767px) {
  footer.container-fluid > .container .row { display: block; }
  footer.container-fluid > .container .row > div { width: 100% !important; text-align: center !important; margin-bottom: 1rem; }
  footer.container-fluid > .container .row .col-md-6 { padding-left: 0; padding-right: 0; }
  footer.container-fluid > .container .row .col-md-3 { margin-bottom: 1rem; }
}

/* Contact: ensure hero content spacing on small screens */
@media (max-width: 767px) {
  .contact-hero { padding-top: 1.5rem; padding-bottom: 1.5rem; }
  .contact-form-card { padding: 1rem; }
}

/* Management hero adjustments */
@media (max-width: 991px) {
  .management-hero .hero-card { padding: 1rem; }
  .hero-text p { max-width: 100% !important; }
}

/* Utility: readable card backgrounds on small screens */
@media (max-width: 575px) {
  .dark-card, .content-card, .contact-form-card { padding: 0.75rem; }
  .hero-title { font-size: 1.6rem; }
}

/* Accessibility: reduce motion if user prefers reduced motion */
@media (prefers-reduced-motion: reduce) {
  * { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}
