/* ==========================================================================
   Team Ranks — Consolidated rank/role/gradient CSS
   Shared by: team/public.html, team/catalog.html
   ========================================================================== */

/* --- CSS переменные для рангов (пилоты + команды) --- */
:root {
    --rank-legend-primary: #FFD700;
    --rank-legend-secondary: #FFA500;
    --rank-legend-glow: rgba(255, 215, 0, 0.6);

    --rank-master-primary: #FF6B35;
    --rank-master-secondary: #E63946;
    --rank-master-glow: rgba(255, 107, 53, 0.5);

    --rank-professional-primary: #4169E1;
    --rank-professional-secondary: #7B68EE;
    --rank-professional-glow: rgba(65, 105, 225, 0.5);

    --rank-pilot-primary: #32CD32;
    --rank-pilot-secondary: #20B2AA;
    --rank-pilot-glow: rgba(50, 205, 50, 0.4);

    --rank-amateur-primary: #808080;
    --rank-amateur-secondary: #A9A9A9;
    --rank-amateur-glow: rgba(128, 128, 128, 0.3);

    --rank-novice-primary: #CD7F32;
    --rank-novice-secondary: #8B4513;
    --rank-novice-glow: rgba(205, 127, 50, 0.4);
}

/* --- Градиенты рангов для карточек пилотов команды --- */
.team-pilot-card[data-rank="Легенда"] {
    --card-primary: var(--rank-legend-primary);
    --card-secondary: var(--rank-legend-secondary);
    --card-glow: var(--rank-legend-glow);
}

.team-pilot-card[data-rank="Мастер"] {
    --card-primary: var(--rank-master-primary);
    --card-secondary: var(--rank-master-secondary);
    --card-glow: var(--rank-master-glow);
}

.team-pilot-card[data-rank="Профессионал"] {
    --card-primary: var(--rank-professional-primary);
    --card-secondary: var(--rank-professional-secondary);
    --card-glow: var(--rank-professional-glow);
}

.team-pilot-card[data-rank="Пилот"] {
    --card-primary: var(--rank-pilot-primary);
    --card-secondary: var(--rank-pilot-secondary);
    --card-glow: var(--rank-pilot-glow);
}

.team-pilot-card[data-rank="Любитель"] {
    --card-primary: var(--rank-amateur-primary);
    --card-secondary: var(--rank-amateur-secondary);
    --card-glow: var(--rank-amateur-glow);
}

.team-pilot-card[data-rank="Новичок"] {
    --card-primary: var(--rank-novice-primary);
    --card-secondary: var(--rank-novice-secondary);
    --card-glow: var(--rank-novice-glow);
}

/* --- Градиенты рангов для карточек команд (каталог) --- */
.card.team-card[data-rank="Легендарная"] {
    background: linear-gradient(135deg, rgba(255, 215, 0, 0.15) 0%, rgba(255, 165, 0, 0.08) 100%) !important;
    border: 3px solid #FFD700 !important;
    border-left: 6px solid #FFD700 !important;
    box-shadow: 0 6px 25px rgba(255, 215, 0, 0.5), inset 0 0 40px rgba(255, 215, 0, 0.1) !important;
}

.card.team-card[data-rank="Мастерская"] {
    background: linear-gradient(135deg, rgba(255, 107, 53, 0.15) 0%, rgba(230, 57, 70, 0.08) 100%) !important;
    border: 3px solid #FF6B35 !important;
    border-left: 6px solid #FF6B35 !important;
    box-shadow: 0 6px 25px rgba(255, 107, 53, 0.5), inset 0 0 40px rgba(255, 107, 53, 0.1) !important;
}

.card.team-card[data-rank="Профессиональная"] {
    background: linear-gradient(135deg, rgba(65, 105, 225, 0.15) 0%, rgba(123, 104, 238, 0.08) 100%) !important;
    border: 3px solid #4169E1 !important;
    border-left: 6px solid #4169E1 !important;
    box-shadow: 0 6px 25px rgba(65, 105, 225, 0.5), inset 0 0 40px rgba(65, 105, 225, 0.1) !important;
}

.card.team-card[data-rank="Команда"] {
    background: linear-gradient(135deg, rgba(50, 205, 50, 0.15) 0%, rgba(32, 178, 170, 0.08) 100%) !important;
    border: 3px solid #32CD32 !important;
    border-left: 6px solid #32CD32 !important;
    box-shadow: 0 6px 25px rgba(50, 205, 50, 0.4), inset 0 0 40px rgba(50, 205, 50, 0.1) !important;
}

.card.team-card[data-rank="Любительская"] {
    background: linear-gradient(135deg, rgba(128, 128, 128, 0.15) 0%, rgba(169, 169, 169, 0.08) 100%) !important;
    border: 3px solid #808080 !important;
    border-left: 6px solid #808080 !important;
    box-shadow: 0 6px 25px rgba(128, 128, 128, 0.4), inset 0 0 40px rgba(128, 128, 128, 0.1) !important;
}

.card.team-card[data-rank="Начинающая"] {
    background: linear-gradient(135deg, rgba(205, 127, 50, 0.15) 0%, rgba(139, 69, 19, 0.08) 100%) !important;
    border: 3px solid #CD7F32 !important;
    border-left: 6px solid #CD7F32 !important;
    box-shadow: 0 6px 25px rgba(205, 127, 50, 0.4), inset 0 0 40px rgba(205, 127, 50, 0.1) !important;
}

/* --- Переопределение border-left внутри карточек команд с рангом --- */
.card.team-card[data-rank] .card-body {
    border-left: none !important;
}

/* --- Цветной фон заголовка команды по рангу --- */
.card.team-card[data-rank="Легендарная"] .team-header {
    background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%) !important;
    padding: 0.75rem 1rem !important;
    border-radius: 0 !important;
    margin: -1rem -1rem 1rem -1rem !important;
    border-left: none !important;
}

.card.team-card[data-rank="Мастерская"] .team-header {
    background: linear-gradient(135deg, #FF6B35 0%, #E63946 100%) !important;
    padding: 0.75rem 1rem !important;
    border-radius: 0 !important;
    margin: -1rem -1rem 1rem -1rem !important;
    border-left: none !important;
}

.card.team-card[data-rank="Профессиональная"] .team-header {
    background: linear-gradient(135deg, #4169E1 0%, #7B68EE 100%) !important;
    padding: 0.75rem 1rem !important;
    border-radius: 0 !important;
    margin: -1rem -1rem 1rem -1rem !important;
    border-left: none !important;
}

.card.team-card[data-rank="Команда"] .team-header {
    background: linear-gradient(135deg, #32CD32 0%, #20B2AA 100%) !important;
    padding: 0.75rem 1rem !important;
    border-radius: 0 !important;
    margin: -1rem -1rem 1rem -1rem !important;
    border-left: none !important;
}

.card.team-card[data-rank="Любительская"] .team-header {
    background: linear-gradient(135deg, #808080 0%, #A9A9A9 100%) !important;
    padding: 0.75rem 1rem !important;
    border-radius: 0 !important;
    margin: -1rem -1rem 1rem -1rem !important;
    border-left: none !important;
}

.card.team-card[data-rank="Начинающая"] .team-header {
    background: linear-gradient(135deg, #CD7F32 0%, #8B4513 100%) !important;
    padding: 0.75rem 1rem !important;
    border-radius: 0 !important;
    margin: -1rem -1rem 1rem -1rem !important;
    border-left: none !important;
}

/* --- Белый текст заголовка в ранговых карточках команд --- */
.card.team-card[data-rank] .team-header .card-title,
.card.team-card[data-rank] .team-header .card-title a,
.card.team-card[data-rank] .team-header .team-tag {
    color: white !important;
}

/* --- Hover-эффект для карточек команд с рангом --- */
.card.team-card[data-rank]:hover {
    transform: translateY(-5px) !important;
    transition: all 0.3s ease !important;
}

/* --- Цветные полосы ролей --- */
.role-banner {
    padding: 8px 12px;
    font-weight: 700;
    font-size: 0.75rem;
    letter-spacing: 0.5px;
    text-align: center;
    color: #000 !important;
}

.role-banner i,
.role-banner.role-owner,
.role-banner.role-captain,
.role-banner.role-driver,
.role-banner.role-reserve {
    color: #000 !important;
}

.role-banner.role-owner {
    background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
}

.role-banner.role-captain {
    background: linear-gradient(135deg, #4169E1 0%, #7B68EE 100%);
}

.role-banner.role-driver {
    background: linear-gradient(135deg, #32CD32 0%, #20B2AA 100%);
}

.role-banner.role-reserve {
    background: linear-gradient(135deg, #FF8C00 0%, #FF6347 100%);
}

/* --- Тёмная тема: чёрный текст на цветных полосах --- */
[data-theme="dark"] .role-banner,
[data-theme="dark"] .role-banner i,
[data-theme="dark"] .role-banner.role-owner,
[data-theme="dark"] .role-banner.role-captain,
[data-theme="dark"] .role-banner.role-driver,
[data-theme="dark"] .role-banner.role-reserve {
    color: #000 !important;
}

/* --- Тег команды --- */
.team-tag {
    background: rgba(0, 0, 0, 0.6) !important;
    color: white !important;
    padding: 0.25rem 0.75rem !important;
    border-radius: 20px !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
}

[data-theme="light"] .team-tag {
    background: rgba(0, 0, 0, 0.75) !important;
    color: white !important;
}

[data-theme="dark"] .team-tag {
    background: rgba(255, 255, 255, 0.15) !important;
    color: white !important;
}

/* --- Team public page: application highlight --- */
.application-highlight {
    border: 3px solid #28a745;
    box-shadow: 0 8px 16px rgba(40, 167, 69, 0.3);
    background: linear-gradient(135deg, #ffffff 0%, #e8f5e9 100%);
    transform: scale(1.02);
    transition: all 0.3s ease;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}

.application-highlight:hover {
    box-shadow: 0 12px 24px rgba(40, 167, 69, 0.4);
    transform: scale(1.03);
}

.application-highlight .card-header {
    background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
    color: white;
    font-weight: bold;
    border-bottom: 2px solid #1e7e34;
}

[data-theme="dark"] .application-highlight {
    background: linear-gradient(135deg, #1a1a1a 0%, #1e3a28 100%);
    border-color: #20c997;
    box-shadow: 0 8px 16px rgba(32, 201, 151, 0.3);
}

[data-theme="dark"] .application-highlight:hover {
    box-shadow: 0 12px 24px rgba(32, 201, 151, 0.4);
}

/* --- Team public page: pilot card text colors --- */
.team-pilot-card .card-content {
    color: #000;
}

.team-pilot-card .elo-value {
    font-size: 1.5rem;
    font-weight: 700;
    color: #000;
}

.team-pilot-card .elo-rank {
    font-size: 0.75rem;
    color: rgba(0, 0, 0, 0.7);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.team-pilot-card .pilot-name {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    line-height: 1.2;
    color: #000;
}

.team-pilot-card .join-date {
    font-size: 0.7rem;
    color: rgba(0, 0, 0, 0.7);
    margin-bottom: 0.75rem;
}

.team-pilot-card .stat-label {
    font-size: 0.7rem;
    color: rgba(0, 0, 0, 0.7);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.team-pilot-card .steam-name {
    font-size: 0.8rem;
    color: rgba(0, 0, 0, 0.7);
}

[data-theme="dark"] .team-pilot-card .card-content,
[data-theme="dark"] .team-pilot-card .elo-value,
[data-theme="dark"] .team-pilot-card .pilot-name {
    color: #e0e0e0;
}

[data-theme="dark"] .team-pilot-card .elo-rank,
[data-theme="dark"] .team-pilot-card .join-date,
[data-theme="dark"] .team-pilot-card .stat-label,
[data-theme="dark"] .team-pilot-card .steam-name {
    color: rgba(255, 255, 255, 0.7);
}

/* --- Team public page: card controls --- */
[data-theme="dark"] .card-controls select,
[data-theme="dark"] .card-controls button,
[data-theme="dark"] .card-controls .text-muted {
    color: white;
}

[data-theme="dark"] .card-header.bg-info.text-white,
[data-theme="dark"] .card-header.bg-info.text-white .card-title,
[data-theme="dark"] .card-header.bg-info.text-white .card-title i,
[data-theme="dark"] .card-header.bg-info.text-white h4,
[data-theme="dark"] .card-header.bg-info.text-white h5 {
    color: #000;
}

[data-theme="light"] .card-controls select,
[data-theme="light"] .card-controls button:not(.btn),
[data-theme="light"] .card-controls .text-muted {
    color: #212529;
}

[data-theme="light"] .btn-warning,
[data-theme="light"] .btn.btn-warning,
[data-theme="light"] a.btn-warning,
[data-theme="light"] a.btn.btn-warning,
[data-theme="light"] a.btn.btn-warning.btn-sm,
[data-theme="light"] button.btn-warning,
[data-theme="light"] .btn-warning.position-relative,
[data-theme="light"] a.btn-warning.position-relative,
[data-theme="light"] .btn-warning i,
[data-theme="light"] .btn.btn-warning i,
[data-theme="light"] a.btn-warning i,
[data-theme="light"] a.btn.btn-warning i,
[data-theme="light"] a.btn.btn-warning.btn-sm i,
[data-theme="light"] button.btn-warning i,
[data-theme="light"] .btn-warning .fas,
[data-theme="light"] .btn.btn-warning .fas,
[data-theme="light"] a.btn-warning .fas,
[data-theme="light"] a.btn.btn-warning .fas,
[data-theme="light"] button.btn-warning .fas,
[data-theme="light"] .btn-warning .bi,
[data-theme="light"] .btn.btn-warning .bi,
[data-theme="light"] a.btn-warning .bi,
[data-theme="light"] a.btn.btn-warning .bi,
[data-theme="light"] a.btn.btn-warning.btn-sm .bi,
[data-theme="light"] button.btn-warning .bi,
[data-theme="light"] .btn-warning span,
[data-theme="light"] a.btn.btn-warning span,
[data-theme="light"] button.btn-warning span,
[data-theme="light"] .btn-warning svg,
[data-theme="light"] .btn.btn-warning svg,
[data-theme="light"] a.btn-warning svg,
[data-theme="light"] button.btn-warning svg {
    color: #000;
    fill: #000;
}

[data-theme="light"] .btn-warning i::before,
[data-theme="light"] .btn.btn-warning i::before,
[data-theme="light"] a.btn-warning i::before,
[data-theme="light"] a.btn.btn-warning i::before,
[data-theme="light"] a.btn.btn-warning.btn-sm i::before,
[data-theme="light"] button.btn-warning i::before,
[data-theme="light"] .btn-warning .fas::before,
[data-theme="light"] .btn.btn-warning .fas::before,
[data-theme="light"] a.btn-warning .fas::before,
[data-theme="light"] a.btn.btn-warning .fas::before,
[data-theme="light"] button.btn-warning .fas::before,
[data-theme="light"] .btn-warning .bi::before,
[data-theme="light"] .btn.btn-warning .bi::before,
[data-theme="light"] a.btn-warning .bi::before,
[data-theme="light"] a.btn.btn-warning .bi::before,
[data-theme="light"] a.btn.btn-warning.btn-sm .bi::before,
[data-theme="light"] button.btn-warning .bi::before {
    color: #000;
}

/* --- Team public page: trophy styles --- */
.trophy-card {
    transition: transform 0.2s, box-shadow 0.2s;
    border: 2px solid transparent;
}

.trophy-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 12px rgba(255, 215, 0, 0.4);
    border-color: #FFD700;
}

.highlight-pulse {
    animation: trophy-pulse 1s ease-in-out 3;
    border-color: #FFD700;
}

@keyframes trophy-pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(255, 215, 0, 0.7); }
    50% { box-shadow: 0 0 0 10px rgba(255, 215, 0, 0); }
}

.trophy-items {
    scroll-behavior: smooth;
}

.trophy-mini {
    flex-shrink: 0;
}

/* --- Badge colors for podium places --- */
.badge-gold {
    background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
    color: #1a1a1a;
}

.badge-silver {
    background: linear-gradient(135deg, #C0C0C0 0%, #E8E8E8 100%);
    color: #1a1a1a;
}

.badge-bronze {
    background-color: #CD7F32;
    color: #fff;
}

[data-theme="dark"] .badge-gold {
    background: linear-gradient(135deg, #996515 0%, #b8860b 100%);
    color: #e0e0e0;
}

[data-theme="dark"] .badge-silver {
    background: linear-gradient(135deg, #808080 0%, #a0a0a0 100%);
    color: #e0e0e0;
}

[data-theme="dark"] .badge-bronze {
    background-color: #8B4513;
    color: #e0e0e0;
}