/* Free Shipping Bar — cart and checkout. Neutral, theme-agnostic; corners and
   font follow the shared storefront design tokens when present. */
.cdl-fsb { box-sizing: border-box; margin: 0 0 16px; padding: 12px 14px; border: 1px solid rgba(0, 0, 0, .12); border-color: color-mix(in srgb, currentColor 16%, transparent); border-radius: var(--cdl-ct-box-radius, 10px); background: transparent; color: inherit; font-family: var(--cdl-ct-font, inherit); }
/* Surfaces follow the theme: transparent background, border and track from
   the theme's text colour, so the bar sits on white carts and grey checkout
   panels alike. Green stays for progress and the reached state. */
.cdl-fsb-text { display: flex; align-items: center; gap: 10px; font-size: 14px; line-height: 1.45; }
.cdl-fsb-text strong { font-weight: 700; font-variant-numeric: tabular-nums; }
.cdl-fsb-ico { display: inline-flex; flex-shrink: 0; color: #1f7a35; }
.cdl-fsb-ico svg { width: 18px; height: 18px; }
.cdl-fsb-track { position: relative; height: 6px; margin-top: 10px; border-radius: var(--cdl-ct-radius, 999px); background: rgba(0, 0, 0, .08); background: color-mix(in srgb, currentColor 10%, transparent); overflow: hidden; }
.cdl-fsb-fill { position: absolute; inset: 0 auto 0 0; border-radius: inherit; background: #34c759; transition: width .4s ease; }
.cdl-fsb.is-done { border-color: rgba(31, 122, 53, .35); background: rgba(52, 199, 89, .07); }
.cdl-fsb.is-warn { border-color: rgba(182, 68, 0, .4); background: rgba(182, 68, 0, .07); }
.cdl-fsb.is-warn .cdl-fsb-ico { color: #b64400; }
.cdl-fsb.is-warn .cdl-fsb-text { color: #b64400; font-weight: 600; }
.cdl-fsb.is-warn .cdl-fsb-fill { background: #b64400; }
.cdl-fsb.is-done .cdl-fsb-text { color: #1f7a35; font-weight: 600; }
.cdl-fsb-slot:empty { display: none; }
@media (prefers-reduced-motion: reduce) { .cdl-fsb-fill { transition: none; } }
/* Checkout: inside the order summary column, full width of that column. */
#order_review > .cdl-fsb-slot { clear: both; width: 100%; }
/* Block cart / checkout: above the block. */
.cdl-fsb-live:not(.cdl-fsb-live--product):empty { display: none; }
.cdl-fsb-live--cart .cdl-fsb, .cdl-fsb-live--checkout .cdl-fsb { margin-bottom: 20px; }
/* Product page: same card, quieter empty-cart line (no track). */
.cdl-fsb-live--product .cdl-fsb { margin: 0 0 var(--cdl-ct-stack, 14px); max-width: var(--cdl-ct-max, 36rem); }
.cdl-fsb.is-empty { padding: 10px 14px; }
.cdl-fsb-live:empty { display: none; }
/* Block cart / checkout sidebar slot: full sidebar width, spacing like the
   other summary rows. */
.cdl-fsb-live--slot { margin: 0 0 16px; }
.cdl-fsb-live--slot .cdl-fsb { margin: 0; }
