.checkout-dialog{width:min(590px,calc(100% - 28px));max-width:calc(100% - 28px);max-height:calc(100vh - 28px);max-height:calc(100dvh - 28px);margin:auto;padding:0;border:1px solid #d3ddca;border-radius:25px;background:#fbfbf0;color:#102d28;box-shadow:0 26px 90px rgba(16,45,40,.24);overflow:auto;overscroll-behavior:contain}
.checkout-dialog::backdrop{background:rgba(16,45,40,.42);backdrop-filter:blur(5px)}
.checkout-dialog:not([open]){display:none}
.checkout-card{position:relative;padding:34px}
.checkout-close{position:absolute;top:17px;right:17px;display:grid;place-items:center;width:36px;height:36px;border:1px solid #d4dfce;border-radius:12px;background:#f2f5e7;color:#102d28;font-size:17px;cursor:pointer}
.checkout-close:hover{background:#e8efcf}
.checkout-eyebrow{display:flex;align-items:center;gap:9px;padding-right:34px;margin-bottom:20px;font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.09em;color:#5e7467}
.checkout-window{width:21px;height:22px;border:2px solid #102d28;border-radius:3px;position:relative;flex:none}
.checkout-window::before{content:'';position:absolute;left:0;right:0;top:5px;border-top:2px solid #102d28}
.checkout-window::after{content:'';position:absolute;left:6px;top:7px;bottom:0;border-left:2px solid #102d28}
.checkout-card h2{max-width:none;margin:0 0 14px;font-family:var(--body,system-ui);font-size:clamp(27px,5vw,34px);font-weight:800;line-height:1.1;letter-spacing:-.035em;text-transform:none}
#checkout-description{margin:0 0 23px;color:#5e7467;font-size:15px;line-height:1.55}
.checkout-label{display:block;margin:16px 0 7px;font-weight:700;font-size:14px}
.checkout-dialog input[type=email],.checkout-dialog input[type=text],.checkout-dialog select,.resend-form input{width:100%;min-width:0;min-height:52px;padding:13px 15px;border:1px solid #c8d5c1;border-radius:13px;background:#f1f4e7;color:#102d28;font:inherit;outline:none;transition:border-color .2s,box-shadow .2s}
.checkout-dialog select{font-weight:750;background:#eef4d9;cursor:pointer}
.checkout-dialog input:focus,.checkout-dialog select:focus,.resend-form input:focus{border-color:#74924c;box-shadow:0 0 0 3px rgba(205,235,74,.32)}
.checkout-dialog input::placeholder{color:#889485}
.checkout-plan-note{margin:7px 0 0;font-size:12px;line-height:1.45;color:#667b60}
.checkout-summary{margin:0 0 18px;padding:17px 18px;border:1px solid #d3dfbb;border-radius:16px;background:#eef4d9}
.checkout-summary-title{margin-bottom:10px;font-size:13px;line-height:1.4;color:#42594c}
.checkout-summary-title strong{font-weight:800;color:#102d28}
.checkout-summary-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 14px;line-height:1.1}
.checkout-summary-price strong{font-family:var(--display,system-ui);font-size:clamp(28px,5vw,34px);font-weight:400;white-space:nowrap}
.checkout-summary-price s{font-size:16px;font-weight:600;color:#5e7467;text-decoration-thickness:2px;white-space:nowrap}
.checkout-summary-price s[hidden]{display:none}
.checkout-monthly{margin:8px 0 0;font-size:14px;font-weight:700;color:#42594c}
.checkout-consent{display:flex;align-items:flex-start;gap:11px;margin:18px 0;color:#25453c;font-size:13px;line-height:1.5;cursor:pointer}
.checkout-consent input{width:21px;height:21px;flex:none;margin:0;accent-color:#102d28;cursor:pointer}
.checkout-consent a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.checkout-consent input:focus-visible,.checkout-close:focus-visible{outline:3px solid #cdeb4a;outline-offset:3px}
.checkout-pay{display:flex;width:100%;gap:12px;justify-content:space-between;white-space:normal;min-height:54px;margin-top:22px;text-align:left}
.checkout-pay span{font-size:21px}
.checkout-status{min-height:0;margin:9px 0 0!important;font-size:13px;line-height:1.45;color:#9e3426}
.checkout-status:empty{display:none}
.checkout-status.is-ok{color:#3b6840}
.checkout-fineprint{margin:13px 0 0;color:#5e7467;font-size:12px;line-height:1.5}
.checkout-security{margin:17px 0 0;padding-top:15px;border-top:1px solid #dfe5d7;text-align:center;color:#6b7d64;font-size:11px}
.checkout-dialog button:disabled,.checkout-dialog input:disabled,.checkout-dialog select:disabled{opacity:.65;cursor:wait}
.checkout-code{margin:16px 0;padding:14px;border:1px solid #cbd9b9;border-radius:14px;background:#eef4db;font-size:13px;line-height:1.5}
.checkout-code[hidden]{display:none}
.checkout-code p{margin:0}
.checkout-code-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:10px}
.checkout-code-row input{letter-spacing:.2em;font-weight:750}
.checkout-code-row button{border:0;background:none;color:#305242;font:inherit;font-size:12px;text-decoration:underline;cursor:pointer}
.payment-result{padding:32px 0 0;scroll-margin-top:88px}
.payment-result[hidden]{display:none}
.payment-result-card{padding:clamp(22px,4vw,42px);border:1px solid #c6d7b8;border-radius:23px;background:rgba(244,249,225,.97);box-shadow:0 12px 35px rgba(46,66,45,.08)}
.payment-eyebrow{display:inline-block;margin-bottom:16px;padding:6px 11px;background:#102d28;color:#f9faef;border-radius:999px;text-transform:uppercase;font-size:11px;letter-spacing:.09em;font-weight:750}
.payment-status-title{max-width:850px;margin:0 0 15px;font-family:var(--display);font-size:clamp(27px,4vw,43px);line-height:1.12;text-transform:uppercase}
.payment-status-title:focus,#payment-result-message:focus{outline:none}
#payment-result-message{max-width:850px;font-size:clamp(15px,1.5vw,18px);line-height:1.55;color:#5e7467;overflow-wrap:anywhere}
.resend-caption{margin-top:24px!important;margin-bottom:8px!important;font-size:15px;font-weight:750}
.resend-form{max-width:670px}
.resend-form label{display:block;margin:0 0 7px;color:#5e7467;font-size:12px}
.resend-row{display:flex;gap:9px;align-items:stretch}
.resend-row input{flex:1;background:#fbfbf0}
.resend-row button{flex:none}
.payment-support{margin-top:23px!important;color:#5e7467;font-size:14px;line-height:1.7}
.payment-support a{color:#102d28;text-decoration:none;font-size:16px;overflow-wrap:anywhere}
.payment-support a:hover{text-decoration:underline}
#payment-pending-actions{margin-top:18px}
.checkout-fallback-backdrop{position:fixed;inset:0;z-index:9998;background:rgba(16,45,40,.42)}
.checkout-dialog.is-fallback[open]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;z-index:9999}
@media(max-width:560px){.checkout-card{padding:25px 20px 22px}.checkout-close{top:12px;right:12px;width:32px;height:32px}.checkout-eyebrow{font-size:10px;margin-bottom:16px}.checkout-consent{font-size:12px}.checkout-pay{font-size:15px}.checkout-code-row{grid-template-columns:1fr}.payment-result{padding-top:18px}.payment-result-card{border-radius:18px}.resend-row{flex-direction:column}.resend-row button{width:100%}}
@media(prefers-reduced-motion:reduce){.checkout-dialog *{transition:none!important}}
