/**
 * Warning Alert Styles
 * 
 * Styles for the yellow warning alert box with message text
 * and a close (×) button. Used for showing site-wide warnings.
 */

.warning-alert {
    background: #fff3cd;              /* light yellow */
    color: #856404;                   /* dark yellow/brown text */
    border: 1px solid #ffeeba;        /* matching border */
    padding: 12px 18px;
    border-radius: 8px;
    font-size: 15px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}

.shipping-address-error-link {
    text-decoration: underline !important;
}

#alert-message p {
    margin-bottom: 0;
}

.warning-alert #alert-message {
    flex-grow: 1;
    font-weight: 500;
}

.warning-alert .close-btn {
    cursor: pointer;
    color: #856404;
    font-size: 20px;
    text-decoration: none;
    opacity: 0.8;
}

.warning-alert .close-btn:hover {
    opacity: 1;
}

/* Overlay */
#custom-loader.custom-loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.4);
    z-index: 99999;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Spinner */
.custom-loader .loader {
    width: 40px;
    height: 40px;
    border: 4px solid var(--white-color, #ffffff);
    border-top-color: #2271b1;
    border-radius: 50%;
    animation: custom-loader-spin 1s linear infinite;
}

/* Spin animation */
@keyframes custom-loader-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}