.abx-cart-rental{font-size:.85rem;color:#0A1E53;margin-top:.4rem;display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}
.abx-cart-rental label{margin:0;font-weight:500}
.abx-cart-rent-term{max-width:160px}
.abx-cart-legalterms{font-size:.8rem;line-height:1.4;margin:.5rem 0;color:#0A1E53}

/* Legacy compact cart-term row; never insert styles into AJAX cart fragments. */
.abx-cart-rental { font-size: .875rem; color: #0a1e53; }
.abx-cart-rental-mini { display: flex; gap: .3rem; align-items: center; flex-wrap: wrap; }
.abx-cart-rental-mini .abx-cart-rent-term { max-width: 155px; border-color: transparent; background: transparent; padding: .15rem .35rem; }

/* Match the legacy mini-cart: the term selector sizes to its content, not a
   fixed pixel width. Allow wrapping when the offcanvas column gets narrow. */
.abx-cart-rental-mini {
    flex-wrap: wrap;
}
.abx-cart-rental-mini label {
    flex: 0 0 auto;
    white-space: nowrap;
}
.abx-cart-rental-mini select.abx-cart-rent-term {
    flex: 0 1 auto;
    width: max-content;
    min-width: 0;
    max-width: 100%;
    white-space: nowrap;
}
/* The Smartstore Select2 wrapper also needs intrinsic sizing. */
.abx-cart-rental-mini .select2-container {
    flex: 0 1 auto;
    width: max-content !important;
    min-width: 0;
    max-width: 100%;
}
.cart-item-attrs .abx-cart-rental { margin: .25rem 0; }

/* Exact small billing typography from the 5.1 abo.express _custom.scss. */
.art-monthly-small { color: var(--art-muted-color); font-size: .7rem; }
.ci-month-small { font-size: .6rem; }
.abx-rent-price-prefix { font-size: .7rem; font-weight: 400; white-space: nowrap; }
.art-price-block:has(.abx-rent-price-prefix) .art-price-value {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .18rem;
}
.art-price-block:has(.abx-rent-price-prefix) .art-info-group {
    display: flex;
    flex-direction: column;
    gap: .1rem;
}
.abx-rent-list-compare .art-compareprice-value { text-decoration: line-through; }
.abx-cart-rental:not(.abx-cart-rental-mini) { margin: .3rem 0 .55rem; }
.abx-cart-rental .abx-cart-rent-unit { font-size: .75rem; }
.cart-item-price-group > .abx-cart-price-suffix { font-size: .6rem; }

/* Legacy rental comparison rows: one uninterrupted strike-through, distinct rows. */
.abx-rent-list-compare, .abx-rent-list-savings {
    display: block;
    width: 100%;
    line-height: 1.35;
    color: var(--art-muted-color, var(--muted));
}
.abx-rent-list-compare s, .abx-rent-compare s {
    text-decoration: line-through;
    text-decoration-skip-ink: none;
    white-space: nowrap;
}
.abx-rent-list-compare s > span { text-decoration: inherit; }
/* The parent <s> paints one continuous line across both differently sized texts. */
.cart-item-price-group .abx-rent-compare s > .pd-monthly-small {
    color: inherit;
    text-decoration: none;
}
.abx-rent-list-savings .art-saving { margin-left: .25rem; }
.cart-item-price-group .pd-promoprice-group { clear: both; display: flex; flex-direction: column; gap: .15rem; }
.cart-item-price-group .abx-rent-compare { display: flex; flex-wrap: wrap; column-gap: .4rem; row-gap: .15rem; align-items: baseline; }
.cart-item-price-group .abx-rent-compare .pd-promoprice-saving { display: block; flex-basis: 100%; }
.cart-item-price-group .abx-rent-compare .pd-promoprice-label { margin-right: .2rem; }
.cart-item-price-group .ci-month-small { vertical-align: baseline; margin-left: .15rem; color: var(--muted); }
.cart-summary-total .ci-month-small { font-weight: normal; vertical-align: baseline; margin-left: .25rem; }
.abx-cart-legalterms { color: var(--muted); font-size: .7rem; }

.abx-rent-list-compare .art-compareprice-label { margin-right: .3rem; }
.abx-rent-list-savings .art-compareprice-label { margin-right: .2rem; }

/* Keep the original Legacy inline rent price hierarchy in both list and box mode. */
.art-price-block:has(.abx-rent-price-prefix) .art-price-value.abx-rent-price-value {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: baseline;
    white-space: nowrap;
    gap: .2rem;
}
.art-price-block:has(.abx-rent-price-prefix) .art-price-value.abx-rent-price-value .art-monthly-small,
.art-price-block:has(.abx-rent-price-prefix) .art-price-value.abx-rent-price-value .pd-monthly-small {
    display: inline;
    flex-shrink: 0;
    font-size: .7rem;
    font-weight: 400;
    line-height: inherit;
    color: var(--art-muted-color);
    white-space: nowrap;
}
.art-price-block:has(.abx-rent-price-prefix) .art-info-group {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .12rem;
}
.art-price-block:has(.abx-rent-price-prefix) .abx-rent-list-compare,
.art-price-block:has(.abx-rent-price-prefix) .abx-rent-list-savings {
    display: block;
    width: auto;
    font-size: var(--art-font-size-sm);
    color: var(--art-muted-color);
    line-height: 1.35;
}
.art-price-block:has(.abx-rent-price-prefix) .abx-rent-struck-value {
    display: inline;
    white-space: nowrap;
    text-decoration: line-through;
    text-decoration-skip-ink: none;
}
.art-price-block:has(.abx-rent-price-prefix) .abx-rent-struck-value .art-monthly-small {
    font-size: inherit;
    color: inherit;
    text-decoration: inherit;
}

/* Rent cart: legacy inline term control and right-aligned rate. */
.abx-cart-rental, .abx-cart-rental-mini { color: var(--body-color, #343a40); display: flex; align-items: center; flex-wrap: nowrap; gap: .5rem; }
.abx-cart-rental label { margin: 0; color: var(--body-color, #343a40); font-weight: 600; white-space: nowrap; }
.abx-cart-rental label .termLegalSup { color: var(--muted); font-size: .7em; margin-left: .1em; }
.abx-cart-rent-term { flex: 0 1 155px; min-width: 0; max-width: 155px; }
.cart-item-data .cart-item-price-group { text-align: right; margin-left: auto; }
.cart-item-data .cart-item-price-group .pd-finalprice { justify-content: flex-end; }
.cart-item-data .cart-item-price-group .pd-finalprice-amount { color: #E27B26; }
.cart-item-data .cart-item-price-group .pd-promoprice-group { align-items: flex-end; }
.cart-item-data .cart-item-price-group .abx-rent-compare { justify-content: flex-end; text-align: right; }
/* A single comparison line keeps the smaller billing unit aligned with the amount. */
.cart-item-price-group .abx-rent-compare .abx-rent-comparison-amount {
    display: inline-flex;
    position: relative;
    align-items: baseline;
    gap: .15rem;
    text-decoration: none;
    white-space: nowrap;
}
.cart-item-price-group .abx-rent-compare .abx-rent-comparison-amount > .pd-monthly-small {
    color: inherit;
    text-decoration: none;
}
.cart-item-price-group .abx-rent-compare .abx-rent-comparison-amount::after {
    content: "";
    position: absolute;
    inset-inline: 0;
    top: 50%;
    border-top: 1px solid currentColor;
    pointer-events: none;
}
.abx-rent-onetime-heading .cart-summary-label { font-weight: 600; padding-top: 1rem; }
.offcanvas-cart-footer .sub-total .ci-month-small { color: inherit; font-size: .6rem; font-weight: 400; white-space: nowrap; vertical-align: baseline; }
@media (max-width: 575.98px) {
  .abx-cart-rental { gap: .3rem; }
  .abx-cart-rent-term { max-width: 125px; }
}

/* Rental notices follow the whole cart form, outside the totals panel. */
.order-summary-content > .abx-cart-legalterms { margin: .75rem 0 1.25rem; width: 100%; max-width: none; }

/* Checkout confirmation: keep the native Smartstore sticky cart-footer around
   the shaded summary and the legal notices; no nested sticky/scroll region. */
.checkout-confirm-page .cart-footer {
    background: transparent;
    border: 0;
    padding: 0;
}
.checkout-confirm-page .cart-footer > .abx-confirm-summary-card {
    background: var(--cart-footer-bg);
    padding: 1.25rem;
    border-radius: var(--cart-border-radius);
}
.checkout-confirm-page .cart-footer > .abx-cart-legalterms {
    margin: .6rem 0 0;
    color: var(--muted);
    font-size: .7rem;
    line-height: 1.45;
}
@media (max-width: 991.98px) {
    .checkout-confirm-page .cart-footer > .abx-confirm-summary-card {
        border: 1px solid var(--cart-border-color);
        border-top-width: 0;
        border-radius: 0;
    }
}

/* Smartstore Flex gives .cart-footer position:sticky. The separate legal notice
   must scroll together with its summary rather than be covered by the panel. */
.shopping-cart-page #cart-summary-container.cart-footer {
    position: static !important;
    top: auto;
    bottom: auto;
}

/* Legacy cart price progression, kept with the monthly price. */
.cart-item-price-group .ci-rent-initialdiscount {
    font-size: .7em;
    text-align: right;
    max-width: 100%;
    overflow-wrap: anywhere;
}

/* Cart and product rental comparison: one visual strike across amount and
   unit, without native <s>/pd-promoprice decoration or the orange
   .pd-monthly-small color from the active rental price. */
.abx-rent-compare .abx-rent-compare-visual {
    display: inline-flex;
    align-items: baseline;
    gap: .15rem;
    position: relative;
    white-space: nowrap;
    color: inherit;
    font-size: .85em;
    text-decoration: none;
}
.abx-rent-compare .abx-rent-compare-period {
    color: inherit;
    font-size: .6em;
    font-weight: 400;
    white-space: nowrap;
}
.abx-rent-compare .abx-rent-compare-visual::after {
    content: "";
    position: absolute;
    inset-inline: 0;
    top: 50%;
    border-block-start: 1px solid currentColor;
    pointer-events: none;
}
/* Keep the product-detail comparison unit at its original size. */
.abx-rent-pdp-price .abx-rent-compare .abx-rent-compare-period {
    font-size: inherit;
}
