.wp-block-group { width: 100%; }
.wp-block-group.alignfull { width: 100vw; }

.product {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
}

/** Section principale Colonne de gauche */
.woocommerce ul.products.products-cards li.product .onsale,
html .wc-block-components-product-image .wc-block-components-product-sale-badge,
.product .onsale {
  position: absolute;
  top: 1rem;
  left: 1rem;
  right: initial;
  min-width: initial;
  min-height: initial;
  margin: initial;
  padding: 0.25rem 1rem;
  color: #fff;
  background-color: var(--wp--preset--color--promo);
  border-radius: 4px;
  border-color: transparent;
  font-weight: 700;
  font-size: 1rem;
  line-height: 32px;
  text-transform: uppercase;
}

html .wc-block-components-product-image .wc-block-components-product-sale-badge span {
  color: inherit;
  background-color: inherit;
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
  text-transform: inherit;
}

.product .woocommerce-product-gallery {
  flex: 1 50%;
  min-width: 100%;
  max-width: calc(50% - 1rem);

  @media (min-width: 768px) {
    min-width: 300px;
  }
}

.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
}

.product .woocommerce-product-gallery .woocommerce-product-gallery__image {
  width: 100%;
}

.product .woocommerce-product-gallery .woocommerce-product-gallery__image:not(:first-child) {
  width: 100px;
  height: 100px;
  padding: 0.5rem;
  border: 2px solid var(--wp--preset--color--supports-700);
  border-radius: 4px;
}

.product .woocommerce-product-gallery .woocommerce-product-gallery__image:not(:first-child):hover {
  border-color: var(--wp--preset--color--primary-700);
}

.product .woocommerce-product-gallery .woocommerce-product-gallery__image a {
  width: 100%;
}

.product .woocommerce-product-gallery .woocommerce-product-gallery__image a img {
  width: 100%;
  height: auto;
  max-height: calc(640px - 1rem);
  object-fit: contain;
}

.product .woocommerce-product-gallery .woocommerce-product-gallery__image:not(:first-child) a img {
  max-height: calc(100px - 1rem);
}

/** Gallerie d'images */
.product .woocommerce-product-gallery .flex-control-nav {
  display: flex;
  gap: 0.5rem;
  justify-content: center;
}

/** Section principale Colonne de droite */
.product .summary {
  flex: 1 50%;
  min-width: 100%;
  max-width: calc(50% - 1rem);

  @media (min-width: 768px) {
    min-width: 300px;
  }
}

.product .summary .product_title {
  margin-bottom: 0.5rem;
  color: var(--wp--preset--color--primary-700);
  font-size: 2rem;
  font-weight: 700;
}

.product .summary .price {
  display: flex;
  margin-bottom: .5rem;
}

.product.product-type-variable .summary h1 + .price {
  display: none; /* ou flex si visible */
  column-gap: 0.5rem;
  margin: 0;
}

.product .summary .price del,
.product .summary .price ins {
  display: flex;
  align-items: flex-end;
}

.product .summary .price del {
  order: 2;
  text-decoration-color: var(--wp--preset--color--supports-700);
}

.product .summary .price del * {
  color: var(--wp--preset--color--supports-700);
  font-size: 1.3rem;
  font-weight: 500;
}

.product .summary .price ins {
  order: 1;
}

.product .summary .price ins * {
  color: var(--wp--preset--color--secondary-700);
  font-size: 1.9rem;
  font-weight: 600;
}

.product .summary .price .woocommerce-price-suffix {
  order: 3;
}

/** Description Courte */
.product .summary .woocommerce-product-details__short-description {
  margin-top: 2rem;
}

.product .summary .woocommerce-product-details__short-description p {
  font-weight: 300;
}

/** Lien voir la description complète */
.product .summary [href="#description"] {
  display: block;
  margin-bottom: 3rem;
  color: var(--wp--preset--color--primary-700);
  font-weight: 400;
  text-underline-offset: 5px;
}

/** Variations */
.product .summary form .variations {
  width: 100%;
}

.product .summary form .variations tr {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin-bottom: 1rem;
}

.product .summary form .variations tr td {
  display: flex;
  gap: .5rem;
  width: 100%;
}

.product .summary form .variations tr td select {
  appearance: auto;
  width: 100px;
  padding: .5rem 1rem 0.5rem 0.5rem;
  background-color: transparent;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.product .summary form .single_variation_wrap .product-initials-field {
  margin-bottom: .5rem;
}

.product .summary form .single_variation_wrap .product-initials-field label {
  display: block;
}

.product .summary form .single_variation_wrap .product-initials-field input {
  max-width: 120px;
}

/** Formulaire Quantité / Panier */
.product .summary form .quantity input {
  width: 120px;
  margin-bottom: 1rem;
  text-align: center;
}

/** Bouton Ajouter au panier */
.product .summary form button {
  width: 100%;
  max-width: 240px;
  margin-bottom: 1rem;
  padding: 1rem;
  color: #fff;
  background-color: var(--wp--preset--color--primary-700);
  border: none;
  border-radius: 4px;
  font-size: 1.2rem;
  font-weight: 700;
  cursor: pointer;
}

.product .summary form button:hover {
  opacity: 0.9;
}

/** Catégories */
.product .summary .product_meta {
  display: none;
}
