﻿/* KIRA — Cart page */
/* cart / checkout pagehead: more air before the 2-col layout */
body[data-page="cart"] .pagehead,
body[data-page="checkout"] .pagehead{
  padding:42px 0 32px;
}
body[data-page="cart"] .pagehead h1,
body[data-page="checkout"] .pagehead h1{
  font-size:clamp(38px,5vw,56px);
  font-weight:400;
  letter-spacing:-.02em;
}

/* =========================
   CART — luxury elevation
   ========================= */

/* Two-column page layout: items | summary aside */
.cart-layout{
  display:grid;
  grid-template-columns:1fr 316px;
  gap:72px;
  align-items:start;
  margin-top:8px;
}
.cart-left{
  min-width:0;
}

/* Each product row */
.cart-item{
  display:grid;
  grid-template-columns:112px 1fr;
  gap:22px;
  padding:36px 0;
  border-top:1px solid var(--line);
  align-items:start;
}
.cart-item:last-of-type{
  border-bottom:1px solid var(--line);
}
.cart-item__img{
  width:112px;
  height:150px;
  object-fit:cover;
  object-position:center top;
  display:block;
  background:#f5f5f3;
}
.cart-item__body{
  display:flex;
  flex-direction:column;
  gap:0;
  height:100%;
}
/* Top row: name left, line total right */
.cart-item__head{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:14px;
  margin-bottom:8px;
}
.cart-item__name{
  font-family:var(--ser);
  font-size:16px;
  font-weight:400;
  line-height:1.22;
  color:var(--ink);
  flex:1;
}
.cart-item__total{
  font-size:13px;
  letter-spacing:.04em;
  color:var(--ink);
  white-space:nowrap;
  flex-shrink:0;
}
/* Variant info */
.cart-item__meta{
  font-size:11px;
  letter-spacing:.08em;
  color:var(--mut2);
  text-transform:uppercase;
  margin-bottom:5px;
}
/* Unit price */
.cart-item__unit{
  font-size:12px;
  color:var(--mut);
  letter-spacing:.03em;
  margin-bottom:auto;
  padding-bottom:18px;
}
/* Bottom row: stepper + remove */
.cart-item__footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-top:14px;
  border-top:1px solid rgba(11,11,11,.06);
}

/* Quantity stepper */
.cart-stepper{
  display:inline-flex;
  align-items:stretch;
  height:32px;
  border:1px solid rgba(11,11,11,.18);
}
.cart-stepper__btn{
  width:32px;
  border:0;
  background:transparent;
  font-size:16px;
  font-weight:300;
  color:var(--ink);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--sans);
  transition:background .12s;
  flex-shrink:0;
}
.cart-stepper__btn:hover{
  background:rgba(11,11,11,.04);
}
.cart-stepper__num{
  width:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  letter-spacing:.08em;
  color:var(--ink);
  font-family:var(--sans);
  border-left:1px solid rgba(11,11,11,.12);
  border-right:1px solid rgba(11,11,11,.12);
  flex-shrink:0;
}
.cart-remove{
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--mut2);
  cursor:pointer;
  border:0;
  background:transparent;
  padding:0;
  font-family:var(--sans);
  transition:color .15s;
}
.cart-remove:hover{ color:var(--ink); }

/* Sticky summary aside */
.cart-aside{
  position:sticky;
  top:calc(var(--headerH) + 28px);
}
.cart-aside-inner{
  background:var(--bg);
  border:1px solid rgba(11,11,11,.08);
  padding:28px 24px 22px;
}
.cart-aside-title{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.28em;
  color:rgba(11,11,11,.38);
  padding-bottom:16px;
  border-bottom:1px solid var(--line);
  margin-bottom:0;
}
.cart-aside-row{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:12px;
  padding:14px 0;
  border-bottom:1px solid var(--line);
}
.cart-aside-row:last-of-type{ border-bottom:0; }
.cart-aside-label{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:var(--track);
  color:var(--mut2);
}
.cart-aside-value{
  font-size:13px;
  letter-spacing:.04em;
  color:var(--ink);
}
.cart-aside-row--total .cart-aside-label{
  color:var(--ink);
}
.cart-aside-total{
  font-family:var(--ser);
  font-size:18px;
  font-weight:400;
  letter-spacing:.01em;
  color:var(--ink);
}

/* CTA buttons */
.cart-cta-wrap{
  margin-top:20px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.btn-solid{
  display:block;
  width:100%;
  padding:17px 22px;
  background:var(--ink);
  color:#fff;
  border:1px solid var(--ink);
  font-family:var(--sans);
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  cursor:pointer;
  text-align:center;
  -webkit-appearance:none;
  appearance:none;
  -webkit-text-fill-color:#fff;
  transition:opacity .15s;
}
.btn-solid:hover{ opacity:.84; }
.btn-outline{
  display:block;
  width:100%;
  padding:15px 22px;
  background:transparent;
  color:var(--ink);
  border:1px solid rgba(11,11,11,.18);
  font-family:var(--sans);
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  cursor:pointer;
  text-align:center;
  transition:border-color .15s;
}
.btn-outline:hover{ border-color:var(--ink); }

/* Reassurance — pure text, editorial */
.cart-reassurance{
  margin-top:20px;
  padding-top:16px;
  border-top:1px solid var(--line);
  font-size:10px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(11,11,11,.36);
  text-align:center;
  line-height:2;
}

/* Promo code — below items, above nothing */
.cart-promo{
  margin-top:32px;
  padding-top:28px;
  border-top:1px solid var(--line);
}
.cart-promo__label{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.22em;
  color:rgba(11,11,11,.38);
  margin-bottom:14px;
}
.cart-promo__row{
  display:flex;
  gap:0;
  border-bottom:1px solid rgba(11,11,11,.18);
}
.cart-promo__input{
  flex:1;
  border:0;
  padding:10px 0;
  background:transparent;
  outline:none;
  font-family:var(--sans);
  font-size:13px;
  color:var(--ink);
}
.cart-promo__input::placeholder{ color:var(--mut2); }
.cart-promo__btn{
  padding:10px 0 10px 16px;
  background:transparent;
  border:0;
  font-family:var(--sans);
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  cursor:pointer;
  color:var(--ink);
  flex-shrink:0;
}
.cart-promo__btn:hover{ opacity:.6; }
.cart-promo__msg{
  margin-top:8px;
  font-size:11px;
  color:var(--mut);
  letter-spacing:.04em;
}

/* Legacy — keep for drawer */
.cart-summary-row{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding:10px 0; border-bottom:1px solid var(--line); }
.cart-summary-row:last-of-type{ border-bottom:0; }
.cart-summary-label{ font-size:11px; text-transform:uppercase; letter-spacing:var(--track); color:var(--mut2); }
.cart-summary-value{ font-size:13px; letter-spacing:.04em; }
.cart-summary-value--total{ font-size:15px; font-weight:500; }

/* Responsive */
@media(max-width:900px){
  .cart-layout{
    grid-template-columns:1fr;
    gap:0;
  }
  .cart-aside{
    position:static;
    margin-top:40px;
  }
  .cart-aside-inner{
    background:transparent;
    border:0;
    border-top:2px solid var(--ink);
    padding:22px 0 0;
  }
}
@media(max-width:640px){
  .cart-item{
    grid-template-columns:88px 1fr;
    gap:16px;
    padding:28px 0;
  }
  .cart-item__img{
    width:88px;
    height:118px;
  }
  .cart-layout{ gap:0; }
}

