/**
 * 强制样式文件 - 确保所有样式不被主题覆盖
 * 在其他CSS文件之后加载
 */

/* ==================================================
   赛程页面强制样式
   ================================================== */
.football-schedule-page-wrapper {
    background: #f8f9fa !important;
    min-height: 100vh !important;
}

.football-schedule-page-wrapper .schedule-main-title {
    font-size: 2.5rem !important;
    font-weight: 800 !important;
    color: #1a1a1a !important;
    text-align: center !important;
    margin: 0 0 30px 0 !important;
}

.football-schedule-page-wrapper .schedule-month-nav {
    display: flex !important;
    gap: 10px !important;
    padding-bottom: 20px !important;
    border-bottom: 3px solid #e0e0e0 !important;
    justify-content: center !important;
}

.football-schedule-page-wrapper .month-nav-btn {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    padding: 12px 20px !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    min-width: 80px !important;
}

.football-schedule-page-wrapper .schedule-match-row {
    display: grid !important;
    grid-template-columns: 200px 200px 1fr !important;
    gap: 30px !important;
    padding: 25px 30px !important;
    background: #fff !important;
    border-radius: 12px !important;
    margin-bottom: 15px !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08) !important;
    transition: all 0.3s ease !important;
}

.football-schedule-page-wrapper .match-datetime-column {
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
}

.football-schedule-page-wrapper .match-day-name {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #2c3e50 !important;
}

.football-schedule-page-wrapper .match-time {
    font-size: 0.9rem !important;
    color: #7f8c8d !important;
}

.football-schedule-page-wrapper .match-teams-column {
    display: flex !important;
    align-items: center !important;
    gap: 30px !important;
}

.football-schedule-page-wrapper .team-info {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
}

.football-schedule-page-wrapper .team-name-schedule {
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    color: #2c3e50 !important;
}

.football-schedule-page-wrapper .team-logo-schedule img {
    width: 40px !important;
    height: 40px !important;
    object-fit: contain !important;
    border-radius: 50% !important;
}

.football-schedule-page-wrapper .team-emoji-schedule {
    font-size: 2rem !important;
}

.football-schedule-page-wrapper .vs-text {
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    color: #95a5a6 !important;
}

/* ==================================================
   球员页面强制样式
   ================================================== */
.football-player-page-wrapper {
    background: #f5f7fa !important;
    min-height: 100vh !important;
}

.football-player-page-wrapper .football-section-title {
    font-size: 2rem !important;
    font-weight: 700 !important;
    text-align: center !important;
    color: #2c3e50 !important;
}

.football-player-page-wrapper .football-players-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 30px !important;
    padding: 20px 0 !important;
}

.football-player-page-wrapper .football-player-card-modern {
    position: relative !important;
    height: 450px !important;
    border-radius: 15px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15) !important;
    transition: all 0.3s ease !important;
}

.football-player-page-wrapper .football-player-card-front {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(135deg, #a90329 0%, #6b0f1a 50%, #003366 100%) !important;
}

.football-player-page-wrapper .football-player-number-large {
    position: absolute !important;
    top: 20px !important;
    right: 20px !important;
    font-size: 4rem !important;
    font-weight: 900 !important;
    color: rgba(255,255,255,0.8) !important;
    z-index: 3 !important;
}

/* ==================================================
   首页强制样式
   ================================================== */
.football-home-wrapper .football-news-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 30px !important;
    margin-top: 30px !important;
}

.football-home-wrapper .football-news-card {
    background: #fff !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08) !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
}

.football-home-wrapper .football-news-image {
    width: 100% !important;
    height: 220px !important;
    overflow: hidden !important;
    background: #f0f0f0 !important;
}

.football-home-wrapper .football-news-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.football-home-wrapper .football-news-content {
    padding: 25px !important;
    display: flex !important;
    flex-direction: column !important;
}

.football-home-wrapper .football-news-title {
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    margin: 0 0 15px 0 !important;
}

.football-home-wrapper .football-players-slider {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(250px, 1fr) !important;
    gap: 20px !important;
    overflow-x: auto !important;
    scroll-behavior: smooth !important;
    padding: 20px 0 !important;
}

.football-home-wrapper .football-player-card-compact {
    height: 350px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15) !important;
}

/* ==================================================
   响应式样式
   ================================================== */
@media (max-width: 1200px) {
    .football-schedule-page-wrapper .schedule-match-row {
        grid-template-columns: 150px 180px 1fr !important;
    }
    
    .football-player-page-wrapper .football-players-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
    
    .football-home-wrapper .football-news-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 768px) {
    .football-schedule-page-wrapper .schedule-match-row {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
    }
    
    .football-player-page-wrapper .football-players-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    
    .football-home-wrapper .football-news-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 480px) {
    .football-player-page-wrapper .football-players-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ==================================================
   球员卡片悬浮效果强制样式
   ================================================== */
/* ==================================================
   首页最新资讯强制样式
   ================================================== */
/* 特色新闻区域 */
.football-news-featured {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 30px !important;
    margin-bottom: 40px !important;
}

.football-news-featured-card {
    background: #fff !important;
    border-radius: 15px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1) !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
}

.football-news-featured-card:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.2) !important;
}

.football-news-featured-image {
    width: 100% !important;
    height: 280px !important;
    overflow: hidden !important;
    position: relative !important;
    background: #f5f5f5 !important;
}

.football-news-featured-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.5s ease !important;
    display: block !important;
}

.football-news-featured-card:hover .football-news-featured-image img {
    transform: scale(1.1) !important;
}

.football-news-featured-content {
    padding: 25px !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}

.news-category {
    background: linear-gradient(135deg, var(--ftp-primary, #667eea) 0%, var(--ftp-secondary, #764ba2) 100%) !important;
    color: #fff !important;
    padding: 6px 15px !important;
    border-radius: 20px !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-bottom: 15px !important;
    align-self: flex-start !important;
    display: inline-block !important;
}

.football-news-featured-title {
    margin: 0 0 15px 0 !important;
    font-size: 1.4rem !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
}

.football-news-featured-title a {
    color: #2c3e50 !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

.football-news-featured-title a:hover {
    color: var(--ftp-primary, #667eea) !important;
}

.football-news-featured-excerpt {
    color: #666 !important;
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
    margin: 0 0 20px 0 !important;
    flex: 1 !important;
}

.football-news-featured-content .football-news-meta {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding-top: 15px !important;
    border-top: 1px solid #eee !important;
}

.football-news-featured-content .news-date {
    color: #999 !important;
    font-size: 0.85rem !important;
}

.football-news-featured-content .news-readmore {
    color: var(--ftp-primary, #667eea) !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.football-news-featured-content .news-readmore:hover {
    color: var(--ftp-secondary, #764ba2) !important;
    transform: translateX(5px) !important;
}

/* 新闻网格区域 */
.football-news-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 25px !important;
}

.football-news-card {
    background: #fff !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 15px rgba(0,0,0,0.08) !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
}

.football-news-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 6px 25px rgba(0,0,0,0.15) !important;
}

.football-news-image {
    width: 100% !important;
    height: 180px !important;
    overflow: hidden !important;
    background: #f5f5f5 !important;
}

.football-news-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.4s ease !important;
    display: block !important;
}

.football-news-card:hover .football-news-image img {
    transform: scale(1.08) !important;
}

.football-news-content {
    padding: 20px !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}

.football-news-title {
    margin: 0 0 10px 0 !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
}

.football-news-title a {
    color: #2c3e50 !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

.football-news-title a:hover {
    color: var(--ftp-primary, #667eea) !important;
}

.football-news-excerpt {
    color: #666 !important;
    font-size: 0.9rem !important;
    line-height: 1.6 !important;
    margin: 0 0 15px 0 !important;
    flex: 1 !important;
}

.football-news-content .football-news-meta {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding-top: 10px !important;
    border-top: 1px solid #eee !important;
}

.football-news-content .news-date {
    color: #999 !important;
    font-size: 0.8rem !important;
}

.football-news-content .news-readmore {
    color: var(--ftp-primary, #667eea) !important;
    font-weight: 600 !important;
    font-size: 0.85rem !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.football-news-content .news-readmore:hover {
    color: var(--ftp-secondary, #764ba2) !important;
}

/* 新闻占位符 */
.football-news-placeholder {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%) !important;
}

.news-icon {
    font-size: 3rem !important;
    opacity: 0.5 !important;
}

/* 响应式 - 特色新闻 */
@media (max-width: 1200px) {
    .football-news-featured {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    
    .football-news-featured-card:last-child {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 768px) {
    .football-news-featured {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }
    
    .football-news-featured-card:last-child {
        grid-column: auto !important;
    }
    
    .football-news-featured-image {
        height: 220px !important;
    }
    
    .football-news-grid {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }
}

/* 强制球员卡片悬浮效果 - 首页 */
.football-player-card-compact {
    overflow: hidden !important;
    position: relative !important;
    width: 100% !important;
    height: 350px !important;
    border-radius: 12px !important;
    cursor: pointer !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15) !important;
    transition: all 0.4s ease !important;
    flex-shrink: 0 !important;
}

.football-player-card-compact:hover {
    transform: translateY(-10px) !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.25) !important;
}

.player-card-front-compact {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(135deg, #a90329 0%, #6b0f1a 50%, #003366 100%) !important;
    transition: all 0.4s ease !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    padding: 30px !important;
}

.football-player-card-compact:hover .player-card-front-compact {
    transform: translateY(-20px) !important;
    opacity: 0.3 !important;
}

.player-bg-overlay-compact {
    position: absolute !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.7) 100%) !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 1 !important;
}

.player-photo-compact {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-size: cover !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
    filter: brightness(0.9) !important;
    z-index: 0 !important;
}

.player-photo-placeholder-compact {
    background: linear-gradient(135deg, rgba(169, 3, 41, 0.8) 0%, rgba(0, 51, 102, 0.8) 100%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.player-placeholder-icon-compact {
    font-size: 6rem !important;
    opacity: 0.3 !important;
    color: #fff !important;
}

.player-number-compact {
    position: absolute !important;
    top: 20px !important;
    left: 20px !important;
    font-size: 4rem !important;
    font-weight: 900 !important;
    color: rgba(255,255,255,0.15) !important;
    z-index: 2 !important;
    line-height: 1 !important;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3) !important;
}

.player-info-compact {
    position: relative !important;
    z-index: 2 !important;
    color: #fff !important;
}

.player-name-compact {
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    margin: 0 0 8px 0 !important;
    text-shadow: 1px 2px 4px rgba(0,0,0,0.5) !important;
}

.player-position-compact {
    display: inline-block !important;
    background: rgba(255,255,255,0.2) !important;
    backdrop-filter: blur(10px) !important;
    padding: 6px 15px !important;
    border-radius: 15px !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin: 0 !important;
    border: 1px solid rgba(255,255,255,0.3) !important;
}

.player-stats-hover-compact {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    background: linear-gradient(to top, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.85) 100%) !important;
    backdrop-filter: blur(10px) !important;
    padding: 30px 20px 20px !important;
    opacity: 0 !important;
    transform: translateY(20px) !important;
    transition: all 0.4s ease !important;
    z-index: 10 !important;
}

.football-player-card-compact:hover .player-stats-hover-compact {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

.stats-grid-compact {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 15px !important;
    text-align: center !important;
}

.stat-item-compact {
    padding: 10px !important;
    background: rgba(255,255,255,0.05) !important;
    border-radius: 8px !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
}

.stat-label-compact {
    font-size: 0.7rem !important;
    color: #bbb !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-bottom: 5px !important;
    font-weight: 600 !important;
}

.stat-value-compact {
    font-size: 1.8rem !important;
    font-weight: 900 !important;
    color: #fff !important;
    line-height: 1 !important;
    margin-bottom: 5px !important;
}

.stat-season-compact {
    font-size: 0.65rem !important;
    color: #888 !important;
    font-weight: 500 !important;
}

/* 强制球员页面卡片悬浮效果 */
.football-player-card-modern {
    overflow: hidden !important;
    position: relative !important;
    width: 100% !important;
    height: 450px !important;
    border-radius: 15px !important;
    cursor: pointer !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15) !important;
    transition: all 0.4s ease !important;
    background: #fff !important;
}

.football-player-card-modern:hover {
    transform: translateY(-10px) !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.25) !important;
}

.football-player-card-front {
    position: absolute !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(135deg, #a90329 0%, #6b0f1a 50%, #003366 100%) !important;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
    z-index: 2 !important;
}

.football-player-card-modern:hover .football-player-card-front {
    transform: translateY(-20px) !important;
    opacity: 0.3 !important;
}

.football-player-bg-overlay {
    position: absolute !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.7) 100%) !important;
    z-index: 1 !important;
}

.football-player-photo {
    position: absolute !important;
    width: 100% !important;
    height: 100% !important;
    background-size: cover !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
    filter: brightness(0.9) !important;
    transition: transform 0.3s ease !important;
}

.football-player-card-modern:hover .football-player-photo {
    transform: scale(1.05) !important;
}

.football-player-photo-placeholder {
    background: linear-gradient(135deg, rgba(169, 3, 41, 0.8) 0%, rgba(0, 51, 102, 0.8) 100%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.player-placeholder-icon {
    font-size: 8rem !important;
    opacity: 0.3 !important;
    color: #fff !important;
}

.football-player-number-large {
    position: absolute !important;
    top: 20px !important;
    left: 20px !important;
    font-size: 5rem !important;
    font-weight: 900 !important;
    color: rgba(255,255,255,0.15) !important;
    z-index: 3 !important;
    line-height: 1 !important;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3) !important;
}

.football-player-info-front {
    position: absolute !important;
    bottom: 30px !important;
    left: 30px !important;
    right: 30px !important;
    z-index: 3 !important;
    color: #fff !important;
}

.football-player-firstname {
    font-size: 1.2rem !important;
    font-weight: 400 !important;
    margin: 0 0 5px !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    opacity: 0.9 !important;
}

.football-player-lastname {
    font-size: 2.8rem !important;
    font-weight: 900 !important;
    margin: 0 0 10px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    line-height: 1 !important;
    text-shadow: 2px 4px 8px rgba(0,0,0,0.5) !important;
}

.football-player-position-badge {
    display: inline-block !important;
    background: rgba(255,255,255,0.2) !important;
    backdrop-filter: blur(10px) !important;
    padding: 8px 20px !important;
    border-radius: 20px !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin: 0 !important;
    border: 1px solid rgba(255,255,255,0.3) !important;
}

.football-player-card-hover {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    background: linear-gradient(to top, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.85) 100%) !important;
    backdrop-filter: blur(10px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0 !important;
    transform: translateY(20px) !important;
    transition: all 0.4s ease !important;
    z-index: 10 !important;
    padding: 40px 20px 30px !important;
}

.football-player-card-modern:hover .football-player-card-hover {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

.football-player-stats-detail {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
    width: 100% !important;
}

.player-stat-column {
    text-align: center !important;
    color: #fff !important;
    padding: 15px !important;
    background: rgba(255,255,255,0.05) !important;
    border-radius: 10px !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    transition: all 0.3s ease !important;
}

.player-stat-column:hover {
    background: rgba(255,255,255,0.08) !important;
}

.stat-label {
    font-size: 0.75rem !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin-bottom: 10px !important;
    color: #bbb !important;
    font-weight: 600 !important;
}

.stat-number {
    font-size: 2.5rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    margin-bottom: 8px !important;
    color: #fff !important;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3) !important;
}

.stat-season {
    font-size: 0.7rem !important;
    color: #888 !important;
    font-weight: 500 !important;
}

