/* Conexven checkout — isolated from the public marketing layout. */
.checkout-progress-shell { border-bottom:1px solid var(--line); background:#fff; }
.checkout-progress { min-height:78px; display:grid; grid-template-columns:auto minmax(30px,110px) auto minmax(30px,110px) auto; align-items:center; justify-content:center; gap:18px; }
.checkout-progress > span { display:flex; align-items:center; gap:10px; color:var(--ink-500); }
.checkout-progress b { display:grid; width:34px; height:34px; place-items:center; border:1px solid var(--line); border-radius:50%; background:#fff; font-size:.74rem; }
.checkout-progress small { font-size:.7rem; font-weight:750; }
.checkout-progress > span.is-active { color:var(--blue-800); }
.checkout-progress > span.is-active b { border-color:var(--blue-600); background:var(--blue-700); color:#fff; box-shadow:0 5px 16px rgba(9,107,180,.22); }
.checkout-progress > i { height:1px; background:var(--line); }

.cart-page-section { background:#f7fafc; }
.cart-summary-benefits { display:grid; gap:9px; margin:20px 0; padding:0; list-style:none; }
.cart-summary-benefits li { display:flex; align-items:center; gap:8px; color:rgba(255,255,255,.76); font-size:.7rem; }
.cart-summary-benefits i { color:#58d39c; font-size:.62rem; }
.cart-terms-check { display:flex; align-items:flex-start; gap:10px; margin:22px 0 16px; color:rgba(255,255,255,.8); font-size:.67rem; line-height:1.55; cursor:pointer; }
.cart-terms-check input { flex:0 0 auto; width:17px; height:17px; margin-top:2px; accent-color:var(--cyan-500); }
.cart-terms-check a { color:var(--cyan-300); text-decoration:underline; text-underline-offset:2px; }
.cart-summary-feedback { min-height:20px; margin:10px 0 0!important; color:#ffd690!important; font-size:.65rem!important; }
.cart-payment-preview { display:flex!important; align-items:center!important; justify-content:center!important; gap:12px!important; margin-top:18px; padding:16px 0 0!important; border-top:1px solid rgba(255,255,255,.12)!important; border-bottom:0!important; color:rgba(255,255,255,.75); }
.cart-payment-preview i { font-size:1.2rem; }
.cart-payment-preview span { padding:3px 7px; border:1px solid rgba(255,255,255,.25); border-radius:5px; color:#fff!important; font-size:.56rem!important; font-weight:850; }
.cart-item-premium { display:inline-flex; align-items:center; gap:5px; margin-left:7px; padding:2px 7px; border-radius:999px; background:#fff1ce; color:#8a5a00; font-size:.52rem; font-weight:850; letter-spacing:.04em; text-transform:uppercase; vertical-align:middle; }
.cart-page-item { align-items:start; }
.cart-page-item > div { min-width:0; }
.cart-item-cycle { display:grid; grid-template-columns:minmax(220px,.9fr) minmax(180px,1.1fr); align-items:end; gap:12px 18px; margin-top:15px; padding-top:14px; border-top:1px solid var(--line); }
.cart-item-cycle-field label { display:block; margin-bottom:6px; color:var(--ink-700); font-size:.59rem; font-weight:850; letter-spacing:.025em; }
.cart-item-cycle-field select { width:100%; height:43px; appearance:auto; border:1px solid #bad6e4; border-radius:10px; background:#f9fcfe; padding:0 11px; color:var(--ink-950); font-size:.67rem; font-weight:750; cursor:pointer; }
.cart-item-cycle-field select:focus { border-color:var(--cyan-500); box-shadow:0 0 0 3px rgba(9,164,223,.1); outline:0; }
.cart-item-cycle-fixed { min-height:43px; display:flex; align-items:center; gap:8px; border:1px solid #c9dce7; border-radius:10px; background:#f9fcfe; padding:0 12px; color:var(--ink-900); font-size:.67rem; }
.cart-item-cycle-fixed i { color:var(--blue-600); }
.cart-item-cycle-benefit { display:flex; align-items:center; gap:7px; min-height:43px; padding:9px 11px; border-radius:10px; background:#effaf5; color:#267150; font-size:.57rem; line-height:1.4; }
.cart-item-cycle-benefit i { flex:0 0 auto; color:#15935c; }
.cart-item-cycle-benefit strong { color:#116640; }
.cart-item-cycle-benefit.is-annual { border:1px solid #a8e1c3; background:linear-gradient(135deg,#e8faef,#f7fffa); }

.cart-domain-setup,
.cart-hosting-domain { margin-top:34px; padding:34px; border:1px solid #cfe3ef; border-radius:24px; background:#fff; box-shadow:0 18px 50px rgba(8,48,84,.07); }
.cart-domain-setup-heading { display:grid; grid-template-columns:58px 1fr; gap:18px; align-items:start; }
.cart-domain-setup-icon { display:grid; width:58px; height:58px; place-items:center; border-radius:17px; background:linear-gradient(135deg,var(--blue-700),var(--cyan-500)); color:#fff; font-size:1.2rem; }
.cart-domain-setup h2,.cart-hosting-domain h2 { margin:2px 0 8px; color:var(--ink-950); font-size:1.75rem; }
.cart-domain-setup p,.cart-hosting-domain p { margin:0; color:var(--ink-500); font-size:.78rem; line-height:1.65; }
.domain-connection-status { display:grid; gap:8px; margin:24px 0; }
.domain-connection-row { display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:center; gap:12px; padding:12px 14px; border:1px solid var(--line); border-radius:12px; background:#f9fcfe; }
.domain-connection-row > i { display:grid; width:34px; height:34px; place-items:center; border-radius:10px; background:#e8f6fc; color:var(--blue-700); }
.domain-connection-row strong { display:block; color:var(--ink-950); font-size:.76rem; }
.domain-connection-row small { display:block; color:var(--ink-500); font-size:.61rem; }
.domain-connection-row button { border:0; background:transparent; color:var(--blue-700); font-size:.62rem; font-weight:800; cursor:pointer; }
.domain-plan-chooser { padding-top:24px; border-top:1px solid var(--line); }
.domain-plan-chooser-copy { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:18px; color:var(--ink-500); font-size:.72rem; }
.domain-plan-chooser-copy strong { color:var(--ink-950); font-size:.92rem; }
.domain-plan-chooser-copy small { display:flex; align-items:center; gap:7px; max-width:335px; color:var(--ink-500); font-size:.6rem; line-height:1.45; text-align:right; }
.domain-plan-chooser-copy small i { color:var(--blue-600); }
.checkout-plan-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.checkout-plan-card { position:relative; min-height:365px; display:flex; flex-direction:column; align-items:flex-start; border:1px solid var(--line); border-radius:19px; background:#fff; padding:23px 20px 19px; text-align:left; cursor:pointer; overflow:hidden; transition:.2s ease; }
.checkout-plan-card:hover { transform:translateY(-3px); border-color:#8cc8e2; box-shadow:0 14px 34px rgba(9,65,105,.1); }
.checkout-plan-card.is-featured { border-color:#80c7e6; background:linear-gradient(160deg,#effaff,#fff 72%); }
.checkout-plan-card.is-bundle { grid-column:1/-1; min-height:330px; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr); grid-template-rows:auto auto 1fr auto; column-gap:28px; border-color:#52b9e1; background:linear-gradient(135deg,#e9f8ff 0%,#fff 52%,#f4fbff 100%); box-shadow:0 18px 48px rgba(0,112,186,.1); }
.checkout-plan-card.is-bundle::after { content:""; position:absolute; right:-65px; bottom:-90px; width:220px; height:220px; border:36px solid rgba(0,164,223,.065); border-radius:50%; pointer-events:none; }
.checkout-plan-heading { width:100%; display:grid; grid-template-columns:45px minmax(0,1fr); align-items:start; gap:13px; padding-right:70px; }
.checkout-plan-heading > i { display:grid; width:45px; height:45px; place-items:center; border-radius:13px; background:#e8f6fc; color:var(--blue-700); font-size:.92rem; }
.checkout-plan-heading strong,.checkout-plan-heading small { display:block; }
.checkout-plan-heading strong { color:var(--ink-950); font-size:.87rem; }
.checkout-plan-heading small { min-height:38px; margin-top:5px; color:var(--ink-500); font-size:.59rem; line-height:1.5; }
.checkout-plan-resources { width:100%; display:grid; grid-template-columns:1fr 1fr; gap:8px 10px; margin:17px 0; }
.checkout-plan-resources > span { display:flex; align-items:flex-start; gap:8px; min-width:0; padding:8px 9px; border-radius:10px; background:#f6fafc; color:var(--ink-650); font-size:.56rem; line-height:1.35; }
.checkout-plan-resources i { flex:0 0 auto; width:15px; margin-top:2px; color:var(--blue-600); text-align:center; }
.checkout-plan-resources b { color:var(--ink-950); font-size:.6rem; }
.checkout-plan-price { display:grid; grid-template-columns:auto auto 1fr; align-items:baseline; column-gap:4px; margin-top:auto; color:var(--ink-500); font-size:.55rem; }
.checkout-plan-price > b { color:var(--blue-800); font-size:1.65rem; line-height:1; }
.checkout-plan-price > small { color:var(--ink-500); font-size:.68rem; }
.checkout-plan-price > em { grid-column:1/-1; margin-top:7px; color:var(--ink-650); font-size:.62rem; font-style:normal; font-weight:750; }
.checkout-plan-saving { grid-column:1/-1; display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin-top:7px; }
.checkout-plan-saving s { color:var(--ink-500); font-size:.58rem; }
.checkout-plan-saving b { padding:3px 7px; border-radius:999px; background:#e1f8ed; color:#14774b; font-size:.53rem; font-weight:850; }
.checkout-plan-action { width:100%; display:flex; align-items:center; justify-content:space-between; margin-top:13px; padding-top:12px; border-top:1px solid var(--line); color:var(--blue-700); font-size:.61rem; font-weight:850; }
.checkout-plan-badge { position:absolute; top:15px; right:14px; display:inline-flex; align-items:center; gap:5px; padding:4px 8px; border-radius:999px; background:var(--blue-700); color:#fff!important; font-size:.48rem!important; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.checkout-plan-promo { display:flex; align-items:flex-start; gap:9px; margin:17px 0 0; padding:13px 14px; border:1px solid rgba(0,112,186,.16); border-radius:13px; background:#fff; color:var(--ink-650); }
.checkout-plan-promo > i { flex:0 0 auto; margin-top:2px; color:#15935c; }
.checkout-plan-promo strong,.checkout-plan-promo small { display:block; }
.checkout-plan-promo strong { color:var(--blue-800); font-size:.69rem; }
.checkout-plan-promo small { margin-top:3px; color:var(--ink-500); font-size:.56rem; line-height:1.45; }
.checkout-plan-card.is-bundle .checkout-plan-heading,.checkout-plan-card.is-bundle .checkout-plan-promo,.checkout-plan-card.is-bundle .checkout-plan-price { grid-column:1; }
.checkout-plan-card.is-bundle .checkout-plan-resources { grid-column:2; grid-row:1/4; align-self:center; margin:25px 0 0; }
.checkout-plan-card.is-bundle .checkout-plan-resources > span { background:rgba(255,255,255,.82); }
.checkout-plan-card.is-bundle .checkout-plan-action { grid-column:2; grid-row:4; align-self:end; z-index:1; }
.cart-summary-pricing { border-bottom:0!important; }
.cart-summary-discount { align-items:center!important; margin:0 -12px; padding:13px 12px!important; border:0!important; border-radius:11px; background:rgba(32,198,126,.13); }
.cart-summary-discount[hidden] { display:none!important; }
.cart-summary-discount span { display:flex; align-items:center; gap:7px; color:#c9f7df!important; font-size:.61rem!important; line-height:1.4; }
.cart-summary-discount strong { flex:0 0 auto; color:#66e1a5; font-size:.85rem!important; }
.cart-summary-total { border-top:0!important; }
.cart-page-item.is-domain-included { border-color:#8bd9b5; background:linear-gradient(90deg,#f3fff9,#fff); }
.cart-page-item.is-hosting-unassigned { border-color:#efc677; background:linear-gradient(90deg,#fff9ea,#fff); }
.cart-page-item.is-hosting-unassigned .cart-item-category { color:#94600a; }
.cart-item-included { display:inline-flex; align-items:center; gap:5px; margin-left:8px; padding:3px 7px; border-radius:999px; background:#dff8eb; color:#14774b; font-size:.5rem; font-weight:850; letter-spacing:.03em; text-transform:uppercase; vertical-align:middle; }
.cart-summary-items { max-height:205px; display:grid!important; align-items:stretch!important; gap:8px!important; margin:0 0 3px; padding:0 0 18px!important; border-top:0!important; border-bottom:1px solid rgba(255,255,255,.14)!important; overflow:auto; }
.cart-summary-item { display:grid; grid-template-columns:30px minmax(0,1fr) auto; align-items:center; gap:9px; padding:9px; border-radius:10px; background:rgba(255,255,255,.065); }
.cart-summary-item > i { display:grid; width:30px; height:30px; place-items:center; border-radius:8px; background:rgba(43,171,224,.17); color:#8edcff; font-size:.65rem; }
.cart-summary-item span { min-width:0; }
.cart-summary-item small,.cart-summary-item strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cart-summary-item small { color:rgba(255,255,255,.5); font-size:.47rem; text-transform:uppercase; }
.cart-page-summary > .cart-summary-items .cart-summary-item strong { margin-top:2px; color:#fff; font-size:.61rem; }
.cart-summary-annual-benefit { display:inline-flex; align-items:center; gap:4px; margin-top:5px; padding:3px 6px; border-radius:999px; background:rgba(102,225,165,.14); color:#79e7b1; font-size:.45rem; font-style:normal; font-weight:850; letter-spacing:.03em; text-transform:uppercase; }
.cart-summary-item > b { color:#fff; font-size:.61rem; white-space:nowrap; }
.cart-summary-item.is-included > b { color:#66e1a5; }
.external-dns-choice { margin-top:15px; text-align:center; }
.external-dns-choice > button { border:0; background:transparent; color:var(--ink-500); font-size:.64rem; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.external-dns-choice > button:hover { color:var(--blue-700); }
.external-dns-form { display:grid; grid-template-columns:1fr 1fr auto; align-items:end; gap:10px; margin-top:15px; padding:16px; border-radius:14px; background:var(--surface-muted); text-align:left; }
.external-dns-form label,.cart-hosting-domain label { display:block; margin-bottom:5px; color:var(--ink-800); font-size:.62rem; font-weight:800; }
.external-dns-form label span { color:var(--ink-500); font-weight:500; }
.external-dns-form input,.cart-hosting-domain input { width:100%; height:43px; border:1px solid var(--line); border-radius:9px; padding:0 11px; background:#fff; color:var(--ink-950); font-size:.72rem; }
.external-dns-form .secondary-button { white-space:nowrap; }
.external-dns-feedback { grid-column:1/-1; min-height:16px; color:#b44343; font-size:.58rem; line-height:1.4; }
.external-dns-form input[aria-invalid="true"] { border-color:#d35454; box-shadow:0 0 0 3px rgba(211,84,84,.09); }
.cart-hosting-domain { display:block; }
.cart-hosting-domain-heading { display:grid; grid-template-columns:58px minmax(0,1fr); gap:18px; align-items:start; }
.hosting-assignment-list { display:grid; gap:13px; margin:24px 0 17px; }
.hosting-assignment-card { padding:18px; border:1px solid #d5e4ec; border-radius:16px; background:#f9fcfe; }
.hosting-assignment-heading { display:grid; grid-template-columns:43px minmax(0,1fr); gap:12px; align-items:start; }
.hosting-assignment-heading > span { display:grid; width:43px; height:43px; place-items:center; border-radius:12px; background:#e7f5fb; color:var(--blue-700); }
.hosting-assignment-heading small,.hosting-assignment-heading strong { display:block; }
.hosting-assignment-heading small { color:#9a6511; font-size:.55rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.hosting-assignment-heading strong { margin-top:2px; color:var(--ink-950); font-size:.86rem; }
.hosting-assignment-heading p { margin-top:4px; font-size:.64rem; }
.hosting-assignment-controls { display:grid; grid-template-columns:minmax(220px,1fr) auto; align-items:end; gap:9px 12px; margin-top:15px; }
.hosting-assignment-controls label { grid-column:1/-1; margin:0; }
.hosting-assignment-controls select { min-width:0; width:100%; height:43px; border:1px solid #bad6e4; border-radius:9px; background:#fff; padding:0 10px; color:var(--ink-950); font-size:.68rem; }
.hosting-assignment-controls .secondary-button { min-height:43px; white-space:nowrap; }
.hosting-assignment-controls .secondary-button:disabled { opacity:.5; cursor:not-allowed; }
.hosting-assignment-notice { grid-column:1/-1; min-height:0; color:#8a5d19; font-size:.59rem; line-height:1.45; }
.hosting-owned-domain-form { margin-top:14px; padding:15px; border:1px solid #cfe2ed; border-radius:13px; background:#fff; }
.hosting-owned-domain-form > div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
.hosting-owned-domain-form input { min-width:0; }
.hosting-owned-domain-form > small { display:block; min-height:18px; margin-top:7px; color:var(--ink-650); font-size:.61rem; line-height:1.45; }
.hosting-owned-domain-form input[aria-invalid="true"] { border-color:#d35454; box-shadow:0 0 0 3px rgba(211,84,84,.09); }
.hosting-owned-domain-form aside { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.hosting-owned-domain-form aside:empty { display:none; }
.hosting-owned-domain-form aside .primary-button,.hosting-owned-domain-form aside .secondary-button { min-height:40px; padding:8px 13px; font-size:.62rem; }
.cart-hosting-domain > .text-link { display:inline-flex; margin-top:2px; }

.checkout-modal { position:fixed; inset:0; z-index:700; }
.checkout-modal-backdrop { position:absolute; inset:0; background:rgba(5,22,45,.74); backdrop-filter:blur(9px); animation:checkout-fade .18s ease-out; }
.checkout-dialog { position:absolute; top:50%; left:50%; width:min(760px,calc(100% - 34px)); max-height:min(880px,calc(100vh - 34px)); display:flex; flex-direction:column; overflow:hidden; transform:translate(-50%,-50%); border:1px solid rgba(255,255,255,.38); border-radius:24px; background:#fff; box-shadow:0 35px 110px rgba(0,18,44,.35); animation:checkout-rise .24s ease-out; }
.checkout-dialog-header { flex:0 0 auto; min-height:80px; display:grid; grid-template-columns:42px 1fr 42px; align-items:center; padding:12px 20px; border-bottom:4px solid var(--cyan-500); background:#fff; }
.checkout-dialog-brand { grid-column:2; width:148px; justify-self:center; }
.checkout-dialog-brand img { width:100%; }
.checkout-dialog-back { grid-column:1; grid-row:1; }
.checkout-dialog-close { grid-column:3; grid-row:1; }
.checkout-dialog-close,.checkout-dialog-back { display:grid; width:40px; height:40px; place-items:center; border:0; border-radius:50%; background:#f2f6f9; color:var(--ink-500); cursor:pointer; }
.checkout-dialog-close:hover,.checkout-dialog-back:hover { background:#e6f3f9; color:var(--blue-800); }
.checkout-dialog-body { overflow-y:auto; padding:42px 52px 48px; overscroll-behavior:contain; }
.checkout-screen { margin:auto; }
.checkout-screen-kicker { display:block; margin-bottom:8px; color:var(--blue-600); font-size:.64rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; text-align:center; }
.checkout-screen > h2 { margin:0 0 9px; color:var(--ink-950); font-size:2rem; text-align:center; }
.checkout-screen > p { max-width:580px; margin:0 auto 27px; color:var(--ink-500); font-size:.76rem; line-height:1.65; text-align:center; }
.checkout-entry-options { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.checkout-entry-card { min-height:235px; display:flex; flex-direction:column; align-items:flex-start; border:1px solid var(--line); border-radius:18px; background:#fff; padding:25px; text-align:left; cursor:pointer; transition:.2s ease; }
.checkout-entry-card:hover { transform:translateY(-3px); border-color:#8ecbe5; box-shadow:0 16px 40px rgba(8,60,98,.1); }
.checkout-entry-card.is-primary { border-color:#80c7e6; background:linear-gradient(145deg,#ecf9ff,#fff); }
.checkout-entry-card > span { display:grid; width:48px; height:48px; place-items:center; margin-bottom:20px; border-radius:14px; background:#eaf7fc; color:var(--blue-700); font-size:1rem; }
.checkout-entry-card > strong { color:var(--ink-950); font-size:1rem; }
.checkout-entry-card > small { margin:7px 0 18px; color:var(--ink-500); font-size:.69rem; line-height:1.55; }
.checkout-entry-card > em { width:100%; display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:14px; border-top:1px solid var(--line); color:var(--blue-700); font-size:.7rem; font-style:normal; font-weight:850; }
.checkout-assurance { display:flex; flex-wrap:wrap; justify-content:center; gap:18px; margin-top:24px; color:var(--ink-500); font-size:.59rem; }
.checkout-assurance span { display:flex; align-items:center; gap:6px; }
.checkout-assurance i { color:var(--blue-600); }

.checkout-form { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.checkout-field label { display:block; margin-bottom:6px; color:var(--ink-800); font-size:.66rem; font-weight:800; }
.checkout-field label span { color:var(--ink-500); font-weight:500; }
.checkout-field input,.checkout-field select { width:100%; height:48px; border:1px solid var(--line); border-radius:10px; background:#fff; padding:0 13px; color:var(--ink-950); font-size:.76rem; transition:.16s ease; }
.checkout-field input:focus,.checkout-field select:focus { border-color:var(--cyan-500); box-shadow:0 0 0 3px rgba(9,164,223,.1); outline:0; }
.checkout-field input[aria-invalid="true"],.checkout-field select[aria-invalid="true"] { border-color:#d35454; box-shadow:0 0 0 3px rgba(211,84,84,.09); }
.checkout-field > small { display:block; margin-top:5px; color:var(--ink-500); font-size:.55rem; line-height:1.35; }
.checkout-field-full,.checkout-account-type,.checkout-form-separator,.checkout-submit,.checkout-form-feedback,.checkout-forgot { grid-column:1/-1; }
.checkout-account-type { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin:0 0 5px; padding:0; border:0; }
.checkout-account-type legend { margin-bottom:7px; color:var(--ink-800); font-size:.66rem; font-weight:800; }
.checkout-account-type label { position:relative; cursor:pointer; }
.checkout-account-type input { position:absolute; opacity:0; }
.checkout-account-type span { display:flex; align-items:center; justify-content:center; gap:7px; min-height:46px; border:1px solid var(--line); border-radius:10px; color:var(--ink-650); font-size:.68rem; font-weight:750; }
.checkout-account-type input:checked + span { border-color:var(--blue-600); background:#edf8fc; color:var(--blue-800); box-shadow:0 0 0 2px rgba(9,164,223,.08); }
.checkout-form-separator { position:relative; margin:10px 0 0; border-top:1px solid var(--line); }
.checkout-form-separator span { position:relative; top:-10px; padding-right:10px; background:#fff; color:var(--blue-700); font-size:.61rem; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.password-field { position:relative; }
.password-field input { padding-right:48px; }
.password-field button { position:absolute; top:4px; right:4px; width:40px; height:40px; border:0; background:transparent; color:var(--ink-500); cursor:pointer; }
.checkout-checkbox { display:flex; align-items:flex-start; gap:9px; color:var(--ink-650); font-size:.64rem; line-height:1.5; cursor:pointer; }
.checkout-checkbox input { flex:0 0 auto; width:16px; height:16px; margin-top:2px; accent-color:var(--blue-700); }
.checkout-submit { width:100%; margin-top:5px; }
.checkout-forgot { color:var(--blue-700); font-size:.65rem; font-weight:750; text-align:right; }
.checkout-form-feedback { min-height:20px; margin:0; color:#b44343; font-size:.64rem; text-align:center; }
.checkout-registration-form .recaptcha-disclosure { margin:3px 0; }

.checkout-verification-screen { max-width:470px; text-align:center; }
.checkout-verification-icon { display:grid; width:76px; height:76px; place-items:center; margin:0 auto 20px; border-radius:22px; background:#e8f7fd; color:var(--blue-700); font-size:1.65rem; }
.checkout-verification-form { display:grid; gap:12px; }
.checkout-verification-form label { color:var(--ink-800); font-size:.67rem; font-weight:800; }
.checkout-verification-form input { height:70px; border:1px solid #b9dbea; border-radius:14px; color:var(--blue-800); font-size:1.75rem; font-weight:850; letter-spacing:.48em; text-align:center; }
.checkout-verification-form > button:not(.primary-button) { border:0; background:transparent; color:var(--blue-700); font-size:.65rem; font-weight:750; cursor:pointer; }
.checkout-verification-form p { min-height:18px; margin:0; color:var(--ink-500); font-size:.63rem; }

.checkout-payment-layout { display:grid; grid-template-columns:minmax(250px,.85fr) minmax(280px,1.15fr); gap:16px; }
.payment-methods { display:grid; align-content:start; gap:8px; }
.payment-method { min-height:70px; display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:11px; border:1px solid var(--line); border-radius:13px; background:#fff; padding:10px 12px; text-align:left; cursor:pointer; transition:.16s ease; }
.payment-method:hover:not(.is-disabled) { border-color:#9bcfe2; }
.payment-method.is-selected { border-color:var(--blue-600); background:#edf8fc; box-shadow:0 0 0 2px rgba(9,164,223,.08); }
.payment-method.is-disabled { opacity:.65; cursor:not-allowed; }
.payment-method-brand { display:grid; width:42px; height:42px; place-items:center; border-radius:11px; background:#edf3f7; color:var(--blue-800); font-size:.95rem; }
.payment-brand-zelle { background:#6d1ed4!important; color:#fff!important; font-weight:900; }
.payment-brand-paypal { color:#0b56a6; }
.payment-method strong,.payment-method small { display:block; }
.payment-method strong { color:var(--ink-950); font-size:.78rem; }
.payment-method small { margin-top:3px; color:var(--ink-500); font-size:.64rem; line-height:1.45; }
.payment-method > i { color:var(--blue-600); opacity:0; }
.payment-method.is-selected > i { opacity:1; }
.payment-method > em { padding:3px 6px; border-radius:5px; background:#edf3f7; color:var(--ink-500); font-size:.47rem; font-style:normal; font-weight:800; text-transform:uppercase; }
.payment-detail-panels { min-height:330px; border:1px solid var(--line); border-radius:16px; background:#f8fbfd; padding:22px; }
.payment-detail-heading { display:flex; align-items:center; gap:11px; margin-bottom:18px; }
.payment-detail-heading > span { display:grid; width:38px; height:38px; place-items:center; border-radius:10px; background:#e4f6fd; color:var(--blue-700); }
.payment-detail-heading strong,.payment-detail-heading small { display:block; }
.payment-detail-heading strong { color:var(--ink-950); font-size:.86rem; }
.payment-detail-heading small { margin-top:2px; color:var(--ink-500); font-size:.66rem; }
.stripe-element-host { min-height:116px; padding:0; border:0; border-radius:12px; background:transparent; }
.stripe-element-status { display:flex; min-height:116px; align-items:center; justify-content:center; gap:10px; padding:20px; border:1px solid #c9dce7; border-radius:12px; background:#fff; color:var(--ink-650); font-size:.7rem; font-weight:700; text-align:center; }
.stripe-element-status[hidden] { display:none; }
.stripe-element-status i { color:var(--blue-600); animation:stripe-status-spin .9s linear infinite; }
.stripe-element-status.is-error { border-color:#efc7c2; background:#fff7f6; color:#9d291f; }
.stripe-element-status.is-error i { animation:none; color:#b42318; }
.stripe-element-status.is-ready { border-color:#b9dfd2; background:#f3fbf8; color:#087252; }
.stripe-element-status.is-ready i { animation:none; color:#0f9f6e; }
.payment-detail > p { margin:14px 0 0; color:var(--ink-500); font-size:.68rem; line-height:1.55; }
.payment-detail h3 { margin:12px 0 15px; color:var(--ink-950); font-size:1.1rem; }
.manual-payment-brand { display:grid; width:48px; height:48px; place-items:center; border-radius:13px; }
.payment-detail dl { display:grid; gap:7px; margin:0; }
.payment-detail dl div { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 11px; border-radius:9px; background:#fff; }
.payment-detail dt { color:var(--ink-500); font-size:.58rem; }
.payment-detail dd { margin:0; color:var(--ink-950); font-size:.66rem; font-weight:800; }
.chase-brand { display:flex; align-items:center; gap:9px; color:#0b4b91; font-size:1.15rem; }
.chase-brand i { width:25px; height:25px; display:block; background:conic-gradient(from 45deg,#1468b3 0 25%,transparent 0 50%,#1468b3 0 75%,transparent 0); transform:rotate(45deg); }
.payment-pending-note { display:flex; gap:9px; margin-top:15px; padding:12px; border-radius:10px; background:#fff5dc; color:#795b1b; font-size:.6rem; line-height:1.45; }
.checkout-final-summary { display:flex; align-items:end; justify-content:space-between; margin-top:18px; padding:15px 0; border-block:1px solid var(--line); }
.checkout-final-summary span { color:var(--ink-500); font-size:.65rem; }
.checkout-final-summary strong { color:var(--ink-950); font-size:1.4rem; }
.checkout-payment-submit { width:100%; margin-top:15px; }
.checkout-payment-submit:disabled { opacity:.58; cursor:not-allowed; transform:none; }

@keyframes checkout-fade { from { opacity:0; } }
@keyframes stripe-status-spin { to { transform:rotate(360deg); } }
@keyframes checkout-rise { from { opacity:0; transform:translate(-50%,calc(-50% + 18px)) scale(.98); } }

@media (max-width:900px) {
    .checkout-plan-grid { grid-template-columns:1fr; }
    .checkout-plan-card { min-height:0; }
    .checkout-plan-card.is-bundle { grid-column:auto; min-height:0; display:flex; }
    .checkout-plan-card.is-bundle .checkout-plan-resources { margin:17px 0; }
    .checkout-payment-layout { grid-template-columns:1fr; }
    .payment-detail-panels { min-height:0; }
}

@media (max-width:620px) {
    .checkout-progress { min-height:64px; grid-template-columns:auto 25px auto 25px auto; gap:7px; }
    .checkout-progress b { width:29px; height:29px; }
    .checkout-progress small { display:none; }
    .cart-domain-setup,.cart-hosting-domain { margin-inline:-8px; padding:23px 18px; border-radius:19px; }
    .cart-domain-setup-heading { grid-template-columns:43px 1fr; gap:13px; }
    .cart-hosting-domain-heading { grid-template-columns:43px 1fr; gap:13px; }
    .cart-domain-setup-icon { width:43px; height:43px; border-radius:13px; }
    .cart-domain-setup h2,.cart-hosting-domain h2 { font-size:1.45rem; }
    .domain-connection-row { grid-template-columns:32px 1fr; }
    .domain-connection-row button { grid-column:2; justify-self:start; padding:0; }
    .domain-plan-chooser-copy { align-items:flex-start; flex-direction:column; }
    .domain-plan-chooser-copy small { max-width:none; text-align:left; }
    .checkout-plan-card { padding:21px 17px 17px; }
    .checkout-plan-resources { grid-template-columns:1fr; }
    .cart-item-cycle { grid-template-columns:1fr; align-items:stretch; gap:8px; }
    .external-dns-form { grid-template-columns:1fr; }
    .hosting-assignment-controls,.hosting-owned-domain-form > div { grid-template-columns:1fr; }
    .hosting-assignment-controls .secondary-button,.hosting-owned-domain-form > div .secondary-button { width:100%; }
    .hosting-owned-domain-form aside { flex-direction:column; }
    .hosting-owned-domain-form aside .primary-button,.hosting-owned-domain-form aside .secondary-button { width:100%; }
    .checkout-dialog { inset:0; top:0; left:0; width:100%; max-height:none; height:100%; transform:none; border:0; border-radius:0; animation:none; }
    .checkout-dialog-header { min-height:70px; }
    .checkout-dialog-brand { width:132px; }
    .checkout-dialog-body { padding:30px 20px 42px; }
    .checkout-screen > h2 { font-size:1.65rem; }
    .checkout-entry-options { grid-template-columns:1fr; }
    .checkout-entry-card { min-height:180px; }
    .checkout-assurance { align-items:center; flex-direction:column; gap:7px; }
    .checkout-form { grid-template-columns:1fr; }
    .checkout-field-full,.checkout-account-type,.checkout-form-separator,.checkout-submit,.checkout-form-feedback,.checkout-forgot { grid-column:auto; }
    .checkout-account-type { grid-template-columns:1fr; }
    .checkout-verification-form input { font-size:1.4rem; letter-spacing:.35em; }
    .payment-methods { gap:7px; }
    .payment-detail-panels { padding:17px; }
}

@media (prefers-reduced-motion:reduce) {
    .checkout-modal-backdrop,.checkout-dialog { animation:none; }
}


/* Conexven secure checkout processing */
.checkout-processing-layer[hidden] { display:none !important; }
.checkout-processing-layer {
    position:absolute;
    inset:0;
    z-index:40;
    display:grid;
    place-items:center;
    overflow:auto;
    padding:34px;
    background:
        radial-gradient(circle at 16% 12%,rgba(9,164,223,.15),transparent 34%),
        radial-gradient(circle at 88% 86%,rgba(6,74,134,.12),transparent 32%),
        rgba(244,249,253,.96);
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
    opacity:0;
    transition:opacity .18s ease;
}
.checkout-processing-layer.is-visible { opacity:1; }
.checkout-processing-card {
    position:relative;
    width:min(100%,660px);
    padding:34px 38px 30px;
    overflow:hidden;
    border:1px solid rgba(7,135,206,.18);
    border-radius:24px;
    background:rgba(255,255,255,.98);
    box-shadow:0 26px 70px rgba(8,32,58,.18);
    color:var(--ink-950);
    text-align:center;
}
.checkout-processing-card::before {
    position:absolute;
    top:0;
    right:0;
    left:0;
    height:4px;
    background:linear-gradient(90deg,#064a86,#09a4df,#38bdf8);
    content:'';
}
.checkout-processing-card::after {
    position:absolute;
    width:190px;
    height:190px;
    right:-105px;
    bottom:-118px;
    border-radius:50%;
    background:rgba(9,164,223,.07);
    content:'';
    pointer-events:none;
}
.checkout-processing-brand {
    display:flex;
    min-height:34px;
    align-items:center;
    justify-content:center;
    color:#064a86;
    font-size:1.2rem;
    font-weight:800;
}
.checkout-processing-logo {
    display:block;
    width:152px;
    max-height:42px;
    object-fit:contain;
}
.checkout-processing-spinner {
    position:relative;
    display:grid;
    width:78px;
    height:78px;
    margin:21px auto 16px;
    place-items:center;
    border-radius:50%;
    box-shadow:0 13px 34px rgba(7,135,206,.16);
}
.checkout-processing-spinner span {
    position:absolute;
    inset:0;
    border-radius:50%;
    background:conic-gradient(from 15deg,#09a4df 0 22%,rgba(9,164,223,.13) 22% 53%,#064a86 53% 77%,rgba(9,164,223,.13) 77% 100%);
    animation:checkout-processing-spin 1.1s linear infinite;
}
.checkout-processing-spinner::before {
    position:absolute;
    inset:7px;
    z-index:1;
    border:1px solid rgba(7,135,206,.13);
    border-radius:50%;
    background:#fff;
    content:'';
}
.checkout-processing-spinner i {
    position:relative;
    z-index:2;
    color:#0787ce;
    font-size:1.45rem;
}
.checkout-processing-kicker {
    margin:0 0 8px;
    color:#087bbd;
    font-size:.63rem;
    font-weight:900;
    letter-spacing:.14em;
}
.checkout-processing-card h2 {
    margin:0;
    color:#071b32;
    font-size:clamp(1.45rem,3vw,1.85rem);
    line-height:1.12;
}
.checkout-processing-copy {
    min-height:24px;
    margin:10px auto 24px;
    color:var(--ink-500);
    font-size:.82rem;
    line-height:1.55;
}
.checkout-processing-steps {
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:0;
    margin:0;
    padding:0;
    list-style:none;
}
.checkout-processing-steps li {
    position:relative;
    display:grid;
    justify-items:center;
    gap:8px;
    min-width:0;
    color:#7d8a99;
}
.checkout-processing-steps li:not(:last-child)::after {
    position:absolute;
    top:16px;
    left:calc(50% + 18px);
    width:calc(100% - 36px);
    height:2px;
    background:#dbe7ef;
    content:'';
}
.checkout-processing-steps li.is-complete:not(:last-child)::after {
    background:linear-gradient(90deg,#0787ce,#38bdf8);
}
.checkout-processing-steps li > span {
    position:relative;
    z-index:1;
    display:grid;
    width:34px;
    height:34px;
    place-items:center;
    border:2px solid #dbe7ef;
    border-radius:50%;
    background:#fff;
    color:#82909f;
    font-size:.68rem;
    font-weight:900;
    transition:border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease;
}
.checkout-processing-steps li > span i { display:none; }
.checkout-processing-steps li.is-complete > span {
    border-color:#0787ce;
    background:#0787ce;
    color:#fff;
}
.checkout-processing-steps li.is-complete > span b { display:none; }
.checkout-processing-steps li.is-complete > span i { display:block; font-size:.65rem; }
.checkout-processing-steps li.is-current > span {
    border-color:#09a4df;
    color:#064a86;
    box-shadow:0 0 0 5px rgba(9,164,223,.13);
    animation:checkout-processing-pulse 1.6s ease-in-out infinite;
}
.checkout-processing-steps li small {
    max-width:94px;
    color:inherit;
    font-size:.58rem;
    font-weight:700;
    line-height:1.3;
}
.checkout-processing-steps li.is-current small { color:#064a86; font-weight:900; }
.checkout-processing-steps li.is-complete small { color:#087bbd; }
.checkout-processing-stay {
    position:relative;
    z-index:1;
    display:flex;
    max-width:470px;
    align-items:center;
    justify-content:center;
    gap:11px;
    margin:25px auto 0;
    padding:13px 15px;
    border:1px solid #dcebf4;
    border-radius:13px;
    background:#f5faff;
    color:#566a7c;
    text-align:left;
}
.checkout-processing-stay > i {
    flex:0 0 auto;
    color:#0787ce;
    font-size:1rem;
}
.checkout-processing-stay span {
    display:grid;
    gap:2px;
    font-size:.61rem;
    line-height:1.4;
}
.checkout-processing-stay strong {
    color:#17344e;
    font-size:.69rem;
}
@keyframes checkout-processing-spin { to { transform:rotate(360deg); } }
@keyframes checkout-processing-pulse {
    50% { box-shadow:0 0 0 8px rgba(9,164,223,.06); }
}
@media (max-width:620px) {
    .checkout-processing-layer { padding:18px; }
    .checkout-processing-card { padding:28px 16px 24px; border-radius:20px; }
    .checkout-processing-logo { width:136px; }
    .checkout-processing-spinner { width:70px; height:70px; margin-top:18px; }
    .checkout-processing-copy { margin-bottom:22px; font-size:.76rem; }
    .checkout-processing-steps li { gap:7px; }
    .checkout-processing-steps li > span { width:30px; height:30px; }
    .checkout-processing-steps li:not(:last-child)::after {
        top:14px;
        left:calc(50% + 16px);
        width:calc(100% - 32px);
    }
    .checkout-processing-steps li small { font-size:.5rem; }
    .checkout-processing-stay { margin-top:22px; padding:12px; }
}
@media (max-width:390px) {
    .checkout-processing-layer { padding:12px; }
    .checkout-processing-card { padding-inline:12px; }
    .checkout-processing-steps li small { font-size:.46rem; }
}
@media (prefers-reduced-motion:reduce) {
    .checkout-processing-layer { transition:none; }
    .checkout-processing-spinner span,
    .checkout-processing-steps li.is-current > span,
    .stripe-element-status i { animation:none; }
    .checkout-processing-steps li > span { transition:none; }
}
