:root { --checkout-brand:#006847; --checkout-dark:#004f36; --checkout-ink:#15231e; --checkout-muted:#4b5d56; --checkout-soft:#f5f8f7; --checkout-border:rgba(0,104,71,.18); }
.checkout-page { min-height:100vh; margin:0; background:#f5f8f7; color:var(--checkout-ink); font-family:'DM Sans',-apple-system,BlinkMacSystemFont,sans-serif; }
.checkout-shell { width:min(100% - 32px, 600px); margin:0 auto; padding:20px 0 44px; }
.checkout-brandbar { display:flex; align-items:center; margin-bottom:18px; }
.checkout-brandbar img { width:34px; height:34px; object-fit:contain; display:block; }
.checkout-title { margin:0 0 16px; color:var(--checkout-ink); font-family:'DM Serif Display',Georgia,serif; font-size:2rem; line-height:1.05; }
.checkout-plan { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 14px; border:1px solid var(--checkout-border); border-radius:10px; background:#fff; }
.checkout-plan strong { font-size:.96rem; }
.checkout-plan span { color:var(--checkout-dark); font-weight:800; }
.checkout-section { margin-top:20px; }
.checkout-section h2 { margin:0 0 8px; font-size:1.1rem; line-height:1.35; }
.checkout-info { display:inline-grid; place-items:center; width:20px; height:20px; margin-left:4px; padding:0; border:1px solid var(--checkout-border); border-radius:50%; background:#fff; color:var(--checkout-dark); cursor:pointer; font:700 .74rem/1 sans-serif; vertical-align:2px; }
.checkout-popover { width:min(340px,calc(100vw - 32px)); padding:14px 16px; border:1px solid var(--checkout-border); border-radius:10px; background:#fff; color:var(--checkout-muted); box-shadow:0 12px 36px rgba(16,42,32,.18); font:.86rem/1.45 'DM Sans',sans-serif; }
.checkout-options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.checkout-option { min-height:76px; padding:10px 8px; border:1px solid var(--checkout-border); border-radius:12px; background:#fff; color:var(--checkout-ink); cursor:pointer; font:inherit; text-align:center; transition:border-color .16s ease,box-shadow .16s ease,background .16s ease; }
.checkout-option:hover { border-color:rgba(0,104,71,.42); }
.checkout-option:focus-visible { outline:0; box-shadow:0 0 0 3px rgba(0,104,71,.2); }
.checkout-option.is-selected,.checkout-option[aria-pressed="true"] { border:2px solid var(--checkout-brand); background:#eaf4f0; }
.checkout-option strong,.checkout-option span { display:block; }
.checkout-option strong { font-size:1rem; }
.checkout-option span { margin-top:5px; color:var(--checkout-muted); font-size:.86rem; }
.checkout-option input { position:absolute; opacity:0; pointer-events:none; }
.checkout-options--addons { grid-template-columns:1fr repeat(4,minmax(0,1fr)); }
.checkout-option--website { text-align:center; }
.checkout-card { margin-top:22px; padding:18px; border:1px solid var(--checkout-border); border-radius:14px; background:#fff; }
.checkout-field { display:block; margin-bottom:22px; }
.checkout-field span { display:block; margin-bottom:8px; font-size:.9rem; font-weight:700; }
.checkout-field input { box-sizing:border-box; width:100%; min-height:48px; padding:11px 13px; border:1px solid rgba(0,104,71,.3); border-radius:9px; background:#fff; color:var(--checkout-ink); font:inherit; }
.checkout-field input:focus { outline:0; box-shadow:0 0 0 3px rgba(0,104,71,.18); border-color:var(--checkout-brand); }
.checkout-payment { min-height:164px; }
.checkout-status { margin:0; padding:18px 0; color:var(--checkout-muted); text-align:center; }
.checkout-summary { margin-top:20px; }
.checkout-summary h2 { margin:0 0 12px; font-size:1.1rem; }
.checkout-summary-list { margin:0; }
.checkout-summary-row { display:flex; justify-content:space-between; gap:24px; padding:8px 0; color:var(--checkout-muted); }
.checkout-summary-row dt,.checkout-summary-row dd { margin:0; }
.checkout-summary-row--total { margin-top:8px; padding-top:16px; border-top:1px solid var(--checkout-border); color:var(--checkout-ink); font-size:1.05rem; font-weight:800; }
.checkout-pay { width:100%; min-height:52px; margin-top:16px; border:0; border-radius:999px; background:var(--checkout-brand); color:#fff; cursor:pointer; font:800 1rem/1 'DM Sans',sans-serif; }
.checkout-pay:hover { background:var(--checkout-dark); }
.checkout-pay:disabled { cursor:wait; opacity:.58; }
.checkout-terms { margin:14px 0 0; color:var(--checkout-muted); font-size:.78rem; line-height:1.5; text-align:center; }
@media (max-width:700px) { .checkout-shell{width:min(100% - 24px,600px);padding-top:16px}.checkout-options--addons{grid-template-columns:repeat(2,minmax(0,1fr))}.checkout-option--website{grid-column:1/-1}.checkout-card{padding:16px}.checkout-brandbar{margin-bottom:14px} }

.checkout-express[hidden], [data-promo-remove][hidden] { display:none; }
.checkout-divider { margin:18px 0; color:var(--checkout-muted); text-align:center; font-size:.85rem; }
.checkout-promo { margin-top:16px; }
.checkout-promo label { display:block; margin-bottom:8px; font-size:.9rem; }
.checkout-promo-controls { display:flex; gap:8px; }
.checkout-promo input { width:100%; min-width:0; min-height:44px; box-sizing:border-box; border:1px solid var(--checkout-border); border-radius:8px; padding:10px; font:inherit; }
.checkout-promo button { min-height:44px; padding:8px 14px; border:1px solid var(--checkout-border); border-radius:8px; background:#f5f8f7; color:var(--checkout-dark); font:inherit; cursor:pointer; }
.checkout-promo p { margin:8px 0; font-size:.85rem; color:var(--checkout-muted); }
.checkout-option:disabled { opacity:.6; cursor:wait; }
[data-financing-message] { font-family:'DM Sans',Arial,sans-serif; }
[data-financing-message].StripeElement--empty { display:none; }
.checkout-terms a { color:var(--checkout-brand); }
