/* =========================================================================
   Laxmi Diyawala — Global responsive safeguards
   Loaded last. Prevents horizontal overflow, image blow-out and text overlap
   across all screen sizes without changing the intended design.
   ========================================================================= */

*, *::before, *::after { box-sizing: border-box; }

html, body {
  max-width: 100%;
  overflow-x: hidden;   /* kill accidental horizontal scroll on any device */
}

/* Media never overflows its container */
img, svg, video, iframe, canvas, embed, object {
  max-width: 100%;
  height: auto;
}

/* Long words / URLs wrap instead of pushing the layout wider */
h1, h2, h3, h4, h5, h6, p, a, span, li, td, th, label, div {
  overflow-wrap: break-word;
  word-wrap: break-word;
}

/* Tables scroll inside their own box instead of stretching the page */
.table-responsive, .table-wrap { -webkit-overflow-scrolling: touch; }
table { max-width: 100%; }

/* Media embeds stay fluid */
.embed-responsive, .ratio { max-width: 100%; }

/* Forms & inputs never exceed the viewport (also stops iOS zoom on focus) */
input, select, textarea, button {
  max-width: 100%;
}
@media (max-width: 575.98px) {
  input, select, textarea { font-size: 16px; }
}

/* Owl-carousel / rows: contain negative margins so they don't cause scroll */
.owl-carousel, .owl-stage-outer { overflow: hidden; }

/* Utility so any wide block can be made scrollable if needed */
.scroll-x { overflow-x: auto; max-width: 100%; }

/* ---- Small-screen spacing / typography tune-ups ---- */
@media (max-width: 768px) {
  .wrapper { padding-left: 12px; padding-right: 12px; }
  h1 { font-size: clamp(24px, 6vw, 34px); }
  h2 { font-size: clamp(20px, 5vw, 28px); }
}

@media (max-width: 480px) {
  .container, .container-fluid { padding-left: 12px; padding-right: 12px; }
}

/* Respect reduced motion preferences */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}
