/* ====================== CART PAGE ====================== */

.cart-section{
  background:#fff;
}

/* Layout */
.cart-layout{
  display:grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 26px;
  margin-top: 36px;
}

@media (max-width: 980px){
  .cart-layout{
    grid-template-columns:1fr;
  }
}

/* Card */
.cart-card{
  border:1px solid var(--veil);
  background:#fff;
  padding:18px;
}

.cart-summary-card{
  padding:34px 30px 32px;
}

/* Card head */
.cart-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}

.cart-card-title{
  font-family:"DM Sans",system-ui,sans-serif;
  font-size:14px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.cart-summary-card .cart-card-title{
  font-family:"Cormorant Garamond",serif;
  font-size:34px;
  font-weight:500;
  letter-spacing:0;
  text-transform:none;
  color:#2c2d30;
}

.cart-section .section-title{
  font-family:"DM Sans",system-ui,sans-serif;
  font-size:clamp(32px,4.2vw,52px);
  font-weight:400;
  letter-spacing:.03em;
  line-height:1.08;
}

/* Clear link — Cartier UI style */
.cart-link{
  border:none;
  background:transparent;
  cursor:pointer;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#777;
  padding:6px 8px;
  transition:.2s;
}
.cart-link:hover{
  color:var(--gold);
}

/* Empty state */
.cart-empty{
  font-family:"DM Sans",system-ui,sans-serif;
  text-align:center;
  padding:34px 12px;
  color:#777;
  font-style:normal;
}

/* Items */
.cart-items{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.cart-item{
  display:grid;
  grid-template-columns:minmax(280px, 0.88fr) minmax(280px, 1.2fr) minmax(140px, auto);
  gap:0;
  align-items:center;
  border:1px solid var(--veil);
  background:#fff;
  min-height:364px;
}

.cart-item:first-child{
  border-top:1px solid var(--veil);
}

/* Image */
.cart-thumb{
  width:100%;
  height:100%;
  min-height:362px;
  object-fit:contain;
  background:#fafaf7;
  padding:34px;
  box-sizing:border-box;
}

/* Meta */
.cart-meta{
  display:flex;
  align-items:center;
  padding:34px 46px;
}

.cart-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.cart-name{
  font-family:"DM Sans",system-ui,sans-serif;
  max-width:360px;
  font-size:15px;
  font-weight:500;
  letter-spacing:.01em;
  line-height:1.42;
  text-transform:none;
  color:#33363a;
}

.cart-meta-row{
  margin-top:14px;
  font-size:14px;
  color:#78756f;
}

/* Controls */
.cart-controls{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:center;
  gap:18px;
  padding:34px 36px 34px 24px;
}

.cart-price{
  font-size:15px;
  color:#222426;
  letter-spacing:.01em;
}

.qty{
  display:flex;
  align-items:center;
  gap:10px;
}

/* Quantity buttons — slim luxury */
.qty-btn{
  width:32px;
  height:32px;
  border:1px solid var(--veil);
  background:#fff;
  font-size:14px;
  cursor:pointer;
  transition:border-color .2s ease, color .2s ease, background .2s ease;
}

.qty-btn:hover{
  border-color:var(--gold);
  background:rgba(191,163,106,0.08); /* soft gold wash */
  color:var(--gold);
}

.qty-num{
  min-width:22px;
  text-align:center;
  font-size:13px;
  color:#4d4a45;
}


/* Remove */
.remove-btn{
  border:none;
  background:transparent;
  cursor:pointer;
  padding:0;
  font-size:14px;
  letter-spacing:0;
  text-transform:none;
  color:#7a7771;
  text-decoration:underline;
  text-underline-offset:5px;
  transition:.2s;
}
.remove-btn:hover{
  color:var(--gold);
}

/* Summary */
.summary-row{
  font-family:"DM Sans",system-ui,sans-serif;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  padding:12px 0;
  font-size:15px;
  letter-spacing:.01em;
  color:#34373a;
}

.summary-rule{
  border:none;
  height:1px;
  background:#ece9e2;
  margin:14px 0 10px;
}

.summary-row.total{
  font-weight:400;
  letter-spacing:.01em;
  text-transform:none;
  color:#222426;
}

/* Checkout */
.cart-checkout{
  width:100%;
  margin-top:18px;
}

/* Note */
.summary-note{
  font-family:"DM Sans",system-ui,sans-serif;
  margin-top:16px;
  color:#86827b;
  font-size:13px;
  letter-spacing:.01em;
  line-height:1.7;
  text-align:center;
}


/* === LOCK checkout button (cannot be overridden) === */
button#checkoutBtn.btn.gold.cart-checkout{
  width:100% !important;
  margin-top:18px !important;
  min-height:62px !important;
  background:transparent !important;
  border:1px solid var(--ink) !important;
  color:var(--ink) !important;
  padding:18px 22px !important;
  font-size:12px !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  cursor:pointer !important;
  transition:transform .2s ease, background .25s ease, border-color .25s ease, color .25s ease !important;
}

button#checkoutBtn.btn.gold.cart-checkout:hover{
  background:var(--ink) !important;
  border-color:var(--ink) !important;
  color:#fff !important;
  transform:translateY(-1px) !important;
}

@media (max-width: 980px){
  .cart-item{
    grid-template-columns:1fr;
    min-height:0;
  }

  .cart-thumb{
    min-height:280px;
  }

  .cart-meta,
  .cart-controls{
    padding:22px 24px;
  }

  .cart-controls{
    align-items:flex-start;
    padding-top:0;
  }
}
