/**
 * Global Cart for Multisite - Frontend CSS
 * @version 1.5.0
 */
:root {
    --gcm-success-bg: #eaf7ed; --gcm-success-text: #1e4620; --gcm-success-border: #a3d8b0;
    --gcm-error-bg: #fdeaea; --gcm-error-text: #5c2121; --gcm-error-border: #f5b9b9;
    --gcm-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); --gcm-spinner-color: #ffffff;
}
html[data-theme="dark"] {
    --gcm-success-bg: #1e4620; --gcm-success-text: #eaf7ed; --gcm-success-border: #2a643b;
    --gcm-error-bg: #5c2121; --gcm-error-text: #fdeaea; --gcm-error-border: #8b3232;
    --gcm-shadow: 0 5px 15px rgba(0, 0, 0, 0.3); --gcm-spinner-color: #cccccc;
}
.add_to_cart_button.loading, .single_add_to_cart_button.loading, .woocommerce-mini-cart-item.loading {
    opacity: 0.7; position: relative; pointer-events: none;
}
.add_to_cart_button.loading::after, .single_add_to_cart_button.loading::after {
    content: ""; display: block; position: absolute; top: 50%; left: 50%; width: 1em; height: 1em;
    margin-top: -0.5em; margin-left: -0.5em; border: 2px solid var(--gcm-spinner-color, #fff);
    border-radius: 50%; border-top-color: transparent; border-right-color: transparent;
    animation: gcm-spin 0.8s linear infinite;
}
@keyframes gcm-spin { to { transform: rotate(360deg); } }
.global-cart-notification {
    position: fixed; bottom: 20px; right: 20px; z-index: 999999; padding: 12px 18px; border-radius: 8px;
    box-shadow: var(--gcm-shadow); max-width: 320px; width: calc(100% - 40px); display: flex;
    align-items: center; gap: 12px; font-size: 14px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    transform: translateY(200%); opacity: 0; transition: transform 0.4s ease-out, opacity 0.4s ease-out;
}
.global-cart-notification.visible { transform: translateY(0); opacity: 1; }
.global-cart-notification.success { background-color: var(--gcm-success-bg); color: var(--gcm-success-text); border: 1px solid var(--gcm-success-border); }
.global-cart-notification.error { background-color: var(--gcm-error-bg); color: var(--gcm-error-text); border: 1px solid var(--gcm-error-border); }
.global-cart-notification .gcm-icon { font-size: 18px; line-height: 1; }
.global-cart-notification .gcm-message { flex-grow: 1; }
.global-cart-notification .gcm-close {
    background: none; border: none; color: inherit; opacity: 0.6; font-size: 20px;
    line-height: 1; cursor: pointer; padding: 0; margin-left: 10px;
}
.global-cart-notification .gcm-close:hover { opacity: 1; }