.weblabels-epdm-calc {
    margin: .75rem 0 1rem;
    border: 1px solid var(--border-color, #dfe3e8);
    border-radius: var(--border-radius, .5rem);
    background: var(--sw-background-color, #fff);
}

.weblabels-epdm-body {
    padding: .85rem 1rem;
}

.weblabels-epdm-heading {
    margin: 0 0 .6rem;
    font-size: .8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: var(--color-text-secondary, #6c757d);
}

.weblabels-epdm-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .75rem;
}

.weblabels-epdm-label {
    margin: 0;
    font-weight: 600;
    white-space: nowrap;
}

.weblabels-epdm-length {
    max-width: 11rem;
}

.weblabels-epdm-total-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    padding-top: .6rem;
    border-top: 1px solid var(--border-color, #dfe3e8);
}

.weblabels-epdm-total-label {
    font-weight: 600;
}

.weblabels-epdm-total-value {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.1;
    color: var(--color-price, #2b2b2b);
}

.weblabels-epdm-units {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem 1.25rem;
    margin-top: .35rem;
    font-size: .85rem;
    color: var(--color-text-secondary, #6c757d);
}

/* Editable length on the cart line item */
.weblabels-epdm-cart-length { margin-top: .35rem; }

.weblabels-epdm-cart-form {
    display: flex;
    align-items: center;
    gap: .4rem;
    flex-wrap: wrap;
}

.weblabels-epdm-cart-label { margin: 0; font-size: .875rem; }

.weblabels-epdm-cart-select { width: auto; max-width: 9rem; }

@media (max-width: 480px) {
    .weblabels-epdm-row { flex-direction: column; align-items: stretch; }
    .weblabels-epdm-length { max-width: none; }
}
