/* Reasons to Believe — approved checkout layout; payment input IDs retain the native UVVIPAY implementation. */
html,body{background:#fff!important;min-height:100%;}
.hidden{display:none!important}
body{padding:0!important;}
.checkout-shell{max-width:none!important;min-height:0!important;padding:0!important;background:#fff!important;box-shadow:none!important;margin:0!important;width:100%!important}
.checkout-view{padding:0!important;max-width:none!important;width:100%!important}
#uvvi-native-controls{display:none!important}
#loading-view{min-height:270px;display:grid;place-items:center}
.spinner{width:24px;height:24px;border-radius:50%;border:2px solid #e6dce8;border-top-color:#77057C;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
#alert{margin:15px 0;padding:12px;border:1px solid #eab1b1;border-radius:8px;background:#fff5f5;color:#9d3535;font-size:13px}
#alert.neutral{border-color:#d9d9e4;background:#f8f8fa;color:#344054}
.chips .chip{cursor:pointer;transition:border-color .15s,background .15s}
.chips .chip:focus-visible,.sel select:focus-visible,#pay-button:focus-visible{outline:3px solid #cca4d0;outline-offset:3px}
.cardbox .cardgrid input{width:100%;min-width:0}
.tip-disclosure{font-size:11px!important;line-height:1.5!important;color:#3a625d!important;margin-top:12px}
#tipsel:disabled{opacity:.55}
#pay-button{height:44px;width:100%;border-radius:999px;background:linear-gradient(180deg,#8F0A95,#6A0470);color:#fff;font-size:16px;font-weight:700;cursor:pointer;display:flex;justify-content:center;align-items:center;position:relative;letter-spacing:.02em}
#pay-button:disabled{opacity:.6;cursor:wait}
.button-spinner{position:absolute;width:20px;height:20px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:spin .7s linear infinite}
#pay-button.loading #pay-label{opacity:0}
.status-view{min-height:440px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:10px;padding:30px 24px}
.status-view h1{font-size:24px}.status-view p{font-size:15px;color:#475467;max-width:360px}
.status-icon{display:grid;place-items:center;background:#ecf8ee;color:#16863b;width:46px;height:46px;border-radius:50%;font-size:22px}
.status-icon.error{background:#fff0f0;color:#b53b3b}
.upsell-view{max-width:608px;margin:35px auto;padding:24px;text-align:center}.upsell-view button{margin:12px auto}
.upsell-view .pay-button{height:46px;width:100%;background:#77057C;color:white;border-radius:30px}
#uvvi-native-controls.hidden{display:none!important}
@media(max-width:600px){.page{padding:24px 18px 48px!important}.header .wrap{padding:0 18px!important}.chips{gap:14px 12px}.chip{height:46px}}
@media(min-width:601px) and (max-width:959px){.page{max-width:608px}}

/* v6: native UVVIPAY card component restored — scoped styles; no JS/payment changes. */
.page .lbl-big,.page .field>label,.page .payment-section h2,.page .holder-block>label{
  font-family:"Plus Jakarta Sans",sans-serif;
  font-size:14px;line-height:1.45;font-weight:500;letter-spacing:0;color:#344054;
}
.page .field>label,.page .holder-block>label{margin-bottom:6px}
.page .req{font-size:12px;line-height:1.5;font-weight:400;color:#667085}
.page .in,.page .payment-section input{font-family:"Plus Jakarta Sans",sans-serif;font-size:15px;line-height:1.45;color:#344054}
.page .payment-section{margin-top:32px;width:100%}
.page .payment-section h2{margin:0 0 12px;font-size:16px;font-weight:600}
.page .payment-card{border:1px solid #D0D5DD;border-radius:12px;box-shadow:0 1px 3px rgba(16,24,40,.06);overflow:hidden;background:#fff}
.page .payment-row{display:flex;align-items:center;gap:0;height:50px;padding:0 14px;border-bottom:1px solid #EAECF0}
.page .radio{width:16px;height:16px;flex:0 0 16px;border:1px solid #344054;border-radius:100%;display:grid;place-items:center;margin-right:14px}
.page .radio span{display:block;width:6px;height:6px;background:#101828;border-radius:100%}
.page .card-glyph{width:17px;height:12px;flex:0 0 17px;border-radius:2px;background:#101828;margin-right:10px;position:relative}
.page .card-glyph span{position:absolute;left:0;right:0;top:3px;height:2px;background:#fff}
.page .payment-label{font-size:14px;line-height:20px;font-weight:500;color:#344054}
.page .brand-strip{margin-left:auto;display:flex;align-items:center;gap:4px}
.page .brand{width:24px;height:16px;display:grid;place-items:center;border:1px solid #D0D5DD;border-radius:2px;background:#fff;font-size:7px;font-weight:800;font-style:normal;line-height:1;overflow:hidden}
.page .brand.visa{color:#1a3c8f;font-style:italic}
.page .brand.mastercard{position:relative}
.page .brand.mastercard i,.page .brand.mastercard b{position:absolute;top:3px;width:9px;height:9px;border-radius:50%}
.page .brand.mastercard i{left:5px;background:#ea3c2f}.page .brand.mastercard b{right:5px;background:#f2a622;opacity:.92}
.page .brand.jcb{color:#18724a;font-size:8px}.page .brand.diners{color:#1e62a7;border-radius:8px;font-size:10px}
.page .card-fields{padding:14px 14px 16px}
.page .card-fields .sub-label{display:block;margin-bottom:6px;font-size:13px;line-height:18px;font-weight:500;color:#667085}
.page .card-input-group{overflow:hidden;border:1px solid #D0D5DD;border-radius:8px;box-shadow:0 1px 3px rgba(16,24,40,.07);transition:border-color .15s,box-shadow .15s}
.page .card-input-group:focus-within{border-color:#77057C;box-shadow:0 0 0 3px rgba(119,5,124,.10)}
.page .card-input-group input{display:block;height:43px;min-width:0;width:100%;padding:0 12px;background:#fff;border:0;border-radius:0;outline:0;box-shadow:none;font-size:15px}
.page .card-input-group input::placeholder,.page .holder-block input::placeholder{color:#98A2B3;opacity:1}
.page .number-row{position:relative;display:flex;align-items:center;border-bottom:1px solid #EAECF0}
.page .number-row input{padding-right:110px}
.page .field-brands{position:absolute;right:10px;top:50%;transform:translateY(-50%);pointer-events:none}
.page .card-bottom-row{display:grid;grid-template-columns:1fr 1fr}
.page .card-bottom-row>input{border-right:1px solid #EAECF0}
.page .cvc-wrap{position:relative;min-width:0}
.page .cvc-wrap input{padding-right:43px}
.page .cvc-icon{position:absolute;right:11px;top:50%;transform:translateY(-50%);width:23px;height:16px;border:1px solid #667085;border-radius:3px;display:grid;place-items:end center;padding-bottom:1px;font-size:7px;color:#475467;pointer-events:none}
.page .holder-block{margin-top:15px}
.page .holder-block>label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:#667085}
.page .holder-block input{display:block;width:100%;min-width:0;height:43px;border:1px solid #D0D5DD;border-radius:8px;padding:0 12px;outline:0;box-shadow:0 1px 3px rgba(16,24,40,.07);font-size:15px;background:#fff}
.page .holder-block input:focus{border-color:#77057C;box-shadow:0 0 0 3px rgba(119,5,124,.10)}
@media(max-width:360px){.page .payment-row{padding:0 10px}.page .card-fields{padding:12px 10px 14px}.page .brand-strip{gap:2px}.page .brand{width:21px}.page .number-row input{padding-right:96px}}

/* v7: centered section headings (no unrelated layout changes) */
.page .lbl-big{display:block;text-align:center;margin-left:auto;margin-right:auto}
.page .payment-section h2{text-align:center}

/* v8: refine tip heart + final info text alignment */
.tip{padding-right:84px}
.tip p:first-child{max-width:calc(100% - 44px)}
.tip .tip-ico{right:20px;bottom:22px;width:30px;height:30px;color:#7DBDB7;display:block}
.tip-disclosure{max-width:calc(100% - 52px);margin-top:10px!important}

.warn{align-items:flex-start;gap:8px;margin-top:18px;font-size:15px;line-height:1.45;font-weight:600;color:#344054}
.warn svg{flex:none;margin-top:2px;color:#667085}
.warn-sub{margin-top:6px;font-size:13px;line-height:1.55;color:#475467}
.terms{margin-top:14px;font-size:13px;line-height:1.6;color:#475467}
.terms b{color:#344054}
.secure{align-items:flex-start;gap:12px;margin-top:18px;font-size:14px;line-height:1.55;color:#475467}
.secure svg{flex:none;width:28px;height:28px;margin-top:1px}

@media (max-width: 600px){
  .tip{padding:20px 64px 20px 20px}
  .tip p:first-child,.tip-disclosure{max-width:100%}
  .tip .tip-ico{right:16px;bottom:18px;width:28px;height:28px}
  .warn{font-size:14px}
  .warn-sub,.terms,.secure{font-size:13px}
}
