.elementor-647 .elementor-element.elementor-element-b89ff25{--display:flex;--min-height:200px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-647 .elementor-element.elementor-element-2ba3bf5{--display:flex;--min-height:400px;--justify-content:center;}.elementor-647 .elementor-element.elementor-element-2ba3bf5.e-con{--order:-99999 /* order start hack */;}.elementor-647 .elementor-element.elementor-element-e75a96f{width:var( --container-widget-width, 70% );max-width:70%;--container-widget-width:70%;--container-widget-flex-grow:0;text-align:center;}.elementor-647 .elementor-element.elementor-element-e75a96f > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-647 .elementor-element.elementor-element-e75a96f.elementor-element{--align-self:center;}.elementor-647 .elementor-element.elementor-element-e75a96f .elementor-heading-title{font-family:"Marcellus";font-size:48px;font-weight:900;line-height:48px;letter-spacing:-0.6px;text-shadow:0px 0px 10px rgba(0,0,0,0.3);color:var( --e-global-color-secondary );}.elementor-647 .elementor-element.elementor-element-fb43066{--display:flex;--margin-top:100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-647 .elementor-element.elementor-element-97f6889{--display:flex;--margin-top:80px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-647 .elementor-element.elementor-element-433646b{--display:flex;--margin-top:100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-647 .elementor-element.elementor-element-55f41b9{width:100%;max-width:100%;}.elementor-647 .elementor-element.elementor-element-55f41b9 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-647 .elementor-element.elementor-element-55f41b9 .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family );font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-647 .elementor-element.elementor-element-7053cab{--grid-columns:3;}.elementor-647 .elementor-element.elementor-element-7053cab .elementor-loop-container{grid-auto-rows:1fr;}.elementor-647 .elementor-element.elementor-element-7053cab .e-loop-item > .elementor-section, .elementor-647 .elementor-element.elementor-element-7053cab .e-loop-item > .elementor-section > .elementor-container, .elementor-647 .elementor-element.elementor-element-7053cab .e-loop-item > .e-con, .elementor-647 .elementor-element.elementor-element-7053cab .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}@media(max-width:1024px){.elementor-647 .elementor-element.elementor-element-55f41b9 .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-647 .elementor-element.elementor-element-7053cab{--grid-columns:2;}}@media(min-width:768px){.elementor-647 .elementor-element.elementor-element-2ba3bf5{--width:100%;}}@media(max-width:767px){.elementor-647 .elementor-element.elementor-element-e75a96f{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-647 .elementor-element.elementor-element-55f41b9 .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-647 .elementor-element.elementor-element-7053cab{--grid-columns:1;--grid-row-gap:0px;}}/* Start custom CSS for shortcode, class: .elementor-element-c254b0a *//* ==========================================================================
   TITRE DE CATÉGORIE (équivalent du ::before des sponsors, mais visible en HTML)
   ========================================================================== */
.gcc-teams-category {
    margin-bottom: 50px !important;
}
.gcc-teams-category__title {
    font-family: var(--e-global-typography-secondary-font-family) !important;
    font-size: var(--e-global-typography-secondary-font-size) !important;
    font-weight: var(--e-global-typography-secondary-font-weight) !important;
    line-height: var(--e-global-typography-secondary-line-height) !important;
    letter-spacing: var(--e-global-typography-secondary-letter-spacing) !important;
    text-transform: var(--e-global-typography-secondary-text-transform) !important;
    color: var(--e-global-color-primary) !important;
    margin-bottom: 25px !important;
    margin-top: 0 !important;
}
/* ==========================================================================
   GRILLE (identique aux sponsors : 6 colonnes desktop -> 4 tablette -> 2 mobile)
   ========================================================================== */
.gcc-teams-grid {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 10px !important;
    margin-bottom: 10px !important;
    align-items: start !important; /* chaque carte garde sa propre hauteur, cf. plus bas */
}
.gcc-team-card {
    text-decoration: none !important;
    display: flex !important;
    flex-direction: column !important;
    cursor: pointer !important;
}
.gcc-team-card:focus-visible {
    outline: 2px solid #5BBBA4 !important;
    outline-offset: 2px !important;
}
.gcc-team-card[aria-expanded="true"] .gcc-team-card__logo {
    border-color: #5BBBA4 !important;
}
.gcc-team-card[aria-expanded="true"] .gcc-team-card__name {
    color: #5BBBA4 !important;
}
/* ==========================================================================
   CARTE — carrée, sans arrondi, bordure #E6E0DE, hover #5BBBA4 (comme sponsors)
   ========================================================================== */
.gcc-team-card__logo {
    position: relative !important;
    width: 100% !important;
    height: 0 !important;
    padding-bottom: 100% !important; /* carré garanti, calculé uniquement sur la largeur */
    background-color: #ffffff !important;
    border: 1px solid #E6E0DE !important;
    border-radius: 0px !important;
    box-sizing: border-box !important;
    overflow: hidden !important; /* aucune image ne peut plus dépasser le cadre */
    transition: border-color 0.2s ease !important;
}
.gcc-team-card:hover .gcc-team-card__logo {
    border-color: #5BBBA4 !important;
}
.gcc-team-card__img {
    position: absolute !important;
    top: 5% !important;
    left: 5% !important;
    width: 90% !important;
    height: 90% !important;
    max-width: 90% !important;
    max-height: 90% !important;
    object-fit: contain !important;
    display: block !important;
}
.gcc-team-card__placeholder {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: #E6E0DE;
}
/* ==========================================================================
   NOM DE L'ÉQUIPE — hauteur réservée pour que les cartes restent alignées,
   même si un nom est plus long ou si le pays n'est pas renseigné. Ce n'est
   PAS un plafond : aucun nom n'est jamais tronqué (pas de "…"), un nom très
   long étire simplement sa carte au-delà de la réserve prévue.
   ========================================================================== */
.gcc-team-card__body {
    text-align: center !important;
    padding-top: 10px !important;
    /* Réserve la place pour 3 lignes de nom + 1 ligne de pays dans le cas
       courant, pour que les cartes restent visuellement alignées. */
    min-height: 90px !important;
    display: flex !important;
    flex-direction: column !important;
}
.gcc-team-card__name {
    margin: 0 !important;
    font-size: 1em !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: #1c1c1c !important;
    transition: color 0.2s ease !important;
    /* Aucune troncature : le nom s'affiche toujours en entier, sur autant
       de lignes que nécessaire. */
}
.gcc-team-card:hover .gcc-team-card__name {
    color: #5BBBA4 !important;
}
.gcc-team-card__country {
    display: block !important;
    font-size: 0.85em !important;
    line-height: 1.3 !important;
    color: #666 !important;
    margin-top: 2px !important;
    /* Réserve la ligne même si le pays n'est pas renseigné pour cette équipe */
    min-height: 1.3em !important;
}
/* ==========================================================================
   PANNEAU COMPOSITION D'ÉQUIPE — s'ouvre pleine largeur sous la ligne
   de la carte cliquée (inséré juste après elle dans le DOM, donc placé
   naturellement par la grille sur toute sa largeur).
   Apparition en fondu + léger glissement (voir le JS du shortcode
   [gcc_teams_cards], classe .is-visible ajoutée juste après l'insertion).
   ========================================================================== */
.gcc-team-riders-panel {
    grid-column: 1 / -1 !important;
    border-top: 1px solid #5BBBA4 !important;
    padding-top: 10px !important;
    margin: 0 0 10px !important;
    box-sizing: border-box !important;
    opacity: 0 !important;
    transform: translateY(-10px) !important;
    transition: opacity 0.35s ease, transform 0.35s ease !important;
}
.gcc-team-riders-panel.is-visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
}
.gcc-team-riders-loading,
.gcc-team-riders-pending,
.gcc-team-riders-error {
    text-align: center !important;
    color: #666 !important;
    margin: 10px 0 !important;
}
.gcc-team-riders-pending {
    padding: 20px !important;
    background: #f6f7f7 !important;
    border: 1px dashed #E6E0DE !important;
}
.gcc-team-riders-error {
    color: #b32d2e !important;
}

/* --- Nom du directeur sportif — affiché avant le tableau de composition,
   uniquement quand le champ est renseigné dans wp-admin > Équipes. --- */
.gcc-team-riders-ds {
    margin: 0 0 12px !important;
    font-size: 0.9em !important;
    color: #1c1c1c !important;
}

.gcc-team-riders-table {
    width: 100% !important;
    border-collapse: collapse !important;
}
.gcc-team-riders-table th {
    text-align: left !important;
    font-size: 0.85em !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    color: #1c1c1c !important;
    padding: 8px 10px !important;
    border-bottom: 2px solid #E6E0DE !important;
}
.gcc-team-riders-table td {
    padding: 8px 10px !important;
    border-bottom: 1px solid #E6E0DE !important;
    vertical-align: middle !important;
}
.gcc-team-riders-col-dossard {
    width: 50px !important;
    font-weight: 700 !important;
    color: #1c1c1c !important;
}
.gcc-team-riders-table td.gcc-team-riders-col-photo {
    width: 14% !important;
    padding: 0 !important;
}
.gcc-team-riders-photo {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    border-radius: 0 !important;
    object-fit: contain !important;
}
.gcc-team-riders-photo--empty {
    width: 100% !important;
    min-height: 50px !important;
    background: #E6E0DE !important;
}
.gcc-team-riders-col-nom {
    font-weight: 600 !important;
    color: #1c1c1c !important;
}
.gcc-team-riders-columns {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
}

.gcc-team-riders-col-jeune {
    width: 70px !important;
    text-align: center !important;
    font-size: 0.9em !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    color: #1c1c1c !important;
}

/* ==========================================================================
   RESPONSIVE — mêmes points de rupture que les sponsors
   ========================================================================== */
@media (max-width: 1024px) {
    .gcc-teams-grid {
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 10px !important;
    }
}
@media (max-width: 767px) {
    .gcc-teams-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
    }
    .gcc-teams-category {
        margin-bottom: 30px !important;
    }
    .gcc-team-riders-columns {
        grid-template-columns: 1fr !important;
    }
    .gcc-team-riders-table td.gcc-team-riders-col-photo {
        width: 20% !important;
    }
}/* End custom CSS */