/* 04_cart_checkout.css - Styles dédiés Panier (/panier/) et Commande (/commande/) WooCommerce */

/* ==========================================================================
     WOOCOMMERCE GLOBAL STYLING — JARDIN DES BULLES DESIGN SYSTEM
     ========================================================================== */

/* 1. Global Containers, Titles & Layouts for WooCommerce (100% Full Width) */
body.woocommerce-cart,
body.woocommerce-page,
body.woocommerce-checkout,
body.woocommerce-account {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.woocommerce-cart.has-global-padding,
body.woocommerce-page.has-global-padding,
.woocommerce-cart .wp-block-group.has-global-padding,
.woocommerce-checkout .wp-block-group.has-global-padding {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.woocommerce,
.woocommerce-page,
.woocommerce-cart main,
.woocommerce-checkout main,
.woocommerce-account main,
body.woocommerce-page main,
main[data-block-name="woocommerce/page-content-wrapper"] {
  width: 100% !important;
  max-width: 100% !important;
  padding-top: clamp(36px, 5vw, 65px) !important;
  padding-bottom: clamp(40px, 6vw, 85px) !important;
  padding-left: clamp(16px, 4vw, 60px) !important;
  padding-right: clamp(16px, 4vw, 60px) !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  color: #2D2421 !important;
}

.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-cart .wp-block-post-content,
.woocommerce-checkout .wp-block-post-content,
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
div[data-block-name="woocommerce/cart"],
div[data-block-name="woocommerce/checkout"] {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 30px !important;
  box-sizing: border-box !important;
}

/* Page Titles */
.woocommerce-cart .wp-block-post-title,
.woocommerce-checkout .wp-block-post-title,
.woocommerce-account .wp-block-post-title,
.wp-block-woocommerce-cart .wp-block-woocommerce-cart-title,
.woocommerce-products-header__title,
.woocommerce-page .entry-title,
.woocommerce h1.page-title {
  margin-top: 20px !important;
  margin-bottom: clamp(20px, 3vw, 36px) !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(2.2rem, 3.8vw, 3rem) !important;
  font-weight: 700 !important;
  color: #2D2421 !important;
  line-height: 1.15 !important;
  text-align: left !important;
}

/* Breadcrumbs */
.woocommerce-breadcrumb,
.wc-block-breadcrumbs {
  font-size: 0.88rem !important;
  color: #70615A !important;
  margin-bottom: 24px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
}

.woocommerce-breadcrumb a,
.wc-block-breadcrumbs a {
  color: #5A4D47 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.woocommerce-breadcrumb a:hover,
.wc-block-breadcrumbs a:hover {
  color: #C26D53 !important;
}

/* ==========================================================================
     2. STORE NOTICES & MESSAGES (Success, Info, Error)
     ========================================================================== */
.wc-block-store-notices,
.woocommerce-notices-wrapper,
.wp-block-woocommerce-store-notices {
  margin: 0 !important;
  padding: 0 !important;
}

/* Completely collapse & hide when empty */
.wc-block-store-notices:empty,
.woocommerce-notices-wrapper:empty,
.wp-block-woocommerce-store-notices:empty,
.wc-block-store-notices:not(:has(.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner, .woocommerce-notice)),
.woocommerce-notices-wrapper:not(:has(*)),
.wp-block-woocommerce-store-notices:has(.woocommerce-notices-wrapper:empty) {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
}

/* Show and add margin ONLY when actual notices are present */
.wc-block-store-notices:has(.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner, .woocommerce-notice),
.woocommerce-notices-wrapper:has(*) {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-bottom: 24px !important;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
  border-radius: 16px !important;
  padding: 16px 22px !important;
  font-size: 0.98rem !important;
  line-height: 1.5 !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  box-shadow: 0 4px 14px rgba(45, 36, 33, 0.04) !important;
  margin: 0 0 20px 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

/* Success Notice */
.woocommerce-message,
.wc-block-components-notice-banner.is-success,
.woocommerce-notice--success {
  background-color: #EAF5ED !important;
  border: 1.5px solid #A3D4AF !important;
  color: #1B5E20 !important;
}

.woocommerce-message .button,
.wc-block-components-notice-banner.is-success .wc-block-components-button {
  background-color: #2E7D32 !important;
  color: #FFFFFF !important;
  border-radius: 50px !important;
  padding: 7px 16px !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border: none !important;
  transition: all 0.2s ease !important;
}

.woocommerce-message .button:hover {
  background-color: #1B5E20 !important;
  transform: translateY(-1px) !important;
}

/* Info Notice */
.woocommerce-info,
.wc-block-components-notice-banner.is-info {
  background-color: #FDF4EE !important;
  border: 1.5px solid #F0D5C7 !important;
  color: #703824 !important;
}

.woocommerce-info a,
.wc-block-components-notice-banner.is-info a {
  color: #C26D53 !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
}

/* Error Notice */
.woocommerce-error,
.wc-block-components-notice-banner.is-error {
  background-color: #FDEBEB !important;
  border: 1.5px solid #F5B7B7 !important;
  color: #8A1C1C !important;
}

/* ==========================================================================
     3. CART PAGE — BESPOKE ARTISANAL CANVAS (SUR-MESURE JARDIN DES BULLES)
     ========================================================================== */

/* Reset Spacing on Cart & Main Wrappers */
#wp--skip-link--target,
main#wp--skip-link--target,
.wp-site-blocks>#wp--skip-link--target,
body.woocommerce-cart #wp--skip-link--target,
body.woocommerce-cart main,
body.woocommerce-cart .entry-content,
body.woocommerce-cart .wp-block-post-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* Strict Footer Protection across entire site */
footer,
.wp-block-template-part:has(footer),
.site-footer,
.wp-site-blocks>footer {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Cart Header Hero Banner (Artisanal Jardin des Bulles styling) */
.woocommerce-cart .wp-block-woocommerce-cart-title,
.woocommerce-cart h1.wp-block-woocommerce-cart-title,
.woocommerce-cart h1.entry-title,
.woocommerce-cart h1.page-title,
.woocommerce-cart h1.wp-block-post-title,
.woocommerce-cart .wp-block-post-title,
.woocommerce-cart h1:not(.wc-block-cart__empty-cart__title) {
  background: linear-gradient(135deg, #FAF4EE 0%, #F5ECE3 100%) !important;
  border: 1px solid #EFE4DC !important;
  padding: clamp(20px, 3vw, 32px) clamp(24px, 4vw, 40px) !important;
  margin-top: 20px !important;
  margin-bottom: clamp(20px, 2.5vw, 32px) !important;
  box-shadow: 0 4px 20px rgba(45, 36, 33, 0.03) !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(2.2rem, 3.8vw, 3rem) !important;
  font-weight: 700 !important;
  color: #2D2421 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.15 !important;
  text-align: left !important;
  position: relative !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.woocommerce-cart .wp-block-woocommerce-cart-title::before,
.woocommerce-cart h1.wp-block-woocommerce-cart-title::before,
.woocommerce-cart h1.entry-title::before,
.woocommerce-cart h1.page-title::before,
.woocommerce-cart h1.wp-block-post-title::before,
.woocommerce-cart .wp-block-post-title::before,
.woocommerce-cart h1:not(.wc-block-cart__empty-cart__title)::before {
  content: 'VOTRE SÉLECTION' !important;
  display: block !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #C26D53 !important;
  margin-bottom: 6px !important;
}

.woocommerce-cart .wp-block-woocommerce-cart-title::after,
.woocommerce-cart h1.wp-block-woocommerce-cart-title::after,
.woocommerce-cart h1.entry-title::after,
.woocommerce-cart h1.page-title::after,
.woocommerce-cart h1.wp-block-post-title::after,
.woocommerce-cart .wp-block-post-title::after,
.woocommerce-cart h1:not(.wc-block-cart__empty-cart__title)::after {
  content: 'Vérifiez vos produits avant de finaliser votre commande en toute sérénité' !important;
  display: block !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  color: #70615A !important;
  letter-spacing: normal !important;
  margin-top: 8px !important;
}

/* Checkout Header Hero Banner (Identique au Panier - Artisanal Jardin des Bulles) */
.woocommerce-checkout .wp-block-post-title,
.woocommerce-checkout h1.wp-block-post-title,
.woocommerce-checkout h1.entry-title,
.woocommerce-checkout h1.page-title,
.woocommerce-checkout h1.wp-block-woocommerce-checkout-title,
.woocommerce-checkout .wp-block-woocommerce-checkout-title,
.woocommerce-checkout h1:not(.wc-block-checkout__empty-title) {
  background: linear-gradient(135deg, #FAF4EE 0%, #F5ECE3 100%) !important;
  border: 1px solid #EFE4DC !important;
  border-radius: 20px !important;
  padding: clamp(20px, 3vw, 32px) clamp(24px, 4vw, 40px) !important;
  margin-top: 20px !important;
  margin-bottom: clamp(20px, 2.5vw, 32px) !important;
  box-shadow: 0 4px 20px rgba(45, 36, 33, 0.03) !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(2.2rem, 3.8vw, 3rem) !important;
  font-weight: 700 !important;
  color: #2D2421 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.15 !important;
  text-align: left !important;
  position: relative !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.woocommerce-checkout .wp-block-post-title::before,
.woocommerce-checkout h1.wp-block-post-title::before,
.woocommerce-checkout h1.entry-title::before,
.woocommerce-checkout h1.page-title::before,
.woocommerce-checkout h1.wp-block-woocommerce-checkout-title::before,
.woocommerce-checkout .wp-block-woocommerce-checkout-title::before {
  content: 'COMMANDE SÉCURISÉE' !important;
  display: block !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #C26D53 !important;
  margin-bottom: 6px !important;
}

.woocommerce-checkout .wp-block-post-title::after,
.woocommerce-checkout h1.wp-block-post-title::after,
.woocommerce-checkout h1.entry-title::after,
.woocommerce-checkout h1.page-title::after,
.woocommerce-checkout h1.wp-block-woocommerce-checkout-title::after,
.woocommerce-checkout .wp-block-woocommerce-checkout-title::after {
  content: 'Renseignez vos coordonnées de livraison et réglez votre commande en toute sécurité' !important;
  display: block !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  color: #70615A !important;
  letter-spacing: normal !important;
  margin-top: 8px !important;
}

/* Suppress redundant "Added to cart" notice banners on Cart page */
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .wc-block-components-notice-banner.is-success,
body.woocommerce-cart .wc-block-components-notice-banner.is-info,
body.woocommerce-cart .wc-block-components-notices:not(:has(.is-error)),
body.woocommerce-cart .woocommerce-notices-wrapper:not(:has(.woocommerce-error)) {
  display: none !important;
}

/* Main Cart Layout (Spacious 2-Column Desktop Grid/Flex) */
.woocommerce-cart .wp-block-woocommerce-cart,
.woocommerce-cart .wc-block-cart,
.woocommerce-cart .wc-block-components-sidebar-layout,
.woocommerce-cart .wp-block-woocommerce-filled-cart-block,
.woocommerce-cart form.woocommerce-cart-form+.cart-collaterals {
  display: flex !important;
  flex-direction: row !important;
  gap: clamp(28px, 3.5vw, 48px) !important;
  align-items: flex-start !important;
  width: 92% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

/* LEFT COLUMN: Line Items Container (Airy White Card) */
.wc-block-cart__main,
.wp-block-woocommerce-cart-items-block,
.woocommerce-cart .woocommerce-cart-form {
  flex: 1 1 0% !important;
  min-width: 0 !important;
  width: auto !important;
  background: #FFFFFF !important;
  border: 1px solid #EFE4DC !important;
  border-radius: 24px !important;
  padding: clamp(24px, 3.5vw, 42px) !important;
  box-shadow: 0 4px 20px rgba(45, 36, 33, 0.04) !important;
  box-sizing: border-box !important;
  margin-bottom: 30px !important;
}

/* RIGHT COLUMN: Order Summary (Warm Sand Sticky Card) */
.wc-block-cart__sidebar,
.wc-block-components-sidebar,
.woocommerce-cart .cart-collaterals {
  flex: 0 0 370px !important;
  width: 370px !important;
  min-width: 340px !important;
  max-width: 390px !important;
  background: #FDFBF9 !important;
  border: 1px solid #EFE4DC !important;
  border-radius: 24px !important;
  padding: clamp(24px, 3vw, 36px) !important;
  box-shadow: 0 4px 20px rgba(45, 36, 33, 0.04) !important;
  box-sizing: border-box !important;
  position: sticky !important;
  top: 90px !important;
}

/* Responsive Stack (< 960px) */
@media (max-width: 960px) {

  .woocommerce-cart .wp-block-woocommerce-cart,
  .woocommerce-cart .wc-block-cart,
  .woocommerce-cart div[data-block-name="woocommerce/cart"],
  .woocommerce-cart .woocommerce,
  .woocommerce-cart .wc-block-components-sidebar-layout,
  .woocommerce-cart .wp-block-woocommerce-filled-cart-block {
    width: 94% !important;
    flex-direction: column !important;
  }

  .wc-block-cart__main,
  .wp-block-woocommerce-cart-items-block,
  .woocommerce-cart .woocommerce-cart-form,
  .wc-block-cart__sidebar,
  .wc-block-components-sidebar,
  .woocommerce-cart .cart-collaterals {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    min-width: 100% !important;
    position: static !important;
  }
}

/* ==========================================================================
     MOBILE CART PRESENTATION (< 768px: Spacious Vertical Stacking)
     ========================================================================== */
@media (max-width: 767px) {
  .jdb-topbar {
    display: none !important;
  }

  body {
    padding-top: 60px !important;
  }

  body.woocommerce-cart table.wc-block-cart-items,
  body.woocommerce-cart .wc-block-cart-items,
  body.woocommerce-cart .wc-block-cart-items tbody,
  body.woocommerce-cart table.shop_table.cart,
  body.woocommerce-cart table.shop_table.cart tbody {
    display: block !important;
    width: 100% !important;
    border: none !important;
  }

  body.woocommerce-cart thead.wc-block-cart-items__header,
  body.woocommerce-cart table.wc-block-cart-items thead,
  body.woocommerce-cart table.shop_table.cart thead {
    display: none !important;
  }

  /* Each product row becomes a clean, roomy vertical card */
  body.woocommerce-cart .wc-block-cart-items__row,
  body.woocommerce-cart table.shop_table.cart tr.cart_item,
  body.woocommerce-cart tr.wc-block-cart-items__row {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    width: 100% !important;
    padding: 26px 20px !important;
    margin-bottom: 20px !important;
    background: #FFFFFF !important;
    border: 1px solid #EFE4DC !important;
    border-radius: 20px !important;
    box-shadow: 0 4px 16px rgba(45, 36, 33, 0.04) !important;
    box-sizing: border-box !important;
    gap: 12px !important;
  }

  body.woocommerce-cart .wc-block-cart-item__wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    width: 100% !important;
    gap: 12px !important;
  }

  /* 1. Mobile Thumbnail Centered */
  body.woocommerce-cart th.wc-block-cart-items__header-image,
  body.woocommerce-cart .wc-block-cart-items th:first-child,
  body.woocommerce-cart td.wc-block-cart-items__image,
  body.woocommerce-cart td.product-thumbnail,
  body.woocommerce-cart .wc-block-cart-items td:first-child {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 auto 6px auto !important;
    border: none !important;
  }

  body.woocommerce-cart .wc-block-components-product-image,
  body.woocommerce-cart .wc-block-components-product-image--has-image,
  body.woocommerce-cart .wc-block-components-product-image__link,
  body.woocommerce-cart figure.wc-block-components-product-image,
  body.woocommerce-cart .wc-block-cart-item__image {
    width: 200px !important;
    min-width: 200px !important;
    max-width: 200px !important;
    height: 200px !important;
    min-height: 200px !important;
    max-height: 200px !important;
    flex: 0 0 200px !important;
    margin: 0 auto !important;
  }

  body.woocommerce-cart .wc-block-components-product-image img,
  body.woocommerce-cart .wc-block-components-product-image--has-image img,
  body.woocommerce-cart .wc-block-components-product-image__link img,
  body.woocommerce-cart figure.wc-block-components-product-image img,
  body.woocommerce-cart .wc-block-cart-item__image img,
  body.woocommerce-cart td.product-thumbnail img,
  body.woocommerce-cart td.wc-block-cart-items__image img {
    width: 200px !important;
    min-width: 200px !important;
    max-width: 200px !important;
    height: 200px !important;
    min-height: 200px !important;
    max-height: 200px !important;
    border-radius: 16px !important;
    margin: 0 auto !important;
  }

  /* 2. Mobile Details Centered */
  body.woocommerce-cart .wc-block-cart-item__product,
  body.woocommerce-cart td.wc-block-cart-item__product,
  body.woocommerce-cart td.wc-block-cart-items__description,
  body.woocommerce-cart .wc-block-cart-item__product-details,
  body.woocommerce-cart .wc-block-cart-item__description {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 8px !important;
    padding: 0 !important;
    margin: 0 !important;
    white-space: normal !important;
    width: 100% !important;
    max-width: 100% !important;
    border: none !important;
  }

  body.woocommerce-cart .wc-block-cart-item__product *,
  body.woocommerce-cart td.wc-block-cart-items__description * {
    white-space: normal !important;
    text-align: center !important;
  }

  body.woocommerce-cart .wc-block-components-product-name,
  body.woocommerce-cart .shop_table.cart td.product-name a,
  body.woocommerce-cart .wc-block-cart-item__product-name {
    display: block !important;
    width: 100% !important;
    font-size: 1.18rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-align: center !important;
    margin-bottom: 2px !important;
  }

  body.woocommerce-cart .wc-block-components-product-metadata,
  body.woocommerce-cart .wc-block-cart-item__product-metadata,
  body.woocommerce-cart .variation {
    display: inline-flex !important;
    justify-content: center !important;
    text-align: center !important;
    margin: 2px auto !important;
  }

  body.woocommerce-cart .wc-block-cart-item__prices {
    display: flex !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 1.25rem !important;
    font-weight: 800 !important;
    margin: 4px 0 !important;
  }

  /* 3. Mobile Quantity & Subtotal Cells */
  body.woocommerce-cart td.wc-block-cart-items__value,
  body.woocommerce-cart td.wc-block-cart-items__quantity,
  body.woocommerce-cart td.product-quantity,
  body.woocommerce-cart td.product-subtotal,
  body.woocommerce-cart td.wc-block-cart-items__total {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 4px 0 !important;
    border: none !important;
    text-align: center !important;
  }

  body.woocommerce-cart .wc-block-cart-item__remove,
  body.woocommerce-cart .wc-block-cart-item__remove-link,
  body.woocommerce-cart td.product-remove {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 8px auto 0 auto !important;
    width: 100% !important;
    border: none !important;
    padding: 0 !important;
  }
}

/* ==========================================================================
     DESKTOP LINE ITEMS LAYOUT (SPACIOUS, AIRY & HARMONIOUS)
     ========================================================================== */

/* Table Reset */
body.woocommerce-cart .wc-block-cart-items,
body.woocommerce-cart table.wc-block-cart-items,
body.woocommerce-cart table.shop_table.cart {
  width: 100% !important;
  border-collapse: collapse !important;
  border: none !important;
  table-layout: auto !important;
}

body.woocommerce-cart .wc-block-cart-items thead,
body.woocommerce-cart table.shop_table.cart thead {
  border-bottom: 1.5px solid #F0E8E2 !important;
}

body.woocommerce-cart .wc-block-cart-items th,
body.woocommerce-cart table.shop_table.cart th {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: #9E8F88 !important;
  padding-bottom: 16px !important;
  border: none !important;
  vertical-align: middle !important;
}

/* Desktop Table Column Width Allocations */
body.woocommerce-cart th.wc-block-cart-items__header-image,
body.woocommerce-cart .wc-block-cart-items th:first-child,
body.woocommerce-cart table.shop_table.cart th.product-thumbnail {
  width: 215px !important;
  min-width: 215px !important;
  max-width: 215px !important;
}

body.woocommerce-cart th.wc-block-cart-items__header-product,
body.woocommerce-cart table.shop_table.cart th.product-name {
  width: auto !important;
}

body.woocommerce-cart th.wc-block-cart-items__header-quantity,
body.woocommerce-cart table.shop_table.cart th.product-quantity {
  width: 160px !important;
  min-width: 160px !important;
  text-align: center !important;
}

body.woocommerce-cart th.wc-block-cart-items__header-total,
body.woocommerce-cart table.shop_table.cart th.product-subtotal {
  width: 175px !important;
  min-width: 175px !important;
  text-align: right !important;
}

/* Cart Rows & Vertical Centering */
body.woocommerce-cart .wc-block-cart-items__row,
body.woocommerce-cart table.shop_table.cart tr.cart_item,
body.woocommerce-cart tr.wc-block-cart-items__row {
  border: none !important;
  border-bottom: 1.5px solid #F3ECE6 !important;
  padding: 24px 0 !important;
  transition: background-color 0.2s ease !important;
  vertical-align: middle !important;
}

body.woocommerce-cart .wc-block-cart-items__row:last-child,
body.woocommerce-cart table.shop_table.cart tr.cart_item:last-child {
  border-bottom: none !important;
}

body.woocommerce-cart .wc-block-cart-items td,
body.woocommerce-cart table.shop_table.cart td {
  border: none !important;
  padding: 20px 14px !important;
  vertical-align: middle !important;
}

body.woocommerce-cart td.wc-block-cart-items__value {
  text-align: center !important;
}

/* Cart Item Wrap */
body.woocommerce-cart .wc-block-cart-item__wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 20px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Image Table Cell & Wrapper (Desktop: 200px x 200px) */
body.woocommerce-cart td.wc-block-cart-items__image,
body.woocommerce-cart td.product-thumbnail,
body.woocommerce-cart .wc-block-cart-items td:first-child {
  width: 215px !important;
  min-width: 215px !important;
  max-width: 215px !important;
  vertical-align: middle !important;
  padding: 16px 12px 16px 0 !important;
}

body.woocommerce-cart .wc-block-components-product-image,
body.woocommerce-cart .wc-block-components-product-image--has-image,
body.woocommerce-cart .wc-block-components-product-image__link,
body.woocommerce-cart figure.wc-block-components-product-image,
body.woocommerce-cart .wc-block-cart-item__image {
  width: 200px !important;
  min-width: 200px !important;
  max-width: 200px !important;
  height: 200px !important;
  min-height: 200px !important;
  max-height: 200px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto !important;
  border: none !important;
  padding: 0 !important;
  flex: 0 0 200px !important;
}

body.woocommerce-cart .wc-block-components-product-image img,
body.woocommerce-cart .wc-block-components-product-image--has-image img,
body.woocommerce-cart .wc-block-components-product-image__link img,
body.woocommerce-cart figure.wc-block-components-product-image img,
body.woocommerce-cart .wc-block-cart-item__image img,
body.woocommerce-cart td.product-thumbnail img,
body.woocommerce-cart td.wc-block-cart-items__image img {
  width: 200px !important;
  min-width: 200px !important;
  max-width: 200px !important;
  height: 200px !important;
  min-height: 200px !important;
  max-height: 200px !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: 16px !important;
  border: none !important;
  box-shadow: 0 4px 14px rgba(45, 36, 33, 0.08) !important;
  display: block !important;
  margin: 0 auto !important;
}

/* Product Details Container on Desktop (Spacious Vertical Flex) */
body.woocommerce-cart td.wc-block-cart-items__description,
body.woocommerce-cart .wc-block-cart-item__product-details,
body.woocommerce-cart .wc-block-cart-item__description {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 8px !important;
  vertical-align: middle !important;
  padding-left: 10px !important;
}

/* Product Name */
body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-cart .shop_table.cart td.product-name a,
body.woocommerce-cart .wc-block-cart-item__product-name {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 1.18rem !important;
  font-weight: 700 !important;
  color: #2D2421 !important;
  text-decoration: none !important;
  display: block !important;
  margin: 0 !important;
  line-height: 1.3 !important;
  transition: color 0.2s ease !important;
}

body.woocommerce-cart .wc-block-components-product-name:hover,
body.woocommerce-cart .shop_table.cart td.product-name a:hover,
body.woocommerce-cart .wc-block-cart-item__product-name:hover {
  color: #C26D53 !important;
}

/* Desktop Row: Poids (Grammage) + Prix Unitaire */
@media (min-width: 768px) {

  body.woocommerce-cart .wc-block-components-product-metadata,
  body.woocommerce-cart .wc-block-cart-item__product-metadata,
  body.woocommerce-cart .variation,
  body.woocommerce-cart .wc-block-cart-item__prices,
  body.woocommerce-cart .wc-block-components-product-price {
    display: inline-flex !important;
    align-items: center !important;
    white-space: nowrap !important;
    vertical-align: middle !important;
    margin: 0 16px 0 0 !important;
  }
}

/* Metadata / Grammage (Poids Pill) */
body.woocommerce-cart .wc-block-components-product-metadata,
body.woocommerce-cart .wc-block-cart-item__product-metadata,
body.woocommerce-cart .variation {
  display: inline-flex !important;
  align-items: center !important;
  font-size: 0.88rem !important;
  color: #70615A !important;
  margin: 0 14px 0 0 !important;
  padding: 3px 10px !important;
  background: #FDF9F5 !important;
  border: 1px solid #EFE4DC !important;
  border-radius: 14px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

body.woocommerce-cart .wc-block-components-product-metadata dl,
body.woocommerce-cart .wc-block-components-product-metadata dt,
body.woocommerce-cart .wc-block-components-product-metadata dd,
body.woocommerce-cart .wc-block-components-product-metadata p,
body.woocommerce-cart .wc-block-cart-item__product-metadata dl,
body.woocommerce-cart .wc-block-cart-item__product-metadata dt,
body.woocommerce-cart .wc-block-cart-item__product-metadata dd {
  display: inline !important;
  margin: 0 !important;
  padding: 0 3px 0 0 !important;
  font-size: 0.88rem !important;
  color: #70615A !important;
  white-space: nowrap !important;
}

/* 1. Unit Price (P.U. Prefix) */
body.woocommerce-cart .wc-block-cart-item__prices,
body.woocommerce-cart .shop_table.cart td.product-price {
  display: inline-flex !important;
  align-items: center !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  color: #C26D53 !important;
  font-weight: 800 !important;
  font-size: 1.15rem !important;
  margin: 0 16px 0 0 !important;
  white-space: nowrap !important;
}

body.woocommerce-cart .wc-block-cart-item__prices .wc-block-formatted-money-amount,
body.woocommerce-cart .wc-block-cart-item__prices .wc-block-components-product-price,
body.woocommerce-cart .shop_table.cart td.product-price span {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  color: #C26D53 !important;
  font-weight: 800 !important;
  font-size: 1.15rem !important;
}

body.woocommerce-cart .wc-block-cart-item__prices::before,
body.woocommerce-cart .shop_table.cart td.product-price::before {
  content: 'P.U. : ' !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 0.84rem !important;
  font-weight: 700 !important;
  color: #8C7E77 !important;
  margin-right: 4px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}

/* 2. Line Subtotal (Sous-total Prefix & Theme Styling) */
body.woocommerce-cart td.wc-block-cart-item__total,
body.woocommerce-cart td.wc-block-cart-items__total,
body.woocommerce-cart .wc-block-cart-item__total,
body.woocommerce-cart .wc-block-cart-item__total-price,
body.woocommerce-cart td.product-subtotal {
  display: inline-flex !important;
  align-items: center !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 1.18rem !important;
  font-weight: 800 !important;
  color: #C26D53 !important;
  white-space: nowrap !important;
}

body.woocommerce-cart td.wc-block-cart-item__total .wc-block-formatted-money-amount,
body.woocommerce-cart td.wc-block-cart-item__total .wc-block-components-product-price,
body.woocommerce-cart td.wc-block-cart-items__total .wc-block-formatted-money-amount,
body.woocommerce-cart .wc-block-cart-item__total .wc-block-formatted-money-amount,
body.woocommerce-cart td.product-subtotal span,
body.woocommerce-cart .wc-block-components-totals-item__value {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  color: #C26D53 !important;
  font-weight: 800 !important;
  font-size: 1.18rem !important;
}

body.woocommerce-cart td.wc-block-cart-item__total::before,
body.woocommerce-cart td.wc-block-cart-items__total::before,
body.woocommerce-cart td.product-subtotal::before {
  content: 'Sous-total : ' !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 0.88rem !important;
  font-weight: 800 !important;
  color: #4A3C36 !important;
  margin-right: 6px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

/* Prevent nested duplicate prefixes inside child elements */
body.woocommerce-cart .wc-block-components-product-price::before,
body.woocommerce-cart .wc-block-formatted-money-amount::before,
body.woocommerce-cart .wc-block-cart-item__total-price::before,
body.woocommerce-cart td.wc-block-cart-item__total .wc-block-cart-item__total::before,
body.woocommerce-cart td.wc-block-cart-items__total .wc-block-cart-item__total::before {
  content: none !important;
}

/* ==========================================================================
     QUANTITY SELECTOR PILL (PERFECT FIXED PROPORTIONS - NEVER TRUNCATED)
     ========================================================================== */
body.woocommerce-cart .wc-block-components-quantity-selector,
body.woocommerce-cart .quantity {
  display: inline-flex !important;
  align-items: stretch !important;
  justify-content: space-between !important;
  background: #FFFFFF !important;
  border: 1.5px solid #E2D7CF !important;
  border-radius: 25px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  width: 136px !important;
  min-width: 136px !important;
  max-width: 136px !important;
  flex: 0 0 136px !important;
  height: 42px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  white-space: nowrap !important;
  box-shadow: 0 2px 6px rgba(45, 36, 33, 0.04) !important;
}

.wc-block-components-quantity-selector__button,
.quantity .plus,
.quantity .minus {
  background: transparent !important;
  border: none !important;
  color: #2D2421 !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.15s ease !important;
  line-height: 0 !important;
  box-sizing: border-box !important;
  vertical-align: middle !important;
}

.wc-block-components-quantity-selector__button svg,
.quantity .plus svg,
.quantity .minus svg {
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  min-height: 14px !important;
  max-width: 14px !important;
  max-height: 14px !important;
  display: block !important;
  margin: 0 auto !important;
  fill: currentColor !important;
  transform: translateY(-1.5px) !important;
}

.wc-block-components-quantity-selector__button span,
.quantity .plus span,
.quantity .minus span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 0 !important;
  transform: translateY(-1.5px) !important;
}

.wc-block-components-quantity-selector__button:hover,
.quantity .plus:hover,
.quantity .minus:hover {
  background: #F3ECE6 !important;
  color: #C26D53 !important;
}

.wc-block-components-quantity-selector__input,
.quantity input.qty {
  border: none !important;
  background: transparent !important;
  color: #2D2421 !important;
  font-weight: 800 !important;
  font-size: 1.05rem !important;
  text-align: center !important;
  width: 50px !important;
  min-width: 50px !important;
  max-width: 50px !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  -moz-appearance: textfield !important;
}

.quantity input.qty::-webkit-outer-spin-button,
.quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* Remove / Trash Button */
.wc-block-cart-item__remove,
.wc-block-cart-item__remove-link,
.shop_table.cart a.remove {
  color: #A69890 !important;
  background: #FAF6F0 !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.1rem !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  border: none !important;
  cursor: pointer !important;
}

.wc-block-cart-item__remove:hover,
.wc-block-cart-item__remove-link:hover,
.shop_table.cart a.remove:hover {
  background: #FDEBEB !important;
  color: #D9534F !important;
  transform: scale(1.08) !important;
}

/* SIDEBAR: Order Summary Styling */
.wc-block-cart__totals-title,
.cart_totals h2 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.65rem !important;
  font-weight: 700 !important;
  color: #2D2421 !important;
  margin: 0 0 16px 0 !important;
  padding-bottom: 12px !important;
  border-bottom: 1.5px solid #EFE4DC !important;
}

.wc-block-components-totals-item,
.cart_totals table tr {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 10px 20px !important;
  box-sizing: border-box !important;
  border: none !important;
  font-size: 0.95rem !important;
  color: #5A4D47 !important;
}

.wc-block-components-totals-item__label,
.cart_totals table th {
  font-weight: 600 !important;
  color: #5A4D47 !important;
}

/* Total Line (Footer Total) */
.wc-block-components-totals-footer-item,
.cart_totals table tr.order-total {
  border-top: 1.5px solid #EFE4DC !important;
  margin-top: 14px !important;
  padding-top: 16px !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.cart_totals table tr.order-total th {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  color: #2D2421 !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.cart_totals table tr.order-total td strong {
  font-size: 1.45rem !important;
  font-weight: 800 !important;
  color: #C26D53 !important;
}

/* Coupon Form in Cart */
.wc-block-components-totals-coupon,
.coupon {
  margin-top: 14px !important;
  padding-top: 14px !important;
  border-top: 1px dashed #EFE4DC !important;
}

.wc-block-components-totals-coupon__input input,
.coupon input.input-text {
  background: #FFFFFF !important;
  border: 1.5px solid #EFE4DC !important;
  border-radius: 25px !important;
  padding: 8px 16px !important;
  font-size: 0.9rem !important;
  color: #2D2421 !important;
  outline: none !important;
}

.wc-block-components-totals-coupon__form button,
.wc-block-components-totals-coupon__form .wc-block-components-button,
.wc-block-components-totals-coupon-form__button,
.coupon button,
.coupon .button,
button[name="apply_coupon"] {
  background-color: #2D2421 !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 25px !important;
  padding: 8px 18px !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.wc-block-components-totals-coupon__form button:hover,
.coupon button:hover,
button[name="apply_coupon"]:hover {
  background-color: #C26D53 !important;
}

/* Primary Checkout CTA Button (Stabilized against flickering) */
.wc-block-cart__submit-button,
.wc-block-components-checkout-button,
.checkout-button.button,
.wc-block-cart__submit a.wc-block-components-button,
.wc-block-cart__submit a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  background-color: #C26D53 !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 14px 28px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 1.08rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgba(194, 109, 83, 0.3) !important;
  transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease !important;
  cursor: pointer !important;
  margin-top: 18px !important;
  box-sizing: border-box !important;
  position: relative !important;
  z-index: 999999 !important;
  isolation: isolate !important;
  backface-visibility: hidden !important;
  transform: translateZ(0) !important;
}

.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-button:hover,
.checkout-button.button:hover,
.wc-block-cart__submit a:hover {
  background-color: #a8563e !important;
  box-shadow: 0 8px 22px rgba(194, 109, 83, 0.38) !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) translateZ(0) !important;
}

/* Reset Submit Wrapper Containers */
.wc-block-cart__submit,
.wc-block-cart__submit-container {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}

/* Anti-Flicker: Suppress Cookie Badge Interference on Cart Page */
body.woocommerce-cart #jdb-cookie-badge {
  z-index: 50 !important;
  pointer-events: auto !important;
  transform: none !important;
  transition: none !important;
}

@media (max-width: 960px) {

  .wc-block-cart__sidebar,
  .wc-block-cart__submit-button,
  .wc-block-components-checkout-button,
  .checkout-button {
    z-index: 999999 !important;
    isolation: isolate !important;
  }

  /* ==========================================================================
       CLASSES SÉPARÉES POUR LE BOUTON VALIDER LA COMMANDE SUR MOBILE
       ========================================================================== */
  /* 1. Bouton statique dans le formulaire / récapitulatif : COINS ARRONDIS */
  .jdb-cart-btn-static,
  .wc-block-cart__sidebar .wc-block-cart__submit-button,
  .wc-block-cart__sidebar .wc-block-components-checkout-button,
  .wc-block-cart-items-block~.wc-block-cart__sidebar .wc-block-cart__submit-button,
  .wc-block-cart__submit-button:not(.jdb-cart-btn-docked),
  .wc-block-components-checkout-button:not(.jdb-cart-btn-docked),
  .checkout-button:not(.jdb-cart-btn-docked) {
    border-radius: 50px !important;
    width: 100% !important;
  }

  /* 2. Bouton fixe au défilement en bas d'écran : SANS COINS ARRONDIS */
  .jdb-cart-btn-docked,
  .jdb-cart-btn-docked .wc-block-cart__submit-button,
  .jdb-cart-btn-docked .wc-block-components-checkout-button,
  .jdb-cart-btn-docked.wc-block-cart__submit-button,
  .jdb-cart-btn-docked.wc-block-components-checkout-button,
  .jdb-cart-btn-docked.checkout-button,
  .jdb-cart-btn-docked a,
  .is-docked .wc-block-cart__submit-button,
  .is-sticky .wc-block-cart__submit-button,
  .is-docked .wc-block-components-checkout-button,
  .is-sticky .wc-block-components-checkout-button,
  .wc-block-cart__submit.is-docked .wc-block-cart__submit-button,
  .wc-block-cart__submit.is-sticky .wc-block-cart__submit-button,
  .wc-block-cart__submit-container.is-sticky .wc-block-cart__submit-button,
  .wc-block-components-checkout-button--sticky,
  .wc-block-components-checkout-button.is-sticky,
  .wc-block-components-sidebar.is-docked .wc-block-cart__submit-button {
    border-radius: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  /* On mobile cart, hide the floating cookie badge to eliminate any touch/hover conflict with checkout */
  body.woocommerce-cart #jdb-cookie-badge,
  body.woocommerce-cart #tarteaucitronIcon,
  body.woocommerce-cart #axeptio_overlay,
  body.woocommerce-cart .axeptio_widget,
  body.woocommerce-cart .cmplz-cookiebanner,
  body.woocommerce-cart .cookie-floating-btn {
    display: none !important;
  }
}

/* Empty Cart Canvas */
.wc-block-cart__empty-cart,
.cart-empty.woocommerce-info {
  background: #FFFFFF !important;
  border: 1px solid #EFE4DC !important;
  border-radius: 24px !important;
  padding: clamp(40px, 6vw, 70px) 28px !important;
  text-align: center !important;
  box-shadow: 0 6px 24px rgba(45, 36, 33, 0.04) !important;
  margin: 30px auto !important;
  max-width: 620px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.wc-block-cart__empty-cart__title,
.cart-empty {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 2.2rem !important;
  font-weight: 700 !important;
  color: #2D2421 !important;
  margin-bottom: 12px !important;
}

.wc-block-cart__empty-cart a.wc-block-components-button,
.return-to-shop a.button {
  background-color: #C26D53 !important;
  color: #FFFFFF !important;
  border-radius: 50px !important;
  padding: 14px 32px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: all 0.22s ease !important;
  box-shadow: 0 4px 14px rgba(194, 109, 83, 0.28) !important;
  margin-top: 20px !important;
  display: inline-block !important;
}

.wc-block-cart__empty-cart a.wc-block-components-button:hover,
.return-to-shop a.button:hover {
  background-color: #a8563e !important;
  transform: translateY(-2px) !important;
}

/* ==========================================================================
     4. CHECKOUT / COMMANDE PAGE (WOOCOMMERCE BLOCKS & CLASSIC)
     ========================================================================== */
.wp-block-woocommerce-checkout,
.woocommerce-checkout .woocommerce,
div[data-block-name="woocommerce/checkout"] {
  width: 92% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* Checkout Structure (Seamless 2-Column Desktop, 1-Column Mobile) */
.wc-block-checkout {
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: clamp(24px, 3vw, 40px) !important;
  align-items: flex-start !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

.wc-block-checkout .wc-block-checkout__main {
  flex: 1 1 0% !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.wc-block-checkout .wc-block-checkout__sidebar {
  flex: 0 0 380px !important;
  width: 380px !important;
  max-width: 400px !important;
  min-width: 320px !important;
  background: #FDFBF9 !important;
  border: 1px solid #EFE4DC !important;
  border-radius: 20px !important;
  padding: clamp(20px, 2.8vw, 32px) !important;
  box-shadow: 0 4px 16px rgba(45, 36, 33, 0.03) !important;
  box-sizing: border-box !important;
  position: sticky !important;
  top: 90px !important;
}

@media (max-width: 960px) {

  .wp-block-woocommerce-checkout,
  .woocommerce-checkout .woocommerce,
  div[data-block-name="woocommerce/checkout"] {
    width: 94% !important;
    margin: 0 auto !important;
  }

  .wc-block-checkout {
    flex-direction: column !important;
    flex-wrap: wrap !important;
    width: 100% !important;
  }

  .wc-block-checkout .wc-block-checkout__main,
  .wc-block-checkout .wc-block-checkout__sidebar {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    min-width: 100% !important;
    position: static !important;
    margin-top: 16px !important;
  }
}

/* Checkout Step Boxes / Sections */
.wc-block-components-checkout-step,
.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields,
#customer_details {
  background: #FFFFFF !important;
  border: 1px solid #EFE4DC !important;
  border-radius: 20px !important;
  padding: clamp(20px, 2.8vw, 32px) !important;
  margin-bottom: 24px !important;
  box-shadow: 0 4px 16px rgba(45, 36, 33, 0.03) !important;
  box-sizing: border-box !important;
}

/* Step Headings */
.wc-block-components-checkout-step__heading,
.wc-block-components-checkout-step__title,
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.45rem !important;
  font-weight: 700 !important;
  color: #2D2421 !important;
  margin-top: 0 !important;
  margin-bottom: 18px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

/* Form Controls (Inputs, Selects, Textareas) in Checkout */
.wc-block-components-text-input input,
.wc-block-components-combobox input,
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.wc-block-components-textarea textarea,
.wc-block-components-address-form input {
  background-color: #FDFBF9 !important;
  border: 1.5px solid #EFE4DC !important;
  border-radius: 12px !important;
  padding: 12px 16px !important;
  font-size: 1rem !important;
  color: #2D2421 !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.wc-block-components-text-input input:hover,
.woocommerce-checkout input:hover,
.woocommerce-checkout select:hover,
.woocommerce-checkout textarea:hover {
  border-color: #D8C6B8 !important;
  background-color: #FFFFFF !important;
}

.wc-block-components-text-input input:focus,
.wc-block-components-combobox input:focus,
.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
  border-color: #C26D53 !important;
  background-color: #FFFFFF !important;
  box-shadow: 0 0 0 3.5px rgba(194, 109, 83, 0.15) !important;
  outline: none !important;
}

/* Form Labels & Floating Labels (Positionnés au-dessus des champs) */
.wc-block-components-text-input,
.wc-block-components-combobox,
.wc-block-components-country-input {
  margin-top: 26px !important;
  position: relative !important;
}

.wc-block-components-text-input label,
.wc-block-components-combobox label,
.wc-block-components-country-input label,
.wc-block-components-state-input label,
.woocommerce-checkout label,
.wc-block-checkout label,
.wc-block-components-address-form label,
.wc-block-components-text-input.is-active label,
.wc-block-components-combobox.is-active label,
.wc-block-components-combobox .wc-block-components-combobox-control label {
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  color: #5A4D47 !important;
  margin-bottom: 6px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  position: absolute !important;
  top: -24px !important;
  left: 2px !important;
  transform: none !important;
  opacity: 1 !important;
}

/* Masquage complet de la note de commande et de son conteneur */
.wc-block-checkout__order-notes,
.wp-block-woocommerce-checkout-order-note-block,
.wc-block-checkout__order-notes-step,
.woocommerce-additional-fields,
#order_comments_field,
.wc-block-components-checkout-step:has(.wc-block-checkout__order-notes),
.wc-block-components-checkout-step:has(#order-notes),
.wc-block-components-checkout-step:has(.wp-block-woocommerce-checkout-order-note-block) {
  display: none !important;
}

/* Shipping Method Radio Cards */
.wc-block-components-shipping-rates-control,
ul#shipping_method {
  list-style: none !important;
  padding: 0 !important;
  margin: 12px 0 !important;
}

.wc-block-components-radio-control__option,
ul#shipping_method li {
  background: #FFFFFF !important;
  border: 1.5px solid #EFE4DC !important;
  border-radius: 14px !important;
  padding: 14px 18px !important;
  margin-bottom: 10px !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.wc-block-components-radio-control__option:hover,
ul#shipping_method li:hover {
  border-color: #C26D53 !important;
}

.wc-block-components-radio-control__option.is-selected,
.wc-block-components-radio-control__option:has(input:checked) {
  border-color: #C26D53 !important;
  background-color: #FDF4EE !important;
}

input[type="radio"],
input[type="checkbox"] {
  accent-color: #C26D53 !important;
}

/* Payment Section Container */
.wc-block-checkout__payment-method,
#payment,
.woocommerce-checkout-payment {
  background: #FDFBF9 !important;
  border: 1px solid #EFE4DC !important;
  border-radius: 20px !important;
  padding: clamp(20px, 2.5vw, 28px) !important;
  margin-bottom: 24px !important;
  box-sizing: border-box !important;
}

.wc-block-components-payment-methods,
#payment ul.payment_methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 16px 0 !important;
}

.wc-block-components-payment-method,
#payment ul.payment_methods li {
  background: #FFFFFF !important;
  border: 1.5px solid #EFE4DC !important;
  border-radius: 14px !important;
  padding: 14px 18px !important;
  margin-bottom: 10px !important;
}

.wc-block-components-payment-method.is-selected,
#payment ul.payment_methods li:has(input:checked) {
  border-color: #C26D53 !important;
  background-color: #FDF4EE !important;
}

.payment_box {
  background: #FFFFFF !important;
  border: 1px solid #EFE4DC !important;
  border-radius: 12px !important;
  padding: 14px 16px !important;
  margin-top: 10px !important;
  font-size: 0.92rem !important;
  color: #5A4D47 !important;
  line-height: 1.5 !important;
}

/* Checkout Sidebar / Order Summary (Right Column) */
.wc-block-checkout__sidebar,
#order_review {
  background: #FDFBF9 !important;
  border: 1px solid #EFE4DC !important;
  border-radius: 20px !important;
  padding: clamp(20px, 3vw, 30px) !important;
  box-shadow: 0 6px 22px rgba(45, 36, 33, 0.04) !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

@media (min-width: 961px) {
  .wc-block-checkout__sidebar {
    position: sticky !important;
    top: 95px !important;
  }
}

.wc-block-checkout__order-summary-title,
#order_review_heading {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.55rem !important;
  font-weight: 700 !important;
  color: #2D2421 !important;
  border-bottom: 1.5px solid #EFE4DC !important;
  padding-bottom: 12px !important;
  margin-top: 0 !important;
  margin-bottom: 18px !important;
}

/* Place Order CTA Button (Checkout Page) */
.wc-block-components-checkout-place-order-button,
#place_order,
.wc-block-checkout__actions button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  background-color: #C26D53 !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 16px 32px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: 0 4px 16px rgba(194, 109, 83, 0.35) !important;
  transition: all 0.22s cubic-bezier(0.25, 1, 0.5, 1) !important;
  cursor: pointer !important;
  margin-top: 20px !important;
  box-sizing: border-box !important;
}

.wc-block-components-checkout-place-order-button:hover,
#place_order:hover,
.wc-block-checkout__actions button:hover {
  background-color: #a8563e !important;
  transform: translateY(-2px) scale(1.015) !important;
  box-shadow: 0 8px 24px rgba(194, 109, 83, 0.42) !important;
  color: #FFFFFF !important;
}

/* ==========================================================================
     5. ORDER RECEIVED / THANK YOU CONFIRMATION PAGE
     ========================================================================== */
.woocommerce-order {
  max-width: 1000px !important;
  margin: 0 auto !important;
}

.woocommerce-thankyou-order-received {
  background-color: #EAF5ED !important;
  border: 1.5px solid #A3D4AF !important;
  color: #1B5E20 !important;
  border-radius: 18px !important;
  padding: 24px 28px !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  text-align: center !important;
  margin-bottom: 28px !important;
  box-shadow: 0 4px 16px rgba(45, 36, 33, 0.04) !important;
}

.woocommerce-order-overview {
  background: #FDFBF9 !important;
  border: 1px solid #EFE4DC !important;
  border-radius: 20px !important;
  padding: 24px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  list-style: none !important;
  gap: 16px !important;
  margin: 0 0 32px 0 !important;
}

.woocommerce-order-overview li {
  font-size: 0.92rem !important;
  color: #70615A !important;
  border-right: 1px solid #EFE4DC !important;
  padding-right: 20px !important;
  flex: 1 1 auto !important;
}

.woocommerce-order-overview li:last-child {
  border-right: none !important;
}

.woocommerce-order-overview li strong {
  display: block !important;
  font-size: 1.05rem !important;
  color: #2D2421 !important;
  margin-top: 4px !important;
}

.woocommerce-table--order-details,
.woocommerce-customer-details {
  background: #FFFFFF !important;
  border: 1px solid #EFE4DC !important;
  border-radius: 20px !important;
  padding: 28px !important;
  margin-bottom: 28px !important;
  box-shadow: 0 4px 16px rgba(45, 36, 33, 0.03) !important;
}

.woocommerce-customer-details address {
  background: #FDFBF9 !important;
  border: 1px solid #EFE4DC !important;
  border-radius: 14px !important;
  padding: 18px !important;
  font-style: normal !important;
  color: #5A4D47 !important;
  line-height: 1.6 !important;
}

/* ==========================================================================
     6. SINGLE PRODUCT PAGE & WOOCOMMERCE CATALOG ARCHIVES
     ========================================================================== */
.single-product .product {
  max-width: 1200px !important;
  margin: 0 auto !important;
}

.single-product .woocommerce-product-gallery {
  border-radius: 20px !important;
  overflow: hidden !important;
  border: 1px solid #EFE4DC !important;
  background: #F7EFE8 !important;
  box-shadow: 0 8px 24px rgba(45, 36, 33, 0.05) !important;
}

.single-product .summary.entry-summary {
  padding-left: clamp(16px, 3vw, 40px) !important;
}

.single-product .product_title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(2rem, 3.5vw, 2.7rem) !important;
  font-weight: 700 !important;
  color: #2D2421 !important;
  margin-top: 0 !important;
  margin-bottom: 10px !important;
}

.single-product .price {
  font-size: 1.65rem !important;
  font-weight: 700 !important;
  color: #C26D53 !important;
  margin-bottom: 16px !important;
}

.single-product .single_add_to_cart_button {
  background-color: #C26D53 !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 13px 30px !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all 0.22s ease !important;
  box-shadow: 0 4px 14px rgba(194, 109, 83, 0.3) !important;
}

.single-product .single_add_to_cart_button:hover {
  background-color: #a8563e !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(194, 109, 83, 0.38) !important;
}

/* Product Tabs */
.woocommerce-tabs ul.tabs {
  border-bottom: 1.5px solid #EFE4DC !important;
  padding: 0 !important;
  display: flex !important;
  gap: 12px !important;
  list-style: none !important;
  margin-bottom: 20px !important;
}

.woocommerce-tabs ul.tabs li a {
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  color: #5A4D47 !important;
  text-decoration: none !important;
  padding: 10px 18px !important;
  border-radius: 12px 12px 0 0 !important;
  display: inline-block !important;
}

.woocommerce-tabs ul.tabs li.active a {
  color: #C26D53 !important;
  font-weight: 700 !important;
  border-bottom: 2.5px solid #C26D53 !important;
}

.woocommerce-Tabs-panel {
  background: #FDFBF9 !important;
  border: 1px solid #EFE4DC !important;
  border-radius: 20px !important;
  padding: 30px !important;
  color: #5A4D47 !important;
  line-height: 1.7 !important;
}

/* Catalog / Shop Grid */
ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
  gap: 20px !important;
  padding: 0 !important;
  list-style: none !important;
  margin: 24px 0 !important;
}

ul.products li.product {
  background-color: #FDFBF9 !important;
  border: 1px solid #EFE4DC !important;
  border-radius: 18px !important;
  padding: 16px 14px 18px 14px !important;
  display: flex !important;
  flex-direction: column !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 4px 14px rgba(45, 36, 33, 0.03) !important;
  box-sizing: border-box !important;
}

ul.products li.product:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 28px rgba(45, 36, 33, 0.08) !important;
  border-color: #C26D53 !important;
}

ul.products li.product img {
  border-radius: 13px !important;
  width: 100% !important;
  aspect-ratio: 1/1 !important;
  object-fit: cover !important;
}

ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  color: #2D2421 !important;
  margin: 12px 0 6px 0 !important;
}

ul.products li.product .price {
  color: #C26D53 !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  margin-bottom: 12px !important;
}

ul.products li.product .button {
  background-color: #2D2421 !important;
  color: #FFFFFF !important;
  border-radius: 25px !important;
  padding: 8px 14px !important;
  font-size: 0.84rem !important;
  font-weight: 600 !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  margin-top: auto !important;
}

ul.products li.product .button:hover {
  background-color: #C26D53 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(194, 109, 83, 0.3) !important;
}

/* ==========================================================================
     7. MY ACCOUNT PAGE (/my-account/)
     ========================================================================== */
.woocommerce-account .woocommerce {
  max-width: 1100px !important;
  margin: 0 auto !important;
  display: flex !important;
  gap: 32px !important;
}

@media (max-width: 800px) {
  .woocommerce-account .woocommerce {
    flex-direction: column !important;
  }
}

.woocommerce-MyAccount-navigation {
  flex: 0 0 240px !important;
}

.woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.woocommerce-MyAccount-navigation li a {
  display: block !important;
  padding: 10px 18px !important;
  border-radius: 12px !important;
  color: #5A4D47 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li a:hover {
  background: #C26D53 !important;
  color: #FFFFFF !important;
}

.woocommerce-MyAccount-content {
  flex: 1 1 auto !important;
  background: #FDFBF9 !important;
  border: 1px solid #EFE4DC !important;
  border-radius: 20px !important;
  padding: 32px !important;
}