/* ===== Checkout + Contact ===== */
.pagehead{background:var(--headbg);padding:150px 24px 60px;border-radius:0 0 48px 48px}
.pagehead h1{font-size:clamp(56px,12vw,190px);font-weight:800;letter-spacing:-.065em;line-height:.84}
.cols2{display:grid;grid-template-columns:1.25fr 1fr;gap:28px;padding:50px 24px 120px;max-width:1500px;margin:0 auto;align-items:start}
@media(max-width:900px){.cols2{grid-template-columns:1fr}}
.panel{background:var(--paper);border-radius:var(--r);padding:clamp(22px,3vw,40px);margin-bottom:20px}
.panel h3{font-size:28px;letter-spacing:-.04em;font-weight:800;margin-bottom:20px;display:flex;gap:10px;align-items:center}
.panel h3 i{font-style:normal;background:var(--ink);color:var(--butter);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:14px}
.fld{position:relative;margin-bottom:14px}
.fld input,.fld textarea,.fld select{width:100%;padding:24px 16px 10px;border:1.5px solid #0003;background:#fff;border-radius:16px;font:600 16px 'Bricolage Grotesque';outline:0;transition:.3s}
.fld textarea{min-height:110px;resize:vertical}
.fld label{position:absolute;left:16px;top:17px;font-size:15px;opacity:.55;pointer-events:none;transition:.25s var(--ease);transform-origin:left}
.fld input:focus,.fld textarea:focus,.fld select:focus{border-color:var(--ink);box-shadow:0 0 0 4px var(--butter)}
.fld input:focus+label,.fld input:not(:placeholder-shown)+label,.fld textarea:focus+label,.fld textarea:not(:placeholder-shown)+label,.fld select+label{transform:translateY(-11px) scale(.72);opacity:.7}
.fld.err input,.fld.err textarea{border-color:#d9261c;animation:shake .4s}
@keyframes shake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.two{grid-template-columns:1fr}}
.sum{position:sticky;top:96px}
.sum .li{grid-template-columns:54px 1fr auto}
.sum .li .sheet{width:54px}
.row{display:flex;justify-content:space-between;padding:8px 0;font-size:16px}
.row.t{font-size:30px;font-weight:800;letter-spacing:-.04em;border-top:2px solid var(--ink);margin-top:10px;padding-top:16px}
.trust{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.trust span{font:600 11px 'JetBrains Mono';letter-spacing:.06em;text-transform:uppercase;border:1.5px solid #0003;border-radius:100px;padding:6px 12px}
.place{width:100%;justify-content:center;font-size:18px;padding:20px;margin-top:14px}

/* gateway modal */
.gw{position:fixed;inset:0;background:#000a;z-index:9200;display:none;place-items:center;padding:16px}
.gw.on{display:grid}
.gwbox{background:#fff;border-radius:28px;width:min(440px,100%);padding:30px;text-align:center;animation:objin .6s var(--spring)}
@keyframes objin{from{transform:scale(.6) translateY(60px);opacity:0}}
.gwbox .badge{display:inline-block;background:var(--orange);color:#fff;border-radius:100px;padding:5px 12px;margin-bottom:14px}
.gwbox h4{font-size:32px;letter-spacing:-.04em;margin-bottom:6px}
.gwbox .amt{font-size:52px;font-weight:800;letter-spacing:-.05em;margin:8px 0}
.gwbox p{opacity:.7;line-height:1.4;margin-bottom:18px;font-size:14px}
.gwbox .btn{width:100%;justify-content:center;margin-top:8px}
.spinner{width:64px;height:64px;border:6px solid #0002;border-top-color:var(--orange);border-radius:50%;margin:20px auto;animation:spin .8s linear infinite}

/* success */
.done{text-align:center;padding:170px 24px 120px;max-width:820px;margin:0 auto}
.done .tick{width:130px;height:130px;border-radius:50%;background:var(--butter);margin:0 auto 30px;display:grid;place-items:center;font-size:64px;animation:objin .8s var(--spring)}
.done h1{font-size:clamp(44px,8vw,110px);letter-spacing:-.06em;line-height:.9;font-weight:800}
.done p{font-size:19px;line-height:1.5;margin:20px 0}
.done .oid{display:inline-block;font:600 16px 'JetBrains Mono';background:var(--ink);color:var(--butter);padding:10px 20px;border-radius:100px}
.done .btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:24px}

/* contact */
.cinfo a,.cinfo p{display:block;font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.4}
.cinfo a:hover{color:var(--orange)}
.cinfo h6{font:600 12px 'JetBrains Mono';letter-spacing:.08em;text-transform:uppercase;opacity:.6;margin:18px 0 6px}
.map{border-radius:var(--r);overflow:hidden;height:280px;margin-top:20px;border:0;width:100%}

/* Razorpay-only payment panel */
.rzp{display:flex;gap:16px;align-items:center;padding:18px;border:1.5px solid var(--ink);border-radius:18px;background:#fff}
.rzp-logo{flex:none;background:#0C2451;color:#fff;font-weight:800;letter-spacing:-.02em;padding:10px 14px;border-radius:12px;font-size:17px}
.rzp b{display:block;font-size:17px}
.rzp small{display:block;opacity:.7;font-size:13px;margin-top:2px;line-height:1.4}
