/* Kill horizontal page scroll — without breaking desktop container widths */

html,
body {
  overflow-x: hidden !important;
  max-width: 100% !important;
  width: 100% !important;
  position: relative;
}

.body,
#main-section,
main.main,
.ck-content,
.cm-live-hero,
.cm-clients,
.cm-products,
.cm-brands,
.cm-quality,
.cm-popular,
.cm-recent-blogs,
.navbar,
.footer,
section {
  max-width: 100%;
  box-sizing: border-box;
}

/* Centered content container (not full-bleed) */
.cm-wide,
.container.cm-wide {
  width: 100%;
  max-width: 1140px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 16px;
  padding-right: 16px;
  box-sizing: border-box;
}

@media (min-width: 1200px) {
  .cm-wide,
  .container.cm-wide {
    max-width: 1140px !important;
  }
}

@media (min-width: 1400px) {
  .cm-wide,
  .container.cm-wide {
    max-width: 1320px !important;
  }
}

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

/* Swiper / carousels: never expand page width */
.cm-live-hero,
.cm-client-shell,
.cm-brand-slider-shell {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  min-width: 0;
}

.cm-client-track,
.cm-brand-grid,
.cm-brand-filters {
  max-width: 100%;
  min-width: 0;
  -webkit-overflow-scrolling: touch;
}

.cm-client-logo,
.cm-brand-card {
  min-width: 0;
  box-sizing: border-box;
}

.cm-category-grid,
.cm-popular-grid,
.cm-blog-grid,
.cm-promo-grid,
.cm-quality-grid,
.cm-shop-grid,
.cm-account-tiles,
.cm-brand-tiles {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  min-width: 0;
}

@media (max-width: 991.98px) {
  html,
  body,
  .body,
  #main-section,
  main.main,
  .ck-content {
    overflow-x: hidden !important;
    max-width: 100% !important;
  }

  .row {
    --bs-gutter-x: 1rem;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100%;
  }

  .row > * {
    padding-left: calc(var(--bs-gutter-x) * .5);
    padding-right: calc(var(--bs-gutter-x) * .5);
    max-width: 100%;
  }

  .container,
  .cm-wide,
  .container.cm-wide {
    padding-left: 16px !important;
    padding-right: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .cm-brand-filters {
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .cm-client-logo {
    flex: 0 0 calc((100% - 12px) / 2) !important;
    max-width: calc((100% - 12px) / 2) !important;
  }

  .cm-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px 10px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .cm-promo-grid {
    grid-template-columns: 1fr !important;
  }

  .cm-popular-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .cm-blog-grid {
    grid-template-columns: 1fr !important;
  }

  .navbar .container,
  .navbar .d-flex {
    max-width: 100%;
    min-width: 0;
  }

  .cm-header-actions {
    gap: 10px !important;
    flex-shrink: 0;
  }

  .offcanvas-nav:not(.show) {
    visibility: hidden;
  }
}
