#gohartools-cart-root {
  --gt-gold: #d5aa24;
  --gt-gold-dark: #9f7911;
  --gt-ink: #181818;
  --gt-muted: #747474;
  --gt-line: #e9e9e9;
  --gt-surface: #ffffff;
  --gt-bg: #f7f7f5;
  --gt-danger: #d13c3c;
  direction: rtl;
  text-align: right;
  position: relative;
  font-family: inherit;
}

#gohartools-cart-root *, #gohartools-cart-root *::before, #gohartools-cart-root *::after { box-sizing: border-box; }
.gt-cart-shell { max-width: 1240px; margin: 24px auto 70px; padding: 0 20px; color: var(--gt-ink); }
.gt-cart-progress { display: grid; grid-template-columns: auto minmax(30px, 160px) auto minmax(30px, 160px) auto; align-items: center; justify-content: center; gap: 14px; padding: 18px 22px; margin-bottom: 28px; background: #fff; border: 1px solid var(--gt-line); border-radius: 18px; }
.gt-cart-progress > i { display: block; height: 2px; background: #ececec; }
.gt-step { display: flex; align-items: center; gap: 9px; color: #a0a0a0; white-space: nowrap; }
.gt-step span { width: 34px; height: 34px; border: 1px solid #dedede; border-radius: 50%; display: grid; place-items: center; font-weight: 800; background: #fff; }
.gt-step strong { font-size: 13px; }
.gt-step.is-active { color: var(--gt-ink); }
.gt-step.is-active span { color: #fff; border-color: var(--gt-gold); background: var(--gt-gold); box-shadow: 0 8px 20px rgba(213,170,36,.25); }
.gt-cart-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.gt-eyebrow { color: var(--gt-gold-dark); font-size: 12px; font-weight: 800; }
.gt-cart-hero h1 { font-size: clamp(27px, 3vw, 42px); margin: 5px 0 6px; line-height: 1.2; }
.gt-cart-hero p { margin: 0; color: var(--gt-muted); font-size: 14px; }
.gt-back-shop { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 17px; border: 1px solid var(--gt-line); border-radius: 12px; color: var(--gt-ink); background: #fff; font-weight: 700; font-size: 13px; }
.gt-cart-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(320px, .75fr); align-items: start; gap: 22px; }
.gt-cart-products, .gt-order-summary { background: var(--gt-surface); border: 1px solid var(--gt-line); border-radius: 22px; box-shadow: 0 14px 45px rgba(0,0,0,.04); }
.gt-cart-products { overflow: hidden; }
.gt-card-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 22px 24px; border-bottom: 1px solid var(--gt-line); }
.gt-card-heading h2, .gt-order-summary h2 { margin: 0; font-size: 19px; }
.gt-card-heading p { margin: 6px 0 0; color: var(--gt-muted); font-size: 12px; }
.gt-clear-cart { border: 0; padding: 7px 0; background: transparent; color: var(--gt-danger); cursor: pointer; font-weight: 800; font-size: 12px; }
.gt-cart-items { padding: 4px 24px; }
.gt-cart-item { display: grid; grid-template-columns: 132px minmax(0,1fr); gap: 18px; padding: 22px 0; border-bottom: 1px solid var(--gt-line); }
.gt-cart-item:last-child { border-bottom: 0; }
.gt-product-image { background: #f6f6f4; border-radius: 16px; overflow: hidden; aspect-ratio: 1 / 1; }
.gt-product-image a, .gt-product-image img { display: block; width: 100%; height: 100%; }
.gt-product-image img { object-fit: cover; }
.gt-product-content { min-width: 0; display: flex; flex-direction: column; justify-content: space-between; gap: 16px; }
.gt-product-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.gt-product-title-wrap { min-width: 0; }
.gt-product-category, .gt-product-category a { color: var(--gt-gold-dark); font-size: 11px; font-weight: 700; }
.gt-product-title-wrap h3 { margin: 5px 0 0; font-size: 15px; line-height: 1.8; }
.gt-product-title-wrap h3 a { color: var(--gt-ink); }
.gt-remove-item { flex: 0 0 36px; width: 36px; height: 36px; display: grid; place-items: center; padding: 0!important; border: 1px solid #ededed; background: #fff; border-radius: 11px; color: #8c8c8c; cursor: pointer; transition: .2s ease; }
.gt-remove-item:hover { color: #fff; border-color: var(--gt-danger); background: var(--gt-danger); }
.gt-remove-item svg { width: 18px; height: 18px; }
.gt-product-meta { color: var(--gt-muted); font-size: 12px; }
.gt-product-meta dl.variation, .gt-product-meta ul.variation { display: flex; flex-wrap: wrap; gap: 5px 12px; margin: 0; padding: 0; list-style: none; }
.gt-product-meta dt, .gt-product-meta dd, .gt-product-meta li, .gt-product-meta p { display: inline; margin: 0; }
.gt-product-bottom { display: flex; align-items: flex-end; justify-content: space-between; gap: 15px; }
.gt-quantity { display: inline-flex; align-items: center; gap: 0; height: 42px; border: 1px solid #dedede; border-radius: 12px; overflow: hidden; background: #fff; }
.gt-qty-btn { width: 39px; height: 100%; border: 0; background: #f7f7f5; color: var(--gt-ink); cursor: pointer; font-size: 19px; font-weight: 600; }
.gt-quantity .quantity { margin: 0 !important; width: 48px !important; height: 100%; }
.gt-quantity .quantity .minus, .gt-quantity .quantity .plus { display: none !important; }
.gt-quantity input.qty { width: 48px !important; height: 100% !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; text-align: center; background: #fff !important; font-weight: 800; appearance: textfield; }
.gt-quantity input.qty::-webkit-outer-spin-button, .gt-quantity input.qty::-webkit-inner-spin-button { appearance: none; margin: 0; }
.gt-single-qty { padding: 0 14px; font-size: 12px; font-weight: 800; }
.gt-item-price { text-align: left; }
.gt-item-price small { display: block; color: var(--gt-muted); font-size: 11px; margin-bottom: 4px; }
.gt-item-price strong { font-size: 16px; color: var(--gt-ink); }
.gt-order-summary { position: sticky; top: 90px; padding: 24px; }
.gt-order-summary > h2 { padding-bottom: 18px; border-bottom: 1px solid var(--gt-line); }
.gt-coupon-box { padding: 20px 0; border-bottom: 1px solid var(--gt-line); }
.gt-coupon-box > label { display: block; margin-bottom: 9px; font-size: 12px; font-weight: 800; }
.gt-coupon-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
.gt-coupon-row input { width: 100%; min-height: 44px; border: 1px solid #dedede; border-radius: 11px; padding: 0 12px; background: #fff; font-size: 12px; }
.gt-coupon-row button { min-width: 74px; border: 0; border-radius: 11px; padding: 0 15px; background: var(--gt-ink); color: #fff; cursor: pointer; font-weight: 800; }
.gt-applied-coupons { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.gt-applied-coupons > span { display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; border-radius: 999px; background: #fff8db; color: #725800; font-size: 11px; font-weight: 800; }
.gt-applied-coupons button { border: 0; background: transparent; padding: 0; color: var(--gt-danger); cursor: pointer; font-size: 17px; line-height: 1; }
.gt-summary-lines { padding: 15px 0; border-bottom: 1px solid var(--gt-line); }
.gt-summary-lines > div { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 8px 0; font-size: 13px; }
.gt-summary-lines span { color: var(--gt-muted); }
.gt-summary-lines strong { text-align: left; font-size: 13px; }
.gt-summary-lines .is-discount strong { color: #168443; }
.gt-final-total { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 20px 0; }
.gt-final-total span { font-weight: 800; }
.gt-final-total strong { font-size: 20px; color: var(--gt-gold-dark); text-align: left; }
.gt-checkout-button { width: 100%; min-height: 52px; display: flex; align-items: center; justify-content: center; gap: 10px; border-radius: 14px; background: var(--gt-gold); color: #17120a; font-weight: 900; box-shadow: 0 12px 28px rgba(213,170,36,.25); }
.gt-checkout-button:hover { color: #17120a; transform: translateY(-1px); }
.gt-trust-row { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 14px; margin-top: 17px; color: var(--gt-muted); font-size: 10px; }
.gt-trust-row span::before { content: '✓'; margin-left: 4px; color: #168443; font-weight: 900; }
.gt-cart-loader { position: absolute; inset: 0; z-index: 50; display: grid; place-items: start center; padding-top: 180px; background: rgba(247,247,245,.6); backdrop-filter: blur(1px); opacity: 0; visibility: hidden; transition: .15s; }
.is-loading .gt-cart-loader { opacity: 1; visibility: visible; }
.gt-cart-loader span { width: 38px; height: 38px; border: 3px solid #eee; border-top-color: var(--gt-gold); border-radius: 50%; animation: gtSpin .7s linear infinite; }
@keyframes gtSpin { to { transform: rotate(360deg); } }
.gt-cart-toast { position: fixed; left: 24px; bottom: 24px; z-index: 99999; max-width: min(360px, calc(100vw - 32px)); padding: 13px 17px; border-radius: 12px; background: #202020; color: #fff; box-shadow: 0 14px 35px rgba(0,0,0,.25); font-size: 12px; transform: translateY(20px); opacity: 0; visibility: hidden; transition: .2s; }
.gt-cart-toast.is-visible { transform: translateY(0); opacity: 1; visibility: visible; }
.gt-cart-toast.is-error { background: #b72f2f; }
.gt-empty-cart { padding: 70px 20px; text-align: center; background: #fff; border: 1px solid var(--gt-line); border-radius: 22px; }
.gt-empty-icon { width: 82px; height: 82px; display: grid; place-items: center; margin: 0 auto 18px; border-radius: 50%; background: #fff8db; color: var(--gt-gold-dark); }
.gt-empty-icon svg { width: 42px; }
.gt-empty-cart h2 { margin: 0 0 8px; font-size: 23px; }
.gt-empty-cart p { margin: 0 0 20px; color: var(--gt-muted); }
.gt-empty-cart a { display: inline-flex; min-height: 46px; align-items: center; padding: 0 22px; border-radius: 12px; background: var(--gt-gold); color: #17120a; font-weight: 900; }
.gt-mobile-checkout { display: none; }

@media (max-width: 990px) {
  .gt-cart-layout { grid-template-columns: 1fr; }
  .gt-order-summary { position: static; }
}

@media (max-width: 700px) {
  .gt-cart-shell { margin-top: 12px; padding: 0 12px; }
  .gt-cart-progress { grid-template-columns: repeat(3,1fr); gap: 6px; padding: 12px; }
  .gt-cart-progress > i { display: none; }
  .gt-step { flex-direction: column; gap: 5px; text-align: center; }
  .gt-step span { width: 30px; height: 30px; font-size: 12px; }
  .gt-step strong { font-size: 10px; }
  .gt-cart-hero { align-items: flex-start; }
  .gt-cart-hero p { display: none; }
  .gt-back-shop { min-height: 38px; padding: 0 11px; font-size: 11px; }
  .gt-card-heading { padding: 18px 16px; }
  .gt-cart-items { padding: 0 16px; }
  .gt-cart-item { grid-template-columns: 92px minmax(0,1fr); gap: 12px; padding: 17px 0; }
  .gt-product-title-wrap h3 { font-size: 13px; line-height: 1.7; }
  .gt-product-category { font-size: 9px; }
  .gt-remove-item { width: 31px; height: 31px; flex-basis: 31px; }
  .gt-product-bottom { align-items: center; }
  .gt-quantity { height: 38px; }
  .gt-qty-btn { width: 33px; font-size: 17px; }
  .gt-quantity .quantity, .gt-quantity input.qty { width: 40px !important; }
  .gt-item-price small { display: none; }
  .gt-item-price strong { font-size: 13px; }
  .gt-order-summary { padding: 19px 16px; margin-bottom: 82px; }
  .gt-mobile-checkout { position: fixed; right: 0; left: 0; bottom: 0; z-index: 9990; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--gt-line); box-shadow: 0 -12px 30px rgba(0,0,0,.09); }
  .gt-mobile-checkout small { display: block; color: var(--gt-muted); font-size: 9px; }
  .gt-mobile-checkout strong { display: block; margin-top: 2px; font-size: 14px; }
  .gt-mobile-checkout a { min-width: 124px; min-height: 44px; display: grid; place-items: center; border-radius: 12px; background: var(--gt-gold); color: #17120a; font-size: 12px; font-weight: 900; }
  .gt-cart-toast { left: 16px; right: 16px; bottom: 84px; text-align: center; }
}

@media (max-width: 430px) {
  .gt-cart-item { grid-template-columns: 82px minmax(0,1fr); }
  .gt-product-meta { display: none; }
  .gt-product-bottom { gap: 8px; }
  .gt-quantity { transform: scale(.92); transform-origin: right center; }
}
