/* ==============================
   Checkout / Orders shared styles
   ============================== */

.co-main {
  padding: 36px 0 64px;
  max-width: 720px;
}

.co-section {
  background: #fff;
  border: 1px solid #e6d9b8;
  border-radius: 12px;
  padding: 24px;
  margin-bottom: 20px;
}

.co-section h2 {
  margin: 0 0 16px;
  font-size: 1.2rem;
  color: #7a5c20;
}

.co-address-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 14px;
}

.co-address-option {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  border: 1px solid #e6d9b8;
  border-radius: 8px;
  padding: 12px;
  cursor: pointer;
}

.co-address-option input[type="radio"] {
  margin-top: 3px;
}

.co-address-option strong {
  color: #333;
}

.co-address-option p {
  margin: 2px 0 0;
  color: #666;
  font-size: 0.9rem;
}

.co-link-btn {
  background: none;
  border: none;
  color: #bfa059;
  font-weight: 600;
  text-decoration: underline;
  cursor: pointer;
  padding: 0;
  font-size: 0.9rem;
}

.co-form {
  display: none;
  flex-direction: column;
  gap: 10px;
  margin-top: 14px;
}

.co-form.active { display: flex; }

.co-form label {
  font-size: 0.85rem;
  color: #555;
  margin-bottom: 2px;
  display: block;
}

.co-form input,
.co-form select {
  width: 100%;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 5px;
  font-size: 0.95rem;
  box-sizing: border-box;
  font-family: inherit;
  background: #fff;
  height: 42px;
}

.co-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.co-save-address-btn {
  align-self: flex-start;
  padding: 9px 20px;
  background: #bfa059;
  color: #fff;
  border: none;
  border-radius: 6px;
  font-weight: 600;
  cursor: pointer;
}

.co-save-address-btn:hover { background: #a68a48; }

.co-item-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid #f0e6c8;
  font-size: 0.9rem;
}

.co-item-row:last-child { border-bottom: none; }

.co-item-name { color: #333; font-weight: 600; }
.co-item-variant { color: #888; font-size: 0.8rem; }

.co-breakdown-row {
  display: flex;
  justify-content: space-between;
  padding: 6px 0;
  font-size: 0.9rem;
  color: #555;
}

.co-breakdown-row.co-total {
  border-top: 2px solid #bfa059;
  margin-top: 8px;
  padding-top: 12px;
  font-size: 1.2rem;
  font-weight: 700;
  color: #333;
}

.co-fee-note {
  font-size: 0.78rem;
  color: #999;
  margin-top: 4px;
}

.co-pay-btn {
  width: 100%;
  padding: 14px;
  background: #bfa059;
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 1.05rem;
  font-weight: 700;
  font-family: 'Montserrat', sans-serif;
  cursor: pointer;
  margin-top: 8px;
}

.co-pay-btn:hover { background: #a68a48; }
.co-pay-btn:disabled { background: #ccc; cursor: not-allowed; }

.co-error {
  color: #b23b3b;
  font-size: 0.88rem;
  margin-top: 10px;
}

.co-unavailable {
  background: #fdecec;
  border: 1px solid #f0b8b8;
  border-radius: 8px;
  padding: 12px;
  color: #a33;
  font-size: 0.88rem;
  margin-bottom: 16px;
}

/* Order list / detail */

.co-order-card {
  display: block;
  background: #fff;
  border: 1px solid #e6d9b8;
  border-radius: 10px;
  padding: 16px 18px;
  margin-bottom: 14px;
  text-decoration: none;
  color: inherit;
}

.co-order-card:hover { border-color: #bfa059; }

.co-order-card-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}

.co-order-number { font-weight: 700; color: #333; }
.co-order-date { color: #999; font-size: 0.82rem; }
.co-order-total { font-weight: 700; color: #7a5c20; margin-top: 4px; }

.co-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: capitalize;
}

.co-badge-payment_pending, .co-badge-awaiting_balance_payment { background: #fff3cd; color: #7a5c20; }
.co-badge-paid, .co-badge-in_production { background: #dceefc; color: #1a5a8a; }
.co-badge-shipped { background: #e3d9fc; color: #4b2a8a; }
.co-badge-delivered { background: #dcf5e0; color: #1f7a34; }
.co-badge-cancelled, .co-badge-refund_failed { background: #fdecec; color: #a33; }
.co-badge-return_requested, .co-badge-return_approved, .co-badge-returned { background: #eee; color: #666; }

.co-timeline {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.co-timeline li {
  border-left: 3px solid #bfa059;
  padding-left: 12px;
  font-size: 0.88rem;
}

.co-timeline-status { font-weight: 700; text-transform: capitalize; color: #333; }
.co-timeline-date { color: #999; font-size: 0.78rem; }

.co-tracking-box {
  background: #fdf6e3;
  border: 1px solid #e8d9a0;
  border-radius: 8px;
  padding: 12px 14px;
  margin: 12px 0;
  font-size: 0.9rem;
}

.co-action-btn {
  display: inline-block;
  padding: 9px 18px;
  border-radius: 6px;
  font-weight: 600;
  cursor: pointer;
  font-size: 0.88rem;
  margin-right: 10px;
  margin-top: 10px;
  text-decoration: none;
}

.co-action-btn.co-cancel { background: #fff; border: 1px solid #b23b3b; color: #b23b3b; }
.co-action-btn.co-return { background: #fff; border: 1px solid #bfa059; color: #bfa059; }
.co-action-btn.co-print { background: #bfa059; border: none; color: #fff; }

.co-feedback-stars {
  display: flex;
  gap: 6px;
  font-size: 1.5rem;
  cursor: pointer;
  margin: 10px 0;
}

.co-feedback-stars span { color: #ddd; }
.co-feedback-stars span.active { color: #bfa059; }

.co-feedback-form textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-family: inherit;
  resize: vertical;
  min-height: 70px;
  box-sizing: border-box;
}

@media print {
  .navbar, .rate-strip, .page-hero, footer, .co-action-btn, .co-print-hide { display: none !important; }
  body { background: #fff; }
  .co-main { max-width: 100%; padding: 0; }
  .co-section { border: none; padding: 0; }
}
