/* Checkout only: the calculation remains in the existing server quote. */
.shop-body--checkout{--order-surface:#111a22;--order-line:#34424e;--order-text:#eef4f8;--order-muted:#b4c2ce;--order-accent:#ffab67}
[data-portal-theme=light] .shop-body--checkout{--order-surface:#f5f8fb;--order-line:#c9d4de;--order-text:#162b3c;--order-muted:#466074;--order-accent:#a33c00}
.shop-body--checkout .shop-cart-layout{grid-template-columns:minmax(0,1fr) minmax(330px,410px);gap:clamp(24px,3vw,48px);align-items:start}
.shop-body--checkout .shop-cart__summary{min-width:0;position:sticky;top:110px}
.shop-body--checkout .shop-cart__summary-box{padding:clamp(20px,2.2vw,30px);border-top:2px solid #ff9947;box-shadow:none;background:var(--order-surface);border-radius:12px}
.shop-body--checkout .shop-cart__summary-box h2{color:var(--order-text);font-size:1.45rem;letter-spacing:-.025em}
.shop-body--checkout .shop-cart__summary-box h2{margin:0 0 1rem}
.shop-body--checkout .shop-checkout-summary-note strong{color:var(--order-text)}
.order-price-caption{display:flex;justify-content:space-between;gap:1rem;font-size:.78rem;color:var(--order-muted);margin:0 0 1rem}
.order-price-caption span{white-space:nowrap}
.order-price-item{border-top:1px solid var(--order-line);padding:1.1rem 0 1.25rem}
.order-price-item__head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}
.shop-body--checkout .order-price-item h3{font-size:1rem;line-height:1.5;margin:0;color:var(--order-text);font-weight:700;overflow-wrap:anywhere}
.order-price-edit{font-size:.76rem;color:var(--order-accent);text-decoration:underline;text-underline-offset:3px;padding:4px 0;background:transparent;border:0;flex:none;cursor:pointer}
.order-price-period{font-size:.76rem;color:var(--order-muted);line-height:1.6;margin:.3rem 0 .85rem}
.order-price-facts{margin:0 0 .8rem;font-size:.76rem;line-height:1.55;color:var(--order-muted)}
.order-price-facts:empty{display:none}.order-price-facts div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:.5rem;padding:.2rem 0}
.order-price-facts dd{color:var(--order-text);margin:0;overflow-wrap:anywhere}
.order-price-breakdown{margin:0;display:grid;gap:.65rem;font-size:.8rem;line-height:1.5;color:var(--order-text)}
.order-price-breakdown>div{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:1rem;align-items:baseline}
.order-price-breakdown dt{min-width:0;overflow-wrap:anywhere}.order-price-breakdown small{display:block;color:var(--order-muted);font-size:.7rem;line-height:1.5;margin-top:.1rem}
.order-price-breakdown dd{margin:0;white-space:nowrap;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.order-price-recurring{padding-top:.7rem;border-top:1px dashed var(--order-line)}
.order-price-first{padding-top:.75rem}.order-price-first dd{font-size:1rem;color:var(--order-accent)}
.order-price-minimum{font-size:.7rem;line-height:1.55;color:var(--order-muted);margin:.65rem 0 0}
.shop-body--checkout .shop-cart__summary-row{font-size:.82rem;gap:1rem;color:var(--order-muted)}
.shop-body--checkout .shop-cart__summary-row strong{font-variant-numeric:tabular-nums;color:var(--order-text);white-space:nowrap}
.shop-body--checkout .shop-cart__summary-row.is-total{align-items:center;padding:1.05rem 0;border-top:1px solid var(--order-line);border-bottom:1px solid var(--order-line);color:var(--order-text)}
.shop-body--checkout .shop-cart__summary-row.is-total strong{font-size:clamp(1.4rem,2vw,1.85rem);letter-spacing:-.03em}
.order-quote-status{font-size:.78rem;line-height:1.5;color:var(--order-muted);min-height:1.5em;margin:.6rem 0 0}
.order-quote-status.is-pending{color:var(--order-accent)}.order-quote-status.is-error{color:#ffad99}
[data-portal-theme=light] .order-quote-status.is-error{color:#a12012}
.shop-body--checkout .shop-cart__item{display:grid;grid-template-columns:minmax(0,1fr);padding:1.5rem 0;border-bottom:1px solid var(--order-line)}
.shop-body--checkout .shop-cart__item-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;min-width:0}
.shop-body--checkout .shop-cart__quantity-form{display:grid;grid-template-columns:minmax(0,1fr);gap:.65rem;min-width:0}
.shop-body--checkout .shop-cart__quantity-form>.portal-input{width:100%;min-width:0!important}
.shop-body--checkout .shop-cart__quantity-form>.portal-label{margin:.65rem 0 0}
.shop-body--checkout .shop-cart__item-actions:has([data-server-addons]){grid-template-columns:minmax(0,1fr)}
.shop-body--checkout .shop-cart__item-price{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;grid-column:1/-1;color:var(--order-text);font-variant-numeric:tabular-nums}
.shop-body--checkout .shop-cart__item-price>span{font-size:.82rem;color:var(--order-muted)}
.shop-body--checkout .shop-cart__item-price>strong{font-size:1.2rem}
.shop-body--checkout .shop-cart__item-actions>form:has(button[type=submit]){justify-self:start}
.shop-body--checkout .server-addon-option{grid-template-columns:20px minmax(0,1fr);padding:1rem .8rem}
.shop-body--checkout .server-addon-option>span{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.25rem 1rem;align-items:baseline}
.shop-body--checkout .server-addon-option strong{grid-column:1;grid-row:1}.shop-body--checkout .server-addon-option b{grid-column:2;grid-row:1;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--order-text)}
.shop-body--checkout .server-addon-option small{grid-column:1/-1;max-width:70ch}
.shop-body--checkout :where(button,a,input,select):focus-visible{outline:2px solid var(--order-accent);outline-offset:3px}
.shop-body--checkout [data-checkout-cycle-card]{scroll-margin-top:115px}
@media(min-width:1100px){.shop-body--checkout .shop-cart__summary-box{max-height:calc(100dvh - 130px);overflow:auto;scrollbar-width:thin;scrollbar-color:var(--order-line) transparent;scroll-padding:20px}}
@media(max-width:1099px){.shop-body--checkout .shop-cart-layout{grid-template-columns:minmax(0,1fr)}.shop-body--checkout .shop-cart__summary{position:static}.shop-body--checkout .shop-cart__summary-box{max-height:none;overflow:visible}}
@media(max-width:540px){.shop-body--checkout .shop-cart__item-actions{grid-template-columns:minmax(0,1fr)}.shop-body--checkout .server-addon-option>span{grid-template-columns:minmax(0,1fr)}.shop-body--checkout .server-addon-option b{grid-column:1;grid-row:auto}.shop-body--checkout .shop-cart__summary-box{padding:20px}.order-price-breakdown>div{gap:.75rem}.order-price-facts div{grid-template-columns:minmax(0,1fr);gap:0}}
@media(prefers-reduced-motion:reduce){.shop-body--checkout *{scroll-behavior:auto!important}}
