/* One scroll area prevents the fixed summary from collapsing the product list. */
#cartModal .modal-content {
    max-height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
}
#cartModal .modal-header,
#cartModal .modal-body,
#cartModal .modal-footer {
    flex: 0 0 auto;
}
#cartModal .modal-header {
    position: sticky;
    top: 0;
    z-index: 2;
}
#cartModal .modal-body {
    overflow: visible;
}
#cartModal .cart-line {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) auto 40px;
    gap: .6rem;
}
#cartModal .cart-line-icon { width: 36px; }
#cartModal .cart-line > .text-end { margin-right: 0 !important; }
#cartModal .cart-remove {
    width: 40px;
    height: 44px;
    flex-shrink: 0;
}
#cartModal .cart-remove:focus-visible {
    outline: 3px solid var(--primary);
    outline-offset: 2px;
}
#cartModal .cart-client-alert { flex-wrap: wrap; }
@media (max-width: 575.98px) {
    #cartModal .cart-line { grid-template-columns: 36px minmax(0, 1fr) 40px; }
    #cartModal .cart-line-copy { grid-column: 2; grid-row: 1; }
    #cartModal .cart-remove { grid-column: 3; grid-row: 1; }
    #cartModal .cart-line > .text-end { grid-column: 2 / 4; grid-row: 2; }
}
