/* Дополнительные стили для Tailwind: JS-зависимые состояния и специфичные элементы */

html {
    scroll-behavior: smooth;
}

/* Модальное окно: видимость */
.modal,
.delete-confirm-modal {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
.modal.active,
.delete-confirm-modal.active {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto;
}
.modal.active .modal__content,
.delete-confirm-modal.active > div:last-child {
    pointer-events: auto;
}

/* Ошибки формы */
.form-error.visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* Admin login error */
#loginError.visible,
#passwordError.visible,
#createUserError.visible {
    opacity: 1 !important;
}

.form-group.has-error input {
    border-color: #C45 !important;
}

/* Кнопка в корзине (disabled) */
.btn--in-cart {
    background: #F5F0E8 !important;
    color: #6B5D4F !important;
    cursor: default !important;
}

/* Корзина: карточки товаров */
.cart-item {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid #F5F0E8;
}

.cart-quantity {
    display: flex;
    align-items: center;
    border: 1px solid #F5F0E8;
    border-radius: 8px;
    overflow: hidden;
}

.cart-quantity__btn {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #F5F0E8;
    border: none;
    font-size: 1.1rem;
    cursor: pointer;
    transition: background 0.2s;
}

.cart-quantity__btn:hover {
    background: #E8E0D4;
}

.cart-item__remove {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid #6B5D4F;
    color: #6B5D4F;
    border-radius: 8px;
    font-size: 0.9rem;
    cursor: pointer;
    transition: all 0.2s;
}

.cart-item__remove:hover {
    background: #E8D4D4;
    border-color: #C45;
    color: #C45;
}

/* Мобильное меню */
.mobile-menu.active {
    transform: translateX(0) !important;
}

/* Адаптив: карточки товаров на мобильном */
@media (max-width: 640px) {
    .product-card__footer {
        flex-direction: column;
        align-items: stretch;
    }
    .product-card__footer .btn {
        width: 100%;
    }
}
