.elementor-kit-12220{--e-global-color-primary:#005889;--e-global-color-secondary:#003B5C;--e-global-color-text:#101828;--e-global-color-accent:#005889;--e-global-color-6c54852:#EA67B7;--e-global-color-7918e9b:#B0003A;--e-global-color-7cb909c:#F7F8FA;--e-global-color-2bf1800:#FFFFFF;--e-global-color-886142f:#FFFFFF00;--e-global-color-e2944a2:#D5D8DC;--e-global-color-5660fce:#F7B2DC;--e-global-typography-primary-font-family:"Barlow condensed";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Barlow condensed";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"test";--e-global-typography-text-font-size:1rem;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-family:"test";--e-global-typography-accent-font-size:clamp(.95rem, .9rem + .18vw, 1.05rem);--e-global-typography-accent-font-weight:600;--e-global-typography-accent-line-height:1.2em;--e-global-typography-166f9c6-font-family:"Barlow condensed";--e-global-typography-166f9c6-font-weight:500;--e-global-typography-461ef85-font-family:"Barlow condensed";--e-global-typography-461ef85-font-size:clamp(.95rem, .88rem + .3vw, 1.15rem);--e-global-typography-461ef85-font-weight:600;--e-global-typography-461ef85-text-transform:uppercase;--e-global-typography-461ef85-line-height:1.2lh;--e-global-typography-461ef85-letter-spacing:0.14em;--e-global-typography-b25ab95-font-family:"Barlow condensed";--e-global-typography-b25ab95-font-weight:900;background-color:var( --e-global-color-7cb909c );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-12220 button,.elementor-kit-12220 input[type="button"],.elementor-kit-12220 input[type="submit"],.elementor-kit-12220 .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );color:var( --e-global-color-7cb909c );border-radius:5px 5px 5px 5px;}.elementor-kit-12220 e-page-transition{background-color:#FFBC7D;}.elementor-kit-12220 h1{font-family:var( --e-global-typography-b25ab95-font-family ), Sans-serif;font-weight:var( --e-global-typography-b25ab95-font-weight );line-height:var( --e-global-typography-b25ab95-line-height );}.elementor-kit-12220 h2{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-12220 h3{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-12220 h4{font-family:var( --e-global-typography-166f9c6-font-family ), Sans-serif;font-size:var( --e-global-typography-166f9c6-font-size );font-weight:var( --e-global-typography-166f9c6-font-weight );line-height:var( --e-global-typography-166f9c6-line-height );}.elementor-kit-12220 label{color:var( --e-global-color-text );}.elementor-kit-12220 input:not([type="button"]):not([type="submit"]),.elementor-kit-12220 textarea,.elementor-kit-12220 .elementor-field-textual{font-family:"Open sans", Sans-serif;font-size:0.9rem;font-weight:400;line-height:1.6em;border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-e2944a2 );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:clamp(3rem, 2rem + 4vw, 6rem);--container-default-padding-right:clamp(1rem, -0.25rem + 5.25vw, 5rem);--container-default-padding-bottom:clamp(3rem, 2rem + 4vw, 6rem);--container-default-padding-left:clamp(1rem, -0.25rem + 5.25vw, 5rem);}.elementor-widget:not(:last-child){--kit-widget-spacing:40px;}.elementor-element{--widgets-spacing:40px 40px;--widgets-spacing-row:40px;--widgets-spacing-column:40px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1366px){.elementor-kit-12220{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-12220 h1{line-height:var( --e-global-typography-b25ab95-line-height );}.elementor-kit-12220 h2{line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-12220 h3{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-12220 h4{font-size:var( --e-global-typography-166f9c6-font-size );line-height:var( --e-global-typography-166f9c6-line-height );}.elementor-kit-12220 button,.elementor-kit-12220 input[type="button"],.elementor-kit-12220 input[type="submit"],.elementor-kit-12220 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}}@media(max-width:1024px){.elementor-kit-12220{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-12220 h1{line-height:var( --e-global-typography-b25ab95-line-height );}.elementor-kit-12220 h2{line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-12220 h3{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-12220 h4{font-size:var( --e-global-typography-166f9c6-font-size );line-height:var( --e-global-typography-166f9c6-line-height );}.elementor-kit-12220 button,.elementor-kit-12220 input[type="button"],.elementor-kit-12220 input[type="submit"],.elementor-kit-12220 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-12220{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-12220 h1{line-height:var( --e-global-typography-b25ab95-line-height );}.elementor-kit-12220 h2{line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-12220 h3{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-12220 h4{font-size:var( --e-global-typography-166f9c6-font-size );line-height:var( --e-global-typography-166f9c6-line-height );}.elementor-kit-12220 button,.elementor-kit-12220 input[type="button"],.elementor-kit-12220 input[type="submit"],.elementor-kit-12220 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* MENU PIED CENTRÉ
------------------------------------------- */

@media only screen and (max-width: 767px) {
    .elementor-nav-menu__align-start .elementor-nav-menu a {
        justify-content: center !important;
    }
}


/* PANIER
------------------------------------------- */

.elementor-menu-cart__toggle_button {
    border-color: var(--e-global-color-886142f) !important;
    background-color: var(--e-global-color-886142f) !important;
}


/* TYPOGRAPHIE FLUIDE
------------------------------------------- */

/* H1 */
body .elementor-widget-heading h1.elementor-heading-title {
    font-size: clamp(4rem, 7vw, 8rem) !important;
    line-height: .9 !important;
}

/* H2 */
body .elementor-widget-heading h2.elementor-heading-title {
    font-size: clamp(2.2rem, 3.5vw, 3.75rem) !important;
    line-height: 1 !important;
}

/* H3 */
body .elementor-widget-heading h3.elementor-heading-title {
    font-size: clamp(1.6rem, 2.5vw, 2.5rem) !important;
    line-height: 1 !important;
}

/* H4 */
body .elementor-widget-heading h4.elementor-heading-title {
    font-size: clamp(1.25rem, 1.7vw, 1.65rem) !important;
    line-height: 1.1 !important;
}

.product-title.elementor-widget-heading .elementor-heading-title {
    font-family: var(--e-global-typography-461ef85-font-family) !important;
    font-size: var(--e-global-typography-461ef85-font-size) !important;
    font-weight: var(--e-global-typography-461ef85-font-weight) !important;
    line-height: var(--e-global-typography-461ef85-line-height) !important;
    letter-spacing: var(--e-global-typography-461ef85-letter-spacing) !important;
    text-transform: var(--e-global-typography-461ef85-text-transform) !important;
}

.eyebrow.elementor-widget-heading .elementor-heading-title {
    font-family: var(--e-global-typography-461ef85-font-family) !important;
    font-size: var(--e-global-typography-461ef85-font-size) !important;
    font-weight: var(--e-global-typography-461ef85-font-weight) !important;
    line-height: var(--e-global-typography-461ef85-line-height) !important;
    letter-spacing: var(--e-global-typography-461ef85-letter-spacing) !important;
    text-transform: var(--e-global-typography-461ef85-text-transform) !important;
}

/* PRIX PRODUIT — TAILLE H3
------------------------------------------- */

.woocommerce .elementor-widget-woocommerce-product-price .price {
    font-size: clamp(1.6rem, 2.5vw, 2.5rem) !important;
    line-height: 1 !important;
}

/* TITRE FICHE PRODUIT — STYLE H2
------------------------------------------- */

.woocommerce .elementor-widget-woocommerce-product-title .product_title {
    font-size: clamp(2.2rem, 3.5vw, 3.75rem) !important;
    line-height: 1 !important;
}


/* MASQUE LE DERNIER ÉLÉMENT SUR DESKTOP
------------------------------------------- */

@media (min-width: 1024px) {
    .hide-if-desktop {
        display: none !important;
    }
}


/* NOS VALEURS
------------------------------------------- */

/* Titre */
.values-title .elementor-heading-title {
    font-family: "Oswald", sans-serif;
    font-size: clamp(.95rem, .88rem + .3vw, 1.15rem) !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: .3em;
    text-transform: uppercase;
}

/* Engagement */
.values-main,
.values-main p {
    font-size: clamp(2.4rem, 3vw, 3.4rem) !important;
    font-weight: 900 !important;
    line-height: .9 !important;
}

/* Esprit de famille */
.values-outline,
.values-outline p {
    font-size: clamp(1.8rem, 2.2vw, 2.5rem) !important;
    font-weight: 700 !important;
    line-height: .9 !important;
    color: transparent !important;
    -webkit-text-stroke: 1px var(--e-global-color-2bf1800);
}

/* Santé / Formation / Respect */
.values-secondary,
.values-secondary p {
    font-size: clamp(1.45rem, 1.8vw, 2rem) !important;
    font-weight: 700 !important;
    line-height: .95 !important;
}


/* AGENDA GOOGLE VV56
------------------------------------------- */

.vv56-agenda {
    width: 100%;
    overflow: hidden;
    border-radius: 16px;
}

.vv56-agenda iframe {
    display: block;
    width: 100%;
    height: 1000px;
    border: 0;
}

@media (max-width: 767px) {
    .vv56-agenda iframe {
        height: 700px;
    }
}


/* TABLEAU TARIFS VV56
------------------------------------------- */

.vv56-tarifs {
    width: 100%;
    overflow: hidden !important;
    border-radius: 6px !important;
}


/* Tableau */

.vv56-tarifs__table {
    width: 100%;
    max-width: 100%;
    margin: 0;

    border-collapse: collapse;
    table-layout: fixed;

    border-top: 3px solid var(--e-global-color-6c54852) !important;

    background: var(--e-global-color-2bf1800);
    color: var(--e-global-color-text);
font-family: var(--e-global-typography-text-font-family), sans-serif;
    font-size: clamp(.85rem, .82rem + .15vw, .95rem);
    line-height: 1.4;
}


/* Cellules */

.vv56-tarifs__table th,
.vv56-tarifs__table td {
    padding: .9rem 1rem;

    border: 1px solid #d8dde3;

    text-align: center;
    vertical-align: middle;
}


/* En-têtes */

.vv56-tarifs__table thead th {
    background: var(--e-global-color-7cb909c);
    color: var(--e-global-color-secondary);

    border-top: 0 !important;

    font-size: .82em;
    font-weight: 700;
    line-height: 1.3;
    text-transform: uppercase;
}


/* Dates et précisions */

.vv56-tarifs__table small {
    display: block;

    margin-top: .15rem;

    color: #5f6875;

    font-size: .8em;
    font-weight: 400;
    line-height: 1.3;
    text-transform: none;
}


/* Première colonne */

.vv56-tarifs__table th:first-child,
.vv56-tarifs__table td:first-child {
    width: 46%;
}


/* Prix */

.vv56-tarifs__prix {
    color: var(--e-global-color-primary);

    font-size: clamp(1rem, .95rem + .3vw, 1.25rem);
    font-weight: 700;

    white-space: nowrap;
}

/* Tableau — laisse apparaître le fond de la page */
.vv56-tarifs__table {
    background: transparent;
}

/* En-tête — faux blanc */
.vv56-tarifs__table thead th {
    background: var(--e-global-color-7cb909c) !important;
}

/* Lignes — blanc */
.vv56-tarifs__table tbody tr,
.vv56-tarifs__table tbody td {
    background: var(--e-global-color-2bf1800) !important;
}

/* Neutralise le hover Elementor */
.vv56-tarifs__table tbody tr:hover > td,
.vv56-tarifs__table tbody tr:hover > th {
    background: var(--e-global-color-2bf1800) !important;
}

/* Hover */
.vv56-tarifs__table tbody tr:hover > td,
.vv56-tarifs__table tbody tr:hover > th {
    background-color: color-mix(
        in srgb,
        var(--e-global-color-primary) 10%,
        var(--e-global-color-2bf1800)
    ) !important;
}

/* TABLEAU TARIFS — MOBILE
------------------------------------------- */

@media (max-width: 767px) {

    .vv56-tarifs {
        overflow: visible !important;
        border-radius: 0 !important;
    }


    /* Tableau */

    .vv56-tarifs__table {
        display: block;

        border-top: 0 !important;
        background: transparent;

        font-size: .85rem;
    }


    /* Masque l'en-tête */

    .vv56-tarifs__table thead {
        display: none;
    }


    /* Les lignes deviennent des cartes */

    .vv56-tarifs__table tbody {
        display: grid;
        gap: 1rem;
    }


    /* Carte */

    .vv56-tarifs__table tbody tr {
        display: block;
        overflow: hidden;

        background: var(--e-global-color-2bf1800);

        border: 1px solid #d8dde3;
        border-top: 3px solid var(--e-global-color-6c54852);
        border-radius: 6px;
    }

    .vv56-tarifs__table tbody tr:nth-child(even) {
        background: var(--e-global-color-2bf1800);
    }


    /* Nom de la catégorie */

    .vv56-tarifs__table tbody td:first-child {
        display: block;

        width: 100%;
        padding: .9rem 1rem;

        background: var(--e-global-color-7cb909c);
        color: var(--e-global-color-secondary);

        border: 0;
        border-bottom: 1px solid #d8dde3;

        font-weight: 700;
        line-height: 1.35;
        text-align: center;
    }

    .vv56-tarifs__table tbody td:first-child small {
        margin-top: .2rem;
    }


    /* Lignes de tarifs */

    .vv56-tarifs__table tbody td.vv56-tarifs__prix {
        display: grid;

        grid-template-columns: 1fr auto;
        grid-template-areas:
            "label price"
            "date price";

        align-items: center;
        column-gap: 1rem;

        width: 100%;
        padding: .75rem 1rem;

        border: 0;
        border-bottom: 1px solid #e8ebef;

        text-align: right;
    }

    .vv56-tarifs__table tbody td.vv56-tarifs__prix:last-child {
        border-bottom: 0;
    }


    /* Libellé : adhésion / période */

    .vv56-tarifs__prix::before {
        content: attr(data-label);

        grid-area: label;

        color: var(--e-global-color-secondary);

        font-size: .85rem;
        font-weight: 700;
        line-height: 1.2;
        text-align: left;
    }


    /* Dates */

    .vv56-tarifs__prix::after {
        content: attr(data-date);

        grid-area: date;

        margin-top: .15rem;

        color: #5f6875;

        font-size: .72rem;
        font-weight: 400;
        line-height: 1.25;
        text-align: left;
    }


    /* Prix */

    .vv56-tarifs__prix {
        grid-area: price;

        font-size: 1.05rem;
        font-weight: 700;
    }
}


/* TABLEAU CATÉGORIES VV56
------------------------------------------- */

.vv56-categories {
    width: 100%;
    overflow: hidden;

    border: 1px solid #d8dde3;
    border-top: 3px solid var(--e-global-color-6c54852);
    border-radius: 6px;

    background: var(--e-global-color-2bf1800);
    color: var(--e-global-color-text);

    font-size: clamp(.85rem, .82rem + .15vw, .95rem);
    line-height: 1.4;
}


/* En-tête */

.vv56-categories__head {
    display: grid;
    grid-template-columns: 1fr 1fr;

    background: var(--e-global-color-7cb909c);
    color: var(--e-global-color-secondary);

    font-size: .82em;
    font-weight: 700;
    line-height: 1.3;
    text-transform: uppercase;
}

.vv56-categories__head > div {
    padding: .9rem 1rem;
    text-align: left;
}

.vv56-categories__head > div:first-child {
    border-right: 1px solid #d8dde3;
}


/* Lignes */

.vv56-categories__row {
    display: grid;
    grid-template-columns: 1fr 1fr;

    border-top: 1px solid #d8dde3;
}

.vv56-categories__row > div {
    display: flex;
    align-items: center;

    padding: .9rem 1rem;

    text-align: left;
}

.vv56-categories__row > div:first-child {
    border-right: 1px solid #d8dde3;

    color: var(--e-global-color-secondary);
    font-weight: 700;
}


/* Lignes alternées */

.vv56-categories__row:nth-child(odd) {
    background: var(--e-global-color-7cb909c);
}


/* TABLEAU CATÉGORIES — MOBILE
------------------------------------------- */

@media (max-width: 767px) {

    .vv56-categories {
        overflow: visible;

        border: 0;
        border-radius: 0;

        background: transparent;
    }

    .vv56-categories__head {
        display: none;
    }

    .vv56-categories__row {
        display: block;
        overflow: hidden;

        margin-bottom: 1rem;

        background: var(--e-global-color-2bf1800);

        border: 1px solid #d8dde3;
        border-top: 3px solid var(--e-global-color-6c54852);
        border-radius: 6px;
    }

    .vv56-categories__row:last-child {
        margin-bottom: 0;
    }

    .vv56-categories__row:nth-child(odd) {
        background: var(--e-global-color-2bf1800);
    }

    .vv56-categories__row > div {
        display: block;

        padding: .8rem 1rem;

        text-align: left;
    }

    .vv56-categories__row > div:first-child {
        background: var(--e-global-color-7cb909c);
        color: var(--e-global-color-secondary);

        border: 0;
        border-bottom: 1px solid #d8dde3;

        font-weight: 700;
    }
}


/* MASQUE LE BLOC ADJOINT SI ABSENT
------------------------------------------- */

.vv56-sans-adjoint .vv56-bloc-adjoint {
    display: none;
}


/* FORMULAIRES FORMINATOR — VV56
------------------------------------------- */

.forminator-ui,
.forminator-ui input,
.forminator-ui textarea,
.forminator-ui select,
.forminator-ui button {
    font-family: var(--e-global-typography-text-font-family), sans-serif !important;
    color: var(--e-global-color-text) !important;
}


/* Labels */

.forminator-ui .forminator-label {
    font-family: var(--e-global-typography-text-font-family), sans-serif !important;
    font-size: .95rem !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: var(--e-global-color-text) !important;
    margin-bottom: .4rem !important;
}


/* Champs */

.forminator-ui .forminator-input,
.forminator-ui .forminator-textarea,
.forminator-ui .forminator-select2-selection {
    background: var(--e-global-color-2bf1800) !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    font-size: 1rem !important;
    color: var(--e-global-color-text) !important;
}


/* Hauteur champs */

.forminator-ui .forminator-input,
.forminator-ui .forminator-select2-selection {
    min-height: 48px !important;
    padding: .75rem .9rem !important;
}


/* Textarea */

.forminator-ui .forminator-textarea {
    min-height: 140px !important;
    padding: .85rem .9rem !important;
    resize: vertical;
}


/* Placeholder */

.forminator-ui .forminator-input::placeholder,
.forminator-ui .forminator-textarea::placeholder {
    color: var(--e-global-color-text) !important;
    opacity: .5;
}


/* Focus */

.forminator-ui .forminator-input:focus,
.forminator-ui .forminator-textarea:focus,
.forminator-ui .forminator-select2-selection:focus {
    border-color: var(--e-global-color-accent) !important;

    box-shadow: 0 0 0 2px color-mix(
        in srgb,
        var(--e-global-color-accent) 18%,
        transparent
    ) !important;

    outline: none !important;
}


/* Description */

.forminator-ui .forminator-description {
    font-size: .85rem !important;
    color: var(--e-global-color-text) !important;
    opacity: .7;
}


/* Bouton */

.forminator-ui .forminator-button-submit {
    min-height: 46px !important;
    padding: .75rem 1.4rem !important;

    background: var(--e-global-color-accent) !important;
    color: var(--e-global-color-2bf1800) !important;

    border: 0 !important;
    border-radius: 6px !important;

    font-family: var(--e-global-typography-text-font-family), sans-serif !important;
    font-size: 1rem !important;
    font-weight: 600 !important;

    cursor: pointer;
}


/* Pas de changement au hover */

.forminator-ui .forminator-button-submit:hover,
.forminator-ui .forminator-button-submit:focus,
.forminator-ui .forminator-button-submit:active {
    background: var(--e-global-color-accent) !important;
    color: var(--e-global-color-2bf1800) !important;
    box-shadow: none !important;
    transform: none !important;
}


/* Messages */

.forminator-ui .forminator-response-message {
    border-radius: 6px !important;
    padding: 1rem !important;
}


/* Forminator — mobile */

@media (max-width: 767px) {

    .forminator-ui .forminator-input,
    .forminator-ui .forminator-textarea,
    .forminator-ui .forminator-select2-selection {
        font-size: 16px !important;
    }

    .forminator-ui .forminator-button-submit {
        width: 100% !important;
    }
}


/* WP GRID BUILDER
------------------------------------------- */

.wpgb-facet .wpgb-button:not(button),
.wpgb-facet .wpgb-checkbox .wpgb-checkbox-control,
.wpgb-facet .wpgb-checkbox .wpgb-checkbox-control::before,
.wpgb-facet .wpgb-input,
.wpgb-facet .wpgb-radio .wpgb-radio-control,
.wpgb-facet .wpgb-select {
    border-color: var(--e-global-color-primary) !important;
}


/* TEXTES XXL EN FOND
------------------------------------------- */

.xxl-bg {
    position: relative !important;
    overflow: hidden;
    isolation: isolate;
}

.xxl-bg::before {
    position: absolute !important;

    top: auto !important;
    left: 2rem !important;
    right: auto !important;
    bottom: -2rem !important;

    font-family: "Barlow Condensed", sans-serif;
    font-size: clamp(14rem, 25vw, 27rem);
    font-weight: 900;
    line-height: .7;
    white-space: nowrap;

    transform: skewX(-3deg);
    transform-origin: right bottom;

    pointer-events: none;
    z-index: -1;
}


/* XXL — BLANC SUR FOND BLEU
------------------------------------------- */

/* Actualités — bleu clair */
.news-section::before {
    content: "ACTUALITÉS";

    color: color-mix(
        in srgb,
        var(--e-global-color-2bf1800) 50%,
        transparent
    );

    -webkit-text-stroke: 3px rgba(0, 59, 93, .08);
}

/* Partenaires — bleu foncé */
.partenaires-section::before {
    content: "PARTENAIRES";

    color: color-mix(
        in srgb,
        var(--e-global-color-2bf1800) 6%,
        transparent
    );
}


/* XXL — BLEU SUR FOND CLAIR
------------------------------------------- */

.tarifs-section::before,
.results-section::before,
.planning-section::before,
.club-section::before,
.loisirs-section::before,
.competition-section::before 
{
    color: color-mix(
        in srgb,
        var(--e-global-color-primary) 6%,
        transparent
    );
}

.tarifs-section::before {
    content: "ADHÉSIONS";
}


.results-section::before {
    content: "RÉSULTATS";
}

.planning-section::before {
    content: "ENTRAÎNEMENTS";
}

.club-section::before {
    content: "VANNES VOLLEY 56";
}

.loisirs-section::before {
    content: "LOISIRS";
}

.competition-section::before {
    content: "COMPÉTITION";
}

/* XXL — ROSE SUR FOND CLAIR
------------------------------------------- */

.instagram-section::before {
    content: "INSTAGRAM";

    color: color-mix(
        in srgb,
        var(--e-global-color-6c54852) 58%,
        transparent
    );
}

/* PLANNING VV56
------------------------------------------- */

.vv56-planning {
    display: grid;
    gap: 2.5rem;
}

.vv56-grid {
    display: grid;

    grid-template-columns:
        60px
        repeat(6, minmax(100px, 1fr))
        minmax(120px, 1fr);

    grid-template-rows:
        42px
        30px
        repeat(12, 36px);

    position: relative;
}


/* SALLES
------------------------------------------- */

.vv56-header--salle {
    grid-row: 1;

    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0 4px;
    padding: .4rem .6rem;

    border: 2px solid #ddd;
    border-radius: 5px;

    font-size: 1rem;
    font-weight: 700;
    line-height: 1;
}

/* SOK */
.vv56-header--sok {
    grid-column: 2 / span 3;
    border-color: var(--e-global-color-primary);
}

/* K2 */
.vv56-header--k2 {
    grid-column: 5 / span 3;
    border-color: var(--e-global-color-6c54852);
}

/* Salle des Pompiers */
.vv56-header--pompiers {
    grid-column: 8;
    border-color: #d8dde3;
}


/* TERRAINS
------------------------------------------- */

.vv56-header--terrain {
    grid-row: 2;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: .25rem;

    border: 0;

    font-size: .72rem;
    font-weight: 600;
    line-height: 1;
}

.vv56-header--sok-t1 {
    grid-column: 2;
}

.vv56-header--sok-t2 {
    grid-column: 3;
}

.vv56-header--sok-t3 {
    grid-column: 4;
}

.vv56-header--k2-t1 {
    grid-column: 5;
}

.vv56-header--k2-t2 {
    grid-column: 6;
}

.vv56-header--k2-t3 {
    grid-column: 7;
}


/* HEURES
------------------------------------------- */

.vv56-heure {
    position: relative;

    display: flex;
    align-items: flex-start;

    padding-top: .2rem;

    font-size: .72rem;
    font-weight: 500;
    line-height: 1;

    border: 0;
}

.vv56-heure::before {
    content: "";

    position: absolute;
    top: 0;
    right: 0;

    width: 30px;
    height: 1px;

    background: #ddd;
}


/* CRÉNEAUX
------------------------------------------- */

.vv56-creneau {
    display: flex;
    flex-direction: column;
    justify-content: center;

    margin: 2px;
    padding: .35rem .45rem;

    border: 0;
    border-radius: 5px;

    font-size: .78rem;
    line-height: 1.25;
    text-align: left;

    overflow: hidden;
    z-index: 2;
}

.vv56-creneau__equipe {
    display: block;
    font-weight: 600;
}

.vv56-creneau__horaire {
    display: block;

    margin-top: .1rem;

    font-size: .72rem;
}


/* COULEURS DES CRÉNEAUX
------------------------------------------- */

/* Rose */
.vv56-creneau--rose {
    background: #FFD6E6;
    color: var(--e-global-color-text);
}

/* Bleu */
.vv56-creneau--bleu {
    background: #CFE8F2;
    color: var(--e-global-color-text);
}

/* Corail */
.vv56-creneau--corail {
    background: #FFD9CC;
    color: var(--e-global-color-text);
}

/* Vert */
.vv56-creneau--vert {
    background: #D9F0DF;
    color: var(--e-global-color-text);
}


/* PLANNING — TABLETTE
------------------------------------------- */

@media (max-width: 1024px) {

    .vv56-grid {
        grid-template-columns:
            50px
            repeat(6, minmax(90px, 1fr))
            minmax(110px, 1fr);

        min-width: 800px;
    }

    .vv56-creneau {
        font-size: .72rem;
    }

    .vv56-creneau__horaire {
        font-size: .68rem;
    }
}


/* PLANNING — MOBILE
------------------------------------------- */

@media (max-width: 767px) {

    .vv56-planning {
        gap: 2rem;
        overflow-x: auto;
    }

    .vv56-grid {
        min-width: 760px;

        grid-template-columns:
            45px
            repeat(6, 95px)
            105px;

        grid-template-rows:
            42px
            30px
            repeat(12, 36px);
    }

    .vv56-creneau {
        margin: 2px;
        padding: .3rem .4rem;

        font-size: .72rem;
        line-height: 1.2;
    }

    .vv56-creneau__horaire {
        font-size: .67rem;
    }

    .vv56-header {
        font-size: .72rem;
    }

    .vv56-heure {
        font-size: .65rem;
    }
}


/* MASQUE 16H–17H SI LA TRANCHE EST VIDE
------------------------------------------- */

.vv56-grid.vv56-grid--sans-16h {
    grid-template-rows:
        42px
        30px
        0
        0
        repeat(10, 36px);
}

.vv56-grid.vv56-grid--sans-16h .vv56-heure[style*="grid-row: 3"] {
    display: none;
} 


 /* PANIER — OPTIONS PRODUITS MOBILE
------------------------------------------- */

@media (max-width: 767px) {

    .woocommerce-cart .wccpf-cart-data-editor {
        max-width: 100%;
        min-width: 0;
        white-space: normal !important;
        overflow-wrap: anywhere;
    }

    .woocommerce-cart .wccpf-cart-data-editor * {
        max-width: 100%;
        white-space: normal !important;
        overflow-wrap: anywhere;
        text-align: left !important;
    }

}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Barlow condensed';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('https://www.vv56.fr/wp-content/uploads/2026/09/barlow-condensed-v13-latin-500.woff2') format('woff2');
}
@font-face {
	font-family: 'Barlow condensed';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('https://www.vv56.fr/wp-content/uploads/2026/09/barlow-condensed-v13-latin-700.woff2') format('woff2');
}
@font-face {
	font-family: 'Barlow condensed';
	font-style: normal;
	font-weight: 900;
	font-display: swap;
	src: url('https://www.vv56.fr/wp-content/uploads/2026/09/barlow-condensed-v13-latin-900.woff2') format('woff2');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Open sans';
	font-style: normal;
	font-weight: normal;
	font-display: swap;
	src: url('https://www.vv56.fr/wp-content/uploads/2026/08/open-sans-v44-latin-regular.woff2') format('woff2');
}
@font-face {
	font-family: 'Open sans';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('https://www.vv56.fr/wp-content/uploads/2026/08/open-sans-v44-latin-600.woff2') format('woff2');
}
/* End Custom Fonts CSS */