/* ZURI checkout — built on the same design tokens as css/style.css.
   Self-contained (doesn't require style.css to be loaded) so this page
   works even if linked to directly. */

:root{
  --black:#0E0E0D;
  --charcoal:#302F2C;
  --stone:#948E82;
  --bone:#E4DDCF;
  --paper:#F6F3EC;
  --white:#FFFFFF;
  --font-display:'Space Grotesk', sans-serif;
  --font-body:'Inter', sans-serif;
  --font-mono:'IBM Plex Mono', monospace;
  --edge:clamp(24px,5vw,96px);
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ -webkit-text-size-adjust:100%; }

body{
  background:var(--paper);
  color:var(--black);
  font-family:var(--font-body);
  -webkit-font-smoothing:antialiased;
}

a{ color:inherit; text-decoration:none; }
::selection{ background:var(--black); color:var(--paper); }

.checkout-header{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  padding:26px var(--edge);
  border-bottom:1px solid var(--bone);
}

.logo{
  font-family:var(--font-display);
  font-weight:600;
  letter-spacing:.02em;
  font-size:20px;
}

.step-label{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--stone);
}

.checkout-grid{
  display:grid;
  grid-template-columns:1.3fr 1fr;
  max-width:1280px;
  margin:0 auto;
}

@media (max-width:860px){
  .checkout-grid{ grid-template-columns:1fr; }
  .checkout-summary-col{ order:-1; border-bottom:1px solid var(--bone); }
}

.checkout-form-col,
.checkout-summary-col{
  padding:48px var(--edge);
}

.checkout-summary-col{
  border-left:1px solid var(--bone);
  background:var(--bone);
}

h2{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--stone);
  display:flex;
  align-items:center;
  gap:10px;
  margin:36px 0 18px;
}

h2::before{ content:''; width:18px; height:1px; background:var(--stone); }
h2:first-child{ margin-top:0; }

label{
  display:block;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--charcoal);
  margin:16px 0 8px;
}

input[type="text"],
input[type="tel"],
input[type="email"]{
  width:100%;
  padding:13px 14px;
  border:1px solid var(--bone);
  border-radius:0;
  font-size:15px;
  font-family:var(--font-body);
  color:var(--black);
  background:var(--white);
}

input:focus{ outline:2px solid var(--black); outline-offset:1px; }

.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.hidden-field{ position:absolute; left:-9999px; }

.payment-options{ display:flex; flex-direction:column; gap:10px; }

.payment-option{
  display:flex;
  align-items:center;
  gap:14px;
  border:1px solid var(--bone);
  padding:16px 18px;
  cursor:pointer;
  margin:0;
}

.payment-option strong{ display:block; font-size:14px; font-weight:500; }
.payment-option small{
  display:block;
  font-family:var(--font-mono);
  color:var(--stone);
  font-size:11px;
  letter-spacing:.04em;
  margin-top:3px;
}

.payment-option.disabled{ opacity:.45; cursor:not-allowed; }

#place-order-btn{
  width:100%;
  margin-top:36px;
  padding:17px;
  background:var(--black);
  color:var(--paper);
  border:none;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.1em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background-color .3s ease;
}

#place-order-btn:hover{ background:var(--charcoal); }
#place-order-btn:disabled{ opacity:.35; cursor:not-allowed; }

#cart-items{ list-style:none; padding:0; margin:0 0 22px; }

#cart-items li{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:14px 0;
  border-bottom:1px solid var(--stone);
  font-size:14px;
}

#cart-items .item-meta{
  font-family:var(--font-mono);
  color:var(--stone);
  font-size:11px;
  margin-top:3px;
}

.summary-row{
  display:flex;
  justify-content:space-between;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.02em;
  padding:9px 0;
  color:var(--charcoal);
}

.summary-row.total{
  color:var(--black);
  font-weight:600;
  font-size:16px;
  font-family:var(--font-display);
  border-top:1px solid var(--stone);
  margin-top:8px;
  padding-top:16px;
}

.empty-cart-note{ font-family:var(--font-mono); color:var(--stone); font-size:13px; line-height:1.7; }
.empty-cart-note a{ color:var(--black); text-decoration:underline; }
