/* ============ HEADER CART BADGE ============ */
.header-cart{position:relative;display:inline-flex;align-items:center;color:var(--ink);padding:6px;transition:color .25s}
.header-cart:hover{color:var(--accent)}
.header-cart svg{width:20px;height:20px}
.cart-badge{position:absolute;top:-3px;right:-6px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--accent);color:#fff;font-size:10px;font-weight:600;line-height:17px;text-align:center;font-family:'Inter',sans-serif}
.cart-badge[hidden]{display:none}
.header-wish{position:relative;display:inline-flex;align-items:center;color:var(--ink);padding:6px;transition:color .25s;text-decoration:none}
.header-wish:hover{color:var(--accent)}
.header-wish svg{width:20px;height:20px}
.wish-badge{position:absolute;top:-3px;right:-6px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--accent);color:#fff;font-size:10px;font-weight:600;line-height:17px;text-align:center;font-family:'Inter',sans-serif}
.wish-badge[hidden]{display:none}

/* ============ QTY STEPPER ============ */
.qty-stepper{display:inline-flex;align-items:center;border:1px solid var(--line);height:44px;background:var(--white)}
.qs-minus,.qs-plus{width:36px;height:100%;font-size:16px;color:var(--ink-soft);background:transparent;border:none;cursor:pointer;transition:background .2s,color .2s}
.qs-minus:hover,.qs-plus:hover{background:var(--bg-soft);color:var(--ink)}
.qs-input{width:44px;height:100%;border:none;text-align:center;font-size:14px;font-family:'Inter',sans-serif;color:var(--ink);background:transparent;-moz-appearance:textfield}
.qs-input::-webkit-outer-spin-button,.qs-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* ============ PRODUCT BUY ROW ============ */
.dt-buy-row{display:flex;align-items:center;gap:14px;margin:0 0 26px;flex-wrap:wrap}
.dt-buy-row .qty-stepper{height:52px}
.btn-add{background:var(--ink);color:var(--bg);padding:0 30px;height:52px;font-size:11px;letter-spacing:2px;text-transform:uppercase;border:1px solid var(--ink);transition:all .35s;font-family:'Inter',sans-serif;cursor:pointer}
.btn-add:hover{background:var(--accent);border-color:var(--accent)}
.btn-buy{background:var(--accent);color:#fff;padding:0 30px;height:52px;font-size:11px;letter-spacing:2px;text-transform:uppercase;border:1px solid var(--accent);transition:all .35s;font-family:'Inter',sans-serif;cursor:pointer}
.btn-buy:hover{background:var(--accent-dark);border-color:var(--accent-dark)}
.btn-wish{width:52px;height:52px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;transition:border-color .3s,color .3s}
.btn-wish:hover{border-color:var(--accent);color:var(--accent)}
.btn-wish svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}
.btn-wish.active{color:#e0525f;border-color:#e0525f}
.btn-wish.active svg{fill:#e0525f;stroke:#e0525f}

/* ============ CART PAGE ============ */
.cart-page{padding:150px 0 120px}
.cart-title{font-family:'Cormorant Garamond',serif;font-size:clamp(40px,5vw,60px);font-weight:300;line-height:1.05;letter-spacing:-.015em;margin:18px 0 52px}
.cart-empty{padding:70px 0;text-align:center}
.cart-empty p{font-size:17px;color:var(--ink-soft);margin-bottom:28px}

/* list / table */
.cart-list{border-top:1px solid var(--ink)}
.cart-head{display:grid;grid-template-columns:minmax(0,1fr) 130px 110px 120px 36px;gap:24px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);font-family:'Tenor Sans',sans-serif;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--ink-mute)}
.cart-head .ch-qty{text-align:center}
.cart-head .ch-unit,.cart-head .ch-sub{text-align:right}

.cart-item{display:grid;grid-template-columns:minmax(0,1fr) 130px 110px 120px 36px;gap:24px;align-items:center;padding:26px 0;border-bottom:1px solid var(--line)}
.ci-product{display:flex;align-items:center;gap:20px;min-width:0}
.ci-img{width:80px;aspect-ratio:3/4;background:var(--bg-card);overflow:hidden;flex:none;display:block}
.ci-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.ci-img:hover img{transform:scale(1.05)}
.ci-info{min-width:0}
.ci-name{font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:400;color:var(--ink);line-height:1.25}
.ci-name:hover{color:var(--accent)}
.ci-sku{font-family:'Tenor Sans',sans-serif;font-size:10px;letter-spacing:1.5px;color:var(--ink-mute);margin-top:7px}
.ci-qty{justify-self:center}
.ci-unit,.ci-line{font-size:14px;color:var(--ink-soft);text-align:right}
.ci-line{font-weight:500;color:var(--ink)}
.ci-remove{justify-self:end;width:32px;height:32px;font-size:22px;line-height:1;color:var(--ink-mute);background:transparent;border:none;cursor:pointer;transition:color .2s}
.ci-remove:hover{color:var(--accent)}

/* summary */
.cart-foot{display:grid;grid-template-columns:1fr 380px;gap:56px;margin-top:48px;align-items:start}
.cart-left{padding-top:6px}
.cart-note{font-size:13px;color:var(--ink-mute);line-height:1.8;margin:0 0 24px}
.cart-summary{background:var(--bg-soft);border:1px solid var(--line);padding:30px 32px}
.ct-row{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink-soft)}
.ct-row b{font-size:15px;color:var(--ink);font-weight:500}
.ct-grand{border-bottom:2px solid var(--ink);margin-bottom:24px}
.ct-grand span{font-family:'Tenor Sans',sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--ink)}
.ct-grand b{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:400}
.checkout-btn{width:100%;justify-content:center}

/* ============ TOAST ============ */
.toast{position:fixed;bottom:32px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:var(--bg);padding:14px 26px;font-size:12px;letter-spacing:1px;text-transform:uppercase;opacity:0;pointer-events:none;transition:opacity .35s,transform .35s;z-index:200}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* ============ RESPONSIVE ============ */
@media (max-width: 860px){
  .cart-head{display:none}
  .cart-item{grid-template-columns:1fr auto;grid-template-areas:"product product" "qty unit" "line rm";row-gap:16px;column-gap:16px;padding:22px 0}
  .ci-product{grid-area:product}
  .ci-img{width:72px}
  .ci-qty{grid-area:qty;justify-self:start}
  .ci-unit{grid-area:unit;justify-self:end}
  .ci-line{grid-area:line;justify-self:start;text-align:left}
  .ci-remove{grid-area:rm;justify-self:end}
  .cart-foot{grid-template-columns:1fr;gap:28px}
  .dt-buy-row .qty-stepper,.dt-buy-row .btn-add,.dt-buy-row .btn-buy{flex:1 1 auto}
}
