@font-face {
    font-family: 'Cormorant Garamond';
    src: url('../fonts/CormorantGaramond-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Cormorant Garamond';
    src: url('../fonts/CormorantGaramond-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Подключение Nunito */
@font-face {
    font-family: 'Nunito';
    src: url('../fonts/Nunito-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Nunito';
    src: url('../fonts/Nunito-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}


body {
    font-family: 'Nunito', sans-serif;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 700;
}

.font-cormorant {
    font-family: 'Cormorant Garamond', serif;
}

.font-nunito {
    font-family: 'Nunito', sans-serif;
}

:root {
    --color-bg-dark: #1A1A2E;
    --color-bg-card: #22223B;
    --color-accent1: #E76F51;
    --color-accent2: #F4A261;
    --color-accent3: #A3D9D1;
    --color-text-primary: #F1F5F9;
    --color-text-secondary: #94A3B8;
    --color-success: #10B981;
    --color-error: #EF4444;
    --color-warning: #F59E0B;
}

/* Бэкграунды */
.bg-dark { background-color: var(--color-bg-dark); }
.bg-card { background-color: var(--color-bg-card); }

/* Акцентные цвета для текста */
.text-accent1 { color: var(--color-accent1); }
.text-accent2 { color: var(--color-accent2); }
.text-accent3 { color: var(--color-accent3); }

/* Акцентные цвета для фона */
.bg-accent1 { background-color: var(--color-accent1); }
.bg-accent2 { background-color: var(--color-accent2); }
.bg-accent3 { background-color: var(--color-accent3); }

/* Градиенты */
.bg-gradient-accent {
    background: linear-gradient(90deg, var(--color-accent1) 0%, var(--color-accent2) 100%);
}

/* Системные цвета */
.text-success { color: var(--color-success); }
.text-error { color: var(--color-error); }
.text-warning { color: var(--color-warning); }

.bg-success { background-color: var(--color-success); }
.bg-error { background-color: var(--color-error); }
.bg-warning { background-color: var(--color-warning); }

/* Дополнительные утилиты */
.hover\:bg-accent1:hover { background-color: var(--color-accent1); }
.hover\:bg-accent2:hover { background-color: var(--color-accent2); }
.hover\:text-accent2:hover { color: var(--color-accent2); }

/* Тени для карточек */
.shadow-custom {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
}

/* Стили для форм */
input, textarea, select {
    background-color: var(--color-bg-card) !important;
    border-color: #4A5568 !important;
    color: var(--color-text-primary) !important;
}

input:focus, textarea:focus, select:focus {
    border-color: var(--color-accent1) !important;
    ring-color: var(--color-accent1) !important;
}

/* Кастомные кнопки */
.btn-primary {
    background-color: var(--color-accent1);
    color: white;
    padding: 0.5rem 1.5rem;
    border-radius: 0.375rem;
    transition: background-color 0.3s;
}

.btn-primary:hover {
    background-color: var(--color-accent2);
}

.btn-secondary {
    background-color: var(--color-bg-card);
    color: var(--color-text-primary);
    border: 1px solid #4A5568;
    padding: 0.5rem 1.5rem;
    border-radius: 0.375rem;
    transition: all 0.3s;
}

.btn-secondary:hover {
    border-color: var(--color-accent1);
    color: var(--color-accent1);
}

/* Стили для каталога */
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Пагинация */
.pagination {
    display: flex;
    list-style: none;
    padding: 0;
}

.pagination .page-link {
    display: block;
    padding: 0.5rem 1rem;
    border-radius: 0.375rem;
    transition: all 0.3s;
}

/* Стили для рейтинга */
.rating-star {
    cursor: pointer;
    font-size: 1.5rem;
}

/* Анимации */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.fade-in {
    animation: fadeIn 0.3s ease-in;
}

/* Адаптивность */
@media (max-width: 768px) {
    .catalog-index .grid {
        grid-template-columns: 1fr;
    }
    
    .product-view .grid {
        grid-template-columns: 1fr;
    }
}

/* Стили для форм в каталоге */
.add-to-cart-form button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Кастомные стили для текста */
.prose {
    max-width: 65ch;
}

.prose-invert {
    --tw-prose-body: var(--color-text-secondary);
    --tw-prose-headings: var(--color-text-primary);
    --tw-prose-lead: var(--color-text-secondary);
    --tw-prose-links: var(--color-accent2);
    --tw-prose-bold: var(--color-text-primary);
    --tw-prose-counters: var(--color-text-secondary);
    --tw-prose-bullets: var(--color-text-secondary);
    --tw-prose-hr: var(--color-bg-card);
    --tw-prose-quotes: var(--color-text-secondary);
    --tw-prose-quote-borders: var(--color-accent1);
    --tw-prose-captions: var(--color-text-secondary);
    --tw-prose-code: var(--color-text-primary);
    --tw-prose-pre-code: var(--color-text-secondary);
    --tw-prose-pre-bg: var(--color-bg-card);
    --tw-prose-th-borders: var(--color-bg-card);
    --tw-prose-td-borders: var(--color-bg-card);
}