/* Commerce components extend the existing CSH typography and palette. */
[hidden] { display: none !important; }
.csh-cart-link { display:inline-flex;align-items:center;gap:6px;white-space:nowrap; }
.csh-mobile-cart { display:none; }
.csh-cart-count { min-width:20px;height:20px;border-radius:50%;background:var(--csh-blue,#0f5c8f);color:#fff;font-size:11px;display:inline-flex;align-items:center;justify-content:center; }
.csh-commerce { padding-top:32px;padding-bottom:72px;min-height:65vh; }
.csh-commerce-steps { display:flex;gap:28px;color:#667681;font-size:13px;padding-bottom:25px;border-bottom:1px solid #dce4e9; }
.csh-commerce-steps strong { color:var(--csh-blue,#0f5c8f); }
.csh-commerce-heading { display:flex;justify-content:space-between;align-items:center;gap:24px;margin:34px 0 28px; }
.csh-commerce-heading h1 { font-size:36px;line-height:1.15;letter-spacing:-1px;margin:8px 0 12px;color:#162f42; }
.csh-commerce-heading p { color:#657580;margin:0; }
.csh-commerce-heading .csh-kicker { font-size:11px;letter-spacing:1.5px;color:var(--csh-blue,#0f5c8f);font-weight:700; }
.csh-commerce-grid { display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:30px;align-items:start; }
.csh-commerce-grid>* { min-width:0; }
.csh-order-summary,.csh-checkout-card { border:1px solid #dae3e9;background:#fff;border-radius:8px;padding:26px; }
.csh-order-summary { position:sticky;top:24px;border-top:3px solid #234d68;box-shadow:0 4px 16px #233e5010; }
.csh-order-summary h2,.csh-checkout-card h2 { font-size:19px;line-height:1.4;margin:0 0 22px; }
.csh-summary-row,.csh-summary-total { display:flex;justify-content:space-between;gap:16px;align-items:baseline; }
.csh-summary-row { color:#6d7d86;font-size:14px; }
.csh-summary-total { border-top:1px solid #dce4e9;padding-top:20px;margin:22px 0;font-weight:600; }
.csh-summary-total strong { font-size:25px;letter-spacing:-.5px;color:#163e59; }
.csh-checkout-link { width:100%; }
.csh-commerce-muted { color:#6b7c87;font-size:13px;line-height:1.6; }
.csh-summary-help { font-size:13px; }
.csh-cart-item { display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:18px;align-items:start;border:1px solid #dce4e9;border-radius:7px;padding:22px;background:#fff;margin-bottom:14px; }
.csh-file-icon { background:#edf4f8;border:1px solid #dbe6ed;border-radius:3px;min-height:54px;display:grid;place-items:center;color:#36637e;font-size:10px;font-weight:700;letter-spacing:1px; }
.csh-cart-code { color:#174f72;font-weight:700;font-size:15px;overflow-wrap:anywhere; }
.csh-cart-item-title { margin:6px 0;font-size:14px;line-height:1.6;overflow-wrap:anywhere; }
.csh-cart-item-body .csh-commerce-muted { margin:4px 0 0; }
.csh-cart-item-price { font-weight:700;text-align:right;font-size:15px;white-space:nowrap; }
.csh-remove-item { display:block;margin:14px 0 0 auto;border:0;background:none;color:#6e7d86;font-size:12px;text-decoration:underline;padding:5px;cursor:pointer; }
.csh-remove-item:hover { color:#a13434; }
.csh-cart-empty { padding:56px 24px;text-align:center;border:1px dashed #c4d4df;border-radius:8px;background:#f6f9fb; }
.csh-cart-empty>.fa { color:#8ba9bd;font-size:36px; }.csh-cart-empty h2 { font-size:24px;margin:18px 0 12px; }
.csh-cart-empty p { margin-bottom:24px;color:#657580; }
.csh-checkout-card { margin-bottom:20px; }.csh-checkout-card>p { color:#657580;font-size:14px; }
.csh-step-number { display:inline-grid;place-items:center;width:27px;height:27px;background:#edf4f8;border-radius:50%;color:#285772;font-size:13px;margin-right:8px; }
.csh-delivery-form { display:grid;gap:22px;margin-top:24px; }.csh-delivery-form label { display:grid;gap:8px;font-size:14px;font-weight:600; }
.csh-delivery-form small { font-weight:400;color:#6c7b85; }.csh-delivery-form input,.csh-delivery-form textarea { width:100%;box-sizing:border-box;border:1px solid #c7d5df;border-radius:5px;padding:12px;font:inherit;font-weight:400;background:#fff; }
.csh-delivery-form input:focus,.csh-delivery-form textarea:focus { outline:2px solid #71a6c4;outline-offset:2px; }
.csh-checkout-summary .csh-cart-item { grid-template-columns:minmax(0,1fr) auto;border:0;border-bottom:1px solid #e5ebef;border-radius:0;padding:0 0 18px;margin:0 0 18px;gap:12px; }
.csh-checkout-summary .csh-file-icon { display:none; }.csh-checkout-summary .csh-cart-item-title { font-size:12px; }
.csh-checkout-summary .csh-cart-code,.csh-checkout-summary .csh-cart-item-price { font-size:13px; }
.csh-cart-notice { position:fixed;bottom:26px;left:50%;transform:translateX(-50%);z-index:10000;width:max-content;max-width:calc(100% - 32px);box-sizing:border-box;display:flex;gap:18px;align-items:center;background:#153c55;color:#fff;border-radius:6px;box-shadow:0 8px 28px #162f4240;padding:18px 20px;font-size:14px; }
.csh-cart-notice a { color:#fff;font-weight:700;white-space:nowrap; }.csh-cart-notice button { color:#fff;border:0;background:none;font-size:22px;cursor:pointer; }
.csh-item-error { color:#9e3939;font-size:13px; }.csh-cart-item.is-unavailable { border-color:#dba8a8; }
@media(min-width:1100px) { .csh-header-inner { grid-template-columns:max-content minmax(0,1fr) 218px;gap:20px; }.csh-header .csh-nav { gap:17px; } }
@media(max-width:800px) { .csh-commerce-grid { grid-template-columns:minmax(0,1fr);gap:20px; }.csh-order-summary { position:static; }.csh-checkout-summary { grid-row:1; }.csh-commerce-heading { align-items:flex-start; }.csh-commerce-heading h1 { font-size:30px; }.csh-commerce-heading>.csh-text-link { font-size:13px;white-space:nowrap; } }
@media(max-width:480px) { .csh-commerce { padding-top:22px;padding-bottom:36px; }.csh-commerce-heading { flex-direction:column;gap:16px;margin:25px 0; }.csh-commerce-steps { gap:16px;font-size:11px; }.csh-cart-item { grid-template-columns:minmax(0,1fr) auto;padding:17px;gap:12px; }.csh-cart-item .csh-file-icon { display:none; }.csh-order-summary,.csh-checkout-card { padding:20px; }.csh-cart-notice { flex-wrap:wrap;gap:10px;bottom:12px;padding:14px; }.csh-cart-notice>span { flex-basis:100%; }.csh-cart-notice button { margin-left:auto; }.csh-cart-item-title { font-size:13px; } }
@media(max-width:700px) {
    .csh-header-inner { grid-template-columns:minmax(0,1fr) auto auto;gap:8px; }
    .csh-header .csh-brand { min-width:0;font-size:15px;gap:8px; }.csh-header .csh-brand small { font-size:9px; }.csh-header .csh-mark { width:32px;height:32px; }
    .csh-mobile-cart { display:inline-flex;grid-column:2;grid-row:1;padding:8px 0; }
    .csh-menu-toggle { grid-column:3;grid-row:1; }.csh-header .csh-nav { grid-column:1 / -1; }
}
