/* source: public-mobile-viewport-fit-3.0.165.css */
/* NoorVista 3.0.165 — mobile hero inset + viewport-filling quick tiles */
@media (max-width: 900px) {
  :root {
    --nv165-mobile-gutter: 8px;
    --nv165-mobile-content-width: calc(100% - (var(--nv165-mobile-gutter) * 2));
  }

  /* Match the compact, inset mobile slider pattern: same width as the two-column tiles. */
  body.nv-home-page .nv-home-slider {
    width: var(--nv165-mobile-content-width) !important;
    margin: 8px auto 0 !important;
    border-radius: 17px !important;
    overflow: hidden !important;
    isolation: isolate !important;
  }

  body.nv-home-page .nv-home-slider__viewport,
  body.nv-home-page .nv-home-slider__track,
  body.nv-home-page .nv-home-slide,
  body.nv-home-page .nv-home-slide__image,
  body.nv-home-page .nv-home-slide__veil {
    border-radius: inherit !important;
  }

  /* Keep the slider and cards on the exact same mobile grid. */
  body.nv-home-page .nv-quick-services {
    padding: 8px 0 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
  }

  body.nv-home-page .nv-quick-services__shell {
    width: var(--nv165-mobile-content-width) !important;
    margin-inline: auto !important;
  }

  body.nv-home-page .nv-quick-services__grid {
    gap: 8px !important;
    margin: 0 !important;
  }

  /*
   * Phone-height adaptive cards:
   * - compact on short displays so all four cards remain visible
   * - taller on modern tall phones so no artificial blank area remains
   */
  body.nv-home-page .nv-quick-service {
    height: clamp(112px, calc((100svh - 420px) / 2), 188px) !important;
    min-height: 112px !important;
    max-height: 188px !important;
    padding: clamp(10px, 2.2vh, 18px) 8px !important;
    gap: clamp(7px, 1.35vh, 12px) !important;
  }

  body.nv-home-page .nv-quick-service__icon {
    width: clamp(44px, 13vw, 64px) !important;
    height: clamp(44px, 13vw, 64px) !important;
  }

  body.nv-home-page .nv-quick-service__title {
    font-size: clamp(11.5px, 3.35vw, 15px) !important;
  }

  /* The next section starts immediately after the grid when the viewport is taller. */
  body.nv-home-page #services.nv-home-services {
    margin-top: 0 !important;
    padding-top: 10px !important;
  }

  body.nv-home-page #services .nv-v129-heading {
    margin-top: 0 !important;
    margin-bottom: 18px !important;
  }
}

@media (max-width: 390px) {
  body.nv-home-page .nv-home-slider {
    border-radius: 15px !important;
  }

  body.nv-home-page .nv-quick-service {
    height: clamp(108px, calc((100svh - 402px) / 2), 142px) !important;
    min-height: 108px !important;
    max-height: 142px !important;
  }
}

@media (min-width: 600px) and (max-width: 900px) {
  body.nv-home-page .nv-quick-service {
    height: clamp(148px, calc((100svh - 452px) / 2), 190px) !important;
    min-height: 148px !important;
    max-height: 190px !important;
  }
}

/* source: public-mobile-tiles-faq-3.0.166.css */
/* NoorVista 3.0.166 — exact mobile tile width + questions-only FAQ */

/* FAQ: remove the decorative image and give all available width to questions. */
body.nv-home-page #faq .nv-home-faq-grid {
  display: block !important;
  width: 100% !important;
}
body.nv-home-page #faq .nv-home-faq-visual {
  display: none !important;
}
body.nv-home-page #faq .faq-wrap {
  width: min(100%, 980px) !important;
  margin-inline: auto !important;
}

@media (max-width: 900px) {
  /* Hero and the 2×2 tile grid now share the exact same outer edges. */
  body.nv-home-page .nv-quick-services__shell {
    width: var(--nv165-mobile-content-width, calc(100% - 16px)) !important;
    max-width: none !important;
    padding-inline: 0 !important;
    margin-inline: auto !important;
    box-sizing: border-box !important;
  }
  body.nv-home-page .nv-quick-services__grid {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
  body.nv-home-page .nv-quick-service {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
  body.nv-home-page #faq .faq-wrap {
    width: 100% !important;
    margin: 0 !important;
  }
}

