/* Cart/checkout shipping presentation (warm-up spec 2026-10-02). Quiet-operator register: small text, one accent. */
.ppb-free-row td{padding-top:.5rem;padding-bottom:.25rem;border-top:0}
.ppb-free{font-size:.85rem;line-height:1.35;color:var(--pp-muted,#7a7a9a)}
.ppb-free__msg--ok{color:#1f7a44;font-weight:600}
.ppb-free__bar{display:block;height:4px;border-radius:2px;background:rgba(26,26,46,.08);margin-top:.35rem;overflow:hidden}
.ppb-free__bar>span{display:block;height:100%;background:var(--pp-purple,#9445d3)}
.ppb-ship--need{color:#b42318;font-weight:600}
.ppb-ship--calc{opacity:.55}
.ppb-dot{display:inline-block;width:4px;height:4px;margin-left:3px;border-radius:50%;background:currentColor;vertical-align:middle;animation:ppbDot 1.2s infinite ease-in-out}
.ppb-dot:nth-child(2){animation-delay:.15s}.ppb-dot:nth-child(3){animation-delay:.3s}
@keyframes ppbDot{0%,80%,100%{opacity:.2}40%{opacity:1}}
@media (prefers-reduced-motion:reduce){.ppb-dot{animation:none;opacity:.6}}
.ppb-free-block .ppb-free{margin:.25rem 0 .75rem}
/* 0.20.3: the options stay in the DOM (WC reads/focuses them); dim them and lay the label over the cell. */
tr.ppb-ship-busy td{position:relative}
tr.ppb-ship-busy td>*:not(.ppb-ship-overlay){opacity:.25;pointer-events:none}
tr.ppb-ship-busy .ppb-ship-overlay{position:absolute;left:0;top:50%;transform:translateY(-50%);white-space:nowrap}
tr.ppb-ship-busy--need .ppb-ship-overlay{opacity:1}
/* 0.20.4: the free-shipping line reads as a sub-line of Subtotal (no divider between them). */
tr.cart-subtotal.ppb-has-nudge th,tr.cart-subtotal.ppb-has-nudge td{border-bottom:0!important;padding-bottom:2px!important}
tr.ppb-free-row td{border-top:0!important;padding-top:0!important}
