/* Основные стили витрины товаров */
.wcps-error,
.wcps-empty {
    padding: 20px;
    text-align: center;
    color: #666;
    font-size: 16px;
}

/* Анимации для витрины */
@keyframes wcpsFadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes wcpsSpin {
    to { transform: rotate(360deg); }
}

/* Медиа запросы для печати */
@media print {
    .wcps-isolated-container {
        break-inside: avoid;
    }
    
    .wcps-cart-btn,
    .wcps-tabs {
        display: none !important;
    }
}

/* High contrast mode поддержка */
@media (prefers-contrast: high) {
    .wcps-product-card {
        border: 2px solid #000;
    }
    
    .wcps-cart-btn {
        border: 2px solid currentColor;
    }
}

/* Reduced motion поддержка */
@media (prefers-reduced-motion: reduce) {
    .wcps-product-card,
    .wcps-main-image,
    .wcps-cart-btn {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Общие стили для статусов и иконки (дублируют изолированные, но нужны для случаев вне изоляции) */
.cpt-backorder-message {
    color: #f97316;
    font-size: 13px;
    margin: 4px 0;
    display: block;
}

.cpt-outofstock-message {
    color: #dc2626;
    font-size: 13px;
    margin: 4px 0;
    display: block;
}

.cpt-variation-status-message {
    min-height: 20px;
    font-size: 13px;
    margin: 4px 0;
}

.wcps-outofstock-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid #e2e8f0;
    border-radius: 50%;
    background: #fff;
    transition: all 0.12s ease;
    text-decoration: none;
    margin-top: auto;
}

.wcps-outofstock-link:hover {
    background: #f8fafc;
    border-color: #94a3b8;
}

.wcps-outofstock-link svg {
    width: 20px;
    height: 20px;
    stroke: #464455;
}