/*
 * KSAR brand layer
 * Direction artistique globale: textile sport, culture, lisibilite e-commerce.
 * Charge apres Divi et le theme enfant pour rester isolee et reversible.
 */

:root {
  --ksar-ink: #141414;
  --ksar-paper: #ffffff;
  --ksar-soft: #f4f5f2;
  --ksar-line: #deded8;
  --ksar-muted: #65655f;
  --ksar-red: #d62f2f;
  --ksar-green: #0c7a59;
  --ksar-gold: #f2bd32;
  --ksar-blue: #315da8;
  --ksar-radius: 8px;
  --ksar-shadow: 0 14px 34px rgba(20, 20, 20, 0.1);
  --ksar-font: Inter, Montserrat, Arial, Helvetica, sans-serif;
}

html body {
  background: var(--ksar-paper);
  color: var(--ksar-ink);
  font-family: var(--ksar-font);
  line-height: 1.55;
  text-rendering: optimizeLegibility;
}

/* Accueil (post 287) : titres section + grille products-grid = hors couche brand (theme functions.php) */
body:not(.home) h1,
body:not(.home) h2,
body:not(.home) h3,
body:not(.home) h4,
body:not(.home) .entry-title,
body.woocommerce-page .woocommerce-loop-product__title,
body.tax-product_cat .woocommerce-loop-product__title,
body.tax-product_tag .woocommerce-loop-product__title,
body.single-product .related.products .woocommerce-loop-product__title,
body.single-product .up-sells.products .woocommerce-loop-product__title,
body.single-product .cross-sells .woocommerce-loop-product__title,
body:not(.home) .woocommerce-products-header__title {
  color: var(--ksar-ink);
  font-family: var(--ksar-font);
  font-weight: 850;
  letter-spacing: 0;
}

body:not(.home) h1,
body:not(.home) .woocommerce-products-header__title {
  line-height: 0.98;
  text-transform: uppercase;
}

body p,
body li,
body .woocommerce-product-details__short-description {
  color: #242424;
}

body a {
  color: var(--ksar-ink);
}

body a:hover {
  color: var(--ksar-red);
}

#main-header,
#top-header {
  box-shadow: none;
  border-bottom: 1px solid rgba(20, 20, 20, 0.08);
}

#top-menu li a,
.et_mobile_menu li a,
#et-secondary-nav li a {
  color: var(--ksar-ink);
  font-family: var(--ksar-font);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

#top-menu li.current-menu-item > a,
#top-menu li.current-menu-ancestor > a,
#top-menu li a:hover,
.et_mobile_menu li a:hover {
  color: var(--ksar-red) !important;
  opacity: 1;
}

.mobile_nav .et_mobile_menu {
  border-top: 3px solid var(--ksar-red);
  box-shadow: var(--ksar-shadow);
}

.et_pb_section {
  background-color: var(--ksar-paper);
}

.et_pb_section:nth-of-type(even) {
  background-color: var(--ksar-soft);
}

.et_pb_text_inner strong,
.et_pb_blurb_description strong {
  color: var(--ksar-ink);
}

.et_pb_button,
.et_pb_more_button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-page a.button,
.woocommerce-page button.button,
.single_add_to_cart_button,
.wc-forward,
.checkout-button {
  min-height: 44px;
  border: 2px solid var(--ksar-ink) !important;
  border-radius: var(--ksar-radius) !important;
  background: var(--ksar-ink) !important;
  color: var(--ksar-paper) !important;
  font-family: var(--ksar-font);
  font-size: 14px !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  padding: 13px 20px !important;
  text-transform: uppercase;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.et_pb_button:after,
.woocommerce a.button:after,
.woocommerce button.button:after,
.woocommerce input.button:after,
.woocommerce #respond input#submit:after,
.checkout-button:after {
  display: none !important;
}

.et_pb_button:hover,
.et_pb_more_button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.single_add_to_cart_button:hover,
.wc-forward:hover,
.checkout-button:hover {
  border-color: var(--ksar-red) !important;
  background: var(--ksar-red) !important;
  color: var(--ksar-paper) !important;
  padding: 13px 20px !important;
  transform: translateY(-1px);
}

/* Fiches produit boutique / archives — pas le module Divi homepage (post 287, products-grid) */
body.woocommerce-page .woocommerce ul.products,
body.tax-product_cat .woocommerce ul.products,
body.tax-product_tag .woocommerce ul.products,
body.single-product .related.products ul.products,
body.single-product .up-sells.products ul.products,
body.single-product .cross-sells ul.products {
  gap: 22px 0;
}

body.woocommerce-page .woocommerce ul.products li.product,
body.tax-product_cat .woocommerce ul.products li.product,
body.tax-product_tag .woocommerce ul.products li.product {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 18px 16px 20px !important;
  border: 1px solid var(--ksar-line);
  border-radius: var(--ksar-radius);
  background: var(--ksar-paper);
  box-shadow: none;
  text-align: left;
}

body.single-product .related.products ul.products li.product,
body.single-product .up-sells.products ul.products li.product,
body.single-product .cross-sells ul.products li.product {
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 18px 16px 20px !important;
  border: 1px solid var(--ksar-line);
  border-radius: var(--ksar-radius);
  background: var(--ksar-paper);
  box-shadow: none;
  text-align: left;
}

body.woocommerce-page .woocommerce ul.products li.product:after,
body.tax-product_cat .woocommerce ul.products li.product:after,
body.tax-product_tag .woocommerce ul.products li.product:after,
body.single-product .related.products ul.products li.product:after,
body.single-product .up-sells.products ul.products li.product:after,
body.single-product .cross-sells ul.products li.product:after {
  display: none !important;
}

body.woocommerce-page .woocommerce ul.products li.product:hover,
body.tax-product_cat .woocommerce ul.products li.product:hover,
body.tax-product_tag .woocommerce ul.products li.product:hover,
body.single-product .related.products ul.products li.product:hover,
body.single-product .up-sells.products ul.products li.product:hover,
body.single-product .cross-sells ul.products li.product:hover {
  border-color: rgba(20, 20, 20, 0.22);
  box-shadow: var(--ksar-shadow);
}

body.woocommerce-page .woocommerce ul.products li.product .et_shop_image,
body.tax-product_cat .woocommerce ul.products li.product .et_shop_image,
body.tax-product_tag .woocommerce ul.products li.product .et_shop_image,
body.single-product .related.products ul.products li.product .et_shop_image,
body.single-product .up-sells.products ul.products li.product .et_shop_image,
body.single-product .cross-sells ul.products li.product .et_shop_image {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  margin: 0 0 16px;
  border-radius: var(--ksar-radius);
  background: linear-gradient(135deg, #f7f7f4 0%, #eceee8 100%);
}

body.woocommerce-page .woocommerce ul.products li.product .et_shop_image img,
body.tax-product_cat .woocommerce ul.products li.product .et_shop_image img,
body.tax-product_tag .woocommerce ul.products li.product .et_shop_image img,
body.single-product .related.products ul.products li.product .et_shop_image img,
body.single-product .up-sells.products ul.products li.product .et_shop_image img,
body.single-product .cross-sells ul.products li.product .et_shop_image img {
  width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: 10px 8px !important;
  box-sizing: border-box !important;
}

body.woocommerce-page:not(.single-product) span.onsale,
body.tax-product_cat span.onsale,
body.tax-product_tag span.onsale,
body.single-product .related.products span.onsale,
body.single-product .up-sells.products span.onsale,
body.single-product .cross-sells span.onsale {
  min-height: 0;
  min-width: 0;
  width: auto !important;
  height: auto !important;
  border-radius: 999px !important;
  background: var(--ksar-red) !important;
  color: var(--ksar-paper) !important;
  font-family: var(--ksar-font);
  font-size: 11px !important;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1 !important;
  padding: 8px 10px !important;
  white-space: nowrap !important;
  text-transform: uppercase;
}

body.woocommerce-page .woocommerce ul.products li.product h2.woocommerce-loop-product__title,
body.tax-product_cat .woocommerce ul.products li.product h2.woocommerce-loop-product__title,
body.tax-product_tag .woocommerce ul.products li.product h2.woocommerce-loop-product__title {
  min-height: 2.6em;
  padding: 0 !important;
  color: var(--ksar-ink);
  font-size: 18px !important;
  line-height: 1.3;
}

body.single-product .related.products ul.products li.product h2.woocommerce-loop-product__title,
body.single-product .up-sells.products ul.products li.product h2.woocommerce-loop-product__title,
body.single-product .cross-sells ul.products li.product h2.woocommerce-loop-product__title {
  min-height: 0;
  padding: 0 !important;
  color: #141414 !important;
  -webkit-text-fill-color: #141414 !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
}

body.woocommerce-page .woocommerce ul.products li.product .price,
body.tax-product_cat .woocommerce ul.products li.product .price,
body.tax-product_tag .woocommerce ul.products li.product .price,
body.single-product .related.products ul.products li.product .price,
body.single-product .up-sells.products ul.products li.product .price,
body.single-product .cross-sells ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--ksar-ink) !important;
  font-family: var(--ksar-font);
  font-size: 18px !important;
  font-weight: 900;
}

body.woocommerce-page .woocommerce ul.products li.product .price del,
body.tax-product_cat .woocommerce ul.products li.product .price del,
body.tax-product_tag .woocommerce ul.products li.product .price del,
body.single-product .related.products ul.products li.product .price del,
body.single-product .up-sells.products ul.products li.product .price del,
body.single-product .cross-sells ul.products li.product .price del,
.woocommerce div.product p.price del {
  color: var(--ksar-muted);
  opacity: 0.7;
}

body.woocommerce-page .woocommerce ul.products li.product .price ins,
body.tax-product_cat .woocommerce ul.products li.product .price ins,
body.tax-product_tag .woocommerce ul.products li.product .price ins,
body.single-product .related.products ul.products li.product .price ins,
body.single-product .up-sells.products ul.products li.product .price ins,
body.single-product .cross-sells ul.products li.product .price ins,
.woocommerce div.product p.price ins {
  color: var(--ksar-red);
  text-decoration: none;
}

body.woocommerce-page .woocommerce ul.products li.product .buttons-wrapper,
body.tax-product_cat .woocommerce ul.products li.product .buttons-wrapper,
body.tax-product_tag .woocommerce ul.products li.product .buttons-wrapper,
body.single-product .related.products ul.products li.product .buttons-wrapper,
body.single-product .up-sells.products ul.products li.product .buttons-wrapper,
body.single-product .cross-sells ul.products li.product .buttons-wrapper {
  position: static;
  width: 100%;
  margin-top: auto;
  padding-top: 14px;
  justify-content: flex-start;
}

body.woocommerce-page .woocommerce ul.products li.product .buttons-wrapper .button,
body.woocommerce-page .woocommerce ul.products li.product .buttons-wrapper a.added_to_cart,
body.tax-product_cat .woocommerce ul.products li.product .buttons-wrapper .button,
body.tax-product_cat .woocommerce ul.products li.product .buttons-wrapper a.added_to_cart,
body.tax-product_tag .woocommerce ul.products li.product .buttons-wrapper .button,
body.single-product .related.products ul.products li.product .buttons-wrapper .button,
body.single-product .up-sells.products ul.products li.product .buttons-wrapper .button,
body.single-product .cross-sells ul.products li.product .buttons-wrapper .button {
  width: auto !important;
  min-width: 44px;
  height: auto !important;
  min-height: 44px;
  margin: 0 8px 0 0;
  padding: 10px 16px !important;
  border: 2px solid var(--ksar-ink) !important;
  border-radius: var(--ksar-radius) !important;
  background: var(--ksar-ink) !important;
  color: var(--ksar-paper) !important;
  font-family: var(--ksar-font);
  font-size: 14px !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
  text-align: center;
  text-transform: uppercase;
  opacity: 1 !important;
}

body.woocommerce-page .woocommerce ul.products li.product .buttons-wrapper .button:hover,
body.woocommerce-page .woocommerce ul.products li.product .buttons-wrapper a.added_to_cart:hover,
body.tax-product_cat .woocommerce ul.products li.product .buttons-wrapper .button:hover,
body.single-product .related.products ul.products li.product .buttons-wrapper .button:hover {
  border-color: var(--ksar-red) !important;
}

#ecommerce-custom-header,
.woo-custom-header {
  padding: 38px 0 20px !important;
  border-bottom: 1px solid var(--ksar-line);
  background: var(--ksar-soft) !important;
}

#ecommerce-custom-header h1,
.woo-custom-header .woocommerce-products-header__title {
  max-width: 900px;
  margin: 0 auto;
  font-size: clamp(38px, 7vw, 86px) !important;
}

.woocommerce .woocommerce-breadcrumb {
  color: var(--ksar-muted);
  font-family: var(--ksar-font);
  font-size: 13px;
  font-weight: 700;
}

.woocommerce div.product div.images img,
.woocommerce-product-gallery__image img {
  border-radius: var(--ksar-radius);
  background: var(--ksar-soft);
}

.woocommerce div.product div.summary {
  color: var(--ksar-ink);
}

.woocommerce div.product .product_title {
  margin-bottom: 12px;
  font-size: clamp(34px, 5vw, 68px);
  line-height: 0.98;
  text-transform: uppercase;
}

.woocommerce div.product form.cart .variations td select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce form .input-text,
.woocommerce-page form .input-text,
.woocommerce form select,
.woocommerce-page form select,
.woocommerce form textarea,
.woocommerce-page form textarea {
  min-height: 44px;
  border: 1px solid var(--ksar-line) !important;
  border-radius: var(--ksar-radius) !important;
  background: var(--ksar-paper) !important;
  color: var(--ksar-ink) !important;
  font-family: var(--ksar-font);
  font-size: 15px;
}

.woocommerce div.product form.cart .variations label,
.woocommerce form .form-row label {
  color: var(--ksar-ink);
  font-family: var(--ksar-font);
  font-size: 13px;
  font-weight: 850;
  letter-spacing: 0;
  text-transform: uppercase;
}

body.woocommerce div.product .woocommerce-tabs ul.tabs,
body.woocommerce #content-area div.product .woocommerce-tabs ul.tabs {
  border-bottom-color: var(--ksar-line) !important;
  text-align: left;
}

body.woocommerce div.product .woocommerce-tabs ul.tabs li a,
body.woocommerce #content-area div.product .woocommerce-tabs ul.tabs li a {
  color: var(--ksar-muted) !important;
  font-family: var(--ksar-font);
  font-size: 14px;
  font-weight: 850 !important;
  text-transform: uppercase;
}

body.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
body.woocommerce #content-area div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--ksar-ink) !important;
}

body.woocommerce div.product .woocommerce-tabs ul.tabs li a:before,
body.woocommerce #content-area div.product .woocommerce-tabs ul.tabs li a:before {
  background: var(--ksar-red);
}

.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #payment,
.woocommerce table.shop_table,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-info,
.woocommerce-page .woocommerce-message,
.woocommerce-page .woocommerce-error,
.woocommerce-page .woocommerce-info {
  border: 1px solid var(--ksar-line) !important;
  border-radius: var(--ksar-radius) !important;
  background: var(--ksar-paper) !important;
  color: var(--ksar-ink) !important;
}

.woocommerce .woocommerce-message {
  border-left: 5px solid var(--ksar-green) !important;
}

.woocommerce .woocommerce-info {
  border-left: 5px solid var(--ksar-blue) !important;
}

.woocommerce .woocommerce-error {
  border-left: 5px solid var(--ksar-red) !important;
}

.woocommerce .cart-collaterals .cart_totals h2,
.woocommerce-checkout h3,
.woocommerce-account h2 {
  font-size: 24px;
  text-transform: uppercase;
}

#main-footer,
.et-l--footer {
  background: var(--ksar-ink) !important;
  color: var(--ksar-paper);
}

#main-footer a,
#main-footer p,
#main-footer li,
.et-l--footer a,
.et-l--footer p,
.et-l--footer li {
  color: rgba(255, 255, 255, 0.82) !important;
}

#main-footer h1,
#main-footer h2,
#main-footer h3,
#main-footer h4,
.et-l--footer h1,
.et-l--footer h2,
.et-l--footer h3,
.et-l--footer h4 {
  color: var(--ksar-paper) !important;
}

.et_pb_toggle,
.et-db #et-boc .et_pb_toggle,
.et-db #et-boc .et-l .et_pb_toggle {
  border: 1px solid var(--ksar-line);
  border-radius: var(--ksar-radius);
  background: var(--ksar-paper);
}

.et_pb_toggle_title {
  font-family: var(--ksar-font);
  font-weight: 850;
}

/* Fiche produit — upsells/related : pleine largeur, cartes lien, sans bouton */
body.single-product .et_pb_wc_upsells .et_pb_row,
body.single-product .et_pb_wc_related_products .et_pb_row {
  width: 100% !important;
  max-width: min(1416px, 96vw) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.single-product .et_pb_wc_upsells .et_pb_module,
body.single-product .et_pb_wc_upsells .et_pb_module_inner,
body.single-product .up-sells.products,
body.single-product .related.products {
  width: 100% !important;
  max-width: 100% !important;
}

body.single-product .up-sells.products > h2,
body.single-product .related.products > h2 {
  text-align: center;
  margin-bottom: 20px !important;
}

body.single-product .up-sells.products ul.products,
body.single-product .related.products ul.products,
body.single-product .cross-sells ul.products {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(12px, 1.4vw, 20px);
  width: 100% !important;
  margin: 0 !important;
}

body.single-product .up-sells.products ul.products li.product,
body.single-product .related.products ul.products li.product,
body.single-product .cross-sells ul.products li.product {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  padding: 14px 12px 16px !important;
}

body.single-product .up-sells.products ul.products li.product .woocommerce-LoopProduct-link,
body.single-product .related.products ul.products li.product .woocommerce-LoopProduct-link,
body.single-product .cross-sells ul.products li.product .woocommerce-LoopProduct-link {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  height: 100%;
  text-decoration: none;
  color: inherit;
}

body.single-product .up-sells.products ul.products li.product .buttons-wrapper,
body.single-product .related.products ul.products li.product .buttons-wrapper,
body.single-product .cross-sells ul.products li.product .buttons-wrapper {
  display: none !important;
}

body.single-product .up-sells.products ul.products li.product .et_shop_image,
body.single-product .related.products ul.products li.product .et_shop_image,
body.single-product .cross-sells ul.products li.product .et_shop_image {
  margin: 0 0 4px !important;
}

body.single-product .up-sells.products ul.products li.product .star-rating,
body.single-product .related.products ul.products li.product .star-rating,
body.single-product .cross-sells ul.products li.product .star-rating {
  display: none !important;
}

html body.single-product .et-db #et-boc .et-l .et_pb_wc_upsells ul.products li.product h2.woocommerce-loop-product__title,
html body.single-product .et-db #et-boc .et-l .et_pb_wc_related_products ul.products li.product h2.woocommerce-loop-product__title,
body.single-product .up-sells.products ul.products li.product h2.woocommerce-loop-product__title,
body.single-product .related.products ul.products li.product h2.woocommerce-loop-product__title,
body.single-product .cross-sells ul.products li.product h2.woocommerce-loop-product__title {
  display: block !important;
  width: 100% !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  text-align: center !important;
  color: #141414 !important;
  -webkit-text-fill-color: #141414 !important;
}

body.single-product .up-sells.products ul.products li.product .price,
body.single-product .related.products ul.products li.product .price,
body.single-product .cross-sells ul.products li.product .price {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center !important;
  align-items: baseline;
  gap: 6px !important;
  row-gap: 4px !important;
  column-gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

body.single-product .up-sells.products ul.products li.product .price del,
body.single-product .related.products ul.products li.product .price del,
body.single-product .cross-sells ul.products li.product .price del {
  margin-right: 2px !important;
}

body.single-product .up-sells.products ul.products li.product .price ins,
body.single-product .related.products ul.products li.product .price ins,
body.single-product .cross-sells ul.products li.product .price ins {
  margin-left: 2px !important;
}

body.single-product .up-sells.products ul.products li.product .price del,
body.single-product .related.products ul.products li.product .price del,
body.single-product .cross-sells ul.products li.product .price del,
body.single-product .up-sells.products ul.products li.product .price del .amount,
body.single-product .related.products ul.products li.product .price del .amount,
body.single-product .cross-sells ul.products li.product .price del .amount {
  color: rgba(0, 0, 0, 0.42) !important;
  opacity: 1 !important;
  text-decoration: line-through !important;
  text-decoration-color: currentColor !important;
}

body.single-product .up-sells.products ul.products li.product,
body.single-product .related.products ul.products li.product,
body.single-product .cross-sells ul.products li.product {
  text-align: center !important;
  padding: 12px 10px 14px !important;
}

@media (max-width: 1200px) {
  body.single-product .up-sells.products ul.products,
  body.single-product .related.products ul.products,
  body.single-product .cross-sells ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  body.single-product .up-sells.products ul.products,
  body.single-product .related.products ul.products,
  body.single-product .cross-sells ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Divi columns-6 width:48% !important — .et-db est sur body, pas un descendant */
@media (max-width: 980px) {
  html body.et-db.single-product #et-boc .et-l .et_pb_wc_upsells ul.products li.product,
  html body.et-db.single-product #et-boc .et-l .et_pb_wc_related_products ul.products li.product,
  html body.et-db.single-product #et-boc .et-l .et_pb_wc_upsells ul.products.columns-6 li.product,
  html body.et-db.single-product #et-boc .et-l .et_pb_wc_related_products ul.products.columns-6 li.product,
  html body.single-product.woocommerce-page ul.products.columns-6 li.product,
  body.single-product .up-sells.products ul.products li.product,
  body.single-product .related.products ul.products li.product,
  body.single-product .cross-sells ul.products li.product {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
  }
}

@media (max-width: 980px) {
  #ecommerce-custom-header h1,
  .woo-custom-header .woocommerce-products-header__title,
  .woocommerce div.product .product_title {
    line-height: 1.04;
  }

  body.woocommerce-page .woocommerce ul.products li.product,
  body.tax-product_cat .woocommerce ul.products li.product,
  body.tax-product_tag .woocommerce ul.products li.product {
    padding: 14px 12px 16px !important;
  }
}

@media (max-width: 479px) {
  .woocommerce-page ul.products.columns-3 li.product:nth-child(n),
  .et_pb_column .woocommerce ul.products.columns-3 li.product:nth-child(n),
  .woocommerce-page ul.products.columns-4 li.product:nth-child(n),
  .et_pb_column .woocommerce ul.products.columns-4 li.product:nth-child(n) {
    width: 100% !important;
  }
}
