/* Общие стили */
:root {
    --accent-primary: #2563eb;
    --accent-secondary: #1d4ed8;
    --color-primary: #1a1a1a;
    --color-secondary: #4a5568;
    --color-accent-primary: #2563eb;
    --color-accent-secondary: #3b82f6;
    --color-background: #f8fafc;
    --color-header-footer: #ffffff;
}

/* Стили для кнопок фильтрации */
.filter-btn {
    @apply px-4 py-2 rounded-lg text-sm font-medium transition-colors duration-200;
    @apply bg-white border border-gray-200 text-gray-600;
    @apply hover:bg-gray-50 hover:border-gray-300;
}

.filter-btn.active {
    @apply bg-accent-primary text-white border-accent-primary;
    @apply hover:bg-accent-secondary hover:border-accent-secondary;
}

/* Стили для селекта сортировки */
.form-select {
    @apply px-4 py-2 rounded-lg border border-gray-200;
    @apply bg-white text-gray-600 text-sm;
    @apply focus:outline-none focus:ring-2 focus:ring-accent-primary focus:border-transparent;
}

/* Стили для карточек матчей */
.match-card {
    @apply bg-white rounded-xl shadow-sm hover:shadow-md;
    @apply transition-all duration-300;
    @apply overflow-hidden;
}

.match-card:hover {
    @apply shadow-md;
    transform: translateY(-2px);
}

.match-card img {
    @apply transition-transform duration-300;
}

.match-card:hover img {
    transform: scale(1.05);
}

/* Анимация для кнопки "В избранное" */
.match-card button {
    @apply transition-colors duration-200;
}

.match-card button:hover {
    @apply text-accent-primary;
}

.match-card button.active {
    @apply text-accent-primary;
}

.match-card button.active svg {
    @apply fill-accent-primary;
}

/* Стили для счетов и времени */
.match-card .text-lg {
    @apply font-bold text-gray-900;
    font-family: 'Inter', sans-serif;
}

/* Стили для эмблем турниров */
.match-card .w-5.h-5 {
    @apply object-contain;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
}

/* Адаптивные стили для карточек */
@media (max-width: 640px) {
    .match-card .w-12.h-12 {
        @apply w-10 h-10;
    }
    
    .match-card .text-sm {
        @apply text-xs;
    }
    
    .match-card .text-lg {
        @apply text-base;
    }
}

/* Анимация появления карточек */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.match-card {
    animation: fadeInUp 0.3s ease-out;
}

/* Стили для футера карточки */
.match-card .bg-gray-50 {
    @apply border-t border-gray-100;
    background: linear-gradient(to bottom, #f9fafb, #f3f4f6);
}

/* Стили для кнопки "Подробнее" */
.match-card a.text-accent-primary {
    @apply transition-colors duration-200;
}

.match-card a.text-accent-primary:hover {
    @apply text-accent-primary-dark;
}

/* Стили для названий команд */
.match-card h3 {
    @apply truncate;
    max-width: 120px;
}

/* Стили для стадиона */
.match-card .truncate {
    max-width: 150px;
}

/* Стили для статуса матча */
.match-card .text-xs.text-gray-500 {
    @apply font-medium;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Стили для кнопок в карточках */
.button-base {
    @apply px-4 py-2 rounded-lg font-medium transition-colors duration-200;
}

.button-primary {
    @apply bg-accent-primary text-white;
    @apply hover:bg-accent-secondary;
}

.button-outline {
    @apply border border-gray-200 text-gray-600;
    @apply hover:bg-gray-50 hover:border-gray-300;
}

/* Анимации */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

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

/* Адаптивность */
@media (max-width: 768px) {
    .filter-btn {
        @apply px-3 py-1.5 text-xs;
    }
    
    .form-select {
        @apply px-3 py-1.5 text-xs;
    }
}

/* Стили для хедера */
.header {
    background: #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
}

.container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 1rem;
}

.nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 70px;
}

.logo {
    font-size: 1.5rem;
    font-weight: 700;
    color: #333;
    text-decoration: none;
}

.nav-links {
    display: flex;
    gap: 2rem;
    align-items: center;
}

.nav-links a {
    color: #666;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s;
}

.nav-links a:hover {
    color: #007bff;
}

.nav-links a.active {
    color: #007bff;
}

/* Адаптивность */
@media (max-width: 768px) {
    .nav {
        flex-direction: column;
        height: auto;
        padding: 1rem 0;
    }

    .nav-links {
        flex-direction: column;
        gap: 1rem;
        margin-top: 1rem;
    }
}

/* Хедер */
.bg-header-footer {
    background-color: var(--color-header-footer);
}

.logo-hover-effect {
    transition: transform 0.3s ease;
}

.logo-hover-effect:hover {
    transform: scale(1.05);
}

/* Навигация */
.nav a {
    position: relative;
    padding: 0.5rem 0;
}

.nav a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background-color: var(--color-accent-primary);
    transition: width 0.3s ease;
}

.nav a:hover::after {
    width: 100%;
}

/* Мобильное меню */
#mobile-menu {
    transition: all 0.3s ease;
}

#mobile-menu a {
    position: relative;
}

#mobile-menu a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 1px;
    background-color: var(--color-accent-primary);
    transition: width 0.3s ease;
}

#mobile-menu a:hover::after {
    width: 100%;
}

@media (min-width: 640px) {
    .container {
        padding: 0 1.5rem;
    }
}

@media (min-width: 1024px) {
    .container {
        padding: 0 2rem;
    }
} 