/*
Theme Name: Impreza Child
Description: Thème enfant pour les Diables Rouges de Valenciennes
Author: Alexandre
Template: Impreza
Version: 1.0.0
*/

/* ==========================================================================
   FOOTER GLOBAL - DIABLES ROUGES
   ========================================================================== */
/* Variables globales de secours (au cas où le header ne les charge pas sur d'autres pages) */
:root {--vh-red: #d81c2b;--vh-red-light: #ff2e43;}
/* Structure globale du footer : fond transparent */
.vh-footer-wrapper {background: transparent !important;color: #aaa;font-family: 'Roboto', Arial, sans-serif;padding-top: 2.5rem;margin-top: 2rem;position: relative;width: 100%;box-sizing: border-box;}
/* La Ligne Rouge Néon en haut */
.vh-footer-wrapper::before {content: '';position: absolute;top: 0;left: 50%;transform: translateX(-50%);width: 100%;max-width: 900px;height: 1px;background: linear-gradient(90deg, transparent 0%, var(--vh-red) 50%, transparent 100%);box-shadow: 0 0 12px rgba(216, 28, 43, 0.8);}
.vh-footer-container {width: 100%;margin: 0 auto;padding: 0 1rem 2rem 1rem;display: grid;grid-template-columns: 2.5fr 1fr 1fr;gap: 2.5rem;box-sizing: border-box;}
/* En-têtes de colonnes */
.vh-footer-heading {color: #fff;font-size: 0.95rem;font-weight: 800;text-transform: uppercase;letter-spacing: 0.08em;margin: 0 0 1.2rem 0;}
/* Colonne Marque */
.vh-footer-brand {display: flex;flex-direction: column;align-items: flex-start;}
/* Resize & Animation Interactive du Logo */
.vh-footer-logo {width: 140px !important;height: auto !important;object-fit: contain;margin-bottom: 0.8rem;display: block;cursor: pointer;transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1), filter 0.3s ease;transform-origin: left center;}
/* Effet grossissant + Glow au survol */
.vh-footer-logo:hover {transform: scale(1.1);filter: drop-shadow(0 0 12px rgba(216, 28, 43, 0.6));}
/* Effet d'enfoncement au clic */
.vh-footer-logo:active {transform: scale(0.98);}
.vh-footer-tagline {font-size: 0.85rem;color: #888;margin: 0;line-height: 1.4;}
/* Listes de liens */
.vh-footer-links {list-style: none;padding: 0;margin: 0;}
.vh-footer-links li {margin-bottom: 0.5rem;}
.vh-footer-links a {color: #999;text-decoration: none;font-size: 0.88rem;transition: color 0.2s ease, transform 0.2s ease;display: inline-block;}
.vh-footer-links a:hover {color: var(--vh-red);transform: translateX(3px);}
/* Copyright & Crédits */
.vh-footer-bottom {border-top: 1px solid rgba(255, 255, 255, 0.08);padding: 1.2rem 1rem 0 1rem;font-size: 0.8rem;color: #666;display: flex;justify-content: space-between;align-items: center;width: 100%;box-sizing: border-box;}
.vh-footer-bottom p {margin: 0;}
.vh-footer-bottom strong {color: #888;}
/* Lien créateur */
.vh-author-link {color: var(--vh-red);font-weight: 700;text-decoration: none;transition: color 0.2s ease, text-shadow 0.2s ease;}
.vh-author-link:hover {color: var(--vh-red-light);text-shadow: 0 0 10px rgba(216, 28, 43, 0.5);}
/* Responsive Mobile */
@media (max-width: 768px) {
    .vh-footer-container {grid-template-columns: 1fr;gap: 2rem;text-align: center;}
    .vh-footer-brand {align-items: center;}
    .vh-footer-logo {transform-origin: center center;}
    .vh-footer-bottom {flex-direction: column;gap: 0.6rem;text-align: center;}
}

/* ==========================================================================
   DIABLES ROUGES - STYLES PAGES INTERNES (Classement, Calendrier, Effectif)
   ========================================================================== */
/* --- 1. CLASSES COMMUNES TABLEAUX & WIDGETS --- */
.hockey-widget-container {font-family: 'Roboto', 'Helvetica Neue', Arial, sans-serif;color: var(--c-text, #eee);max-width: 100%;}
.table-scroll-wrapper {overflow-x: auto;width: 100%;border-radius: 10px;scrollbar-width: thin;scrollbar-color: #444 #1a1a1a;}
.table-scroll-wrapper::-webkit-scrollbar {height: 8px;}
.table-scroll-wrapper::-webkit-scrollbar-track {background: #1a1a1a;}
.table-scroll-wrapper::-webkit-scrollbar-thumb {background-color: #444;border-radius: 4px;}
/* Tableaux unifiés (Classement & Calendrier) */
.classement-styled {width: 100%;border-collapse: collapse;background: #181818;font-size: 0.95em;white-space: nowrap;border-radius: 10px;overflow: hidden;}
.classement-styled th {background: #222;padding: 12px 8px;font-weight: 700;text-transform: uppercase;font-size: 0.85em;letter-spacing: 0.5px;border-bottom: 1px solid #333;color: #f0f0f0;text-align: center;vertical-align: middle;}
.classement-styled td {padding: 10px 8px;text-align: center;vertical-align: middle;border-bottom: 1px solid #333;}
.classement-styled tr:nth-child(even) {background: rgba(255,255,255,0.02);}
.classement-styled tr:hover {background: rgba(255,255,255,0.07);transition: background 0.2s ease-in-out;}
.classement-styled .logo {width: 40px;height: auto;border-radius: 4px;display: block;margin: 0 auto;}
.classement-styled .team-name {text-align: left;padding-left: 10px;font-weight: 500;}
.cell-points {font-weight: bold;color: #fff;}
/* Highlight Valenciennes */
.classement-styled tr.is-highlight,
.classement-styled tr.valenciennes-highlight {background: linear-gradient(90deg, var(--c-val-dark, #b00020) 0%, var(--c-val-main, #d81c2b) 60%, rgba(255,255,255,0.05) 100%) !important;color: #fff;font-weight: bold;box-shadow: 0 0 12px rgba(216, 28, 43, 0.4);position: relative;z-index: 1;}
/* Badges de forme & Statuts */
.pastilles-forme {display: flex;gap: 8px;}
.pastille-result {display: inline-flex;align-items: center;justify-content: center;width: 36px;aspect-ratio: 1;border-radius: 50%;font-weight: bold;font-size: 0.9em;box-shadow: 0 2px 4px rgba(0,0,0,0.4);border: 2px solid transparent;}
.pastille-result.is-win {background: #4CAF50;border-color: #388E3C;}
.pastille-result.is-loss {background: #f44336;border-color: #D32F2F;}
.pastille-result.is-loss-ot {background: #FF9800;border-color: #F57C00;font-size: 0.75em;}
.badge {display: inline-block;margin-left: 4px;padding: 2px 6px;border-radius: 4px;font-size: .8em;font-weight: 600;text-transform: uppercase;}
.badge.victoire {background: #2e8b57;color: #fff;}
.badge.defaite {background: #b22222;color: #fff;}
.badge.prolongation {background: #ff8c00;color: #fff;}
/* Boutons d'action tableaux */
.btn-action {display: inline-block;padding: 4px 10px;background-color: #444;color: #fff !important;text-decoration: none;border-radius: 4px;font-size: 0.85em;font-weight: 500;transition: background 0.2s;border: 1px solid #555;}
.btn-action:hover {background-color: #666;border-color: #888;}
/* En-tête de forme Valenciennes */
.valenciennes-form-container {background: #222;padding: 12px;border-radius: 8px;margin-bottom: 15px;border-left: 4px solid var(--c-val-main, #d81c2b);}
.valenciennes-header {display: flex;justify-content: space-between;align-items: center;flex-wrap: wrap;gap: 10px;margin-bottom: 10px;}
.valenciennes-header h3 {margin: 0;font-size: 1.1em;color: #fff;text-transform: uppercase;letter-spacing: 0.5px;}
/* Légende Classement */
.legende-container {display: flex;flex-wrap: wrap;gap: 10px;margin-top: 15px;justify-content: flex-start;}
.legend-badge {display: flex;align-items: center;background: #2a2a2a;padding: 6px 12px;border-radius: 6px;border: 1px solid #333;font-size: 0.85em;color: #aaa;box-shadow: 0 2px 4px rgba(0,0,0,0.2);}
.legend-badge .dot {width: 10px;height: 10px;border-radius: 50%;margin-right: 8px;display: block;box-shadow: 0 0 4px rgba(0,0,0,0.5);}
.legend-badge strong {color: #fff;margin-right: 4px;}
.col-zone-bar{width:6px!important;padding:0!important;border-radius:3px 0 0 3px}
.zone-top { background-color: #4CAF50 !important; } /* Vert (1-4) */
.zone-mid { background-color: #2196F3 !important; } /* Bleu (5-12) */
.zone-low { background-color: #f44336 !important; } /* Rouge (13-16) */
/* Ajustement pour que les ronds de la légende s'affichent correctement aussi */
.legend-badge .dot.zone-top { background-color: #4CAF50; }
.legend-badge .dot.zone-mid { background-color: #2196F3; }
.legend-badge .dot.zone-low { background-color: #f44336; }
#calendrier-wp.classement-styled td:nth-child(8){white-space:normal !important;line-height:1.3 !important;padding:6px 8px !important;}


/* ==========================================================================
   2. EFFECTIF & STAFF (Cartes Joueurs)
   ========================================================================== */
.vh-effectif-wrapper {max-width: 900px;margin: 1rem auto 2rem auto;color: #fff;font-family: 'Roboto', Arial, sans-serif;}
.vh-pos-block {margin-bottom: 2rem;}
.vh-pos-title {font-size: 1.1rem;font-weight: 800;text-transform: uppercase;color: #ff2e43;border-bottom: 1px solid rgba(255, 255, 255, 0.1);padding-bottom: 6px;margin-bottom: 1rem;}
.vh-effectif-grid {display: grid;grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));gap: 12px;}
.vh-player-card, .vh-staff-card {background: linear-gradient(180deg, rgba(28,28,38,0.98) 0%, rgba(14,14,18,0.98) 100%);border: 1px solid rgba(255, 255, 255, 0.08);border-radius: 10px;padding: 12px 14px;display: flex;align-items: center;gap: 12px;transition: transform 0.2s ease, border-color 0.2s ease;}
.vh-staff-card {flex-direction: column;align-items: flex-start;gap: 6px;}
.vh-player-card:hover, .vh-staff-card:hover {transform: translateX(3px);border-color: #d81c2b;box-shadow: 0 0 10px rgba(216, 28, 43, 0.2);}
.vh-player-num {font-size: 1.3rem;font-weight: 900;color: #d81c2b;min-width: 32px;text-align: center;background: rgba(216, 28, 43, 0.1);border-radius: 6px;padding: 2px 6px;}
.vh-player-info {flex-grow: 1;width: 100%;}
.vh-player-name {font-size: 0.92rem;color: #eee;display: flex;align-items: center;gap: 6px;}
.vh-player-name strong {color: #fff;text-transform: uppercase;font-weight: 800;}
.vh-cap-badge {color: #ffb800;font-weight: 900;font-size: 0.85rem;}
.vh-staff-role-badge {font-size: 0.72rem;font-weight: 800;text-transform: uppercase;color: #ff2e43;background: rgba(216, 28, 43, 0.12);border: 1px solid rgba(216, 28, 43, 0.3);padding: 2px 8px;border-radius: 6px;letter-spacing: 0.03em;}


/* ==========================================================================
   3. RESPONSIVE GLOBAL
   ========================================================================== */
@media (max-width: 800px) {
    .classement-styled th, .classement-styled td {font-size: .9em;padding: 6px;}
    .classement-styled .logo {width: 30px;}
}
@media (max-width: 600px) {
    .vh-effectif-grid {grid-template-columns: 1fr;}
    .classement-styled th, .classement-styled td {font-size: .8em;padding: 4px;}
}

/* ==========================================================================
   4. PAGES STANDARDS - CONTENEUR FLUIDE & LISIBLE
   ========================================================================== */
.page-standard-clean-content h2, .page-standard-clean-content h3, .page-standard-clean-content h4 {color: #fff !important;font-weight: 800 !important;text-transform: uppercase !important;margin-top: 2.5rem !important;margin-bottom: 1rem !important;}
.page-standard-clean-content h2 {font-size: 1.8rem;border-bottom: 2px solid #d81c2b;padding-bottom: 8px;display: inline-block;}
.page-standard-clean-content h3 {font-size: 1.3rem;color: #ff2e43 !important;}
.page-standard-clean-content a {color: #ff2e43;text-decoration: underline;font-weight: 600;}
.page-standard-clean-content a:hover {color: #fff;}

/* ==========================================================================
   5. CORRECTIF GRILLE PARTENAIRES & SPONSORS
   ========================================================================== */
.page-partenaires-container .gallery{display:grid !important;grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)) !important;gap:20px !important;margin:30px 0 !important;}.page-partenaires-container .gallery-item{background:#16161c !important;border:1px solid rgba(255, 255, 255, 0.08) !important;border-radius:12px !important;padding:15px !important;display:flex !important;align-items:center !important;justify-content:center !important;height:140px !important;margin:0 !important;box-sizing:border-box !important;transition:transform 0.2s ease, border-color 0.2s ease;}.page-partenaires-container .gallery-item:hover{transform:translateY(-3px);border-color:rgba(216, 28, 43, 0.5) !important;}.page-partenaires-container .gallery-icon img{max-height:100px !important;max-width:100% !important;width:auto !important;height:auto !important;object-fit:contain !important;display:block !important;margin:0 auto !important;}
