@media (max-width: 767px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  body {
    min-width: 0;
    font-size: 16px;
    line-height: 1.55;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

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

  .site,
  #page,
  #content,
  .site-content,
  .ast-container,
  .site-main,
  #primary,
  .content-area,
  article,
  .entry-content,
  .page-content,
  .elementor,
  .elementor-section,
  .elementor-container,
  .elementor-column,
  .elementor-widget-wrap,
  .elementor-widget-container {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .site-content > .ast-container,
  .site-content .ast-container {
    width: calc(100% - 24px) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.page .entry-content,
  body.single-post .entry-content,
  body.blog .entry-content,
  body.category .entry-content,
  body.tag .entry-content,
  body.author .entry-content,
  body.date .entry-content,
  body.page .page-content,
  body.single-post article.post .entry-content,
  body.single-post article.ast-article-single .entry-content {
    font-size: 16px !important;
    line-height: 1.65 !important;
  }

  body.page .entry-content p,
  body.single-post .entry-content p,
  body.page .entry-content li,
  body.single-post .entry-content li,
  body.page .entry-content td,
  body.single-post .entry-content td,
  body.page .entry-content a,
  body.single-post .entry-content a,
  body.page .entry-content span,
  body.single-post .entry-content span,
  body.blog article.post .entry-summary p,
  body.category article.post .entry-summary p,
  body.tag article.post .entry-summary p {
    font-size: max(16px, 1em) !important;
    line-height: 1.65 !important;
  }

  h1,
  .entry-title,
  .page-title {
    font-size: clamp(28px, 8vw, 34px) !important;
    line-height: 1.16 !important;
    overflow-wrap: anywhere;
  }

  h2 {
    font-size: clamp(23px, 6.6vw, 28px) !important;
    line-height: 1.2 !important;
  }

  h3 {
    font-size: clamp(20px, 5.8vw, 24px) !important;
    line-height: 1.25 !important;
  }

  p,
  li,
  td,
  th,
  a,
  span,
  strong {
    overflow-wrap: anywhere;
  }

  img,
  picture,
  video,
  canvas,
  svg,
  iframe,
  embed,
  object {
    max-width: 100% !important;
    height: auto;
  }

  table,
  .wp-block-table,
  .entry-content table {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  pre,
  code,
  .entry-content pre {
    max-width: 100%;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
  }

  .jivo-widget,
  jdiv,
  [class*="jivo"] {
    max-width: 100vw !important;
  }

  body.single-product .site-content .ast-container,
  body.single-product .product,
  body.single-product .nw-product-hero,
  body.single-product .woocommerce-product-gallery,
  body.single-product .summary,
  body.single-product .summary.entry-summary,
  body.single-product .summary.entry-summary.nw-summary-ui,
  body.single-product .woocommerce-tabs,
  body.single-product .woocommerce-Tabs-panel,
  body.single-product section.related,
  body.single-product section.upsells {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-wrap: anywhere;
  }

  body.single-product .nw-product-hero,
  body.single-product .product {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
  }

  body.single-product .summary .product_title {
    font-size: clamp(28px, 8vw, 34px) !important;
  }

  body.single-product .summary,
  body.single-product .summary p,
  body.single-product .summary li,
  body.single-product .woocommerce-Tabs-panel,
  body.single-product .woocommerce-Tabs-panel p,
  body.single-product .woocommerce-Tabs-panel li {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }

  body.single-product .woocommerce-tabs ul.tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    overflow: visible !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.single-product .woocommerce-tabs ul.tabs li {
    flex: 1 1 calc(50% - 8px) !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  body.single-product .woocommerce-tabs ul.tabs li a {
    width: 100% !important;
    min-height: 44px !important;
    padding: 10px 12px !important;
    font-size: 15px !important;
    white-space: normal !important;
    text-align: center;
  }

  body.single-product .woo-product-gallery-slider,
  body.single-product .wpgs-for,
  body.single-product .wpgs-nav,
  body.single-product .slick-list,
  body.single-product .slick-track,
  body.single-product .slick-slide,
  body.single-product .woocommerce-product-gallery__wrapper,
  body.single-product .flex-viewport,
  body.single-product .flex-control-thumbs {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.single-product .woo-product-gallery-slider .wpgs-nav,
  body.single-product .woocommerce-product-gallery .flex-control-thumbs {
    overflow-x: hidden !important;
  }

  body.single-product .woo-product-gallery-slider .wpgs-nav .slick-track,
  body.single-product .woocommerce-product-gallery .flex-control-thumbs {
    display: flex !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    transform: none !important;
  }

  body.single-product .woo-product-gallery-slider .wpgs-nav .slick-slide,
  body.single-product .woocommerce-product-gallery .flex-control-thumbs li {
    flex: 0 0 72px !important;
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
    padding: 0 !important;
  }

  body.single-product form.cart,
  body.single-product .cart,
  body.single-product .nw-summary-actions,
  body.single-product .nw-purchase-card,
  body.single-product .single_add_to_cart_button,
  body.single-product .button,
  body.single-product button {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.single-product .single_add_to_cart_button,
  body.single-product .nw-one-click-button,
  body.single-product .button.alt {
    width: 100% !important;
    white-space: normal !important;
  }

  body.woocommerce-account .entry-content,
  body.woocommerce-account form,
  body.woocommerce-account .woocommerce,
  body.woocommerce-account .woocommerce-MyAccount-content,
  body.woocommerce-account .woocommerce-form {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    font-size: 16px !important;
  }
}