/* ===== ГЛАВНЫЙ ФАЙЛ СТИЛЕЙ ===== */
/* Импортируем все модули */

/* Базовые стили попапов */
@import url('popups/popup-base.css');
@import url('popups/universal.css');

/* Стили отчетов о рыбалке */
@import url('popups/fishing-report/preview.css');
@import url('popups/fishing-report/detailed.css');
@import url('popups/fishing-report/side-panel.css');

/* Стили водоемов */
@import url('popups/waterbody/preview.css');
@import url('popups/waterbody/detailed-panel.css');

/* Компоненты */
@import url('components/buttons.css');
@import url('components/fish-blocks.css');
@import url('components/photo-gallery.css');
@import url('components/modals.css');
@import url('components/forms.css');

/* Анимации */
@import url('animations.css');

/* Дизайн вкладок детального попапа водоема */
@import url('fishing-report-popup.css');


/* ===== ДОПОЛНИТЕЛЬНЫЕ СТИЛИ ===== */

/* Стили для новых полей типа и места рыбалки */
.fishing-type-info {
    display: flex;
    gap: 8px;
    margin: 8px 0;
    flex-wrap: wrap;
}

.fishing-type-badge,
.fishing-location-badge {
    padding: 4px 8px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
}

.fishing-type-badge.winter {
    background-color: #e3f2fd;
    color: #1565c0;
    border: 1px solid #bbdefb;
}

.fishing-type-badge.summer {
    background-color: #fff3e0;
    color: #ef6c00;
    border: 1px solid #ffe0b2;
}

.fishing-location-badge.с-лодки {
    background-color: #e8f5e8;
    color: #2e7d32;
    border: 1px solid #c8e6c9;
}

.fishing-location-badge.с-берега {
    background-color: #fce4ec;
    color: #c2185b;
    border: 1px solid #f8bbd9;
}

/* Стили для детального попапа */
.panel-location-time .location-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 0;
    border-bottom: 1px solid #f0f0f0;
}

.panel-location-time .location-item:last-child {
    border-bottom: none;
}

.panel-location-time .location-item .icon {
    font-size: 16px;
    width: 20px;
    text-align: center;
}

.panel-location-time .location-item .text {
    font-size: 14px;
    color: #555;
    font-weight: 500;
}

/* Утилитарные классы */
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }

.mt-1 { margin-top: 4px; }
.mt-2 { margin-top: 8px; }
.mt-3 { margin-top: 12px; }
.mt-4 { margin-top: 16px; }
.mt-5 { margin-top: 20px; }

.mb-1 { margin-bottom: 4px; }
.mb-2 { margin-bottom: 8px; }
.mb-3 { margin-bottom: 12px; }
.mb-4 { margin-bottom: 16px; }
.mb-5 { margin-bottom: 20px; }

.p-1 { padding: 4px; }
.p-2 { padding: 8px; }
.p-3 { padding: 12px; }
.p-4 { padding: 16px; }
.p-5 { padding: 20px; }

.hidden { display: none; }
.block { display: block; }
.inline-block { display: inline-block; }
.flex { display: flex; }
.inline-flex { display: inline-flex; }

/* Состояния */
.loading {
    position: relative;
    overflow: hidden;
}

.loading::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
    animation: loadingShimmer 1.5s infinite;
}

.error-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    text-align: center;
    color: #718096;
    min-height: 200px;
}

.empty-state {
    text-align: center;
    padding: 40px 24px;
    color: #64748b;
}

/* Темная тема (базовые настройки) */
@media (prefers-color-scheme: dark) {
    .maplibregl-popup-content {
        background: #1f2937;
        color: #f9fafb;
    }
    
    .fishing-report-popup .maplibregl-popup-content {
        background: linear-gradient(135deg, #374151 0%, #4b5563 100%) !important;
        border-color: #6b7280 !important;
    }
}

/* Высокий контраст */
@media (prefers-contrast: high) {
    .btn-primary {
        border: 2px solid currentColor;
    }
    
    .form-control {
        border-width: 2px;
    }
}

/* Уменьшение движения */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}