/* =========================================================
   CHURII — checkout.css
   ========================================================= */

.checkout-body{
  background:var(--cream-light);
  min-height:100vh;
}

.checkout-wrap{
  display:grid;
  grid-template-columns:1.15fr 1fr;
  min-height:100vh;
}

/* ---------- LEFT: FORM ---------- */
.checkout-left{
  padding:2.5rem 4rem 3rem;
  max-width:640px;
  margin-left:auto;
  width:100%;
}

.back-link{
  display:inline-block;
  color:var(--text-muted);
  font-size:.85rem;
  margin-bottom:1.4rem;
}
.back-link:hover{ color:var(--maroon); }

.checkout-logo{
  display:block;
  font-family:'Playfair Display',serif;
  font-weight:800;
  font-size:1.7rem;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--maroon-dark);
  margin-bottom:2rem;
}

.co-section{
  padding:1.6rem 0;
  border-bottom:1px solid #e8ddc9;
}
.co-section:first-of-type{ padding-top:0; }
.co-section h3{
  font-family:'Playfair Display',serif;
  font-size:1.1rem;
  color:var(--maroon-dark);
  margin-bottom:1rem;
}

.co-field{
  display:block;
  margin-bottom:.9rem;
}
.co-field span{
  display:block;
  font-size:.78rem;
  color:var(--text-muted);
  margin-bottom:.3rem;
}
.co-field input,
.co-field select{
  width:100%;
  padding:.7rem .85rem;
  border:1px solid #d9cbb0;
  border-radius:8px;
  font-family:'Poppins',sans-serif;
  font-size:.92rem;
  color:var(--text-dark);
  background:#fff;
  outline:none;
  transition:border-color .15s;
}
.co-field input:focus,
.co-field select:focus{
  border-color:var(--gold);
}

.co-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.9rem;
}
.co-row-3{ grid-template-columns:1fr 1fr 1fr; }

.co-check{
  display:flex;
  align-items:center;
  gap:.55rem;
  font-size:.85rem;
  color:var(--text-dark);
  cursor:pointer;
}
.co-check input{ width:16px; height:16px; accent-color:var(--maroon); }

.co-shipping-placeholder{
  background:#f4ede0;
  border:1px solid #e8ddc9;
  border-radius:8px;
  padding:1rem;
  font-size:.85rem;
  color:var(--text-muted);
}

.co-secure-note{
  font-size:.78rem;
  color:var(--text-muted);
  margin-bottom:1rem;
}
.co-secure-bottom{
  text-align:center;
  margin-top:1rem;
}

.pay-option{
  display:flex;
  align-items:center;
  gap:.8rem;
  border:1.5px solid #d9cbb0;
  border-radius:8px;
  padding:.9rem 1rem;
  margin-bottom:.8rem;
  cursor:pointer;
  transition:border-color .15s, background .15s;
}
.pay-option:has(input:checked){
  border-color:var(--maroon);
  background:#fbf6ec;
}
.pay-option input{ width:17px; height:17px; accent-color:var(--maroon); flex-shrink:0; }
.pay-icon{ font-size:1.1rem; }
.pay-text strong{ display:block; font-size:.9rem; color:var(--text-dark); }
.pay-text small{ display:block; font-size:.76rem; color:var(--text-muted); margin-top:.15rem; }

.btn-complete{
  width:100%;
  padding:1rem;
  margin-top:1.6rem;
  background:var(--maroon-dark);
  color:#fff;
  font-weight:700;
  font-size:1rem;
  letter-spacing:.03em;
  border-radius:8px;
  transition:background .15s, transform .15s;
}
.btn-complete:hover{ background:var(--maroon); transform:translateY(-2px); }

/* ---------- RIGHT: ORDER SUMMARY ---------- */
.checkout-right{
  background:#f6f0e3;
  padding:2.5rem 3.5rem;
  border-left:1px solid #e8ddc9;
}
.checkout-right h3{
  font-family:'Playfair Display',serif;
  font-size:1.1rem;
  color:var(--maroon-dark);
  margin-bottom:1.2rem;
}

.summary-items{ margin-bottom:1.4rem; }
.summary-item{
  display:flex;
  align-items:center;
  gap:.9rem;
  padding:.8rem 0;
  border-bottom:1px solid #e8ddc9;
}
.summary-item:last-child{ border-bottom:none; }
.summary-item-img{
  position:relative;
  width:56px; height:56px;
  border-radius:8px;
  overflow:hidden;
  flex-shrink:0;
}
.summary-item-img img{ width:100%; height:100%; object-fit:cover; }
.summary-item-img span{
  position:absolute; top:-6px; right:-6px;
  background:#8a7863; color:#fff;
  font-size:.65rem; font-weight:700;
  width:18px; height:18px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
}
.summary-item-info{ flex:1; }
.summary-item-info p{ font-size:.88rem; color:var(--text-dark); font-weight:500; }
.summary-item-info small{ font-size:.75rem; color:var(--text-muted); }
.summary-item-price{ font-size:.88rem; font-weight:600; color:var(--text-dark); }

.discount-row{
  display:flex;
  gap:.6rem;
  margin-bottom:1.4rem;
}
.discount-row input{
  flex:1;
  padding:.7rem .85rem;
  border:1px solid #d9cbb0;
  border-radius:8px;
  font-size:.85rem;
  outline:none;
}
.discount-row button{
  padding:.7rem 1.1rem;
  border:1px solid var(--maroon-dark);
  border-radius:8px;
  background:transparent;
  color:var(--maroon-dark);
  font-weight:600;
  font-size:.85rem;
  transition:background .15s, color .15s;
}
.discount-row button:hover{ background:var(--maroon-dark); color:#fff; }

.summary-line{
  display:flex;
  justify-content:space-between;
  font-size:.88rem;
  color:var(--text-dark);
  padding:.5rem 0;
}
.summary-line:first-of-type{ border-top:1px solid #e8ddc9; padding-top:.9rem; }

.summary-total{
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-top:1px solid #e8ddc9;
  margin-top:.4rem;
  padding-top:.9rem;
  font-family:'Playfair Display',serif;
  font-weight:700;
  font-size:1.05rem;
  color:var(--maroon-dark);
}
.summary-tax{
  text-align:right;
  font-size:.72rem;
  color:var(--text-muted);
  margin-top:.2rem;
}

/* ---------- ORDER SUCCESS MODAL ---------- */
.order-success-overlay{
  position:fixed; inset:0;
  background:rgba(61,12,12,.55);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:500;
  padding:1rem;
}
.order-success-overlay.open{ display:flex; }
.order-success-card{
  background:var(--cream-light);
  border-radius:14px;
  padding:2.6rem 2.2rem;
  text-align:center;
  max-width:380px;
  width:100%;
  box-shadow:var(--shadow);
}
.success-tick{
  width:60px; height:60px;
  border-radius:50%;
  background:var(--gold);
  color:#fff;
  font-size:1.6rem;
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 1.2rem;
}
.order-success-card h2{
  font-family:'Playfair Display',serif;
  color:var(--maroon-dark);
  margin-bottom:.7rem;
}
.order-success-card p{
  font-size:.9rem;
  color:var(--text-muted);
  line-height:1.6;
  margin-bottom:1.4rem;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width:900px){
  .checkout-wrap{ grid-template-columns:1fr; }
  .checkout-left{ max-width:100%; margin:0; padding:1.6rem 1.2rem 2rem; order:2; }
  .checkout-right{ padding:1.6rem 1.2rem; border-left:none; border-bottom:1px solid #e8ddc9; order:1; }
  .co-row-3{ grid-template-columns:1fr 1fr; }
  .co-row-3 .co-field:last-child{ grid-column:1 / -1; }
}
@media (max-width:480px){
  .co-row{ grid-template-columns:1fr; }
  .co-row-3{ grid-template-columns:1fr; }
}