:root {
     --wac-primary: #6f5cd8;
     --wac-accent: #e67e22;
     --wac-bg: #ffffff;
     --wac-text: #333333;
     --wac-border: #e5e5e5;
     --wac-radius: 12px;
     --wac-shadow: 0 10px 40px rgba(0,0,0,0.15);
}
/* Overlay */
 .wac-overlay {
     position: fixed;
     inset: 0;
     background: rgba(0,0,0,0.4);
     opacity: 0;
     pointer-events: none;
     transition: opacity 0.3s;
     z-index: 9998;
}
 .wac-overlay.active {
     opacity: 1;
     pointer-events: auto;
}
/* Sidebar */
 .wac-sidebar {
     position: fixed;
     top: 0;
     right: 0;
     height: 100vh;
     width: 400px;
     max-width: 90vw;
     background: #ffffff;
     box-shadow: -5px 0 25px rgba(0,0,0,0.15);
     transform: translateX(100%);
     transition: transform 0.35s cubic-bezier(0.25, 1, 0.5, 1);
     z-index: 9999;
     display: flex;
     flex-direction: column;
}
 .wac-sidebar.active {
     transform: translateX(0);
}
 .wac-header {
     padding: 20px;
     border-bottom: 1px solid #e5e5e5;
     display: flex;
     justify-content: space-between;
     align-items: center;
     flex-shrink: 0;
}
 .wac-header h3 {
     margin: 0;
     font-size: 24px;
     font-weight: 600;
}
 .wac-close {
     background: none;
     border: none;
     font-size: 26px;
     cursor: pointer;
     color: #333;
     width: 40px;
     height: 40px;
     display: flex;
     align-items: center;
     justify-content: center;
     border-radius: 50%;
     transition: background 0.2s;
    color: #2d226b;

}
.wac-close svg{
    width: 24px;
    height: 24px;
}
 .wac-close:hover {
     background: #f5f5f5;
}
 .wac-content {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
/* Лоудер (строго внутри контента, не ломает анимацию) */
 .wac-loader {
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     background: rgba(255, 255, 255, 0.92);
     display: flex;
     align-items: center;
     justify-content: center;
     opacity: 0;
     pointer-events: none;
     transition: opacity 0.2s ease;
     z-index: 10;
}
 .wac-loader.active {
     opacity: 1;
     pointer-events: auto;
}
 .wac-spinner {
     width: 28px;
     height: 28px;
     border: 3px solid #e0e0e0;
     border-top-color: #2c3e50;
     border-radius: 50%;
     animation: wac-spin 0.8s linear infinite;
}
 @keyframes wac-spin {
     to {
         transform: rotate(360deg);
    }
}
/* Sticky Button */

/* Items */
 .wac-item {
     display: flex;
     gap: 12px;
     padding: 12px 0;
     border-bottom: 1px solid #f0f0f0;
     position: relative;
}
 .wac-thumb img {
     width: 60px;
     height: 60px;
     object-fit: cover;
     border-radius: 8px;
}
 .wac-info {
     flex: 1;
     min-width: 0;
}
 .wac-name {
     margin: 0 0 4px;
     font-size: 14px;
     font-weight: 500;
     line-height: 1.3;
}
 .wac-attrs {
     font-size: 12px;
     color: #666;
     margin-bottom: 4px;
}
 .wac-disc {
     font-size: 12px;
     color: var(--wac-accent);
     background: #fff3e0;
     padding: 2px 6px;
     border-radius: 4px;
     display: inline-block;
     margin-bottom: 4px;
}
 .wac-line-price {
     font-weight: 600;
     font-size: 14px;
}
 .wac-qty-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    background: white;
    border: 1px solid #d7d1fc;
    border-radius: 50px;
    height: 28px;
}

 .wac-qty-btn {
     width: 28px;
     height: 28px;
     /* background: #fff; */
     /* border-radius: 6px; */
     cursor: pointer;
     font-size: 16px;
     display: flex;
     align-items: center;
     justify-content: center;
}
 .wac-qty-input {
     width: 40px;
     height: 28px;
     text-align: center;
     font-size: 14px;
}
.wac-qty-input:focus{
    outline: none;
}
 .wac-remove {
     position: absolute;
     bottom:12px;
     width: 24px;
     height: 24px;
     right: 0px;
     background: none;
     border: none;
     color: #999;
     cursor: pointer;
     font-size: 18px;
     display: flex;
     justify-content: center;
     align-items: center;
}
.wac-remove svg{
    width: 24px;
    height: 24px;
}
 .wac-remove:hover {
     color: #e74c3c;
}
/* Footer */
 .wac-footer {
     padding: 20px;
     border-top: 1px solid var(--wac-border);
     background: #d7d1fc;
     border-radius: 25px !important;
}
 .wac-row {
     display: flex;
     justify-content: space-between;
     margin-bottom: 8px;
     font-size: 14px;
}
 .wac-total {
     font-size: 16px;
     font-weight: 600;
     margin-top: 10px;
}
 .wac-disc-row {
     color: var(--wac-accent);
}
 .wac-checkout-btn {
     display: flex;
     justify-content: center;
     align-items: center;
     width: 100%;
     padding: 5px 10px;
     background: var(--wac-primary);
     color: #fff;
     font-size: 16px;
     line-height: 1;
     border-radius: 32px;
     text-align: center;
     height: 40px;
     text-decoration: none;
     font-weight: 500;
     margin-top: 12px;
     transition: all 0.32s ease-in
}
 .wac-checkout-btn:hover {
     filter: brightness(112%)
}
.woocommerce-checkout-payment .place-order{
    width: 100% !important;
}
/* Sticky Button */
 .wac-sticky-btn {
     position: fixed;
     bottom: 24px;
     right: 24px;
     z-index: 9990;
     background: var(--wac-primary);
     color: #fff;
     border-radius: 16px;
     padding: 12px 18px;
     display: none;
     align-items: center;
     gap: 10px;
     cursor: pointer;
     box-shadow: var(--wac-shadow);
     transition: transform 0.2s, background 0.2s;
     border: none;
     display: flex !important;
}

 .wac-sticky-btn svg {
     width: 20px;
     height: 20px;
}
 .wac-sticky-btn .cart-count {
     background: #e74c3c;
     color: #fff;
     font-size: 11px;
     font-weight: 700;
     padding: 2px 6px;
     border-radius: 10px;
     min-width: 18px;
     text-align: center;
}
 .wac-sticky-btn .cart-total {
     font-size: 14px;
     font-weight: 600;
}
/* Header Cart Integration */
 .header-fast__cart.header-icon {
     cursor: pointer;
     position: relative;
     gap: 5px;
}
 .header-fast__cart .cart-count {
     background: #e74c3c;
     color: #fff;
     font-size: 11px !important;
     font-weight: 700 !important;
     padding: 1px 5px;
     border-radius: 10px;
     position: absolute;
     top: 0px;
     right: 0px;
     min-width: 16px;
     text-align: center;
}
 .header-fast__cart .cart-total {
     font-size: 13px;
     margin-left: 8px;
     font-weight: 500;
     /* display: none; */
}
/* States */
 .wac-empty {
     text-align: center;
     padding: 40px 20px;
     color: #666;
}
 .wac-empty a {
     display: inline-block;
     margin-top: 15px;
     padding: 10px 20px;
     background: var(--wac-primary);
     color: #fff;
     text-decoration: none;
     border-radius: 32px;
}
 .wac-error {
     color: #e74c3c;
     text-align: center;
     padding: 20px;
}

/* всплывашка о добавление */
/* 🔔 Toast-уведомления */
.wac-toast {
    position: fixed;
    bottom: 80px;
    right: 25px;
    background: #359b23;
    color: #fff;
    padding: 12px 20px;
    border-radius: 16px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
    font-size: 14px;
    font-weight: 500;
    z-index: 10001;
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    pointer-events: none;
    max-width: 320px;
    line-height: 1.4;
}
.wac-toast.show {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
.wac-toast.error { background: #e74c3c; }
.wac-toast.success { background: #27ae60; }

@media (max-width: 108px) {
    .wac-toast {
        bottom: 60px; right: 20px; left: 20px;
        max-width: none; text-align: center;
    }
}

/* 💫 Пульсация иконки корзины */
/* 🖼 Летающее изображение товара */
.wac-fly-item {
    position: fixed;
    pointer-events: none;
    z-index: 10000;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.3);
    will-change: transform, opacity;
}

/* Пульсация иконки корзины */
@keyframes wac-pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.25); }
}
.wac-cart-pulse {
    animation: wac-pulse 0.3s ease-in-out;
}

/*  */
/* 💰 Цены: старая и новая */
.wac-prices {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-top: 4px;
}

.wac-old-price {
    font-size: 12px;
    color: #999;
    text-decoration: line-through;
    text-decoration-color: #e74c3c;
    text-decoration-thickness: 2px;
    line-height: 1;
}

.wac-new-price {
    font-size: 15px;
    font-weight: 600;
    color: var(--wac-text, #333);
    line-height: 1;
}

.wac-save {
    font-size: 11px;
    color: #27ae60;
    background: #e8f7ef;
    padding: 2px 6px;
    border-radius: 4px;
    display: inline-block;
    width: fit-content;
    margin-top: 3px;
    font-weight: 500;
}

/* Адаптив: в одну строку на мобильных */
@media (max-width: 480px) {
    .wac-prices {
        flex-direction: row;
        align-items: center;
        gap: 8px;
    }
    .wac-save {
        margin-top: 0;
    }
}