/* Mobile-only overrides for WooCommerce single product pages. */
@media (max-width: 768px) {
  body.single-product,
  body.single-product-page {
    overflow-x: hidden !important;
  }

  body.single-product .single-product-container,
  body.single-product-page .single-product-container,
  body.single-product .single-product-container * ,
  body.single-product-page .single-product-container * {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body.single-product .single-product-container,
  body.single-product-page .single-product-container {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  body.single-product .single-product-page .page-title,
  body.single-product-page .single-product-page .page-title,
  body.single-product .page-header .page-title,
  body.single-product-page .page-header .page-title {
    font-size: clamp(1.15rem, 6vw, 1.5rem) !important;
    line-height: 1.25 !important;
    overflow-wrap: anywhere;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.single-product .single-product-wrap .woocommerce div.product,
  body.single-product-page .single-product-wrap .woocommerce div.product {
    grid-template-columns: 1fr !important;
    border-radius: 14px !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.single-product .single-product-wrap .woocommerce div.product .woocommerce-product-gallery,
  body.single-product-page .single-product-wrap .woocommerce div.product .woocommerce-product-gallery {
    grid-column: 1 !important;
    border-right: 0 !important;
    border-bottom: 1px solid #e2e8f0 !important;
    padding: 10px 10px 12px !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 16px 16px 0 0 !important;
    overflow: hidden !important;
  }

  /* Основное изображение — как в каталоге: не выше ~60vh, вписанное в блок */
  body.single-product .single-product-wrap .woocommerce .woocommerce-product-gallery .flex-viewport,
  body.single-product-page .single-product-wrap .woocommerce .woocommerce-product-gallery .flex-viewport {
    max-height: none !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  body.single-product .single-product-wrap .woocommerce .woocommerce-product-gallery img,
  body.single-product-page .single-product-wrap .woocommerce .woocommerce-product-gallery img {
    max-height: 60vh !important;
    width: 100% !important;
    max-width: 100% !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
  }

  /* Показываем только активный слайд нативной галереи Woo/Flexslider */
  body.single-product .single-product-wrap .woocommerce .woocommerce-product-gallery .flex-viewport .slides > li,
  body.single-product-page .single-product-wrap .woocommerce .woocommerce-product-gallery .flex-viewport .slides > li {
    display: none !important;
  }

  body.single-product .single-product-wrap .woocommerce .woocommerce-product-gallery .flex-viewport .slides > li.flex-active-slide,
  body.single-product-page .single-product-wrap .woocommerce .woocommerce-product-gallery .flex-viewport .slides > li.flex-active-slide {
    display: block !important;
  }

  body.single-product .single-product-wrap .woocommerce .woocommerce-product-gallery .mangaly-stage-arrow,
  body.single-product-page .single-product-wrap .woocommerce .woocommerce-product-gallery .mangaly-stage-arrow {
    display: none !important;
  }

  body.single-product .single-product-wrap .woocommerce .woocommerce-product-gallery .flex-control-nav li,
  body.single-product-page .single-product-wrap .woocommerce .woocommerce-product-gallery .flex-control-nav li {
    width: 56px !important;
    min-width: 56px !important;
  }

  body.single-product .single-product-wrap .woocommerce .woocommerce-product-gallery .flex-control-nav li img,
  body.single-product-page .single-product-wrap .woocommerce .woocommerce-product-gallery .flex-control-nav li img {
    width: 56px !important;
    height: 56px !important;
  }

  body.single-product .single-product-wrap .woocommerce div.product > .summary,
  body.single-product-page .single-product-wrap .woocommerce div.product > .summary {
    grid-column: 1 !important;
    min-width: 0 !important;
  }

  body.single-product .single-product-wrap .woocommerce .summary,
  body.single-product-page .single-product-wrap .woocommerce .summary {
    padding: 14px 14px 16px !important;
    overflow-wrap: anywhere;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.single-product .single-product-wrap .woocommerce .summary .price,
  body.single-product-page .single-product-wrap .woocommerce .summary .price {
    font-size: clamp(1.4rem, 7vw, 1.75rem) !important;
    line-height: 1.2 !important;
  }

  body.single-product .single-product-wrap .woocommerce .summary form.cart,
  body.single-product-page .single-product-wrap .woocommerce .summary form.cart {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body.single-product .single-product-wrap .woocommerce .summary .quantity,
  body.single-product-page .single-product-wrap .woocommerce .summary .quantity,
  body.single-product .single-product-wrap .woocommerce .summary .single_add_to_cart_button,
  body.single-product-page .single-product-wrap .woocommerce .summary .single_add_to_cart_button {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 46px !important;
    margin: 0 !important;
    float: none !important;
    box-sizing: border-box !important;
  }

  body.single-product .single-product-wrap .woocommerce .summary .quantity input.qty,
  body.single-product-page .single-product-wrap .woocommerce .summary .quantity input.qty {
    width: 100% !important;
    font-size: 16px !important;
  }

  body.single-product .single-product-wrap .woocommerce-tabs,
  body.single-product-page .single-product-wrap .woocommerce-tabs {
    margin-top: 1rem !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  body.single-product .single-product-wrap .woocommerce-tabs ul.tabs,
  body.single-product-page .single-product-wrap .woocommerce-tabs ul.tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
  }

  body.single-product .single-product-wrap .woocommerce-tabs ul.tabs li,
  body.single-product-page .single-product-wrap .woocommerce-tabs ul.tabs li {
    flex: 0 0 auto;
  }

  body.single-product .single-product-wrap .woocommerce-tabs ul.tabs li a,
  body.single-product-page .single-product-wrap .woocommerce-tabs ul.tabs li a {
    padding: 0.8rem 1rem !important;
    font-size: 0.92rem !important;
  }

  body.single-product .single-product-wrap .woocommerce-tabs .panel,
  body.single-product-page .single-product-wrap .woocommerce-tabs .panel {
    padding: 1rem !important;
  }

  body.single-product .single-product-wrap .woocommerce-tabs .panel p,
  body.single-product-page .single-product-wrap .woocommerce-tabs .panel p,
  body.single-product .single-product-wrap .woocommerce-tabs .shop_attributes td,
  body.single-product-page .single-product-wrap .woocommerce-tabs .shop_attributes td {
    overflow-wrap: anywhere;
  }
}

@media (max-width: 480px) {
  body.single-product .single-product-container,
  body.single-product-page .single-product-container {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  body.single-product .single-product-wrap .woocommerce div.product .woocommerce-product-gallery,
  body.single-product-page .single-product-wrap .woocommerce div.product .woocommerce-product-gallery,
  body.single-product .single-product-wrap .woocommerce .summary {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}
@media (max-width: 768px) {
  /* Жёсткий reset всего внутри страницы товара */
  body.single-product .single-product-container,
  body.single-product-page .single-product-container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    overflow-x: hidden !important;
  }

  body.single-product .single-product-container * ,
  body.single-product-page .single-product-container * {
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
  }

  /* Товар: только одна колонка, ничего не вылезает */
  body.single-product .single-product-wrap .woocommerce div.product,
  body.single-product-page .single-product-wrap .woocommerce div.product {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Галерея */
  body.single-product .single-product-wrap .woocommerce div.product .woocommerce-product-gallery,
  body.single-product-page .single-product-wrap .woocommerce div.product .woocommerce-product-gallery {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 16px 16px 0 0 !important;
    overflow: hidden !important;
  }

  body.single-product .single-product-wrap .woocommerce .woocommerce-product-gallery img,
  body.single-product-page .single-product-wrap .woocommerce .woocommerce-product-gallery img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 50vh !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
  }

  /* Цена + количество + кнопка – строго столбиком */
  body.single-product .single-product-wrap .summary form.cart,
  body.single-product-page .single-product-wrap .summary form.cart {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body.single-product .single-product-wrap .summary .quantity,
  body.single-product-page .single-product-wrap .summary .quantity,
  body.single-product .single-product-wrap .summary .single_add_to_cart_button,
  body.single-product-page .single-product-wrap .summary .single_add_to_cart_button {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 46px !important;
    margin: 0 !important;
    float: none !important;
    box-sizing: border-box !important;
  }

  body.single-product .single-product-wrap .summary .quantity input.qty,
  body.single-product-page .single-product-wrap .summary .quantity input.qty {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Тексты и вкладки не раздвигают страницу */
  body.single-product .single-product-wrap .woocommerce-tabs .panel,
  body.single-product-page .single-product-wrap .woocommerce-tabs .panel {
    padding: 1rem !important;
    overflow-wrap: anywhere;
  }

  /* Related products: disable horizontal slider, use stable mobile grid */
  body.single-product .single-product-wrap .related.products ul.products,
  body.single-product-page .single-product-wrap .related.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-columns: unset !important;
    gap: 10px !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
    scroll-snap-type: none !important;
  }

  body.single-product .single-product-wrap .related.products ul.products > li.product,
  body.single-product-page .single-product-wrap .related.products ul.products > li.product {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    scroll-snap-align: none !important;
  }

  body.single-product .single-product-wrap .related.products ul.products > li.product .product-image-wrap,
  body.single-product-page .single-product-wrap .related.products ul.products > li.product .product-image-wrap {
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
  }
}

@media (max-width: 420px) {
  body.single-product .single-product-wrap .related.products ul.products,
  body.single-product-page .single-product-wrap .related.products ul.products {
    grid-template-columns: 1fr !important;
  }
}
