.vp-quote-line-heading {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.vp-quote-line-heading-details {
    flex: 1;
    min-width: 0;
    overflow-wrap: anywhere;
}

.vp-quote-line-media {
    display: flex;
    flex: 0 0 112px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: .25rem;
    min-height: 112px;
    padding: .35rem;
    border: 1px solid #dee2e6;
    border-radius: .5rem;
    background: #fff;
    text-align: center;
    text-decoration: none;
    font-size: .75rem;
    color: #495057;
}

a.vp-quote-line-media[data-vp-quote-image] { cursor: zoom-in; }
a.vp-quote-line-media:focus-visible { outline: 3px solid var(--bs-primary, #0d6efd); outline-offset: 3px; }
.vp-quote-line-media img { width: 100%; height: 104px; object-fit: contain; }
.vp-quote-quantity-control { max-width: 10rem; flex-wrap: nowrap; }
.vp-quote-quantity-control .vp-quantity-field { min-width: 3.5rem; text-align: center; }
.vp-quote-quantity-control .btn,
.vp-quote-quantity-control .btn:focus {
    flex: 0 0 2rem;
    min-width: 2rem;
    padding-inline: 0;
    border: 1px solid #6c757d;
}
.vp-quote-quantity-control [hidden] { display: none !important; }
.vp-quote-line-media [hidden], .vp-quote-image-modal [hidden] { display: none !important; }
.vp-quote-image-modal .modal-dialog { max-width: min(1000px, calc(100% - 2rem)); margin-left: auto; margin-right: auto; }
.vp-quote-image-modal .modal-title { overflow-wrap: anywhere; }
.vp-quote-image-modal .modal-header { gap: 1rem; }
.vp-quote-image-close { flex-shrink: 0; }
.vp-quote-image-modal .modal-body { display: grid; place-items: center; min-height: 160px; padding: 1rem; }
.vp-quote-image-modal img { max-width: 100%; max-height: 72vh; max-height: 72dvh; width: auto; height: auto; object-fit: contain; }

@media (max-width: 575.98px) {
    .vp-quote-line-heading { gap: .75rem; }
    .vp-quote-line-media { flex-basis: 80px; min-height: 80px; }
    .vp-quote-line-media img { height: 72px; }
    .vp-quote-image-modal img { max-height: 64vh; max-height: 64dvh; }
}
