.elementor-638 .elementor-element.elementor-element-bb5a1bd{--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-638 .elementor-element.elementor-element-9b00b67{--display:flex;--min-height:400px;--justify-content:center;}.elementor-638 .elementor-element.elementor-element-9b00b67.e-con{--order:-99999 /* order start hack */;}.elementor-638 .elementor-element.elementor-element-14b2fd2{width:var( --container-widget-width, 70% );max-width:70%;--container-widget-width:70%;--container-widget-flex-grow:0;text-align:center;}.elementor-638 .elementor-element.elementor-element-14b2fd2 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-638 .elementor-element.elementor-element-14b2fd2.elementor-element{--align-self:center;}.elementor-638 .elementor-element.elementor-element-14b2fd2 .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-638 .elementor-element.elementor-element-267f310{--display:flex;--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;--margin-top:100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-638 .elementor-element.elementor-element-f59eaa9{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-638 .elementor-element.elementor-element-453c7b3{--display:flex;}.elementor-638 .elementor-element.elementor-element-ffc3713 .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 );}.elementor-638 .elementor-element.elementor-element-f73eaaf{--display:flex;--margin-top:100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-638 .elementor-element.elementor-element-110b10e{width:100%;max-width:100%;}.elementor-638 .elementor-element.elementor-element-110b10e > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-638 .elementor-element.elementor-element-110b10e .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-638 .elementor-element.elementor-element-35bdb80{--grid-columns:3;}.elementor-638 .elementor-element.elementor-element-35bdb80 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-638 .elementor-element.elementor-element-35bdb80 .e-loop-item > .elementor-section, .elementor-638 .elementor-element.elementor-element-35bdb80 .e-loop-item > .elementor-section > .elementor-container, .elementor-638 .elementor-element.elementor-element-35bdb80 .e-loop-item > .e-con, .elementor-638 .elementor-element.elementor-element-35bdb80 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}@media(max-width:1024px){.elementor-638 .elementor-element.elementor-element-ffc3713 .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-638 .elementor-element.elementor-element-110b10e .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-638 .elementor-element.elementor-element-35bdb80{--grid-columns:2;}}@media(min-width:768px){.elementor-638 .elementor-element.elementor-element-9b00b67{--width:100%;}}@media(max-width:767px){.elementor-638 .elementor-element.elementor-element-14b2fd2{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-638 .elementor-element.elementor-element-ffc3713 .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-638 .elementor-element.elementor-element-110b10e .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-638 .elementor-element.elementor-element-35bdb80{--grid-columns:1;--grid-row-gap:0px;}}/* Start custom CSS for shortcode, class: .elementor-element-f36130a *//* ==========================================================================
   GRILLE "LES ÉTAPES" — même direction artistique que .sponsors-grid
   ========================================================================== */
.gcc-etapes-cards {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important; /* 4 colonnes PC */
    gap: 10px !important;
    margin-bottom: 20px !important;
}
.gcc-etape-card {
    text-decoration: none !important;
    display: block !important;
}
/* Carte carrée, sans arrondi, bordure #E6E0DE — identique aux sponsors */
.gcc-etape-card__thumb {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    background-color: #ffffff !important;
    border: 1px solid #E6E0DE !important;
    border-radius: 0px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s ease !important;
}
/* La miniature est une photo (pas un logo) : on remplit le carré en "cover" */
.gcc-etape-card__img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
.gcc-etape-card__placeholder {
    width: 100%;
    height: 100%;
    background: #E6E0DE;
}
/* Contrairement aux sponsors (nom masqué), on garde bien le nom de l'étape */
.gcc-etape-card__body {
    padding-top: 10px !important;
    text-align: center !important;
}
.gcc-etape-card__title {
    margin: 0 !important;
    color: var(--e-global-color-primary, #1c1c1c) !important;
    transition: color 0.2s ease !important;
}
.gcc-etape-card:hover .gcc-etape-card__title {
    color: #5BBBA4 !important;
}
/* Affiche "ville départ > ville arrivée" à la place du kilométrage */
.gcc-etape-card__dist {
    display: block !important;
    color: #000000 !important;
    margin-top: 2px !important;
}
/* Responsive — mêmes points de rupture que les sponsors */
@media (max-width: 1024px) {
    .gcc-etapes-cards {
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 10px !important;
    }
}
@media (max-width: 767px) {
    .gcc-etapes-cards {
        grid-template-columns: repeat(2, 1fr) !important; /* 2 colonnes mobile */
        gap: 8px !important;
    }
}/* End custom CSS */