/* Parcours WooCommerce : panier et commande de la carte cadeau. */
body.woocommerce-cart main,
body.woocommerce-checkout main {
  width: min(1120px, calc(100% - 40px));
  margin-inline: auto;
  padding-block: clamp(34px, 6vw, 76px) clamp(70px, 9vw, 120px);
}

body.woocommerce-cart .wp-block-post-title,
body.woocommerce-checkout .wp-block-post-title {
  margin: 0 0 32px;
  font-family: "Cormorant Garamond", "Times New Roman", serif;
  font-size: clamp(2.8rem, 7vw, 5.6rem);
  font-weight: 400;
  line-height: 0.95;
}

body.woocommerce-cart .woocommerce-notices-wrapper,
body.woocommerce-checkout .woocommerce-notices-wrapper {
  margin-bottom: 22px;
}

body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-error,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-info {
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 0;
  background: #111319;
  color: #f2eee7;
}

body.woocommerce-cart .shop_table,
body.woocommerce-checkout .shop_table {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 0;
  background: #090a0d;
}

body.woocommerce-cart .shop_table th,
body.woocommerce-cart .shop_table td,
body.woocommerce-checkout .shop_table th,
body.woocommerce-checkout .shop_table td {
  padding: 18px;
  border-color: rgba(255, 255, 255, 0.16);
  vertical-align: top;
}

body.woocommerce-cart .product-thumbnail img {
  width: 76px;
  height: 76px;
  object-fit: cover;
}

body.woocommerce-cart .product-remove .remove {
  display: inline-grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  color: #f2eee7 !important;
  font-size: 1.6rem;
  line-height: 1;
  text-decoration: none;
}

body.woocommerce-cart .product-remove .remove:hover,
body.woocommerce-cart .product-remove .remove:focus-visible {
  border-color: #f2eee7;
  background: #f2eee7;
  color: #07080a !important;
}

body.woocommerce-cart .product-name > a {
  color: #f2eee7;
  font-family: "Cormorant Garamond", "Times New Roman", serif;
  font-size: 1.45rem;
  line-height: 1.1;
}

body.woocommerce-cart .woocommerce-cart-form .lrs-link-cue::after {
  display: none !important;
  content: none !important;
}

body.woocommerce-cart dl.variation,
body.woocommerce-checkout dl.variation {
  display: grid;
  grid-template-columns: minmax(105px, 0.42fr) minmax(0, 1fr);
  gap: 8px 14px;
  margin-top: 18px;
}

body.woocommerce-cart dl.variation dt,
body.woocommerce-cart dl.variation dd,
body.woocommerce-checkout dl.variation dt,
body.woocommerce-checkout dl.variation dd {
  float: none;
  clear: none;
  margin: 0;
  overflow-wrap: anywhere;
}

body.woocommerce-cart dl.variation p,
body.woocommerce-checkout dl.variation p {
  margin: 0;
}

body.woocommerce-cart td.actions .coupon {
  display: grid;
  grid-template-columns: minmax(210px, 1fr) auto;
  gap: 10px;
  width: min(100%, 610px);
}

body.woocommerce-cart td.actions .coupon input,
body.woocommerce-cart td.actions .coupon button,
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
body.woocommerce-checkout #place_order {
  min-height: 52px;
  border-radius: 0;
}

body.woocommerce-cart .lrs-cart-coupon-help {
  grid-column: 1 / -1;
  padding-right: 58px;
  color: #b9bec7;
  font-size: 0.78rem;
  line-height: 1.45;
  text-align: left;
}

body.woocommerce-cart button[name="update_cart"] {
  display: none !important;
}

body.woocommerce-checkout .lrs-checkout-coupon-help {
  margin: -10px 0 28px;
  padding: 12px 14px;
  border-left: 2px solid #b9bec7;
  background: rgba(255, 255, 255, 0.04);
  color: #b9bec7;
  font-size: 0.82rem;
  line-height: 1.5;
}

body.woocommerce-cart .cart-collaterals {
  margin-top: clamp(30px, 5vw, 60px);
}

body.woocommerce-cart .wc-proceed-to-checkout {
  display: grid;
  gap: 12px;
}

/* Le paiement express doublonnait l’action principale sur le panier. */
body.woocommerce-cart .wc-proceed-to-checkout .ppcp-messages,
body.woocommerce-cart .wc-proceed-to-checkout .ppc-button-wrapper {
  display: none !important;
}

body.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  display: grid;
  width: 100%;
  margin: 0;
  place-items: center;
  background: #f2eee7;
  color: #07080a;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-align: center;
  text-transform: uppercase;
}

body.woocommerce-checkout form.checkout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.82fr);
  gap: clamp(32px, 6vw, 80px);
}

body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout #order_review {
  width: 100%;
}

body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout #order_review {
  grid-column: 2;
}

body.woocommerce-checkout #order_review_heading {
  margin: 0;
  align-self: end;
}

body.woocommerce-checkout #order_review {
  margin-top: calc(-1 * clamp(24px, 4vw, 48px));
}

body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row textarea,
body.woocommerce-checkout .select2-container .select2-selection {
  min-height: 52px;
  border-radius: 0;
}

@media (max-width: 820px) {
  body.woocommerce-cart main,
  body.woocommerce-checkout main {
    width: min(100% - 28px, 680px);
    padding-top: 28px;
  }

  body.woocommerce-cart .wp-block-post-title,
  body.woocommerce-checkout .wp-block-post-title {
    margin-bottom: 24px;
    font-size: clamp(2.7rem, 14vw, 4.2rem);
  }

  body.woocommerce-cart table.shop_table_responsive tr.cart_item {
    display: block;
    padding: 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  }

  body.woocommerce-cart table.shop_table_responsive tr.cart_item td {
    display: grid;
    grid-template-columns: minmax(92px, 0.38fr) minmax(0, 1fr);
    gap: 14px;
    width: 100%;
    padding: 13px 0;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    text-align: left !important;
  }

  body.woocommerce-cart table.shop_table_responsive tr.cart_item td::before {
    float: none;
    color: #f2eee7;
    text-align: left;
  }

  body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-remove,
  body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-name {
    display: block;
  }

  body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-remove::before,
  body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-name::before {
    display: none;
  }

  body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-remove {
    padding-top: 0;
    text-align: right !important;
  }

  body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-thumbnail,
  body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-quantity {
    display: none !important;
  }

  body.woocommerce-cart dl.variation,
  body.woocommerce-checkout dl.variation {
    grid-template-columns: minmax(96px, 0.42fr) minmax(0, 1fr);
    gap: 8px 12px;
  }

  body.woocommerce-cart td.actions {
    display: block !important;
    padding: 14px !important;
  }

  body.woocommerce-cart td.actions::before {
    display: none;
  }

  body.woocommerce-cart td.actions .coupon {
    grid-template-columns: 1fr;
    width: 100%;
  }

  body.woocommerce-cart td.actions .coupon input,
  body.woocommerce-cart td.actions .coupon button {
    float: none;
    width: 100% !important;
  }

  body.woocommerce-cart .cart_totals,
  body.woocommerce-cart .cart_totals table {
    width: 100% !important;
  }

  body.woocommerce-checkout form.checkout {
    display: block;
  }

  body.woocommerce-checkout #order_review_heading {
    margin-top: 42px;
  }

  body.woocommerce-checkout #order_review {
    margin-top: 18px;
  }
}

@media (max-width: 480px) {
  body.woocommerce-checkout .form-row-first,
  body.woocommerce-checkout .form-row-last {
    float: none;
    width: 100%;
  }
}
