:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif;color:#1a1a1a;background:#fff;font-synthesis:none}
*{box-sizing:border-box}
body{margin:0;padding:40px 20px}
.checkout{width:100%;max-width:430px;margin:auto}
header{display:flex;align-items:center;gap:14px;font-size:21px;font-weight:600}
.brand-icon{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;border-radius:50%;box-shadow:0 2px 7px #0002;color:#777}
#back{width:28px;padding:0;color:#777;background:transparent;font-size:28px}
.summary{display:flex;flex-direction:column;gap:8px;align-items:stretch;margin:24px 0}
h1,#amount{font-size:16px;font-weight:600;margin:0;overflow-wrap:anywhere}
h2{font-size:14px;font-weight:600;line-height:20.3px;color:#1a1a1a;margin:20px 0 10.5px}
label{display:block;font-size:13.02px;font-weight:400;line-height:14.973px;color:#1a1a1a;margin:0 0 3.5px}
#details>label[for="email"]{margin-top:0}
#details label[for="name"],#details label[for="country"]{margin-top:12px}
input,select{display:block;width:100%;height:39.0938px;min-height:39.0938px;background:#fff;border:1px solid #e6e6e6;border-radius:6px;padding:10.5px;font:inherit;font-size:14px;font-weight:400;line-height:16.1px;color:#1a1a1a;box-shadow:0 1px 1px rgba(0,0,0,.03),0 3px 6px rgba(0,0,0,.02);outline:none;appearance:none;-webkit-appearance:none}
input::placeholder{color:#717171;opacity:1}
input:disabled,select:disabled{color:#555;background:#fafafa}
input:focus,select:focus{outline:none;border-color:#5e5e5e;box-shadow:0 1px 1px rgba(0,0,0,.03),0 3px 6px rgba(0,0,0,.02),0 0 0 1px #9fd7ff,0 0 0 3px #5b8fc9;position:relative;z-index:2}
.card-section{border:0;border-radius:0;padding:0}
.card-title{display:flex;align-items:center;gap:8px;font-size:12.25px;font-weight:600;line-height:14.0875px;color:#5f5f5f;margin:0 0 14px;overflow:visible}
.card-title-icon{width:16px;height:16px;flex-shrink:0;overflow:visible;fill:#5f5f5f}
#checkout-container{margin-top:20px}
/* Embedded-only: the provider already owns its card-field padding. */
.sunrate-embedded #checkout-container{position:relative;margin-top:0;background:#fff}
/* Complete only the existing group perimeter; never cover or move a field. */
.sunrate-embedded #checkout-container[data-sized]::after{
  content:"";position:absolute;box-sizing:border-box;top:13px;left:13px;right:13px;
  height:calc(var(--provider-content-height) - 26px);
  border:1px solid #e6e6e6;border-radius:8px;pointer-events:none;
}
/* Preserve the provider page at its natural width and keep its full height visible.
   The SDK can still grow the frame when errors add content. */
.sunrate-embedded #checkout-container>iframe{display:block;min-height:254px!important}
/* Match our fields to the provider's existing 26px field inset, not vice versa. */
.sunrate-embedded #details>label,
.sunrate-embedded #details>h2,
.sunrate-embedded .card-title,
.sunrate-embedded .card-section>label{margin-left:26px;margin-right:26px}
.sunrate-embedded #pay{width:calc(100% - 52px);margin-left:26px;margin-right:26px}
button{font:inherit;cursor:pointer;border:0;border-radius:6px;padding:13px;width:100%;background:#0074d4;color:#fff}
button:disabled{opacity:.6}
a:focus-visible,#back:focus-visible{outline:0;box-shadow:0 0 0 1px #9fd7ff,0 0 0 3px #5b8fc9}
#result{font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.error{color:#a12424}
#test-warning{font-size:12px;padding:9px 12px;background:#fff5d8;border-radius:5px;color:#715514}
#standalone{display:block;text-align:center;font-size:13px;margin-top:16px;color:#006bc6}
footer{text-align:center;font-size:12px;color:#777;margin:26px 0}
[hidden]{display:none!important}
@media(max-width:480px){body{padding:20px 16px}.summary{margin:20px 0}}
html.embedded body{padding-top:18px}

.initializing>header,.initializing>.summary,.initializing>#details,.initializing>#test-warning,.initializing>#refresh,.initializing>#resume{display:none!important}
#loading{padding-top:6px}
.skeleton{background:linear-gradient(90deg,#f0f1f3 25%,#fafafa 50%,#f0f1f3 75%);background-size:200% 100%;animation:checkout-pulse 1.5s ease-in-out infinite;border-radius:6px;margin-bottom:24px}
.sk-title{height:42px;width:55%}
.sk-summary{height:48px;width:75%}
.sk-field{height:39px}
.sk-card{height:330px}
@keyframes checkout-pulse{to{background-position:-200% 0}}
@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}
.card-number-row{position:relative}
.card-number-row #number{padding-right:93px}
.card-brands{position:absolute;right:10.5px;top:0;bottom:0;display:flex;align-items:center;gap:2.45px;pointer-events:none;z-index:2}
.card-brands svg{display:block;width:25.72px;height:17.14px;flex-shrink:0;border-radius:2px}
.group{position:relative;border:0;border-radius:6px;overflow:visible;box-shadow:0 1px 1px rgba(0,0,0,.03),0 3px 6px rgba(0,0,0,.02)}
.group input,.group select{border:1px solid #e6e6e6;border-radius:0;box-shadow:none}
.group #number{border-radius:6px 6px 0 0}
.split{display:flex;margin-top:-1px}
.split input,.cvc-row{width:50%;min-width:0}
.cvc-row{position:relative}
.split #expiry{border-right:0;border-radius:0 0 0 6px}
.split #cvv{width:100%;padding-right:44.3px;border-radius:0 0 6px 0}
.cvc-icon{position:absolute;right:10.5px;top:0;bottom:0;display:flex;align-items:center;pointer-events:none;z-index:2}
.cvc-icon svg{display:block;width:27.3px;height:18.2px}
.country-row{position:relative}
.group>select,.country-row select{border-radius:6px 6px 0 0;padding-right:24.5px}
.country-chevron{position:absolute;right:0;top:0;bottom:0;width:24.5px;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2;font-size:14px;color:#5f5f5f}
.country-chevron svg{width:.8em;height:.8em;display:block;fill:currentColor}
.group>#postal{margin-top:-1px;border-radius:0 0 6px 6px}
.group input:focus,.group select:focus{z-index:2;border-color:#5e5e5e;box-shadow:0 1px 1px rgba(0,0,0,.03),0 3px 6px rgba(0,0,0,.02),0 0 0 1px #9fd7ff,0 0 0 3px #5b8fc9}
#pay{margin-top:20px;height:52.0938px;min-height:52.0938px;padding:18px;font-size:14px;font-weight:600;line-height:16.1px;border-radius:6px;box-shadow:inset 0 0 0 1px rgba(50,50,93,.1),0 2px 5px 0 rgba(50,50,93,.1),0 1px 1px 0 rgba(0,0,0,.07)}
#pay:focus-visible{outline:none;box-shadow:inset 0 0 0 1px rgba(50,50,93,.1),0 2px 5px 0 rgba(50,50,93,.1),0 1px 1px 0 rgba(0,0,0,.07),0 0 0 1px #9fd7ff,0 0 0 3px #5b8fc9}
#resume{margin-bottom:12px}

.field-error{color:#b42318;font-size:13px;margin:4px 0}
.field-error:empty{display:none}
[aria-invalid="true"]{outline:none;border-color:#e61947;box-shadow:0 1px 1px rgba(0,0,0,.03),0 3px 6px rgba(0,0,0,.02)}
[aria-invalid="true"]:focus{border-color:#5e5e5e;box-shadow:0 1px 1px rgba(0,0,0,.03),0 3px 6px rgba(0,0,0,.02),0 0 0 1px #9fd7ff,0 0 0 3px #5b8fc9}

/* Overlay the host skeleton until the provider SDK announces readiness. */
.sunrate-embedded main{position:relative}
.sunrate-embedded #loading{position:absolute;inset:0;z-index:3;background:#fff;pointer-events:auto}
