.composeo-quote-error {
    background: #fff2f2;
    border: 1px solid #d64545;
    color: #b00020;
    font-weight: 700;
    margin: 20px 0;
    padding: 12px 16px;
}

.composeo-field-error label {
    color: #b00020;
}

.composeo-field-error input,
.composeo-field-error textarea {
    border-color: #d64545 !important;
    box-shadow: 0 0 0 1px #d64545;
}

.composeo-quote-fields {
    margin: 20px 0 30px;
}

.composeo-required {
    color: #b00020;
    font-weight: 700;
}

.composeo-quote-products ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.composeo-quote-products li {
    align-items: center;
    background: #f7f7f7;
    display: flex;
    justify-content: space-between;
    margin-bottom: 2px;
    padding: 20px;
}

.composeo-quote-product {
    align-items: center;
    display: flex;
}

.composeo-quote-img {
    margin-right: 24px;
}

.composeo-quote-img img {
    height: auto;
    width: 140px;
}

.composeo-quote-product h3 {
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 10px;
}

.composeo-quote-customizations p {
    font-style: italic;
    font-weight: 700;
    margin: 0 0 8px;
}

.composeo-quote-qty {
    align-items: center;
    display: flex;
    gap: 14px;
    justify-content: flex-end;
    margin-left: 20px;
    white-space: nowrap;
}

.composeo-quote-delete {
    background: transparent;
    border: 0;
    color: #d64545;
    cursor: pointer;
    height: 24px;
    padding: 0;
    position: relative;
    width: 24px;
}

.composeo-quote-delete::before {
    background: currentColor;
    content: "";
    display: block;
    height: 22px;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M8 6V4h8v2'/%3E%3Cpath d='M19 6l-1 14H6L5 6'/%3E%3Cpath d='M10 11v5'/%3E%3Cpath d='M14 11v5'/%3E%3C/svg%3E") center / contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M8 6V4h8v2'/%3E%3Cpath d='M19 6l-1 14H6L5 6'/%3E%3Cpath d='M10 11v5'/%3E%3Cpath d='M14 11v5'/%3E%3C/svg%3E") center / contain no-repeat;
    width: 22px;
}

.composeo-quote-delete:hover,
.composeo-quote-delete:focus {
    color: #b00020;
    outline: none;
}

.sr-only {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

@media (max-width: 767px) {
    .composeo-quote-products li,
    .composeo-quote-product {
        align-items: flex-start;
        display: block;
    }

    .composeo-quote-img {
        margin: 0 0 15px;
    }

    .composeo-quote-qty {
        align-items: flex-start;
        justify-content: flex-start;
        margin: 15px 0 0;
        white-space: normal;
    }
}
