/*
 * Commerce Cart visual isolation layer.
 * All selectors are scoped to the Elementor modal containing the Commerce Cart
 * product renderer. Original Elementor JSON and original PHP includes stay intact.
 */

.elementor-popup-modal.commerce-cart-isolated-modal {
    isolation: isolate !important;
}

.elementor-popup-modal.commerce-cart-isolated-modal .dialog-widget-content {
    background-color: #ffffff !important;
    color: #250902 !important;
    font-family: Poppins, sans-serif !important;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-popup,
.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-popup * {
    box-sizing: border-box;
}

.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-popup {
    color: #250902 !important;
    font-family: Poppins, sans-serif !important;
}

/* Keep the template's heading on one line and independent from Site Settings. */
.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-popup .elementor-widget-heading {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: max-content !important;
    align-self: center !important;
    margin: 0 !important;
}

.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-popup .elementor-widget-heading .elementor-heading-title {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: Poppins, sans-serif !important;
    font-size: 22px !important;
    font-weight: 500 !important;
    font-style: normal !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    word-spacing: normal !important;
    text-transform: none !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    color: #250902 !important;
    text-shadow: none !important;
}

/* Restore the original Continue Shopping pill regardless of theme button CSS. */
.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-popup .elementor-widget-button:not(.ecommercecart-cart-checkout-button) .elementor-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 12px !important;
    background: #EEE9EA !important;
    background-color: #EEE9EA !important;
    border: 0 !important;
    border-radius: 100px !important;
    box-shadow: none !important;
    color: #7A3F41 !important;
    font-family: Poppins, sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    font-style: normal !important;
    line-height: 1.2 !important;
    letter-spacing: normal !important;
    word-spacing: normal !important;
    text-transform: none !important;
    text-decoration: none !important;
    text-shadow: none !important;
    white-space: nowrap !important;
}

.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-popup .elementor-widget-button:not(.ecommercecart-cart-checkout-button) .elementor-button-content-wrapper {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    white-space: nowrap !important;
}

.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-popup .elementor-widget-button:not(.ecommercecart-cart-checkout-button) .elementor-button:hover,
.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-popup .elementor-widget-button:not(.ecommercecart-cart-checkout-button) .elementor-button:focus {
    background: #EEE9EA !important;
    background-color: #EEE9EA !important;
    color: #7A3F41 !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-popup .custom-close-btn .elementor-icon {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

/* Product list: lock the intended card geometry and typography. */
.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-modern-cart {
    width: 100% !important;
    max-width: 100% !important;
    padding-inline: 14px !important;
    display: flex !important;
    flex-direction: column !important;
    color: #250902 !important;
    font-family: Poppins, sans-serif !important;
    box-sizing: border-box !important;
}

.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-modern-cart-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-item {
    display: grid !important;
    grid-template-columns: 88px minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: 14px !important;
    width: 100% !important;
    padding-block: 20px !important;
    margin: 0 !important;
    border: 0 !important;
    border-top: 0 !important;
    background: transparent !important;
    color: #250902 !important;
    font-family: Poppins, sans-serif !important;
    box-shadow: none !important;
}

.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-item + .ecommercecart-cart-item {
    border-top: 1px solid #eeeae7 !important;
}

.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-item-image {
    width: 88px !important;
    height: 108px !important;
    min-width: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 15px !important;
    background: #f5f2ef !important;
    box-shadow: none !important;
}

.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-item-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    object-fit: cover !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-item-info {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #250902 !important;
    font-family: Poppins, sans-serif !important;
}

.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-item-name {
    margin: 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
    color: #250902 !important;
    font-family: Poppins, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    font-style: normal !important;
    line-height: 1.3 !important;
    letter-spacing: -0.01em !important;
    word-spacing: normal !important;
    text-transform: none !important;
    text-decoration: none !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    text-shadow: none !important;
}

.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-item-variation {
    margin: 0 !important;
    padding: 0 !important;
    color: #7d716c !important;
    font-family: Poppins, sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}

.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-item-price {
    margin: 2px 0 0 !important;
    padding: 0 !important;
    color: #250902 !important;
    font-family: Poppins, sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    letter-spacing: -0.01em !important;
    white-space: nowrap !important;
    text-transform: none !important;
}

/* The Remove control must remain a quiet text link, never a theme button. */
.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-modern-cart button.ecommercecart-cart-remove,
.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-modern-cart button.ecommercecart-cart-remove:visited {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: inline-block !important;
    width: fit-content !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 3px 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #8a817d !important;
    font-family: Poppins, sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    font-style: normal !important;
    line-height: 1.3 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    text-decoration: none !important;
    text-shadow: none !important;
    cursor: pointer !important;
}

.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-modern-cart button.ecommercecart-cart-remove:hover {
    background: transparent !important;
    background-color: transparent !important;
    color: #250902 !important;
    border: 0 !important;
    box-shadow: none !important;
    text-decoration: underline !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 3px !important;
}

.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-modern-cart button.ecommercecart-cart-remove::before,
.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-modern-cart button.ecommercecart-cart-remove::after,
.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-modern-cart button.ecommercecart-cart-qty::before,
.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-modern-cart button.ecommercecart-cart-qty::after {
    content: none !important;
    display: none !important;
}

/* Quantity stepper: transparent controls, warm border and dark text. */
.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-item-actions {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    height: 36px !important;
    min-height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #ded8d4 !important;
    border-radius: 9px !important;
    background: transparent !important;
    background-color: transparent !important;
    overflow: hidden !important;
    box-shadow: none !important;
}

.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-modern-cart .ecommercecart-cart-quantity {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 28px !important;
    width: 28px !important;
    min-width: 28px !important;
    height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #250902 !important;
    background: transparent !important;
    font-family: Poppins, sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    letter-spacing: normal !important;
    text-align: center !important;
    text-transform: none !important;
    box-shadow: none !important;
}

.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-modern-cart button.ecommercecart-cart-qty {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 34px !important;
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #250902 !important;
    font-family: Poppins, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    font-style: normal !important;
    line-height: 1 !important;
    letter-spacing: normal !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    text-shadow: none !important;
    cursor: pointer !important;
}

.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-modern-cart button.ecommercecart-cart-qty:hover,
.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-modern-cart button.ecommercecart-cart-qty:focus {
    background: transparent !important;
    background-color: transparent !important;
    color: #7d716c !important;
    border: 0 !important;
    box-shadow: none !important;
}

.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-modern-cart button.ecommercecart-cart-qty:disabled {
    opacity: 0.35 !important;
    cursor: default !important;
}

/* Summary and divider use the supplied cart's own palette, not the site's kit. */
.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-summary,
.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-summary-row {
    width: 100% !important;
    color: #250902 !important;
    font-family: Poppins, sans-serif !important;
}

.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-summary-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
}

.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-summary-heading {
    margin: 0 !important;
    color: #250902 !important;
    font-family: Poppins, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}

.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-summary-meta {
    margin-top: 3px !important;
    color: #8a817d !important;
    font-family: Poppins, sans-serif !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}

.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-summary-total {
    color: #250902 !important;
    font-family: Poppins, sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    letter-spacing: -0.01em !important;
    text-align: right !important;
    white-space: nowrap !important;
    text-transform: none !important;
}

.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-summary-divider .elementor-divider-separator {
    border-top-color: #EAEAEA !important;
    border-block-start-color: #EAEAEA !important;
}

.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-checkout-button .elementor-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 52px !important;
    padding: 14px 20px !important;
    background: #250902 !important;
    background-color: #250902 !important;
    border: 1px solid #250902 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    color: #ffffff !important;
    font-family: Poppins, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    letter-spacing: -0.01em !important;
    text-transform: none !important;
    text-decoration: none !important;
    text-shadow: none !important;
}

.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-checkout-button .elementor-button:hover,
.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-checkout-button .elementor-button:focus {
    background: #250902 !important;
    background-color: #250902 !important;
    border-color: #250902 !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

@media (max-width: 767px) {
    .elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-popup .elementor-widget-heading .elementor-heading-title {
        font-size: 18px !important;
        letter-spacing: 0 !important;
        white-space: nowrap !important;
    }

    .elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-modern-cart {
        padding-inline: 12px !important;
    }

    .elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-item {
        grid-template-columns: 76px minmax(0, 1fr) auto !important;
        column-gap: 12px !important;
        padding-block: 18px !important;
    }

    .elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-item-image {
        width: 76px !important;
        height: 96px !important;
        border-radius: 14px !important;
    }

    .elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-item-name {
        font-size: 14px !important;
    }

    .elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-item-actions {
        height: 36px !important;
    }

    .elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-modern-cart .ecommercecart-cart-quantity {
        flex-basis: 26px !important;
        width: 26px !important;
        min-width: 26px !important;
    }

    .elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-modern-cart button.ecommercecart-cart-qty {
        flex-basis: 34px !important;
        width: 34px !important;
        min-width: 34px !important;
        max-width: 34px !important;
    }

    .elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-summary {
        padding-top: 20px !important;
    }

    .elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-cart-summary-total {
        font-size: 14px !important;
    }
}


/* Empty-cart CTA: retain the original white label despite global link/button rules. */
.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-modern-cart a.ecommercecart-modern-cart-empty-button,
.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-modern-cart a.ecommercecart-modern-cart-empty-button:link,
.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-modern-cart a.ecommercecart-modern-cart-empty-button:visited,
.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-modern-cart a.ecommercecart-modern-cart-empty-button:hover,
.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-modern-cart a.ecommercecart-modern-cart-empty-button:focus,
.elementor-popup-modal.commerce-cart-isolated-modal .ecommercecart-modern-cart a.ecommercecart-modern-cart-empty-button:active {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background: #250902 !important;
    background-color: #250902 !important;
    border-color: #250902 !important;
    text-decoration: none !important;
}
