/**
 * Dar Al-Amirat — Cart (forced classic layout)
 * Targets custom markup (.dar-cart-*) AND default WC table.
 */

body.woocommerce-cart,
body.dar-cart-body,
.dar-cart-page {
  --cart-purple: #5e2770;
  --cart-purple-hover: #4a154b;
  --cart-lavender: #f9f6fc;
  --cart-card: #ffffff;
  --cart-border: #e2d9ec;
  --cart-ink: #2d1e3a;
  --cart-muted: #6c5f78;
  --cart-danger: #c45b55;
  --cart-radius: 16px;
  background: var(--cart-lavender) !important;
}

.dar-cart-root .dar-page-header,
.dar-cart-root > .entry-header,
.woocommerce-cart .entry-title,
.woocommerce-cart .page-title,
.woocommerce-cart h1.entry-title {
  display: none !important;
}

.dar-cart-page,
.woocommerce-cart .woocommerce {
  color: var(--cart-ink);
  padding: clamp(16px, 3vw, 32px) 0 clamp(48px, 6vw, 80px) !important;
}

.dar-cart-shell,
.woocommerce-cart .woocommerce {
  width: min(100% - 28px, 960px) !important;
  margin-inline: auto !important;
  max-width: 960px !important;
}

/* Banner */
.dar-cart-banner {
  text-align: center;
  background: var(--cart-card);
  border: 1px solid var(--cart-border);
  border-radius: 14px;
  padding: 18px 20px;
  margin-bottom: 20px;
  box-shadow: 0 2px 12px rgba(94, 39, 112, 0.04);
}
.dar-cart-banner__eyebrow { margin: 0 0 6px; color: var(--cart-muted); font-size: 12px; font-weight: 600; }
.dar-cart-banner__title { margin: 0; color: var(--cart-purple); font-size: clamp(1.25rem, 2.5vw, 1.55rem); font-weight: 800; }
.dar-cart-banner__meta { margin: 8px 0 0; color: var(--cart-muted); font-size: 13px; }

.dar-cart-section-title,
.woocommerce-cart .cart_totals h2,
.woocommerce-cart .cross-sells > h2 {
  margin: 0 0 14px !important;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--cart-lavender);
  color: var(--cart-purple) !important;
  font-size: 1.15rem !important;
  font-weight: 800 !important;
}

/* Layout */
.dar-cart-layout,
.woocommerce-cart .woocommerce {
  display: block;
}
.woocommerce-cart .woocommerce-cart-form,
.dar-cart-form {
  margin-bottom: 20px !important;
}

.dar-cart-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.75fr) !important;
  gap: 20px !important;
  align-items: start !important;
}

/* Cards */
.dar-cart-items-card,
.dar-cart-totals,
.woocommerce-cart .cart_totals,
.woocommerce-cart .woocommerce-cart-form {
  background: var(--cart-card) !important;
  border: 1px solid var(--cart-border) !important;
  border-radius: var(--cart-radius) !important;
  padding: 18px !important;
  box-shadow: 0 4px 16px rgba(94, 39, 112, 0.05) !important;
}

.dar-cart-collaterals,
.woocommerce-cart .cart-collaterals {
  position: sticky;
  top: 96px;
}

/* ========== Custom item rows ========== */
.dar-cart-items { display: flex; flex-direction: column; gap: 0; }
.dar-cart-item {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 16px 0;
  border-bottom: 1px solid #f0eaf5;
}
.dar-cart-item:last-child { border-bottom: 0; }
.dar-cart-item__media { flex: 0 0 72px; }
.dar-cart-item__img,
.dar-cart-item__media img {
  display: block !important;
  width: 72px !important;
  height: 72px !important;
  object-fit: contain !important;
  border-radius: 12px !important;
  background: var(--cart-lavender) !important;
  border: 1px solid var(--cart-border) !important;
  padding: 4px;
}
.dar-cart-item__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.dar-cart-item__title {
  display: block;
  color: var(--cart-ink) !important;
  font-size: 0.95rem;
  font-weight: 700;
  text-decoration: none !important;
  line-height: 1.4;
}
.dar-cart-item__cat { display: block; margin-top: 4px; color: var(--cart-muted); font-size: 0.8rem; }
.dar-cart-item__unit { margin-top: 6px; color: var(--cart-purple); font-size: 0.9rem; font-weight: 800; }
.dar-cart-item__controls { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
.dar-cart-item__line { margin-inline-start: auto; font-weight: 800; }
.dar-cart-item__remove-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
  color: var(--cart-danger) !important;
  font-size: 0.82rem !important;
  font-weight: 600;
  text-decoration: none !important;
  background: none !important;
  border: 0 !important;
}

/* ========== Default WC TABLE → card rows ========== */
.woocommerce-cart table.shop_table.cart,
.woocommerce-cart table.woocommerce-cart-form__contents {
  width: 100% !important;
  border: 0 !important;
  border-collapse: collapse !important;
  background: transparent !important;
}
.woocommerce-cart table.shop_table.cart thead {
  display: none !important; /* mobile-like headerless cards */
}
.woocommerce-cart table.shop_table.cart tr.cart_item,
.woocommerce-cart table.shop_table.cart tr.woocommerce-cart-form__cart-item {
  display: grid !important;
  grid-template-columns: 72px minmax(0, 1fr) !important;
  grid-template-areas:
    "thumb info"
    "thumb controls" !important;
  gap: 8px 14px !important;
  padding: 16px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #f0eaf5 !important;
  background: transparent !important;
}
.woocommerce-cart table.shop_table.cart td {
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  display: block !important;
}
.woocommerce-cart table.shop_table.cart td.product-remove { grid-area: controls; }
.woocommerce-cart table.shop_table.cart td.product-thumbnail {
  grid-area: thumb;
}
.woocommerce-cart table.shop_table.cart td.product-thumbnail img {
  width: 72px !important;
  height: 72px !important;
  object-fit: contain !important;
  border-radius: 12px !important;
  background: var(--cart-lavender) !important;
  border: 1px solid var(--cart-border) !important;
}
.woocommerce-cart table.shop_table.cart td.product-name {
  grid-area: info;
  font-weight: 700;
  font-size: 0.95rem;
}
.woocommerce-cart table.shop_table.cart td.product-name a {
  color: var(--cart-ink) !important;
  text-decoration: none !important;
}
.woocommerce-cart table.shop_table.cart td.product-price {
  grid-area: info;
  color: var(--cart-purple) !important;
  font-weight: 800 !important;
  font-size: 0.9rem !important;
  margin-top: 4px;
}
.woocommerce-cart table.shop_table.cart td.product-quantity,
.woocommerce-cart table.shop_table.cart td.product-subtotal {
  grid-area: controls;
}
.woocommerce-cart table.shop_table.cart td.product-subtotal {
  font-weight: 800 !important;
}
.woocommerce-cart table.shop_table.cart td.product-remove .remove {
  float: none !important;
  width: auto !important;
  height: auto !important;
  color: var(--cart-danger) !important;
  background: none !important;
  border: 0 !important;
  font-size: 0.85rem !important;
  text-decoration: none !important;
}

/* Actions row */
.woocommerce-cart table.shop_table.cart tr.dar-cart-actions-row,
.woocommerce-cart table.shop_table.cart tr:has(td.actions) {
  display: block !important;
  border: 0 !important;
  padding-top: 14px !important;
}
.woocommerce-cart table.shop_table.cart td.actions {
  display: block !important;
  width: 100% !important;
  padding-top: 14px !important;
  border-top: 1px solid #f0eaf5 !important;
}

.dar-cart-actions,
.woocommerce-cart td.actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: center !important;
}
.dar-cart-coupon,
.woocommerce-cart .coupon {
  display: flex !important;
  flex: 1 1 220px !important;
  gap: 8px !important;
}
.woocommerce-cart .coupon input.input-text,
.dar-cart-coupon .input-text {
  flex: 1 !important;
  min-height: 42px !important;
  border: 1.5px solid var(--cart-border) !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: none !important;
}
.woocommerce-cart .coupon button,
.woocommerce-cart button[name="update_cart"],
.dar-cart-coupon__btn,
.dar-cart-update {
  min-height: 42px !important;
  padding: 0 16px !important;
  border-radius: 10px !important;
  border: 1.5px solid var(--cart-border) !important;
  background: var(--cart-lavender) !important;
  color: var(--cart-purple) !important;
  font-weight: 700 !important;
}

/* Quantity */
.woocommerce-cart .quantity,
.dar-cart-page .quantity {
  display: inline-flex !important;
  align-items: stretch !important;
  background: var(--cart-lavender) !important;
  border: 1px solid var(--cart-border) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
}
.woocommerce-cart .quantity .qty,
.dar-cart-page .quantity .qty {
  width: 40px !important;
  min-height: 36px !important;
  border: 0 !important;
  background: transparent !important;
  text-align: center !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}

/* Totals */
.woocommerce-cart .cart_totals table {
  width: 100% !important;
  border: 0 !important;
}
.woocommerce-cart .cart_totals th,
.woocommerce-cart .cart_totals td {
  border: 0 !important;
  background: transparent !important;
  padding: 10px 0 !important;
}
.woocommerce-cart .cart_totals th {
  color: var(--cart-muted) !important;
  font-weight: 600 !important;
  text-align: start !important;
}
.woocommerce-cart .cart_totals td {
  text-align: end !important;
  font-weight: 700 !important;
}
.woocommerce-cart .cart_totals tr.order-total th,
.woocommerce-cart .cart_totals tr.order-total td {
  border-top: 1px dashed var(--cart-border) !important;
  color: var(--cart-purple) !important;
  font-size: 1.08rem !important;
  font-weight: 800 !important;
  padding-top: 14px !important;
}

.woocommerce-cart .wc-proceed-to-checkout {
  margin: 12px 0 0 !important;
  padding: 0 !important;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce-cart a.checkout-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 48px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: var(--cart-purple) !important;
  color: #fff !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  box-shadow: 0 8px 20px rgba(94, 39, 112, 0.22) !important;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
  background: var(--cart-purple-hover) !important;
  color: #fff !important;
}

.dar-cart-continue {
  display: block;
  margin-top: 12px;
  text-align: center;
  color: var(--cart-muted) !important;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none !important;
}

/* Empty */
.dar-cart-empty,
.woocommerce-cart .cart-empty {
  text-align: center;
  background: var(--cart-card);
  border: 1px solid var(--cart-border);
  border-radius: var(--cart-radius);
  padding: 48px 24px;
}
.dar-cart-empty__cta,
.woocommerce-cart .return-to-shop .button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 28px !important;
  border-radius: 999px !important;
  background: var(--cart-purple) !important;
  color: #fff !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  border: 0 !important;
}

/* Two-column collaterals on desktop for default WC structure */
@media (min-width: 861px) {
  .woocommerce-cart .woocommerce {
    display: grid !important;
    grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.75fr) !important;
    gap: 20px !important;
    align-items: start !important;
  }
  .woocommerce-cart .woocommerce-cart-form {
    grid-column: 1;
  }
  .woocommerce-cart .cart-collaterals {
    grid-column: 2;
    grid-row: 1;
  }
}

@media (max-width: 860px) {
  .dar-cart-layout {
    grid-template-columns: 1fr !important;
  }
  .dar-cart-collaterals,
  .woocommerce-cart .cart-collaterals {
    position: static !important;
  }
  .woocommerce-cart .woocommerce {
    display: block !important;
  }
}


/* Long product names — clamp inside card */
.dar-cart-item__title,
.woocommerce-cart table.shop_table.cart td.product-name a,
.woocommerce-cart table.shop_table.cart td.product-name {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
  line-height: 1.4 !important;
}
.dar-cart-item__info,
.dar-cart-item__body {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
.dar-cart-item {
  max-width: 100% !important;
}

/* Hide coupon UI for now (can re-enable later) */
.dar-cart-coupon,
.woocommerce-cart .coupon,
.woocommerce-cart td.actions .coupon,
.woocommerce-cart button[name="apply_coupon"],
.woocommerce-cart input[name="coupon_code"] {
  display: none !important;
}


/* Cart suggestions */
.dar-cart-suggestions {
  width: min(100% - 28px, 960px);
  margin: 24px auto 0;
  background: #fff;
  border: 1px solid #e2d9ec;
  border-radius: 16px;
  padding: 18px;
  box-shadow: 0 4px 16px rgba(94, 39, 112, 0.05);
}
.dar-cart-page--empty .dar-cart-suggestions {
  margin-top: 20px;
}
.dar-cart-suggestions__grid {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
}
.dar-cart-suggestions__grid .dar-product-card {
  height: 100%;
}
@media (max-width: 900px) {
  .dar-cart-suggestions__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Mobile cart item controls order */
@media (max-width: 767px) {
  .dar-cart-item {
    flex-wrap: wrap;
  }
  .dar-cart-item__controls {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-areas:
      "qty line"
      "actions actions" !important;
    gap: 10px 12px !important;
    width: 100% !important;
    align-items: center !important;
  }
  .dar-cart-item__qty { grid-area: qty; }
  .dar-cart-item__line {
    grid-area: line;
    text-align: end !important;
    margin-inline-start: 0 !important;
    font-size: 0.95rem;
  }
  .dar-cart-item__remove {
    grid-area: actions;
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px !important;
    align-items: center;
    justify-content: flex-start !important;
  }
  .dar-cart-item__save {
    order: 1;
    margin: 0 !important;
    min-height: 36px;
    padding: 0 12px !important;
    border-radius: 999px !important;
    background: #f5eef8 !important;
    color: #5e2770 !important;
    text-decoration: none !important;
    border: 0 !important;
    font-size: 0.8rem !important;
  }
  .dar-cart-item__remove-btn {
    order: 2;
    min-height: 36px;
    padding: 0 12px !important;
    border-radius: 999px !important;
    background: #fbeeee !important;
    color: #c45b55 !important;
  }
  .dar-cart-update {
    width: 100%;
  }
}


/* Cart item — compact row, totals never clip */
.dar-cart-item__line,
.woocommerce-cart td.product-subtotal {
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: unset !important;
  font-size: 0.88rem !important;
  font-weight: 800 !important;
  max-width: none !important;
}
.dar-cart-item__body {
  min-width: 0;
  flex: 1;
}
.dar-cart-item__controls {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px 10px !important;
}
.dar-cart-item__remove {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}
.dar-cart-item__save,
.dar-cart-item__remove-btn {
  min-height: 32px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  font-size: 0.75rem !important;
  white-space: nowrap !important;
}
.dar-cart-item__save {
  background: #f5eef8 !important;
  color: #5e2770 !important;
  border: 0 !important;
  text-decoration: none !important;
  margin: 0 !important;
}
.dar-cart-item__remove-btn {
  background: #fbeeee !important;
  color: #c45b55 !important;
}

@media (max-width: 767px) {
  .dar-cart-item {
    display: grid !important;
    grid-template-columns: 64px minmax(0, 1fr) !important;
    gap: 10px 12px !important;
    align-items: start !important;
  }
  .dar-cart-item__media { grid-column: 1; grid-row: 1 / span 2; }
  .dar-cart-item__body {
    grid-column: 2;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }
  .dar-cart-item__controls {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    grid-template-areas:
      "qty total"
      "actions actions" !important;
    gap: 8px !important;
    width: 100% !important;
  }
  .dar-cart-item__qty { grid-area: qty; }
  .dar-cart-item__line {
    grid-area: total;
    text-align: end !important;
    justify-self: end;
    font-size: 0.85rem !important;
  }
  .dar-cart-item__remove {
    grid-area: actions;
    width: 100%;
  }
}

/* Suggestions — real product grid, not stick-like */
.dar-cart-suggestions {
  width: min(100% - 28px, 960px) !important;
  margin: 28px auto 8px !important;
  padding: 20px 16px !important;
  background: #fff !important;
  border: 1px solid #e2d9ec !important;
  border-radius: 18px !important;
}
.dar-cart-suggestions .dar-cart-section-title {
  margin-bottom: 16px !important;
}
.dar-cart-suggestions__grid,
.dar-cart-suggestions ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}
.dar-cart-suggestions__grid > li,
.dar-cart-suggestions ul.products > li {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}
.dar-cart-suggestions .dar-product-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  background: #faf7fc !important;
  border: 1px solid #efe6f5 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  padding: 0 !important;
}
.dar-cart-suggestions .dar-product-media,
.dar-cart-suggestions .dar-product-image-wrap {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  background: #fff !important;
}
.dar-cart-suggestions .dar-product-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}
.dar-cart-suggestions .dar-product-body {
  padding: 10px 10px 12px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  flex: 1 !important;
}
.dar-cart-suggestions .dar-product-title {
  font-size: 0.82rem !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.dar-cart-suggestions .dar-product-price {
  font-size: 0.85rem !important;
  font-weight: 800 !important;
  color: #5e2770 !important;
}
.dar-cart-suggestions .dar-add-to-cart,
.dar-cart-suggestions .button {
  margin-top: auto !important;
  width: 100% !important;
  min-height: 36px !important;
  font-size: 0.75rem !important;
  border-radius: 999px !important;
}
@media (max-width: 900px) {
  .dar-cart-suggestions__grid,
  .dar-cart-suggestions ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}


/* ===== Cart suggestions cards v0.30.30 ===== */
.dar-cart-suggestions {
  width: min(100% - 28px, 960px) !important;
  margin: 28px auto 16px !important;
  padding: 20px 16px 18px !important;
  background: #fff !important;
  border: 1px solid #e2d9ec !important;
  border-radius: 18px !important;
  box-shadow: 0 4px 16px rgba(94, 39, 112, 0.05) !important;
  box-sizing: border-box !important;
}
.dar-cart-suggestions__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.dar-cart-suggestions .dar-cart-section-title {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: #5e2770 !important;
  font-size: 1.1rem !important;
  font-weight: 800 !important;
}
.dar-cart-suggestions__all {
  color: #5e2770 !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
.dar-cart-suggestions__grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}
.dar-suggest-card {
  display: flex !important;
  flex-direction: column !important;
  background: #faf7fc !important;
  border: 1px solid #efe6f5 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  min-width: 0 !important;
  height: 100% !important;
}
.dar-suggest-card__media {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  background: #fff !important;
  overflow: hidden !important;
}
.dar-suggest-card__img,
.dar-suggest-card__media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  margin: 0 !important;
  border: 0 !important;
}
.dar-suggest-card__body {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  padding: 10px 10px 12px !important;
  flex: 1 1 auto !important;
}
.dar-suggest-card__title {
  margin: 0 !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  color: #2d1e3a !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.dar-suggest-card__title a { color: inherit !important; text-decoration: none !important; }
.dar-suggest-card__price { color: #5e2770 !important; font-size: 0.88rem !important; font-weight: 800 !important; }
.dar-suggest-card__btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: auto !important;
  min-height: 36px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  background: #5e2770 !important;
  color: #fff !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  border: 0 !important;
}
@media (max-width: 900px) {
  .dar-cart-suggestions__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
