/*
Theme Name: Avada Child
Description: Child theme for Avada theme
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.0.0
Text Domain:  Avada
*/


/* 
--awb-color1: #ffffff;
--awb-color2: #e4f0f0;
--awb-color3: #e9ecef;
--awb-color4: #376768;
--awb-color5: #3d8887;
--awb-color6: #343a40;
--awb-color7: #212529;
--awb-color8: #000000;
--awb-custom_color_1: #ffd957;
--awb-custom_color_2: #f9c53e;
--awb-custom_color_3: #f2edda;
--awb-custom_color_4: #dee2e6;
--awb-custom_color_5: #ced4da;
--awb-custom_color_6: #adb5bd;
--awb-custom_color_7: #6c757d;
--awb-custom_color_8: #495057;
--awb-custom_color_9: #182d35;
*/


/*********
* Header
*********/

/* Menu burger : 3 traits en dégradé, personnalisables */
.burger-menu {
    --burger-bar-height: 3px;
    --burger-gap: 6px;
    --burger-color-start: var(--awb-custom_color_9);
    --burger-color-end: var(--awb-color5);
    position: relative;
    display: inline-block;
    height: calc(3 * var(--burger-bar-height) + 2 * var(--burger-gap));
    cursor: pointer;
}

.burger-menu::before {
    content: "" !important;
    position: absolute;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%);
    inset: 0;
    background-image:
        linear-gradient(90deg, var(--burger-color-start), var(--burger-color-end)),
        linear-gradient(90deg, var(--burger-color-start), var(--burger-color-end)),
        linear-gradient(90deg, var(--burger-color-start), var(--burger-color-end));
    background-size: 100% var(--burger-bar-height);
    background-position:
        0 0,
        0 calc(var(--burger-bar-height) + var(--burger-gap)),
        0 calc(2 * (var(--burger-bar-height) + var(--burger-gap)));
    background-repeat: no-repeat;
    width: 26px;
    height: 22px;
}

/*Recherche*/
.search-icon {
    position: relative;
    overflow: visible;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0%25' y1='0%25' x2='100%25' y2='0%25'%3E%3Cstop offset='0%25' stop-color='%23182D35'/%3E%3Cstop offset='100%25' stop-color='%233D8887'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='20' cy='20' r='18' fill='none' stroke='url(%23g)' stroke-width='2'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
    transition: all 0.3s ease;
}
.search-icon:hover {
    /* Contour uni (même couleur que --awb-color-custom-9: #182d35) */
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Ccircle cx='20' cy='20' r='18' fill='none' stroke='%23182d35' stroke-width='2'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
}

.search-icon::before {
    font-size: 1.25rem;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

/* Recherche mobile */
.search-mobile .fusion-search-field input[type="search"] {
    padding-left: 95px !important;
}
.search-mobile .fusion-search-button {
    padding-left: 25px !important;
}

/* COlonnes header responsive*/
.col-menu-xl {
    display: block !important;
}
.col-menu-xs {
    display: none !important;
}
@media screen and (max-width: 1439px) {
    .col-menu-xl {
        display: none !important;
    }
    .col-menu-xs {
        display: block !important;
    }
    .col-logo {
        order: 2 !important;
    }
}


/*********
* Menus – dégradé sur le texte avec transition (glissement du dégradé)
*********/

/* Menu principal */
.gradient-menu ul.fusion-menu > li.menu-item > a {
    /* Dégradé statique au repos (texte noir) */
    background-color: transparent;
    background-image: linear-gradient(270deg, var(--awb-color8) 0%, var(--awb-color8) 100%);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: 0 0;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    transition: background 0.3s ease;
}

.gradient-menu ul.fusion-menu > li.menu-item > a:hover,
.gradient-menu ul.fusion-menu > li.menu-item.current-menu-item > a {
    /* Dégradé coloré au hover, sans glissement */
    background-color: transparent;
    background-image: linear-gradient(270deg, var(--awb-color5) 0%, var(--awb-color8) 100%);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: 0 0;
}

.gradient-menu .awb-menu__i.awb-menu__i_main {
    padding: 0 10px !important;
}

/* Menu latéral */
.side-menu ul.fusion-menu > li.menu-item:hover .awb-menu__main-background-active,
.side-menu ul.fusion-menu > li.menu-item.current-menu-item .awb-menu__main-background-active {
    background: linear-gradient(90deg, var(--awb-custom_color_9) 0%, var(--awb-color4) 100%);
}

.side-menu .awb-menu__i.awb-menu__i_main {
    padding: 0 10px 0 0 !important;
}

/* Menu mentions légales */
#menu-mentions-legales > li {
    position: relative;
}

@media screen and (min-width: 600px) {
    #menu-mentions-legales > li:not(:last-child) {
        border-right: 2px solid var(--awb-color8);
        padding-right: 10px;
    }
}
@media screen and (max-width: 600px) {
    #menu-mentions-legales li a {
        font-size: 14px !important;
        line-height: 1.2 !important;
    }
}

#menu-mentions-legales > li:last-child::after {
    display: none;
}

@media screen and (max-width: 600px) {
    #menu-mentions-legales {
        display: flex;
        justify-content: center;
        flex-direction: column;
    }
}


/*********
*Footer
*********/

.color-wrapper {
    /* Fallbacks hex au cas où les variables Avada ne sont pas dans le scope (ex. footer) */
    background: linear-gradient(270deg, var(--awb-custom_color_2) 0%, var(--awb-custom_color_1) 25%, var(--awb-color5) 50%, var(--awb-color4) 75%, var(--awb-custom_color_9) 100%) !important;
}

.footer-credits {
    line-height: 1.2 !important;
    color: var(--awb-color8) !important;

}

.footer-credits:hover {
    color: var(--awb-color5) !important;
}

@media screen and (max-width: 600px) {
    .footer-credits {
        font-size: 14px !important;
        line-height: 1.2 !important; 
    }
}


/*********
* Typography / headings
*********/

p {
    margin-top: 0;
}

@media screen and (max-width: 767px) {
    .fusion-text p {
        font-size: 14px;
        line-height: 20px;
    }
}

/* Titre dégradé */
.gradient-title {
    background-color: var(--awb-color4);
    /* background-image: linear-gradient(200deg, var(--awb-color4) 0%, var(--awb-custom_color_1) 100%); */
    background-image: linear-gradient(90deg, var(--awb-custom_color_9) 0%, var(--awb-color5) 30%, var(--awb-color5) 40%, var(--awb-custom_color_2) 100%);
    background-size: 100%;
    -webkit-background-clip: text;
    -moz-background-clip: text;
    -webkit-text-fill-color: transparent;
    -moz-text-fill-color: transparent;
}


/*********
* Boutons
*********/

/*Bouton défaut*/
.fusion-button-default {
    position: relative;
    overflow: hidden;
    background: linear-gradient(270deg, var(--awb-custom_color_2) 0%, var(--awb-color5) 50%, var(--awb-color4) 100%) !important;
}
.fusion-button-default::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: var(--awb-custom_color_9) !important;
    opacity: 0;
    transition: opacity 0.3s ease;
}
.fusion-button-default:hover::before {
    opacity: 1;
}
/* Garde le texte au-dessus du overlay */
.fusion-button-default > * {
    position: relative;
    z-index: 1;
}


/*Bouton blog-blanc*/
.btn-blog-white {
    position: relative;
    overflow: hidden;
    border: 2px solid transparent !important;
    background: linear-gradient(var(--awb-color-1, #fff), var(--awb-color-1, #fff)) padding-box,
                linear-gradient(270deg, var(--awb-color5, #3d8887), var(--awb-color4, #376768)) border-box !important;
}
.btn-blog-white::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: var(--awb-custom_color_9, #182d35) !important;
    opacity: 0;
    transition: opacity 0.3s ease;
}
.btn-blog-white:hover::before {
    opacity: 1;
}
.btn-blog-white > * {
    position: relative;
    z-index: 1;
}

/*********
* Components
*********/

/* Hero section : image statue */
#hero-section {
    position: relative;
    --parallax-x: 0px;
}

#hero-section::before {
    content: "";
    position: absolute;
    z-index: 0;
    left: calc(-5em + var(--parallax-x, 0));
    /* bottom: -3em;
    width: 605px;
    height: 800px; */
    bottom: -3em;
    width: 575px;
    height: 720px;
    background: url("images/statue-jeanne-d-arc-orleans.webp") no-repeat;
    background-size: cover;
    /* Fade gauche → droite à l’apparition */
    opacity: 0;
    transform: translateX(-60px);
    animation: hero-statue-fade 1s ease-out 0.4s forwards;
}
@keyframes hero-statue-fade {
    from {
        opacity: 0;
        transform: translateX(-60px);
    }
    to {
        opacity: 0.5;
        transform: translateX(0);
    }
}

@media screen and (max-width: 768px) and (max-width: 1199px) {
    #hero-section::before {
        left: 50%;
        bottom: 0;
        width: 600px;
        height: 720px;
        transform: translateX(-50%);
        opacity: 0.5;
        animation: none;
    }
}

@media screen and (max-width: 767px) {
    #hero-section::before {
        left: 50%;
        bottom: 0;
        width: 430px;
        height: 540px;
        transform: translateX(-50%);
        opacity: 0.5;
        animation: none;
    }
}

/* Défilement infini bas → haut : 2 images avec 10px d’espace entre elles */
#hero-section::after {
    content: "";
    position: absolute;
    z-index: 0;
    right: 0;
    top: 0;
    /* Responsive : on réduit beaucoup la hauteur quand la largeur baisse */
    --strip-w: clamp(520px, 50vw, 945px);
    /* 1866/945 ratio hauteur d'une image */
    --strip-h: calc(var(--strip-w) * 1866 / 945);
    /* 1881/945 pas vertical (une image + espace) */
    --strip-step: calc(var(--strip-w) * 1881 / 945);
    /* hauteur totale = step + h (x2 images) */
    --strip-total-h: calc(var(--strip-step) + var(--strip-h));
    width: var(--strip-w);
    height: var(--strip-total-h);
    background-image: url("images/img-strip-full.webp"), url("images/img-strip-full.webp");
    background-position: right 0, right var(--strip-step); /* 1866 + 10 (scaled) */
    background-repeat: no-repeat, no-repeat;
    background-size: var(--strip-w) var(--strip-h), var(--strip-w) var(--strip-h);
    will-change: transform;
    animation: hero-strip-scroll 35s linear infinite !important;
}
@keyframes hero-strip-scroll {
    0% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(calc(-1 * var(--strip-step))); /* une image + l’espace (scaled) */
    }
}

@media screen and (min-width:1701px) and (max-width: 1920px) {
    #hero-section::after {
        --strip-w: clamp(520px, 45vw, 945px);
    }
}

@media screen and (min-width:1200px) and (max-width: 1700px) {
    #hero-section::after {
        --strip-w: clamp(520px, 40vw, 945px);
    }
}

@media screen and (max-width: 1199px) {
    #hero-section::after {
        display: none;
    }
}

/*FAQS*/
.fusion-faqs-wrapper .panel-group {
    gap: 15px;
    display: flex;
    flex-direction: column;
}
.fusion-faqs-wrapper .panel-default {
    border: 2px solid transparent !important;
    border-radius: 15px !important;
    background: linear-gradient(var(--awb-color-1, #fff), var(--awb-color-1, #fff)) padding-box,
                linear-gradient(90deg, var(--awb-custom_color_9, #182d35) 0%, var(--awb-color5, #3d8887) 30%, var(--awb-color5, #3d8887) 40%, var(--awb-custom_color_2, #f9c53e) 100%) border-box !important;
}
.fusion-faqs-wrapper .panel-default > .panel-heading {
    padding: 15px;
}
.fusion-faqs-wrapper .panel-default .panel-title a {
    margin: 0 !important;
    padding: 0 !important;
}
@media screen and (max-width: 767px) {
    .fusion-faqs-wrapper .panel-default .panel-title a {
        font-size: 18px !important;
        line-height: normal !important;
    }
}

.fusion-faqs-wrapper .panel-default .panel-title .fusion-toggle-heading {
    margin-right: 20px !important;
}
.fusion-faqs-wrapper .panel-default .panel-title .collapsed,
.fusion-faqs-wrapper .panel-default .panel-title .active {
    display: flex;
    align-items: center;
}
.fusion-faqs-wrapper .panel-default .panel-title .collapsed .fa-fusion-box {
    background-color: transparent !important;
    color: var(--awb-color8) !important;
}
.fusion-faqs-wrapper .panel-default .panel-body {
    padding: 0 15px 15px !important;
}
.fusion-faqs-wrapper .panel-default .panel-body p:last-child {
    margin-bottom: 0 !important;
}


/*TOTOP*/
#toTop,
#toTop.fusion-to-top-active {
    background: linear-gradient(90deg, var(--awb-custom_color_9) 0%, var(--awb-color4) 25%, var(--awb-color5) 50%, var(--awb-custom_color_1) 75%, var(--awb-custom_color_2) 100%);
}

#toTop.fusion-to-top-active {
    opacity: 1 !important;
}

/*Image paper divider*/
@media screen and (max-width: 767px) {
    .col-paper .fusion-column-wrapper::before {
        content: "";
        position: absolute;
        z-index: 0;
        left: 0;
        top: -1px;
        right: 0;
        width: 100%;
        display: block;
        aspect-ratio: 1920 / 89;
        height: 89px;
        background-position: center top;
        /* On étire pour respecter la hauteur liée au aspect-ratio */
        background-size: 100% 100%;
        background-image: url("images/divider-paper-xs-top.png");
        background-repeat: no-repeat;
    }
    .col-paper .fusion-column-wrapper::after {
        content: "";
        position: absolute;
        z-index: 0;
        left: 0;
        bottom: -1px;
        right: 0;
        width: 100%;
        display: block;
        aspect-ratio: 1920 / 89;
        height: 89px;
        background-position: center top;
        /* On étire pour respecter la hauteur liée au aspect-ratio */
        background-size: 100% 100%;
        background-image: url("images/divider-paper-xs-bottom.png");
        background-repeat: no-repeat;
    }
}


/* Fil d'Ariane */
.fusion-breadcrumbs span span:not(.breadcrumb_last) {
    text-decoration: none;
}
.fusion-breadcrumbs span span:not(.breadcrumb_last):hover {
    text-decoration: underline;
}

/*************
* Postcards module & CARDS
*************/

/* Postcards module */
@media screen and (max-width: 767px) {
    .slider-slide-xs .swiper-wrapper .swiper-slide {
        margin-right: 15px !important;
    }
}

/* Blog main cards */
.blog-card-main .blog-img {
    height: 520px;
    width: 100%;
}

.blog-card-main .blog-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media screen and (max-width: 767px) {
    .blog-card-main .blog-img {
        height: auto;
    }

    .blog-card-main .title .fusion-title-heading {
        font-size: 26px !important;
        line-height: normal !important;
    }
}

.blog-card-main .title .fusion-title-heading {
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-decoration: none;
    overflow: hidden;
}

.blog-card-main .excerpt {
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-decoration: none;
    overflow: hidden;
    margin-bottom: 20px;
}

/* Blog cards horizontal */
.blog-card-h .title .fusion-title-heading,
.blog-card-h-alt .title .fusion-title-heading,
.blog-card-slider .title .fusion-title-heading {
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-decoration: none;
    overflow: hidden;
}

.blog-card-h .col-image,
.blog-card-h-alt .col-image {
    height: 210px;
    max-height: 210px;
}

@media screen and (max-width: 767px) {
    .blog-card-h .image,
    .blog-card-h-alt .image,
    .blog-card-slider .image {
        height: auto;
    }
}

.blog-card-h .excerpt,
.blog-card-h-alt .excerpt,
.blog-card-slider .excerpt {
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    text-decoration: none;
    overflow: hidden;
    margin-bottom: 20px;
}

.blog-card-h .excerpt p,
.blog-card-h-alt .excerpt p,
.blog-card-slider .excerpt p {
    margin-bottom: 0 !important;
}

@media screen and (max-width: 767px) {
    .blog-card-h .title .fusion-title-heading,
    .blog-card-h-alt .title .fusion-title-heading,
    .blog-card-slider .title .fusion-title-heading {
        font-size: 20px !important;
        line-height: normal !important;
        font-weight: 600 !important;
    }
}

/* Postcards slider home Quoi de neuf ? */
.postcard-slider-home {
    padding: 50px 0 !important;
}

/* Décalage : à partir du 2e slide, 50px vers le bas */
.postcard-slider-home .swiper-wrapper .swiper-slide {
    transition: transform 0.35s ease;
}
.postcard-slider-home .swiper-wrapper .swiper-slide:nth-child(odd) {
    transform: translateY(0);
}
.postcard-slider-home .swiper-wrapper .swiper-slide:nth-child(even) {
    transform: translateY(50px);
}

/* Hover sur la slide elle-même uniquement : impairs → bas 50px, pairs → haut 50px */
.postcard-slider-home .swiper-wrapper .swiper-slide:nth-child(odd):hover {
    transform: translateY(-50px);
}
.postcard-slider-home .swiper-wrapper .swiper-slide:nth-child(even):hover {
    transform: translateY(0);
}

/* Flèches 70px en dehors : wrapper créé par JS, nav rebranchée via Swiper API (slidePrev/slideNext) */
.postcard-slider-arrows-outer {
    position: relative;
    overflow: visible;
}
.postcard-slider-arrows-outer .awb-swiper-button-prev,
.postcard-slider-arrows-outer .awb-swiper-button-next {
    background-color: var(--awb-color1);
    border-radius: 5px;
    width: 40px;
    height: 40px;
    top: 50%;
}
.postcard-slider-arrows-outer .awb-swiper-button-prev:hover,
.postcard-slider-arrows-outer .awb-swiper-button-next:hover {
    background-color: var(--awb-custom_color_9);
    color: var(--awb-color1);
}
.postcard-slider-arrows-outer .awb-swiper-button-prev {
    left: -70px !important;
}
.postcard-slider-arrows-outer .awb-swiper-button-next {
    right: -70px !important;
}

/* Shortcode [tags_accueil] : boutons des tags page d'accueil */
.tags-accueil {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}
@media screen and (max-width: 767px) {
    .tags-accueil {
        justify-content: center;
    }
}
.tags-accueil .tag-btn {
    position: relative;
    overflow: hidden;
    border: 2px solid transparent !important;
    background: linear-gradient(var(--awb-color-1, #fff), var(--awb-color-1, #fff)) padding-box,
                linear-gradient(270deg, var(--awb-color5, #3d8887), var(--awb-color4, #376768)) border-box !important;
    color: var(--awb-color8);
    padding: 10px 20px;
    text-decoration: none;
    display: inline-block;
    border-radius: 30px;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.2;
    transition: all 0.3s ease;
}
.tags-accueil .tag-btn:hover {
    border-color: var(--awb-custom_color_9, #182d35) !important;
}
.tags-accueil .tag-btn:hover .tag-btn-text {
    position: relative;
    z-index: 1;
    color: var(--awb-color1);
}
.tags-accueil .tag-btn::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: var(--awb-custom_color_9) !important;
    opacity: 0;
    transition: all 0.3s ease;
}
.tags-accueil .tag-btn:hover::before {
    opacity: 1;
}
@media screen and (min-width: 768px) {
    .tags-accueil-toggle {
        display: none;
    }
}

@media screen and (max-width: 767px) {
    .tags-accueil-wrap.has-mobile-toggle .tag-hidden-mobile {
        display: none !important;
    }
    .tags-accueil-wrap.has-mobile-toggle.is-expanded .tag-hidden-mobile {
        display: inline-block !important;
    }
    .tags-accueil-toggle {
        margin: 30px auto 0;
        border: 0;
        background: linear-gradient(90deg, var(--awb-color4) 0%, var(--awb-color5) 50%, var(--awb-custom_color_2) 100%);
        color: var(--awb-color1);
        font-size: 1rem;
        font-weight: 500;
        line-height: normal;
        padding: 10px 20px;
        cursor: pointer;
        display: flex;
        align-items: center;
        align-items: center;
        gap: 8px;
        border-radius: 30px;
        font-family: var(--awb-typography2-font-family);
    }
    .tags-accueil-toggle::before {
        content: "";
        width: 19px;
        height: 22px;
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' viewBox='0 0 19 19' fill='none'%3E%3Cpath d='M10.6485 -6.34289e-06H8.26098V14.3254L1.69517 7.75958L0 9.45475L9.45476 18.9095L18.9095 9.45475L17.2143 7.75958L10.6485 14.3254V-6.34289e-06Z' fill='white'/%3E%3C/svg%3E");
        transform: rotate(0deg);
        transition: transform 0.2s ease;
        flex: 0 0 auto;
    }
    .tags-accueil-wrap.has-mobile-toggle.is-expanded .tags-accueil-toggle::before {
        transform: rotate(180deg);
    }
}

/* Shortcode [posts_populaires] : grille 2x2 + cartes horizontales */
.popular-posts-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px;
}
@media (max-width: 767px) {
    .popular-posts-grid {
        gap: 15px;
    }
}

.popular-post-card {
    border-radius: 16px;
    overflow: hidden;
}
.popular-post-inner {
    display: grid;
    grid-template-columns: 350px 1fr;
    height: 100%;
    gap: 20px;
    background: var(--awb-color1);
    position: relative;
}
@media screen and (max-width: 1199px) {
    .popular-post-inner {
        grid-template-columns: 1fr;
        grid-template-columns: none;
        gap: 0;
    }
}
.popular-post-media {
    display: block;
    background: var(--awb-color1);
    text-decoration: none;
}
.popular-post-thumb {
    width: 100%;
    height: 250px;
    object-fit: cover;
    display: block;
}

@media screen and (max-width: 767px) {
    .popular-post-thumb {
        height: auto;
        aspect-ratio: 16 / 9;
        height: 112px;
    }
}

.popular-post-content {
    position: relative;
    background: var(--awb-color1);
    padding: 65px 10px 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
@media screen and (max-width: 1199px) {
    .popular-post-content {
        position: static;
        padding: 10px 10px 15px;
    }
}

/* Petit bloc "collé" en haut du contenu */
.popular-post-badge {
    position: absolute;
    top: 0;
    left: 10px;
    background: var(--awb-color1);
    border: 1px solid var(--awb-custom_color_9);
    border-top: none;
    border-radius: 0 0 15px 15px;
    padding: 15px 0 3px;
}
@media screen and (max-width: 767px) {
    .popular-post-badge {
        z-index: 2;
        top: 0;
        left: 10px;
        border: none;
        border-radius: 0 0 15px 15px;
        padding: 5px 0;
    }
}

.popular-post-icon {
    display: block;
    width: 60px;
    height: 42px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

@media screen and (max-width: 767px) {
    .popular-post-icon {
        width: 40px;
        height: 28px;
    }
}

/* SVG par catégorie */
.popular-post-badge.popular-cat--bureaux-2 .popular-post-icon,
.post-badge.popular-cat--bureaux-2 .post-icon {
    background-image: url("svg/menu-icon-bureau.svg");
}
.popular-post-badge.popular-cat--commerce-2 .popular-post-icon,
.post-badge.popular-cat--commerce-2 .post-icon {
    background-image: url("svg/menu-icon-commerce.svg");
}
.popular-post-badge.popular-cat--activites-logistique-entrepots .popular-post-icon,
.post-badge.popular-cat--activites-logistique-entrepots .post-icon {
    background-image: url("svg/menu-icon-locaux.svg");
}
.popular-post-badge.popular-cat--news .popular-post-icon,
.post-badge.popular-cat--news .post-icon {
    background-image: url("svg/menu-icon-actu.svg");
}

.popular-post-title {
    margin: 15px 0;
    font-size: 24px;
    line-height: 1.3;
    font-weight: 700;
    color: var(--awb-color8);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-decoration: none;
}

@media screen and (max-width: 767px) {
    .popular-post-title {
        margin: 0 0 15px;
        font-size: 20px;
        line-height: 1.3;
    }
}

.popular-post-excerpt {
    margin: 0;
    display: none;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.4;
}

@media (max-width: 1199px) {
    .popular-post-excerpt {
        display: -webkit-box;
    }
}

.popular-post-title-link {
    color: inherit;
    text-decoration: none;
}

.popular-post-cta {
    align-self: flex-start;

    position: relative;
    overflow: hidden;
    border: 2px solid transparent !important;
    background: linear-gradient(var(--awb-color-1, #fff), var(--awb-color-1, #fff)) padding-box,
                linear-gradient(270deg, var(--awb-color5, #3d8887), var(--awb-color4, #376768)) border-box !important;
    color: var(--awb-color8);
    padding: 5px 15px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border-radius: 30px;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.2;
}

.popular-post-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: var(--awb-custom_color_9) !important;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.popular-post-cta:hover {
    border-color: var(--awb-custom_color_9, #182d35) !important;
}

.popular-post-cta:hover::before {
    opacity: 1;
}

.popular-post-cta span {
    position: relative;
    z-index: 1;
}

.popular-post-cta:hover span {
    color: #fff;
}

.popular-post-cta span::before {
    content: "";
    width: 6px;
    height: 10px;
    flex: 0 0 auto;
    display: inline-block;
    margin-right: 10px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    /* SVG flèche (couleur via currentColor) */
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%276%27%20height%3D%2710%27%20viewBox%3D%270%200%206%2010%27%20fill%3D%27none%27%3E%3Cpath%20d%3D%27M0%208.37583L3.62583%204.75L0%201.11625L1.11625%200L5.86625%204.75L1.11625%209.5L0%208.37583Z%27%20fill%3D%27currentColor%27/%3E%3C/svg%3E");
}

.popular-post-cta:hover span::before {
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%276%27%20height%3D%2710%27%20viewBox%3D%270%200%206%2010%27%20fill%3D%27none%27%3E%3Cpath%20d%3D%27M0%208.37583L3.62583%204.75L0%201.11625L1.11625%200L5.86625%204.75L1.11625%209.5L0%208.37583Z%27%20fill%3D%27%23ffffff%27/%3E%3C/svg%3E");
}


/*************
* Shortcode [posts_slider_news]
*************/

/* Shortcode [posts_slider_news] : swiper + effet bloc décalé */
.post-slider-news-container {
    position: relative;
}
.post-slider-news {
    position: relative;
}

/* Base Swiper (au cas où Avada ne charge pas le CSS Swiper ici) */
.post-slider-news.swiper {
    display: block;
    overflow: hidden;
    touch-action: pan-y;
    padding: 50px 0;
}
@media screen and (max-width: 1199px) {
    .post-slider-news.swiper {
        padding: 0;
    }
}
.post-slider-news .swiper-wrapper {
    display: flex;
    box-sizing: content-box;
    width: 100%;
}
.post-slider-news .swiper-slide {
    flex: 0 0 auto;
    height: auto;
    display: flex;
    flex-direction: column;
}
.post-slider-news.swiper-initialized {
    cursor: grab;
}
.post-slider-news.swiper-initialized:active {
    cursor: grabbing;
}

.post-slider-news .swiper-wrapper {
    align-items: stretch;
}

/* 1 post sur 2 décalé vers le bas */
.post-slider-news .swiper-wrapper .swiper-slide:nth-child(odd) {
    transform: translateY(0);
    transition: transform 0.35s ease;
}
.post-slider-news .swiper-wrapper .swiper-slide:nth-child(even) {
    transform: translateY(50px);
    transition: transform 0.35s ease;
}
.post-slider-news .swiper-wrapper .swiper-slide:nth-child(odd):hover {
    transform: translateY(-50px);
}
.post-slider-news .swiper-wrapper .swiper-slide:nth-child(even):hover {
    transform: translateY(0);
}

@media screen and (max-width: 1199px) {
    .post-slider-news .swiper-wrapper .swiper-slide:nth-child(odd),
    .post-slider-news .swiper-wrapper .swiper-slide:nth-child(even) {
        transform: translateY(0) !important;
        transition: none;
    }
}

.post-slider-news .post-card {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    width: 100%;
}

.post-slider-news .post-inner {
    background: var(--awb-color1);
    border-radius: 15px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

.post-slider-news .post-media {
    flex-shrink: 0;
}
.post-slider-news .post-thumb {
    height: 225px;
    width: 100%;
    aspect-ratio: 16/9;
}
.post-slider-news .post-content {
    padding: 20px 15px;
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}
.post-slider-news .post-title a {
    margin: 0 0 15px;
    font-size: 24px;
    line-height: normal;
    font-weight: 600;
    color: var(--awb-color8);
    font-family: var(--awb-typography1-font-family);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-decoration: none;
    /* height: 65px; */
}
.post-slider-news .post-badge {
    position: absolute;
    top: 0;
    left: 10px;
    background: var(--awb-color1);
    border: none;
    border-radius: 0 0 15px 15px;
    padding: 15px 0 3px;
}
@media screen and (max-width: 1199px) {
    .popular-post-badge {
        z-index: 2;
        top: 0;
        left: 10px;
        border: none;
        border-radius: 0 0 15px 15px;
        padding: 5px 0;
    }
}

.post-slider-news .post-icon {
    display: block;
    width: 60px;
    height: 42px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.post-slider-news .post-excerpt {
    margin: 0 0 15px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.post-slider-news .post-cta {
    align-self: flex-start;
    margin-top: auto;

    position: relative;
    overflow: hidden;
    border: 2px solid transparent !important;
    background: linear-gradient(var(--awb-color-1, #fff), var(--awb-color-1, #fff)) padding-box,
                linear-gradient(270deg, var(--awb-color5, #3d8887), var(--awb-color4, #376768)) border-box !important;
    color: var(--awb-color8);
    padding: 5px 15px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border-radius: 30px;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.2;
}

.post-slider-news .post-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: var(--awb-custom_color_9) !important;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.post-slider-news .post-cta:hover {
    border-color: var(--awb-custom_color_9, #182d35) !important;
}

.post-slider-news .post-cta:hover::before {
    opacity: 1;
}

.post-slider-news .post-cta span {
    position: relative;
    z-index: 1;
}

.post-slider-news .post-cta:hover span {
    color: #fff;
}

.post-slider-news .post-cta span::before {
    content: "";
    width: 6px;
    height: 10px;
    flex: 0 0 auto;
    display: inline-block;
    margin-right: 10px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    /* SVG flèche (couleur via currentColor) */
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%276%27%20height%3D%2710%27%20viewBox%3D%270%200%206%2010%27%20fill%3D%27none%27%3E%3Cpath%20d%3D%27M0%208.37583L3.62583%204.75L0%201.11625L1.11625%200L5.86625%204.75L1.11625%209.5L0%208.37583Z%27%20fill%3D%27currentColor%27/%3E%3C/svg%3E");
}

.post-slider-news .post-cta:hover span::before {
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%276%27%20height%3D%2710%27%20viewBox%3D%270%200%206%2010%27%20fill%3D%27none%27%3E%3Cpath%20d%3D%27M0%208.37583L3.62583%204.75L0%201.11625L1.11625%200L5.86625%204.75L1.11625%209.5L0%208.37583Z%27%20fill%3D%27%23ffffff%27/%3E%3C/svg%3E");
}

/* Navigation + scrollbar visibles même sans CSS Swiper global */
.post-slider-news-next,
.post-slider-news-prev {
    width: 40px !important;
    height: 40px !important;
    border-radius: 5px;
    background: var(--awb-color1);
    position: absolute !important;
    top: 50%;
    transform: translateY(-50%);
    z-index: 30;
    pointer-events: auto;
    cursor: pointer;
    transition: opacity 0.3s ease;
}

.post-slider-news-next {
    right: -70px !important;
}
.post-slider-news-prev {
    left: -70px !important;
}

.post-slider-news-next::after,
.post-slider-news-prev::after {
    content: "" !important;
    width: 24px;
    height: 17px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%2724%27%20height%3D%2717%27%20viewBox%3D%270%200%2024%2017%27%20fill%3D%27none%27%3E%3Cpath%20d%3D%27M24%207.42677V9.57323H4.22364L10.2731%2015.476L8.71126%2017L0%208.5L8.71126%200L10.2731%201.52399L4.22364%207.42677H24Z%27%20fill%3D%27black%27/%3E%3C/svg%3E");
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.post-slider-news-next::after {
    transform: translate(-50%, -50%) rotate(180deg);
}

.post-slider-news-next:hover,
.post-slider-news-prev:hover {
    opacity: 0.5;
}

@media screen and (max-width: 1700px) {
    .post-slider-news-next,
    .post-slider-news-prev {
        display: none;
    }
}

.swiper-navigation-icon { display:none; }

.post-slider-news-pagination {
    position: relative;
    margin-top: 20px;
}

@media screen and (min-width: 1700px) {
    .post-slider-news-scrollbar {
        display: none;
    }
}
.post-slider-news-scrollbar {
    position: relative !important;
    margin-top: 16px;
    height: 3px !important;
    background: var(--awb-custom_color_4) !important;
    border-radius: 0 !important;
    margin-top: 30px !important;
}
.post-slider-news-scrollbar .swiper-scrollbar-drag {
    background: linear-gradient(90deg, var(--awb-custom_color_9) 0%, var(--awb-color4) 25%, var(--awb-color5) 50%, var(--awb-custom_color_1) 75%, var(--awb-custom_color_2) 100%);
    height: 8px !important;
    top: -3px;
    border-radius: 0;
    width: 60px !important;
}



/*****************
* DARK MODE
*****************/
