/* ==========================================================================
   FRB CLOTHING — LUXURY CART PAGE STYLESHEET
   Matching brand theme:
   - Luxury blush-petal banner with editorial eyebrow and gradient accent
   - Signature vibrant magenta-to-plum gradient for "[Proceed to Checkout]" button
   - Matching gradient styling for coupon "Apply" button
   - Elegant cart items layout, quantities, size details, savings badges
   - Premium Cart Totals sidebar card with trust assurances
   ========================================================================== */

/* ---- Cart Page Banner (Luxury Blush Petal Theme) ---- */
.page-header.page-header--cart,
body.woocommerce-cart .page-header {
  text-align: center;
  padding: 55px 24px 45px;
  margin-bottom: 45px;
  background: linear-gradient(135deg, #fff7fa 0%, #fdf0f5 45%, #fae6ee 100%) !important;
  border-top: 1px solid rgba(230, 47, 117, 0.12) !important;
  border-bottom: 1px solid rgba(230, 47, 117, 0.16) !important;
  position: relative;
  overflow: hidden;
}

.page-header.page-header--cart::after,
body.woocommerce-cart .page-header::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(
    ellipse at 50% 50%,
    rgba(255, 255, 255, 0.85) 0%,
    rgba(253, 240, 245, 0.45) 55%,
    rgba(250, 230, 238, 0.75) 100%
  ) !important;
  pointer-events: none;
}

.page-header.page-header--cart .page-header__eyebrow,
body.woocommerce-cart .page-header__eyebrow {
  display: block;
  position: relative;
  z-index: 2;
  font-family: var(--font-main, 'Jost', sans-serif);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--brand-primary, #e62f75);
  margin-bottom: 10px;
}

.page-header.page-header--cart .page-title,
body.woocommerce-cart .page-header .page-title {
  position: relative;
  z-index: 2;
  font-family: var(--font-main, 'Jost', sans-serif);
  font-size: clamp(2.2rem, 4.5vw, 3.2rem);
  font-weight: 700;
  color: var(--color-primary, #1e1418);
  margin-bottom: 0;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.9), 0 3px 12px rgba(230, 47, 117, 0.12);
}

.page-header.page-header--cart .page-header__accent,
body.woocommerce-cart .page-header__accent {
  position: relative;
  z-index: 2;
  width: 55px;
  height: 2.5px;
  background: var(--brand-gradient-primary, linear-gradient(90deg, #e62f75 0%, #78125c 100%));
  margin: 16px auto 0;
  border-radius: 2px;
}

/* ---- Cart Page Layout Wrapper ---- */
.zaha-cart-wrap,
body.woocommerce-cart .woocommerce,
body.woocommerce-cart .entry-content > .wp-block-woocommerce-cart {
  max-width: 1240px;
  margin: 0 auto 70px;
  padding: 0 24px;
  box-sizing: border-box;
}

/* Fix width constraint on generic page template */
body.woocommerce-cart .collection-page > div[style*="max-width:800px"] {
  max-width: 1240px !important;
  padding: 0 24px !important;
}

/* ---- Gutenberg Cart Block (Modern WooCommerce) 2-Col Grid ---- */
.wp-block-woocommerce-cart.alignwide,
.wp-block-woocommerce-cart,
.wc-block-cart {
  max-width: 1240px;
  margin: 0 auto;
}

/* Column spacing */
.wc-block-cart .wc-block-cart__main,
.wp-block-woocommerce-cart .wc-block-cart__main {
  padding-right: 35px;
}

@media (max-width: 900px) {
  .wc-block-cart .wc-block-cart__main,
  .wp-block-woocommerce-cart .wc-block-cart__main {
    padding-right: 0;
    margin-bottom: 40px;
  }
}

/* Table Column Headers (PRODUCT, TOTAL) */
.wc-block-cart-items thead th,
.woocommerce-cart-form th,
.wc-block-cart-items__header {
  font-family: var(--font-main, 'Jost', sans-serif) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  color: #222 !important;
  border-bottom: 2px solid #ede4e8 !important;
  padding: 12px 0 !important;
}

/* ---- Product Items in Cart ---- */
.wc-block-cart-items .wc-block-cart-items__row,
.woocommerce-cart-form .cart_item {
  border-bottom: 1px solid #f0e6eb !important;
  padding: 24px 0 !important;
  transition: background-color 0.2s ease;
}

.wc-block-cart-item__image img,
.woocommerce-cart-form .product-thumbnail img {
  border-radius: 4px;
  border: 1px solid #f0e6eb;
  object-fit: cover;
}

.wc-block-components-product-name,
.woocommerce-cart-form .product-name a {
  font-family: var(--font-main, 'Jost', sans-serif) !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  color: #1e1418 !important;
  text-decoration: none !important;
  letter-spacing: 0.3px !important;
  transition: color 0.2s ease !important;
}

.wc-block-components-product-name:hover,
.woocommerce-cart-form .product-name a:hover {
  color: var(--brand-primary, #e62f75) !important;
}

/* Product metadata (Size, Color, etc.) */
.wc-block-components-product-metadata,
.woocommerce-cart-form .product-name .variation,
.wc-block-components-product-metadata__item {
  font-size: 12px !important;
  color: #666 !important;
  margin-top: 4px !important;
}

.wc-block-components-product-metadata__item strong {
  color: #222 !important;
  font-weight: 600 !important;
}

/* Product Price Display */
.wc-block-cart-item__prices,
.woocommerce-cart-form .product-price {
  font-family: var(--font-main, 'Jost', sans-serif) !important;
  font-size: 13.5px !important;
}

.wc-block-components-formatted-money-amount {
  font-weight: 600;
  color: #1e1418;
}

/* Struck-through original price */
del .wc-block-components-formatted-money-amount,
.product-price del {
  color: #999 !important;
  font-weight: 400 !important;
  font-size: 12px !important;
  margin-right: 6px !important;
}

/* Sale / Current Price */
ins .wc-block-components-formatted-money-amount,
.product-price ins {
  color: var(--brand-primary, #e62f75) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

/* Savings Badge (Save Rs ...) */
.wc-block-components-product-badge,
.wc-block-components-sale-badge,
.wc-block-cart-item__badge {
  background: #fff0f5 !important;
  color: var(--brand-primary, #e62f75) !important;
  border: 1px solid #fce4ec !important;
  border-radius: 3px !important;
  font-family: var(--font-main, 'Jost', sans-serif) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.4px !important;
  padding: 3px 8px !important;
  margin-top: 4px !important;
  display: inline-block !important;
}

/* Quantity Selector Stepper */
.wc-block-components-quantity-selector {
  border: 1px solid #dfd5da !important;
  border-radius: 3px !important;
  background: #ffffff !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
  color: #444 !important;
  font-weight: 600 !important;
  transition: all 0.2s ease !important;
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover {
  color: var(--brand-primary, #e62f75) !important;
  background: #fff5f8 !important;
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__input {
  font-family: var(--font-main, 'Jost', sans-serif) !important;
  font-weight: 600 !important;
  color: #1e1418 !important;
  font-size: 13px !important;
}

/* Trash / Remove Link */
.wc-block-cart-item__remove-link,
.woocommerce-cart-form a.remove {
  color: #888888 !important;
  transition: color 0.2s ease, transform 0.2s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.wc-block-cart-item__remove-link:hover,
.woocommerce-cart-form a.remove:hover {
  color: var(--brand-primary, #e62f75) !important;
  transform: scale(1.1);
}

.wc-block-cart-item__remove-link svg {
  width: 18px !important;
  height: 18px !important;
}

/* Line Total on the right */
.wc-block-cart-item__total,
.woocommerce-cart-form .product-subtotal {
  font-family: var(--font-main, 'Jost', sans-serif) !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  color: #1e1418 !important;
  text-align: right !important;
}

/* ---- Cart Totals Sidebar Card ---- */
.wc-block-cart__totals-wrapper,
.cart-collaterals .cart_totals {
  background: #fdfafb !important;
  border: 1px solid #ede4e8 !important;
  border-radius: 8px !important;
  padding: 32px 28px !important;
  box-shadow: 0 4px 20px rgba(120, 18, 92, 0.04) !important;
  box-sizing: border-box !important;
}

/* "CART TOTALS" Header */
.wc-block-cart__totals-title,
.cart-collaterals .cart_totals h2 {
  font-family: var(--font-main, 'Jost', sans-serif) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #1e1418 !important;
  padding-bottom: 14px !important;
  margin-bottom: 20px !important;
  border-bottom: 2px solid #ede4e8 !important;
}

/* "Add coupons" Accordion & Toggle */
.wc-block-components-totals-coupon,
.wc-block-components-totals-coupon-container {
  margin-bottom: 18px !important;
}

.wc-block-components-totals-coupon .wc-block-components-panel__button,
.wc-block-components-totals-coupon-link {
  color: var(--brand-primary, #e62f75) !important;
  font-family: var(--font-main, 'Jost', sans-serif) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.wc-block-components-totals-coupon .wc-block-components-panel__button:hover,
.wc-block-components-totals-coupon-link:hover {
  color: var(--brand-secondary, #78125c) !important;
}

/* Coupon Input Field */
.wc-block-components-totals-coupon-input,
.wc-block-components-totals-coupon-input input,
.woocommerce-cart .coupon input.input-text {
  border: 1px solid #dfd5da !important;
  border-radius: 4px !important;
  padding: 12px 14px !important;
  font-family: var(--font-main, 'Jost', sans-serif) !important;
  font-size: 13px !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  background-color: #ffffff !important;
  box-sizing: border-box !important;
  outline: none !important;
}

.wc-block-components-totals-coupon-input:focus-within,
.wc-block-components-totals-coupon-input input:focus,
.woocommerce-cart .coupon input.input-text:focus {
  border-color: var(--brand-primary, #e62f75) !important;
  box-shadow: 0 0 0 3px rgba(230, 47, 117, 0.15) !important;
}

/* =======================================================================
   SIGNATURE GRADIENT: "APPLY" COUPON BUTTON (USER REQUIREMENT)
   ======================================================================= */
.wc-block-components-totals-coupon__button,
.wc-block-components-totals-coupon-container button,
.wc-block-components-totals-coupon-form .wc-block-components-button,
.wc-block-components-totals-coupon-form button[type="submit"],
.wc-block-components-totals-coupon-form button,
.woocommerce-cart .coupon button.button,
.woocommerce-cart .coupon input[type="submit"],
.woocommerce-cart input[name="apply_coupon"],
.woocommerce-cart .coupon .button {
  background: var(--brand-gradient-primary, linear-gradient(135deg, #e62f75 0%, #78125c 100%)) !important;
  color: #ffffff !important;
  font-family: var(--font-main, 'Jost', sans-serif) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 12px 24px !important;
  border: none !important;
  border-radius: 4px !important;
  box-shadow: 0 3px 12px rgba(230, 47, 117, 0.3) !important;
  cursor: pointer !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1.2 !important;
}

.wc-block-components-totals-coupon__button:hover,
.wc-block-components-totals-coupon-container button:hover,
.wc-block-components-totals-coupon-form .wc-block-components-button:hover,
.wc-block-components-totals-coupon-form button[type="submit"]:hover,
.woocommerce-cart .coupon button.button:hover,
.woocommerce-cart .coupon input[type="submit"]:hover,
.woocommerce-cart input[name="apply_coupon"]:hover {
  background: var(--brand-gradient-hover, linear-gradient(135deg, #ff3d85 0%, #e62f75 100%)) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(230, 47, 117, 0.45) !important;
}

/* Totals Line Items (Subtotal, Shipping, Taxes) */
.wc-block-components-totals-item,
.cart-collaterals .cart_totals table tr {
  font-family: var(--font-main, 'Jost', sans-serif) !important;
  font-size: 13.5px !important;
  color: #555 !important;
  padding: 10px 0 !important;
}

/* Estimated total / Final Total */
.wc-block-components-totals-footer-item,
.wc-block-components-totals-item--total,
.cart-collaterals .cart_totals .order-total {
  font-family: var(--font-main, 'Jost', sans-serif) !important;
  border-top: 2px solid #ede4e8 !important;
  padding-top: 18px !important;
  margin-top: 14px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #1e1418 !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-item--total .wc-block-components-totals-item__value,
.cart-collaterals .cart_totals .order-total .woocommerce-Price-amount {
  font-size: 19px !important;
  font-weight: 700 !important;
  color: var(--brand-primary, #e62f75) !important;
}

/* =======================================================================
   SIGNATURE GRADIENT: "[PROCEED TO CHECKOUT]" BUTTON (EXACT MATCH IMAGE 2)
   ======================================================================= */
.wc-block-cart__submit-button,
.wc-block-cart__submit-container .wc-block-components-checkout-button,
.wp-block-woocommerce-cart .wc-block-cart__submit-button,
.wp-block-woocommerce-cart .wc-block-components-checkout-button,
.wc-block-components-checkout-button,
a.wc-block-cart__submit-button,
button.wc-block-cart__submit-button,
.wc-block-cart__submit a,
.wc-block-cart__submit button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart a.checkout-button,
.woocommerce-cart .checkout-button,
.woocommerce-cart .wc-proceed-to-checkout .button,
.woocommerce-cart input.checkout-button {
  background: var(--brand-gradient-primary, linear-gradient(135deg, #e62f75 0%, #78125c 100%)) !important;
  color: #ffffff !important;
  font-family: var(--font-main, 'Jost', sans-serif) !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  padding: 16px 28px !important;
  min-height: 52px !important;
  width: 100% !important;
  border: none !important;
  border-radius: 4px !important;
  box-shadow: 0 4px 18px rgba(230, 47, 117, 0.35) !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  margin-top: 18px !important;
  box-sizing: border-box !important;
}

.wc-block-cart__submit-button:hover,
.wc-block-cart__submit-container .wc-block-components-checkout-button:hover,
.wp-block-woocommerce-cart .wc-block-cart__submit-button:hover,
.wp-block-woocommerce-cart .wc-block-components-checkout-button:hover,
.wc-block-components-checkout-button:hover,
a.wc-block-cart__submit-button:hover,
button.wc-block-cart__submit-button:hover,
.wc-block-cart__submit a:hover,
.wc-block-cart__submit button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart a.checkout-button:hover,
.woocommerce-cart .checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout .button:hover {
  background: var(--brand-gradient-hover, linear-gradient(135deg, #ff3d85 0%, #e62f75 100%)) !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(230, 47, 117, 0.5) !important;
}

.wc-block-cart__submit-button:active,
.woocommerce-cart .checkout-button:active {
  transform: translateY(0) !important;
  box-shadow: 0 2px 10px rgba(230, 47, 117, 0.35) !important;
}

/* ---- Trust Assurances Underneath Checkout Button ---- */
.zaha-cart-trust-badges {
  display: flex;
  justify-content: space-around;
  align-items: center;
  gap: 12px;
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid #ede4e8;
}

.zaha-cart-trust-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  font-size: 10.5px;
  font-weight: 500;
  color: #666;
  letter-spacing: 0.3px;
}

.zaha-cart-trust-item svg {
  width: 18px;
  height: 18px;
  margin-bottom: 4px;
  color: var(--brand-primary, #e62f75);
}

/* Empty Cart State */
.wc-block-cart--is-empty,
.cart-empty {
  text-align: center !important;
  padding: 60px 20px !important;
}

.wc-block-cart--is-empty .wc-block-cart__empty-cart__title,
.cart-empty {
  font-family: var(--font-main, 'Jost', sans-serif) !important;
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  color: #1e1418 !important;
  margin-bottom: 20px !important;
}

.wc-block-cart--is-empty a.button,
.woocommerce-cart p.return-to-shop a.button {
  background: var(--brand-gradient-primary, linear-gradient(135deg, #e62f75 0%, #78125c 100%)) !important;
  color: #ffffff !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  padding: 14px 32px !important;
  border-radius: 4px !important;
  box-shadow: 0 4px 16px rgba(230, 47, 117, 0.3) !important;
  transition: all 0.3s ease !important;
  text-decoration: none !important;
  display: inline-block !important;
}

.wc-block-cart--is-empty a.button:hover,
.woocommerce-cart p.return-to-shop a.button:hover {
  background: var(--brand-gradient-hover, linear-gradient(135deg, #ff3d85 0%, #e62f75 100%)) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(230, 47, 117, 0.45) !important;
}
