/* cart.css — Cart page & add-to-cart confirmation */

/* Cart page layout */
.section__cart{padding:clamp(32px,6vw,72px) 0;max-width:80vw;margin-inline:auto}
.section__cart h1{font-size:clamp(1.75rem,3vw,2.5rem);font-family:var(--font-head);font-weight:400;color:var(--navy);margin-bottom:40px}
.cart__blocks{display:grid;grid-template-columns:1fr 340px;gap:48px;align-items:start}
.cart__left{display:flex;flex-direction:column}
.cart__right{position:sticky;top:100px}

/* Cart items */
.cart__item{display:grid;grid-template-columns:100px 1fr;gap:24px;align-items:center;padding:24px 0;border-bottom:1px solid var(--border)}
.cart__item:first-child{border-top:1px solid var(--border)}
.cart__item figure{background:var(--surface);aspect-ratio:1;overflow:hidden;margin:0}
.cart__item figure img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}
.cart__item article{display:grid;grid-template-columns:minmax(0,1fr) auto auto 32px;gap:20px;align-items:center}
.product-name{grid-column:1}
.cart__item .quantity-block{grid-column:2}
.cart__item .cart__item-price{grid-column:3;text-align:right;min-width:80px}
.cart__item .remove{grid-column:4;justify-content:center}
@media(max-width:560px){.cart__item article{grid-template-columns:1fr auto;gap:14px}
.product-name{grid-column:1/-1}
.cart__item .quantity-block{grid-column:1}
.cart__item .cart__item-price{grid-column:2;text-align:right}
.cart__item .remove{grid-column:2;justify-self:end}}
.product-name a{text-decoration:none;color:var(--ink)}
.product-name strong{font-size:.9375rem;font-weight:500;line-height:1.4;display:block}
.product-option{font-size:.8125rem;color:var(--ink-muted);margin-top:2px}
.product-sku-line{display:block;font-size:.75rem;color:var(--ink-muted);font-family:var(--font-body);margin-top:2px}
.ch-item-sku{display:block;font-size:.72rem;color:var(--ink-muted);font-family:var(--font-body)}
.cart__item-price{text-align:right}
.item-price p{font-size:1rem;font-weight:600;color:var(--navy);margin:0}
.item-price span{display:block;font-size:.75rem;color:var(--ink-muted);margin-bottom:4px}
.remove{display:flex;align-items:center;justify-content:flex-end}
.remove span,.remove button{position:relative;display:flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:50%;background:var(--surface);transition:background var(--ease);cursor:pointer;border:none;font-size:0}
.remove span::before,.remove span::after,.remove button::before,.remove button::after{content:'';position:absolute;width:12px;height:1.5px;background:var(--ink-muted);border-radius:2px}
.remove span::before,.remove button::before{transform:rotate(45deg)}
.remove span::after,.remove button::after{transform:rotate(-45deg)}
.remove span:hover,.remove button:hover{background:#fee2e2}
.remove span:hover::before,.remove span:hover::after,.remove button:hover::before,.remove button:hover::after{background:#c0392b}

/* Cart summary */
.cart__subtotal{background:var(--surface);padding:28px;display:flex;flex-direction:column;gap:20px}
.cart__subtotal>p{display:flex;justify-content:space-between;align-items:baseline;font-size:1rem;font-weight:400;color:var(--ink);margin:0}
.cart__subtotal>p #subtotal_amount{font-size:1.25rem;font-weight:600;color:var(--ink)}
.cart__subtotal a.button{display:block;text-align:center;width:100%;padding:18px 30px;background:var(--blue);color:#fff;font-family:var(--font-body);font-size:12px;line-height:14px;font-weight:500;letter-spacing:1.4px;text-transform:uppercase;text-decoration:none;box-sizing:border-box;border-radius:0;transition:opacity .5s}
.cart__subtotal a.button:hover{opacity:.85}
.cart__checkout{background:var(--surface);border-radius:var(--r-lg);padding:28px}
.cart__checkout h2{font-size:1.25rem;font-family:var(--font-head);margin-bottom:20px;color:var(--navy)}
.cart__empty{text-align:center;padding:80px 0;color:var(--ink-muted)}
.cart__empty p{font-size:1.125rem;margin-bottom:24px}

/* Add-to-cart confirmation */
.cart-confirm{overflow:hidden;max-height:0;opacity:0;margin-top:0;padding:0 14px;border-radius:var(--r);font-size:.9375rem;font-weight:500;background:#d1fae5;color:#065f46;border-left:3px solid #34d399;transition:max-height 300ms ease,opacity 300ms ease,margin-top 300ms ease,padding 300ms ease}
.cart-confirm--visible{max-height:80px;opacity:1;margin-top:14px;padding:12px 14px}
.cart-confirm--error{background:#fee2e2;color:#991b1b;border-left-color:#f87171}

/* Login/forms used in cart context */
.login-screen{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);margin:40px auto;max-width:440px;padding:40px}
.login-screen h1{text-align:center;font-size:1.75rem;margin-bottom:8px}
.login-screen p{text-align:center;color:var(--ink-muted);margin-top:8px}
.login-screen p a{color:var(--navy);text-decoration:underline}

/* Misc cart utilities */
.highlight_message{border:1px solid var(--border);padding:16px 20px;margin-bottom:28px;border-radius:var(--r);font-size:.9rem;text-align:center}
.highlight_message.success{border-color:#34d399;background:#d1fae5;color:#065f46}
.no-items{max-width:400px;margin:0 auto;padding:80px 0 40px;text-align:center}
.no-items p{font-size:1.25rem;margin-bottom:24px;color:var(--ink-muted)}

/* Responsive */
@media(max-width:900px){
  .cart__blocks{grid-template-columns:1fr}
  .cart__right{position:static}
}
@media(max-width:560px){.cart__item{grid-template-columns:72px 1fr;gap:14px}}

/* ── Upsell on cart & related products on product page — section wrappers only ── */
.cart__upsell{margin-top:60px;padding-top:40px;border-top:1px solid var(--border)}
.cart__upsell h2{font-family:var(--font-head);font-size:clamp(1.25rem,2.2vw,1.6rem);font-weight:400;color:var(--navy);margin-bottom:0}
.cart__upsell .basic-grid{margin-top:24px}

.related-products{padding:60px var(--pad) 80px;border-top:1px solid var(--border);margin-top:40px}
.related-products .wrapper{max-width:var(--wrap);margin-inline:auto}
.related-products h2{font-family:var(--font-head);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:400;color:var(--navy);margin-bottom:28px;text-align:center}
.related-products .basic-grid{margin:0}
