/* Install Kit checkout surfaces. Semantic tokens only. Reuses .btn, .card, .badge. */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.site-header__tools{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end}
.badge--sandbox{background:var(--color-accent-soft);color:var(--color-text);border:1px dashed var(--color-accent)}
.btn--block{width:100%;justify-content:center}
.btn--text{min-height:48px;padding:0;border:0;background:none;color:var(--color-primary);font:700 var(--text-small) var(--font-heading);text-decoration:underline;cursor:pointer;border-radius:4px}

.sku{max-width:28rem;margin:0 0 var(--gap-section);border-color:var(--color-primary);box-shadow:var(--shadow-card-hover)}
.sku .badge{margin-bottom:var(--space-3)}
.sku__price{font:800 var(--text-h2) var(--font-heading);margin:0 0 var(--space-2)}
.sku__meta{color:var(--color-text-muted);margin:0 0 var(--space-4)}
.sku__expect{font:700 var(--text-small) var(--font-heading);margin:0 0 var(--space-3);color:var(--color-text-muted)}
.sku__list{list-style:none;margin:0 0 var(--space-5);padding:0}
.sku__list li{position:relative;padding:0 0 var(--space-2) var(--space-5)}
.sku__list li::before{content:"";position:absolute;left:4px;top:.55em;width:10px;height:6px;border-left:2px solid var(--color-primary);border-bottom:2px solid var(--color-primary);transform:rotate(-45deg)}
.sku__note{margin:var(--space-5) 0 0;color:var(--color-text-muted);font-size:var(--text-small)}
.sku-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:var(--gap-stack);margin:0 0 var(--gap-section);align-items:stretch}
.sku-grid .sku{max-width:none;margin:0;height:100%;display:flex;flex-direction:column}
.sku-grid .sku > .btn{margin-top:auto}
.sku-grid .sku__ladder{width:max-content;max-width:100%;margin-left:auto;margin-right:auto;align-self:center}
.sku-grid .pricing-test-note{grid-column:1 / -1;margin:0}
.pricing-test-note{color:var(--color-text-muted);font-size:var(--text-small)}
.pricing-cart{margin:0 0 var(--space-4);padding:var(--space-4);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md)}
.pricing-cart__eyebrow{margin:0 0 var(--space-3);font:700 var(--text-small) var(--font-heading);color:var(--color-text-muted)}
.pricing-cart label{display:block;margin:0 0 var(--space-3);font:600 var(--text-small) var(--font-heading);color:var(--color-text)}
.pricing-cart input[type="number"]{width:100%;min-height:48px;margin:var(--space-2) 0 0;padding:0 var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:var(--text-body) var(--font-body)}
.pricing-cart__check{display:flex;align-items:flex-start;gap:var(--space-3);min-height:48px;font:600 var(--text-small)/var(--leading-body) var(--font-body)}
.pricing-cart__check input{width:28px;height:28px;min-width:28px;margin:.4em 0 0;accent-color:var(--color-primary)}
.pricing-cart__note{margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:var(--text-small)}

.checkout-page{padding:var(--space-7) 0 var(--gap-section)}
.checkout-page__intro{max-width:40rem;margin:0 auto var(--space-6);text-align:center}
.checkout-page__intro .hero__lede{margin-left:auto;margin-right:auto}
.checkout-overlay{display:grid;place-items:center}
.checkout-modal{width:min(32rem,100%);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-cta)}
.checkout-modal__head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border)}
.checkout-modal__head h1,.checkout-modal__head h2{font-size:var(--text-h3);margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}
.checkout-modal__close{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;border:0;background:none;color:var(--color-text);font:800 var(--size-xl) var(--font-heading);text-decoration:none;cursor:pointer;border-radius:var(--radius-control)}
.checkout-modal__close:hover{color:var(--color-primary)}
.checkout-modal__body{padding:var(--space-5)}
.checkout-summary{display:flex;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);font-size:var(--text-body)}
.checkout-summary:last-of-type{border-bottom:0;margin-bottom:var(--space-4)}
.checkout-included{list-style:none;margin:0;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);font-size:var(--text-small);color:var(--color-text-muted)}
.checkout-included[hidden]{display:none}
.checkout-included li{position:relative;padding:0 0 var(--space-1) var(--space-5)}
.checkout-included li::before{content:"";position:absolute;left:4px;top:.55em;width:10px;height:6px;border-left:2px solid var(--color-primary);border-bottom:2px solid var(--color-primary);transform:rotate(-45deg)}
.checkout-sandbox-tools,
[data-sandbox-tools]{display:none}
body[data-sandbox-fulfillment] .checkout-sandbox-tools{display:block}
body[data-sandbox-fulfillment] a[data-sandbox-tools]{display:inline-flex}
.checkout-promo{display:block;margin:var(--space-4) 0 var(--space-2);font:700 var(--text-small) var(--font-heading);color:var(--color-text-muted)}
.checkout-promo-input{width:100%;min-height:48px;margin:0 0 var(--space-4);padding:0 var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);font:var(--text-body) var(--font-body)}
.checkout-legal{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);justify-content:center;margin:var(--space-4) 0 0;padding:0;list-style:none;font-size:var(--text-small)}
.checkout-legal a{min-height:48px;display:inline-flex;align-items:center}
.checkout-sandbox-tools{margin:var(--space-5) 0 0;padding:var(--space-4);background:var(--color-bg);border:1px dashed var(--color-border);border-radius:var(--radius-md);font-size:var(--text-small);color:var(--color-text-muted)}
.checkout-sandbox-tools summary{cursor:pointer;font:700 var(--text-small) var(--font-heading);color:var(--color-text);min-height:48px;display:flex;align-items:center}
.checkout-sandbox-tools .row{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-3)}
.checkout-hint{margin:var(--space-4) 0 0;text-align:center;color:var(--color-text-muted);font-size:var(--text-small)}

.checkout-status{text-align:center;max-width:40rem;margin:0 auto;padding:var(--space-8) 0 var(--space-6)}
.checkout-status__art{width:120px;height:120px;margin:0 auto var(--space-5);display:block}
.checkout-status .hero__lede{margin-left:auto;margin-right:auto}
.checkout-status__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center;margin-top:var(--space-6)}
.checkout-spin{width:48px;height:48px;margin:0 auto var(--space-5);border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:byb-checkout-spin .8s linear infinite}
@keyframes byb-checkout-spin{to{transform:rotate(360deg)}}

.checkout-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:var(--gap-stack);padding-bottom:var(--gap-section);align-items:start}
.checkout-steps{counter-reset:kit;list-style:none;margin:0;padding:0}
.checkout-steps > li{counter-increment:kit;position:relative;padding:0 0 var(--space-6) 3.5rem}
.checkout-steps > li::before{content:counter(kit);position:absolute;left:0;top:0;width:40px;height:40px;border-radius:50%;background:var(--color-primary);color:var(--color-on-primary);font:800 var(--text-body) var(--font-heading);display:grid;place-items:center}
.checkout-steps h3{margin-bottom:var(--space-2)}
.checkout-steps p{margin:0 0 var(--space-3);color:var(--color-text-muted)}
.copyfield{display:flex;gap:var(--space-2);align-items:stretch;flex-wrap:wrap}
.copyfield code{flex:1;min-width:12rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--text-small);overflow-wrap:anywhere}
.timer{display:inline-flex;align-items:center;min-height:28px;padding:0 var(--space-3);border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-accent-text);font:700 var(--text-small) var(--font-heading)}
.toast{min-height:1.5em;margin:var(--space-2) 0 0;color:var(--color-success);font:700 var(--text-small) var(--font-heading)}
.toast--error{color:var(--color-accent-text)}
.checkout-expired [data-download]{opacity:.55;pointer-events:none}
.checkout-accept{display:flex;align-items:flex-start;gap:var(--space-4);margin:0 0 var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg)}
.checkout-accept input[type="checkbox"]{width:28px;height:28px;min-width:28px;min-height:28px;margin:.4em 0 0;flex-shrink:0;accent-color:var(--color-primary)}
.checkout-accept label{flex:1;min-height:48px;display:block;padding:var(--space-2) 0;font:600 var(--text-body)/var(--leading-body) var(--font-body);color:var(--color-text);cursor:pointer;overflow-wrap:break-word}
.checkout-accept__terms,.checkout-accept label a{margin:0 .18em;padding:0 .04em;text-underline-offset:.18em}

.checkout-guide{padding:0 0 var(--gap-section)}
.checkout-guide h2{margin-bottom:var(--space-2)}
.checkout-drop{counter-reset:drop;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap-stack)}
.checkout-drop > li{counter-increment:drop;position:relative;padding:var(--space-5) var(--space-5) var(--space-5) 3.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}
.checkout-drop > li::before{content:counter(drop);position:absolute;left:var(--space-4);top:var(--space-5);width:40px;height:40px;border-radius:50%;background:var(--color-primary);color:var(--color-on-primary);font:800 var(--text-body) var(--font-heading);display:grid;place-items:center}
.checkout-drop h3{margin:0 0 var(--space-2)}
.checkout-drop p{margin:0 0 var(--space-3);color:var(--color-text-muted)}
.checkout-figure{margin:var(--space-4) 0 0;padding:0}
.checkout-figure img{display:block;width:100%;height:auto;border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-bg)}
.checkout-figure figcaption{margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:var(--text-small)}
.checkout-connectors{list-style:none;margin:0;padding:0}
.checkout-connectors li{position:relative;padding:0 0 var(--space-3) var(--space-5)}
.checkout-connectors li::before{content:"";position:absolute;left:4px;top:.7em;width:10px;height:6px;border-left:2px solid var(--color-primary);border-bottom:2px solid var(--color-primary);transform:rotate(-45deg)}
.checkout-refund{margin:var(--space-6) auto var(--gap-section)}
.checkout-refund .btn{margin:var(--space-4) 0}
.checkout-prompt{margin:0 0 var(--space-4);padding:var(--space-4);background:var(--color-bg);border-left:4px solid var(--color-primary);border-radius:var(--radius-md);font:600 var(--text-body)/var(--leading-body) var(--font-body)}
.checkout-grid--follow{padding-bottom:var(--space-6)}
.checkout-blocked{padding-bottom:var(--gap-section)}
@media (max-width:760px){
  .checkout-grid{grid-template-columns:1fr}
  .checkout-drop{grid-template-columns:1fr}
  .copyfield{flex-direction:column}
  .copyfield .btn{width:100%;justify-content:center}
  .checkout-modal{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .checkout-spin{animation:none;border-top-color:var(--color-border)}
}
