/* ============ Page-specific styles: checkout.html ============ */

body { background:#F4F5F7; }

/* steps bar */
.co-steps { background:#fff; border-bottom:1px solid var(--border); padding:16px 0; }
.co-steps-inner { display:flex; align-items:center; justify-content:center; gap:0; max-width:560px; margin:0 auto; padding:0 20px; }
.cos { display:flex; align-items:center; gap:7px; flex:1; }
.cos-dot { width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.72rem; font-weight:700; flex-shrink:0; }
.cos-dot.done { background:#16a34a; color:#fff; }
.cos-dot.active { background:var(--accent); color:#fff; }
.cos-dot.idle { background:#F0F0F0; color:#aaa; }
.cos-lbl { font-size:.72rem; font-weight:600; }
.cos-lbl.active { color:var(--accent); } .cos-lbl.done { color:#16a34a; } .cos-lbl.idle { color:var(--body); }
.cos-line { flex:1; height:2px; margin:0 8px; }
.cos-line.done { background:#16a34a; } .cos-line.idle { background:#EAEAEA; }

/* layout */
.co-page { padding:32px 0 64px; }
.co-layout { display:grid; grid-template-columns:1fr 340px; gap:24px; align-items:start; }

/* form sections */
.co-section { background:#fff; border:1px solid var(--border); border-radius:14px; overflow:hidden; margin-bottom:16px; }
.co-sec-hd { padding:16px 22px; border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; }
.co-sec-title { font-family:var(--font-heading); font-size:.95rem; font-weight:700; color:var(--heading); display:flex; align-items:center; gap:8px; }
.co-sec-num { width:22px; height:22px; border-radius:50%; background:var(--accent); color:#fff; font-size:.7rem; font-weight:700; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.co-sec-num.done { background:#16a34a; }
.co-sec-edit { font-size:.75rem; color:var(--accent); font-weight:600; cursor:pointer; background:none; border:none; }
.co-sec-edit:hover { text-decoration:underline; }
.co-sec-body { padding:20px 22px; }

/* form fields */
.f-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.f-full { grid-column:span 2; }
.f-group { display:flex; flex-direction:column; gap:5px; }
.f-label { font-size:.74rem; font-weight:600; color:var(--heading); }
.f-req { color:var(--accent); }
.f-inp { padding:11px 13px; border:1.5px solid var(--border); border-radius:8px; font-family:var(--font-body); font-size:.875rem; color:var(--heading); outline:none; transition:all .2s; background:#fff; }
.f-inp:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(255,106,0,.08); }
.f-inp::placeholder { color:#C0C0C0; }
.f-inp.err { border-color:#ef4444; }
.f-err { font-size:.7rem; color:#ef4444; display:none; }
.f-hint { font-size:.68rem; color:var(--body); margin-top:3px; }
.phone-pre { display:flex; gap:8px; }
.phone-code { width:64px; flex-shrink:0; padding:11px 8px; border:1.5px solid var(--border); border-radius:8px; font-size:.875rem; font-family:var(--font-body); color:var(--heading); background:#FAFAFA; outline:none; text-align:center; font-weight:600; }

/* address cards */
.addr-cards { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:16px; }
.addr-pick { border:1.5px solid var(--border); border-radius:10px; padding:14px; cursor:pointer; transition:.2s; position:relative; }
.addr-pick:hover { border-color:var(--accent); }
.addr-pick.selected { border-color:var(--accent); background:#FEF8F5; }
.addr-pick input[type="radio"] { position:absolute; top:12px; right:12px; accent-color:var(--accent); }
.addr-pick-type { font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--body); margin-bottom:4px; }
.addr-pick-text { font-size:.78rem; color:var(--heading); line-height:1.55; }
.addr-new-btn { display:flex; align-items:center; gap:6px; font-size:.78rem; font-weight:600; color:var(--accent); background:#FEF0E8; border:1px dashed rgba(255,106,0,.3); border-radius:8px; padding:10px 14px; cursor:pointer; width:100%; transition:.2s; }
.addr-new-btn:hover { background:var(--accent); color:#fff; border-color:var(--accent); }

/* delivery options */
.del-opts { display:flex; flex-direction:column; gap:10px; }
.del-opt { display:flex; align-items:center; gap:12px; border:1.5px solid var(--border); border-radius:10px; padding:13px 15px; cursor:pointer; transition:.2s; }
.del-opt:hover { border-color:var(--accent); }
.del-opt.selected { border-color:var(--accent); background:#FEF8F5; }
.del-opt input[type="radio"] { accent-color:var(--accent); flex-shrink:0; }
.del-opt-ico { width:36px; height:36px; border-radius:8px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.del-opt-name { font-weight:600; font-size:.84rem; color:var(--heading); margin-bottom:2px; }
.del-opt-sub { font-size:.72rem; color:var(--body); }
.del-opt-price { margin-left:auto; font-family:var(--font-heading); font-weight:700; font-size:.9rem; flex-shrink:0; }

/* payment methods */
.pay-tabs { display:flex; gap:0; border-bottom:1px solid var(--border); margin-bottom:20px; overflow-x:auto; scrollbar-width:none; }
.pay-tab { padding:11px 18px; font-size:.8rem; font-weight:600; color:var(--body); border:none; background:none; border-bottom:2px solid transparent; margin-bottom:-1px; cursor:pointer; transition:all .2s; white-space:nowrap; }
.pay-tabs-two .pay-tab { flex:1; text-align:center; }
.pay-tab:hover { color:var(--heading); }
.pay-tab.active { color:var(--accent); border-bottom-color:var(--accent); }
.pay-panel { display:none; }
.pay-panel.active { display:block; }

/* UPI */
.upi-apps { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:14px; }
.upi-app { border:1.5px solid var(--border); border-radius:9px; padding:10px 8px; text-align:center; cursor:pointer; transition:.2s; }
.upi-app:hover { border-color:var(--accent); }
.upi-app.selected { border-color:var(--accent); background:#FEF8F5; }
.upi-app-ico { width:36px; height:36px; border-radius:8px; margin:0 auto 5px; display:flex; align-items:center; justify-content:center; font-size:1.2rem; }
.upi-app-name { font-size:.65rem; font-weight:600; color:var(--heading); }

/* Card form */
.card-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.card-full { grid-column:span 2; }
.card-inp-wrap { position:relative; }
.card-ico { position:absolute; right:12px; top:50%; transform:translateY(-50%); display:flex; gap:3px; }
.card-network { width:28px; height:18px; border-radius:3px; display:flex; align-items:center; justify-content:center; font-size:.5rem; font-weight:700; }
.card-network.visa { background:#1a1f71; color:#fff; }
.card-network.mc { background:#eb001b; color:#fff; }

/* COD note */
.cod-note { background:#FFF7ED; border:1px solid #FDE68A; border-radius:10px; padding:14px; display:flex; gap:10px; }
.cod-note-ico { flex-shrink:0; color:#f59e0b; margin-top:1px; }
.cod-note-text { font-size:.8rem; color:var(--heading); line-height:1.6; }
.cod-note-text strong { color:#D97706; }

/* EMI */
.emi-opts { display:flex; flex-direction:column; gap:8px; }
.emi-opt { display:flex; align-items:center; gap:10px; border:1.5px solid var(--border); border-radius:9px; padding:12px 14px; cursor:pointer; transition:.2s; }
.emi-opt:hover { border-color:var(--accent); }
.emi-opt.selected { border-color:var(--accent); background:#FEF8F5; }
.emi-opt input { accent-color:var(--accent); }
.emi-bank { font-weight:600; font-size:.84rem; color:var(--heading); }
.emi-detail { font-size:.72rem; color:var(--body); margin-top:1px; }
.emi-amount { margin-left:auto; font-family:var(--font-heading); font-weight:700; color:var(--accent); font-size:.9rem; }

/* order summary card */
.co-summary { background:#fff; border:1px solid var(--border); border-radius:14px; overflow:hidden; position:sticky; top:88px; }
.co-sum-hd { padding:16px 20px; border-bottom:1px solid var(--border); font-family:var(--font-heading); font-size:.95rem; font-weight:700; color:var(--heading); display:flex; align-items:center; justify-content:space-between; }
.co-sum-hd a { font-size:.72rem; color:var(--accent); font-weight:600; }
.co-items-list { padding:14px 20px; max-height:220px; overflow-y:auto; }
.co-item-row { display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.co-item-row:last-child { margin-bottom:0; }
.co-item-img { width:48px; height:48px; border-radius:8px; object-fit:cover; background:#f0f0f0; flex-shrink:0; position:relative; }
.co-item-qty { position:absolute; top:-5px; right:-5px; width:17px; height:17px; border-radius:50%; background:var(--accent); color:#fff; font-size:.58rem; font-weight:700; display:flex; align-items:center; justify-content:center; }
.co-item-name { font-size:.78rem; font-weight:600; color:var(--heading); flex:1; line-height:1.3; }
.co-item-price { font-family:var(--font-heading); font-size:.82rem; font-weight:700; color:var(--accent); flex-shrink:0; }
.co-price-rows { padding:14px 20px; border-top:1px solid var(--border); }
.co-pr { display:flex; justify-content:space-between; font-size:.82rem; margin-bottom:9px; }
.co-pr .l { color:var(--body); }
.co-pr .v { font-weight:600; color:var(--heading); }
.co-pr.total { font-size:.95rem; padding-top:10px; border-top:1px solid var(--border); margin-top:4px; }
.co-pr.total .l { font-weight:700; color:var(--heading); }
.co-pr.total .v { font-family:var(--font-heading); font-weight:800; color:var(--accent); font-size:1.05rem; }
.co-pr.save .v { color:#16a34a; font-weight:700; }

/* place order button */
.place-btn { width:100%; padding:14px 20px; background:var(--accent); color:#fff; border:none; border-radius:10px; font-family:var(--font-body); font-size:.9rem; font-weight:700; cursor:pointer; transition:all .3s; display:flex; align-items:center; justify-content:center; gap:8px; box-shadow:0 4px 18px rgba(255,106,0,.28); }
.place-btn:hover { background:var(--accent-hover); transform:translateY(-2px); }
.co-sum-foot { padding:14px 20px; border-top:1px solid var(--border); }
.co-secure { display:flex; align-items:center; gap:6px; font-size:.7rem; color:var(--body); justify-content:center; margin-top:10px; }

/* placing overlay */
.placing-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:9999; align-items:center; justify-content:center; flex-direction:column; gap:16px; }
.placing-overlay.show { display:flex; }
.placing-spinner { width:52px; height:52px; border:4px solid rgba(255,255,255,.2); border-top-color:#fff; border-radius:50%; animation:spin .8s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.placing-text { color:#fff; font-family:var(--font-heading); font-size:1rem; font-weight:600; }

@media(max-width:900px) { .co-layout { grid-template-columns:1fr; } .co-summary { position:static; } }
@media(max-width:580px) { .f-grid,.card-grid { grid-template-columns:1fr; } .f-full,.card-full { grid-column:auto; } .addr-cards { grid-template-columns:1fr; } .upi-apps { grid-template-columns:repeat(2,1fr); } }
