/* SoftHust Cart v2.1.0 */

/* ─── Page Reset ─────────────────────────────── */
body.sh-shopify-cart-active { background:#fff !important; }

body.sh-shopify-cart-active .entry-title,
body.sh-shopify-cart-active .page-title,
body.sh-shopify-cart-active .page-header,
body.sh-shopify-cart-active .breadcrumb,
body.sh-shopify-cart-active .breadcrumbs,
body.sh-shopify-cart-active .woocommerce-breadcrumb { display:none !important; }

body.sh-shopify-cart-active .site-main,
body.sh-shopify-cart-active .entry-content,
body.sh-shopify-cart-active .content-area,
body.sh-shopify-cart-active .container,
body.sh-shopify-cart-active .container-fluid {
  width:100% !important; max-width:none !important;
  margin:0 !important; padding:0 !important;
}

/* ─── Shell ──────────────────────────────────── */
.sh-cart-shell {
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:#222; font-size:15px; background:#fff;
}
.sh-cart-shell * { box-sizing:border-box; }

/* ─── Cart Layout: 2 col ─────────────────────── */
.sh-cart-wrap {
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  max-width:1200px;
  margin:0 auto;
}

.sh-cart-main {
  padding:40px 48px 56px;
  border-right:1px solid #ebebeb;
}

.sh-cart-header { display:flex; align-items:baseline; gap:12px; margin:0 0 32px; }
.sh-cart-header h2 {
  margin:0; padding:0;
  font-size:22px; font-weight:600; color:#111;
  letter-spacing:-.02em; text-transform:none;
}
.sh-item-count { font-size:13px; color:#999; }

/* ─── Cart Item ──────────────────────────────── */
.sh-item {
  display:grid;
  grid-template-columns:80px 1fr;
  gap:16px;
  padding:20px 0;
  border-bottom:1px solid #f0f0f0;
  align-items:start;
}
.sh-item:first-of-type { padding-top:0; }

.sh-item-img img {
  width:80px; height:80px;
  object-fit:cover;
  border-radius:8px;
  border:1px solid #eee;
  display:block;
}

.sh-item-body { display:flex; flex-direction:column; gap:10px; }
.sh-item-row1 { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }

.sh-item-name { font-size:14px; font-weight:500; line-height:1.4; }
.sh-item-name a { color:#111; text-decoration:none; }
.sh-item-name a:hover { color:#6E2A3C; }

.sh-item-body .variation,
.sh-item-body dl.variation { margin:3px 0 0; font-size:12px; color:#999; }
.sh-item-body dl.variation { display:block; }
.sh-item-body dl.variation dt,
.sh-item-body dl.variation dd { display:inline; margin:0; padding:0; font-weight:400; }
.sh-item-body dl.variation dt::after { content:": "; }
.sh-item-body dl.variation dd::after { content:" · "; }
.sh-item-body dl.variation dd:last-of-type::after { content:""; }

.sh-item-price { font-size:13px; color:#999; white-space:nowrap; }
.sh-item-row2 { display:flex; align-items:center; gap:14px; }

/* Qty stepper */
.sh-qty {
  display:inline-flex; align-items:center;
  border:1px solid #ddd; border-radius:7px;
  overflow:hidden; background:#fff; height:34px;
}
.sh-qty-btn {
  display:flex; align-items:center; justify-content:center;
  width:30px; height:34px;
  background:none; border:0;
  font-size:17px; color:#555; cursor:pointer;
  transition:background .15s;
}
.sh-qty-btn:hover { background:#f5f5f5; color:#111; }
.sh-qty-input {
  width:36px; height:34px;
  border:0; border-left:1px solid #ddd; border-right:1px solid #ddd;
  text-align:center; font-size:14px; font-weight:600;
  background:transparent; color:#111;
  -moz-appearance:textfield; padding:0;
}
.sh-qty-input::-webkit-inner-spin-button,
.sh-qty-input::-webkit-outer-spin-button { -webkit-appearance:none; }
.sh-qty-fixed { font-size:14px; color:#555; padding:0 10px; }

.sh-item-subtotal { font-size:14px; font-weight:700; color:#111; margin-left:auto; }

.sh-remove {
  display:flex; align-items:center; justify-content:center;
  width:24px; height:24px;
  border:1px solid #ccc; border-radius:50%;
  color:#666; text-decoration:none; flex-shrink:0;
  transition:all .15s;
}
.sh-remove:hover { border-color:#111; color:#111; }
.sh-remove svg { display:block; }

/* ─── Coupon + Update ────────────────────────── */
.sh-form-footer {
  display:flex; align-items:center; gap:10px;
  padding:22px 0 0; flex-wrap:wrap;
}
.sh-coupon { display:flex; flex:1; gap:8px; min-width:0; }
.sh-coupon .input-text {
  flex:1; height:42px; padding:0 13px;
  border:1px solid #ddd; border-radius:8px;
  font-size:14px; outline:none;
  background:#fff; color:#222;
}
.sh-coupon .input-text:focus { border-color:#6E2A3C; }
.sh-btn-ghost {
  height:42px; padding:0 18px;
  border:1px solid #ddd; border-radius:8px;
  background:#fff; color:#555;
  font-size:13px; font-weight:600;
  cursor:pointer; white-space:nowrap;
  transition:all .15s;
}
.sh-btn-ghost:hover { border-color:#111; color:#111; }

/* ─── Notices ────────────────────────────────── */
body.sh-shopify-cart-active .woocommerce-message,
body.sh-shopify-cart-active .woocommerce-error,
body.sh-shopify-cart-active .woocommerce-info {
  border-left:3px solid #6E2A3C;
  border-radius:8px; padding:10px 14px;
  margin:0 0 20px; font-size:14px;
  list-style:none; background:#fdf5f6;
}
body.sh-shopify-cart-active .woocommerce-message a.button { display:none; }

/* ─── Right: Order Summary ───────────────────── */
.sh-summary { background:#fafafa; padding:40px 32px 56px; }
.sh-summary-inner { position:sticky; top:20px; }

.sh-summary-title {
  margin:0 0 20px; padding:0;
  font-size:18px; font-weight:600; color:#111; letter-spacing:-.01em;
}

/* WC cart_totals */
body.sh-shopify-cart-active .sh-summary .cart_totals { margin:0; padding:0; }
body.sh-shopify-cart-active .sh-summary .cart_totals h2 { display:none !important; }
body.sh-shopify-cart-active .sh-summary .cart_totals table {
  width:100%; border:0; border-collapse:collapse; margin:0 0 20px;
}
body.sh-shopify-cart-active .sh-summary .cart_totals table tr { background:transparent !important; border:0 !important; }
body.sh-shopify-cart-active .sh-summary .cart_totals table th,
body.sh-shopify-cart-active .sh-summary .cart_totals table td {
  padding:10px 0; border:0; border-bottom:1px solid #eee;
  font-size:14px; color:#555; background:transparent; vertical-align:middle;
}
body.sh-shopify-cart-active .sh-summary .cart_totals table th { font-weight:500; text-align:left; width:55%; }
body.sh-shopify-cart-active .sh-summary .cart_totals table td { text-align:right; }
body.sh-shopify-cart-active .sh-summary .cart_totals .order-total th,
body.sh-shopify-cart-active .sh-summary .cart_totals .order-total td {
  font-size:17px; font-weight:700; color:#111; padding-top:16px; border-bottom:0;
}
/* Keep WC proceed button hidden — we have our own */
body.sh-shopify-cart-active .sh-summary .wc-proceed-to-checkout { display:none !important; }

/* Our checkout button */
.sh-checkout-btn {
  display:flex; align-items:center; justify-content:center;
  width:100%; height:50px;
  background:#111; color:#fff;
  border:0; border-radius:9px;
  font-size:15px; font-weight:600;
  text-decoration:none; transition:background .2s;
  margin-bottom:12px;
}
.sh-checkout-btn:hover { background:#6E2A3C; color:#fff; }

.sh-back-link {
  display:block; text-align:center;
  font-size:13px; color:#888; text-decoration:none; margin-bottom:16px;
}
.sh-back-link:hover { color:#111; }

.sh-secure {
  display:flex; align-items:center; justify-content:center;
  gap:6px; font-size:12px; color:#bbb; margin:0;
}

/* ─── Checkout Section Separator ─────────────── */
.sh-checkout-section-divider {
  max-width:1200px;
  margin:0 auto;
  padding:40px 48px 0;
  border-top:2px solid #f0f0f0;
}
.sh-checkout-section-divider h2 {
  font-size:22px; font-weight:600; color:#111;
  letter-spacing:-.02em; margin:0 0 28px;
  text-transform:none !important;
}

/* ─── Responsive ─────────────────────────────── */
@media (max-width:860px) {
  .sh-cart-wrap { grid-template-columns:1fr; }
  .sh-summary { order:-1; padding:24px 20px; border-bottom:1px solid #ebebeb; }
  .sh-summary-inner { position:static; }
  .sh-cart-main { padding:28px 20px 40px; border-right:0; }
  .sh-checkout-section-divider { padding:32px 20px 0; }
}
@media (max-width:500px) {
  .sh-item { grid-template-columns:68px 1fr; gap:12px; }
  .sh-item-img img { width:68px; height:68px; }
  .sh-form-footer { flex-direction:column; align-items:stretch; }
  .sh-coupon { flex:none; }
  .sh-btn-ghost.sh-update-btn { width:100%; text-align:center; }
}

/* ─── v2.1.1 Fixes ───────────────────────────── */

/* Qty stepper — force override theme styles */
body.sh-shopify-cart-active .sh-qty {
  display:inline-flex !important;
  align-items:center !important;
  border:1px solid #d0d0d0 !important;
  border-radius:7px !important;
  overflow:hidden !important;
  background:#fff !important;
  height:36px !important;
  width:auto !important;
  padding:0 !important;
  box-shadow:none !important;
}

body.sh-shopify-cart-active .sh-qty-btn {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:32px !important;
  height:36px !important;
  min-width:32px !important;
  min-height:0 !important;
  background:#fff !important;
  border:0 !important;
  border-radius:0 !important;
  font-size:18px !important;
  font-weight:400 !important;
  color:#444 !important;
  cursor:pointer !important;
  padding:0 !important;
  margin:0 !important;
  line-height:1 !important;
  box-shadow:none !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}
body.sh-shopify-cart-active .sh-qty-btn:hover {
  background:#f5f5f5 !important;
  color:#111 !important;
}

body.sh-shopify-cart-active .sh-qty-input {
  width:38px !important;
  height:36px !important;
  border:0 !important;
  border-left:1px solid #e0e0e0 !important;
  border-right:1px solid #e0e0e0 !important;
  border-radius:0 !important;
  text-align:center !important;
  font-size:14px !important;
  font-weight:600 !important;
  background:#fff !important;
  color:#111 !important;
  padding:0 !important;
  margin:0 !important;
  box-shadow:none !important;
  -moz-appearance:textfield !important;
}
body.sh-shopify-cart-active .sh-qty-input::-webkit-inner-spin-button,
body.sh-shopify-cart-active .sh-qty-input::-webkit-outer-spin-button { -webkit-appearance:none !important; }

/* Remove X button — force show */
body.sh-shopify-cart-active .sh-remove {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:26px !important;
  height:26px !important;
  min-width:26px !important;
  border:1.5px solid #bbb !important;
  border-radius:50% !important;
  background:#fff !important;
  color:#555 !important;
  text-decoration:none !important;
  flex-shrink:0 !important;
  visibility:visible !important;
  opacity:1 !important;
}
body.sh-shopify-cart-active .sh-remove:hover {
  border-color:#111 !important;
  color:#111 !important;
}
body.sh-shopify-cart-active .sh-remove svg {
  display:block !important;
  width:11px !important;
  height:11px !important;
}

/* ─── v2.1.3 — Button + Footer fixes ────────── */

/* Fix form footer layout: coupon left, update bag right */
body.sh-shopify-cart-active .sh-form-footer {
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  padding:20px 0 0 !important;
  flex-wrap:wrap !important;
}
body.sh-shopify-cart-active .sh-coupon {
  display:flex !important;
  flex:1 !important;
  align-items:center !important;
  gap:8px !important;
  min-width:0 !important;
}

/* Apply + Update bag — same style, aligned */
html body.sh-shopify-cart-active .sh-cart-shell .sh-coupon {
  display:flex !important;
  align-items:center !important;
  flex:1 !important;
  gap:8px !important;
  min-width:0 !important;
}
html body.sh-shopify-cart-active .sh-cart-shell .sh-coupon .input-text {
  flex:1 !important;
  height:42px !important;
  min-height:42px !important;
  padding:0 13px !important;
  margin:0 !important;
  border:1px solid #d0d0d0 !important;
  border-radius:8px !important;
  background:#fff !important;
  color:#222 !important;
  font-size:14px !important;
  box-shadow:none !important;
  outline:none !important;
  vertical-align:middle !important;
}
/* Both buttons — identical ghost style */
html body.sh-shopify-cart-active .sh-cart-shell button[name="apply_coupon"],
html body.sh-shopify-cart-active .sh-cart-shell button.sh-update-btn {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:42px !important;
  min-height:42px !important;
  padding:0 18px !important;
  margin:0 !important;
  border:1px solid #d0d0d0 !important;
  border-radius:8px !important;
  background:#ffffff !important;
  background-color:#ffffff !important;
  background-image:none !important;
  color:#444444 !important;
  font-size:13px !important;
  font-weight:600 !important;
  font-family:inherit !important;
  line-height:42px !important;
  cursor:pointer !important;
  white-space:nowrap !important;
  text-decoration:none !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  box-shadow:none !important;
  outline:none !important;
  -webkit-appearance:none !important;
  appearance:none !important;
  float:none !important;
  opacity:1 !important;
  vertical-align:middle !important;
}
html body.sh-shopify-cart-active .sh-cart-shell button[name="apply_coupon"]:hover,
html body.sh-shopify-cart-active .sh-cart-shell button.sh-update-btn:hover {
  border-color:#111111 !important;
  color:#111111 !important;
  background:#ffffff !important;
  background-color:#ffffff !important;
}


/* Coupon input */
body.sh-shopify-cart-active .sh-coupon .input-text {
  flex:1 !important;
  height:42px !important;
  min-height:42px !important;
  padding:0 13px !important;
  margin:0 !important;
  border:1px solid #ddd !important;
  border-radius:8px !important;
  font-size:14px !important;
  background:#fff !important;
  color:#222 !important;
  box-shadow:none !important;
  outline:none !important;
}
body.sh-shopify-cart-active .sh-coupon .input-text:focus {
  border-color:#6E2A3C !important;
  box-shadow:none !important;
}

/* ─── v2.1.2 — Remove X force fix ──────────── */
body.sh-shopify-cart-active .sh-remove {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:26px !important;
  height:26px !important;
  min-width:26px !important;
  border:1.5px solid #999 !important;
  border-radius:50% !important;
  background:#fff !important;
  color:#111 !important;
  fill:#111 !important;
  text-decoration:none !important;
  flex-shrink:0 !important;
  visibility:visible !important;
  opacity:1 !important;
  position:relative !important;
  overflow:visible !important;
  z-index:1 !important;
}
body.sh-shopify-cart-active .sh-remove:hover {
  border-color:#111 !important;
  background:#f5f5f5 !important;
}
body.sh-shopify-cart-active .sh-remove svg {
  display:block !important;
  width:11px !important;
  height:11px !important;
  overflow:visible !important;
  visibility:visible !important;
  opacity:1 !important;
  flex-shrink:0 !important;
}
body.sh-shopify-cart-active .sh-remove svg path {
  stroke:#111 !important;
  stroke-width:1.6px !important;
  fill:none !important;
  visibility:visible !important;
  opacity:1 !important;
}
