:root{--ink:#292129;--muted:#796d75;--pink:#c85c83;--pink-dark:#a9476e;--blush:#fff0f5;--ivory:#fffaf7;--line:#f0e1e7;--card:#fff;--green:#24834b}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:82px;background:#FFFFFF}
body{margin:0;background:#FFFFFF;color:var(--ink);font-family:"DM Sans",Arial,sans-serif;line-height:1.45;overflow-x:hidden;padding-bottom:max(28px,26vh)}
a{color:inherit}
button,input{font:inherit}
.checkout-header{height:62px;position:sticky;top:0;z-index:100;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:7px 16px;background:#FFFFFF;backdrop-filter:blur(14px);border-bottom:1px solid rgba(184,102,136,.14)}
.back-link{justify-self:start;text-decoration:none;color:#876577;font-size:11px;font-weight:700;white-space:nowrap;padding:10px 0;min-height:40px;display:flex;align-items:center;gap:4px;touch-action:manipulation}
.checkout-brand{justify-self:center;text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1.05;white-space:nowrap;color:#974666}
.checkout-brand-name{font-size:17px;font-weight:900;letter-spacing:-.5px}
.checkout-brand-tag{font-size:8px;font-weight:800;letter-spacing:.15em;color:#8a777f}
.header-spacer{justify-self:end;width:90px}
.checkout-shell{width:min(100% - 28px,620px);margin:0 auto}
.checkout-intro{text-align:center;padding:25px 8px 18px}
.eyebrow{font-size:10px;letter-spacing:.17em;font-weight:900;color:#a66b83;margin:0 0 7px}
h1,h2,h3,p{margin-top:0}
.checkout-intro h1{font-family:"Playfair Display",Georgia,serif;font-size:clamp(28px,7vw,36px);line-height:1.1;margin:0 0 7px}
.intro-copy{font-size:13px;color:var(--muted);margin:0 auto;max-width:420px;line-height:1.55}
.trap-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.checkout-card{background:var(--card);border:1px solid var(--line);border-radius:21px;padding:19px;margin:0 0 15px;box-shadow:0 7px 24px rgba(66,36,50,.045);min-width:0}
.card-heading{display:flex;align-items:center;gap:11px;margin-bottom:16px}
.step-number{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:50%;background:#fff0f5;color:#a94b72;font-size:11px;font-weight:900}
.card-heading h2{font-size:17px;line-height:1.2;margin:0 0 3px;font-weight:800}
.card-heading p{font-size:11px;color:var(--muted);margin:0;line-height:1.4}
.product-summary{display:grid;grid-template-columns:116px minmax(0,1fr);gap:14px;align-items:start}
.product-image-wrap{height:148px;border-radius:15px;background:#fff8fa;border:1px solid #f4e5eb;overflow:hidden;display:grid;place-items:center}
.product-image-wrap img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 48%}
.product-kicker{font-size:9px;letter-spacing:.12em;color:#a76782;font-weight:900;margin:2px 0 4px}
.product-summary-copy h3{font-size:16px;line-height:1.2;margin:0 0 5px}
.product-description,.product-duration{font-size:10px;line-height:1.4;color:var(--muted);margin:0 0 5px}
.product-duration{color:#9a7181}
.quantity-line{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:11px}
.quantity-line>span{font-size:12px;font-weight:800}
.quantity-control{display:flex;align-items:center;gap:12px}
.qty-button{width:35px;height:35px;border:1px solid #e9d5df;border-radius:11px;background:#fff5f8;color:#87415e;font-size:22px;line-height:1;cursor:pointer;touch-action:manipulation;display:grid;place-items:center}
.qty-button:disabled{opacity:.35;cursor:not-allowed}
.quantity-control output{min-width:18px;text-align:center;font-size:15px;font-weight:900}
.bundle-hint{font-size:10px;color:#92717f;line-height:1.35;margin:6px 0 0}
.summary-price-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px;padding:13px 14px;border:1px solid #f0dbe4;border-radius:14px;background:#fff7fa}
.summary-price-row>div{display:flex;flex-direction:column;gap:2px}
.summary-price-row span{font-size:12px;font-weight:800}
.summary-price-row small{font-size:10px;color:var(--muted)}
.summary-price-row strong{font-size:23px;color:#ad4b73;font-weight:900;white-space:nowrap}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 10px}
.field{min-width:0;display:flex;flex-direction:column;gap:5px}
.full-field{grid-column:1/-1}
.field label,.submission-error label{font-size:11px;font-weight:800;color:#493c43}
.field label span{color:#c04f79}
.field label small,.submission-error label small{font-size:10px;color:#9a8991;font-weight:500}
.field input,.submission-error input{width:100%;height:44px;min-width:0;padding:11px 12px;border:1px solid #e8dce2;border-radius:11px;background:#fff;color:var(--ink);font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s}
.field input:focus,.submission-error input:focus{border-color:#c97896;box-shadow:0 0 0 3px rgba(200,92,131,.12)}
.field input::placeholder,.submission-error input::placeholder{color:#b7aab1}
.field small{font-size:9px;line-height:1.35;color:#998a91}
.privacy-note{display:flex;gap:7px;align-items:flex-start;margin:15px 0 0;padding:10px;border-radius:11px;background:#fff9f1;color:#82736b;font-size:10px;line-height:1.45}
.payment-methods{display:grid;gap:9px}
.payment-choice{position:relative;display:flex;align-items:center;gap:10px;min-height:66px;padding:12px;border:1px solid #eaddE4;border-radius:14px;background:#fff;cursor:pointer;touch-action:manipulation;transition:border-color .15s,background .15s}
.payment-choice.selected{border-color:#cf83a0;background:#fff7fa;box-shadow:0 0 0 2px rgba(200,92,131,.06)}
.payment-choice input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.radio-ui{width:18px;height:18px;flex:0 0 18px;border:1.5px solid #cdb9c3;border-radius:50%;display:grid;place-items:center}
.payment-choice.selected .radio-ui{border-color:var(--pink)}
.payment-choice.selected .radio-ui:after{content:"";width:9px;height:9px;border-radius:50%;background:var(--pink)}
.payment-choice-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.payment-choice-copy strong{font-size:12px}
.payment-choice-copy small{font-size:10px;color:var(--muted);line-height:1.4}
.choice-tag{font-size:8px;letter-spacing:.06em;font-weight:900;color:#a84a70;background:#ffe9f0;border-radius:999px;padding:6px 7px;white-space:nowrap}
.amount-breakdown{margin-top:13px;padding:13px 14px;border:1px solid #f0dbe4;border-radius:14px;background:#fff9fb}
.amount-breakdown>div{display:flex;align-items:center;justify-content:space-between;gap:12px}
.amount-breakdown>div span{font-size:11px;color:#655760}
.amount-breakdown>div strong{font-size:19px;color:#a84c71;white-space:nowrap}
.amount-breakdown .balance-row{padding-top:9px;margin-top:9px;border-top:1px solid #f0e1e7}
.amount-breakdown .balance-row strong{font-size:17px;color:#332a30}
.amount-breakdown p{font-size:10px;color:#96858e;margin:8px 0 0;line-height:1.4}
.payment-card{background:#FFFFFF}
.direct-upi-heading{display:flex;align-items:center;justify-content:center;gap:7px;font-size:9px;font-weight:900;letter-spacing:.12em;color:#4e6558}
.secure-dot{width:7px;height:7px;border-radius:50%;background:#36a66b;box-shadow:0 0 0 4px rgba(54,166,107,.1)}
.upi-amount-panel{text-align:center;padding:15px 10px 13px;margin:10px 0 13px;background:#fff3f7;border:1px solid #f1dce5;border-radius:15px;display:flex;flex-direction:column;gap:3px}
.upi-amount-panel small{font-size:10px;color:#806e77}
.upi-amount-panel strong{font-size:30px;line-height:1.1;color:#aa4b72;font-weight:900}
.upi-amount-panel span{font-size:10px;color:#9b828e}
.upi-app-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.upi-app{display:flex;align-items:center;gap:8px;min-height:59px;padding:9px 10px;text-decoration:none;border:1px solid #eadfe4;border-radius:13px;background:#fff;color:#332b30;touch-action:manipulation;transition:background .15s,border-color .15s;position:relative;z-index:1}
.upi-app:active{background:#fff0f5;border-color:#d48aa5}
.app-icon{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border-radius:10px;font-size:15px;font-weight:900}
.gpay-icon{background:#f0f5ff;color:#4285f4}.phonepe-icon{background:#5f259f;color:#fff}.paytm-icon{background:#e8f7ff;color:#009fce;font-size:11px}.other-icon{background:#edf8f0;color:#26734a;font-size:9px}
.upi-app strong{font-size:11px;min-width:0}
.app-chevron{margin-left:auto;color:#a28b96;font-size:15px}
.app-note{font-size:10px;color:#8d7c85;line-height:1.5;text-align:center;margin:10px 3px 12px}
.qr-section{display:flex;align-items:center;justify-content:center;gap:14px;padding:13px;border:1px solid #f0e3e8;border-radius:14px;background:#fff}
.qr-image-wrap{width:112px;height:138px;flex:0 0 112px;display:grid;place-items:center}
.qr-image-wrap img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.qr-copy{min-width:0}
.qr-copy strong{font-size:12px}
.qr-copy p{font-size:10px;color:var(--muted);line-height:1.45;margin:5px 0 0}
.upi-id-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 13px;margin-top:11px;border:1px dashed #d5bcc8;border-radius:12px;background:#fff}
.upi-id-row>div{display:flex;flex-direction:column;gap:2px}
.upi-id-row small{font-size:9px;color:#98838e}
.upi-id-row strong{font-size:14px;letter-spacing:.01em}
.copy-button{min-height:38px;padding:8px 12px;border:0;border-radius:9px;background:#f6e4ec;color:#91405f;font-size:9px;font-weight:900;cursor:pointer;touch-action:manipulation}
.copy-status{min-height:15px;font-size:10px;color:#28834e;text-align:right;margin:3px 3px 0}
.payment-followup{margin-top:14px;padding:15px 13px 13px;text-align:center;border-radius:15px;background:#fff0f5;border:1px solid #eed6e0;scroll-margin-top:82px}
.followup-title{font-size:12px;font-weight:900;margin:0 0 5px}
.followup-copy{font-size:10px;line-height:1.5;color:#7b6872;margin:0 auto 12px;max-width:390px}
.submit-order-button{width:100%;min-height:50px;padding:13px 16px;border:0;border-radius:12px;background:#b84f78;color:#fff;font-size:13px;font-weight:900;box-shadow:0 7px 18px rgba(184,79,120,.2);cursor:pointer;touch-action:manipulation}
.submit-order-button:disabled{opacity:.65;cursor:wait}
.submit-hint{font-size:9px;color:#947e89;margin:8px 0 0;line-height:1.4}
.submission-error{margin-top:13px;padding:13px;border:1px solid #efc5c5;border-radius:13px;background:#fff7f7;color:#643838}
.submission-error[hidden]{display:none}
.submission-error>strong{font-size:12px}
.submission-error p{font-size:10px;line-height:1.5;margin:6px 0;color:#775454}
.request-id-line strong{overflow-wrap:anywhere}
.submission-error label{display:block;margin:10px 0 5px}
.support-button{display:flex;align-items:center;justify-content:center;min-height:42px;margin-top:10px;padding:10px;border-radius:10px;background:#e8f7ed;color:#17653a;text-decoration:none;font-size:11px;font-weight:900;touch-action:manipulation}
.checkout-footer{text-align:center;padding:10px 10px 28px;color:#8c7b84;font-size:10px;line-height:1.5}
.checkout-footer p{margin:4px 0}
.checkout-footer strong{color:#775264}
.checkout-footer a{color:#a44e71;font-weight:800}
:focus-visible{outline:3px solid rgba(200,92,131,.35);outline-offset:2px}
@media(max-width:430px){.checkout-header{height:58px;padding:6px 10px}.back-link{font-size:9px;gap:2px}.header-spacer{width:80px}.checkout-brand-name{font-size:15px}.checkout-brand-tag{font-size:7px}.checkout-shell{width:min(100% - 20px,620px)}.checkout-intro{padding:20px 5px 15px}.checkout-card{padding:15px;border-radius:18px}.product-summary{grid-template-columns:102px minmax(0,1fr);gap:11px}.product-image-wrap{height:140px}.product-summary-copy h3{font-size:14px}.product-description,.product-duration{font-size:9px}.quantity-line{margin-top:8px}.qty-button{width:33px;height:33px}.summary-price-row{margin-top:12px;padding:11px 12px}.summary-price-row strong{font-size:21px}.form-grid{gap:11px 8px}.field input{height:43px;font-size:16px}.payment-choice{padding:10px;gap:8px}.choice-tag{font-size:7px;padding:5px 6px}}
@media(max-width:350px){.back-link span{display:none}.header-spacer{width:24px}.product-summary{grid-template-columns:88px minmax(0,1fr);gap:9px}.product-image-wrap{height:125px}.product-summary-copy h3{font-size:13px}.quantity-control{gap:7px}.form-grid{grid-template-columns:1fr}.full-field{grid-column:auto}.qr-section{gap:9px;padding:10px}.qr-image-wrap{width:96px;flex-basis:96px;height:120px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.payment-choice.locked{opacity:.82;cursor:not-allowed}
.locked-details-note{padding:9px;border-radius:9px;background:#fff0f5!important;color:#85546a!important}
/* Do not let component display rules override the HTML hidden state. */
[hidden]{display:none!important}
/* UPI launch notices (only shown when an app does not open / in-app browsers) */
.upi-launch-note{margin:0 3px 12px;padding:9px 11px;border-radius:10px;background:#fff6e5;border:1px solid #f0dcae;color:#7a5a12;font-size:10px;line-height:1.5;text-align:center}
.upi-launch-note[hidden]{display:none}
