:root {
    --low-stock-bg: #E8F3F9;
    --low-stock-border: #0193E0;
    --low-stock-banner-info-icon: #000000;
    --low-stock-text: #5d4037;
    --low-stock-label: #F26323;
    --low-stock-label-background: #FEE1D5;
    --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);
}

.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;
    }

    .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;
    }
}