:root {
    --low-stock-bg: #E8F3F9;
    --low-stock-border: #0193E0;
    --low-stock-banner-info-icon: #000000;
    --low-stock-text: #000000;
    --low-stock-label: #F26323;
    --low-stock-label-background: #FCD8C8;
    --tooltip-bg: #424242;
    --tooltip-text: #ffffff;
    --tooltip-shadow: rgba(0, 0, 0, 0.15);
    --banner-shadow: rgba(0, 0, 0, 0.1);
}

.productView .low-stock-banner-container {
    max-width: 120.28571rem;
    margin: auto;
    width: 100%;
}

.low-stock-banner {
    background-color: var(--low-stock-bg);
    border: 1px solid var(--low-stock-border);
    /* border-left: 4px solid var(--low-stock-border); */
    border-radius: 4px;
    padding: 10px 16px;
    margin-bottom: 2rem;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    box-shadow: 0 1px 3px var(--banner-shadow);
}

.modal-low-stock-warning {
    width: 8.5rem;
    margin-top: 1rem;
}

.low-stock-banner-content {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
}

.low-stock-banner .info-icon {
    flex-shrink: 0;
    stroke: var(--low-stock-banner-info-icon);
    width: 18px;
    height: 18px;
}

.low-stock-message {
    color: var(--low-stock-text);
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
}

.form-field.form-field--increments .form-label {
    display: flex;
    align-items: center;
    gap: 6px;
}

.cart-add-container {
    display: flex;
    align-items: center !important;
    /* prevents vertical stretching */
    line-height: normal !important;
}

.low-stock-label {
    display: inline-flex;
    align-items: center;
    /* align-items: flex-start; */
    gap: 6px;
    padding: 6px 12px;
    background: var(--low-stock-label-background);
    border-radius: 5px;
    font-size: 14px;
    font-weight: 500;
    color: var(--low-stock-label);
    /* margin-left: 8px; */
    height: auto !important;
    /* force badge to shrink */
    line-height: 1 !important;

}

.low-stock-icon {
    width: 18px;
    height: 18px;
    stroke: var(--low-stock-label);
}

.low-stock-text {
    color: var(--low-stock-label);
    font-weight: 500;
    font-size: 14px;
}

.quantity-warning-icon {
    display: inline-flex;
    align-items: center;
    cursor: help;
    position: relative;
    margin-left: 4px;
}

.quantity-warning-icon svg {
    flex-shrink: 0;
    display: block;
    width: 26px;
    height: 26px;
}

.warning-tooltip {
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    padding: 8px 12px;
    background-color: var(--tooltip-bg);
    color: var(--tooltip-text);
    font-size: 12px;
    line-height: 1.4;
    border-radius: 4px;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    pointer-events: none;
    z-index: 1000;
    box-shadow: 0 2px 8px var(--tooltip-shadow);
}

.warning-tooltip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 5px solid transparent;
    border-top-color: var(--tooltip-bg);
}

.quantity-warning-icon:hover .warning-tooltip {
    opacity: 1;
    visibility: visible;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .low-stock-banner {
        padding: 12px;
        gap: 14px;
    }

    .modal-low-stock-warning {
        width: 9rem;
    }

    .low-stock-banner .info-icon {
        width: 41px;
        height: 41px;
        opacity: 1;
    }

    .low-stock-message {
        font-size: 16px;
        line-height: 1.5;
    }

    .low-stock-label {
        /* padding: 10px 16px; */
        display: inline-flex;
        align-items: center;
        font-size: 16px;
    }

    .low-stock-icon {
        width: 22px;
        height: 22px;
    }

    .quantity-warning-icon svg {
        width: 14px;
        height: 14px;
    }

    .warning-tooltip {
        white-space: normal;
        max-width: 200px;
        left: auto;
        right: 0;
        transform: none;
    }

    .warning-tooltip::after {
        left: auto;
        right: 10px;
        transform: none;
    }
}

/* Very Small Phones */
@media (max-width: 480px) {
    .low-stock-banner .info-icon {
        width: 53.5px;
        height: 53.5px;
    }

    .low-stock-message {
        font-size: 16px;
        font-weight: 400;
    }
}

/* checkout css */
.checkout-low-stock-label,
.cart-low-stock-label {
    width: 6rem;
    background-color: var(--low-stock-label-background);
    color: var(--low-stock-label);
    padding: 6px;
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 3px;
}

.cart-low-stock-label {
    width: auto;
    padding: 5px;
    margin: 0.5rem 0.3rem;
    position: absolute;
}

.cart-low-stock-icon {
    width: 15px;
    height: 15px;
    stroke: var(--low-stock-label);
}

.cart .form-increment {
    width: 3rem !important;
}

.checkout-low-stock-label-mobile {
    background-color: var(--low-stock-label-background);
    color: var(--low-stock-label);
    padding: 5px;
    border-radius: 4px;
    font-size: 0.7rem;
    display: flex;
    align-items: center;
    gap: 3px;
    width: 5.5rem;
    margin-top: 3px;
}

/* Phone (max-width: 600px) */
@media (max-width: 600px) {

    .checkout-low-stock-label,
    .cart-low-stock-label {
        font-size: 0.6rem;
    }

    .checkout-low-stock-label-mobile {
        font-size: 0.7rem;
    }
}

/* Tablet (min-width: 601px to max-width: 900px) */
@media (min-width: 601px) and (max-width: 900px) {

    .checkout-low-stock-label,
    .cart-low-stock-label {
        font-size: 0.7rem;
    }
}

@media (min-width: 801px) {

    .cart-header-quantity,
    .cart-item-quantity {
        text-align: left !important;
    }

    .cart .cart-header-item-price,
    .cart .cart-item-price {
        text-align: left !important;
    }
}