/* responsive.css – Core responsive safety layer (LIFE SITE)

   This file should be deliberately light-touch.
   Page-specific files now control home, news, explained, quote, contact and article layouts.
   The old responsive.css contained fixed quote-form widths, floats and red legacy controls which
   fought the newer premium UI. Those rules have been removed/reduced to safe containment only.
*/

/* ---------- General overflow protection ---------- */

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

img,
svg,
video,
iframe {
  max-width: 100%;
}

iframe {
  border: 0;
}

/* ---------- Bootstrap/container safety ---------- */

.container,
.container-fluid {
  min-width: 0;
}

.row {
  min-width: 0;
}

[class*='col-'] {
  min-width: 0;
}

/* ---------- Long content protection ---------- */

p,
li,
a,
span,
.card-title,
.card-text,
.display-3,
.display-4,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: anywhere;
}

/* ---------- Navbar fallback ---------- */

@media (max-width: 991.98px) {
  .navbar-collapse {
    padding-top: 0.65rem;
  }

  .navbar-nav {
    align-items: flex-start;
  }

  .navbar li {
    padding-left: 0;
    padding-right: 0;
  }
}

@media (max-width: 767.98px) {
  .container {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .row {
    margin-left: -0.75rem;
    margin-right: -0.75rem;
  }

  [class*='col-'] {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
}

/* ---------- Quote form containment safety ---------- */

#title-container,
#qbox-container,
#steps-container {
  box-sizing: border-box;
  max-width: 100%;
}

#steps-container {
  width: 100%;
  min-width: 0;
}

.question__label {
  white-space: normal;
  overflow-wrap: anywhere;
}

#q-box__buttons {
  max-width: 100%;
}

#q-box__buttons .btn {
  max-width: 100%;
}

@media (max-width: 767.98px) {
  #title-container,
  #qbox-container {
    width: 100%;
  }

  #q-box__buttons {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
  }

  #q-box__buttons .btn {
    width: 100%;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* ---------- Tables / admin-style content ---------- */

.table-responsive,
.responsive-table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* ---------- Legacy card/media fallbacks ---------- */

@media (max-width: 767.98px) {
  .card-deck {
    padding: 1rem;
  }

  .card-deck .card {
    margin-bottom: 1rem;
  }

  .provider-band,
  .provider-logo-band {
    padding: 1rem 0.75rem;
  }
}

/* ---------- Preloader ---------- */

#preloader-wrapper {
  width: 100%;
  height: 100%;
  z-index: 1000;
  display: none;
  position: fixed;
  inset: 0;
}

#preloader {
  background-image: url('../Images/Preloader.png');
  width: 120px;
  height: 119px;
  border-radius: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -60px 0 0 -60px;
  animation: spin 2s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0); }
  100% { transform: rotate(360deg); }
}
