/* ==========================================================================
   Shop - Boutique
   ========================================================================== */

/* ================= SHOP / CATALOGUE ================= */

.shop-page {
  position: relative;
  overflow: visible;
  padding-bottom: 0;
  background: var(--color-light);
  color: var(--color-brown);
}

.shop-header {
  display: none !important;
}

.shop-layout {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  gap: 52px;
  align-items: start;
  max-width: var(--container-xl);
  margin: 0 auto;
  padding: 36px 58px 96px;
  box-sizing: border-box;
  overflow: visible;
}

@media (prefers-reduced-motion: reduce) {
  .shop-content {
    transition: none;
  }

  .shop-content.is-ordering-transition {
    opacity: 1;
    transform: none;
    pointer-events: auto;
  }
}

.shop-sidebar {
  position: sticky;
  top: 120px;
  align-self: start;
  height: fit-content;
  min-width: 0;
  margin-top: -3px;
  padding-top: 0;
  overflow: visible;
  z-index: 20;
}

.shop-sidebar-nav {
  margin: 0;
}

.shop-sidebar-title {
  display: none !important;
}

.shop-categories {
  display: flex;
  flex-direction: column;
  gap: 14px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.shop-categories li {
  margin: 0;
  padding: 0;
}

.shop-categories a {
  position: relative;
  display: inline-block;
  width: fit-content;

  color: rgba(90, 52, 43, 0.82) !important;
  text-decoration: none !important;

  font-family: var(--font-body) !important;
  font-size: 13px;
  font-weight: var(--fw-semibold);
  line-height: 1.25;
  letter-spacing: 0.08em;
  text-transform: uppercase;

  transition:
    color 0.22s ease,
    opacity 0.22s ease;
}

.shop-categories a:hover,
.shop-categories .current-cat > a {
  color: var(--color-brown) !important;
  opacity: 1;
}

.shop-categories a:focus-visible {
  outline: 2px solid rgba(90, 52, 43, 0.28);
  outline-offset: 4px;
}

.shop-categories .current-cat > a::after {
  display: none;
  content: none;
}

.shop-categories .current-cat > a {
  color: var(--color-brown) !important;
  font-weight: 800;
}

/* Séparation vues boutique / catégories produits */
.shop-categories li:nth-child(2) {
  margin-bottom: 10px;
}

.shop-categories li:nth-child(3) {
  padding-top: 16px;
  border-top: 1px solid rgba(90, 52, 43, 0.12);
}

.shop-categories li:nth-child(1) > a,
.shop-categories li:nth-child(2) > a {
  color: var(--color-brown) !important;
  font-weight: 700;
}

.shop-categories li:nth-child(n + 3) > a {
  color: rgba(90, 52, 43, 0.72) !important;
}

.shop-categories li:nth-child(n + 3) > a:hover,
.shop-categories li:nth-child(n + 3).current-cat > a {
  color: var(--color-brown) !important;
}

/* Breadcrumb haut gauche : Boutique / catégorie active */
.shop-breadcrumb {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 18px;

  color: rgba(90, 52, 43, 0.48);
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: var(--fw-regular);
  line-height: 1.2;
}

.shop-breadcrumb a,
.shop-breadcrumb a:visited {
  color: var(--color-brown) !important;
  text-decoration: none !important;
}

.shop-breadcrumb a:hover {
  color: var(--color-accent) !important;
}

.shop-breadcrumb-separator {
  color: rgba(90, 52, 43, 0.34);
}

/* Toolbar : titre + count + tri */
.shop-toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 32px;
  margin: 0 0 34px;
}

.shop-toolbar-title {
  margin: 0;
  font-family: var(--font-title);
  font-size: clamp(38px, 3.3vw, 52px);
  font-weight: var(--fw-semibold);
  line-height: 1.02;
  letter-spacing: -0.028em;
  color: var(--color-brown);
}

.shop-toolbar-count {
  display: inline-block;
  margin-left: 10px;
  transform: translateY(-4px);

  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;

  color: rgba(90, 52, 43, 0.42);
  vertical-align: middle;
}


/* ---------- Reset WooCommerce archive ---------- */

.shop-ordering,
.woocommerce-result-count,
.shop-content ul.products::before,
.shop-content ul.products::after {
  display: none !important;
  content: none !important;
}

.woocommerce-ordering {
  display: block !important;
  margin: 0 !important;
}


/* ---------- Grille produits ---------- */

.shop-content ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  column-gap: 34px !important;
  row-gap: 40px !important;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.shop-content ul.products li.product {
  display: flex;
  flex-direction: column;

  float: none !important;
  clear: none !important;

  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;

  list-style: none !important;
  text-align: left !important;

  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

/* Important : le lien complet ne doit jamais être contraint en carré */
.shop-content ul.products li.product a,
.shop-content ul.products li.product a:visited,
.shop-content ul.products li.product .woocommerce-LoopProduct-link,
.shop-content ul.products li.product .woocommerce-loop-product__link {
  display: block;
  color: inherit !important;
  text-decoration: none !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.shop-content ul.products li.product .product-card-link {
  display: block;
  text-decoration: none !important;
}

.shop-content ul.products li.product .product-card-image-link {
  display: block;
  width: 100%;
  text-decoration: none !important;
}

/* Le conteneur média reste transparent dans la grille desktop. En tactile,
 * il devient le repère du CTA flottant sans imbriquer deux liens. */
.shop-content ul.products li.product .product-card-media {
  display: contents;
}

.shop-content ul.products li.product .product-card-image-link {
  order: 1;
}

.shop-content ul.products li.product .product-card-link {
  order: 2;
}

.shop-content ul.products li.product .product-card-actions {
  order: 3;
}

.shop-content ul.products li.product .product-card-body,
.shop-content ul.products li.product .product-card-content,
.shop-content ul.products li.product .product-card-info,
.shop-content ul.products li.product .product-info,
.shop-content ul.products li.product .product-summary,
.shop-content ul.products li.product .product-meta,
.shop-content ul.products li.product .product-details,
.shop-content ul.products li.product .woocommerce-loop-product__title,
.shop-content ul.products li.product .price,
.shop-content ul.products li.product .amount,
.shop-content ul.products li.product bdi,
.shop-content ul.products li.product ins,
.shop-content ul.products li.product del {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

/* ---------- Image produit ---------- */

.product-card-image {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: var(--brand-product-image-ratio, 5 / 6);
  overflow: hidden;
  margin: 0 0 16px;
  border-radius: 3px;
  background: var(--color-cream) !important;
  background-color: var(--color-cream) !important;
}

.product-card-image img {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  object-fit: cover !important;
  margin: 0 !important;
  background: transparent !important;
  transform:
    translate(
      calc(-50% + var(--catalog-crop-offset-x, 0px)),
      calc(-50% + var(--catalog-crop-offset-y, 0px))
    );
  transform-origin: center;
  transition:
    opacity 0.35s ease,
    transform 0.45s ease,
    filter 0.45s ease;
}

/* Fallback WooCommerce si jamais une carte n’a pas .product-card-image */
.shop-content ul.products li.product > a > img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  aspect-ratio: var(--brand-product-image-ratio, 5 / 6) !important;
  height: auto !important;
  object-fit: cover !important;
  margin: 0 0 14px !important;
  background: transparent !important;
  transition:
    transform 0.45s ease,
    filter 0.45s ease;
}

/* Image principale / image hover */
.product-image-main {
  opacity: 1;
  z-index: 1;
}

.product-image-hover {
	position: absolute !important;
	inset: 0 !important;
	opacity: 0;
	z-index: 2;
}

.product-card-image .product-image-hover {
	object-fit: cover !important;
	object-position: center center;
	transition: opacity 0.35s ease !important;
}

.shop-content ul.products li.product:hover .has-hover-image .product-image-main {
  opacity: 0;
}

.shop-content ul.products li.product:hover .has-hover-image .product-image-hover {
	opacity: 1;
}

/* Voile très léger au hover */
.shop-content ul.products li.product .product-card-image::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 4;

  background: rgba(255, 253, 249, 0.08);

  opacity: 0;
  pointer-events: none;

  transition: opacity 0.28s ease;
}

.shop-content ul.products li.product:hover .product-card-image::after {
  opacity: 1;
}

/* ---------- Texte produit ---------- */

.shop-content ul.products li.product .woocommerce-loop-product__title {
  position: relative !important;
  z-index: 3;

  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  overflow: visible !important;
  overflow-wrap: anywhere;

  padding: 0 !important;
  margin: 0 0 6px !important;

  color: var(--color-brown) !important;

  font-family: var(--font-title) !important;
  font-size: 21px !important;
  font-weight: var(--fw-regular) !important;
  line-height: 1.16 !important;
  letter-spacing: -0.015em;

  transition: color 0.22s ease;
}

.shop-content ul.products li.product:hover .woocommerce-loop-product__title {
  color: var(--color-accent) !important;
}

.shop-content ul.products li.product .product-card-price {
  position: relative !important;
  z-index: 3;

  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  overflow: visible !important;

  margin: 0 !important;
  padding: 0 !important;

  font-family: var(--font-body) !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
}

.shop-content ul.products li.product .umatatea-product-logistics-label {
	display: block;
	margin-top: 7px;
	color: rgba(90, 52, 43, 0.68);
	font-family: var(--font-body);
	font-size: 10.5px;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0.035em;
}

/* ---------- Prix produits ---------- */

.shop-content ul.products li.product .umatatea-card-price {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 6px;
  flex-wrap: wrap;

  color: var(--color-accent) !important;

  font-family: var(--font-body) !important;
  font-size: 13px !important;
  font-weight: var(--fw-semibold) !important;
  line-height: 1.3 !important;
}

/* Prix normal, sans promotion */
.shop-content ul.products li.product .umatatea-card-price__current {
  color: rgba(90, 52, 43, 0.78) !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em;
}


/* Fallback du HTML natif WooCommerce */
.shop-content ul.products li.product .umatatea-card-price--native {
  display: inline-flex;
  flex-direction: row;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 7px;
}

.shop-content ul.products li.product .umatatea-card-price--native ins {
  order: 1;

  color: #b9603f !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.3;

  text-decoration: none !important;
  background: transparent !important;
}

.shop-content ul.products li.product .umatatea-card-price--native del {
  order: 2;

  color: rgba(90, 52, 43, 0.62) !important;
  font-size: 11.5px;
  font-weight: 400;
  line-height: 1.3;
  opacity: 1;

  text-decoration-line: line-through !important;
  text-decoration-thickness: 1px !important;
  text-decoration-color: rgba(90, 52, 43, 0.55) !important;
  text-decoration-skip-ink: none;
}

/* ================= SHOP CARD CTA ================= */

.shop-content ul.products li.product .product-card-actions {
  min-height: 20px;
  margin-top: auto;

  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);

  transition:
    opacity 0.22s ease,
    visibility 0.22s ease,
    transform 0.22s ease;
}

.shop-content ul.products li.product.umatatea-recommendation-card .product-card-price {
  margin-bottom: 7px !important;
}

@media (hover: hover) and (pointer: fine) {
  .shop-content ul.products li.product .product-card-actions {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(3px);
  }

  .shop-content ul.products li.product:hover .product-card-actions,
  .shop-content ul.products li.product:focus-within .product-card-actions {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }
}

/* Lien ajouter au panier */
.shop-content ul.products li.product .product-card-actions .button {
  display: inline-flex !important;
  align-items: center;
  justify-content: flex-start;

  min-height: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;

  border: 0 !important;
  border-radius: 0 !important;

  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;

  color: var(--color-brown) !important;
  text-decoration: none !important;

  font-family: var(--font-body) !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  white-space: nowrap;
  gap: 5px;

  transform: none !important;
  filter: none !important;
}

.shop-content ul.products li.product .product-card-actions .button::before {
  display: none !important;
  content: none !important;
}

.shop-content ul.products li.product .product-card-actions .button:hover {
  color: var(--color-accent) !important;
  background: transparent !important;
}

/* Les CTA restent visuellement légers, mais deviennent réellement tactiles. */
@media (hover: none), (pointer: coarse) {
  .shop-content ul.products li.product .product-card-actions .button {
    min-height: 44px !important;
    line-height: 1.25 !important;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .umatatea-orderby__option {
    min-height: 44px;
  }

  .shop-content ul.products li.product .product-card-media {
    position: relative;
    display: block;
    margin-bottom: 16px;
  }

  .shop-content ul.products li.product .product-card-media > .product-card-image-link {
    display: block;
  }

  .shop-content ul.products li.product .product-card-media .product-card-image {
    margin-bottom: 0 !important;
  }

 
  .shop-content ul.products li.product .product-card-media .product-card-actions {
    position: absolute;
    right: 9px;
    bottom: 9px;
    z-index: 6;

    min-height: 0;
    margin: 0;
  }

    .shop-content ul.products li.product .product-card-media .product-card-actions .button.add_to_cart_button,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.js-umatatea-variation-add-to-cart,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.product-card-button--cart-recommendation {
    position: relative;

    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;

    padding: 0 !important;
    margin: 0 !important;

    border: 0 !important;
    border-radius: 8px !important;

    background: #fff !important;
    background-color: #fff !important;
    background-image: none !important;

    box-shadow: 0 1px 4px rgba(76, 33, 26, 0.04) !important;

    color: #4c211a !important;

    --product-card-cta-icon-size: 20px;

    gap: 0;
    line-height: 1 !important;

    opacity: 1 !important;
    visibility: visible !important;

    transform: none !important;

    transition:
      transform 140ms ease,
      background-color 140ms ease,
      box-shadow 140ms ease;
  }

  .shop-content ul.products li.product .product-card-media .product-card-actions .button.add_to_cart_button:hover,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.add_to_cart_button:focus,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.add_to_cart_button:active,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.add_to_cart_button.loading,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.add_to_cart_button.added,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.js-umatatea-variation-add-to-cart:hover,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.js-umatatea-variation-add-to-cart:focus,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.js-umatatea-variation-add-to-cart:active,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.js-umatatea-variation-add-to-cart.loading,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.js-umatatea-variation-add-to-cart.added,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.product-card-button--cart-recommendation:hover,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.product-card-button--cart-recommendation:focus,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.product-card-button--cart-recommendation:active,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.product-card-button--cart-recommendation.loading,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.product-card-button--cart-recommendation.added {
    background: #fff !important;
    background-color: #fff !important;
    background-image: none !important;

    border-color: transparent !important;
    box-shadow: 0 1px 4px rgba(76, 33, 26, 0.04) !important;

    color: #4c211a !important;

    opacity: 1 !important;
    visibility: visible !important;
  }

  .shop-content ul.products li.product .product-card-media .product-card-actions .button.add_to_cart_button:active,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.js-umatatea-variation-add-to-cart:active,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.product-card-button--cart-recommendation:active {
    transform: scale(0.96) !important;
  }

  .shop-content ul.products li.product .product-card-media .product-card-actions .button.add_to_cart_button.loading,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.js-umatatea-variation-add-to-cart.loading,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.product-card-button--cart-recommendation.loading {
    transform: none !important;
  }

  .shop-content ul.products li.product .product-card-media .product-card-actions .button.add_to_cart_button .product-card-button__label,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.js-umatatea-variation-add-to-cart .product-card-button__label,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.product-card-button--cart-recommendation .product-card-button__label,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.add_to_cart_button .product-card-button__plus,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.js-umatatea-variation-add-to-cart .product-card-button__plus,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.product-card-button--cart-recommendation .product-card-button__plus {
    display: none;
  }

  .shop-content ul.products li.product .product-card-media .product-card-actions .button.add_to_cart_button.loading::before,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.js-umatatea-variation-add-to-cart.loading::before,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.product-card-button--cart-recommendation.loading::before {
    opacity: 0;
  }

  .shop-content ul.products li.product .product-card-media .product-card-actions .button.add_to_cart_button.loading::after,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.js-umatatea-variation-add-to-cart.loading::after,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.product-card-button--cart-recommendation.loading::after {
    content: "" !important;

    position: absolute;
    top: 50%;
    left: 50%;

    display: block !important;

    width: 14px;
    height: 14px;
    margin: 0 !important;

    border: 1.4px solid rgba(76, 33, 26, 0.20) !important;
    border-top-color: rgba(76, 33, 26, 0.88) !important;
    border-radius: 50% !important;

    background: transparent !important;
    background-image: none !important;

    opacity: 1 !important;

    transform: translate(-50%, -50%) !important;

    animation: umatatea-loader-spin 0.75s linear infinite !important;
  }
}

/* Icône partagée des CTA flottants : le SVG reste un tracé sans remplissage. */
.shop-content ul.products li.product .product-card-media .product-card-actions .button.add_to_cart_button::before,
.shop-content ul.products li.product .product-card-media .product-card-actions .button.js-umatatea-variation-add-to-cart::before,
.shop-content ul.products li.product .product-card-media .product-card-actions .button.product-card-button--cart-recommendation::before {
  display: block !important;
  width: var(--product-card-cta-icon-size, 18px);
  height: var(--product-card-cta-icon-size, 18px);
  margin: 0;
  content: "" !important;

  background: #4c211a !important;
  background-color: #4c211a !important;
  background-image: none !important;

  transform: translateY(-0.25px);

  mask:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.25 9.5h13.5l-.65 9.25H5.9L5.25 9.5Z'/%3E%3Cpath d='M8.75 9.5V7.75a3.25 3.25 0 0 1 6.5 0V9.5'/%3E%3C/svg%3E")
    center / var(--product-card-cta-icon-size, 18px) var(--product-card-cta-icon-size, 18px)
    no-repeat;

  -webkit-mask:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.25 9.5h13.5l-.65 9.25H5.9L5.25 9.5Z'/%3E%3Cpath d='M8.75 9.5V7.75a3.25 3.25 0 0 1 6.5 0V9.5'/%3E%3C/svg%3E")
    center / var(--product-card-cta-icon-size, 18px) var(--product-card-cta-icon-size, 18px)
    no-repeat;
}

/* CTA flottant tablette : même composant, avec une ancre positionnée sur le média. */
@media (min-width: 681px) and (max-width: 900px) {
  .shop-content ul.products li.product .product-card-media:has(> .product-card-actions > .button.add_to_cart_button, > .product-card-actions > .button.js-umatatea-variation-add-to-cart, > .product-card-actions > .button.product-card-button--cart-recommendation) {
    position: relative;
    display: block;
    margin-bottom: 16px;
  }

  .shop-content ul.products li.product .product-card-media:has(> .product-card-actions > .button.add_to_cart_button, > .product-card-actions > .button.js-umatatea-variation-add-to-cart, > .product-card-actions > .button.product-card-button--cart-recommendation) .product-card-image {
    margin-bottom: 0 !important;
  }

  .shop-content ul.products li.product .product-card-media:has(> .product-card-actions > .button.add_to_cart_button, > .product-card-actions > .button.js-umatatea-variation-add-to-cart, > .product-card-actions > .button.product-card-button--cart-recommendation) .product-card-actions {
    position: absolute;
    right: 13px;
    bottom: 13px;
    z-index: 6;

    min-height: 0;
    margin: 0;
  }

  .shop-content ul.products li.product .product-card-media .product-card-actions .button.add_to_cart_button,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.js-umatatea-variation-add-to-cart,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.product-card-button--cart-recommendation {
    position: relative;

    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;

    padding: 0 !important;
    margin: 0 !important;

    border: 0 !important;
    border-radius: 11px !important;

    background: #fff !important;
    background-color: #fff !important;
    background-image: none !important;
    box-shadow: 0 1px 4px rgba(76, 33, 26, 0.04) !important;

    color: #4c211a !important;
    --product-card-cta-icon-size: 19px;

    gap: 0;
    line-height: 1 !important;
    transform: none !important;

    transition:
      transform 140ms ease,
      background-color 140ms ease,
      box-shadow 140ms ease;
  }

  .shop-content ul.products li.product .product-card-media .product-card-actions .button.add_to_cart_button .product-card-button__label,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.js-umatatea-variation-add-to-cart .product-card-button__label,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.product-card-button--cart-recommendation .product-card-button__label,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.add_to_cart_button .product-card-button__plus,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.js-umatatea-variation-add-to-cart .product-card-button__plus,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.product-card-button--cart-recommendation .product-card-button__plus {
    display: none;
  }
}

.shop-content ul.products li.product .product-card-media .product-card-actions .button.add_to_cart_button:active:not(.loading),
.shop-content ul.products li.product .product-card-media .product-card-actions .button.js-umatatea-variation-add-to-cart:active:not(.loading),
.shop-content ul.products li.product .product-card-media .product-card-actions .button.product-card-button--cart-recommendation:active:not(.loading) {
  transform: scale(0.96) !important;
}

@media (hover: hover) and (pointer: fine) {
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.add_to_cart_button:hover,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.js-umatatea-variation-add-to-cart:hover,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.product-card-button--cart-recommendation:hover {
    background: #fff !important;
    background-color: #fff !important;
    color: #4c211a !important;
    transform: translateY(-1px) !important;
  }
}

@media (hover: hover) and (pointer: fine) {
  .shop-content ul.products li.product .product-card-media:has(> .product-card-actions > .button.product-card-button--cart-recommendation) {
    position: static;
    display: contents;
    margin-bottom: 0;
  }

  .shop-content ul.products li.product .product-card-media:has(> .product-card-actions > .button.product-card-button--cart-recommendation) .product-card-actions {
    position: static;
    right: auto;
    bottom: auto;
    z-index: auto;
    min-height: 20px;
    margin-top: auto;
  }

  .shop-content ul.products li.product .product-card-media .product-card-actions .button.product-card-button--cart-recommendation {
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    color: var(--color-brown) !important;
    gap: 5px;
    line-height: 1.2 !important;
    white-space: nowrap;
    transform: none !important;
  }

  .shop-content ul.products li.product .product-card-media .product-card-actions .button.product-card-button--cart-recommendation::before {
    display: none !important;
    content: none !important;
    background: none !important;
    mask: none;
    -webkit-mask: none;
  }

  .shop-content ul.products li.product .product-card-media .product-card-actions .button.product-card-button--cart-recommendation .product-card-button__label,
  .shop-content ul.products li.product .product-card-media .product-card-actions .button.product-card-button--cart-recommendation .product-card-button__plus {
    display: inline-block !important;
  }
}

/* Desktop — WooCommerce injecte "Voir le panier" après l'ajout :
   inutile puisque le drawer s'ouvre déjà. */
@media (min-width: 1024px) and (hover: hover) and (pointer: fine) {
  .shop-content ul.products li.product .added_to_cart,
  .shop-content ul.products li.product a.added_to_cart,
  .shop-content ul.products li.product a.added_to_cart.wc-forward {
    display: none !important;
  }
}


/* ==========================================================================
   CTA produit desktop — feedback ajout panier discret
   Mobile / tactile inchangés
   ========================================================================== */

@media (min-width: 1024px) and (hover: hover) and (pointer: fine) {

  /* Petite pression immédiate au clic */
  .shop-content ul.products li.product:not(.umatatea-recommendation-card)
    .product-card-actions
    .button.add_to_cart_button:active:not(.loading),
  .shop-content ul.products li.product:not(.umatatea-recommendation-card)
    .product-card-actions
    .button.js-umatatea-variation-add-to-cart:active:not(.loading) {
    transform: translateY(1px) !important;
  }

  /*
   * Pendant l'AJAX :
   * pas de spinner, pas de disparition du texte.
   * Le drawer fournit déjà le feedback principal.
   */
  .shop-content ul.products li.product:not(.umatatea-recommendation-card)
    .product-card-actions
    .button.add_to_cart_button.loading,
  .shop-content ul.products li.product:not(.umatatea-recommendation-card)
    .product-card-actions
    .button.js-umatatea-variation-add-to-cart.loading {
    opacity: 0.55 !important;
    visibility: visible !important;
    pointer-events: none !important;

    color: var(--color-brown) !important;
    background: transparent !important;

    transform: none !important;
    cursor: default;
  }

  /* Le texte et le + restent visibles */
  .shop-content ul.products li.product:not(.umatatea-recommendation-card)
    .product-card-actions
    .button.loading
    .product-card-button__label,
  .shop-content ul.products li.product:not(.umatatea-recommendation-card)
    .product-card-actions
    .button.loading
    .product-card-button__plus {
    opacity: 1 !important;
    transform: none !important;
  }

  /* Neutralise tout spinner WooCommerce éventuel sur desktop */
  .shop-content ul.products li.product:not(.umatatea-recommendation-card)
    .product-card-actions
    .button.add_to_cart_button.loading::after,
  .shop-content ul.products li.product:not(.umatatea-recommendation-card)
    .product-card-actions
    .button.js-umatatea-variation-add-to-cart.loading::after {
    display: none !important;
    content: none !important;
    animation: none !important;
  }
}


/* ==========================================================================
   CTA produit desktop — texte sous le prix, aligné à gauche
   Mobile / tactile inchangés
   ========================================================================== */

@media (min-width: 1024px) and (hover: hover) and (pointer: fine) {

  /*
   * Sur desktop, le média redevient transparent pour le layout :
   * image, contenu puis CTA suivent leur ordre naturel.
   */
  .shop-content ul.products li.product:not(.umatatea-recommendation-card)
    .product-card-media {
    position: static;
    display: contents;
    margin-bottom: 0;
  }

  /*
   * L'image retrouve son espacement normal avec le titre.
   */
  .shop-content ul.products li.product:not(.umatatea-recommendation-card)
    .product-card-image {
    margin-bottom: 16px !important;
  }

  /*
   * CTA dans le flux, juste sous le prix / éventuelle info logistique.
   * Pas de margin-top:auto : sa position ne dépend plus de la hauteur
   * du titre.
   */
  .shop-content ul.products li.product:not(.umatatea-recommendation-card)
    .product-card-actions {
    position: static;
    right: auto;
    bottom: auto;
    z-index: auto;

    display: block;
    width: auto;
    min-height: 20px;

    margin-top: 5px !important;
    padding: 0;

    text-align: left;
  }

  /*
   * CTA texte desktop.
   */
  .shop-content ul.products li.product:not(.umatatea-recommendation-card)
    .product-card-actions
    .button.add_to_cart_button,
  .shop-content ul.products li.product:not(.umatatea-recommendation-card)
    .product-card-actions
    .button.js-umatatea-variation-add-to-cart {
    display: inline-flex !important;
    align-items: center;
    justify-content: flex-start;

    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: auto !important;

    padding: 0 !important;
    margin: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;

    box-shadow: none !important;

    color: var(--color-brown) !important;

    gap: 5px;
    line-height: 1.2 !important;
    white-space: nowrap;

    transform: none !important;
  }

  /*
   * Pas d'icône panier sur desktop.
   */
  .shop-content ul.products li.product:not(.umatatea-recommendation-card)
    .product-card-actions
    .button.add_to_cart_button::before,
  .shop-content ul.products li.product:not(.umatatea-recommendation-card)
    .product-card-actions
    .button.js-umatatea-variation-add-to-cart::before {
    display: none !important;
    width: 0 !important;
    height: 0 !important;

    content: none !important;

    background: none !important;
    mask: none !important;
    -webkit-mask: none !important;
  }

  .shop-content ul.products li.product:not(.umatatea-recommendation-card)
    .product-card-actions
    .button.add_to_cart_button
    .product-card-button__label,
  .shop-content ul.products li.product:not(.umatatea-recommendation-card)
    .product-card-actions
    .button.js-umatatea-variation-add-to-cart
    .product-card-button__label,
  .shop-content ul.products li.product:not(.umatatea-recommendation-card)
    .product-card-actions
    .button.add_to_cart_button
    .product-card-button__plus,
  .shop-content ul.products li.product:not(.umatatea-recommendation-card)
    .product-card-actions
    .button.js-umatatea-variation-add-to-cart
    .product-card-button__plus {
    display: inline-block !important;
  }

  /*
   * Hover texte uniquement.
   */
  .shop-content ul.products li.product:not(.umatatea-recommendation-card)
    .product-card-actions
    .button.add_to_cart_button:hover,
  .shop-content ul.products li.product:not(.umatatea-recommendation-card)
    .product-card-actions
    .button.js-umatatea-variation-add-to-cart:hover {
    background: transparent !important;
    background-color: transparent !important;

    color: var(--color-accent) !important;

    box-shadow: none !important;
    transform: none !important;
  }
}

/* ================= WOOCOMMERCE NOTICES - SHOP ================= */

.shop-page .woocommerce-notices-wrapper,
.shop-layout .woocommerce-notices-wrapper {
  grid-column: 1 / -1;
  width: 100%;
  margin: 0 0 32px;
}

.shop-page .woocommerce-message,
.shop-page .woocommerce-info,
.shop-page .woocommerce-error {
  position: relative;

  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 24px;

  margin: 0 0 32px !important;
  padding: 18px 22px 18px 52px !important;

  border: 1px solid rgba(90, 52, 43, 0.12) !important;
  border-top: 1px solid rgba(90, 52, 43, 0.12) !important;
  border-radius: var(--radius-md);

  background: var(--color-cream) !important;
  color: var(--color-brown) !important;

  font-family: var(--font-body);
  font-size: var(--fs-sm);
  line-height: 1.5;

  box-shadow: none !important;
  outline: none !important;
}

.shop-page .woocommerce-message::before,
.shop-page .woocommerce-info::before {
  content: "✓" !important;
  position: absolute;
  left: 22px;
  top: 50%;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 18px;
  height: 18px;

  border-radius: 50%;
  background: rgba(107, 143, 62, 0.12);
  color: #6b8f3e !important;

  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;

  transform: translateY(-50%);
}

.shop-page .woocommerce-error::before {
  content: "!" !important;
  position: absolute;
  left: 22px;
  top: 50%;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 18px;
  height: 18px;

  border-radius: 50%;
  background: rgba(160, 60, 45, 0.12);
  color: #a03c2d !important;

  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;

  transform: translateY(-50%);
}

.shop-page .woocommerce-message a.button,
.shop-page .woocommerce-info a.button,
.shop-page .woocommerce-error a.button {
  flex: 0 0 auto;
  min-height: 44px;
  padding: 0 24px !important;
  font-size: var(--fs-xs) !important;
}



/* ==========================================================================
   Shop ordering — custom no-native dropdown
   ========================================================================== */

.shop-toolbar-ordering {
  flex: 0 0 auto;
  padding-top: 4px;
}

.woocommerce-ordering {
  display: block !important;
  margin: 0 !important;
}

.umatatea-orderby {
  position: relative;
  width: 260px;
  color: var(--color-brown, #5a342b);
  font-family: var(--font-body, sans-serif);
}

.umatatea-orderby__details {
  position: relative;
  width: 100%;
}

.umatatea-orderby__summary {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr) max-content;
  align-items: center;
  gap: 12px;

  width: 100%;
  min-height: 48px;
  padding: 0 16px;

  border: 1px solid rgba(90, 52, 43, 0.16);
  background: #fff;
  color: var(--color-brown, #5a342b);

  list-style: none;
  cursor: pointer;
}

.umatatea-orderby__summary::-webkit-details-marker {
  display: none;
}

.umatatea-orderby__label {
  color: rgba(90, 52, 43, 0.54);
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  white-space: nowrap;
}

.umatatea-orderby__current {
  justify-self: end;
  min-width: 0;
  max-width: 100%;

  color: var(--color-brown, #5a342b);

  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  white-space: normal;
  overflow: visible;
  overflow-wrap: anywhere;
}

.umatatea-orderby__arrow {
  width: 7px;
  height: 7px;

  border-right: 1px solid rgba(90, 52, 43, 0.68);
  border-bottom: 1px solid rgba(90, 52, 43, 0.68);

  transform: translateY(-2px) rotate(45deg);

  opacity: 1;

  transition:
    transform 0.18s ease,
    border-color 0.18s ease;
}

.umatatea-orderby__details[open] .umatatea-orderby__arrow {
  transform: translateY(2px) rotate(225deg);
}

.umatatea-orderby__menu {
  position: absolute;
  z-index: 50;
  top: calc(100% + 6px);
  right: 0;

  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 6px 0;

  list-style: none;

  background: #fff;
  border: 1px solid rgba(90, 52, 43, 0.14);
  box-shadow: none;
}

.umatatea-orderby__item {
  margin: 0;
  padding: 0;
}

.umatatea-orderby__option {
  display: grid;
  grid-template-columns: 12px 1fr;
  align-items: center;
  gap: 9px;

  min-height: 40px;
  padding: 0 16px;

  color: rgba(90, 52, 43, 0.72);
  text-decoration: none !important;

  font-size: 10.8px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.105em;
  text-transform: uppercase;
}

.umatatea-orderby__option:hover {
  background: rgba(247, 241, 237, 0.52);
  color: var(--color-brown, #5a342b);
}

.umatatea-orderby__option.is-selected {
  background: rgba(247, 241, 237, 0.38);
  color: var(--color-brown, #5a342b);
}

.umatatea-orderby__check {
  color: var(--color-accent, #b97b56);

  font-size: 9px;
  font-weight: 700;
  line-height: 1;

  opacity: 0.9;
}


/* ==========================================================================
   Badges produit
   ========================================================================== */

.product-card-image {
  position: relative;
}

.product-card-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 8;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  box-sizing: border-box;
  max-width: calc(100% - 24px);
  min-height: 22px;
  margin: 0;
  padding: 0 8px;

  border: 0;
  border-radius: 2px;

  font-family: var(--font-body);
  font-size: 8px;
  font-weight: 700;
  line-height: 22px;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  white-space: nowrap;

  box-shadow: 0 1px 5px rgba(76, 33, 26, 0.10);
  pointer-events: none;
}

/* Nouveauté */
.product-card-badge--new {
  background: rgba(255, 253, 249, 0.97);
  color: rgba(90, 52, 43, 0.84);
}

/* Best-seller */
.product-card-badge--best-seller {
  background: rgba(90, 52, 43, 0.94);
  color: #fffdfb;
  box-shadow: 0 2px 6px rgba(76, 33, 26, 0.14);
}

/* Soldes  */
.product-card-badge--sale {
  background: #d26f43;
  color: #fffdfb;
  box-shadow: 0 2px 6px rgba(76, 33, 26, 0.15);
}

/* Pièce unique */
.product-card-badge--piece-unique {
  background: #8f7359;
  color: #fffdfb;
  box-shadow: 0 2px 6px rgba(76, 33, 26, 0.13);
}

/* Épuisé */
.product-card-badge--out-of-stock {
  border: 1px solid rgba(90, 52, 43, 0.14);
  background: rgba(255, 253, 249, 0.95);
  color: rgba(90, 52, 43, 0.64);
  box-shadow: 0 1px 4px rgba(76, 33, 26, 0.07);
}


/* ================= CARD PRODUIT INDISPONIBLE / RUPTURE ================= */

.shop-content ul.products li.product.is-out-of-stock-card .product-image-hover {
  display: none !important;
}

.shop-content ul.products li.product.is-out-of-stock-card .product-card-image {
  position: relative;
}

.shop-content ul.products li.product.is-out-of-stock-card .product-card-image::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 4;
  background: rgba(255, 255, 255, 0.22);
  pointer-events: none;
}

.shop-content ul.products li.product.is-out-of-stock-card .product-card-image img,
.shop-content ul.products li.product.is-out-of-stock-card:hover .product-card-image img {
  opacity: 0.82 !important;
  filter: grayscale(0.24) brightness(0.97) contrast(0.93) !important;
}

.shop-content ul.products li.product.is-out-of-stock-card .woocommerce-loop-product__title,
.shop-content ul.products li.product.is-out-of-stock-card:hover .woocommerce-loop-product__title {
  color: rgba(90, 52, 43, 0.56) !important;
}

.shop-content ul.products li.product.is-out-of-stock-card .price,
.shop-content ul.products li.product.is-out-of-stock-card .price .amount,
.shop-content ul.products li.product.is-out-of-stock-card .price bdi {
  color: rgba(185, 123, 86, 0.52) !important;
}

/* Variation indisponible / bouton rupture */
.single-product-page .single_add_to_cart_button.is-disabled,
.single-product-page .single_add_to_cart_button:disabled {
  width: 100%;
  min-height: 54px;

  border: 1px solid rgba(90, 52, 43, 0.18) !important;
  background: rgba(247, 241, 237, 0.92) !important;
  color: rgba(90, 52, 43, 0.58) !important;

  cursor: not-allowed !important;
  opacity: 1 !important;

  font-family: var(--font-body);
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase;

  box-shadow: none !important;
  transform: none !important;
}




/* ==========================================================================
   Shop load more
   ========================================================================== */

.umatatea-shop-load-more-wrap {
  display: flex;
  justify-content: center;
  margin: 44px 0 0;
}

.umatatea-shop-load-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 168px;
  min-height: 46px;
  padding: 0 28px;

  border: 1px solid rgba(90, 52, 43, 0.34);
  border-radius: 999px;
  background: transparent;
  color: rgba(90, 52, 43, 0.88);

  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;

  cursor: pointer;

  transition:
    border-color 0.18s ease,
    background-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.umatatea-shop-load-more:hover {
  border-color: var(--color-brown);
  background: var(--color-brown);
  color: #fff;
  transform: translateY(-1px);
}

.umatatea-shop-load-more.is-loading {
	opacity: 0.62;
	pointer-events: none;
	position: relative;
	cursor: wait;
}

.umatatea-shop-load-more.is-loading::after {
	content: "";
	display: inline-block;
	width: var(--umatatea-loader-size-small);
	height: var(--umatatea-loader-size-small);
	margin-left: 10px;
	border: var(--umatatea-loader-border-width) solid currentColor;
	border-top-color: transparent;
	border-radius: 50%;
	background: transparent;
	animation: umatatea-loader-spin var(--umatatea-loader-speed) linear infinite;
}

@media (prefers-reduced-motion: reduce) {
	.umatatea-shop-load-more.is-loading::after {
		animation-duration: 1.8s;
	}
}

.umatatea-shop-load-more:focus-visible {
  outline: 2px solid rgba(90, 52, 43, 0.36);
  outline-offset: 4px;
}

/* ==========================================================================
   Responsive boutique
   ========================================================================== */

@media (max-width: 1280px) {
  .shop-layout {
    grid-template-columns: 190px minmax(0, 1fr);
    gap: 42px;
    padding-left: 48px;
    padding-right: 48px;
  }

  .shop-content ul.products {
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
    gap: 46px 26px !important;
  }
}

@media (max-width: 1100px) {
  .shop-layout {
    grid-template-columns: 170px minmax(0, 1fr);
    gap: 34px;
    padding-left: 40px;
    padding-right: 40px;
  }

  .shop-content ul.products {
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
    gap: 42px 28px !important;
  }
}

/* ================= BOUTIQUE MOBILE ================= */

@media (max-width: 1023px) {
  html,
  body {
    overflow-x: hidden !important;
  }

  .shop-page {
    width: 100%;
    overflow-x: hidden;
  }

  .shop-layout {
    display: block !important;
    width: 100%;
    max-width: 100%;
    margin: 0 auto !important;
    padding: 24px 20px 68px !important;
    box-sizing: border-box;
  }

  .shop-sidebar,
  .shop-content {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .shop-sidebar {
    position: static !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
  }

  .shop-breadcrumb {
    display: none !important;
  }

  .shop-categories {
    display: flex !important;
    flex-flow: row nowrap !important;
    gap: 8px !important;

    margin: 0 -20px 26px 0 !important;
    padding: 0 20px 8px 0 !important;

    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .shop-categories::-webkit-scrollbar {
    display: none;
  }

  .shop-categories li {
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .shop-categories a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    min-height: 44px;
    padding: 0 14px !important;

    border: 1px solid rgba(90, 52, 43, 0.16) !important;
    border-radius: 999px !important;
    background: #fff !important;

    color: var(--color-brown) !important;
    font-family: var(--font-body);
    font-size: 10.5px !important;
    font-weight: 700;
    line-height: 1 !important;
    letter-spacing: 0.075em !important;
    text-transform: uppercase;
    white-space: nowrap !important;
    text-decoration: none !important;
  }

  .shop-categories .current-cat > a {
    background: #fff !important;
    border-color: rgba(90, 52, 43, 0.24) !important;
    color: var(--color-brown) !important;
  }

  .shop-categories .current-cat > a::after {
    display: none !important;
    content: none !important;
  }

  .shop-toolbar {
    display: block !important;
    margin: 0 0 26px !important;
  }

  .shop-toolbar-title {
    display: block !important;
    margin: 0 0 16px !important;

    font-family: var(--font-title);
    font-size: clamp(38px, 11vw, 50px) !important;
    font-weight: var(--fw-regular);
    line-height: 0.96 !important;
    letter-spacing: -0.045em !important;
    color: var(--color-brown);
  }

  .shop-toolbar-count {
    margin-left: 6px !important;
    font-size: 11px !important;
    vertical-align: super;
    color: rgba(90, 52, 43, 0.45);
  }

  .shop-toolbar-ordering,
  .woocommerce-ordering,
  .umatatea-orderby {
    width: 100% !important;
    max-width: 100% !important;
  }

  .umatatea-orderby__summary,
  .woocommerce-ordering select {
    width: 100% !important;
    min-height: 44px !important;
    padding: 0 14px !important;

    border: 1px solid rgba(90, 52, 43, 0.14) !important;
    border-radius: 0 !important;
    background: #fff !important;

    color: var(--color-brown) !important;
    font-size: 11px !important;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .shop-content ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 34px 16px !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .shop-content ul.products li.product {
    float: none !important;
    clear: none !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .product-card-image {
  width: 100% !important;
  aspect-ratio: var(--brand-product-image-ratio, 5 / 6) !important;
  margin: 0 0 12px !important;
  overflow: hidden;
  background: var(--color-cream);
}

  .product-card-image img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .shop-content ul.products li.product .woocommerce-loop-product__title {
    margin: 0 0 5px !important;

    font-family: var(--font-body) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.28 !important;
    letter-spacing: 0 !important;
    color: var(--color-brown) !important;
  }

 .shop-content ul.products li.product .product-card-price {
  display: block !important;
  margin: 0 !important;
}

.shop-content ul.products li.product .umatatea-card-price {
  font-size: 12.5px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  gap: 0.35rem;
}

.product-card-badge {
  top: 8px;
  left: 8px;

  max-width: calc(100% - 16px);
  min-height: 20px;
  padding: 0 7px;

  font-size: 7.5px;
  line-height: 20px;
  letter-spacing: 0.075em;
}

  .umatatea-shop-load-more-wrap {
    margin-top: 40px !important;
  }

  .umatatea-shop-load-more {
    width: 100% !important;
    min-height: 48px !important;
  }
}

/* Tablette étroite : deux cartes fluides sur toute la largeur disponible. */
@media (min-width: 560px) and (max-width: 719px) {
  .shop-content ul.products {
    width: 100% !important;
    max-width: 550px !important;
    margin-inline: auto !important;

    grid-template-columns: repeat(2, minmax(0, 255px)) !important;
    justify-content: center !important;
    column-gap: 34px !important;
  }
}

/* Tablette : trois cartes fluides sans réserver de colonne sidebar. */
@media (min-width: 720px) and (max-width: 1023px) {
  .shop-content ul.products {
    grid-template-columns: repeat(3, minmax(210px, 1fr)) !important;
    column-gap: clamp(18px, 2.5vw, 28px) !important;
  }
}

@media (max-width: 390px) {
  .shop-layout {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .shop-categories {
    margin-right: -18px !important;
    padding-right: 18px !important;
  }

  .shop-content ul.products {
    gap: 30px 14px !important;
  }

  .shop-content ul.products li.product .woocommerce-loop-product__title {
    font-size: 12.5px !important;
  }
}


/* ==========================================================================
   Cart drawer — hiérarchie boutons
   ========================================================================== */

/* Voir le panier : secondaire */
.cart-drawer__actions .cart-drawer__button:first-child {
  background: transparent !important;
  background-color: transparent !important;

  border: 1px solid rgba(90, 52, 43, 0.28) !important;

  color: var(--color-brown) !important;
  -webkit-text-fill-color: var(--color-brown) !important;
}

.cart-drawer__actions .cart-drawer__button:first-child:hover {
  background: rgba(90, 52, 43, 0.06) !important;
  background-color: rgba(90, 52, 43, 0.06) !important;

  border-color: rgba(90, 52, 43, 0.42) !important;

  color: var(--color-brown) !important;
  -webkit-text-fill-color: var(--color-brown) !important;

  transform: translateY(-1px) !important;
}

/* Commander : action principale */
.cart-drawer__actions .cart-drawer__button:nth-child(2),
.cart-drawer__button--checkout,
.cart-drawer__button.checkout,
.cart-drawer__button[href*="checkout"] {
  background: var(--color-brown) !important;
  background-color: var(--color-brown) !important;

  border: 1px solid var(--color-brown) !important;

  color: #fffdfb !important;
  -webkit-text-fill-color: #fffdfb !important;

  opacity: 1 !important;
}

.cart-drawer__actions .cart-drawer__button:nth-child(2):hover,
.cart-drawer__button--checkout:hover,
.cart-drawer__button.checkout:hover,
.cart-drawer__button[href*="checkout"]:hover {
  background: #4a2418 !important;
  background-color: #4a2418 !important;

  border-color: #4a2418 !important;

  color: #fffdfb !important;
  -webkit-text-fill-color: #fffdfb !important;

  transform: translateY(-1px) !important;
}




/* ==========================================================================
   Boutique — sidebar sticky desktop
   ========================================================================== */

@media (min-width: 1024px) {
  .shop-page,
  .shop-layout,
  .shop-content {
    overflow: visible !important;
  }

  .shop-layout {
    display: grid !important;
    grid-template-columns: 210px minmax(0, 1fr) !important;
    align-items: start !important;
  }

  .shop-sidebar {
    position: sticky !important;
    top: calc(var(--top-banner-height, 30.5px) + 84px + 28px) !important;
    align-self: start !important;
    height: fit-content !important;
    max-height: calc(100vh - var(--top-banner-height, 30.5px) - 84px - 48px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    z-index: 30 !important;
  }
}

@media (min-width: 1024px) and (max-width: 1280px) {
  .shop-layout {
    grid-template-columns: 190px minmax(0, 1fr) !important;
  }
}

@media (min-width: 1024px) and (max-width: 1100px) {
  .shop-layout {
    grid-template-columns: 170px minmax(0, 1fr) !important;
  }
}


/* ==========================================================================
   Boutique — sidebar ajustée quand le bandeau haut est masqué
   ========================================================================== */

@media (min-width: 1024px) {
  body.umatatea-header-compact .shop-sidebar {
    top: calc(84px + 28px) !important;
    max-height: calc(100vh - 84px - 48px) !important;
  }
}

/* ==========================================================================
   Boutique — sécurité badges product cards
   ========================================================================== */

.shop-content ul.products li.product .product-card-image::after {
  z-index: 4 !important;
}

.product-image-main {
  z-index: 1 !important;
}

.product-image-hover {
  z-index: 2 !important;
}

/* Cartes sans image secondaire : zoom discret uniquement. */
.shop-content ul.products li.product .product-card-image.no-hover-image::after {
  display: none;
}

/* Dérivée 5:6 technique — aucun moteur de recadrage frontend. */
.product-card-image img[data-product-image-derived="1"] {
	position: absolute !important;
	inset: 0 !important;
	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover !important;
	object-position: center !important;
	transform: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Le recadrage reste porté par l’image ; le zoom sans image secondaire est
 * isolé dans un wrapper qui ne reçoit aucun transform de cadrage. */
.product-card-image.no-hover-image .product-card-zoom-layer {
	position: absolute;
	inset: 0;
	display: block;
	overflow: hidden;
	transform: scale(1);
	transform-origin: center center;
	transition: transform 500ms cubic-bezier(0.22, 1, 0.36, 1);
	will-change: transform;
}

@media (hover: hover) and (pointer: fine) {
	.product-card-image.no-hover-image:hover .product-card-zoom-layer {
		transform: scale(1.015);
	}
}

@media (prefers-reduced-motion: reduce) {
	.product-card-image.no-hover-image .product-card-zoom-layer {
		transition: none;
	}

	.product-card-image.no-hover-image:hover .product-card-zoom-layer {
		transform: scale(1);
	}
}


/* ==========================================================================
   Prix promotionnels — rendu final
   ========================================================================== */

/*
 * Prix courant + ancien prix sur une même ligne.
 * La remise est visible sans rendre la carte plus lourde
 * qu’un produit au prix normal.
 */
.shop-content ul.products li.product .umatatea-card-price--sale {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
  gap: 8px !important;

  width: auto !important;
  height: auto !important;
  margin: 0 !important;

  white-space: normal;
}

/* Prix réellement payé */
.shop-content ul.products li.product
  .umatatea-card-price--sale
  .umatatea-card-price__sale {
  color: #c85f35 !important;

  font-size: 13.5px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: 0.01em;
}

/* Ancien prix */
.shop-content ul.products li.product
  .umatatea-card-price--sale
  .umatatea-card-price__regular {
  color: rgba(90, 52, 43, 0.52) !important;

  font-size: 12.5px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;

  text-decoration-line: line-through !important;
  text-decoration-thickness: 1px !important;
  text-decoration-color: rgba(90, 52, 43, 0.58) !important;
  text-decoration-skip-ink: none;

  opacity: 1 !important;
}

/*
 * Empêche les styles WooCommerce imbriqués de modifier
 * la taille, la couleur ou la barre de l’ancien prix.
 */
.shop-content ul.products li.product
  .umatatea-card-price--sale
  .umatatea-card-price__regular
  .amount,
.shop-content ul.products li.product
  .umatatea-card-price--sale
  .umatatea-card-price__regular
  bdi {
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  text-decoration: inherit !important;
}
