/* Reset */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Roboto', sans-serif;
    -webkit-font-smoothing: antialiased;
}

html {
    background: #ffffff;
}

img {
    display: block;
    max-width: 100%;
}

a {
    text-decoration: none;
    color: inherit;
}

/* ===========================================
   WooCommerce Notices (Toast style)
   =========================================== */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error {
    position: fixed !important;
    top: 20px !important;
    right: 20px !important;
    left: auto !important;
    bottom: auto !important;
    z-index: 9999 !important;
    max-width: 320px !important;
    margin: 0 !important;
    padding: 14px 18px !important;
    background: #1E1C1F !important;
    border: none !important;
    border-left: 4px solid #4285F4 !important;
    border-top: none !important;
    border-radius: 10px !important;
    font-family: 'Figtree', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #fff !important;
    list-style: none !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;
    animation: toastSlideIn 0.3s ease, toastFadeOut 0.3s ease 4s forwards;
}

.woocommerce-info {
    border-left-color: #fff !important;
}

.woocommerce-error {
    border-left-color: #E53935 !important;
    animation: toastSlideIn 0.3s ease, toastFadeOut 0.3s ease 4s forwards;
}

.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a {
    color: #4285F4 !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
    display: none !important;
}

.woocommerce-notices-wrapper {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 9999;
}

.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error {
    position: relative;
    top: auto;
    right: auto;
    margin-bottom: 10px;
}

@keyframes toastSlideIn {
    from {
        opacity: 0;
        transform: translateX(100%);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes toastFadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
        visibility: hidden;
    }
}

/* ===========================================
   Mobile Cart Button
   =========================================== */
.mobile-cart-btn {
    position: fixed;
    bottom: 16px;
    left: 16px;
    right: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px;
    height: 52px;
    background: #4285F4;
    border-radius: 10px;
    z-index: 1000;
}

.mobile-cart-btn span {
    font-family: 'Figtree', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #fff;
}

.mobile-cart-label {
    display: flex;
    align-items: center;
    gap: 8px;
}

.mobile-cart-count {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background: #fff;
    color: #4285F4 !important;
    border-radius: 50%;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.mobile-cart-total {
    font-size: 18px !important;
}

/* ===========================================
   Desktop - Container
   =========================================== */
@media (min-width: 1024px) {
    html {
        background: #ffffff;
    }

    body {
        max-width: 1280px;
        margin: 0 auto;
    }

    .mobile-cart-btn {
        display: none;
    }
}
