/* MJM Cleaning mobile layout fixes — 2026-07-29 */
html, body { max-width: 100%; overflow-x: hidden; }
img { max-width: 100%; height: auto; }

@media screen and (max-width: 991px) {
  .navigation-bar { position: relative; z-index: 1000; }
  .navigation-bar > .w-container,
  .navigation-bar .w-layout-blockcontainer.w-container {
    width: 100%;
    max-width: none;
    padding-left: 18px;
    padding-right: 18px;
  }
  .navigation-bar .w-layout-blockcontainer.w-clearfix {
    min-height: 92px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }
  .image-4 {
    display: block;
    width: 150px !important;
    max-width: 42vw;
    height: auto !important;
  }
  .navigation-bar .image {
    width: 210px !important;
    max-width: 38vw;
    margin-left: auto;
  }
  .hamburger-button {
    flex: 0 0 auto;
    margin-left: 6px;
    padding: 14px;
  }
  .container-3.w-container { width: 100%; max-width: none; }
  .navigation-menu.w-nav-menu {
    width: 100%;
    max-height: calc(100vh - 92px);
    overflow-y: auto;
    background: #fff;
    box-shadow: 0 12px 24px rgba(0,0,0,.14);
    padding: 8px 16px 18px;
  }
  .navigation-link.w-nav-link {
    display: block;
    width: 100%;
    padding: 13px 10px;
    line-height: 1.25;
    text-align: left;
    white-space: normal;
    border-bottom: 1px solid rgba(0,0,0,.08);
  }
  .hero-section.centered {
    min-height: 0 !important;
    padding-top: 30px !important;
    padding-bottom: 34px !important;
  }
  .hero-section .container.w-container {
    width: 100%;
    max-width: 760px;
    padding-left: 22px;
    padding-right: 22px;
  }
  .hero-section .columns.w-row {
    display: flex;
    align-items: center;
  }
  .hero-section .column.w-col-8 { width: 66.666%; }
  .hero-section .column-3.w-col-4 { width: 33.333%; }
  .hero-section .heading-14 {
    margin-top: 0;
    margin-bottom: 13px;
    line-height: 1.25;
  }
  .hero-section h1.heading-14 { font-size: clamp(30px, 4.4vw, 46px); }
  .hero-section h4.heading-14 { font-size: clamp(17px, 2.2vw, 22px); }
  .hero-section .image-3 { width: 100%; max-width: 260px; margin: 0 auto; }
  .section { padding-top: 45px; padding-bottom: 45px; }
}

@media screen and (max-width: 767px) {
  /* Hide the combined five-star rating and Canadian flag graphic on phones. */
  .navigation-bar .image { display: none !important; }
  .navigation-bar .w-layout-blockcontainer.w-clearfix { justify-content: space-between; }
  .hamburger-button { margin-left: auto; }
  .navigation-bar .w-layout-blockcontainer.w-clearfix { min-height: 80px; }
  .image-4 { width: 128px !important; max-width: 38vw; }
  .navigation-bar .image { width: 170px !important; max-width: 36vw; }
  .hero-section.centered { padding-top: 24px !important; padding-bottom: 28px !important; }
  .hero-section .columns.w-row { display: block; }
  .hero-section .column.w-col-8,
  .hero-section .column-3.w-col-4 { width: 100%; }
  .hero-section .column-3.w-col-4 { display: none; }
  .hero-section .heading-14,
  .hero-section .heading-13 { text-align: center; }
  .hero-section h1.heading-14 {
    font-size: clamp(29px, 8vw, 40px);
    line-height: 1.12;
    margin-bottom: 18px;
  }
  .hero-section h4.heading-14 {
    font-size: clamp(17px, 4.7vw, 21px);
    line-height: 1.32;
    margin-bottom: 12px;
  }
  .hero-section h4:first-child a { white-space: nowrap; }
  .section { padding-top: 34px; padding-bottom: 34px; }
  .section h2 { line-height: 1.2; }
  .container-4.w-container,
  .section > .w-container,
  .w-layout-blockcontainer.w-container {
    max-width: 100%;
  }
  .white-box { margin-bottom: 20px; }
}

@media screen and (max-width: 479px) {
  .navigation-bar > .w-container,
  .navigation-bar .w-layout-blockcontainer.w-container {
    padding-left: 12px;
    padding-right: 12px;
  }
  .navigation-bar .w-layout-blockcontainer.w-clearfix {
    min-height: 72px;
    gap: 7px;
  }
  .image-4 { width: 106px !important; max-width: 34vw; }
  .navigation-bar .image { width: 142px !important; max-width: 38vw; }
  .hamburger-button { padding: 10px; margin-left: 0; }
  .navigation-menu.w-nav-menu { max-height: calc(100vh - 72px); }
  .navigation-link.w-nav-link { padding: 12px 8px; font-size: 15px; }
  .hero-section.centered { padding-top: 22px !important; padding-bottom: 24px !important; }
  .hero-section .container.w-container { padding-left: 18px; padding-right: 18px; }
  .hero-section h1.heading-14 { font-size: clamp(28px, 9vw, 36px); }
  .hero-section h4.heading-14 { font-size: 18px; }
  .hero-section h4:first-child { font-size: 16px; }
  .hero-section h4:first-child a { display: inline-block; }
  .section { padding-top: 28px; padding-bottom: 28px; }
  .section h2 { font-size: clamp(27px, 8vw, 34px); }
  .section h3 { line-height: 1.22; }
  p, li, .text-block-3, .text-block-4 { overflow-wrap: anywhere; }
}
