/* ===== ОСНОВНЫЕ АНИМАЦИИ ПОЯВЛЕНИЯ ===== */
.card, .product-card, .item-card, [class*="card"], [class*="item"], 
img, h1, h2, h3, .title, .heading, .product, .shop-item {
    opacity: 0;
    animation: fadeSlide 0.5s ease forwards;
}

@keyframes fadeSlide {
    0% { opacity: 0; transform: translateY(25px); }
    100% { opacity: 1; transform: translateY(0); }
}

/* Задержки для элементов (до 10 штук) */
.card:nth-child(1), .product-card:nth-child(1), .item-card:nth-child(1),
[class*="card"]:nth-child(1), [class*="item"]:nth-child(1) { animation-delay: 0.05s; }
.card:nth-child(2), .product-card:nth-child(2), .item-card:nth-child(2),
[class*="card"]:nth-child(2), [class*="item"]:nth-child(2) { animation-delay: 0.10s; }
.card:nth-child(3), .product-card:nth-child(3), .item-card:nth-child(3),
[class*="card"]:nth-child(3), [class*="item"]:nth-child(3) { animation-delay: 0.15s; }
.card:nth-child(4), .product-card:nth-child(4), .item-card:nth-child(4),
[class*="card"]:nth-child(4), [class*="item"]:nth-child(4) { animation-delay: 0.20s; }
.card:nth-child(5), .product-card:nth-child(5), .item-card:nth-child(5),
[class*="card"]:nth-child(5), [class*="item"]:nth-child(5) { animation-delay: 0.25s; }
.card:nth-child(6), .product-card:nth-child(6), .item-card:nth-child(6),
[class*="card"]:nth-child(6), [class*="item"]:nth-child(6) { animation-delay: 0.30s; }
.card:nth-child(7), .product-card:nth-child(7), .item-card:nth-child(7),
[class*="card"]:nth-child(7), [class*="item"]:nth-child(7) { animation-delay: 0.35s; }
.card:nth-child(8), .product-card:nth-child(8), .item-card:nth-child(8),
[class*="card"]:nth-child(8), [class*="item"]:nth-child(8) { animation-delay: 0.40s; }
.card:nth-child(9), .product-card:nth-child(9), .item-card:nth-child(9),
[class*="card"]:nth-child(9), [class*="item"]:nth-child(9) { animation-delay: 0.45s; }
.card:nth-child(10), .product-card:nth-child(10), .item-card:nth-child(10),
[class*="card"]:nth-child(10), [class*="item"]:nth-child(10) { animation-delay: 0.50s; }

/* ===== HOVER-ЭФФЕКТЫ ДЛЯ КАРТОЧЕК ===== */
.card:hover, .product-card:hover, .item-card:hover, 
[class*="card"]:hover, [class*="item"]:hover {
    transform: translateY(-6px) scale(1.01);
    transition: transform 0.25s ease, box-shadow 0.3s ease;
    box-shadow: 0 8px 30px rgba(0,0,0,0.3);
}

/* ===== АНИМАЦИЯ ДЛЯ БУКВ SMOLL RUST ===== */
@keyframes fadeInLetter {
    0%   { opacity: 0; transform: translateY(15px) scale(0.8); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}

.smoll-rust-animated {
    display: inline-block;
    font-weight: inherit;
    letter-spacing: 0.03em;
}

.smoll-rust-animated span {
    display: inline-block;
    animation: fadeInLetter 0.35s ease forwards;
    opacity: 0;
}

/* ===== ЗАКРУГЛЕНИЕ ВСЕХ КНОПОК ===== */
button, .btn, .button, 
input[type="submit"], input[type="button"], 
a.btn, a.button {
    border-radius: 30px !important;
    padding: 10px 25px;
    border: none;
    cursor: pointer;
    transition: transform 0.15s ease;
}

/* ===== АНИМИРОВАННАЯ ПОЛОСКА ПОД ПУНКТАМИ МЕНЮ ===== */
.nav-link-animated {
    position: relative;
    display: inline-block;
    text-decoration: none;
    color: inherit;
    padding-bottom: 4px;
}

.nav-link-animated::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 0;
    height: 3px;
    background: currentColor; /* цвет текста, можно изменить */
    transition: width 0.3s ease-in-out;
    border-radius: 3px;
}

.nav-link-animated:hover::after,
.nav-link-animated:active::after {
    width: 100%;
}

/* Если хотите задать конкретный цвет полоски – раскомментируйте и замените: */
/* .nav-link-animated::after { background: #f39c12; } */

/* ===== ИСПРАВЛЕНИЕ ПУСТЫХ КНОПОК КОЛИЧЕСТВА (+ и -) ===== */
.quantity-btn, .qty-btn, .stepper-btn, 
button[data-action="decrease"], button[data-action="increase"],
button.decrease, button.increase,
button.minus, button.plus {
    position: relative;
    font-size: 0; /* скрываем возможный пустой текст */
    min-width: 36px;
    min-height: 36px;
    border-radius: 50% !important;
    background: #f0f0f0;
    border: 1px solid #ccc;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #333 !important;
}

/* Добавляем символы через псевдоэлементы */
.quantity-btn::before, .qty-btn::before, .stepper-btn::before,
button[data-action="decrease"]::before, button.decrease::before, button.minus::before {
    content: "−";
    font-size: 20px;
    font-weight: bold;
    color: #333;
    line-height: 1;
}

.quantity-btn::after, .qty-btn::after, .stepper-btn::after,
button[data-action="increase"]::after, button.increase::after, button.plus::after {
    content: "+";
    font-size: 20px;
    font-weight: bold;
    color: #333;
    line-height: 1;
}