/* Shared framing and controls for product, cart and checkout. */
html body.sc-storefront .commerce-page {padding:36px 0 64px;color:var(--sc-text);background:var(--sc-bg)}
html body.sc-storefront .commerce-wrap {width:min(1320px,calc(100% - 80px));max-width:none;padding:0;margin-inline:auto}
html body.sc-storefront .commerce-heading {display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:24px;margin:0}
html body.sc-storefront .commerce-heading h1 {font-size:clamp(30px,3.3vw,42px)!important;font-weight:500!important;line-height:1.2!important;letter-spacing:-1.2px;margin:10px 0 12px!important}
html body.sc-storefront .commerce-heading :is(.cr-eyebrow,.co-eyebrow) {margin:0;font-size:10px;font-weight:500;letter-spacing:1.5px;line-height:1.7}
html body.sc-storefront .commerce-heading>div>p:last-child {font-size:13px;line-height:1.8;margin:0}
html body.sc-storefront .commerce-heading>a {font-size:12px;white-space:nowrap}
html body.sc-storefront .commerce-progress {display:flex;gap:32px;align-items:center;list-style:none;padding:20px 0 24px;margin:0;border-top:1px solid var(--sc-line);color:var(--sc-muted);font-size:12px;line-height:1.6}
html body.sc-storefront .commerce-progress li,
html body.sc-storefront .commerce-progress a {display:flex;align-items:center;gap:9px}
html body.sc-storefront .commerce-progress .commerce-step-number {display:grid;place-items:center;width:28px;height:28px;flex:none;border:1px solid var(--sc-line);border-radius:50%;font-size:10px}
html body.sc-storefront .commerce-progress [aria-current] {color:var(--sc-text)}
html body.sc-storefront .commerce-progress [aria-current] .commerce-step-number {color:var(--sc-button-text);background:var(--sc-button);border-color:var(--sc-button)}
html body.sc-storefront .commerce-page :is(label,.cr-option-label) {text-transform:none!important;letter-spacing:0!important}
html body.sc-storefront .commerce-page :is(a,button,summary,input,select,textarea):focus-visible {outline:2px solid var(--sc-gold)!important;outline-offset:3px}
html body.sc-storefront .commerce-page :is(.cr-summary,.co-summary,.co-card) {border:1px solid var(--sc-line);border-radius:14px;box-shadow:none}
html body.sc-storefront .commerce-page .cr-aside {position:static}
html body.sc-storefront .commerce-page .cr-summary {padding:0;max-height:none;overflow:visible}
html body.sc-storefront .commerce-page .cr-summary>.cr-panel-head {padding:22px 22px 0;margin:0;flex:none}
html body.sc-storefront .commerce-page .cr-summary-overview {padding:0 22px 16px;min-height:0}
html body.sc-storefront .commerce-page .cr-summary-bottom {padding:18px 22px;flex:none;background:color-mix(in srgb,var(--sc-raised) 45%,var(--sc-panel));border-top:1px solid var(--sc-line);border-radius:0 0 14px 14px}
html body.sc-storefront .commerce-page .cr-total-hero {padding:0;border:0}
html body.sc-storefront .commerce-page .cr-summary .cr-checkout {justify-content:center;text-align:center;min-height:48px;padding:13px 16px}
/* The receipt details scroll independently; totals and payment actions stay visible. */
html body.sc-storefront .commerce-page .co-summary {position:static;max-height:none;overflow:visible;padding:0;background:var(--sc-panel)}
html body.sc-storefront .commerce-page .co-summary-overview {padding:0 22px;min-height:0}
html body.sc-storefront .commerce-page .co-summary-heading {padding:22px 22px 18px;margin:0;gap:12px;flex:none}
html body.sc-storefront .commerce-page .co-summary-bottom {flex:none}
html body.sc-storefront .commerce-page .co-summary-total {padding:0 22px 18px}
html body.sc-storefront .commerce-page .co-summary-heading h2 {margin:0!important;font-size:18px!important;line-height:1.4;font-weight:500}
html body.sc-storefront .commerce-page .co-summary-heading a {font-size:11px;text-underline-offset:4px}
html body.sc-storefront .commerce-page .co-summary-heading a:hover {text-decoration:underline}
html body.sc-storefront .commerce-page .co-summary-items {padding-bottom:16px;gap:16px;max-height:none;overflow:visible}
html body.sc-storefront .commerce-page .co-summary-line {grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:start}
html body.sc-storefront .commerce-page .co-summary-line img {width:56px;height:64px;border:1px solid var(--sc-line);border-radius:6px;background:var(--sc-bg)}
html body.sc-storefront .commerce-page .co-summary-line a {font-size:12px;font-weight:500;line-height:1.6;overflow-wrap:anywhere}
html body.sc-storefront .commerce-page .co-summary-line p {font-size:11px;line-height:1.5;margin:4px 0}
html body.sc-storefront .commerce-page .co-summary-line strong {font-size:12px;font-weight:600;color:var(--sc-text)}
html body.sc-storefront .commerce-page .co-promo {margin:0;border-top:0!important;border-bottom:1px solid var(--sc-line)!important}
html body.sc-storefront .commerce-page .co-promo summary {padding:13px 0;font-size:11px;font-weight:400}
html body.sc-storefront .commerce-page .co-promo[open] {padding-bottom:12px!important}
html body.sc-storefront .commerce-page .co-promo>div {gap:8px}
html body.sc-storefront .commerce-page .co-summary dl {padding:16px 0;gap:10px}
html body.sc-storefront .commerce-page .co-summary dl div {font-size:12px;line-height:1.5}
html body.sc-storefront .commerce-page .co-summary dt small {font-size:10px;margin-top:3px}
html body.sc-storefront .commerce-page .co-grand {padding:16px 0 0;border:0;border-top:1px solid var(--sc-line);gap:12px;flex-wrap:wrap}
html body.sc-storefront .commerce-page .co-grand span {font-size:12px;font-weight:500}
html body.sc-storefront .commerce-page .co-grand strong {color:var(--sc-text);font-size:26px;line-height:1.2;letter-spacing:-.8px;font-weight:600;font-variant-numeric:tabular-nums}
html body.sc-storefront .commerce-page .co-summary-payment {padding:16px 22px 18px;background:color-mix(in srgb,var(--sc-raised) 45%,var(--sc-panel));border-top:1px solid var(--sc-line)}
html body.sc-storefront .commerce-page .co-summary #co-pricing-status {font-size:10px;line-height:1.7;margin:0 0 12px;overflow-wrap:anywhere}
html body.sc-storefront .commerce-page .co-summary #co-retry {margin:0 0 12px;min-height:36px}
html body.sc-storefront .commerce-page #co-submit {display:block;min-height:48px;padding:13px 16px;margin:0;text-align:center;font-size:13px;line-height:1.6;font-weight:600}
html body.sc-storefront .commerce-page #co-submit:disabled {opacity:1;background:var(--sc-raised);color:var(--sc-muted);border:1px solid var(--sc-line)}
html body.sc-storefront .commerce-page .co-summary #co-submit-note {font-size:10px;line-height:1.7;margin:10px 0 0;text-align:center}
html body.sc-storefront .commerce-page .co-summary #co-paypal {margin-top:0}
html body.sc-storefront .commerce-page .co-help {padding:12px 18px!important;margin:0!important;border-top:1px solid var(--sc-line);font-size:10px;line-height:1.8;text-align:center;border-radius:0 0 14px 14px}
html body.sc-storefront .commerce-page .co-help a {display:inline;margin-left:5px;font-weight:500}
@media(min-width:851px) {
    html body.sc-storefront .commerce-page :is(.cr-aside,.co-summary) {position:sticky;top:var(--commerce-summary-top,100px)}
    html body.sc-storefront .commerce-page :is(.cr-summary,.co-summary) {display:flex;flex-direction:column;max-height:calc(100dvh - var(--commerce-summary-top,100px) - 16px);overflow:clip}
    html body.sc-storefront .commerce-page :is(.cr-summary-overview,.co-summary-overview) {flex:0 1 auto;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--sc-line) transparent}
}
@media(min-width:851px) and (max-height:520px) {
    html body.sc-storefront .commerce-page .co-summary-heading {padding:14px 18px 12px}
    html body.sc-storefront .commerce-page .co-summary-overview {padding-inline:18px}
    html body.sc-storefront .commerce-page .co-summary-total {padding:0 18px 12px}
    html body.sc-storefront .commerce-page .co-grand {padding-top:12px}
    html body.sc-storefront .commerce-page .co-grand strong {font-size:23px}
    html body.sc-storefront .commerce-page .co-summary-payment {padding:12px 18px}
    html body.sc-storefront .commerce-page .co-help {padding-block:8px!important}
}
html body.sc-storefront .commerce-page :is(.cr-layout,.co-grid) {grid-template-columns:minmax(0,1fr) 380px;gap:28px}
html body.sc-storefront .commerce-page .co-card {padding:24px}
html body.sc-storefront .commerce-page .co-card h2 {font-size:19px!important;line-height:1.4;letter-spacing:-.3px}
html body.sc-storefront .commerce-page .co-card-heading {margin-bottom:20px}
html body.sc-storefront .commerce-page .co-payment:has(input:checked) {border-color:var(--sc-gold);background:var(--sc-raised)}
html body.sc-storefront .commerce-page #co-pricing-status[data-state="error"] {color:var(--sc-danger)}
html body.sc-storefront .commerce-page :is(.co-summary-line img,.cr-item-image img) {object-fit:contain}
html body.sc-storefront .commerce-page .cr-item-image {background:var(--sc-bg)}
html body.sc-storefront .commerce-page .cr-remove {min-width:40px;min-height:40px}
html body.sc-storefront .commerce-page .cr-quantity button {min-width:38px;min-height:44px}
html body.sc-storefront .commerce-page .cr-quantity input {height:44px;min-height:44px}
html body.sc-storefront .commerce-page .cr-text-button {min-height:32px;display:inline-flex;align-items:center;font-size:12px}
html body.sc-storefront .commerce-page .cr-summary .cr-panel-head::after {display:none}
html body.sc-storefront .commerce-page .cr-total-hero dd {color:var(--sc-text);font-size:26px}
html body.sc-storefront .commerce-page.is-empty .cr-layout {grid-template-columns:minmax(0,1fr)}
html body.sc-storefront .commerce-page.is-empty .cr-empty {padding:44px 24px;border:1px solid var(--sc-line);border-radius:14px;background:var(--sc-panel)}
html body.sc-storefront .commerce-page.is-empty .cr-empty h2 {font-size:28px;letter-spacing:-.8px}
html body.sc-storefront .commerce-page .co-empty {background:var(--sc-panel);border-radius:14px;padding:44px 24px}
html body.sc-storefront .commerce-page .co-empty>a:first-of-type {background:var(--sc-button);color:var(--sc-button-text);border-color:var(--sc-button)}
html body.sc-storefront .commerce-page :is(.co-promo,.cr-disclosure)[open]>summary>span:last-child {transform:rotate(45deg)}
@media(max-width:1050px) {
    html body.sc-storefront .commerce-wrap {width:calc(100% - 48px)}
    html body.sc-storefront .commerce-page :is(.cr-layout,.co-grid) {grid-template-columns:minmax(0,1fr) 320px;gap:22px}
}
@media(max-width:850px) {
    html body.sc-storefront .commerce-page :is(.cr-layout,.co-grid) {grid-template-columns:minmax(0,1fr)}
    html body.sc-storefront .commerce-page .cr-aside {position:static}
}
@media(max-width:600px) {
    html body.sc-storefront .commerce-page {padding:24px 0 44px}
    html body.sc-storefront .commerce-wrap {width:calc(100% - 32px)}
    html body.sc-storefront .commerce-heading {display:block;padding-bottom:20px}
    html body.sc-storefront .commerce-heading>a {display:inline-flex;margin-top:16px;min-height:36px;align-items:center}
    html body.sc-storefront .commerce-progress {gap:16px;justify-content:space-between;font-size:10px;padding:18px 0 22px}
    html body.sc-storefront .commerce-progress :is(li,a) {gap:6px}
    html body.sc-storefront .commerce-progress .commerce-step-number {width:25px;height:25px}
    html body.sc-storefront .commerce-page .co-card {padding:20px}
    html body.sc-storefront .commerce-page.is-empty .cr-empty {padding:32px 20px}
    html body.sc-storefront .commerce-page.is-empty .cr-empty h2 {font-size:24px}
}
