/*
Theme Name: Marco360 Theme
Theme URI: https://marco360.local
Description: A child theme of Hello Elementor for Marco360
Author: Marco360 Team
Author URI: https://marco360.local
Template: hello-elementor
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: marco360-theme
*/

/* Add your custom styles below this line */

body {
    /* Couleurs */
    --brand-100: var(--e-global-color-af94a42);
    --brand-200: var(--e-global-color-d60acf9);
    --brand-600: var(--e-global-color-f5ea27f);
    --brand-700: var(--e-global-color-cbaec13);
    --brand-800: var(--e-global-color-304f095);
    --dark: var(--e-global-color-6a77409);
    --neutral-0: var(--e-global-color-e0f675a);
    --neutral-100: var(--e-global-color-7d4af02);
    --neutral-200: var(--e-global-color-c630cb1);
    --neutral-300: var(--e-global-color-7ffb905);
    --neutral-400: var(--e-global-color-0d12efd);
    --neutral-500: var(--e-global-color-deed343);
    --neutral-600: var(--e-global-color-cc6c373);
    --neutral-700: var(--e-global-color-65a2603);
    --neutral-800: var(--e-global-color-e11ee3e);
    --error-500: #c32222;

    /* Espacements */
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.5rem;
    --space-6: 2rem;

    /* Typographie */
    --text-2xs: 0.6875rem;
    --text-xs: 0.75rem;
    --text-sm: 0.8125rem;
    --text-base: 1rem;
    --text-2xl: 2rem;

    /* Ombres */
    --box-shadow-s: 0 2px 8px 0 var(--e-global-color-33952d3);
    --box-shadow-btn: 0 0 0 3px var(--e-global-color-af94a42);
    --box-shadow-input: 0 0 0 3px var(--neutral-300);
    --box-shadow-m: 0 0 32px 0 var(--e-global-color-33952d3);

    --border-radius-btn: 40px;
    --padding-btn: 8px 16px;
    --height-btn: 37px;
	
	--button-text-color: white;

    background: linear-gradient(to top, rgb(255 255 255 / 80%), #F8F9FA 185%), url("/wp-content/uploads/2025/04/mw-fd-monogramme.svg");
    background-size: 8%;
}

/* -------------------- THEME BUILDER > HEADER -------------------- */

.header-nav {
    box-shadow: var(--box-shadow-s);
}

.header-nav nav a:focus {
    color: var(--brand-600);
}

@media (max-width: 1023px) {
    .header-nav {
        z-index: 1000;
    }

    .header-nav .elementor-nav-menu--dropdown {
        z-index: 1001;
    }

    .header-nav .elementor-menu-toggle {
        z-index: 1002;
    }

    .header-nav nav {
        position: fixed;
        top: 0;
        width: 100%;
        height: 100vh;
        text-align: center;
        background: var(--dark);
        margin-top: unset;
        max-height: unset;
        padding-top: 80px;
        transform: unset;
        transition: left 0.5s ease;
    }

    .header-nav nav a {
        color: var(--neutral-0);
        fill: var(--neutral-0)
    }

    .header-nav nav a:hover {
        color: var(--brand-600);
        fill: var(--brand-600);
        background-color: unset;
    }

    .header-nav nav a.elementor-item.elementor-item-active {
        opacity: .7;
        background-color: unset;
    }

    .header-nav nav[aria-hidden="true"] {
        left: -100%;
    }

    .header-nav nav[aria-hidden="false"] {
        left: 0;
    }

    .header-nav ul.elementor-nav-menu>li:nth-last-child(-n+2)>a {
        width: 100%;
        text-align: unset;
    }
}

/* Avant dernier bouton : espace client  */
.header-nav ul.elementor-nav-menu>li:nth-last-child(2)>a {
    cursor: pointer;
}

@media (min-width: 1024px) {

    .header-nav ul.elementor-nav-menu>li:nth-child(3)::after,
    .header-nav ul.elementor-nav-menu>li:nth-child(5)::after {
        border-left-width: 1px !important;
    }

    .header-nav ul.elementor-nav-menu>li:nth-last-child(3) {
        margin-right: auto;
    }

    .header-nav ul.elementor-nav-menu {
        width: 100%;
    }

    /* Les 2 derniers boutons */

    .header-nav ul.elementor-nav-menu>li:nth-last-child(-n+2)>a {
        display: inline-block;
        padding: var(--padding-btn);
        line-height: 120%;
        text-align: center;
        border-radius: var(--border-radius-btn);
    }

    .header-nav ul.elementor-nav-menu>li:nth-last-child(-n+2) {
        margin: 12.5px 0;
        margin-left: var(--space-4);
    }

    .header-nav ul.elementor-nav-menu>li:last-child>a {
        color: var(--neutral-0) !important;
        background-color: var(--brand-600);
    }

    .header-nav ul.elementor-nav-menu>li:last-child>a:hover {
        background-color: var(--brand-700);
    }

    .header-nav ul.elementor-nav-menu>li:last-child>a:active {
        background-color: var(--brand-800);
    }

    .header-nav ul.elementor-nav-menu>li:last-child>a:focus {
        box-shadow: var(--box-shadow-btn);
        background-color: var(--brand-600);
    }

    .header-nav ul.elementor-nav-menu>li:nth-last-child(2)>a {
        color: var(--brand-600);
        border: 1px solid var(--brand-600);
    }

    .header-nav ul.elementor-nav-menu>li:nth-last-child(2)>a:hover {
        color: var(--brand-700);
        border: 1px solid var(--brand-700);
    }

    .header-nav ul.elementor-nav-menu>li:nth-last-child(2)>a:active {
        color: var(--brand-800);
        border: 1px solid var(--brand-800);
    }

    .header-nav ul.elementor-nav-menu>li:nth-last-child(2)>a:focus {
        box-shadow: var(--box-shadow-btn);
        color: var(--brand-600);
    }

    .header-nav ul.elementor-nav-menu>li>a:focus-visible {
        outline: none;
    }
}

/* boutons de navigation carousel top-header */
.header-nav .elementor-swiper-button {
    border-radius: 50%;
    height: 24px;
    width: 24px;
    padding: 5px 3px 5px 5px;
    background-color: transparent !important;
    color: var(--neutral-0) !important;
}

.header-nav .elementor-swiper-button::before {
    display: none;
}

/* ------------ THEME BUILDER > HEADER > SECTION TOP-HEADER -------------- */

button.top-header-btn {
    padding: unset !important;
    background-color: transparent !important;
    border: none;
}

button.top-header-btn svg {
    stroke: currentcolor;
}

button.top-header-btn:hover {
    opacity: .7;
}

.top-header {
    z-index: -1 !important;
    height: 41px !important;
    transition: margin-top .3s ease-in !important;
}

.top-header.hidden {
    margin-top: -41px;
}


.top-header img {
    display: block;
}

/* ----------------- THEME BUILDER > BOUCLE TOP-HEADER ------------------- */

#loop-top-header .elementor-widget-container {
    white-space: nowrap;
	display: flex;
}

#loop-top-header .elementor-widget-container>p {
    overflow: hidden;
    text-overflow: ellipsis;
}

#loop-top-header {
    flex-wrap: nowrap;
}

/* ---------------------- WIDGET BOUTTONS ---------------------- */

.elementor-element .elementor-button {
    min-height: var(--height-btn);
}

button:focus-visible {
    outline: none;
}

/* Boutton Primaire 'Par défault' */
.elementor-element .elementor-button .elementor-button-content-wrapper {
    gap: var(--space-3);
}

.elementor-element .elementor-button:active {
    background-color: var(--brand-800);
}

.elementor-element .elementor-button:focus {
    box-shadow: var(--box-shadow-btn);
}

.elementor-button-icon .e-font-icon-svg {
    align-self: center;
    fill: currentcolor;
}

/* ---------------------- BOUTON TYPE INFO ---------------------- */

.elementor-element.elementor-button-info .elementor-button {
    color: var(--brand-600) !important;
    border: 1px solid var(--brand-600) !important;
    background-color: var(--neutral-0) !important;
}

.elementor-element.elementor-button-info .elementor-button:hover {
    color: var(--brand-700) !important;
    border: 1px solid var(--brand-700) !important;
}

.elementor-element.elementor-button-info .elementor-button:active {
    color: var(--brand-800) !important;
    border: 1px solid var(--brand-800) !important;
}

.elementor-element.elementor-button-info .elementor-button:focus {
    box-shadow: var(--box-shadow-btn);
}

/* ------------ BOUTON TYPE SUCCESS (non souligné & fuchsia) --------------- */

.elementor-element.elementor-button-success .elementor-button {
    display: flex;
    padding: unset;
    color: var(--brand-600) !important;
    background-color: transparent !important;
    min-height: unset;
}

.elementor-element.elementor-button-success .elementor-button:hover {
    color: var(--brand-700) !important;
}

.elementor-element.elementor-button-success .elementor-button:active {
    color: var(--brand-800) !important;
}

.elementor-element.elementor-button-success .elementor-button:focus {
    box-shadow: none;
}

/* ---------------- BOUTON TYPE WARNING (souligné & gris) ------------------ */

.elementor-element.elementor-button-warning .elementor-button {
    display: block;
    padding: unset;
    font-size: var(--text-xs);
    font-weight: 400;
    line-height: 150%;
    color: var(--neutral-700) !important;
    background-color: transparent !important;
    min-height: unset;
    text-decoration: underline;
}

.elementor-element.elementor-button-warning .elementor-button:focus {
    box-shadow: none;
}

/* ---------------- WIDGET Bouton réseau social au survol ------------------ */

.elementor-social-icon:hover {
    opacity: 1 !important;
}

.elementor-social-icon:hover svg {
    fill: currentcolor !important;
}

/* ------------------ WIDGET CAROUSEL DE BOUCLE -------------------- */

.swiper-wrapper[id] {
    box-sizing: border-box !important;
    cursor: grab;
}

.elementor-element.elementor-arrows-position-outside>.elementor-widget-container>.swiper {
    width: calc(100% - 108px) !important;
}

.swiper {
    padding: 1px !important;
}

.swiper-full-width>.elementor-widget-container>.elementor-swiper>.swiper {
    width: 100% !important;
    border: 1px solid var(--neutral-300);
    border-radius: 8px;
    box-shadow: var(--box-shadow-s);
    padding: 0 !important;
}

.elementor-swiper-button {
    top: 50% !important;
    width: 30px;
    height: 100%;
    color: var(--neutral-800) !important;
    opacity: .3;
    align-items: center;
    background-color: var(--neutral-0) !important;
    justify-content: center;
    transition: all .3s ease-in-out;
    overflow: hidden;
}

.elementor-swiper-button svg {
    fill: currentcolor !important;
}

.elementor-widget-loop-carousel:hover .elementor-swiper-button {
    opacity: 1;
}

.elementor-swiper-button::before {
    position: absolute;
    top: 50%;
    z-index: 0;
    width: 0;
    height: 100%;
    background: var(--neutral-200);
    content: "";
    transform: translate(0, -50%);
    transition: width 100ms ease-out;
}

.elementor-swiper-button-prev {
    border-radius: 0 16px 16px 0;
}

.elementor-swiper-button-next {
    border-radius: 16px 0 0 16px;
}

.elementor-swiper-button-prev::before {
    left: 0;
}

.elementor-swiper-button-next::before {
    right: 0;
}

.elementor-swiper-button>* {
    position: relative;
    z-index: 1;
}

.elementor-swiper-button:active::before {
    width: 100%;
}

/* ---------------------- PAGE ACCUEIL > SECTION HERO ---------------------- */

/* filigrane animé */
.wave-animation {
    background: linear-gradient(133deg, var(--neutral-200), #fd245615);
    animation: gradient 15s ease infinite;
    background-size: 400%;
}

.wave-animation::before {
    background: linear-gradient(to top, rgb(255 255 255 / 80%), #F8F9FA 185%), url("/wp-content/uploads/2025/04/mw-fd-monogramme.svg");
    animation: wave 45s linear infinite;
    background-size: 50%;
}

/* titre animé fait sauté la fucshouette */
@media (max-width: 766px) {
    .elementor-headline-dynamic-wrapper {
        perspective: unset !important;
    }
}

@keyframes gradient {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}

@keyframes wave {
    0% {
        background-position-x: 0%;
    }

    100% {
        background-position-x: 200%;
    }
}

/* effet clip titre animé */

.elementor-headline-animation-type-clip .elementor-headline-dynamic-wrapper::after {
    background-color: var(--brand-600) !important;
}

@media (min-width: 767px) {
    .elementor-headline-dynamic-wrapper .elementor-headline-dynamic-text br {
        display: none;
    }
}

@media (max-width: 766px) {
    .elementor-headline-dynamic-wrapper .elementor-headline-dynamic-text {
        text-align: center;
    }

    .elementor-headline-dynamic-wrapper .elementor-headline-dynamic-text br {
        display: inline-block;
    }
}

/* ------------------- MODELES > SECTION NOS TEMOIGNAGES --------------------- */
/* Grille de boucle 'Découvrez les témoignages' effet Bento */

@media (min-width: 1024px) {
    #our-testimonials .elementor-loop-container {
        grid-template-columns: repeat(18, 1fr);
    }
}

@media (max-width: 1023px) {
    #our-testimonials .elementor-loop-container.elementor-grid {
        display: flex;
        flex-direction: column;
    }
}

#our-testimonials article {
    border-radius: 16px;
}

#our-testimonials .elementor-loop-container div.e-loop-item:nth-of-type(1) {
    grid-column: 1 / 6;
}

#our-testimonials .elementor-loop-container div.e-loop-item:nth-of-type(2) {
    grid-column: 6 / 14;
}

#our-testimonials .elementor-loop-container div.e-loop-item:nth-of-type(3) {
    grid-column: 14 / 19;
}

#our-testimonials .elementor-loop-container div.e-loop-item:nth-of-type(4) {
    grid-column: 1 / 9;
}

#our-testimonials .elementor-loop-container div.e-loop-item:nth-of-type(5) {
    grid-column: 9 / 14;
}

#our-testimonials .elementor-loop-container div.e-loop-item:nth-of-type(6) {
    grid-column: 14 / 19;
}

#our-testimonials .elementor-loop-container div.e-loop-item:nth-of-type(2n)>.elementor-element {
    box-shadow: var(--box-shadow-s);
    background-color: var(--neutral-0);
    border-width: 1px;
}

#our-testimonials .elementor-loop-container div.e-loop-item:nth-of-type(2n+1)>.elementor-element {
    background-color: var(--neutral-100);
}

#our-testimonials .elementor-loop-container div.e-loop-item:nth-of-type(2n)>article {
    justify-content: center;
}

#our-testimonials .elementor-loop-container div.e-loop-item:nth-of-type(5n+1)>article {
    justify-content: flex-end;
}

#our-testimonials .elementor-loop-container div.e-loop-item:nth-of-type(2)>.elementor-element,
#our-testimonials .elementor-loop-container div.e-loop-item:nth-of-type(4)>.elementor-element {
    padding: 104px 32px;
}

#without-testimonial .elementor-button-content-wrapper {
    display: none;
}

#our-testimonials .elementor-widget-theme-post-excerpt {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    overflow: hidden;
}

/* -------------------- THEME BUILDER > BOUCLE NOS ARTICLES -------------------- */

#loop-our-articles .elementor-widget-theme-post-excerpt {
    display: -webkit-box;
    margin: var(--space-2) 0 var(--space-6);
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
}

#loop-our-articles .elementor-widget-image a {
    width: 100%;
    height: 100%;
}

/* ---------------------- MODELES > SECTION PARTENAIRES ---------------------- */

#logo-banner {
    padding: 2% 0;
    margin-top: -4%;
    overflow: hidden;
}

#logo-banner .elementor-widget-container {
    margin: 0 -2%;
    transform: rotate(-2deg);
}

#logo-banner figure {
    display: flex;
    height: 100%;
    align-items: center;
    cursor: grab;
    justify-content: center;
    user-select: none;
}

#logo-banner .swiper-slide-image {
    max-width: 90%;
    max-height: 17%;
}

#logo-banner .swiper-wrapper {
    display: flex;
    align-items: stretch;
}

#logo-banner-btn {
    pointer-events: none;
}

#logo-banner-btn a {
    pointer-events: auto;
}

@media (min-width: 1024px) {
    #logo-banner .swiper {
        height: 240px;
    }

    #logo-banner figure {
        padding-right: 80px;
    }
}

@media (max-width: 1023px) {
    #logo-banner .swiper {
        height: 180px;
    }

    #logo-banner figure {
        padding-right: 60px;
    }
}

@media (max-width: 767px) {
    #logo-banner .swiper {
        height: 120px;
    }

    #logo-banner figure {
        padding-right: 40px;
    }
}

/* ---------------------- THEME BUILDER > BOUCLE FAQ ---------------------- */

#loop-faq .e-n-accordion-item-title-icon {
    padding: 5px;
    align-self: flex-start;
}

/* ---------------------- THEME BUILDER > PIED DE PAGE > COPYRIGHT ---------------------- */

#copyright li::after {
    border-radius: 50%;
}

@media (max-width: 1023px) {
    #copyright .elementor-nav-menu--layout-horizontal {
        flex-direction: column;
    }

    #copyright ul {
        margin: unset;
        flex-flow: column nowrap;
        justify-content: flex-start;
    }

    #copyright a {
        white-space: unset;
    }

    #copyright li::after {
        display: none;
    }
}

/* ------------- THEME BUILDER > PIED DE PAGE > BLOC NEWSLETTER --------------- */

#footer input {
    height: 45px;
    padding: var(--space-2) var(--space-5);
    border: 1.5px solid var(--neutral-300);
    border-radius: var(--border-radius-btn);
    font-family: var(--e-global-typography-text-font-family), Sans-serif;
}

#footer form[name="abonnez-vous"] {
    display: flex;
    align-items: center;
}

#footer form[name="abonnez-vous"] .elementor-field-group {
    width: 100%;
}

#footer button[type="submit"] {
    position: absolute;
    right: 5px;
    border: none;
    width: auto;
}

/* ------------- MODELES > FENETRES MODALES > POPUP ESPACE CLIENT --------------- */

form[name="se-connecter-a-marco"] .elementor-field-group .elementor-field {
    border: 1.5px solid var(--neutral-400);
    border-radius: 12px;
    font-family: var(--e-global-typography-text-font-family), Sans-serif;
}

form[name="se-connecter-a-marco"] .elementor-field {
    margin-bottom: var(--space-5);
}

form[name="se-connecter-a-marco"] .elementor-field-group.elementor-field-type-submit {
    justify-content: center;
}

/* ------------------------- PAGE TEMOIGNAGES ---------------------- */

.marco-testimonials__img-wrapper.e-con {
    height: 68px;
}

.marco-testimonials__img-wrapper .elementor-widget-image {
    height: 100%;
}

/* ellipsis */
#last-testimonial .elementor-widget-theme-post-excerpt {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
}

/* --------------------- PAGE TEMOIGNAGES > GRILLE DE BOUCLE > PAGINATION -------------------- */

.page-numbers {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: var(--neutral-200);
}

.page-numbers.current {
    background-color: var(--brand-600);
}

/* ------------------------- BOUCLE ARTICLE ---------------------- */

.marco-loop-card .elementor-widget-theme-post-excerpt {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -webkit-line-clamp: 5;
    line-clamp: 5;
}

.marco-loop-card .elementor-widget-button {
    position: absolute;
    z-index: 2;
    width: 100%;
    height: 100%;
}

.marco-loop-card .elementor-widget-button .elementor-button-wrapper {
    height: 100%;
}

.marco-loop-card .elementor-widget-button .elementor-button-wrapper .elementor-button {
    width: 100%;
    height: 100%;
}

.marco-loop-card .elementor-widget-button .elementor-button-wrapper .elementor-button .elementor-button-content-wrapper {
    display: none;
}

.marco-loop-card:hover .marco-hover-indicator {
    opacity: 1;
}

.marco-loop-card:not(:hover) .marco-hover-indicator {
    opacity: 0;
}

.marco-loop-card .marco-hover-indicator {
    transition: opacity 0.3s;
}

/* --------------- classe custom 'sub-menu-tabs' partagée PAGE NOS SERVICES et THEME BUILDER > PAGE UNIQUE > PAGE FORMULAIRE ---------------- */

/* Les onglets */
.elementor-widget-n-tabs .e-n-tabs {
    align-items: flex-start;
}

.e-n-tabs-heading {
    padding: var(--space-2);
    border: 2px solid var(--neutral-200);
    background-color: var(--neutral-0);
    border-radius: var(--border-radius-btn);
    flex-direction: row-reverse;
}

@media (max-width: 1023px) {
    .elementor-widget-n-tabs .e-n-tabs {
        gap: var(--n-tabs-gap) !important;
    }

    .e-n-tabs-heading {
        display: flex;
    }

    .e-n-tab-title {
        margin: 0 !important;
    }
}

.sub-menu-tabs nav,
.sub-menu-tabs search {
    padding: var(--space-2);
    border: 2px solid var(--neutral-200);
    background-color: var(--neutral-0);
    border-radius: var(--border-radius-btn);
}

/* ------------------------- FORMULAIRE -------------------------- */

input:invalid:not(:placeholder-shown) {
    border: 1.5px solid var(--error-500) !important;
}

form .elementor-button[disabled] {
    opacity: 0.4;
}

form .elementor-button[disabled]:hover {
    background-color: var(--brand-600);
}

form .elementor-field-group {
    height: 100%;
}

.elementor-field-group .elementor-field-textual:focus {
    box-shadow: var(--box-shadow-input) !important;
}

form[name="reserver-evenement"] .elementor-form-fields-wrapper> :nth-child(n+10):nth-child(-n+15) {
    display: none;
}

form[name="reserver-evenement"] .elementor-field-type-submit {
    margin-top: 32px;
}

.marco-form-divider {
    font-weight: 600;
    margin-top: var(--space-4);
    flex: 1;
    text-align: center;
}

.marco-form-divider span {
    border-radius: 50%;
    font-size: var(--text-xs);
    border: 1px solid var(--neutral-600);
    width: 24px;
    height: 24px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

/* ------------------------- PAGE CONTACT ------------------------ */

#call-us a {
    font-weight: 400;
}

/* -------------- PAGE NOS SERVICES > SECTION ACCOMPAGNEMENT -------------- */

#accompagnement .elementor-widget-gallery {
    height: 845px;
    overflow: clip;
}

#accompagnement .elementor-gallery__container.e-gallery-container::after {
    position: absolute;
    z-index: 2;
    background: linear-gradient(to right, var(--neutral-200), transparent 20%), linear-gradient(to left, var(--neutral-200), transparent 20%);
    content: "";
    inset: 0;
    pointer-events: none;
}

/* -------------- PAGE NOS SERVICES > SECTION ASSISTANCE ------------------ */

.elementor-counter {
    gap: var(--space-2);
    white-space: nowrap;
}

/* ------------- PAGE NOS SERVICES > ANCRES DE SOUS MENU ------------------ */

.elementor-menu-anchor[id] {
    scroll-margin-top: 140px;
}

/* ------------- THEME BUILDER / ARTICLE UNIQUE / BREADCRUMB -------------- */

#breadcrumb {
    line-height: var(--e-global-typography-text-line-height);
    color: var(--e-global-color-text);
    font-family: var(--e-global-typography-text-font-family), sans-serif;
}

#breadcrumb span {
    margin: 0 var(--space-2);
}

#breadcrumb span:first-child {
    margin: 0 var(--space-2) 0 0;
}

#breadcrumb a:hover {
    font-weight: unset;
}

/* ------------- CLASSE CUSTOM MARCO -------------- */

.marco-gallery-logo .e-gallery-image {
    background-repeat: no-repeat;
    background-size: contain;
}

/* ------------- LEAFLET -------------- */

.leaflet-marker-icon.marco-leaflet-number-marker {
    pointer-events: none !important;
}

.leaflet-popup-content p {
    font-size: var(--text-base);
    font-weight: 600;
    line-height: 150%;
    margin: var(--space-4) 0 !important;
}

.leaflet-popup-content .marco-leaflet-card {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--brand-100);
    border-radius: 8px;
    padding: var(--space-4);
    text-decoration: none;
    color: var(--neutral-800);
    font-size: var(--text-sm);
    position: relative;
}

.leaflet-popup-content .marco-leaflet-card:hover {
    background-color: var(--brand-600);
}

.leaflet-popup-content .marco-leaflet-card:hover {
    color: var(--neutral-0);
}

.leaflet-popup-content .marco-leaflet-img {
	border-radius: 50%;
	width: 50px;
	margin-bottom: 8px;
	height: 50px;
	object-fit: cover;
	object-position: center center;
}

.leaflet-popup-content .marco-leaflet-duration {
    position: absolute;
    right: var(--space-4);
    top: var(--space-4);
    text-transform: uppercase;
    font-size: var(--text-2xs);
}

.leaflet-popup-content .elementor-icon.marco-leaflet-users-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    font-size: var(--text-2xl);
    margin-bottom: var(--space-2);
    background: var(--neutral-400);
}

.leaflet-popup-content .elementor-icon.marco-leaflet-download-icon {
    width: 20px;
    height: 20px;
    font-size: var(--text-2xl);
}

#marco-leaflet-spinner {
    position: relative;
    z-index: 401;
    background: var(--neutral-500);
    width: 100%;
    height: 100%;
    display: flex;
}

#marco-leaflet-map {
	height: 650px;
	width: 650px;
	border-radius: 8px;
	position: relative;
}

@media (max-width: 1024px) {
	#marco-leaflet-map {
		width: 100%;
	}
}

/* ------------- PREVISU DOCUMENT EN GED ou YOUTUBE -------------- */

.ged_iframe {
    width: 100%;
    aspect-ratio: 1.78;
    border-radius: 8px !important;
    overflow: hidden;
    pointer-events: none;
    box-shadow: var(--box-shadow-s);
}

.ged_iframe iframe {
    height: calc(100% + 2px);
    transform: scale(115%) translate(8px, -22px);
}

.you_iframe {
    width: 100%;
    aspect-ratio: 1.78;
    border-radius: 8px !important;
    object-fit: cover;
}

a[id^="marco-youtube-link-"]:not([href]):hover,
.marco-publication-link:not([href]):hover {
    cursor: pointer;
}

/* ------------- NAV ACTIVE -------------- */

body.parent-pageid-5460 .nav-why-marco>a,
body.elementor-page-1735 .nav-testimonials>a,
body.elementor-page-8375 .nav-client-space>a {
    color: var(--brand-600) !important;
    fill: var(--brand-600) !important;
}

/* ------------- NAV DISABLED -------------- */

.elementor-nav-menu--main .elementor-nav-menu a.disabled {
    background: unset !important;
    color: var(--neutral-400) !important;
}

/* ------------- ESPACE CLIENT VERIFICATION -------------- */

.marco-spinner {
    width: 80px;
    height: 80px;
    margin: auto;
    position: relative;
}

.marco-spinner-ring {
    width: 100%;
    height: 100%;
    border: 4px solid rgba(255, 255, 255, 0.2);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.marco-lock-icon {
    animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {

    0%,
    100% {
        opacity: 1;
        transform: scale(1);
    }

    50% {
        opacity: 0.6;
        transform: scale(0.95);
    }
}

.marco-dots {
    display: inline-block;
}

.marco-dots span {
    animation: blink 1.4s infinite;
    animation-fill-mode: both;
}

.marco-dots span:nth-child(2) {
    animation-delay: 0.2s;
}

.marco-dots span:nth-child(3) {
    animation-delay: 0.4s;
}

@keyframes blink {

    0%,
    80%,
    100% {
        opacity: 0;
    }

    40% {
        opacity: 1;
    }
}

/* ------------- NAV HEADER MEGA MENU -------------- */

.marco-desktop-menu {
    font-family: "Montserrat", Sans-serif;
    display: flex;
    padding: var(--space-6);
    position: absolute;
    box-shadow: var(--box-shadow-m);
    border-radius: 8px;
    top: 90% !important;
    background-color: var(--neutral-0);
    gap: var(--space-5);
    right: 50%;
    transform: translateX(50%);
}

.marco-desktop-menu::before {
    border-right: 8px solid transparent;
    border-left: 8px solid transparent;
    border-bottom: 8px solid hsl(0, 0%, 100%);
    top: -7px;
    left: calc(50% - 8px);
    content: "";
    position: absolute;
}

.marco-mobile-menu {
    font-family: "Montserrat", Sans-serif;
    height: 100%;
    transition: height .5s ease-in-out;
}

.marco-mobile-menu.hide {
    height: 0%;
}

.elementor-nav-menu--dropdown .no-active {
    cursor: pointer;
}

.elementor-nav-menu--dropdown .no-active a {
    pointer-events: none;
}

.mega-menu-chevron {
    background-color: unset !important;
    padding: 0 20px 0 10px !important;
    border: unset;
    display: flex;
    align-items: center;
    color: currentColor !important;
}

.mega-menu-chevron:focus {
    color: var(--brand-600) !important;
}

.mega-menu-chevron:hover {
    color: var(--brand-700) !important;
}

.mega-menu-chevron svg {
    height: 1em;
    width: 1em;
    fill: currentColor;
}

.elementor-nav-menu .mega-menu-group {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

a.mega-menu-btn {
    padding: var(--space-3) !important;
    gap: var(--space-4);
    border-radius: 4px;
    flex-grow: unset !important;
}

a.mega-menu-btn:hover {
    background-color: var(--neutral-100);
}

.mega-menu-icon {
    width: var(--space-6);
    height: var(--space-6);
}

.mega-menu-icon svg {
    fill: var(--neutral-600);
}

.mega-menu-name {
    font-weight: 600;
}

.mega-menu-description {
    font-size: var(--text-sm);
    font-weight: 400 !important;
    color: var(--neutral-600);
    width: 300px;
    white-space: normal;
    line-height: 130%;
    margin-top: var(--space-1);
}

/* ------------- CAROUSEL RESSOURCES PAGE ACCUEIL -------------- */

.marco-swiper-widget .elementor-swiper-button {
    transform: translateY(-50%) !important;
}

.marco-swiper-card {
    height: 100%;
    font-family: "Montserrat", Sans-serif;
    background: var(--neutral-0);
    border-radius: 16px;
    padding: var(--space-2);
    display: flex;
    flex-direction: column;
    position: relative;
}

.marco-swiper-img {
    height: 200px;
    text-align: center;
    overflow: hidden;
    border-radius: 8px !important;
}

.marco-swiper-img img {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
    object-position: center center;
}

.marco-swiper-content {
    padding: var(--space-5) var(--space-5) var(--space-4);
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.marco-swiper-tags {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    height: var(--space-6);
    margin-bottom: var(--space-2) !important;
}

.marco-swiper-icon {
    height: 28px;
}

.marco-swiper-icon>* {
    height: 100% !important;
}

.marco-swiper-category {
    background: var(--color-neutral-200);
    border-radius: 14px;
    font-size: var(--text-2xs);
    padding: 6px var(--space-3);
    color: var(--neutral-800);
    font-weight: 600;
    line-height: 150%;
}

.marco-swiper-content .marco-swiper-heading {
    font-size: var(--text-base);
    font-weight: 700;
    line-height: 150%;
    color: var(--e-global-color-text);
    margin: var(--space-2) 0 var(--space-3);
}

.marco-swiper-meta {
    color: var(--neutral-600);
    font-size: var(--text-sm);
    font-weight: 600;
    line-height: 150%;
}

.marco-swiper-card {
    border: 1px solid var(--neutral-300);
    transition: all 0.3s;
}

.marco-swiper-description {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
}

.marco-swiper-btn:hover+.marco-swiper-card {
    box-shadow: var(--box-shadow-s);
    border: 1px solid var(--brand-200);
}

.marco-swiper-btn:hover+.marco-swiper-card .marco-swiper-fakebtn {
    opacity: 1;
}

.marco-swiper-fakebtn {
    opacity: 0;
    font-weight: 600;
    color: var(--brand-600);
    transition: opacity 0.3s;
    padding: 0 var(--space-5) var(--space-5);
}

.marco-swiper-btn {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 1;
}

/* ------------- EMPAGEMENT -------------- */

@media (max-width: 1440px) {
  .elementor-element.e-con {
    --container-max-width: 90%;
  }
}