*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
:root{
  --black:#0D3A35;--deep:#0a2e2a;--panel:#276152;--border:#1a5046;
  --gold:#B1B7AB;--gold-light:#D0D6CA;--gold-dim:#7A8078;
  --cream:#FBF6F0;--muted:#C5C0B5;--white:#FBF6F0;
  --ease:cubic-bezier(0.76,0,0.24,1);
}
html{scroll-behavior:smooth;}
body{background:var(--black);color:var(--cream);font-family:'Raleway',sans-serif;font-weight:300;min-height:100vh;}
#cur{width:6px;height:6px;background:var(--gold);border-radius:50%;position:fixed;pointer-events:none;z-index:100000000;top:0;left:0;will-change:transform;transform:translate(-50%,-50%);transition:width .3s,height .3s;}
#cur-r{width:28px;height:28px;border:1px solid rgba(177,183,171,0.35);border-radius:50%;position:fixed;pointer-events:none;z-index:99999999;top:0;left:0;will-change:transform;transform:translate(-50%,-50%);transition:width .35s,height .35s,border-color .3s;}
body.hov #cur{width:14px;height:14px;}
body.hov #cur-r{width:54px;height:54px;border-color:rgba(177,183,171,0.65);}

/* Cursors on touch vs mouse devices */
#cur, #cur-r { display: none; }

body.is-desktop #cur, body.is-desktop #cur-r {
  display: none;
}
@media (pointer: fine) {
  body.is-desktop,
  body.is-desktop a,
  body.is-desktop button,
  body.is-desktop select,
  body.is-desktop input,
  body.is-desktop textarea,
  body.is-desktop .pay-opt,
  body.is-desktop .upi-app-btn {
    cursor: none !important;
  }
  body.is-desktop #cur,
  body.is-desktop #cur-r {
    display: block;
  }
}

body.is-mobile,
body.is-mobile * {
  cursor: auto !important;
}
body.is-mobile a,
body.is-mobile button,
body.is-mobile select,
body.is-mobile .pay-opt,
body.is-mobile .upi-app-btn {
  cursor: pointer !important;
}
body.is-mobile #cur,
body.is-mobile #cur-r {
  display: none !important;
}

@media (pointer: coarse) {
  body, a, button, select, input, textarea, .pay-opt, .upi-app-btn {
    cursor: auto !important;
  }
  a, button, select, .pay-opt, .upi-app-btn {
    cursor: pointer !important;
  }
  #cur, #cur-r {
    display: none !important;
  }
}

/* TOP BAR */
.co-nav{display:flex;align-items:center;justify-content:space-between;padding:0 64px;height:72px;border-bottom:1px solid var(--border);background:var(--deep);}
.co-logo{font-family:'Playfair Display',serif;font-size:18px;letter-spacing:.45em;color:var(--cream);text-decoration:none;cursor:none;}
.co-back{font-size:8px;letter-spacing:.25em;text-transform:uppercase;color:var(--muted);text-decoration:none;cursor:none;transition:color .3s;}
.co-back:hover{color:var(--gold);}

/* STEPS */
.co-steps{display:flex;align-items:center;justify-content:center;gap:0;padding:32px 0;border-bottom:1px solid var(--border);}
.step{display:flex;align-items:center;gap:10px;font-size:8px;letter-spacing:.25em;text-transform:uppercase;color:var(--muted);padding:0 28px;}
.step.active{color:var(--gold);}
.step.done{color:var(--cream);}
.step-n{width:24px;height:24px;border-radius:50%;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:10px;transition:all .3s;}
.step.active .step-n{border-color:var(--gold);background:var(--gold);color:var(--black);}
.step.done .step-n{border-color:var(--cream);background:var(--cream);color:var(--black);}
.step-div{width:60px;height:1px;background:var(--border);}
.step-div.done{background:var(--gold-dim);}

/* LAYOUT */
.co-wrap{display:grid;grid-template-columns:1fr 400px;gap:0;min-height:calc(100vh - 140px);}
.co-main{padding:56px 64px;border-right:1px solid var(--border);}
.co-side{padding:56px 48px;background:var(--deep);}

/* FORM */
.co-section{margin-bottom:48px;}
.co-section-title{font-family:'Playfair Display',serif;font-size:22px;font-weight:400;color:var(--white);margin-bottom:28px;padding-bottom:16px;border-bottom:1px solid var(--border);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.form-row.full{grid-template-columns:1fr;}
.form-group{display:flex;flex-direction:column;gap:8px;}
.form-group label{font-size:8px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);}
.form-group input,.form-group select,.form-group textarea{background:var(--panel);border:1px solid var(--border);padding:14px 16px;color:var(--cream);font-family:'Raleway',sans-serif;font-size:13px;outline:none;transition:border-color .3s;cursor:none;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gold);}
.form-group select option{background:var(--panel);}
.form-group textarea{resize:vertical;min-height:80px;}

/* PAYMENT METHODS */
.pay-methods{display:flex;flex-direction:column;gap:12px;}
.pay-opt{display:flex;align-items:center;gap:16px;padding:18px 20px;border:1px solid var(--border);cursor:none;transition:border-color .3s,background .3s;position:relative;}
.pay-opt:hover{border-color:var(--gold-dim);}
.pay-opt.sel{border-color:var(--gold);background:rgba(177,183,171,0.08);}
.pay-opt input[type=radio]{accent-color:var(--gold);width:16px;height:16px;cursor:none;}
.pay-opt-info{flex:1;}
.pay-opt-name{font-size:13px;color:var(--cream);letter-spacing:.05em;}
.pay-opt-desc{font-size:10px;color:var(--muted);margin-top:3px;letter-spacing:.05em;}
.pay-opt-icon{font-size:22px;}
.pay-sub{margin-top:16px;padding:20px;border:1px solid var(--border);background:var(--panel);display:none;}
.pay-sub.show{display:block;}
.pay-sub .form-row{margin-bottom:12px;}

/* ORDER SUMMARY SIDE */
.os-title{font-family:'Playfair Display',serif;font-size:18px;font-weight:400;color:var(--white);margin-bottom:28px;padding-bottom:16px;border-bottom:1px solid var(--border);}
.os-items{display:flex;flex-direction:column;gap:16px;margin-bottom:28px;}
.os-item{display:flex;gap:14px;align-items:center;}
.os-thumb{width:58px;height:70px;background:var(--panel);display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;}
.os-qty-badge{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;background:var(--gold);color:var(--black);font-size:9px;font-weight:600;display:flex;align-items:center;justify-content:center;}
.os-item-info{flex:1;}
.os-item-name{font-family:'Playfair Display',serif;font-size:14px;color:var(--cream);}
.os-item-type{font-size:8px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-top:3px;}
.os-item-price{font-family:'EB Garamond',serif;font-size:15px;color:var(--gold);margin-top:4px;}
.os-divider{height:1px;background:var(--border);margin:20px 0;}
.os-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
.os-row-lbl{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);}
.os-row-val{font-family:'EB Garamond',serif;font-size:16px;color:var(--cream);}
.os-total-row{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid var(--border);}
.os-total-lbl{font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:var(--cream);}
.os-total-val{font-family:'Playfair Display',serif;font-size:24px;color:var(--gold);}
.os-secure{display:flex;align-items:center;gap:8px;margin-top:20px;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);}

/* PLACE ORDER BTN */
.btn-place{width:100%;font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--black);background:var(--gold);padding:20px;border:none;cursor:none;transition:background .3s;margin-top:32px;position:relative;overflow:hidden;}
.btn-place::after{content:'';position:absolute;inset:0;background:var(--gold-light);transform:translateX(-101%);transition:transform .4s var(--ease);}
.btn-place:hover::after{transform:translateX(0);}
.btn-place span{position:relative;z-index:1;}

@media(max-width:900px){
  .co-nav{padding:0 20px;}
  #co-device-badge{display:none !important;} /* hide platform badge on mobile to prevent navbar overflow */
  .co-wrap{grid-template-columns:1fr;}
  .co-main{padding:32px 20px;}
  .co-side{padding:32px 20px;border-top:1px solid var(--border);}
  .form-row{grid-template-columns:1fr;}
  .co-steps{gap:0;padding:20px 0;}
  .step{padding:0 12px;}
  .step-div{width:30px;}
}

/* UPI PAYMENT MODAL */
#upi-modal{position:fixed;inset:0;z-index:9000;background:rgba(13,58,53,0.92);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:24px;}
.upi-modal-box{background:var(--deep);border:1px solid var(--border);padding:40px 36px;max-width:420px;width:100%;text-align:center;animation:slideUp .4s var(--ease);}
@keyframes slideUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}
.upi-modal-logo{font-family:'Playfair Display',serif;font-size:16px;letter-spacing:.45em;color:var(--gold);margin-bottom:20px;}
.upi-modal-title{font-family:'Playfair Display',serif;font-size:22px;color:var(--white);margin-bottom:8px;}
.upi-modal-amount{font-family:'Playfair Display',serif;font-size:36px;color:var(--gold);margin-bottom:6px;}
.upi-modal-to{font-size:12px;color:var(--muted);letter-spacing:.05em;margin-bottom:24px;}
.upi-modal-to strong{color:var(--cream);}
.upi-qr-wrap{background:white;padding:16px;display:inline-block;margin-bottom:20px;}
.upi-qr{width:180px;height:180px;display:block;}
.upi-qr-label{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#555;margin-top:8px;}
.upi-apps{display:flex;gap:10px;justify-content:center;margin-bottom:20px;flex-wrap:wrap;}
.upi-app-btn{font-size:9px;letter-spacing:.2em;text-transform:uppercase;padding:10px 18px;border:1px solid var(--border);text-decoration:none;transition:all .25s;cursor:none;}
.upi-app-btn.gpay{color:#4285F4;border-color:#4285F4;}
.upi-app-btn.gpay:hover{background:#4285F4;color:#fff;}
.upi-app-btn.phonepe{color:#5F259F;border-color:#5F259F;}
.upi-app-btn.phonepe:hover{background:#5F259F;color:#fff;}
.upi-app-btn.paytm{color:#00BAF2;border-color:#00BAF2;}
.upi-app-btn.paytm:hover{background:#00BAF2;color:#fff;}
.upi-app-btn.bhim{color:#FF6B35;border-color:#FF6B35;}
.upi-app-btn.bhim:hover{background:#FF6B35;color:#fff;}
.upi-modal-id{font-size:11px;color:var(--muted);margin-bottom:4px;}
.upi-modal-id strong{color:var(--cream);}
.upi-modal-ref{font-size:10px;color:var(--muted);letter-spacing:.1em;margin-bottom:24px;}
.upi-modal-actions{display:flex;gap:12px;justify-content:center;margin-bottom:16px;}
.upi-paid-btn{font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:var(--black);background:var(--gold);border:none;padding:14px 28px;cursor:none;transition:background .3s;}
.upi-paid-btn:hover{background:var(--gold-light);}
.upi-cancel-btn{font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:var(--muted);background:none;border:1px solid var(--border);padding:14px 28px;cursor:none;transition:all .3s;}
.upi-cancel-btn:hover{border-color:var(--cream);color:var(--cream);}
.upi-modal-note{font-size:10px;color:var(--muted);letter-spacing:.1em;}

/* CARD PROCESSING MODAL */
#pay-processing-modal{position:fixed;inset:0;z-index:9000;background:rgba(13,58,53,0.96);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;}
.proc-box{text-align:center;padding:56px 48px;}
.proc-spinner{width:48px;height:48px;border:2px solid var(--border);border-top-color:var(--gold);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 28px;}
@keyframes spin{to{transform:rotate(360deg);}}
.proc-title{font-family:'Playfair Display',serif;font-size:26px;color:var(--white);margin-bottom:10px;}
.proc-sub{font-size:12px;color:var(--muted);letter-spacing:.15em;margin-bottom:20px;}
.proc-secure{font-size:10px;color:var(--muted);letter-spacing:.15em;}

/* FIELD ERROR */
.field-err{font-size:10px;color:#e05555;margin-top:4px;display:block;letter-spacing:.05em;}
input.err,select.err{border-color:#e05555!important;}
