/* ==========================================================================
   WC-CART — Page panier : tableau, quantités, totaux, coupon.
   Design system Délices de la Mer (navy / orange / Montserrat).
   ========================================================================== */

/* Conteneur principal */
.woocommerce-cart .woocommerce {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 1rem;
}
@media (min-width: 768px) {
  .woocommerce-cart .woocommerce {
    padding: 0 2rem;
  }
}

/* ==========================================================================
   LAYOUT 2 COLONNES — Produits à gauche, Totaux à droite (comme single-product)
   ========================================================================== */
.woocommerce-cart .woocommerce .cart {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 0.5rem;
  box-shadow: 0 4px 20px rgba(2, 66, 118, 0.06);
}
@media (min-width: 768px) {
  .woocommerce-cart .woocommerce .cart {
    padding: 1rem 1.25rem;
  }
}

.woocommerce-cart .cart-collaterals {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  margin-top: 2rem;
}
@media (min-width: 992px) {
  .woocommerce-cart .cart-collaterals {
    grid-template-columns: 2fr 1fr;
    align-items: start;
  }
}

/* Cross-sells dans la colonne gauche des collaterals */
.woocommerce-cart .cart-collaterals .cross-sells {
  max-width: none;
  margin: 0;
  padding: 0;
}

/* ==========================================================================
   TABLEAU PRODUITS — Carte blanche avec bordure + padding
   ========================================================================== */
.woocommerce-cart table.cart {
  border: none;
  border-radius: 0;
  overflow: hidden;
  font-family: var(--font-heading);
  width: 100% !important;
}
.woocommerce-cart table.cart th {
  background: transparent;
  color: var(--navy);
  font-weight: 700;
  font-size: 0.8125rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.875rem 0.75rem;
  border-bottom: 2px solid var(--border);
}
.woocommerce-cart table.cart td {
  padding: 1.25rem 0.75rem;
  border-top: 1px solid var(--border);
  color: var(--navy);
  vertical-align: middle;
}
.woocommerce-cart table.cart .product-thumbnail img {
  border-radius: var(--radius);
  border: 1px solid var(--border);
}
.woocommerce-cart table.cart .product-name a {
  color: var(--navy);
  font-weight: 600;
  text-decoration: none;
}
.woocommerce-cart table.cart .product-name a:hover {
  color: var(--orange);
}
.woocommerce-cart table.cart .product-price,
.woocommerce-cart table.cart .product-subtotal {
  font-weight: 600;
  color: var(--navy);
}

/* Quantité dans le panier */
.woocommerce-cart table.cart .quantity input.qty {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  font-family: var(--font-heading);
  font-weight: 600;
  color: var(--navy);
}

/* Bouton suppression */
.woocommerce-cart table.cart .product-remove a.remove {
  color: var(--muted-foreground) !important;
  font-size: 1.25rem;
  transition: color 0.2s ease;
}
.woocommerce-cart table.cart .product-remove a.remove:hover {
  color: var(--orange) !important;
  background: transparent !important;
}

/* Boutons actions (update cart, coupon) */
.woocommerce-cart .cart-actions {
  padding-top: 1rem;
  border-top: 1px solid var(--border);
  margin-top: 0.5rem;
}
.woocommerce-cart .cart-actions .button,
.woocommerce-cart .coupon .button {
  border-radius: var(--radius-full);
  background: var(--navy-light);
  color: #fff !important;
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 0.875rem;
  padding: 0.625rem 1.25rem;
  border: none;
  transition: all 0.25s ease;
}
.woocommerce-cart .cart-actions .button:hover,
.woocommerce-cart .coupon .button:hover {
  background: var(--navy);
  transform: translateY(-1px);
}

/* ==========================================================================
   TOTAUX — Carte avec fond dégradé (comme .summary de single-product)
   ========================================================================== */
.woocommerce-cart .cart_totals {
  background: linear-gradient(
    135deg,
    rgba(253, 252, 248, 0.95) 0%,
    rgba(245, 243, 238, 0.95) 100%
  );
  border: 1px solid rgba(2, 66, 118, 0.1);
  border-radius: var(--radius-lg);
  padding: 1.75rem 1.5rem;
  box-shadow: 0 4px 20px rgba(2, 66, 118, 0.06);
}
@media (min-width: 768px) {
  .woocommerce-cart .cart_totals {
    padding: 2rem 1.75rem;
  }
}

.woocommerce-cart .cart_totals > h2 {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 1.25rem;
  color: var(--navy);
  margin-bottom: 1.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(2, 66, 118, 0.1);
}

.woocommerce-cart .cart_totals table {
  border: none;
  border-radius: 0;
  background: transparent;
  width: 100% !important;
}
.woocommerce-cart .cart_totals table th {
  background: transparent;
  color: var(--muted-foreground);
  font-weight: 600;
  font-size: 0.9rem;
  padding: 0.75rem 0;
  border-bottom: 1px solid rgba(2, 66, 118, 0.08);
}
.woocommerce-cart .cart_totals table td {
  padding: 0.75rem 0;
  color: var(--navy);
  font-weight: 600;
  text-align: right;
  border-bottom: 1px solid rgba(2, 66, 118, 0.08);
}
.woocommerce-cart .cart_totals .order-total th {
  font-size: 1rem;
  font-weight: 700;
  color: var(--navy);
  border-bottom: none;
  padding-top: 1.25rem;
}
.woocommerce-cart .cart_totals .order-total td {
  border-bottom: none;
  padding-top: 1.25rem;
}
.woocommerce-cart .cart_totals .order-total .amount {
  color: var(--orange);
  font-weight: 700;
  font-size: 1.5rem;
}

/* Bouton "Valider la commande" */
.woocommerce-cart .cart_totals .wc-proceed-to-checkout {
  padding-top: 1.5rem;
}
.woocommerce-cart .cart_totals .checkout-button {
  display: block;
  width: 100%;
  text-align: center;
  padding: 0.875rem 1.5rem;
  border-radius: var(--radius-full);
  background: var(--navy-light) !important;
  color: #fff !important;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 0.95rem;
  text-decoration: none;
  border: none;
  transition: all 0.25s ease;
}
.woocommerce-cart .cart_totals .checkout-button:hover {
  background: var(--navy) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(2, 66, 118, 0.28);
}

/* Coupon dans les totaux / page */
.woocommerce-cart .coupon input.input-text {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 0.55rem 0.75rem;
  font-family: var(--font-heading);
  color: var(--navy);
}

/* Note d'expédition */
.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
.woocommerce-cart .cart_totals .shipping-calculator-form p {
  font-family: var(--font-heading);
  font-size: 0.85rem;
  color: var(--muted-foreground);
}

/* Panier vide */
.woocommerce-cart .cart-empty p {
  font-family: var(--font-heading);
  font-size: 1.125rem;
  color: var(--navy);
  text-align: center;
  padding: 3rem 0;
}

/* ==========================================================================
   CROSS-SELLS — Suggestions sur la page panier (surtout panier vide)
   ========================================================================== */
.woocommerce-cart .cross-sells > h2 {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(1.4rem, 3vw, 2rem);
  color: var(--navy);
  text-align: center;
  margin: 2rem 0 1.5rem;
}

/* Grille des cross-sells — même comportement que la boutique */
.woocommerce-cart .cross-sells ul.products {
  list-style: none;
  margin: 0 auto 3rem;
  padding: 0;
  display: grid !important;
  gap: 1.5rem;
  grid-template-columns: 1fr;
  max-width: 100%;
}

@media (min-width: 640px) {
  .woocommerce-cart .cross-sells ul.products {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .woocommerce-cart .cross-sells ul.products {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* Conteneur retour boutique quand panier vide */
.woocommerce-cart .return-to-shop {
  text-align: center;
  padding: 1rem 0 2rem;
}

.woocommerce-cart .return-to-shop .button {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.75rem;
  border-radius: var(--radius-full);
  background: var(--navy-light) !important;
  color: #fff !important;
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 0.875rem;
  text-decoration: none;
  border: none;
  transition: all 0.25s ease;
}

.woocommerce-cart .return-to-shop .button:hover {
  background: var(--navy) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(2, 66, 118, 0.28);
}

/* ==========================================================================
   PANIER EN BLOCS (bloc WooCommerce "Panier" — markup .wc-block-cart)
   Structure : .wc-block-cart__main (produits) + .wc-block-cart__sidebar (totaux)
   ========================================================================== */
.wp-block-woocommerce-cart {
  font-family: var(--font-heading);
  color: var(--navy);
  max-width: var(--container-max);
  margin: 0 auto !important;
  padding: 0 2px 6rem;
}
@media (min-width: 768px) {
  .wp-block-woocommerce-cart {
    padding: 0 2rem 6rem;
  }
}

/* Neutraliser alignwide qui ajoute margin: 0 -20px */
.wp-block-woocommerce-cart.alignwide {
  margin: 0 auto !important;
}

/* Le conteneur flex natif WC : .wc-block-components-sidebar-layout.wc-block-cart */
.wc-block-components-sidebar-layout.wc-block-cart {
  gap: 0;
  justify-content: center !important;
  margin: 0 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Mobile : cartes empilées, full width, centrées */
.wc-block-cart .wc-block-cart__main,
.wc-block-cart .wc-block-cart__sidebar {
  width: 100% !important;
  max-width: 100% !important;
  flex: 1 1 100% !important;
  margin: 0 auto 2rem !important;
  box-sizing: border-box !important;
}
.wc-block-cart .wc-block-cart__sidebar {
  margin-bottom: 0 !important;
}

/* Desktop : 63% / 35% avec 2% d'espace centré */
@media (min-width: 768px) {
  .wc-block-components-sidebar-layout.wc-block-cart {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
  }
  .wc-block-cart .wc-block-cart__main {
    flex: 0 0 63% !important;
    width: 63% !important;
    max-width: 63% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
  .wc-block-cart .wc-block-cart__sidebar {
    flex: 0 0 35% !important;
    width: 35% !important;
    max-width: 35% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
}

/* ==========================================================================
   CARTE PRODUITS — fond blanc, bordure, padding (comme single-product gauche)
   ========================================================================== */
.wc-block-cart .wc-block-cart__main {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: 0 4px 20px rgba(2, 66, 118, 0.06);
  padding: 0.5rem;
}
@media (min-width: 768px) {
  .wc-block-cart .wc-block-cart__main {
    padding: 1rem 2rem;
  }
}

/* Tableau des produits — pas de bordure propre, s'intègre dans la carte */
.wc-block-cart .wc-block-cart-items {
  border: none !important;
  border-radius: 0;
}
.wc-block-cart .wc-block-cart-items th {
  background: transparent !important;
  color: var(--navy) !important;
  font-weight: 700;
  font-size: 0.8125rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.875rem 0.5rem;
  border-bottom: 2px solid var(--border) !important;
}
.wc-block-cart .wc-block-cart-items td {
  padding: 1.25rem 0.5rem !important;
  border-top: 1px solid var(--border) !important;
  vertical-align: middle;
}

/* ==========================================================================
   RESPONSIVE — Mobile : layout vertical, éléments empilés (pas de flex)
   ========================================================================== */
@media (max-width: 767px) {
  /* Les deux cartes : full width, pas de flex, empilées */
  .wc-block-cart {
    flex-direction: column !important;
    display: block !important;
  }
  .wc-block-cart .wc-block-cart__main,
  .wc-block-cart .wc-block-cart__sidebar {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    margin-right: 0 !important;
    margin-bottom: 1.5rem !important;
  }
  .wc-block-cart .wc-block-cart__sidebar {
    margin-bottom: 0 !important;
  }

  /* Tableau : display block, chaque ligne en block (pas de flex) */
  .wc-block-cart .wc-block-cart-items,
  .wc-block-cart .wc-block-cart-items tbody {
    display: block !important;
    width: 100% !important;
  }
  .wc-block-cart .wc-block-cart-items tr {
    display: block !important;
    width: 100% !important;
  }
  .wc-block-cart .wc-block-cart-items td {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    padding: 0.375rem 0.25rem !important;
    border: none !important;
  }
  /* Cacher l'en-tête du tableau sur mobile */
  .wc-block-cart .wc-block-cart-items thead {
    display: none !important;
  }

  /* Image produit : petite, en ligne avec le nom */
  .wc-block-cart .wc-block-cart-items .wc-block-cart-item__image {
    width: 3rem !important;
    padding-right: 0 !important;
    float: left;
    margin-right: 0.5rem;
  }
  .wc-block-cart .wc-block-cart-items .wc-block-cart-item__image img {
    width: 3rem !important;
    height: 3rem !important;
    object-fit: cover;
  }

  /* Nom produit : taille réduite */
  .wc-block-cart-item__product a,
  .wc-block-cart-item__product .wc-block-components-product-name {
    font-size: 0.85rem !important;
  }

  /* Prix : taille réduite */
  .wc-block-components-product-price__value,
  .wc-block-cart-item__total .wc-block-components-product-price__value {
    font-size: 0.85rem !important;
  }

  /* Badge économisez — très petit sur mobile */
  .wc-block-components-sale-badge {
    font-size: 0.65rem !important;
    padding: 0.15rem 0.4rem !important;
    margin-top: 0.25rem;
  }

  /* Prix barré et prix réduit — empilés, serrés */
  .wc-block-cart-item__price-and-sale-badge-wrapper {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.15rem !important;
  }

  /* Sélecteur de quantité — taille suffisante sur mobile */
  .wc-block-components-quantity-selector {
    width: 107px !important;
    max-width: 107px !important;
  }
  .wc-block-components-quantity-selector__button {
    min-width: 32px !important;
    font-size: 1rem !important;
  }
  .wc-block-components-quantity-selector__input {
    min-width: 40px !important;
    font-size: 0.9rem !important;
  }

  /* Lien supprimer — plus petit */
  .wc-block-cart-item__remove-link {
    font-size: 0.75rem !important;
  }

  /* Carte totaux — padding réduit sur mobile */
  .wc-block-cart .wc-block-cart__sidebar,
  .wc-block-cart .wc-block-cart__sidebar .wc-block-components-sidebar {
    padding: 1rem 0.75rem !important;
  }

  /* Titre totaux — style cohérent sur mobile */
  .wc-block-cart .wc-block-cart__totals-title {
    font-size: 1rem !important;
  }

  /* Items de totaux — padding réduit */
  .wc-block-components-totals-item {
    padding: 0.5rem 0 !important;
  }
  .wc-block-components-totals-item__label {
    font-size: 0.8rem !important;
  }

  /* Total final — plus petit sur mobile */
  .wc-block-components-totals-footer-item
    .wc-block-components-totals-item__value,
  .wc-block-components-totals-footer-item
    .wc-block-components-formatted-money-amount {
    font-size: 1.1rem !important;
  }

  /* Bouton checkout — padding réduit */
  .wc-block-cart .wc-block-cart__submit-button,
  .wc-block-cart .wc-block-components-checkout-button {
    padding: 0.75rem 1rem !important;
    font-size: 0.875rem !important;
  }
}

/* Titres produits (étaient en bleu lien) */
.wc-block-cart-item__product a,
.wc-block-cart-item__product .wc-block-components-product-name {
  color: var(--navy) !important;
  font-weight: 600;
  text-decoration: none;
}
.wc-block-cart-item__product a:hover,
.wc-block-cart-item__product .wc-block-components-product-name:hover {
  color: var(--orange) !important;
}

/* Image produit */
.wc-block-cart-item__image img {
  border-radius: var(--radius);
}

/* Prix */
.wc-block-components-product-price__value {
  color: var(--navy);
  font-weight: 600;
}
.wc-block-cart-item__total .wc-block-components-product-price__value {
  color: var(--navy);
  font-weight: 700;
}
.wc-block-components-product-price del {
  color: var(--muted-foreground);
}
.wc-block-components-product-price ins {
  text-decoration: none;
  color: var(--orange) !important;
}

/* Badge "Économisez …" */
.wc-block-components-sale-badge {
  background: rgba(255, 107, 0, 0.1) !important;
  color: var(--orange) !important;
  border-radius: 9999px !important;
  font-weight: 700;
  font-size: 0.8rem;
  padding: 0.25rem 0.625rem;
  display: inline-block;
  margin-top: 0.5rem;
}

/* Sélecteur de quantité */
.wc-block-components-quantity-selector {
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  background: #fff;
}
.wc-block-components-quantity-selector__input {
  color: var(--navy);
  font-weight: 600;
}
.wc-block-components-quantity-selector__button {
  color: var(--navy);
}
.wc-block-components-quantity-selector__button:hover {
  color: var(--orange);
}

/* Lien supprimer */
.wc-block-cart-item__remove-link {
  color: var(--muted-foreground) !important;
  transition: color 0.2s ease;
}
.wc-block-cart-item__remove-link:hover {
  color: var(--orange) !important;
}

/* ==========================================================================
   CARTE TOTAUX — fond dégradé (comme .summary de single-product)
   ========================================================================== */
.wc-block-cart .wc-block-cart__sidebar,
.wc-block-cart .wc-block-cart__sidebar .wc-block-components-sidebar {
  background: linear-gradient(
    135deg,
    rgba(253, 252, 248, 0.95) 0%,
    rgba(245, 243, 238, 0.95) 100%
  );
  border: 1px solid rgba(2, 66, 118, 0.1);
  border-radius: var(--radius-lg);
  box-shadow: 0 4px 20px rgba(2, 66, 118, 0.06);
  padding: 1rem 1.25rem;
}
@media (min-width: 768px) {
  .wc-block-cart .wc-block-cart__sidebar,
  .wc-block-cart .wc-block-cart__sidebar .wc-block-components-sidebar {
    padding: 1.25rem 1.5rem;
  }
}

/* Items de totaux — labels en muted, valeurs en navy */
.wc-block-components-totals-item {
  padding: 0.75rem 0 !important;
  border-bottom: 1px solid rgba(2, 66, 118, 0.08) !important;
}
.wc-block-components-totals-item__label {
  color: var(--muted-foreground) !important;
  font-weight: 400 !important;
  font-size: 0.9rem !important;
}
.wc-block-components-totals-item__value,
.wc-block-components-totals-item .wc-block-components-formatted-money-amount {
  color: var(--navy) !important;
  font-weight: 600 !important;
}

/* Total final — plus grand, en orange */
.wc-block-components-totals-footer-item {
  padding-top: 1.25rem !important;
  border-bottom: none !important;
}
.wc-block-components-totals-footer-item
  .wc-block-components-totals-item__label {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--navy) !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item
  .wc-block-components-formatted-money-amount {
  color: var(--orange) !important;
  font-weight: 700 !important;
  font-size: 1.5rem !important;
}

/* Bouton "Valider la commande" — plein largeur, style navy */
.wc-block-cart .wc-block-cart__submit-button,
.wc-block-cart .wc-block-components-checkout-button {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  padding: 0.875rem 1.5rem !important;
  border-radius: var(--radius-full) !important;
  background: var(--navy-light) !important;
  color: #fff !important;
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  border: none !important;
  transition: all 0.25s ease;
  margin-top: 1.5rem !important;
}
.wc-block-cart .wc-block-cart__submit-button:hover,
.wc-block-cart .wc-block-components-checkout-button:hover {
  background: var(--navy) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(2, 66, 118, 0.28);
}

/* Note d'expédition */
.wc-block-cart .wc-block-components-totals-shipping__legend,
.wc-block-cart .wc-block-components-totals-shipping fieldset legend {
  font-size: 0.85rem !important;
  color: var(--muted-foreground) !important;
}

/* Zone coupon "Ajouter des codes promo" */
.wc-block-components-totals-coupon__input input,
.wc-block-components-totals-coupon .wc-block-components-text-input input {
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  font-family: var(--font-heading);
  color: var(--navy);
}
.wc-block-components-panel__button {
  color: var(--navy) !important;
  font-weight: 600;
}

/* Conteneur bouton fixe sur mobile */
.wc-block-cart__submit-container {
  background-color: #fff !important;
}
.wc-block-cart__submit-container::before {
  color: rgba(2, 66, 118, 0.08) !important;
}

/* ==========================================================================
   CROSS-SELLS — Product Collection Block (WC 10.2+)
   WC 10.2+ remplace l'ancien bloc cart-cross-sells-block par un bloc
   Product Collection. Le rendu utilise <li class="wc-block-product">.
   Les styles de carte sont gérés de façon UNIFIÉE dans wc-product-card.css.
   On ne garde ici que la grille et le titre de section.
   ========================================================================== */

/* Titre de la section cross-sells */
.wp-block-woocommerce-product-collection .wp-block-heading {
  color: var(--navy) !important;
  font-weight: 700 !important;
  font-size: clamp(1.4rem, 3vw, 2rem) !important;
  font-family: var(--font-heading) !important;
  text-align: center !important;
  margin-bottom: 1.5rem !important;
}

/* Grille Product Collection — forcer grid + gap */
.wp-block-woocommerce-product-collection .wc-block-product-template__responsive,
.wp-block-woocommerce-product-collection .wc-block-product-template {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1.5rem;
  margin: 0 auto 3rem !important;
  padding: 0 !important;
  list-style: none;
  max-width: var(--container-max);
}

/* Carte Product Collection — la coquille est stylée dans wc-product-card.css */
.wp-block-woocommerce-product-collection .wc-block-product {
  flex: none !important;
  max-width: none !important;
  width: 100% !important;
}

/* ==========================================================================
   BLOC PANIER VIDE (WooCommerce Blocks — React)
   .wp-block-woocommerce-empty-cart-block
   ========================================================================== */
.wp-block-woocommerce-empty-cart-block {
  text-align: center;
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 1rem;
}
@media (min-width: 768px) {
  .wp-block-woocommerce-empty-cart-block {
    padding: 0 2rem;
  }
}

/* Les cartes produits doivent être alignées à gauche (override du text-align:center du bloc) */
.wp-block-woocommerce-empty-cart-block .wc-block-grid {
  text-align: left;
}

/* Titre "Your cart is currently empty!" */
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 1.5rem;
  color: var(--navy);
}

/* Titre "New in store" / "Nouveautés en boutique" (heading libre dans le bloc) */
.wp-block-woocommerce-empty-cart-block .wp-block-heading {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(1.4rem, 3vw, 2rem);
  color: var(--navy);
  margin-top: 2rem;
  margin-bottom: 1.5rem;
}

/* ==========================================================================
   GRILLE PRODUITS DU BLOC PANIER VIDE
   Le bloc "Newest Products" est un AbstractProductGrid rendu en React.
   WC natif utilise flex sans gap → on force grid + gap.
   Les styles de carte sont gérés dans wc-product-card.css via
   .wc-block-grid__product .wc-block-components-product-* (React).
   ========================================================================== */

/* Container grille : forcer grid + gap (override du flex natif WC) */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1.5rem;
  margin: 0 auto 3rem !important;
  padding: 0 !important;
  list-style: none;
}

/* Carte produit : override du flex + borders transparents natifs WC */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
  flex: none !important;
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  text-align: left;
}
