/* ==== styles.css ==== */
#gx-accueil-cms{
    --navy-dark: #0a1628;
    --navy-primary: #1a2942;
    --navy-medium: #2a3f5f;
    --navy-light: #3d5a80;
    --accent-gold: #d4af37;
    --accent-yellow: #ffd700;
    --white: #ffffff;
    --gray-light: #f8f9fa;
    --gray-medium: #e9ecef;
    --overlay-dark: rgba(10, 22, 40, 0.7);
    --overlay-medium: rgba(10, 22, 40, 0.5);

    
    --bosse-border: #e0e0e0;
    --bosse-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
    --bosse-bg: #ffffff;
    --bosse-accent: #d32f2f;
    --bosse-radius: 16px;
}
#gx-accueil-cms .design-bosse-section{
    padding: 80px 0;
    width: 100%;
}
#gx-accueil-cms .design-bosse-block{
    background: var(--bosse-bg);
    border: 1px solid var(--bosse-border);
    box-shadow: var(--bosse-shadow);
    border-radius: var(--bosse-radius);
    padding: 30px;
    margin-bottom: 40px;
}
#gx-accueil-cms .design-bosse-title{
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    font-size: 32px;
    font-weight: 900;
    color: var(--navy-dark);
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 30px;
    width: 100%;
}
#gx-accueil-cms .design-bosse-controls{
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-top: 20px;
}
#gx-accueil-cms .design-bosse-label{
    font-size: 14px;
    font-weight: 700;
    color: #888;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 8px;
}
#gx-accueil-cms .design-bosse-more-btn{
    background: var(--bosse-accent);
    color: #fff;
    padding: 10px 25px;
    border-radius: 50px;
    font-weight: 700;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: all 0.3s ease;
}
#gx-accueil-cms .design-bosse-more-btn:hover{
    background: var(--navy-dark);
    transform: translateY(-2px);
}
#gx-accueil-cms *{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}/* §7 — jamais sur <body> : le gabarit peut etre insere dans une page
   qui ne lui appartient pas. Les memes reglages, portes par le wrapper. */
#gx-accueil-cms .gx-tpl{
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color: #333333;
    overflow-x: hidden !important;
    
    background-color: #ffffff;
    width: 100%;
    margin: 0;
    padding: 0;
    position: relative;
    max-width: 100vw;
}
#gx-accueil-cms{
    overflow-x: hidden !important;
    width: 100%;
}
#gx-accueil-cms *{
    max-width: 100vw;
}
#gx-accueil-cms .main-content{
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden;
    position: relative;
}
#gx-accueil-cms .header-top{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 40px;
    background-color: var(--navy-primary);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.5px;
    transition: background-color 0.3s ease;
}
#gx-accueil-cms .header-contact a{
    color: var(--white);
    text-decoration: none;
    transition: color 0.3s ease;
}
#gx-accueil-cms .header-contact a:hover{
    color: var(--accent-gold);
}
#gx-accueil-cms .header-promo{
    color: var(--accent-yellow);
    font-weight: 600;
}
#gx-accueil-cms .header-nav{
    background-color: var(--navy-dark);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    transition: background-color 0.3s ease;
    position: relative;
}
#gx-accueil-cms .nav-container{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 40px;
    max-width: 1920px;
    margin: 0 auto;
}
#gx-accueil-cms .nav-left{
    display: flex;
    align-items: center;
    gap: 24px;
}
#gx-accueil-cms .menu-toggle{
    background: none;
    border: none;
    cursor: pointer;
    display: none;
    flex-direction: column;
    gap: 6px;
    padding: 10px;
    z-index: 1001;
}
#gx-accueil-cms .menu-toggle span{
    width: 28px;
    height: 3px;
    background-color: var(--white);
    transition: all 0.3s ease;
    border-radius: 2px;
}
#gx-accueil-cms .menu-toggle:hover span{
    background-color: var(--accent-gold);
}
#gx-accueil-cms .menu-toggle.active span:nth-child(1){
    transform: rotate(45deg) translate(8px, 8px);
}
#gx-accueil-cms .menu-toggle.active span:nth-child(2){
    opacity: 0;
}
#gx-accueil-cms .menu-toggle.active span:nth-child(3){
    transform: rotate(-45deg) translate(8px, -8px);
}
#gx-accueil-cms .logo{
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    color: var(--white);
}
#gx-accueil-cms .logo-map-icon{
    width: 50px !important;
    height: 50px !important;
    object-fit: contain;
}
#gx-accueil-cms .logo img:not(.logo-map-icon){
    width: auto;
    height: auto;
    max-height: 96px;
    max-width: 280px;
    object-fit: contain;
    display: block;
    filter: drop-shadow(0 2px 6px rgba(0,0,0,0.35));
}
#gx-accueil-cms .logo-text{
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}
#gx-accueil-cms .logo-go{
    font-size: 24px;
    font-weight: 800;
    color: var(--accent-gold);
}
#gx-accueil-cms .logo-exploria{
    font-size: 24px;
    font-weight: 800;
    color: var(--white);
}
#gx-accueil-cms .logo-location{
    font-size: 10px;
    font-weight: 500;
    color: var(--white);
    letter-spacing: 1px;
}
#gx-accueil-cms .nav-center{
    flex: 1;
    display: flex;
    justify-content: center;
    position: relative;
}
#gx-accueil-cms .nav-menu{
    display: flex;
    list-style: none;
    gap: 32px;
    margin: 0;
    padding: 0;
}
#gx-accueil-cms .nav-menu li a{
    color: var(--white);
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.5px;
    transition: color 0.3s ease;
    position: relative;
}
#gx-accueil-cms .nav-menu li a:hover{
    color: var(--accent-gold);
}
#gx-accueil-cms .nav-video-channel-link{ display: none; }
#gx-accueil-cms .nav-account-icon{
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: auto;
    height: 36px;
    padding: 0 6px;
    transition: all 0.25s ease !important;
    font-size: 13px !important;
    font-weight: 600;
    letter-spacing: 0.5px;
}
#gx-accueil-cms .nav-account-icon:hover{
    background: rgba(212,175,55,0.2) !important;
    border-color: #d4af37 !important;
    color: #d4af37 !important;
    transform: scale(1.08);
}
#gx-accueil-cms .nav-right{
    display: flex;
    align-items: center;
    gap: 20px;
}
#gx-accueil-cms .nav-icon{
    color: var(--white);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
}
#gx-accueil-cms .nav-icon:hover{
    color: var(--accent-gold);
    background-color: rgba(255, 255, 255, 0.05);
}
#gx-accueil-cms .nav-devis-btn{
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 40px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid rgba(212, 175, 55, 0.5);
    background: linear-gradient(135deg, #d4af37, #f4c96a);
    color: #1a2942;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
    transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}
#gx-accueil-cms .nav-devis-btn i{
    font-size: 14px;
}
#gx-accueil-cms .nav-devis-btn:hover{
    color: #1a2942;
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(212, 175, 55, 0.35);
    opacity: 0.95;
}
#gx-accueil-cms .nav-devis-btn::before{
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
    animation: devis-btn-ripple 2s ease-in-out infinite;
    pointer-events: none;
}

@keyframes devis-btn-ripple {
    0% {
        left: -100%;
    }
    100% {
        left: 100%;
    }
}

@media (max-width: 1200px) {
#gx-accueil-cms .nav-devis-btn{
        width: 40px;
        min-width: 40px;
        padding: 0;
        border-radius: 50%;
    }
#gx-accueil-cms .nav-devis-btn span{
        display: none;
    }
}

@media (max-width: 768px) {
#gx-accueil-cms .nav-devis-btn{
        width: 36px;
        min-width: 36px;
        height: 36px;
    }
}
#gx-accueil-cms .mobile-search-trigger{
    display: none;
}
#gx-accueil-cms .main-content{
    position: relative;
    min-height: 100vh;
}
#gx-accueil-cms .video-carousel-background{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    overflow: hidden;
    border-radius: 0;
}
#gx-accueil-cms .video-carousel-container{
    position: relative;
    width: 100%;
    height: 100%;
}
#gx-accueil-cms .video-slide{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 1.5s ease-in-out;
    overflow: hidden;
    background: #000;
}
#gx-accueil-cms .video-slide.active{
    opacity: 1;
}
#gx-accueil-cms .video-background{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
}
#gx-accueil-cms iframe.video-background{
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
    border: none;
    pointer-events: none;
    will-change: width, height, transform;
}
#gx-accueil-cms .carousel-controls{
    position: absolute;
    bottom: 200px;
    left: 50%;
    transform: translateX(-50%);
    display: none;
    gap: 12px;
    z-index: 10;
}
#gx-accueil-cms .carousel-dot{
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid var(--white);
    background-color: transparent;
    cursor: pointer;
    transition: all 0.3s ease;
}
#gx-accueil-cms .carousel-dot:hover{
    background-color: var(--accent-gold);
    border-color: var(--accent-gold);
}
#gx-accueil-cms .carousel-dot.active{
    background-color: var(--white);
    transform: scale(1.2);
}
#gx-accueil-cms .hero-sound-toggle{
    position: absolute;
    left: 24px;
    bottom: 250px;
    z-index: 20;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: rgba(101, 113, 132, 0.55);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1.5px solid rgba(255, 255, 255, 0.25);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.25s ease;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}
#gx-accueil-cms .hero-sound-toggle:hover{
    background: rgba(212, 175, 55, 0.25);
    border-color: #d4af37;
    color: #d4af37;
    transform: scale(1.08);
}
#gx-accueil-cms .hero-sound-toggle.is-unmuted{
    background: rgba(212, 175, 55, 0.25);
    border-color: #d4af37;
    color: #d4af37;
}

@media (max-width: 768px) {
#gx-accueil-cms .hero-sound-toggle{
        left: 16px;
        bottom: 120px;
        width: 44px;
        height: 44px;
    }
}
#gx-accueil-cms .video-carousel-background,#gx-accueil-cms .video-carousel-container{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}
#gx-accueil-cms .hero-video-overlay{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.6));
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    pointer-events: none;
}
#gx-accueil-cms .hero-video-info{
    text-align: center;
    max-width: 800px;
    padding: 0 40px;
    pointer-events: auto;
}
#gx-accueil-cms .hero-video-main-title{
    font-size: 56px;
    font-weight: 800;
    color: var(--white);
    text-shadow: 0 4px 20px rgba(0, 0, 0, 0.8);
    margin-bottom: 20px;
    line-height: 1.2;
    letter-spacing: -1px;
}
#gx-accueil-cms .hero-video-description{
    font-size: 20px;
    font-weight: 400;
    color: var(--white);
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.8);
    margin-bottom: 30px;
    line-height: 1.5;
}
#gx-accueil-cms .hero-video-main-button{
    display: inline-block;
    background: var(--accent-gold);
    color: var(--navy-dark);
    padding: 16px 40px;
    border-radius: 8px;
    font-size: 18px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 20px rgba(212, 175, 55, 0.4);
    text-transform: uppercase;
    letter-spacing: 1px;
}
#gx-accueil-cms .hero-video-main-button:hover{
    background: #ffd700;
    transform: translateY(-3px);
    box-shadow: 0 6px 30px rgba(212, 175, 55, 0.6);
}
#gx-accueil-cms .hero-video-cards-overlay{
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    width: auto;
    max-width: 95%;
    background: transparent;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
}
#gx-accueil-cms .hero-video-cards{
    display: flex;
    gap: 20px;
    justify-content: flex-start;
    align-items: center;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0;
    position: relative;
    width: auto;
    max-width: 100%;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
#gx-accueil-cms .hero-video-cards::-webkit-scrollbar{
    display: none;
}
#gx-accueil-cms .carousel-nav-btn{
    position: relative;
    width: 45px;
    height: 70px;
    background: rgba(10, 22, 40, 0.85);
    border: 2px solid var(--accent-gold);
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 20;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
    flex-shrink: 0;
}
#gx-accueil-cms .carousel-nav-btn:hover{
    background: rgba(10, 22, 40, 0.95);
    border-color: #ffd700;
    transform: scale(1.05);
}
#gx-accueil-cms .carousel-nav-btn.prev{
    order: -1;
}
#gx-accueil-cms .carousel-nav-btn.next{
    order: 1;
}
#gx-accueil-cms .carousel-nav-btn svg{
    width: 28px;
    height: 28px;
    fill: none;
    stroke: var(--accent-gold);
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
}
#gx-accueil-cms .hero-video-card{
    position: relative;
    width: 210px;
    min-width: 210px;
    height: 140px;
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.4s ease;
    border: 3px solid transparent;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.5);
    flex-shrink: 0;
    display: block;
}
#gx-accueil-cms .hero-video-card:hover{
    transform: scale(1.05);
    border-color: var(--accent-gold);
}
#gx-accueil-cms .hero-video-card.active{
    border-color: var(--accent-gold);
    border-width: 4px;
}
#gx-accueil-cms .hero-video-card-thumbnail{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#gx-accueil-cms .hero-video-card-overlay{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.7));
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.3s ease;
}
#gx-accueil-cms .hero-video-card:hover .hero-video-card-overlay{
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.5));
}
#gx-accueil-cms .hero-video-card-play{
    width: 50px;
    height: 50px;
    background: rgba(212, 175, 55, 0.9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}
#gx-accueil-cms .hero-video-card:hover .hero-video-card-play{
    background: var(--accent-gold);
    transform: scale(1.1);
}
#gx-accueil-cms .hero-video-card-play svg{
    width: 20px;
    height: 20px;
    fill: var(--navy-dark);
    margin-left: 3px;
}
#gx-accueil-cms .hero-video-card-title{
    position: absolute;
    bottom: 10px;
    left: 12px;
    right: 12px;
    color: var(--white);
    font-size: 13px;
    font-weight: 700;
    text-align: center;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.9);
    line-height: 1.3;
}
#gx-accueil-cms .hero-mobile-header{
    display: none;
}
#gx-accueil-cms .hero-content{
    text-align: center;
    max-width: 1200px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 50px;
    position: relative;
    z-index: 5;
    padding-top: 50px;
}
#gx-accueil-cms .hero-text{
    animation: fadeInUp 1s ease-out;
}
#gx-accueil-cms .hero-title{
    display: flex;
    flex-direction: column;
    gap: 8px;
}
#gx-accueil-cms .hero-subtitle{
    font-size: 48px;
    font-weight: 300;
    letter-spacing: 8px;
    color: var(--white);
    opacity: 0.9;
}
#gx-accueil-cms .hero-main{
    font-size: 72px;
    font-weight: 900;
    letter-spacing: 4px;
    color: var(--white);
    text-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
}
#gx-accueil-cms .hero-search{
    width: 100%;
    max-width: 900px;
    animation: fadeInUp 1s ease-out 0.3s backwards;
}
#gx-accueil-cms .search-container{
    background-color: rgba(255, 255, 255, 0.95);
    border-radius: 8px;
    padding: 8px;
    display: flex;
    align-items: center;
    gap: 16px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
    border: 3px solid var(--accent-gold);
}
#gx-accueil-cms .search-wrapper{
    flex: 1;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 0 16px;
}
#gx-accueil-cms .search-icon{
    color: var(--navy-primary);
    flex-shrink: 0;
}
#gx-accueil-cms .search-input{
    flex: 1;
    border: none;
    outline: none;
    font-size: 16px;
    font-weight: 500;
    color: var(--navy-dark);
    background: transparent;
    padding: 16px 0;
}
#gx-accueil-cms .search-input::placeholder{
    color: var(--navy-light);
}
#gx-accueil-cms .search-brand{
    padding: 8px 24px;
    border-left: 2px solid var(--gray-medium);
}
#gx-accueil-cms .plan-n-go-logo{
    height: 40px;
    width: auto;
    object-fit: contain;
}
#gx-accueil-cms .hero-scroll-btn{
    background: none;
    border: 2px solid var(--white);
    color: var(--white);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    animation: bounce 2s infinite;
}
#gx-accueil-cms .hero-scroll-btn:hover{
    background-color: var(--accent-gold);
    border-color: var(--accent-gold);
    transform: translateY(4px);
}



@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes bounce {

    0%,
    20%,
    50%,
    80%,
    100% {
        transform: translateY(0);
    }

    40% {
        transform: translateY(-10px);
    }

    60% {
        transform: translateY(-5px);
    }
}




@media (min-width: 1920px) {
#gx-accueil-cms .nav-container{
        padding: 20px 80px;
    }
#gx-accueil-cms .hero-main{
        font-size: 84px;
    }
}


@media (max-width: 1440px) {
#gx-accueil-cms .nav-container{
        padding: 16px 30px;
    }
#gx-accueil-cms .header-top{
        padding: 8px 30px;
    }
}


@media (max-width: 1200px) {
#gx-accueil-cms .nav-menu{
        gap: 20px;
    }
#gx-accueil-cms .nav-menu li a{
        font-size: 12px;
    }
#gx-accueil-cms .hero-main{
        font-size: 64px;
    }
}


@media (max-width: 992px) {
#gx-accueil-cms .header-top{
        padding: 8px 20px;
        font-size: 11px;
    }
#gx-accueil-cms .nav-container{
        padding: 12px 20px;
    }
#gx-accueil-cms .nav-center{
        position: fixed;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100vh;
        background-color: var(--navy-dark);
        display: flex;
        align-items: center;
        justify-content: center;
        transition: left 0.3s ease;
        z-index: 10070;
    }
#gx-accueil-cms .nav-center.active{
        left: 0;
    }
#gx-accueil-cms .nav-menu{
        flex-direction: column;
        gap: 30px;
        text-align: center;
    }
#gx-accueil-cms .nav-menu li a{
        font-size: 20px;
    }
#gx-accueil-cms .menu-toggle{
        display: flex;
    }
#gx-accueil-cms .logo img{
        width: 60px;
        height: 60px;
    }
#gx-accueil-cms .hero-main{
        font-size: 56px;
        letter-spacing: 3px;
    }
#gx-accueil-cms .search-container{
        max-width: 700px;
    }
#gx-accueil-cms .main-content{
        margin-top: 0;
    }
}@media (max-width: 1024px){
#gx-accueil-cms .design-bosse-section{
        padding: 40px 0;
    }
#gx-accueil-cms .main-content{
        margin-top: 70px;
    }
}@media (max-width: 768px){
#gx-accueil-cms .header-top{
        padding: 6px 15px;
        font-size: 10px;
        background-color: rgba(26, 41, 66, 0.8);
    }
#gx-accueil-cms .header-nav{
        background-color: rgba(26, 41, 66, 0.6);
    }
#gx-accueil-cms .header-contact a{
        font-size: 10px;
    }
#gx-accueil-cms .header-promo{
        font-size: 10px;
    }
#gx-accueil-cms .nav-container{
        padding: 10px 15px;
    }
#gx-accueil-cms .nav-left{
        gap: 12px;
    }
#gx-accueil-cms .logo{
        display: none;
    }
#gx-accueil-cms .nav-right{
        gap: 10px;
    }
#gx-accueil-cms .nav-icon{
        width: 38px;
        height: 38px;
    }
#gx-accueil-cms .hero-mobile-header{
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        z-index: 20;
        padding: 15px 20px;
    }
#gx-accueil-cms .hero-mobile-email{
        text-align: center;
        margin-bottom: 10px;
    }
#gx-accueil-cms .hero-mobile-email a{
        color: #d4af37;
        font-size: 11px;
        font-weight: 600;
        text-decoration: none;
        letter-spacing: 0.5px;
    }
#gx-accueil-cms .hero-mobile-logo-container{
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 12px;
    }
#gx-accueil-cms .hero-mobile-map{
        width: 35px;
        height: 35px;
        object-fit: contain;
    }
#gx-accueil-cms .hero-mobile-logo{
        text-decoration: none;
        display: flex;
        align-items: center;
        gap: 10px;
    }
#gx-accueil-cms .hero-mobile-logo-img{
        width: 120px;
        height: 80;
        object-fit: contain;
    }
#gx-accueil-cms .hero-mobile-logo .logo-text{
        text-align: left;
    }
#gx-accueil-cms .hero-mobile-logo .logo-exploria{
        font-size: 18px;
        font-weight: 800;
        color: var(--white);
    }
#gx-accueil-cms .hero-mobile-logo .logo-location{
        font-size: 8px;
        font-weight: 500;
        color: var(--white);
        letter-spacing: 1px;
    }
#gx-accueil-cms .hero-video-cards-overlay{
        bottom: 40px;
        width: auto;
        max-width: 95%;
        padding: 0;
        gap: 10px;
    }
#gx-accueil-cms .hero-video-card{
        width: 180px;
        min-width: 180px;
        height: 140px;
    }
#gx-accueil-cms .hero-video-card-title{
        font-size: 11px;
    }
#gx-accueil-cms .hero-video-main-title{
        font-size: 36px;
    }
#gx-accueil-cms .hero-video-description{
        font-size: 16px;
        margin-bottom: 20px;
    }
#gx-accueil-cms .hero-video-main-button{
        font-size: 14px;
        padding: 12px 30px;
    }
#gx-accueil-cms .carousel-nav-btn{
        width: 35px;
        height: 60px;
    }
#gx-accueil-cms .carousel-nav-btn svg{
        width: 22px;
        height: 22px;
    }
#gx-accueil-cms .video-carousel-background{
        top: 15px;
        left: 0;
        right: 0;
        width: 100%;
        height: calc(100% - 195px);
        border-radius: 0;
    }
#gx-accueil-cms .hero-content{
        margin-top: 40px;
        padding-top: 40px;
        padding-left: 0;
        padding-right: 0;
        gap: 35px;
        max-width: 100%;
    }
#gx-accueil-cms .hero-main{
        font-size: 48px;
        letter-spacing: 2px;
    }
#gx-accueil-cms .search-container{
        flex-direction: column;
        gap: 0;
        padding: 6px;
        max-width: 100%;
        width: 100%;
        margin: 0;
    }
#gx-accueil-cms .search-wrapper{
        padding: 14px 18px;
        width: 100%;
    }
#gx-accueil-cms .search-input{
        font-size: 15px;
        padding: 12px 0;
    }
#gx-accueil-cms .search-brand{
        border-left: none;
        border-top: 2px solid var(--gray-medium);
        padding: 14px 18px;
        width: 100%;
        display: flex;
        justify-content: center;
    }
#gx-accueil-cms .plan-n-go-logo{
        height: 38px;
    }
#gx-accueil-cms .carousel-controls{
        bottom: 25px;
    }
#gx-accueil-cms .carousel-dot{
        width: 11px;
        height: 11px;
    }
#gx-accueil-cms .hero-video-footer{
        padding: 20px 15px;
        background: #ffffff;
    }
#gx-accueil-cms .hero-video-cards{
        flex-direction: row;
        gap: 10px;
        overflow-x: auto;
        justify-content: flex-start;
        flex-wrap: nowrap;
        padding-bottom: 10px;
    }
#gx-accueil-cms .hero-video-card{
        width: 180px;
        min-width: 180px;
        height: 110px;
        flex-shrink: 0;
    }
#gx-accueil-cms .hero-video-card-title{
        font-size: 11px;
        bottom: 8px;
        left: 8px;
        right: 8px;
    }
#gx-accueil-cms .main-content{
        margin-top: 75px;
    }
}


@media (max-width: 600px) {
#gx-accueil-cms .hero-main{
        font-size: 42px;
        letter-spacing: 1px;
    }
#gx-accueil-cms .search-input{
        font-size: 14px;
    }
#gx-accueil-cms .search-input::placeholder{
        font-size: 13px;
    }
}@media (max-width: 480px){
#gx-accueil-cms .header-top{
        padding: 5px 12px;
        font-size: 9px;
    }
#gx-accueil-cms .header-contact a{
        font-size: 9px;
        letter-spacing: 0;
    }
#gx-accueil-cms .header-promo{
        font-size: 9px;
    }
#gx-accueil-cms .nav-container{
        padding: 8px 12px;
    }
#gx-accueil-cms .nav-left{
        gap: 10px;
    }
#gx-accueil-cms .logo img{
        width: 50px;
        height: 50px;
    }
#gx-accueil-cms .nav-right{
        gap: 6px;
    }
#gx-accueil-cms .nav-icon{
        width: 34px;
        height: 34px;
    }
#gx-accueil-cms .nav-icon svg{
        width: 20px;
        height: 20px;
    }
#gx-accueil-cms .design-bosse-section{
        padding: 10px 0;
    }
#gx-accueil-cms .design-bosse-block{
        margin-bottom: 10px;
    }
#gx-accueil-cms .video-carousel-background,#gx-accueil-cms .video-carousel-container{
        height: 100% !important;
        min-height: 100% !important;
    }
#gx-accueil-cms .slideshows-v2-section{
        margin-top: 40px !important;
        padding-top: 0 !important;
        background-color: transparent !important;
    }
#gx-accueil-cms .hero-content{
        padding-top: 15px;
        gap: 12px;
        flex-grow: 0;
        justify-content: flex-start;
    }
#gx-accueil-cms .hero-video-cards-overlay{
        position: relative;
        bottom: 40px;
        transform: none;
        left: 0;
        width: 100%;
        margin-top: 40px;
    }
#gx-accueil-cms .hero-main{
        font-size: 38px;
        letter-spacing: 0;
    }
#gx-accueil-cms .search-container{
        padding: 5px;
        border-width: 2px;
        width: 100%;
        margin: 0;
    }
#gx-accueil-cms .search-wrapper{
        padding: 12px 14px;
    }
#gx-accueil-cms .search-icon{
        width: 20px;
        height: 20px;
    }
#gx-accueil-cms .search-input{
        font-size: 13px;
        padding: 10px 0;
    }
#gx-accueil-cms .search-brand{
        padding: 10px 12px;
    }
#gx-accueil-cms .plan-n-go-logo{
        height: 30px;
    }
#gx-accueil-cms .hero-mobile-logo-img{
        width: 180px !important;
        max-height: 80px !important;
        object-fit: contain;
    }
#gx-accueil-cms .hero-mobile-map{
        width: 75px !important;
        height: 75px !important;
        object-fit: contain;
    }
#gx-accueil-cms .hero-mobile-logo-container{
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 20px;
        margin-bottom: 20px;
    }
#gx-accueil-cms .carousel-controls{
        bottom: 20px;
    }
#gx-accueil-cms .carousel-dot{
        width: 8px;
        height: 8px;
        border-width: 1.5px;
    }
#gx-accueil-cms .main-content>*:first-child+*{
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
#gx-accueil-cms .hero-mobile-header{
        display: flex !important;
        flex-direction: column;
        align-items: center;
        background-color: transparent !important;
        width: 100%;
        padding: 5px 0;
        margin-top: 15px !important;
        z-index: 1 !important;
        gap: 5px;
    }
#gx-accueil-cms .main-content{
        margin-top: 58px;
        background-color: #0a1628 !important;
    }
#gx-accueil-cms .hero-mobile-email{
        text-align: center;
        width: 100%;
        margin-bottom: 5px;
    }
#gx-accueil-cms .hero-mobile-email a{
        color: #ffffff !important;
        text-decoration: none;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 1px;
        text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
    }
#gx-accueil-cms .mobile-search-trigger{
        display: flex;
    }
#gx-accueil-cms .hero-video-cards-overlay{
        display: flex !important;
        position: absolute !important;
        bottom: 20px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: 100% !important;
        z-index: 100 !important;
        margin-top: 0 !important;
    }
}


@media (max-width: 375px) {
#gx-accueil-cms .header-top{
        padding: 4px 10px;
        font-size: 8px;
    }
#gx-accueil-cms .header-contact a{
        display: none;
    }
#gx-accueil-cms .header-promo{
        font-size: 8px;
        margin: 0 auto;
    }
#gx-accueil-cms .nav-container{
        padding: 8px 10px;
    }
#gx-accueil-cms .logo img{
        width: 45px;
        height: 45px;
    }
#gx-accueil-cms .nav-right{
        gap: 4px;
    }
#gx-accueil-cms .nav-icon{
        width: 32px;
        height: 32px;
    }
#gx-accueil-cms .hero-main{
        font-size: 32px;
    }
#gx-accueil-cms .search-input{
        font-size: 12px;
    }
#gx-accueil-cms .search-input::placeholder{
        font-size: 11px;
    }
#gx-accueil-cms .plan-n-go-logo{
        height: 25px;
    }
}@media (max-height: 500px) and (orientation: landscape){
#gx-accueil-cms .header-top{
        display: none;
    }
#gx-accueil-cms .nav-container{
        padding: 8px 20px;
    }
#gx-accueil-cms .hero-content{
        gap: 20px;
    }
#gx-accueil-cms .hero-main{
        font-size: 32px;
    }
#gx-accueil-cms .search-container{
        max-width: 600px;
    }
#gx-accueil-cms .hero-scroll-btn{
        display: none;
    }
#gx-accueil-cms .carousel-controls{
        bottom: 15px;
    }
#gx-accueil-cms .main-content{
        margin-top: 60px;
    }
}


@media (max-width: 320px) {
#gx-accueil-cms .hero-main{
        font-size: 28px;
    }
#gx-accueil-cms .search-wrapper{
        flex-direction: column;
        gap: 8px;
        align-items: flex-start;
    }
#gx-accueil-cms .search-icon{
        width: 18px;
        height: 18px;
    }
}
#gx-accueil-cms .quick-link-item{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    
    width: auto;
    transition: transform 0.3s ease;
    cursor: pointer;
    position: relative;
    padding: 0 10px;
}
#gx-accueil-cms .quick-link-item img{
    height: 100%;
    width: auto;
    object-fit: contain;
}
#gx-accueil-cms .quick-link-item.info-trigger img{
    height: 65px;
    
    animation: flash-info-bosse 2s infinite;
}

@keyframes flash-info-bosse {

    0%,
    50%,
    100% {
        opacity: 1;
    }

    25%,
    75% {
        opacity: 0.6;
    }
}
#gx-accueil-cms .quick-link-item:hover{
    transform: translateY(-3px);
}@media (max-width: 1200px){
}@media (max-width: 1100px){
}@media (max-width: 768px){
}
#gx-accueil-cms .lang-switcher{
    position: relative;
}
#gx-accueil-cms .lang-btn{
    display: flex;
    align-items: center;
    gap: 5px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 20px;
    padding: 5px 10px 5px 8px;
    cursor: pointer;
    color: var(--white);
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    transition: all 0.2s ease;
    white-space: nowrap;
}
#gx-accueil-cms .lang-btn:hover,#gx-accueil-cms .lang-switcher.open .lang-btn{
    background: rgba(212, 175, 55, 0.15);
    border-color: rgba(212, 175, 55, 0.4);
    color: var(--accent-gold);
}
#gx-accueil-cms .lang-btn .lang-flag{ font-size: 18px; line-height: 1; vertical-align: middle; border-radius: 2px; }
#gx-accueil-cms .lang-btn .lang-code{ font-size: 11px; font-weight: 800; letter-spacing: 0.8px; }
#gx-accueil-cms .lang-chevron{
    transition: transform 0.2s ease;
    flex-shrink: 0;
    opacity: 0.7;
}
#gx-accueil-cms .lang-switcher.open .lang-chevron{ transform: rotate(180deg); opacity: 1; }
#gx-accueil-cms .lang-dropdown{
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    background: var(--navy-dark);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    padding: 6px;
    list-style: none;
    margin: 0;
    min-width: 165px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
    z-index: 10200;
}
#gx-accueil-cms .lang-switcher.open .lang-dropdown{
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
#gx-accueil-cms .lang-option{
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.15s ease;
    color: rgba(255, 255, 255, 0.7);
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 600;
    user-select: none;
}
#gx-accueil-cms .lang-option:hover{ background: rgba(255, 255, 255, 0.07); color: var(--white); }
#gx-accueil-cms .lang-option.lang-active{ background: rgba(212, 175, 55, 0.12); color: var(--accent-gold); }
#gx-accueil-cms .lang-option .lang-flag{ font-size: 20px; line-height: 1; flex-shrink: 0; vertical-align: middle; border-radius: 2px; }
#gx-accueil-cms .lang-option .lang-name{ flex: 1; }
#gx-accueil-cms .lang-option.lang-active::after{
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--accent-gold);
    flex-shrink: 0;
}

@media (max-width: 480px) {
#gx-accueil-cms .lang-btn .lang-code{ display: none; }
#gx-accueil-cms .lang-btn{ padding: 5px 8px; gap: 0; }
}/* ==== vertical-menu.css ==== */
#gx-accueil-cms{
  --vm-gold: #d4af37;
  --vm-gold-light: rgba(212, 175, 55, 0.1);
  --vm-gold-border: rgba(212, 175, 55, 0.3);
  --vm-dark: #1a2942;
  --vm-text: #000000;
  --vm-muted: #6c757d;
  --vm-bg: #ffffff;
  --vm-bg-alt: #f8f9fa;
  --vm-border: #e9ecef;
  --vm-radius: 8px;
  --vm-transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes slideInVerticalVideo {
  from { opacity: 0; transform: translateX(-10px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes spin { to { transform: rotate(360deg); } }
#gx-accueil-cms .vmenu{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--vm-border);
}
#gx-accueil-cms .vmenu .icon-blue{
  width: 38px; height: 38px;
  background: radial-gradient(circle at 36% 32%, #72c8ff 0%, #1b72cc 45%, #0a3d82 100%);
  border: 2px solid rgba(255,255,255,0.35);
  border-radius: 50%;
  box-shadow: 0 3px 10px rgba(0,0,0,0.35), inset 0 1px 0 rgba(255,255,255,0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s, box-shadow 0.2s;
}
#gx-accueil-cms .vmenu .icon-blue:hover{
  transform: scale(1.12);
  box-shadow: 0 5px 16px rgba(0,0,0,0.45), inset 0 1px 0 rgba(255,255,255,0.2);
}
#gx-accueil-cms .vmenu .picto-label{
  font-family: Georgia, 'Times New Roman', serif;
  font-style: italic;
  font-weight: 900;
  font-size: 16px;
  color: #fff;
  line-height: 1;
  text-shadow: 0 1px 3px rgba(0,0,0,0.4);
  user-select: none;
}
#gx-accueil-cms .vmenu .picto-icon{
  font-size: 16px;
  color: #fff;
  line-height: 1;
  text-shadow: 0 1px 3px rgba(0,0,0,0.4);
}@media (max-width: 992px){
}@media (max-width: 768px){
}@media (max-width: 480px){
}


@keyframes slideInVerticalVideo {
    from {
        opacity: 0;
        transform: translateX(-10px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}/* ==== hero.css ==== *//* ==== carousel.css ==== *//* ==== navigation.css ==== *//* ==== vertical-destinations-mega.css ==== */
#gx-accueil-cms{
  --vm-gold: #d4af37;
  --vm-gold-light: rgba(212, 175, 55, 0.1);
  --vm-gold-border: rgba(212, 175, 55, 0.3);
  --vm-dark: #1a2942;
  --vm-muted: #6c757d;
  --vm-bg: #ffffff;
  --vm-bg-alt: #f8f9fa;
  --vm-border: #e9ecef;
  --vm-radius: 12px;
  --vm-transition: 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}@media (max-width: 1024px){
}@media (max-width: 768px){
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}@media (max-width: 1200px){
}@media (max-width: 992px){
}@media (max-width: 768px){
}@media (max-width: 480px){
}@media (max-width: 1200px){
}@media (max-width: 992px){
}@media (max-width: 768px){
}
#gx-accueil-cms .external-link{
            background: #1a2942;
            color: white !important;
            display: inline-flex;
            align-items: center;
            gap: 8px;
        }
#gx-accueil-cms .external-link:hover{
            background: #d4af37 !important;
            color: #1a2942 !important;
        }@media (max-width: 1024px){
        }@media (max-width: 768px){
        }@media (max-width: 1200px){
        }@media (max-width: 768px){
        }
#gx-accueil-cms .services-trigger-v4{
            display: inline-block;
            padding: 12px 24px;
            background: #1a2942;
            color: white;
            border-radius: 8px;
            cursor: pointer;
            font-weight: 600;
            transition: all 0.3s ease;
        }
#gx-accueil-cms .services-trigger-v4:hover{
            background: #d4af37;
            transform: translateY(-2px);
        }/* ==== sections-nav-bar.css ==== */
#gx-accueil-cms .snb-anchor{
    display: block;
    position: relative;
    top: -140px;
    visibility: hidden;
    pointer-events: none;
    height: 0;
}
#gx-accueil-cms .snb-bar{
    position: sticky;
    top: 80px;
    z-index: 200;
    background: rgba(255, 255, 255, 0.80);
    border-bottom: 2px solid #d4af37;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
}
#gx-accueil-cms .snb-inner{
    display: flex;
    align-items: center;
    gap: 0;
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 20px;
    height: 48px;
    overflow: hidden;
}
#gx-accueil-cms .snb-label{
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    color: #d4af37;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
}
#gx-accueil-cms .snb-label i{
    font-size: 14px;
}
#gx-accueil-cms .snb-divider{
    width: 1px;
    height: 24px;
    background: rgba(212, 175, 55, 0.35);
    margin: 0 16px;
    flex-shrink: 0;
}
#gx-accueil-cms .snb-links{
    display: flex;
    align-items: center;
    gap: 4px;
    list-style: none;
    margin: 0;
    padding: 0;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    flex: 1;
}
#gx-accueil-cms .snb-links::-webkit-scrollbar{
    display: none;
}
#gx-accueil-cms .snb-link{
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 20px;
    text-decoration: none;
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: linear-gradient(90deg, #0a1628 0%, #1a2942 100%);
    white-space: nowrap;
    transition: all 0.22s ease;
    border: 1px solid transparent;
}
#gx-accueil-cms .snb-link i{
    font-size: 12px;
    color: #d4af37;
    flex-shrink: 0;
}
#gx-accueil-cms .snb-link:hover,#gx-accueil-cms .snb-link.active{
    background: rgba(212, 175, 55, 0.15);
    border-color: rgba(212, 175, 55, 0.4);
    color: #d4af37;
}
#gx-accueil-cms .snb-link.active{
    background: rgba(212, 175, 55, 0.22);
    border-color: #d4af37;
    color: #d4af37;
}


@media (max-width: 1024px) {
#gx-accueil-cms .snb-label span{
        display: none;
    }
#gx-accueil-cms .snb-label{
        gap: 0;
    }
#gx-accueil-cms .snb-divider{
        margin: 0 10px;
    }
#gx-accueil-cms .snb-link{
        padding: 6px 10px;
    }
}

@media (max-width: 768px) {
#gx-accueil-cms .snb-bar{
        top: 60px;
    }
#gx-accueil-cms .snb-inner{
        padding: 0 8px;
        height: 56px;
    }
#gx-accueil-cms .snb-label{
        display: none;
    }
#gx-accueil-cms .snb-divider{
        display: none;
    }
#gx-accueil-cms .snb-link{
        flex-direction: column;
        gap: 3px;
        padding: 6px 8px;
        border-radius: 8px;
        align-items: center;
    }
#gx-accueil-cms .snb-link i{
        font-size: 13px;
    }
#gx-accueil-cms .snb-link span{
        font-size: 9px;
        line-height: 1.1;
        text-align: center;
        max-width: 60px;
        white-space: normal;
    }
}
#gx-accueil-cms .destinations-spinner{
    width: 50px;
    height: 50px;
    border: 4px solid #e0e0e0;
    border-top-color: #0a1628;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}@media (max-width: 1024px){
}@media (max-width: 768px){
}@media (max-width: 480px){
}
#gx-accueil-cms .quick-link-item{
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    cursor: pointer;
    flex-shrink: 0;
}
#gx-accueil-cms .icon-circle{
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}
#gx-accueil-cms .icon-blue{
    width: 68px;
    height: 68px;
    background: radial-gradient(circle at 36% 32%, #72c8ff 0%, #1b72cc 45%, #0a3d82 100%);
    border: 2.5px solid rgba(255, 255, 255, 0.40);
    box-shadow: 0 5px 18px rgba(0, 0, 0, 0.50), inset 0 2px 0 rgba(255, 255, 255, 0.28);
    transition: all 0.22s ease;
}
#gx-accueil-cms .icon-blue:hover{
    transform: scale(1.10);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.60), inset 0 2px 0 rgba(255, 255, 255, 0.28);
}
#gx-accueil-cms .quick-link-item.active .icon-blue,#gx-accueil-cms .quick-link-item.info-trigger.active .icon-blue{
    box-shadow: 0 0 0 3px #d4af37, 0 5px 18px rgba(0, 0, 0, 0.50);
}
#gx-accueil-cms .picto-label{
    font-family: Georgia, 'Times New Roman', serif;
    font-style: italic;
    font-weight: 900;
    font-size: 26px;
    color: #ffffff;
    line-height: 1;
    letter-spacing: -1px;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
    user-select: none;
}
#gx-accueil-cms .picto-icon{
    font-size: 24px;
    color: #ffffff;
    line-height: 1;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}
#gx-accueil-cms .icon-standard{ display: none; }
#gx-accueil-cms .icon-large{ display: none; }
#gx-accueil-cms .cat-trigger-label{ display: none; }@media (max-width: 1024px){
#gx-accueil-cms .icon-circle{ width: 32px; height: 32px; font-size: 12px; }
}@media (max-width: 768px){
#gx-accueil-cms .icon-circle{ width: 36px; height: 36px; }
}@media (max-width: 480px){
}/* ==== categories-mega-menu.css ==== */
#gx-accueil-cms .cat-mega-panel{
    position: fixed;
    width: 820px;
    max-width: calc(100vw - 24px);
    background: #ffffff;
    border: 1px solid rgba(10, 22, 40, 0.08);
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.30);
    display: flex;
    flex-direction: row;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s;
    z-index: 10500;
    overflow: hidden;
}
#gx-accueil-cms .cat-mega-panel.open{
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
#gx-accueil-cms .cat-mega-left{
    width: 260px;
    flex-shrink: 0;
    background: #f7f9fc;
    border-right: 1px solid rgba(10, 22, 40, 0.08);
    padding: 14px 0;
    overflow-y: auto;
    max-height: 480px;
}
#gx-accueil-cms .cat-mega-header{
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 20px 14px;
    border-bottom: 1px solid rgba(10, 22, 40, 0.08);
    margin-bottom: 6px;
}
#gx-accueil-cms .cat-mega-header-icon{
    width: 36px;
    height: 36px;
    background: rgba(26, 114, 204, 0.12);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1a72cc;
    font-size: 16px;
}
#gx-accueil-cms .cat-mega-header-title{
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1.8px;
    text-transform: uppercase;
    color: #0a1628;
    font-family: 'Montserrat', sans-serif;
}
#gx-accueil-cms .cat-mega-cat-item{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 13px 20px;
    cursor: pointer;
    color: #0a1628;
    font-size: 15px;
    font-weight: 600;
    font-family: 'Montserrat', sans-serif;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
    border-left: 3px solid transparent;
    text-decoration: none;
    gap: 10px;
}
#gx-accueil-cms .cat-mega-cat-item:hover,#gx-accueil-cms .cat-mega-cat-item.active{
    background: rgba(26, 114, 204, 0.08);
    color: #0a3d82;
    border-left-color: #1a72cc;
    font-weight: 700;
}
#gx-accueil-cms .cat-mega-cat-count{
    font-size: 12px;
    font-weight: 700;
    color: #6b7280;
    background: rgba(10, 22, 40, 0.06);
    border-radius: 12px;
    padding: 2px 9px;
    flex-shrink: 0;
    transition: background 0.15s, color 0.15s;
}
#gx-accueil-cms .cat-mega-cat-item.active .cat-mega-cat-count,#gx-accueil-cms .cat-mega-cat-item:hover .cat-mega-cat-count{
    background: rgba(26, 114, 204, 0.15);
    color: #0a3d82;
}
#gx-accueil-cms .cat-mega-cat-arrow{
    font-size: 11px;
    color: #9ca3af;
    flex-shrink: 0;
    transition: transform 0.2s, color 0.2s;
    opacity: 0.7;
}
#gx-accueil-cms .cat-mega-cat-item.active .cat-mega-cat-arrow,#gx-accueil-cms .cat-mega-cat-item:hover .cat-mega-cat-arrow{
    color: #1a72cc;
    opacity: 1;
    transform: translateX(2px);
}
#gx-accueil-cms .cat-mega-right{
    flex: 1;
    padding: 0;
    display: flex;
    flex-direction: column;
    min-height: 0;
}
#gx-accueil-cms .cat-mega-right-inner{
    flex: 1;
    overflow-y: auto;
    padding: 18px 20px;
    max-height: 440px;
}
#gx-accueil-cms .cat-mega-activities{
    display: none;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
}
#gx-accueil-cms .cat-mega-activities.visible{
    display: grid;
}
#gx-accueil-cms .cat-mega-act-link{
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 10px;
    color: #334155;
    font-size: 14.5px;
    font-weight: 500;
    font-family: 'Montserrat', sans-serif;
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease;
}
#gx-accueil-cms .cat-mega-act-link:hover{
    background: rgba(26, 114, 204, 0.08);
    color: #0a3d82;
    transform: translateX(3px);
    font-weight: 600;
}
#gx-accueil-cms .cat-mega-act-dot{
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #1a72cc;
    flex-shrink: 0;
    transition: background 0.15s, transform 0.15s;
}
#gx-accueil-cms .cat-mega-act-link:hover .cat-mega-act-dot{
    background: #0a3d82;
    transform: scale(1.3);
}
#gx-accueil-cms .cat-mega-empty{
    color: #94a3b8;
    font-size: 14px;
    padding: 32px 20px;
    text-align: center;
    font-style: italic;
    font-family: 'Montserrat', sans-serif;
}
#gx-accueil-cms .cat-mega-footer{
    padding: 14px 20px;
    background: #f7f9fc;
    border-top: 1px solid rgba(10, 22, 40, 0.08);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
}
#gx-accueil-cms .cat-mega-view-all{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #1a72cc;
    font-size: 13px;
    font-weight: 700;
    font-family: 'Montserrat', sans-serif;
    text-decoration: none;
    letter-spacing: 0.5px;
    transition: color 0.2s, transform 0.2s;
}
#gx-accueil-cms .cat-mega-view-all:hover{ color: #0a3d82; transform: translateX(2px); }
#gx-accueil-cms .cat-mega-view-all-cats{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #64748b;
    font-size: 13px;
    font-weight: 600;
    font-family: 'Montserrat', sans-serif;
    text-decoration: none;
    transition: color 0.2s;
}
#gx-accueil-cms .cat-mega-view-all-cats:hover{ color: #0a1628; }
#gx-accueil-cms .cat-mega-left::-webkit-scrollbar,#gx-accueil-cms .cat-mega-right-inner::-webkit-scrollbar{ width: 6px; }
#gx-accueil-cms .cat-mega-left::-webkit-scrollbar-track,#gx-accueil-cms .cat-mega-right-inner::-webkit-scrollbar-track{ background: transparent; }
#gx-accueil-cms .cat-mega-left::-webkit-scrollbar-thumb,#gx-accueil-cms .cat-mega-right-inner::-webkit-scrollbar-thumb{ background: rgba(10, 22, 40, 0.15); border-radius: 3px; }
#gx-accueil-cms .cat-mega-left::-webkit-scrollbar-thumb:hover,#gx-accueil-cms .cat-mega-right-inner::-webkit-scrollbar-thumb:hover{ background: rgba(10, 22, 40, 0.3); }


@media (max-width: 768px) {
#gx-accueil-cms .cat-mega-panel{ display: none !important; }
}
#gx-accueil-cms .nav-videos-dropdown{
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    width: 100%;
    max-height: 0;
    background: #ffffff;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 9999;
    border-top: 3px solid rgba(212, 175, 55, 0.5);
}
#gx-accueil-cms .nav-videos-dropdown.active{
    max-height: 480px;
    opacity: 1;
    visibility: visible;
}
#gx-accueil-cms .nav-videos-header{
    padding: 20px 24px;
    background: #f8f9fa;
    border-bottom: 2px solid rgba(212, 175, 55, 0.3);
}
#gx-accueil-cms .nav-videos-title{
    font-size: 18px;
    font-weight: 700;
    color: #1a2942;
    margin: 0 0 6px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
#gx-accueil-cms .nav-videos-subtitle{
    font-size: 13px;
    font-weight: 400;
    color: #6c757d;
    margin: 0;
}
#gx-accueil-cms .nav-videos-list{
    max-height: 320px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 16px;
    display: flex;
    gap: 20px;
    scroll-behavior: smooth;
}
#gx-accueil-cms .nav-videos-list::-webkit-scrollbar{
    height: 8px;
}
#gx-accueil-cms .nav-videos-list::-webkit-scrollbar-track{
    background: #f8f9fa;
    border-radius: 4px;
    margin: 0 4px;
}
#gx-accueil-cms .nav-videos-list::-webkit-scrollbar-thumb{
    background: linear-gradient(90deg, rgba(212, 175, 55, 0.6) 0%, rgba(212, 175, 55, 0.4) 100%);
    border-radius: 4px;
    transition: background 0.3s ease;
}
#gx-accueil-cms .nav-videos-list::-webkit-scrollbar-thumb:hover{
    background: linear-gradient(90deg, rgba(212, 175, 55, 0.8) 0%, rgba(212, 175, 55, 0.6) 100%);
}
#gx-accueil-cms .nav-video-thumbnail{
    position: relative;
    width: 100%;
    height: 180px;
    flex-shrink: 0;
    overflow: hidden;
    background: #000;
}
#gx-accueil-cms .nav-video-thumbnail img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}
#gx-accueil-cms .nav-video-play-icon{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 32px;
    height: 32px;
    background: rgba(255, 0, 0, 0.9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}
#gx-accueil-cms .nav-video-play-icon svg{
    width: 14px;
    height: 14px;
    fill: #ffffff;
    margin-left: 2px;
}
#gx-accueil-cms .nav-video-duration{
    position: absolute;
    bottom: 4px;
    right: 4px;
    background: rgba(0, 0, 0, 0.85);
    color: #ffffff;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 6px;
    border-radius: 3px;
}
#gx-accueil-cms .nav-video-info{
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-width: 0;
    padding: 12px;
}
#gx-accueil-cms .nav-video-title{
    font-size: 13px;
    font-weight: 600;
    color: #1a2942;
    margin: 0 0 8px 0;
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    min-height: 36px;
}
#gx-accueil-cms .nav-video-meta{
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
#gx-accueil-cms .nav-video-category{
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    font-weight: 600;
    color: #d4af37;
    background: rgba(212, 175, 55, 0.15);
    padding: 3px 8px;
    border-radius: 4px;
    text-transform: uppercase;
}
#gx-accueil-cms .nav-video-category svg{
    width: 12px;
    height: 12px;
    fill: currentColor;
}
#gx-accueil-cms .nav-video-date{
    font-size: 11px;
    font-weight: 500;
    color: #6c757d;
}
#gx-accueil-cms .nav-videos-empty{
    padding: 40px 20px;
    text-align: center;
    color: #6c757d;
}
#gx-accueil-cms .nav-videos-empty svg{
    width: 48px;
    height: 48px;
    margin-bottom: 12px;
    opacity: 0.3;
}
#gx-accueil-cms .nav-videos-empty p{
    font-size: 14px;
    margin: 0;
}


@keyframes slideInVideo {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


@media (max-width: 1200px) {
#gx-accueil-cms .nav-videos-dropdown{
        width: 750px;
    }
#gx-accueil-cms .nav-videos-list{
        grid-template-columns: repeat(2, 1fr);
        gap: 14px;
    }
#gx-accueil-cms .nav-video-thumbnail{
        height: 140px;
    }
}

@media (max-width: 992px) {
#gx-accueil-cms .nav-videos-dropdown{
        width: 650px;
    }
#gx-accueil-cms .nav-videos-list{
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
        padding: 12px;
    }
#gx-accueil-cms .nav-video-thumbnail{
        height: 130px;
    }
#gx-accueil-cms .nav-video-title{
        font-size: 12px;
    }
#gx-accueil-cms .nav-video-category{
        font-size: 10px;
    }
}@media (max-width: 768px){
#gx-accueil-cms .nav-videos-dropdown{
        position: fixed;
        top: 120px;
        left: 0;
        right: 0;
        width: 100%;
        transform: none;
        max-width: none;
        border-radius: 0;
        max-height: calc(100vh - 140px);
    }
#gx-accueil-cms .nav-videos-list{
        display: flex;
        flex-direction: row;
        gap: 12px;
        padding: 12px;
        overflow-x: auto;
        overflow-y: hidden;
        max-height: none;
    }
#gx-accueil-cms .nav-videos-header{
        padding: 16px 18px;
    }
#gx-accueil-cms .nav-videos-title{
        font-size: 16px;
    }
#gx-accueil-cms .nav-videos-subtitle{
        font-size: 12px;
    }
#gx-accueil-cms .nav-video-thumbnail{
        height: 150px;
    }
#gx-accueil-cms .nav-video-title{
        font-size: 12px;
        min-height: 32px;
    }
#gx-accueil-cms .nav-video-info{
        padding: 10px;
    }
#gx-accueil-cms .nav-video-category{
        font-size: 9px;
        padding: 2px 6px;
    }
#gx-accueil-cms .nav-video-date{
        font-size: 10px;
    }
#gx-accueil-cms .nav-video-duration{
        font-size: 10px;
    }
#gx-accueil-cms .nav-videos-dropdown::before,#gx-accueil-cms .nav-videos-dropdown::after{
        display: none;
    }
}@media (max-width: 600px){
#gx-accueil-cms .nav-videos-dropdown{
        top: 110px;
    }
#gx-accueil-cms .nav-videos-list{
        gap: 10px;
        padding: 10px;
    }
#gx-accueil-cms .nav-video-thumbnail{
        height: 140px;
    }
#gx-accueil-cms .nav-video-title{
        font-size: 12px;
        min-height: auto;
    }
#gx-accueil-cms .nav-video-info{
        padding: 10px;
    }
}@media (max-width: 480px){
#gx-accueil-cms .nav-videos-dropdown{
        top: 100px;
    }
#gx-accueil-cms .nav-videos-header{
        padding: 12px 14px;
    }
#gx-accueil-cms .nav-videos-title{
        font-size: 14px;
    }
#gx-accueil-cms .nav-videos-subtitle{
        font-size: 11px;
    }
#gx-accueil-cms .nav-videos-list{
        padding: 8px;
        gap: 8px;
    }
#gx-accueil-cms .nav-video-thumbnail{
        height: 130px;
    }
#gx-accueil-cms .nav-video-info{
        padding: 8px;
    }
#gx-accueil-cms .nav-video-title{
        font-size: 11px;
    }
}
#gx-accueil-cms .nav-videos-dropdown::before{
    content: '';
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 8px solid #e9ecef;
}
#gx-accueil-cms .nav-videos-dropdown::after{
    content: '';
    position: absolute;
    top: -6px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-bottom: 7px solid #ffffff;
}/* ==== viewing-carousel.css ==== */
#gx-accueil-cms .gxt-section{background:#fff;margin:60px 40px 0;font-family:Montserrat,sans-serif;}
#gx-accueil-cms .gxt-hero-header{background:#fff;padding:24px 24px 20px;border-bottom:2px solid #e0e0e0;}
#gx-accueil-cms .gxt-hero-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
#gx-accueil-cms .gxt-hero-brand{display:flex;align-items:center;gap:16px;}
#gx-accueil-cms .gxt-hero-title{color:#1a2942;font-size:20px;font-weight:700;margin:0;}
#gx-accueil-cms .gxt-hero-visit-btn{background:#f26522;color:#fff;padding:6px 16px;border-radius:20px;text-decoration:none;font-size:12px;font-weight:600;transition:all .2s;}
#gx-accueil-cms .gxt-hero-visit-btn:hover{background:#e84c10;}
#gx-accueil-cms .gxt-hero-main-title{color:#1a2942;font-size:28px;font-weight:800;margin:0;text-transform:uppercase;letter-spacing:1px;}
#gx-accueil-cms .gxt-hero-subtitle{color:#555;font-size:14px;line-height:1.6;margin:0 0 18px;font-weight:400;}
#gx-accueil-cms .gxt-hero-options{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;flex-wrap:wrap;}
#gx-accueil-cms .gxt-hero-options-group{display:flex;gap:8px;flex-wrap:wrap;}
#gx-accueil-cms .gxt-hero-option-btn{background:#f8f9fa;border:1px solid #d0d0d0;color:#555;padding:8px 16px;border-radius:20px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:6px;}
#gx-accueil-cms .gxt-hero-option-btn:hover{background:#f26522;color:#fff;border-color:#f26522;}
#gx-accueil-cms .gxt-hero-option-btn i{font-size:11px;}
#gx-accueil-cms .gxt-hero-plans{display:flex;align-items:center;gap:12px;}
#gx-accueil-cms .gxt-hero-plans-label{color:#666;font-size:12px;font-weight:600;}
#gx-accueil-cms .gxt-hero-plans-link,#gx-accueil-cms .gxt-hero-visit-link{color:#f26522;text-decoration:none;font-size:12px;font-weight:600;transition:color .2s;}
#gx-accueil-cms .gxt-hero-plans-link:hover,#gx-accueil-cms .gxt-hero-visit-link:hover{color:#e84c10;text-decoration:underline;}
#gx-accueil-cms .gxt-hero-breadcrumb{background:#f8f9fa;padding:12px 16px;border-radius:8px;border:1px solid #e0e0e0;}
#gx-accueil-cms .gxt-breadcrumb-section{}
#gx-accueil-cms .gxt-breadcrumb-title{color:#1a2942;font-size:13px;font-weight:700;margin:0 0 8px;text-transform:uppercase;}
#gx-accueil-cms .gxt-breadcrumb-path{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
#gx-accueil-cms .gxt-breadcrumb-link{color:#666;text-decoration:none;font-size:12px;transition:color .2s;}
#gx-accueil-cms .gxt-breadcrumb-link:hover{color:#f26522;}
#gx-accueil-cms .gxt-breadcrumb-link.active{color:#f26522;font-weight:600;}
#gx-accueil-cms .gxt-breadcrumb-sep{color:#ccc;font-size:12px;}
#gx-accueil-cms .gxt-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 24px;
  background:#f8f9fa;
  border-bottom:2px solid #e0e0e0;
}
#gx-accueil-cms .gxt-logo{height:90px;width:auto;}
#gx-accueil-cms .gxt-header-brand{display:flex;justify-content:center;align-items:center;}
#gx-accueil-cms .gxt-header-brand--hero{width:100%;margin-bottom:10px;}
#gx-accueil-cms .gxt-header-brand--hero .gxt-logo{height:84px;}
#gx-accueil-cms .gxt-search-wrap{width:100%;max-width:680px;flex:1;}
#gx-accueil-cms .gxt-search-bar{display:flex;max-width:520px;width:100%;border-radius:24px;overflow:hidden;border:1px solid #d0d0d0;}
#gx-accueil-cms .gxt-search-input{flex:1;background:#fff;color:#333;border:none;padding:9px 16px;font-size:13px;font-family:Montserrat,sans-serif;outline:none;}
#gx-accueil-cms .gxt-search-input::placeholder{color:#999;}
#gx-accueil-cms .gxt-search-btn{background:#f26522;border:none;color:#fff;padding:9px 16px;cursor:pointer;transition:background .2s;}
#gx-accueil-cms .gxt-search-btn:hover{background:#e84c10;}
#gx-accueil-cms .gxt-header-actions{display:flex;gap:8px;flex-shrink:0;}
#gx-accueil-cms .gxt-social-btn{width:34px;height:34px;border-radius:50%;background:#e0e0e0;color:#666;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:13px;transition:all .2s;}
#gx-accueil-cms .gxt-social-btn:hover{background:#f26522;color:#fff;}
#gx-accueil-cms .gxt-social-yt:hover{background:#ff0000;}
#gx-accueil-cms .gxt-filters-bar{background:#f8f9fa;padding:10px 24px;border-bottom:1px solid #e0e0e0;overflow-x:auto;}
#gx-accueil-cms .gxt-filters-inner{display:flex;gap:8px;min-width:max-content;}
#gx-accueil-cms .gxt-filter{background:#fff;color:#555;border:1px solid #d0d0d0;border-radius:20px;padding:7px 16px;font-size:12px;font-weight:600;font-family:Montserrat,sans-serif;cursor:pointer;transition:all .2s;white-space:nowrap;}
#gx-accueil-cms .gxt-filter:hover{background:#f0f0f0;color:#333;}
#gx-accueil-cms .gxt-filter.active{background:linear-gradient(135deg,#e84c10,#f26522);color:#fff;border-color:transparent;}
#gx-accueil-cms .gxt-player-wrap{display:none;gap:0;background:#f8f9fa;border-bottom:2px solid #e0e0e0;}
#gx-accueil-cms .gxt-player-wrap.gxt-player-active{display:flex;}
#gx-accueil-cms .gxt-player-main{flex:1;min-width:0;padding:20px 20px 20px 24px;}
#gx-accueil-cms .gxt-player-embed{position:relative;padding-bottom:56.25%;background:#000;border-radius:8px;overflow:hidden;}
#gx-accueil-cms .gxt-player-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none;}
#gx-accueil-cms .gxt-player-info{padding:16px 0 0;}
#gx-accueil-cms .gxt-player-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
#gx-accueil-cms .gxt-player-badge{background:linear-gradient(135deg,#e84c10,#f26522);color:#fff;padding:4px 12px;border-radius:12px;font-size:11px;font-weight:700;text-transform:uppercase;}
#gx-accueil-cms .gxt-close-player{background:#e0e0e0;border:none;color:#666;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:13px;transition:all .2s;}
#gx-accueil-cms .gxt-close-player:hover{background:#f26522;color:#fff;}
#gx-accueil-cms .gxt-player-title{color:#1a2942;font-size:18px;font-weight:700;margin:0 0 10px;line-height:1.3;}
#gx-accueil-cms .gxt-player-stats{display:flex;align-items:center;gap:8px;color:#666;font-size:12px;margin-bottom:12px;flex-wrap:wrap;}
#gx-accueil-cms .gxt-player-stats strong{color:#f26522;}
#gx-accueil-cms .gxt-dot{color:#ccc;}
#gx-accueil-cms .gxt-player-desc{color:#555;font-size:13px;line-height:1.6;margin:0 0 14px;}
#gx-accueil-cms .gxt-player-actions{display:flex;gap:10px;}
#gx-accueil-cms .gxt-action-btn{background:#e0e0e0;color:#555;text-decoration:none;padding:8px 16px;border-radius:20px;font-size:12px;font-weight:600;transition:all .2s;}
#gx-accueil-cms .gxt-action-btn:hover{background:#f26522;color:#fff;}
#gx-accueil-cms .gxt-player-sidebar{width:320px;flex-shrink:0;background:#fff;border-left:1px solid #e0e0e0;padding:16px;overflow-y:auto;max-height:600px;}
#gx-accueil-cms .gxt-sidebar-title{color:#1a2942;font-size:14px;font-weight:700;margin:0 0 14px;display:flex;align-items:center;gap:8px;}
#gx-accueil-cms .gxt-sidebar-title i{color:#f26522;}
#gx-accueil-cms .gxt-sidebar-item{display:flex;gap:10px;padding:8px;border-radius:8px;cursor:pointer;transition:background .2s;margin-bottom:6px;}
#gx-accueil-cms .gxt-sidebar-item:hover{background:#f8f9fa;}
#gx-accueil-cms .gxt-sidebar-thumb{width:100px;height:56px;object-fit:cover;border-radius:4px;flex-shrink:0;}
#gx-accueil-cms .gxt-sidebar-meta{flex:1;min-width:0;}
#gx-accueil-cms .gxt-sidebar-item-title{color:#333;font-size:12px;font-weight:600;margin:0 0 3px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
#gx-accueil-cms .gxt-sidebar-item-channel{color:#666;font-size:11px;margin:0 0 2px;}
#gx-accueil-cms .gxt-sidebar-item-stats{color:#999;font-size:10px;margin:0;}
#gx-accueil-cms .gxt-content-bar{display:flex;align-items:center;justify-content:space-between;padding:18px 24px 12px;border-bottom:1px solid #e0e0e0;}
#gx-accueil-cms .gxt-content-title{color:#1a2942;font-size:16px;font-weight:700;margin:0;display:flex;align-items:center;gap:10px;}
#gx-accueil-cms .gxt-content-title i{color:#f26522;}
#gx-accueil-cms .gxt-video-count{color:#666;font-size:12px;font-weight:600;}
#gx-accueil-cms .gxt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:20px 24px 32px;background:#fff;}
#gx-accueil-cms .gxt-card{background:#fff;border-radius:10px;overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s;border:1px solid #e0e0e0;}
#gx-accueil-cms .gxt-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.15);}
#gx-accueil-cms .gxt-card--playing{border-color:#f26522;box-shadow:0 0 0 2px rgba(242,101,34,.4);}
#gx-accueil-cms .gxt-thumb{position:relative;padding-bottom:56.25%;background:#000;overflow:hidden;}
#gx-accueil-cms .gxt-thumb-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .3s;}
#gx-accueil-cms .gxt-card:hover .gxt-thumb-img{transform:scale(1.05);}
#gx-accueil-cms .gxt-duration{position:absolute;bottom:6px;right:6px;background:rgba(0,0,0,.85);color:#fff;font-size:11px;font-weight:700;padding:2px 6px;border-radius:4px;z-index:2;}
#gx-accueil-cms .gxt-play-overlay{position:absolute;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;z-index:3;}
#gx-accueil-cms .gxt-card:hover .gxt-play-overlay{opacity:1;}
#gx-accueil-cms .gxt-play-icon{width:52px;height:52px;background:rgba(242,101,34,.92);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;padding-left:4px;box-shadow:0 4px 20px rgba(242,101,34,.5);}
#gx-accueil-cms .gxt-cat-pill{position:absolute;top:8px;left:8px;font-size:10px;font-weight:700;padding:3px 8px;border-radius:10px;text-transform:uppercase;z-index:2;color:#fff;}
#gx-accueil-cms .gxt-cat-gastronomie{background:#e74c3c;}
#gx-accueil-cms .gxt-cat-destinations{background:#2980b9;}
#gx-accueil-cms .gxt-cat-aventure{background:#27ae60;}
#gx-accueil-cms .gxt-cat-evenements{background:#8e44ad;}
#gx-accueil-cms .gxt-cat-culture{background:#d4af37;color:#0a1628;}
#gx-accueil-cms .gxt-card-body{display:flex;gap:10px;padding:12px;}
#gx-accueil-cms .gxt-avatar{flex-shrink:0;}
#gx-accueil-cms .gxt-avatar-img{width:34px;height:34px;border-radius:50%;object-fit:cover;border:2px solid #e0e0e0;}
#gx-accueil-cms .gxt-card-meta{flex:1;min-width:0;}
#gx-accueil-cms .gxt-card-title{color:#333;font-size:13px;font-weight:600;margin:0 0 4px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
#gx-accueil-cms .gxt-card-channel{color:#666;font-size:11px;margin:0 0 3px;}
#gx-accueil-cms .gxt-card-stats{color:#999;font-size:10px;margin:0;}
#gx-accueil-cms .gxt-no-results{display:none;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#999;gap:12px;font-size:14px;}
#gx-accueil-cms .gxt-no-results i{font-size:3rem;color:#ccc;}


@media(max-width:1200px){
#gx-accueil-cms .gxt-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:900px){
#gx-accueil-cms .gxt-section{margin:40px 0 0;}
#gx-accueil-cms .gxt-grid{grid-template-columns:repeat(2,1fr);}
#gx-accueil-cms .gxt-player-wrap{flex-direction:column;}
#gx-accueil-cms .gxt-player-sidebar{width:100%;max-height:300px;border-left:none;border-top:1px solid #e0e0e0;}
}
@media(max-width:600px){
#gx-accueil-cms .gxt-header{display:flex;flex-wrap:wrap;gap:10px;}
#gx-accueil-cms .gxt-search-wrap{order:3;width:100%;}
#gx-accueil-cms .gxt-grid{grid-template-columns:1fr;padding:12px;}
#gx-accueil-cms .gxt-filters-bar{padding:8px 12px;}
#gx-accueil-cms .gxt-content-bar{padding:12px;}
}/* ==== tiktok-carousel.css ==== */
#gx-accueil-cms .ttk-section{
    background: #111;
    margin: 0;
    font-family: Montserrat, sans-serif;
}
#gx-accueil-cms .ttk-filters{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
#gx-accueil-cms .ttk-filters .ttk-filter-btn i{
    margin-right: 6px;
}
#gx-accueil-cms .ttk-grid{
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 2px;
    background: #000;
    padding: 2px;
}
#gx-accueil-cms .ttk-card{
    position: relative;
    aspect-ratio: 9 / 16;
    overflow: hidden;
    cursor: pointer;
    background: #1a1a1a;
}
#gx-accueil-cms .ttk-card-inner{
    position: absolute;
    inset: 0;
}
#gx-accueil-cms .ttk-card-img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}
#gx-accueil-cms .ttk-card:hover .ttk-card-img{
    transform: scale(1.06);
}
#gx-accueil-cms .ttk-card-text-overlay{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    padding: 12px 10px 30px;
    background: linear-gradient(to bottom, rgba(0,0,0,0.55) 0%, transparent 100%);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
    white-space: pre-line;
    z-index: 2;
}
#gx-accueil-cms .ttk-card-bottom{
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 28px 8px 8px;
    background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, transparent 100%);
    z-index: 2;
}
#gx-accueil-cms .ttk-card-views{
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 5px;
}
#gx-accueil-cms .ttk-card-views i{
    font-size: 11px;
}
#gx-accueil-cms .ttk-card-hover-play{
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.2s;
    z-index: 3;
}
#gx-accueil-cms .ttk-card:hover .ttk-card-hover-play{
    opacity: 1;
}
#gx-accueil-cms .ttk-card-hover-play i{
    width: 52px;
    height: 52px;
    background: rgba(254,44,85,0.88);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 20px;
    padding-left: 4px;
    box-shadow: 0 6px 24px rgba(254,44,85,0.5);
}
#gx-accueil-cms .ttk-cta-bar{
    display: flex;
    background: #1a1a2e;
    border-top: 3px solid #fe2c55;
}
#gx-accueil-cms .ttk-cta-item{
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 28px;
    gap: 16px;
    border-right: 1px solid rgba(255,255,255,0.07);
}
#gx-accueil-cms .ttk-cta-item:last-child{
    border-right: none;
}
#gx-accueil-cms .ttk-cta-label{
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}
#gx-accueil-cms .ttk-cta-btn{
    background: transparent;
    border: 2px solid rgba(255,255,255,0.35);
    color: #fff;
    padding: 10px 22px;
    border-radius: 24px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.25s;
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}
#gx-accueil-cms .ttk-cta-btn:hover{
    background: #fe2c55;
    border-color: #fe2c55;
    color: #fff;
}
#gx-accueil-cms .ttk-tiktok-icon{
    width: 18px;
    height: 18px;
    object-fit: contain;
}
#gx-accueil-cms .ttk-stat{
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: #111;
}
#gx-accueil-cms .ttk-stat-btn{
    background: #f5f5f5;
    border: none;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 16px;
    color: #111;
    transition: background 0.2s;
}
#gx-accueil-cms .ttk-stat-btn:hover{
    background: #ffe0e5;
}

@keyframes ttk-pulse {
    0%   { transform: scale(1); }
    50%  { transform: scale(1.3); }
    100% { transform: scale(1); }
}
#gx-accueil-cms .ttk-share-icons{
    display: flex;
    gap: 6px;
    margin-left: auto;
}
#gx-accueil-cms .ttk-share-btn{
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: #fff;
    transition: opacity 0.2s;
}
#gx-accueil-cms .ttk-share-btn:hover{ opacity: 0.8; }
#gx-accueil-cms .ttk-share-fb{ background: #1877f2; }
#gx-accueil-cms .ttk-share-wa{ background: #25d366; }
#gx-accueil-cms .ttk-share-tw{ background: #1da1f2; }
#gx-accueil-cms .ttk-share-link{ background: #888; }
#gx-accueil-cms .ttk-share-more{ background: #555; }


@media (max-width: 1200px) {
#gx-accueil-cms .ttk-grid{ grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 900px) {
#gx-accueil-cms .ttk-grid{ grid-template-columns: repeat(3, 1fr); }
#gx-accueil-cms .ttk-cta-bar{ flex-direction: column; }
#gx-accueil-cms .ttk-cta-item{ border-right: none; border-bottom: 1px solid rgba(255,255,255,0.07); }
}

@media (max-width: 600px) {
#gx-accueil-cms .ttk-grid{ grid-template-columns: repeat(2, 1fr); }
}/* ==== espace-chat-section.css ==== */
#gx-accueil-cms .chat-space-section{
    background: #f7f9fc;
    margin-top: 28px;
}
#gx-accueil-cms .chat-space-container{
    max-width: 1280px;
    margin: 0 auto;
    padding: 30px 24px 42px;
}
#gx-accueil-cms .chat-space-overview{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 20px;
}
#gx-accueil-cms .chat-kpi-card{
    background: #ffffff;
    border: 1px solid #e5ecf5;
    border-radius: 12px;
    padding: 14px 16px;
}
#gx-accueil-cms .chat-kpi-card span{
    color: #6b7280;
    font-size: 12px;
    display: block;
}
#gx-accueil-cms .chat-kpi-card strong{
    color: #0a1628;
    font-size: 26px;
    font-weight: 800;
}
#gx-accueil-cms .chat-single-showcase{
    background: #fff;
    border: 1px solid #e6edf8;
    border-radius: 16px;
    box-shadow: 0 10px 28px rgba(10, 22, 40, 0.06);
    padding: 24px;
}
#gx-accueil-cms .chat-single-image-wrap{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 14px;
    justify-content: center;
    margin-bottom: 18px;
}
#gx-accueil-cms .chat-image-card{
    border-radius: 12px;
    border: 1px solid #e8edf6;
    background: #f9fbff;
    padding: 8px;
}
#gx-accueil-cms .chat-single-image-wrap img{
    width: 100%;
    max-height: 320px;
    object-fit: contain;
    border-radius: 8px;
}
#gx-accueil-cms .chat-single-content{
    text-align: center;
    max-width: 920px;
    margin: 0 auto;
}
#gx-accueil-cms .chat-single-content h3{
    margin: 0 0 10px;
    font-size: 24px;
    color: #0a1628;
}
#gx-accueil-cms .chat-single-content p{
    margin: 0 0 10px;
    color: #546476;
    font-size: 14px;
    line-height: 1.65;
}
#gx-accueil-cms .chat-service-points{
    margin-top: 14px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
#gx-accueil-cms .chat-service-points span{
    background: #f3f8ff;
    border: 1px solid #deeafd;
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 13px;
    font-weight: 600;
    color: #2a4f7b;
    display: flex;
    align-items: center;
    gap: 8px;
}
#gx-accueil-cms .chat-service-points i{
    color: #1e71d8;
}

@media (max-width: 991px) {
#gx-accueil-cms .chat-space-overview{
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
#gx-accueil-cms .chat-space-overview,#gx-accueil-cms .chat-service-points{
        grid-template-columns: 1fr;
    }
#gx-accueil-cms .chat-single-image-wrap{
        grid-template-columns: 1fr;
    }
}/* ==== espace-mail-marketing-section.css ==== */
#gx-accueil-cms .mail-space-section{
    background: #ffffff;
    margin-top: 22px;
}
#gx-accueil-cms .mail-space-container{
    max-width: 1280px;
    margin: 0 auto;
    padding: 30px 24px 46px;
}
#gx-accueil-cms .mail-performance{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 20px;
}
#gx-accueil-cms .mail-metric{
    border-radius: 12px;
    padding: 14px 16px;
    background: linear-gradient(135deg, #f6fbff, #eef5ff);
    border: 1px solid #deebff;
}
#gx-accueil-cms .mail-metric span{
    display: block;
    color: #527095;
    font-size: 12px;
}
#gx-accueil-cms .mail-metric strong{
    font-size: 28px;
    color: #0e2a4a;
    font-weight: 800;
}
#gx-accueil-cms .mail-campaign-grid{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
#gx-accueil-cms .mail-campaign-card{
    background: #fff;
    border: 1px solid #e7eef8;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(26, 58, 143, 0.06);
}
#gx-accueil-cms .mail-campaign-card img{
    width: 100%;
    height: 190px;
    object-fit: cover;
}
#gx-accueil-cms .mail-campaign-body{
    padding: 16px;
}
#gx-accueil-cms .mail-campaign-head{
    margin-bottom: 10px;
}
#gx-accueil-cms .mail-campaign-badge{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 999px;
    padding: 4px 10px;
    background: #edf4ff;
    border: 1px solid #d7e7ff;
    color: #275b9c;
    font-size: 11px;
    font-weight: 700;
    margin-bottom: 8px;
}
#gx-accueil-cms .mail-campaign-body h3{
    margin: 0 0 7px;
    color: #0a1628;
    font-size: 17px;
}
#gx-accueil-cms .mail-campaign-body p{
    margin: 0;
    color: #5a6878;
    font-size: 13px;
    line-height: 1.5;
}
#gx-accueil-cms .mail-svg-widget{
    border-radius: 10px;
    border: 1px solid #dce8f8;
    background: linear-gradient(135deg, #f7fbff, #f0f6ff);
    padding: 8px 10px;
    margin-top: 12px;
}
#gx-accueil-cms .mail-svg-widget svg{
    width: 100%;
    height: 66px;
    display: block;
}
#gx-accueil-cms .mail-feature-list{
    list-style: none;
    padding: 0;
    margin: 12px 0 0;
    display: grid;
    gap: 8px;
}
#gx-accueil-cms .mail-feature-list li{
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: #44566f;
    font-weight: 600;
}
#gx-accueil-cms .mail-feature-list li i{
    color: #2d7ff9;
}
#gx-accueil-cms .mail-campaign-card.hidden{
    display: none;
}

@media (max-width: 991px) {
#gx-accueil-cms .mail-performance,#gx-accueil-cms .mail-campaign-grid{
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
#gx-accueil-cms .mail-performance,#gx-accueil-cms .mail-campaign-grid{
        grid-template-columns: 1fr;
    }
}/* ==== espace-blog-section.css ==== */
#gx-accueil-cms .blog-space-section{
    background: #f8fafc;
    margin-top: 22px;
    margin-bottom: 12px;
}
#gx-accueil-cms .blog-space-container{
    max-width: 1280px;
    margin: 0 auto;
    padding: 107px 24px 70px;
}
#gx-accueil-cms .blog-top-news-area{
    display: grid;
    grid-template-columns: 1.7fr 1fr;
    gap: 18px;
    margin-bottom: 16px;
}
#gx-accueil-cms .blog-featured-story{
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    min-height: 360px;
    margin-bottom: 18px;
}
#gx-accueil-cms .blog-featured-story img{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#gx-accueil-cms .blog-featured-overlay{
    position: relative;
    z-index: 1;
    min-height: 360px;
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background: linear-gradient(to top, rgba(10, 22, 40, 0.85), rgba(10, 22, 40, 0.15));
    color: #fff;
}
#gx-accueil-cms .blog-chip{
    display: inline-block;
    width: fit-content;
    background: #f26522;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
}
#gx-accueil-cms .blog-featured-overlay h3{
    margin: 10px 0 6px;
    font-size: clamp(24px, 3vw, 34px);
    line-height: 1.2;
}
#gx-accueil-cms .blog-featured-overlay p{
    margin: 0;
    max-width: 740px;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.92);
}
#gx-accueil-cms .blog-post-meta{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 10px 0 8px;
}
#gx-accueil-cms .blog-post-meta span{
    background: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 11px;
    color: #fff;
    font-weight: 600;
}
#gx-accueil-cms .blog-share-row{
    margin-top: 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
#gx-accueil-cms .blog-share-label{
    font-size: 12px;
    font-weight: 700;
    color: #fff;
}
#gx-accueil-cms .blog-social-icons{
    display: flex;
    gap: 8px;
}
#gx-accueil-cms .blog-social-icons a{
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.35);
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all 0.2s ease;
}
#gx-accueil-cms .blog-social-icons a:hover{
    background: #ffffff;
    color: #0a1628;
}
#gx-accueil-cms .blog-posts-grid{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
#gx-accueil-cms .blog-post-card{
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid #e8edf3;
    background: #fff;
}
#gx-accueil-cms .blog-post-card img{
    width: 100%;
    height: 170px;
    object-fit: cover;
}
#gx-accueil-cms .blog-post-body{
    padding: 14px;
}
#gx-accueil-cms .blog-post-body span{
    font-size: 11px;
    color: #6a7a8d;
    font-weight: 700;
    text-transform: uppercase;
}
#gx-accueil-cms .blog-post-body h4{
    margin: 8px 0 0;
    font-size: 16px;
    line-height: 1.35;
    color: #0a1628;
}
#gx-accueil-cms .blog-card-meta{
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 10px;
    color: #6f8198;
    font-size: 12px;
}
#gx-accueil-cms .blog-card-tags{
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 10px;
}
#gx-accueil-cms .blog-card-tags a{
    text-decoration: none;
    color: #3b5a86;
    background: #f2f6fb;
    border: 1px solid #e3ebf4;
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 600;
}
#gx-accueil-cms .blog-card-share{
    margin-top: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
#gx-accueil-cms .blog-card-share span{
    font-size: 12px;
    color: #5d6f87;
    font-weight: 700;
    text-transform: none;
}
#gx-accueil-cms .blog-card-share a{
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 1px solid #d9e4ef;
    background: #f7fbff;
    color: #3b5a86;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all 0.2s ease;
}
#gx-accueil-cms .blog-card-share a:hover{
    background: #3b5a86;
    color: #fff;
    border-color: #3b5a86;
}
#gx-accueil-cms .blog-post-card.hidden{
    display: none;
}
#gx-accueil-cms .blog-featured-story.hidden{
    display: none;
}
#gx-accueil-cms .blog-breaking-column{
    background: #fff;
    border: 1px solid #e8edf3;
    border-radius: 16px;
    padding: 14px;
}
#gx-accueil-cms .blog-breaking-column h4{
    margin: 4px 6px 12px;
    font-size: 16px;
    color: #0a1628;
}
#gx-accueil-cms .blog-mini-post{
    display: flex;
    gap: 10px;
    border-bottom: 1px solid #edf1f7;
    padding: 10px 6px;
}
#gx-accueil-cms .blog-mini-post:last-child{
    border-bottom: none;
}
#gx-accueil-cms .blog-mini-post.hidden{
    display: none;
}
#gx-accueil-cms .blog-mini-post img{
    width: 110px;
    height: 78px;
    border-radius: 8px;
    object-fit: cover;
}
#gx-accueil-cms .blog-mini-post span{
    color: #6d7c8e;
    font-size: 11px;
    text-transform: uppercase;
    font-weight: 700;
}
#gx-accueil-cms .blog-mini-post small{
    display: block;
    margin-top: 4px;
    color: #7d8da2;
    font-size: 11px;
}
#gx-accueil-cms .blog-mini-post p{
    margin: 4px 0 0;
    font-size: 13px;
    line-height: 1.35;
    color: #1b2b40;
}
#gx-accueil-cms .blog-top-news-categories{
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}
#gx-accueil-cms .blog-top-news-categories span{
    background: #ffffff;
    border: 1px solid #e2e8f1;
    border-radius: 999px;
    padding: 6px 11px;
    font-size: 11px;
    font-weight: 700;
    color: #55667d;
}

@media (max-width: 991px) {
#gx-accueil-cms .blog-top-news-area{
        grid-template-columns: 1fr;
    }
#gx-accueil-cms .blog-posts-grid{
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
#gx-accueil-cms .blog-space-container{
        padding: 24px 16px 36px;
    }
#gx-accueil-cms .blog-featured-story,#gx-accueil-cms .blog-featured-overlay{
        min-height: 300px;
    }
#gx-accueil-cms .blog-posts-grid{
        grid-template-columns: 1fr;
    }
}/* ==== espace-social-media-section.css ==== */
#gx-accueil-cms .social-space-section{
    background: #f7f9fc;
    margin-top: 24px;
}
#gx-accueil-cms .social-space-container{
    max-width: 1280px;
    margin: 0 auto;
    padding: 30px 24px 48px;
}
#gx-accueil-cms .social-intro-card{
    background: linear-gradient(135deg, #ffffff, #f4f8ff);
    border: 1px solid #e1eaf7;
    border-radius: 16px;
    padding: 18px 20px;
    margin-bottom: 16px;
}
#gx-accueil-cms .social-intro-card h3{
    margin: 0 0 8px;
    font-size: 24px;
    color: #0a1628;
}
#gx-accueil-cms .social-intro-card p{
    margin: 0;
    font-size: 14px;
    color: #55667d;
    line-height: 1.65;
}
#gx-accueil-cms .social-icons-grid{
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 16px;
}
#gx-accueil-cms .social-icon-card{
    background: #fff;
    border: 1px solid #e5edf9;
    border-radius: 14px;
    padding: 16px 12px;
    text-align: center;
    box-shadow: 0 6px 20px rgba(10, 22, 40, 0.05);
    animation: social-float 3.2s ease-in-out infinite;
}
#gx-accueil-cms .social-icon-card i{
    font-size: 28px;
    margin-bottom: 8px;
}
#gx-accueil-cms .social-icon-card span{
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #25344a;
}
#gx-accueil-cms .social-icon-card:nth-child(2n){ animation-delay: .4s; }
#gx-accueil-cms .social-icon-card:nth-child(3n){ animation-delay: .8s; }

@keyframes social-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-6px); }
}
#gx-accueil-cms .social-icon-card.pinterest i{ color: #e60023; }
#gx-accueil-cms .social-icon-card.instagram i{ color: #d62976; }
#gx-accueil-cms .social-icon-card.facebook i{ color: #1877f2; }
#gx-accueil-cms .social-icon-card.tiktok i{ color: #111111; }
#gx-accueil-cms .social-icon-card.linkedin i{ color: #0a66c2; }
#gx-accueil-cms .social-icon-card.twitch i{ color: #9146ff; }
#gx-accueil-cms .social-icon-card.snapchat i{ color: #f4cb00; }
#gx-accueil-cms .social-icon-card.youtube i{ color: #ff0000; }
#gx-accueil-cms .social-services-grid{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
#gx-accueil-cms .social-service-item{
    background: #fff;
    border: 1px solid #e4ebf5;
    border-radius: 14px;
    padding: 16px;
}
#gx-accueil-cms .social-service-item h4{
    margin: 0 0 8px;
    color: #153152;
    font-size: 17px;
}
#gx-accueil-cms .social-service-item h4 i{
    color: #1e71d8;
    margin-right: 6px;
}
#gx-accueil-cms .social-service-item p{
    margin: 0;
    color: #576a84;
    font-size: 13px;
    line-height: 1.6;
}

@media (max-width: 991px) {
#gx-accueil-cms .social-icons-grid{
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
#gx-accueil-cms .social-icons-grid,#gx-accueil-cms .social-services-grid{
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 480px) {
#gx-accueil-cms .social-icons-grid,#gx-accueil-cms .social-services-grid{
        grid-template-columns: 1fr;
    }
}/* ==== slideshows.css ==== */
#gx-accueil-cms .slideshows-v2-section{
    margin: 0 40px 0 40px;
    padding: 20px 0;
    background-color: transparent;
}
#gx-accueil-cms .slideshows-v2-container{
    position: relative;
    overflow: hidden;
    background: transparent;
    margin-bottom: 20px;
    height: 450px;
    border-radius: 12px;
}
#gx-accueil-cms .slideshows-v2-track{
    display: flex;
    transition: transform 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    height: 100%;
}
#gx-accueil-cms .slideshows-v2-slide{
    display: flex;
    flex: 0 0 100%;
    height: 100%;
}
#gx-accueil-cms .slideshows-v2-column{
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
#gx-accueil-cms .slideshows-v2-column:hover{
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}
#gx-accueil-cms .slideshows-v2-half{
    width: 50%;
}
#gx-accueil-cms .slideshows-v2-main-tile{
    position: relative;
    height: 100%;
}
#gx-accueil-cms .slideshows-v2-grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    height: 100%;
    gap: 1px;
    background-color: #f0f0f0;
}
#gx-accueil-cms .slideshows-v2-tile{
    position: relative;
    overflow: hidden;
    background-color: white;
}
#gx-accueil-cms .slideshows-v2-tile img,#gx-accueil-cms .slideshows-v2-main-tile img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}
#gx-accueil-cms .slideshows-v2-overlay{
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
    padding: 15px 20px 15px;
    color: white;
    transform: translateY(0);
    transition: transform 0.4s ease;
}
#gx-accueil-cms .slideshows-v2-badge{
    position: absolute;
    top: 12px;
    left: 12px;
    color: white;
    padding: 5px 12px;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    z-index: 5;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
}
#gx-accueil-cms .slideshows-v2-badge-new{
    background: linear-gradient(135deg, #ff4757, #ff3838);
}
#gx-accueil-cms .slideshows-v2-badge-hot{
    background: linear-gradient(135deg, #ff9f1a, #ff7f00);
}
#gx-accueil-cms .slideshows-v2-badge-trending{
    background: linear-gradient(135deg, #2ed573, #1dd1a1);
}
#gx-accueil-cms .slideshows-v2-badge-popular{
    background: linear-gradient(135deg, #1e90ff, #3742fa);
}
#gx-accueil-cms .slideshows-v2-title{
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 4px;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
}
#gx-accueil-cms .slideshows-v2-description{
    font-size: 0.8rem;
    opacity: 0.9;
    line-height: 1.3;
}
#gx-accueil-cms .slideshows-v2-play-btn{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.8);
    width: 65px;
    height: 65px;
    background: rgba(0, 0, 0, 0.85);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 24px;
    cursor: pointer;
    z-index: 10;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    border: 3px solid rgba(255, 255, 255, 0.3);
    opacity: 0;
    visibility: hidden;
}
#gx-accueil-cms .slideshows-v2-item:hover .slideshows-v2-play-btn{
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -50%) scale(1);
}
#gx-accueil-cms .slideshows-v2-play-btn:hover{
    background: rgba(200, 0, 0, 0.95);
    transform: translate(-50%, -50%) scale(1.1);
    border-color: rgba(255, 255, 255, 0.6);
}
#gx-accueil-cms .slideshows-v2-nav{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    margin-top: 25px;
}
#gx-accueil-cms .slideshows-v2-dot{
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: rgba(74, 111, 165, 0.3);
    cursor: pointer;
    transition: all 0.3s ease;
}
#gx-accueil-cms .slideshows-v2-dots{
    display: flex;
    gap: 10px;
}
#gx-accueil-cms .slideshows-v2-dot-active{
    background: #4a6fa5;
    transform: scale(1.3);
    box-shadow: 0 0 10px rgba(74, 111, 165, 0.5);
}
#gx-accueil-cms .slideshows-v2-nav-btn{
    background: white;
    border: 2px solid #e1e8f0;
    color: #4a6fa5;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    font-size: 18px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.05);
}
#gx-accueil-cms .slideshows-v2-nav-btn:hover{
    background: #4a6fa5;
    color: white;
    border-color: #4a6fa5;
    transform: scale(1.1);
    box-shadow: 0 5px 12px rgba(74, 111, 165, 0.3);
}
#gx-accueil-cms .slideshows-v2-modal{
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    z-index: 1000;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.4s ease;
}
#gx-accueil-cms .slideshows-v2-modal-active{
    display: flex;
    opacity: 1;
}
#gx-accueil-cms .slideshows-v2-modal-content{
    background: white;
    border-radius: 12px;
    width: 90%;
    max-width: 900px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
    transform: scale(0.9);
    transition: transform 0.4s ease;
}
#gx-accueil-cms .slideshows-v2-modal-active .slideshows-v2-modal-content{
    transform: scale(1);
}
#gx-accueil-cms .slideshows-v2-modal-header{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 24px;
    background: #f8fafc;
    border-bottom: 1px solid #e1e8f0;
}
#gx-accueil-cms .slideshows-v2-modal-title{
    font-size: 1.3rem;
    font-weight: 700;
    color: #2d3748;
}
#gx-accueil-cms .slideshows-v2-close-modal{
    background: none;
    border: none;
    color: #718096;
    font-size: 28px;
    cursor: pointer;
    transition: color 0.3s ease;
    line-height: 1;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}
#gx-accueil-cms .slideshows-v2-close-modal:hover{
    background-color: #f1f5f9;
    color: #e53e3e;
}
#gx-accueil-cms .slideshows-v2-video-container{
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    background: #000;
}
#gx-accueil-cms .slideshows-v2-video-container iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}
#gx-accueil-cms .slideshows-v2-item:hover img{
    transform: scale(1.08);
}
#gx-accueil-cms .slideshows-v2-item:hover .slideshows-v2-overlay{
    transform: translateY(0);
}


@media (max-width: 1024px) {
#gx-accueil-cms .slideshows-v2-section{
        margin: 0 20px 0 20px;
    }
#gx-accueil-cms .slideshows-v2-container{
        height: 380px;
        background: transparent;
        box-shadow: none;
        border: none;
    }
#gx-accueil-cms .slideshows-v2-slide{
        flex-direction: column;
    }
#gx-accueil-cms .slideshows-v2-half{
        width: 100%;
        height: 50%;
    }
#gx-accueil-cms .slideshows-v2-grid{
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr 1fr;
    }
}

@media (max-width: 768px) {
#gx-accueil-cms .slideshows-v2-section{
        margin: 0;
    }
#gx-accueil-cms .slideshows-v2-container{
        height: 350px;
        background: transparent;
        box-shadow: none;
        border: none;
    }
#gx-accueil-cms .slideshows-v2-slide{
        flex-direction: column;
    }
#gx-accueil-cms .slideshows-v2-half{
        width: 100%;
        height: 50%;
    }
#gx-accueil-cms .slideshows-v2-grid{
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr 1fr;
    }
#gx-accueil-cms .slideshows-v2-title{
        font-size: 1rem;
    }
#gx-accueil-cms .slideshows-v2-play-btn{
        width: 55px;
        height: 55px;
        font-size: 20px;
    }
}

@media (max-width: 480px) {
#gx-accueil-cms .slideshows-v2-container{
        height: 300px;
        background: transparent;
        box-shadow: none;
        border: none;
    }
#gx-accueil-cms .slideshows-v2-grid{
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr 1fr;
    }
#gx-accueil-cms .slideshows-v2-title{
        font-size: 0.9rem;
    }
#gx-accueil-cms .slideshows-v2-badge{
        font-size: 0.65rem;
        padding: 4px 10px;
        top: 8px;
        left: 8px;
    }
#gx-accueil-cms .slideshows-v2-description{
        font-size: 0.7rem;
    }
#gx-accueil-cms .slideshows-v2-play-btn{
        width: 45px;
        height: 45px;
        font-size: 18px;
    }
#gx-accueil-cms .slideshows-v2-nav-btn{
        width: 40px;
        height: 40px;
        font-size: 16px;
    }
}/* ==== video-player.css ==== */
#gx-accueil-cms .video-player-v2-section{
    background: #ffffff;
    margin: 0 40px;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0,0,0,0.08);
}
#gx-accueil-cms .video-player-v2-container{
    max-width: 100%;
    padding: 0;
}
#gx-accueil-cms .video-player-v2-filters{
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}
#gx-accueil-cms .video-player-v2-filter-btn{
    padding: 8px 18px;
    background: #ffffff;
    border: 2px solid #e0e0e0;
    border-radius: 20px;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #333333;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
#gx-accueil-cms .video-player-v2-filter-btn:hover{
    background: #fff5f0;
    border-color: #f26522;
    color: #f26522;
    transform: translateY(-1px);
}
#gx-accueil-cms .video-player-v2-filter-btn.active{
    background: #f26522;
    border-color: #f26522;
    color: #ffffff;
}
#gx-accueil-cms .video-player-v2-content{
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 0;
    align-items: start;
    background: #f0f2f5;
    padding: 28px 32px;
    gap: 24px;
}
#gx-accueil-cms .video-player-v2-main{
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.10);
}/* Le ratio 16:9 est deja porte par la boite [data-gx-video] posee a
   l'interieur : son style en ligne contient padding-top:56.25%, ecrit
   par le composant video de l'editeur. Le padding-bottom du wrapper
   s'ajoutait a ce ratio : la hauteur doublait (653px au lieu de 327px
   pour 581px de large) et une bande noire restait sous le lecteur.
   aspect-ratio impose la meme hauteur que l'enfant sans l'additionner,
   et tient aussi si l'editeur remplace la boite par une video absolue. */
#gx-accueil-cms .video-player-v2-wrapper{
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #000;
    border-radius: 12px 12px 0 0;
    overflow: hidden;
}

/* La boite du composant porte border-radius:14px en ligne ;
#gx-accueil-cms sans cette
   reprise ses coins arrondis laissent voir le fond noir du wrapper. */
.video-player-v2-wrapper > [data-gx-video]{
    border-radius: inherit !important;
}
#gx-accueil-cms .video-player-v2-video{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#gx-accueil-cms .video-player-v2-controls{
    background: #0a1628;
    padding: 14px 20px;
}
#gx-accueil-cms .video-player-v2-progress-bar{
    width: 100%;
    height: 5px;
    background: rgba(255,255,255,0.15);
    border-radius: 3px;
    cursor: pointer;
    margin-bottom: 12px;
    position: relative;
    overflow: hidden;
}
#gx-accueil-cms .video-player-v2-progress-filled{
    height: 100%;
    background: linear-gradient(90deg, #e84c10, #f9a52c);
    border-radius: 3px;
    width: 0%;
    transition: width 0.1s linear;
    position: relative;
}
#gx-accueil-cms .video-player-v2-progress-filled::after{
    content: '';
    position: absolute;
    right: -4px;
    top: 50%;
    transform: translateY(-50%);
    width: 11px;
    height: 11px;
    background: #ffffff;
    border-radius: 50%;
    box-shadow: 0 0 6px rgba(242,101,34,0.8);
}
#gx-accueil-cms .video-player-v2-controls-bottom{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#gx-accueil-cms .video-player-v2-controls-left,#gx-accueil-cms .video-player-v2-controls-right{
    display: flex;
    align-items: center;
    gap: 10px;
}
#gx-accueil-cms .video-player-v2-control-btn{
    background: rgba(255,255,255,0.08);
    border: none;
    color: #ffffff;
    cursor: pointer;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    border-radius: 8px;
}
#gx-accueil-cms .video-player-v2-control-btn:hover{
    background: rgba(255,255,255,0.16);
    transform: scale(1.06);
}
#gx-accueil-cms .video-player-v2-control-btn.play-btn{
    width: 52px;
    height: 52px;
    background: linear-gradient(135deg, #e84c10, #f9a52c);
    border-radius: 50%;
}
#gx-accueil-cms .video-player-v2-control-btn.play-btn:hover{
    background: linear-gradient(135deg, #c43c0a, #f08020);
    transform: scale(1.08);
}
#gx-accueil-cms .video-player-v2-time{
    color: rgba(255,255,255,0.75);
    font-size: 13px;
    font-weight: 500;
    min-width: 95px;
    font-family: 'Montserrat', sans-serif;
}
#gx-accueil-cms .video-player-v2-counter{
    color: #ffffff;
    font-size: 12px;
    font-weight: 600;
    background: rgba(255,255,255,0.1);
    padding: 5px 12px;
    border-radius: 16px;
    min-width: 55px;
    text-align: center;
    font-family: 'Montserrat', sans-serif;
}
#gx-accueil-cms .video-player-v2-info{
    padding: 20px 24px;
    background: #ffffff;
    border-top: 1px solid #e8eaed;
}
#gx-accueil-cms .video-player-v2-title{
    font-size: 20px;
    font-weight: 700;
    color: #1a2942;
    margin: 0 0 6px 0;
    letter-spacing: 0.3px;
    font-family: 'Montserrat', sans-serif;
}
#gx-accueil-cms .video-player-v2-description{
    font-size: 14px;
    color: #5f6b7c;
    margin: 0;
    line-height: 1.6;
    font-family: 'Montserrat', sans-serif;
}
#gx-accueil-cms .video-player-v2-playlist{
    background: #1a2942;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.18);
    display: flex;
    flex-direction: column;
    align-self: stretch;
}
#gx-accueil-cms .video-player-v2-playlist-header{
    padding: 16px 20px;
    background: #0a1628;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-shrink: 0;
}
#gx-accueil-cms .video-player-v2-playlist-title{
    font-size: 14px;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-family: 'Montserrat', sans-serif;
    display: flex;
    align-items: center;
    gap: 8px;
}
#gx-accueil-cms .vp-playlist-count{
    font-size: 11px;
    color: rgba(255,255,255,0.5);
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
}
#gx-accueil-cms .video-player-v2-playlist-items{
    list-style: none;
    margin: 0;
    padding: 0;
    overflow-y: auto;
    flex: 1;
}
#gx-accueil-cms .video-player-v2-playlist-items::-webkit-scrollbar{ width: 5px; }
#gx-accueil-cms .video-player-v2-playlist-items::-webkit-scrollbar-track{ background: rgba(255,255,255,0.04); }
#gx-accueil-cms .video-player-v2-playlist-items::-webkit-scrollbar-thumb{ background: rgba(212,175,55,0.45); border-radius: 3px; }
#gx-accueil-cms .video-player-v2-playlist-items::-webkit-scrollbar-thumb:hover{ background: rgba(212,175,55,0.7); }
#gx-accueil-cms .video-player-v2-playlist-item{
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    cursor: pointer;
    transition: background 0.2s;
    border-bottom: 1px solid rgba(255,255,255,0.05);
    border-left: 3px solid transparent;
}
#gx-accueil-cms .video-player-v2-playlist-item:hover{
    background: rgba(255,255,255,0.06);
}
#gx-accueil-cms .video-player-v2-playlist-item.active{
    background: rgba(242,101,34,0.12);
    border-left-color: #f26522;
}
#gx-accueil-cms .video-player-v2-playlist-thumbnail{
    position: relative;
    width: 100px;
    height: 60px;
    border-radius: 6px;
    overflow: hidden;
    flex-shrink: 0;
    background: #000;
}
#gx-accueil-cms .video-player-v2-playlist-thumbnail img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#gx-accueil-cms .video-player-v2-playlist-badge{
    position: absolute;
    bottom: 4px;
    right: 4px;
    background: rgba(0,0,0,0.82);
    color: #ffffff;
    font-size: 9px;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 3px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-family: 'Montserrat', sans-serif;
}
#gx-accueil-cms .video-player-v2-play-icon{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 28px;
    height: 28px;
    background: rgba(242,101,34,0.9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.2s;
}
#gx-accueil-cms .video-player-v2-playlist-item:hover .video-player-v2-play-icon{
    opacity: 1;
}
#gx-accueil-cms .video-player-v2-playlist-info{
    flex: 1;
    min-width: 0;
}
#gx-accueil-cms .video-player-v2-playlist-name{
    font-size: 13px;
    font-weight: 600;
    color: #e8eaed;
    margin: 0 0 4px 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-family: 'Montserrat', sans-serif;
}
#gx-accueil-cms .video-player-v2-playlist-item.active .video-player-v2-playlist-name{
    color: #f9a52c;
}
#gx-accueil-cms .video-player-v2-playlist-type{
    font-size: 11px;
    color: rgba(255,255,255,0.45);
    margin: 0;
    font-family: 'Montserrat', sans-serif;
}



@media (max-width: 1280px) {
#gx-accueil-cms .video-player-v2-content{
        grid-template-columns: 1fr 300px;
    }
}

@media (max-width: 1024px) {
#gx-accueil-cms .video-player-v2-content{
        grid-template-columns: 1fr 280px;
        padding: 20px 24px;
        gap: 20px;
    }
#gx-accueil-cms .vp-espace-btn{ display: none; }
}

@media (max-width: 768px) {
#gx-accueil-cms .video-player-v2-section{
        margin: 0 12px;
        border-radius: 12px;
    }
#gx-accueil-cms .video-player-v2-content{
        grid-template-columns: 1fr;
        padding: 16px;
        gap: 16px;
    }
#gx-accueil-cms .video-player-v2-playlist{
        max-height: 380px;
    }
#gx-accueil-cms .video-player-v2-main{ border-radius: 10px; }
#gx-accueil-cms .video-player-v2-wrapper{ border-radius: 10px 10px 0 0; }
#gx-accueil-cms .vp-logos-group{ gap: 6px; }
#gx-accueil-cms .vp-logo-mytube{ height: 40px; }
#gx-accueil-cms .vp-logo-plans{ height: 32px; }
#gx-accueil-cms .vp-record-btn{ width: 36px; height: 36px; font-size: 14px; }
#gx-accueil-cms .vp-upload-btn{ min-width: unset; padding: 10px 12px; }
#gx-accueil-cms .vp-upload-text{ display: none; }
#gx-accueil-cms .vp-upload-icon{ width: 36px; height: 36px; font-size: 14px; }
}

@media (max-width: 480px) {
#gx-accueil-cms .video-player-v2-section{ margin: 0; border-radius: 0; }
#gx-accueil-cms .video-player-v2-content{ padding: 12px; gap: 12px; }
#gx-accueil-cms .video-player-v2-control-btn{ width: 34px; height: 34px; }
#gx-accueil-cms .video-player-v2-control-btn.play-btn{ width: 44px; height: 44px; }
#gx-accueil-cms .video-player-v2-time{ font-size: 11px; min-width: 70px; }
#gx-accueil-cms .video-player-v2-counter{ font-size: 11px; padding: 4px 8px; }
#gx-accueil-cms .video-player-v2-title{ font-size: 17px; }
#gx-accueil-cms .video-player-v2-info{ padding: 14px 16px; }
#gx-accueil-cms .video-player-v2-playlist-thumbnail{ width: 84px; height: 50px; }
}/* ==== media-slideshow.css ==== */
#gx-accueil-cms .mss-gallery-wrapper{
    width: 100%;
    margin-bottom: 36px;
    user-select: none;
    -webkit-user-select: none;
}
#gx-accueil-cms .mss-gallery-container{
    position: relative;
    overflow: hidden;
    height: 450px;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.28);
    background: #0a1628;
    border: 1px solid rgba(255,255,255,0.07);
    margin-bottom: 20px;
}
#gx-accueil-cms .mss-gallery-track{
    display: flex;
    height: 100%;
    transition: transform 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
#gx-accueil-cms .mss-gallery-slide{
    display: flex;
    flex: 0 0 100%;
    height: 100%;
}
#gx-accueil-cms .mss-gallery-col{
    overflow: hidden;
}
#gx-accueil-cms .mss-gallery-col--half{
    width: 50%;
}
#gx-accueil-cms .mss-gallery-main{
    position: relative;
    height: 100%;
}
#gx-accueil-cms .mss-gallery-grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    height: 100%;
    gap: 2px;
    background-color: rgba(255,255,255,0.05);
}
#gx-accueil-cms .mss-gallery-tile{
    position: relative;
    overflow: hidden;
    background-color: #0a1628;
}
#gx-accueil-cms .mss-gallery-item{
    position: relative;
    cursor: pointer;
    overflow: hidden;
    height: 100%;
}
#gx-accueil-cms .mss-gallery-item img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.55s ease;
}
#gx-accueil-cms .mss-gallery-item:hover img{
    transform: scale(1.07);
}
#gx-accueil-cms .mss-gallery-overlay{
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.18) 60%, transparent 100%);
    padding: 14px 16px;
    color: #ffffff;
}
#gx-accueil-cms .mss-gallery-badge{
    position: absolute;
    top: 12px;
    left: 12px;
    color: #ffffff;
    padding: 4px 11px;
    border-radius: 4px;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    z-index: 5;
    box-shadow: 0 2px 8px rgba(0,0,0,0.4);
}
#gx-accueil-cms .mss-gallery-badge--new{ background: linear-gradient(135deg, #ff4757, #ff3838); }
#gx-accueil-cms .mss-gallery-badge--hot{ background: linear-gradient(135deg, #f26522, #e84c10); }
#gx-accueil-cms .mss-gallery-badge--trending{ background: linear-gradient(135deg, #2ed573, #1dd1a1); }
#gx-accueil-cms .mss-gallery-badge--popular{ background: linear-gradient(135deg, #1e90ff, #3742fa); }
#gx-accueil-cms .mss-gallery-title{
    font-family: 'Montserrat', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 3px;
    text-shadow: 0 2px 6px rgba(0,0,0,0.9);
    line-height: 1.25;
}
#gx-accueil-cms .mss-gallery-desc{
    font-family: 'Montserrat', sans-serif;
    font-size: 0.75rem;
    opacity: 0.88;
    line-height: 1.35;
    text-shadow: 0 1px 4px rgba(0,0,0,0.8);
}
#gx-accueil-cms .mss-gallery-main .mss-gallery-title{ font-size: 1.25rem; }
#gx-accueil-cms .mss-gallery-main .mss-gallery-desc{ font-size: 0.82rem; }
#gx-accueil-cms .mss-gallery-play{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.82);
    width: 62px;
    height: 62px;
    background: rgba(0, 0, 0, 0.75);
    border: 3px solid rgba(255,255,255,0.4);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 22px;
    cursor: pointer;
    z-index: 10;
    opacity: 0;
    visibility: hidden;
    transition: all 0.35s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
#gx-accueil-cms .mss-gallery-item:hover .mss-gallery-play{
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -50%) scale(1);
}
#gx-accueil-cms .mss-gallery-play:hover{
    background: rgba(242, 101, 34, 0.92);
    border-color: #f26522;
    transform: translate(-50%, -50%) scale(1.1);
}
#gx-accueil-cms .mss-gallery-nav{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;
    margin-top: 18px;
}
#gx-accueil-cms .mss-gallery-dots{
    display: flex;
    gap: 10px;
    align-items: center;
}
#gx-accueil-cms .mss-gallery-dot{
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(255,255,255,0.22);
    cursor: pointer;
    transition: all 0.3s ease;
    border: none;
    padding: 0;
}
#gx-accueil-cms .mss-gallery-dot--active{
    background: #f26522;
    transform: scale(1.35);
    box-shadow: 0 0 10px rgba(242,101,34,0.55);
}
#gx-accueil-cms .mss-gallery-nav-btn{
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255,255,255,0.08);
    border: 2px solid rgba(255,255,255,0.18);
    color: #ffffff;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.25s ease;
}
#gx-accueil-cms .mss-gallery-nav-btn:hover{
    background: #f26522;
    border-color: #f26522;
    transform: scale(1.08);
    box-shadow: 0 5px 14px rgba(242,101,34,0.38);
}



@media (max-width: 1024px) {
#gx-accueil-cms .mss-gallery-container{
        height: 380px;
        border-radius: 10px;
    }
}

@media (max-width: 768px) {
#gx-accueil-cms .mss-gallery-container{
        height: auto;
        border-radius: 8px;
    }
#gx-accueil-cms .mss-gallery-slide{
        flex-direction: column;
    }
#gx-accueil-cms .mss-gallery-col--half{
        width: 100%;
        height: auto;
    }
#gx-accueil-cms .mss-gallery-main{
        height: 220px;
    }
#gx-accueil-cms .mss-gallery-grid{
        height: 220px;
    }
#gx-accueil-cms .mss-gallery-title{ font-size: 0.9rem; }
#gx-accueil-cms .mss-gallery-play{
        width: 52px;
        height: 52px;
        font-size: 18px;
    }
#gx-accueil-cms .mss-gallery-nav-btn{
        width: 38px;
        height: 38px;
        font-size: 14px;
    }
}

@media (max-width: 480px) {
#gx-accueil-cms .mss-gallery-main{ height: 180px; }
#gx-accueil-cms .mss-gallery-grid{ height: 180px; }
#gx-accueil-cms .mss-gallery-badge{
        font-size: 0.62rem;
        padding: 3px 8px;
    }
#gx-accueil-cms .mss-gallery-title{ font-size: 0.82rem; }
#gx-accueil-cms .mss-gallery-desc{ font-size: 0.7rem; }
#gx-accueil-cms .mss-gallery-play{
        width: 44px;
        height: 44px;
        font-size: 16px;
    }
}/* ==== events-vedette.css ==== */
#gx-accueil-cms .vedette-block-header{
    font-family: 'Montserrat', sans-serif;
    overflow: hidden;
    margin-bottom: 32px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.06);
    border-radius: 0 0 12px 12px;
}
#gx-accueil-cms .vedette-block-topbar{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 28px;
    background: linear-gradient(90deg, #1565c0, #1e88e5 50%, #42a5f5);
    flex-wrap: wrap;
}
#gx-accueil-cms .vedette-block-breadcrumb{
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
#gx-accueil-cms .vedette-block-breadcrumb i{
    color: rgba(255,255,255,0.75);
    font-size: 10px;
}
#gx-accueil-cms .vedette-block-breadcrumb a{
    color: rgba(255,255,255,0.85);
    text-decoration: none;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: color 0.2s ease;
}
#gx-accueil-cms .vedette-block-breadcrumb a:hover{
    color: #ffffff;
    text-decoration: underline;
}
#gx-accueil-cms .vedette-block-breadcrumb span.active{
    color: #ffffff;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
#gx-accueil-cms .vedette-block-espaces{
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
#gx-accueil-cms .vedette-espace-btn{
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 12px;
    background: rgba(0,0,0,0.18);
    border: 1px solid rgba(255,255,255,0.22);
    border-radius: 20px;
    color: rgba(255,255,255,0.88);
    font-family: 'Montserrat', sans-serif;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}
#gx-accueil-cms .vedette-espace-btn:hover,#gx-accueil-cms .vedette-espace-btn.active{
    background: rgba(255,255,255,0.25);
    border-color: rgba(255,255,255,0.55);
    color: #ffffff;
}
#gx-accueil-cms .vedette-espace-btn i{
    font-size: 10px;
}
#gx-accueil-cms .vedette-block-heading{
    background: #ffffff;
    padding: 30px 28px 20px;
    text-align: center;
}
#gx-accueil-cms .vedette-block-eyebrow{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #1e88e5;
    margin-bottom: 10px;
}
#gx-accueil-cms .vedette-block-title{
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(22px, 2.5vw, 34px);
    font-weight: 900;
    color: #0a1628;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin: 0 0 10px;
    line-height: 1.15;
}
#gx-accueil-cms .vedette-block-highlight{
    color: #1e88e5;
}
#gx-accueil-cms .vedette-block-lead{
    font-size: 13px;
    color: rgba(10,22,40,0.55);
    line-height: 1.6;
    max-width: 560px;
    margin: 0 auto;
}
#gx-accueil-cms .vedette-block-controls{
    background: #f9fafb;
    border-top: 1px solid rgba(10,22,40,0.07);
    padding: 14px 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
#gx-accueil-cms .vedette-block-more-btn{
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 20px;
    background: #1e88e5;
    color: #ffffff;
    border: none;
    border-radius: 6px;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.25s ease;
    white-space: nowrap;
    flex-shrink: 0;
    box-shadow: 0 2px 10px rgba(30,136,229,0.3);
}
#gx-accueil-cms .vedette-block-more-btn:hover{
    background: #1565c0;
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(30,136,229,0.45);
    color: #ffffff;
}


@media (max-width: 768px) {
#gx-accueil-cms .vedette-block-topbar{
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding: 12px 16px;
    }
#gx-accueil-cms .vedette-block-espaces{ gap: 5px; }
#gx-accueil-cms .vedette-espace-btn span{ display: none; }
#gx-accueil-cms .vedette-espace-btn{ padding: 5px 9px; }
#gx-accueil-cms .vedette-block-heading{ padding: 20px 16px 16px; }
#gx-accueil-cms .vedette-block-controls{
        padding: 12px 16px;
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }
#gx-accueil-cms .vedette-block-more-btn{ justify-content: center; }
}
#gx-accueil-cms .events-media-carousel{
    position: relative;
    width: 100%;
    height: 420px;
    overflow: hidden;
    background: #0a1628;
    margin-bottom: 36px;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.18);
}
#gx-accueil-cms .events-media-track{
    position: relative;
    width: 100%;
    height: 100%;
}
#gx-accueil-cms .events-media-slide{
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.7s ease;
    pointer-events: none;
}
#gx-accueil-cms .events-media-slide.active{
    opacity: 1;
    pointer-events: auto;
}
#gx-accueil-cms .events-media-slide img,#gx-accueil-cms .events-media-slide video{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
#gx-accueil-cms .events-media-slide::after{
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.70) 0%, rgba(0,0,0,0.15) 55%, transparent 100%);
    pointer-events: none;
}
#gx-accueil-cms .events-media-caption{
    position: absolute;
    bottom: 52px;
    left: 0;
    right: 0;
    padding: 0 40px;
    z-index: 2;
    color: #ffffff;
}
#gx-accueil-cms .events-media-caption h3{
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(18px, 2vw, 26px);
    font-weight: 800;
    margin: 0 0 6px;
    text-shadow: 0 2px 8px rgba(0,0,0,0.5);
}
#gx-accueil-cms .events-media-caption p{
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 400;
    margin: 0;
    opacity: 0.88;
    text-shadow: 0 1px 4px rgba(0,0,0,0.5);
}
#gx-accueil-cms .events-media-badge{
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: rgba(30,136,229,0.85);
    color: #ffffff;
    font-family: 'Montserrat', sans-serif;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 4px 10px;
    border-radius: 20px;
    margin-bottom: 8px;
}
#gx-accueil-cms .events-media-badge--video{
    background: rgba(21,101,192,0.9);
}
#gx-accueil-cms .events-media-nav{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 44px;
    height: 44px;
    background: rgba(255,255,255,0.15);
    border: 2px solid rgba(255,255,255,0.35);
    border-radius: 50%;
    color: #ffffff;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    backdrop-filter: blur(4px);
}
#gx-accueil-cms .events-media-nav:hover{
    background: rgba(30,136,229,0.75);
    border-color: #1e88e5;
}
#gx-accueil-cms .events-media-nav--prev{ left: 16px; }
#gx-accueil-cms .events-media-nav--next{ right: 16px; }
#gx-accueil-cms .events-media-dots{
    position: absolute;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    display: flex;
    gap: 8px;
    align-items: center;
}
#gx-accueil-cms .events-media-dots button{
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,0.6);
    background: transparent;
    cursor: pointer;
    transition: all 0.25s ease;
    padding: 0;
}
#gx-accueil-cms .events-media-dots button.active{
    background: #ffffff;
    border-color: #ffffff;
    width: 22px;
    border-radius: 4px;
}

@media (max-width: 768px) {
#gx-accueil-cms .events-media-carousel{
        height: 260px;
        border-radius: 8px;
    }
#gx-accueil-cms .events-media-caption{
        bottom: 44px;
        padding: 0 20px;
    }
#gx-accueil-cms .events-media-nav{
        width: 36px;
        height: 36px;
        font-size: 13px;
    }
}

@media (max-width: 480px) {
#gx-accueil-cms .events-media-carousel{ height: 210px; }
#gx-accueil-cms .events-media-caption h3{ font-size: 15px; }
}
#gx-accueil-cms .vedette-media-open-btn{
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 10;
    width: 42px;
    height: 42px;
    background: rgba(0,0,0,0.45);
    border: 2px solid rgba(255,255,255,0.5);
    border-radius: 50%;
    color: #ffffff;
    font-size: 15px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.22s ease;
    backdrop-filter: blur(4px);
    opacity: 0;
    transform: scale(0.85);
}
#gx-accueil-cms .events-media-slide.active .vedette-media-open-btn{
    opacity: 1;
    transform: scale(1);
}
#gx-accueil-cms .vedette-media-open-btn:hover{
    background: rgba(30,136,229,0.75);
    border-color: #1e88e5;
    transform: scale(1.1);
}
#gx-accueil-cms .vedette-media-open-btn--play{
    top: 50%;
    right: auto;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.85);
    width: 64px;
    height: 64px;
    font-size: 22px;
    background: rgba(0,0,0,0.55);
    border-width: 3px;
}
#gx-accueil-cms .events-media-slide.active .vedette-media-open-btn--play{
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}
#gx-accueil-cms .vedette-media-open-btn--play:hover{
    transform: translate(-50%, -50%) scale(1.1);
}
#gx-accueil-cms .vedette-lightbox{
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
#gx-accueil-cms .vedette-lightbox.active{
    display: flex;
}
#gx-accueil-cms .vedette-lightbox-bg{
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.92);
    cursor: pointer;
}
#gx-accueil-cms .vedette-lightbox-close{
    position: absolute;
    top: 18px;
    right: 20px;
    z-index: 2;
    width: 44px;
    height: 44px;
    background: rgba(255,255,255,0.12);
    border: 2px solid rgba(255,255,255,0.35);
    border-radius: 50%;
    color: #ffffff;
    font-size: 18px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}
#gx-accueil-cms .vedette-lightbox-close:hover{
    background: rgba(220,50,50,0.7);
    border-color: #e53935;
}
#gx-accueil-cms .vedette-lightbox-nav{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 50px;
    height: 50px;
    background: rgba(255,255,255,0.12);
    border: 2px solid rgba(255,255,255,0.35);
    border-radius: 50%;
    color: #ffffff;
    font-size: 18px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}
#gx-accueil-cms .vedette-lightbox-nav:hover{
    background: rgba(30,136,229,0.7);
    border-color: #1e88e5;
}
#gx-accueil-cms .vedette-lightbox-prev{ left: 20px; }
#gx-accueil-cms .vedette-lightbox-next{ right: 20px; }
#gx-accueil-cms .vedette-lightbox-stage{
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 92vw;
    max-height: 80vh;
}
#gx-accueil-cms .vedette-lightbox-img{
    max-width: 92vw;
    max-height: 80vh;
    object-fit: contain;
    border-radius: 6px;
    box-shadow: 0 16px 60px rgba(0,0,0,0.6);
}
#gx-accueil-cms .vedette-lightbox-video{
    max-width: 92vw;
    max-height: 80vh;
    border-radius: 6px;
    box-shadow: 0 16px 60px rgba(0,0,0,0.6);
    background: #000;
}
#gx-accueil-cms .vedette-lightbox-info{
    position: relative;
    z-index: 2;
    text-align: center;
    margin-top: 16px;
    color: #ffffff;
    max-width: 600px;
    padding: 0 20px;
}
#gx-accueil-cms .vedette-lightbox-info h3{
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    font-weight: 800;
    margin: 0 0 4px;
}
#gx-accueil-cms .vedette-lightbox-info p{
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    opacity: 0.75;
    margin: 0;
}
#gx-accueil-cms .vedette-lightbox-counter{
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: rgba(255,255,255,0.6);
    letter-spacing: 1px;
}

@media (max-width: 768px) {
#gx-accueil-cms .vedette-lightbox-nav{ width: 38px; height: 38px; font-size: 14px; }
#gx-accueil-cms .vedette-lightbox-prev{ left: 8px; }
#gx-accueil-cms .vedette-lightbox-next{ right: 8px; }
#gx-accueil-cms .vedette-lightbox-info h3{ font-size: 15px; }
}
#gx-accueil-cms .events-vedette-v2-section{
    width: 100%;
    padding: 60px 0;
    background: #ffffff;
    position: relative;
}
#gx-accueil-cms .events-vedette-v2-container{
    max-width: 100%;
    margin: 0 auto;
    padding: 0 40px;
}
#gx-accueil-cms .events-vedette-v2-header{
    display: flex;
    flex-direction: column; 
    gap: 20px;
    margin-bottom: 40px;
    text-align: center;
}
#gx-accueil-cms .events-vedette-v2-title{
    width: 100%;
    font-family: 'Montserrat', sans-serif;
    font-size: 26px;
    font-weight: 800;
    color: #1a1a1a;
    letter-spacing: 1px;
    margin: 0;
    text-transform: uppercase;
}
#gx-accueil-cms .events-vedette-v2-header-controls{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 20px;
}
#gx-accueil-cms .events-vedette-v2-filters{
    display: flex;
    gap: 10px;
    align-items: center;
}
#gx-accueil-cms .filter-label{
    font-size: 13px;
    font-weight: 700;
    color: #666;
    margin-right: 5px;
    text-transform: uppercase;
}
#gx-accueil-cms .events-vedette-v2-filter-btn{
    padding: 8px 18px;
    background: #ffffff;
    border: 2px solid #e0e0e0;
    border-radius: 20px;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #333333;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
    flex-shrink: 0;
}
#gx-accueil-cms .events-vedette-v2-filter-btn:hover{
    background: #f5f5f5;
    border-color: #d32f2f;
    color: #d32f2f;
    transform: translateY(-1px);
}
#gx-accueil-cms .events-vedette-v2-filter-btn.active{
    background: #d32f2f;
    border-color: #d32f2f;
    color: #ffffff;
}
#gx-accueil-cms .events-vedette-v2-more-btn{
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 20px;
    background: #d32f2f;
    border: none;
    border-radius: 40px;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #ffffff;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 3px 12px rgba(211, 47, 47, 0.3);
    white-space: nowrap;
    flex-shrink: 0;
}
#gx-accueil-cms .events-vedette-v2-more-btn:hover{
    background: #b71c1c;
    transform: translateY(-1px);
    box-shadow: 0 5px 18px rgba(211, 47, 47, 0.4);
}
#gx-accueil-cms .events-vedette-v2-plus-icon{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background: #ffffff;
    color: #d32f2f;
    border-radius: 50%;
    font-size: 18px;
    font-weight: 700;
}
#gx-accueil-cms .events-vedette-v2-scroll-wrapper{
    width: 100%;
    overflow: hidden;
    position: relative;
}
#gx-accueil-cms .events-vedette-v2-scroll-container{
    display: flex;
    gap: 20px;
    overflow: visible;
    padding-bottom: 8px;
    will-change: transform;
}
#gx-accueil-cms .vedette-carousel-outer{
    position: relative;
    padding: 0 52px;
}
#gx-accueil-cms .vedette-carousel-btn{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #ffffff;
    border: 2px solid #e0e0e0;
    color: #555555;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    z-index: 10;
    transition: all 0.3s ease;
    box-shadow: 0 3px 14px rgba(0,0,0,0.12);
    outline: none;
    padding: 0;
}
#gx-accueil-cms .vedette-carousel-prev{ left: 0; }
#gx-accueil-cms .vedette-carousel-next{ right: 0; }
#gx-accueil-cms .events-vedette-v2-section .vedette-carousel-btn:hover{
    background: #d32f2f;
    border-color: #d32f2f;
    color: #ffffff;
    box-shadow: 0 4px 18px rgba(211,47,47,0.35);
}
#gx-accueil-cms .vedette-carousel-progress{
    height: 3px;
    background: #f0f0f0;
    margin: 14px 52px 4px;
    border-radius: 2px;
    overflow: hidden;
}
#gx-accueil-cms .vedette-carousel-bar{
    height: 100%;
    width: 0%;
    border-radius: 2px;
    transition: width 3.5s linear;
}
#gx-accueil-cms .events-vedette-v2-section .vedette-carousel-bar{
    background: #d32f2f;
}
#gx-accueil-cms .events-vedette-v2-card{
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 3px 15px rgba(0, 0, 0, 0.1);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 320px;
    max-width: 320px;
    flex-shrink: 0;
}
#gx-accueil-cms .events-vedette-v2-card:hover{
    transform: translateY(-6px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}
#gx-accueil-cms .events-vedette-v2-card.events-vedette-v2-hidden{
    display: none;
}
#gx-accueil-cms .events-vedette-v2-card-image{
    position: relative;
    width: 100%;
    height: 180px;
    overflow: hidden;
}
#gx-accueil-cms .events-vedette-v2-card-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}
#gx-accueil-cms .events-vedette-v2-card:hover .events-vedette-v2-card-image img{
    transform: scale(1.08);
}
#gx-accueil-cms .events-vedette-v2-card-date{
    position: absolute;
    top: 12px;
    left: 12px;
    background: #1b5e20;
    padding: 6px 14px;
    border-radius: 6px;
    z-index: 2;
}
#gx-accueil-cms .events-vedette-v2-date-text{
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: 0.5px;
}
#gx-accueil-cms .events-vedette-v2-card-content{
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
}
#gx-accueil-cms .events-vedette-v2-card-title{
    font-family: 'Montserrat', sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
#gx-accueil-cms .events-vedette-v2-card-description{
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 400;
    color: #666666;
    line-height: 1.5;
    margin: 0;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
#gx-accueil-cms .events-vedette-v2-card-footer{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding-top: 10px;
    border-top: 1px solid #f0f0f0;
}
#gx-accueil-cms .events-vedette-v2-card-location{
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: #333333;
    display: flex;
    align-items: center;
    gap: 4px;
}
#gx-accueil-cms .events-vedette-v2-card-location::before{
    content: '📍';
    font-size: 13px;
}
#gx-accueil-cms .events-vedette-v2-card-tag{
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 500;
    color: #666666;
    background: #f5f5f5;
    padding: 4px 10px;
    border-radius: 10px;
    white-space: nowrap;
}




@media (max-width: 1024px) {
#gx-accueil-cms .events-vedette-v2-section{
        padding: 40px 0;
    }
#gx-accueil-cms .events-vedette-v2-container{
        padding: 0 20px;
    }
#gx-accueil-cms .events-vedette-v2-header{
        gap: 15px;
    }
#gx-accueil-cms .events-vedette-v2-title{
        font-size: 18px;
    }
#gx-accueil-cms .events-vedette-v2-filters{
        gap: 6px;
    }
#gx-accueil-cms .events-vedette-v2-filter-btn{
        font-size: 11px;
        padding: 6px 14px;
    }
#gx-accueil-cms .events-vedette-v2-more-btn{
        font-size: 12px;
        padding: 6px 16px;
    }
#gx-accueil-cms .events-vedette-v2-plus-icon{
        width: 22px;
        height: 22px;
        font-size: 17px;
    }
#gx-accueil-cms .events-vedette-v2-card{
        min-width: 260px;
        max-width: 260px;
    }
#gx-accueil-cms .events-vedette-v2-card-image{
        height: 170px;
    }
}


@media (max-width: 768px) {
#gx-accueil-cms .events-vedette-v2-section{
        padding: 30px 0;
    }
#gx-accueil-cms .events-vedette-v2-container{
        padding: 0 15px;
    }
#gx-accueil-cms .events-vedette-v2-header{
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        margin-bottom: 20px;
    }
#gx-accueil-cms .events-vedette-v2-title{
        font-size: 16px;
        width: 100%;
        white-space: normal;
        line-height: 1.3;
    }
#gx-accueil-cms .events-vedette-v2-filters{
        width: 100%;
        overflow-x: auto;
        scrollbar-width: none;
        gap: 6px;
        padding-bottom: 5px;
    }
#gx-accueil-cms .events-vedette-v2-filters::-webkit-scrollbar{
        display: none;
    }
#gx-accueil-cms .events-vedette-v2-filter-btn{
        font-size: 11px;
        padding: 6px 12px;
        border-radius: 16px;
    }
#gx-accueil-cms .events-vedette-v2-more-btn{
        font-size: 12px;
        padding: 7px 16px;
        align-self: flex-start;
    }
#gx-accueil-cms .events-vedette-v2-plus-icon{
        width: 20px;
        height: 20px;
        font-size: 16px;
    }
#gx-accueil-cms .events-vedette-v2-scroll-container{
        gap: 15px;
        padding-bottom: 12px;
    }
#gx-accueil-cms .events-vedette-v2-card{
        min-width: 280px;
        max-width: 280px;
    }
#gx-accueil-cms .events-vedette-v2-card-image{
        height: 180px;
    }
#gx-accueil-cms .events-vedette-v2-card-content{
        padding: 16px;
    }
#gx-accueil-cms .events-vedette-v2-card-title{
        font-size: 15px;
    }
#gx-accueil-cms .events-vedette-v2-card-description{
        font-size: 12px;
    }
#gx-accueil-cms .events-vedette-v2-card-footer{
        padding-top: 8px;
    }
#gx-accueil-cms .events-vedette-v2-card-location{
        font-size: 11px;
    }
#gx-accueil-cms .events-vedette-v2-card-tag{
        font-size: 10px;
        padding: 3px 8px;
    }
}


@media (max-width: 480px) {
#gx-accueil-cms .events-vedette-v2-section{
        padding: 25px 0;
    }
#gx-accueil-cms .events-vedette-v2-container{
        padding: 0 12px;
    }
#gx-accueil-cms .events-vedette-v2-title{
        font-size: 14px;
        font-weight: 800;
    }
#gx-accueil-cms .events-vedette-v2-filter-btn{
        font-size: 10px;
        padding: 5px 10px;
    }
#gx-accueil-cms .events-vedette-v2-more-btn{
        font-size: 11px;
        padding: 6px 14px;
    }
#gx-accueil-cms .events-vedette-v2-plus-icon{
        width: 18px;
        height: 18px;
        font-size: 14px;
    }
#gx-accueil-cms .events-vedette-v2-scroll-container{
        gap: 12px;
    }
#gx-accueil-cms .events-vedette-v2-card{
        min-width: 260px;
        max-width: 260px;
    }
#gx-accueil-cms .events-vedette-v2-card-image{
        height: 160px;
    }
#gx-accueil-cms .events-vedette-v2-card-content{
        padding: 14px;
    }
#gx-accueil-cms .events-vedette-v2-card-title{
        font-size: 14px;
    }
#gx-accueil-cms .events-vedette-v2-card-description{
        font-size: 11px;
    }
#gx-accueil-cms .events-vedette-v2-card-date{
        top: 10px;
        left: 10px;
        padding: 5px 12px;
    }
#gx-accueil-cms .events-vedette-v2-date-text{
        font-size: 11px;
    }
}/* ==== destinations-vedette.css ==== */
#gx-accueil-cms .vedette-block-header{
    font-family: 'Montserrat', sans-serif;
    overflow: hidden;
    margin-bottom: 32px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.06);
    border-radius: 0 0 12px 12px;
}
#gx-accueil-cms .vedette-block-topbar{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 28px;
    background: linear-gradient(90deg, #1565c0, #1e88e5 50%, #42a5f5);
    flex-wrap: wrap;
}
#gx-accueil-cms .vedette-block-breadcrumb{
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
#gx-accueil-cms .vedette-block-breadcrumb i{
    color: rgba(255,255,255,0.75);
    font-size: 10px;
}
#gx-accueil-cms .vedette-block-breadcrumb a{
    color: rgba(255,255,255,0.85);
    text-decoration: none;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: color 0.2s ease;
}
#gx-accueil-cms .vedette-block-breadcrumb a:hover{
    color: #ffffff;
    text-decoration: underline;
}
#gx-accueil-cms .vedette-block-breadcrumb span.active{
    color: #ffffff;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
#gx-accueil-cms .vedette-block-espaces{
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
#gx-accueil-cms .vedette-espace-btn{
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 12px;
    background: rgba(0,0,0,0.18);
    border: 1px solid rgba(255,255,255,0.22);
    border-radius: 20px;
    color: rgba(255,255,255,0.88);
    font-family: 'Montserrat', sans-serif;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}
#gx-accueil-cms .vedette-espace-btn:hover,#gx-accueil-cms .vedette-espace-btn.active{
    background: rgba(255,255,255,0.25);
    border-color: rgba(255,255,255,0.55);
    color: #ffffff;
}
#gx-accueil-cms .vedette-espace-btn i{
    font-size: 10px;
}
#gx-accueil-cms .vedette-block-heading{
    background: #ffffff;
    padding: 30px 28px 20px;
    text-align: center;
}
#gx-accueil-cms .vedette-block-eyebrow{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #1e88e5;
    margin-bottom: 10px;
}
#gx-accueil-cms .vedette-block-title{
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(22px, 2.5vw, 34px);
    font-weight: 900;
    color: #0a1628;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin: 0 0 10px;
    line-height: 1.15;
}
#gx-accueil-cms .vedette-block-highlight{
    color: #1e88e5;
}
#gx-accueil-cms .vedette-block-lead{
    font-size: 13px;
    color: rgba(10,22,40,0.55);
    line-height: 1.6;
    max-width: 560px;
    margin: 0 auto;
}
#gx-accueil-cms .vedette-block-controls{
    background: #f9fafb;
    border-top: 1px solid rgba(10,22,40,0.07);
    padding: 14px 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
#gx-accueil-cms .vedette-block-more-btn{
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 20px;
    background: #1e88e5;
    color: #ffffff;
    border: none;
    border-radius: 6px;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.25s ease;
    white-space: nowrap;
    flex-shrink: 0;
    box-shadow: 0 2px 10px rgba(30,136,229,0.3);
}
#gx-accueil-cms .vedette-block-more-btn:hover{
    background: #1565c0;
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(30,136,229,0.45);
    color: #ffffff;
}


@media (max-width: 768px) {
#gx-accueil-cms .vedette-block-topbar{
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding: 12px 16px;
    }
#gx-accueil-cms .vedette-block-espaces{ gap: 5px; }
#gx-accueil-cms .vedette-espace-btn span{ display: none; }
#gx-accueil-cms .vedette-espace-btn{ padding: 5px 9px; }
#gx-accueil-cms .vedette-block-heading{ padding: 20px 16px 16px; }
#gx-accueil-cms .vedette-block-controls{
        padding: 12px 16px;
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }
#gx-accueil-cms .vedette-block-more-btn{ justify-content: center; }
}
#gx-accueil-cms .dest-media-carousel{
    position: relative;
    width: 100%;
    height: 420px;
    overflow: hidden;
    background: #0a1628;
    margin-bottom: 36px;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.18);
}
#gx-accueil-cms .dest-media-track{
    position: relative;
    width: 100%;
    height: 100%;
}
#gx-accueil-cms .dest-media-slide{
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.7s ease;
    pointer-events: none;
}
#gx-accueil-cms .dest-media-slide.active{
    opacity: 1;
    pointer-events: auto;
}
#gx-accueil-cms .dest-media-slide img,#gx-accueil-cms .dest-media-slide video{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
#gx-accueil-cms .dest-media-slide::after{
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.70) 0%, rgba(0,0,0,0.15) 55%, transparent 100%);
    pointer-events: none;
}
#gx-accueil-cms .dest-media-caption{
    position: absolute;
    bottom: 52px;
    left: 0;
    right: 0;
    padding: 0 40px;
    z-index: 2;
    color: #ffffff;
}
#gx-accueil-cms .dest-media-caption h3{
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(18px, 2vw, 26px);
    font-weight: 800;
    margin: 0 0 6px;
    text-shadow: 0 2px 8px rgba(0,0,0,0.5);
}
#gx-accueil-cms .dest-media-caption p{
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 400;
    margin: 0;
    opacity: 0.88;
    text-shadow: 0 1px 4px rgba(0,0,0,0.5);
}
#gx-accueil-cms .dest-media-badge{
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: rgba(30,136,229,0.85);
    color: #ffffff;
    font-family: 'Montserrat', sans-serif;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 4px 10px;
    border-radius: 20px;
    margin-bottom: 8px;
}
#gx-accueil-cms .dest-media-badge--video{
    background: rgba(21,101,192,0.9);
}
#gx-accueil-cms .dest-media-nav{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 44px;
    height: 44px;
    background: rgba(255,255,255,0.15);
    border: 2px solid rgba(255,255,255,0.35);
    border-radius: 50%;
    color: #ffffff;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    backdrop-filter: blur(4px);
}
#gx-accueil-cms .dest-media-nav:hover{
    background: rgba(30,136,229,0.75);
    border-color: #1e88e5;
}
#gx-accueil-cms .dest-media-nav--prev{ left: 16px; }
#gx-accueil-cms .dest-media-nav--next{ right: 16px; }
#gx-accueil-cms .dest-media-dots{
    position: absolute;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    display: flex;
    gap: 8px;
    align-items: center;
}
#gx-accueil-cms .dest-media-dots button{
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,0.6);
    background: transparent;
    cursor: pointer;
    transition: all 0.25s ease;
    padding: 0;
}
#gx-accueil-cms .dest-media-dots button.active{
    background: #ffffff;
    border-color: #ffffff;
    width: 22px;
    border-radius: 4px;
}

@media (max-width: 768px) {
#gx-accueil-cms .dest-media-carousel{ height: 260px; border-radius: 8px; }
#gx-accueil-cms .dest-media-caption{ bottom: 44px; padding: 0 20px; }
#gx-accueil-cms .dest-media-nav{ width: 36px; height: 36px; font-size: 13px; }
}

@media (max-width: 480px) {
#gx-accueil-cms .dest-media-carousel{ height: 210px; }
#gx-accueil-cms .dest-media-caption h3{ font-size: 15px; }
}
#gx-accueil-cms .vedette-media-open-btn{
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 10;
    width: 42px;
    height: 42px;
    background: rgba(0,0,0,0.45);
    border: 2px solid rgba(255,255,255,0.5);
    border-radius: 50%;
    color: #ffffff;
    font-size: 15px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.22s ease;
    backdrop-filter: blur(4px);
    opacity: 0;
    transform: scale(0.85);
}
#gx-accueil-cms .dest-media-slide.active .vedette-media-open-btn,#gx-accueil-cms .events-media-slide.active .vedette-media-open-btn{
    opacity: 1;
    transform: scale(1);
}
#gx-accueil-cms .vedette-media-open-btn:hover{
    background: rgba(30,136,229,0.75);
    border-color: #1e88e5;
    transform: scale(1.1);
}
#gx-accueil-cms .vedette-media-open-btn--play{
    top: 50%;
    right: auto;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.85);
    width: 64px;
    height: 64px;
    font-size: 22px;
    background: rgba(0,0,0,0.55);
    border-width: 3px;
}
#gx-accueil-cms .dest-media-slide.active .vedette-media-open-btn--play,#gx-accueil-cms .events-media-slide.active .vedette-media-open-btn--play{
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}
#gx-accueil-cms .vedette-media-open-btn--play:hover{
    transform: translate(-50%, -50%) scale(1.1);
}
#gx-accueil-cms .vedette-lightbox{
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
#gx-accueil-cms .vedette-lightbox.active{
    display: flex;
}
#gx-accueil-cms .vedette-lightbox-bg{
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.92);
    cursor: pointer;
}
#gx-accueil-cms .vedette-lightbox-close{
    position: absolute;
    top: 18px;
    right: 20px;
    z-index: 2;
    width: 44px;
    height: 44px;
    background: rgba(255,255,255,0.12);
    border: 2px solid rgba(255,255,255,0.35);
    border-radius: 50%;
    color: #ffffff;
    font-size: 18px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}
#gx-accueil-cms .vedette-lightbox-close:hover{
    background: rgba(220,50,50,0.7);
    border-color: #e53935;
}
#gx-accueil-cms .vedette-lightbox-nav{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 50px;
    height: 50px;
    background: rgba(255,255,255,0.12);
    border: 2px solid rgba(255,255,255,0.35);
    border-radius: 50%;
    color: #ffffff;
    font-size: 18px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}
#gx-accueil-cms .vedette-lightbox-nav:hover{
    background: rgba(30,136,229,0.7);
    border-color: #1e88e5;
}
#gx-accueil-cms .vedette-lightbox-prev{ left: 20px; }
#gx-accueil-cms .vedette-lightbox-next{ right: 20px; }
#gx-accueil-cms .vedette-lightbox-stage{
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 92vw;
    max-height: 80vh;
}
#gx-accueil-cms .vedette-lightbox-img{
    max-width: 92vw;
    max-height: 80vh;
    object-fit: contain;
    border-radius: 6px;
    box-shadow: 0 16px 60px rgba(0,0,0,0.6);
}
#gx-accueil-cms .vedette-lightbox-video{
    max-width: 92vw;
    max-height: 80vh;
    border-radius: 6px;
    box-shadow: 0 16px 60px rgba(0,0,0,0.6);
    background: #000;
}
#gx-accueil-cms .vedette-lightbox-info{
    position: relative;
    z-index: 2;
    text-align: center;
    margin-top: 16px;
    color: #ffffff;
    max-width: 600px;
    padding: 0 20px;
}
#gx-accueil-cms .vedette-lightbox-info h3{
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    font-weight: 800;
    margin: 0 0 4px;
}
#gx-accueil-cms .vedette-lightbox-info p{
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    opacity: 0.75;
    margin: 0;
}
#gx-accueil-cms .vedette-lightbox-counter{
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: rgba(255,255,255,0.6);
    letter-spacing: 1px;
}

@media (max-width: 768px) {
#gx-accueil-cms .vedette-lightbox-nav{ width: 38px; height: 38px; font-size: 14px; }
#gx-accueil-cms .vedette-lightbox-prev{ left: 8px; }
#gx-accueil-cms .vedette-lightbox-next{ right: 8px; }
#gx-accueil-cms .vedette-lightbox-info h3{ font-size: 15px; }
}
#gx-accueil-cms .destinations-vedette-v2-section{
    width: 100%;
    padding: 60px 0;
    background: #f8f9fa;
    position: relative;
}
#gx-accueil-cms .destinations-vedette-v2-container{
    max-width: 100%;
    margin: 0 auto;
    padding: 0 40px;
}
#gx-accueil-cms .destinations-vedette-v2-header{
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 40px;
    text-align: center;
}
#gx-accueil-cms .destinations-vedette-v2-title{
    width: 100%;
    font-family: 'Montserrat', sans-serif;
    font-size: 26px;
    font-weight: 800;
    color: #1a1a1a;
    letter-spacing: 1px;
    margin: 0;
    text-transform: uppercase;
}
#gx-accueil-cms .destinations-vedette-v2-header-controls{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 20px;
}
#gx-accueil-cms .destinations-vedette-v2-filters{
    display: flex;
    gap: 10px;
    align-items: center;
}
#gx-accueil-cms .filter-label{
    font-size: 13px;
    font-weight: 700;
    color: #666;
    margin-right: 5px;
    text-transform: uppercase;
}
#gx-accueil-cms .destinations-vedette-v2-filter-btn{
    padding: 8px 18px;
    background: #ffffff;
    border: 2px solid #e0e0e0;
    border-radius: 20px;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #333333;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
}
#gx-accueil-cms .destinations-vedette-v2-filter-btn:hover{
    background: #f5f5f5;
    border-color: #d32f2f;
    color: #d32f2f;
}
#gx-accueil-cms .destinations-vedette-v2-filter-btn.active{
    background: #d32f2f;
    border-color: #d32f2f;
    color: #ffffff;
}
#gx-accueil-cms .destinations-vedette-v2-more-btn{
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 20px;
    background: #d32f2f;
    border: none;
    border-radius: 40px;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #ffffff;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 3px 12px rgba(211, 47, 47, 0.3);
    white-space: nowrap;
    flex-shrink: 0;
}
#gx-accueil-cms .destinations-vedette-v2-more-btn:hover{
    background: #b71c1c;
    transform: translateY(-1px);
    box-shadow: 0 5px 18px rgba(211, 47, 47, 0.4);
}
#gx-accueil-cms .destinations-vedette-v2-plus-icon{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background: #ffffff;
    color: #d32f2f;
    border-radius: 50%;
    font-size: 18px;
    font-weight: 700;
}
#gx-accueil-cms .destinations-vedette-v2-scroll-wrapper{
    width: 100%;
    overflow: hidden;
    position: relative;
}
#gx-accueil-cms .destinations-vedette-v2-scroll-container{
    display: flex;
    gap: 20px;
    overflow: visible;
    padding-bottom: 8px;
    will-change: transform;
}
#gx-accueil-cms .destinations-vedette-v2-section .vedette-carousel-btn:hover{
    background: #1e88e5;
    border-color: #1e88e5;
    color: #ffffff;
    box-shadow: 0 4px 18px rgba(30,136,229,0.35);
}
#gx-accueil-cms .destinations-vedette-v2-section .vedette-carousel-bar{
    background: #1e88e5;
}
#gx-accueil-cms .destinations-vedette-v2-card{
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 3px 15px rgba(0, 0, 0, 0.1);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 320px;
    max-width: 320px;
    flex-shrink: 0;
}
#gx-accueil-cms .destinations-vedette-v2-card:hover{
    transform: translateY(-6px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}
#gx-accueil-cms .destinations-vedette-v2-card-image{
    position: relative;
    width: 100%;
    height: 180px;
    overflow: hidden;
}
#gx-accueil-cms .destinations-vedette-v2-card-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}
#gx-accueil-cms .destinations-vedette-v2-card:hover .destinations-vedette-v2-card-image img{
    transform: scale(1.08);
}
#gx-accueil-cms .destinations-vedette-v2-card-content{
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
}
#gx-accueil-cms .destinations-vedette-v2-card-title{
    font-family: 'Montserrat', sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
#gx-accueil-cms .destinations-vedette-v2-card-description{
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 400;
    color: #666666;
    line-height: 1.5;
    margin: 0;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
#gx-accueil-cms .destinations-vedette-v2-card-footer{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding-top: 10px;
    border-top: 1px solid #f0f0f0;
}
#gx-accueil-cms .destinations-vedette-v2-card-location{
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: #333333;
    display: flex;
    align-items: center;
    gap: 4px;
}
#gx-accueil-cms .destinations-vedette-v2-card-location::before{
    content: '📍';
    font-size: 13px;
}
#gx-accueil-cms .destinations-vedette-v2-card-rating{
    font-size: 12px;
    line-height: 1;
}




@media (max-width: 1024px) {
#gx-accueil-cms .destinations-vedette-v2-section{
        padding: 40px 0;
    }
#gx-accueil-cms .destinations-vedette-v2-container{
        padding: 0 20px;
    }
#gx-accueil-cms .destinations-vedette-v2-header{
        gap: 15px;
    }
#gx-accueil-cms .destinations-vedette-v2-title{
        font-size: 18px;
    }
#gx-accueil-cms .destinations-vedette-v2-more-btn{
        font-size: 12px;
        padding: 6px 16px;
    }
#gx-accueil-cms .destinations-vedette-v2-plus-icon{
        width: 22px;
        height: 22px;
        font-size: 17px;
    }
#gx-accueil-cms .destinations-vedette-v2-card{
        min-width: 260px;
        max-width: 260px;
    }
#gx-accueil-cms .destinations-vedette-v2-card-image{
        height: 170px;
    }
}


@media (max-width: 768px) {
#gx-accueil-cms .destinations-vedette-v2-section{
        padding: 30px 0;
    }
#gx-accueil-cms .destinations-vedette-v2-container{
        padding: 0 15px;
    }
#gx-accueil-cms .destinations-vedette-v2-header{
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        margin-bottom: 20px;
    }
#gx-accueil-cms .destinations-vedette-v2-title{
        font-size: 16px;
        width: 100%;
        white-space: normal;
        line-height: 1.3;
    }
#gx-accueil-cms .destinations-vedette-v2-more-btn{
        font-size: 12px;
        padding: 7px 16px;
        align-self: flex-start;
    }
#gx-accueil-cms .destinations-vedette-v2-plus-icon{
        width: 20px;
        height: 20px;
        font-size: 16px;
    }
#gx-accueil-cms .destinations-vedette-v2-scroll-container{
        gap: 15px;
        padding-bottom: 12px;
    }
#gx-accueil-cms .destinations-vedette-v2-card{
        min-width: 280px;
        max-width: 280px;
    }
#gx-accueil-cms .destinations-vedette-v2-card-image{
        height: 180px;
    }
#gx-accueil-cms .destinations-vedette-v2-card-content{
        padding: 16px;
    }
#gx-accueil-cms .destinations-vedette-v2-card-title{
        font-size: 15px;
    }
#gx-accueil-cms .destinations-vedette-v2-card-description{
        font-size: 12px;
    }
#gx-accueil-cms .destinations-vedette-v2-card-footer{
        padding-top: 8px;
    }
#gx-accueil-cms .destinations-vedette-v2-card-location{
        font-size: 11px;
    }
#gx-accueil-cms .destinations-vedette-v2-card-rating{
        font-size: 11px;
    }
}


@media (max-width: 480px) {
#gx-accueil-cms .destinations-vedette-v2-section{
        padding: 25px 0;
    }
#gx-accueil-cms .destinations-vedette-v2-container{
        padding: 0 12px;
    }
#gx-accueil-cms .destinations-vedette-v2-title{
        font-size: 14px;
        font-weight: 800;
    }
#gx-accueil-cms .destinations-vedette-v2-more-btn{
        font-size: 11px;
        padding: 6px 14px;
    }
#gx-accueil-cms .destinations-vedette-v2-plus-icon{
        width: 18px;
        height: 18px;
        font-size: 14px;
    }
#gx-accueil-cms .destinations-vedette-v2-scroll-container{
        gap: 12px;
    }
#gx-accueil-cms .destinations-vedette-v2-card{
        min-width: 260px;
        max-width: 260px;
    }
#gx-accueil-cms .destinations-vedette-v2-card-image{
        height: 160px;
    }
#gx-accueil-cms .destinations-vedette-v2-card-content{
        padding: 14px;
    }
#gx-accueil-cms .destinations-vedette-v2-card-title{
        font-size: 14px;
    }
#gx-accueil-cms .destinations-vedette-v2-card-description{
        font-size: 11px;
    }
}/* ==== restaurants-vedette.css ==== */
#gx-accueil-cms .restaurants-vedette-v2-section{
    width: 100%;
    padding: 60px 0;
    background: #ffffff;
    position: relative;
}
#gx-accueil-cms .restaurants-vedette-v2-container{
    max-width: 100%;
    margin: 0 auto;
    padding: 0 40px;
}
#gx-accueil-cms .restaurants-vedette-v2-header{
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 40px;
    text-align: center;
}
#gx-accueil-cms .restaurants-vedette-v2-title{
    width: 100%;
    font-family: 'Montserrat', sans-serif;
    font-size: 26px;
    font-weight: 800;
    color: #1a1a1a;
    letter-spacing: 1px;
    margin: 0;
    text-transform: uppercase;
}
#gx-accueil-cms .restaurants-vedette-v2-header-controls{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 20px;
}
#gx-accueil-cms .restaurants-vedette-v2-filters{
    display: flex;
    gap: 10px;
    align-items: center;
}
#gx-accueil-cms .filter-label{
    font-size: 13px;
    font-weight: 700;
    color: #666;
    margin-right: 5px;
    text-transform: uppercase;
}
#gx-accueil-cms .restaurants-vedette-v2-filter-btn{
    padding: 8px 18px;
    background: #ffffff;
    border: 2px solid #e0e0e0;
    border-radius: 20px;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #333333;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
}
#gx-accueil-cms .restaurants-vedette-v2-filter-btn:hover{
    background: #f5f5f5;
    border-color: #d32f2f;
    color: #d32f2f;
}
#gx-accueil-cms .restaurants-vedette-v2-filter-btn.active{
    background: #d32f2f;
    border-color: #d32f2f;
    color: #ffffff;
}
#gx-accueil-cms .restaurants-vedette-v2-more-btn{
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 20px;
    background: #d32f2f;
    border: none;
    border-radius: 40px;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #ffffff;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 3px 12px rgba(211, 47, 47, 0.3);
    white-space: nowrap;
    flex-shrink: 0;
}
#gx-accueil-cms .restaurants-vedette-v2-more-btn:hover{
    background: #b71c1c;
    transform: translateY(-1px);
    box-shadow: 0 5px 18px rgba(211, 47, 47, 0.4);
}
#gx-accueil-cms .restaurants-vedette-v2-plus-icon{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background: #ffffff;
    color: #d32f2f;
    border-radius: 50%;
    font-size: 18px;
    font-weight: 700;
}
#gx-accueil-cms .restaurants-vedette-v2-scroll-wrapper{
    width: 100%;
    overflow: hidden;
    position: relative;
}
#gx-accueil-cms .restaurants-vedette-v2-scroll-container{
    display: flex;
    gap: 20px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    padding-bottom: 15px;
    scrollbar-width: thin;
    scrollbar-color: #d32f2f #f0f0f0;
}
#gx-accueil-cms .restaurants-vedette-v2-scroll-container::-webkit-scrollbar{
    height: 8px;
}
#gx-accueil-cms .restaurants-vedette-v2-scroll-container::-webkit-scrollbar-track{
    background: #f0f0f0;
    border-radius: 4px;
}
#gx-accueil-cms .restaurants-vedette-v2-scroll-container::-webkit-scrollbar-thumb{
    background: #d32f2f;
    border-radius: 4px;
}
#gx-accueil-cms .restaurants-vedette-v2-scroll-container::-webkit-scrollbar-thumb:hover{
    background: #b71c1c;
}
#gx-accueil-cms .restaurants-vedette-v2-card{
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 3px 15px rgba(0, 0, 0, 0.1);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 320px;
    max-width: 320px;
    flex-shrink: 0;
}
#gx-accueil-cms .restaurants-vedette-v2-card:hover{
    transform: translateY(-6px);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}
#gx-accueil-cms .restaurants-vedette-v2-card-image{
    position: relative;
    width: 100%;
    height: 180px;
    overflow: hidden;
}
#gx-accueil-cms .restaurants-vedette-v2-card-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}
#gx-accueil-cms .restaurants-vedette-v2-card:hover .restaurants-vedette-v2-card-image img{
    transform: scale(1.08);
}
#gx-accueil-cms .restaurants-vedette-v2-card-badge{
    position: absolute;
    top: 12px;
    right: 12px;
    background: rgba(211, 47, 47, 0.95);
    padding: 6px 14px;
    border-radius: 6px;
    z-index: 2;
}
#gx-accueil-cms .restaurants-vedette-v2-badge-text{
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}
#gx-accueil-cms .restaurants-vedette-v2-card-content{
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
}
#gx-accueil-cms .restaurants-vedette-v2-card-title{
    font-family: 'Montserrat', sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
#gx-accueil-cms .restaurants-vedette-v2-card-description{
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 400;
    color: #666666;
    line-height: 1.5;
    margin: 0;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
#gx-accueil-cms .restaurants-vedette-v2-card-footer{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding-top: 10px;
    border-top: 1px solid #f0f0f0;
}
#gx-accueil-cms .restaurants-vedette-v2-card-location{
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: #333333;
    display: flex;
    align-items: center;
    gap: 4px;
}
#gx-accueil-cms .restaurants-vedette-v2-card-location::before{
    content: '📍';
    font-size: 13px;
}
#gx-accueil-cms .restaurants-vedette-v2-card-rating{
    font-size: 12px;
    line-height: 1;
}




@media (max-width: 1024px) {
#gx-accueil-cms .restaurants-vedette-v2-section{
        padding: 40px 0;
    }
#gx-accueil-cms .restaurants-vedette-v2-container{
        padding: 0 20px;
    }
#gx-accueil-cms .restaurants-vedette-v2-header{
        gap: 15px;
    }
#gx-accueil-cms .restaurants-vedette-v2-title{
        font-size: 18px;
    }
#gx-accueil-cms .restaurants-vedette-v2-more-btn{
        font-size: 12px;
        padding: 6px 16px;
    }
#gx-accueil-cms .restaurants-vedette-v2-plus-icon{
        width: 22px;
        height: 22px;
        font-size: 17px;
    }
#gx-accueil-cms .restaurants-vedette-v2-card{
        min-width: 260px;
        max-width: 260px;
    }
#gx-accueil-cms .restaurants-vedette-v2-card-image{
        height: 170px;
    }
}


@media (max-width: 768px) {
#gx-accueil-cms .restaurants-vedette-v2-section{
        padding: 30px 0;
    }
#gx-accueil-cms .restaurants-vedette-v2-container{
        padding: 0 15px;
    }
#gx-accueil-cms .restaurants-vedette-v2-header{
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        margin-bottom: 20px;
    }
#gx-accueil-cms .restaurants-vedette-v2-title{
        font-size: 16px;
        width: 100%;
        white-space: normal;
        line-height: 1.3;
    }
#gx-accueil-cms .restaurants-vedette-v2-more-btn{
        font-size: 12px;
        padding: 7px 16px;
        align-self: flex-start;
    }
#gx-accueil-cms .restaurants-vedette-v2-plus-icon{
        width: 20px;
        height: 20px;
        font-size: 16px;
    }
#gx-accueil-cms .restaurants-vedette-v2-scroll-container{
        gap: 15px;
        padding-bottom: 12px;
    }
#gx-accueil-cms .restaurants-vedette-v2-card{
        min-width: 280px;
        max-width: 280px;
    }
#gx-accueil-cms .restaurants-vedette-v2-card-image{
        height: 180px;
    }
#gx-accueil-cms .restaurants-vedette-v2-card-content{
        padding: 16px;
    }
#gx-accueil-cms .restaurants-vedette-v2-card-title{
        font-size: 15px;
    }
#gx-accueil-cms .restaurants-vedette-v2-card-description{
        font-size: 12px;
    }
#gx-accueil-cms .restaurants-vedette-v2-card-footer{
        padding-top: 8px;
    }
#gx-accueil-cms .restaurants-vedette-v2-card-location{
        font-size: 11px;
    }
#gx-accueil-cms .restaurants-vedette-v2-card-rating{
        font-size: 11px;
    }
#gx-accueil-cms .restaurants-vedette-v2-card-badge{
        top: 10px;
        right: 10px;
        padding: 5px 12px;
    }
#gx-accueil-cms .restaurants-vedette-v2-badge-text{
        font-size: 10px;
    }
}


@media (max-width: 480px) {
#gx-accueil-cms .restaurants-vedette-v2-section{
        padding: 25px 0;
    }
#gx-accueil-cms .restaurants-vedette-v2-container{
        padding: 0 12px;
    }
#gx-accueil-cms .restaurants-vedette-v2-title{
        font-size: 14px;
        font-weight: 800;
    }
#gx-accueil-cms .restaurants-vedette-v2-more-btn{
        font-size: 11px;
        padding: 6px 14px;
    }
#gx-accueil-cms .restaurants-vedette-v2-plus-icon{
        width: 18px;
        height: 18px;
        font-size: 14px;
    }
#gx-accueil-cms .restaurants-vedette-v2-scroll-container{
        gap: 12px;
    }
#gx-accueil-cms .restaurants-vedette-v2-card{
        min-width: 260px;
        max-width: 260px;
    }
#gx-accueil-cms .restaurants-vedette-v2-card-image{
        height: 160px;
    }
#gx-accueil-cms .restaurants-vedette-v2-card-content{
        padding: 14px;
    }
#gx-accueil-cms .restaurants-vedette-v2-card-title{
        font-size: 14px;
    }
#gx-accueil-cms .restaurants-vedette-v2-card-description{
        font-size: 11px;
    }
#gx-accueil-cms .restaurants-vedette-v2-card-badge{
        top: 8px;
        right: 8px;
        padding: 4px 10px;
    }
#gx-accueil-cms .restaurants-vedette-v2-badge-text{
        font-size: 9px;
    }
}/* ==== products-vedette.css ==== */
#gx-accueil-cms .products-vedette-v2-section{
    width: 100%;
    padding: 60px 0;
    background: linear-gradient(180deg, #ffffff 0%, #faf7f2 100%);
    position: relative;
}
#gx-accueil-cms .products-vedette-v2-container{
    max-width: 100%;
    margin: 0 auto;
    padding: 0 40px;
}
#gx-accueil-cms .products-vedette-v2-filters{
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
#gx-accueil-cms .products-vedette-v2-filter-btn{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    background: rgba(255, 255, 255, 0.95);
    border: 1.5px solid rgba(255, 255, 255, 0.5);
    border-radius: 20px;
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #1a2942;
    cursor: pointer;
    transition: all 0.25s ease;
    white-space: nowrap;
    letter-spacing: 0.3px;
    text-transform: uppercase;
}
#gx-accueil-cms .products-vedette-v2-filter-btn:hover{
    background: #fff;
    border-color: #d4af37;
    color: #d4af37;
    transform: translateY(-1px);
}
#gx-accueil-cms .products-vedette-v2-filter-btn.active{
    background: linear-gradient(135deg, #d4af37 0%, #f26522 100%);
    border-color: transparent;
    color: #ffffff;
    box-shadow: 0 3px 16px rgba(242, 101, 34, 0.35);
}
#gx-accueil-cms .products-vedette-v2-filter-btn i{
    font-size: 16px;
}
#gx-accueil-cms .products-vedette-v2-carousel{
    margin-top: 6px;
}
#gx-accueil-cms .products-vedette-v2-scroll-wrapper{
    width: 100%;
    overflow: hidden;
    position: relative;
    padding: 8px 0 16px;
}
#gx-accueil-cms .products-vedette-v2-scroll-container{
    display: flex;
    gap: 20px;
    overflow: visible;
    padding-bottom: 8px;
    will-change: transform;
}
#gx-accueil-cms .products-vedette-v2-section .vedette-carousel-bar{
    background: linear-gradient(90deg, #d4af37, #f26522);
}
#gx-accueil-cms .products-vedette-v2-section .vedette-carousel-btn:hover{
    background: linear-gradient(135deg, #d4af37 0%, #f26522 100%);
    border-color: transparent;
    color: #ffffff;
    box-shadow: 0 4px 18px rgba(242, 101, 34, 0.4);
}
#gx-accueil-cms .products-vedette-v2-card{
    background: #ffffff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 2px 16px rgba(10, 22, 40, 0.06);
    border: 1px solid #f0ece3;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 260px;
    max-width: 260px;
    flex-shrink: 0;
    font-family: 'Montserrat', sans-serif;
}
#gx-accueil-cms .products-vedette-v2-card:hover{
    transform: translateY(-8px);
    box-shadow: 0 16px 40px rgba(10, 22, 40, 0.18);
    border-color: #d4af37;
}
#gx-accueil-cms .products-vedette-v2-card-image{
    position: relative;
    width: 100%;
    height: 240px;
    overflow: hidden;
    background: #f7f4ee;
}
#gx-accueil-cms .products-vedette-v2-card-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}
#gx-accueil-cms .products-vedette-v2-card:hover .products-vedette-v2-card-image img{
    transform: scale(1.08);
}
#gx-accueil-cms .products-vedette-v2-badge{
    position: absolute;
    top: 12px;
    left: 12px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 16px;
    border-radius: 4px;
    font-size: 16px;
    font-weight: 800;
    color: #ffffff;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    z-index: 3;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}
#gx-accueil-cms .products-vedette-v2-badge--promo{ background: linear-gradient(135deg, #e53935, #d32f2f); }
#gx-accueil-cms .products-vedette-v2-badge--new{ background: linear-gradient(135deg, #1e88e5, #1565c0); }
#gx-accueil-cms .products-vedette-v2-badge--hot{ background: linear-gradient(135deg, #f26522, #e84c10); }
#gx-accueil-cms .products-vedette-v2-badge--trending{ background: linear-gradient(135deg, #d4af37, #b8922d); }
#gx-accueil-cms .products-vedette-v2-fav{
    position: absolute;
    top: 16px;
    right: 16px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.95);
    border: none;
    color: #444;
    font-size: 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
    transition: all 0.25s ease;
}
#gx-accueil-cms .products-vedette-v2-fav:hover,#gx-accueil-cms .products-vedette-v2-fav.is-active{
    background: #e53935;
    color: #ffffff;
    transform: scale(1.08);
}
#gx-accueil-cms .products-vedette-v2-quick{
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 12px;
    background: linear-gradient(180deg, rgba(10, 22, 40, 0) 0%, rgba(10, 22, 40, 0.92) 100%);
    transform: translateY(110%);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 2;
}
#gx-accueil-cms .products-vedette-v2-card:hover .products-vedette-v2-quick{
    transform: translateY(0);
}
#gx-accueil-cms .products-vedette-v2-quick-btn{
    width: 100%;
    padding: 9px 14px;
    background: #ffffff;
    border: none;
    border-radius: 8px;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #0a1628;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    letter-spacing: 0.3px;
    transition: all 0.2s ease;
}
#gx-accueil-cms .products-vedette-v2-quick-btn:hover{
    background: #d4af37;
    color: #ffffff;
}
#gx-accueil-cms .products-vedette-v2-card-content{
    padding: 16px 16px 14px;
    display: flex;
    flex-direction: column;
    gap: 7px;
    flex: 1;
}
#gx-accueil-cms .products-vedette-v2-card-brand{
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: #d4af37;
}
#gx-accueil-cms .products-vedette-v2-card-title{
    font-size: 15px;
    font-weight: 700;
    color: #1a2942;
    margin: 0;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 40px;
}
#gx-accueil-cms .products-vedette-v2-card-rating{
    display: flex;
    align-items: center;
    gap: 2px;
    color: #f59f00;
    font-size: 12px;
}
#gx-accueil-cms .products-vedette-v2-card-rating .far{
    color: #dcdcdc;
}
#gx-accueil-cms .products-vedette-v2-card-reviews{
    margin-left: 4px;
    font-size: 16px;
    font-weight: 600;
    color: #888;
}
#gx-accueil-cms .products-vedette-v2-card-footer{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-top: 16px;
    margin-top: 4px;
    border-top: 1px solid #f0ece3;
}
#gx-accueil-cms .products-vedette-v2-price-block{
    display: flex;
    flex-direction: column;
    gap: 2px;
}
#gx-accueil-cms .products-vedette-v2-price-old{
    font-size: 16px;
    font-weight: 500;
    color: #aaa;
    text-decoration: line-through;
    line-height: 1;
}
#gx-accueil-cms .products-vedette-v2-price{
    font-size: 18px;
    font-weight: 800;
    color: #0a1628;
    line-height: 1.1;
    letter-spacing: -0.2px;
}
#gx-accueil-cms .products-vedette-v2-add-btn{
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, #d4af37 0%, #f26522 100%);
    border: none;
    color: #ffffff;
    font-size: 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 3px 16px rgba(242, 101, 34, 0.35);
    transition: all 0.25s ease;
    flex-shrink: 0;
}
#gx-accueil-cms .products-vedette-v2-add-btn:hover{
    transform: translateY(-2px) rotate(-6deg);
    box-shadow: 0 6px 18px rgba(242, 101, 34, 0.5);
}


@media (max-width: 1024px) {
#gx-accueil-cms .products-vedette-v2-section{ padding: 45px 0; }
#gx-accueil-cms .products-vedette-v2-container{ padding: 0 20px; }
#gx-accueil-cms .products-vedette-v2-card{ min-width: 240px; max-width: 240px; }
#gx-accueil-cms .products-vedette-v2-card-image{ height: 210px; }
#gx-accueil-cms .products-vedette-v2-filter-btn{ font-size: 10px; padding: 5px 11px; }
}

@media (max-width: 768px) {
#gx-accueil-cms .products-vedette-v2-section{ padding: 30px 0; }
#gx-accueil-cms .products-vedette-v2-container{ padding: 0 12px; }
#gx-accueil-cms .products-vedette-v2-section .vedette-carousel-outer{ padding: 0 38px; }
#gx-accueil-cms .products-vedette-v2-section .vedette-carousel-btn{ width: 34px; height: 34px; font-size: 12px; }
#gx-accueil-cms .products-vedette-v2-section .vedette-carousel-progress{ margin: 10px 38px 2px; }
#gx-accueil-cms .products-vedette-v2-filters{
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
        gap: 6px;
        padding-bottom: 4px;
        width: 100%;
    }
#gx-accueil-cms .products-vedette-v2-filters::-webkit-scrollbar{ display: none; }
#gx-accueil-cms .products-vedette-v2-filter-btn{
        flex-shrink: 0;
        font-size: 10px;
        padding: 5px 10px;
    }
#gx-accueil-cms .products-vedette-v2-card{ min-width: 200px; max-width: 200px; border-radius: 12px; }
#gx-accueil-cms .products-vedette-v2-card-image{ height: 180px; }
#gx-accueil-cms .products-vedette-v2-card-content{ padding: 12px; gap: 6px; }
#gx-accueil-cms .products-vedette-v2-card-brand{ font-size: 9px; letter-spacing: 1px; }
#gx-accueil-cms .products-vedette-v2-card-title{ font-size: 13px; min-height: 34px; }
#gx-accueil-cms .products-vedette-v2-card-rating{ font-size: 11px; }
#gx-accueil-cms .products-vedette-v2-card-reviews{ font-size: 10px; }
#gx-accueil-cms .products-vedette-v2-price{ font-size: 15px; }
#gx-accueil-cms .products-vedette-v2-price-old{ font-size: 10px; }
#gx-accueil-cms .products-vedette-v2-badge{ font-size: 9px; padding: 4px 8px; }
#gx-accueil-cms .products-vedette-v2-add-btn{ width: 34px; height: 34px; font-size: 12px; }
#gx-accueil-cms .products-vedette-v2-fav{ width: 30px; height: 30px; font-size: 12px; }
}

@media (max-width: 480px) {
#gx-accueil-cms .products-vedette-v2-container{ padding: 0 8px; }
#gx-accueil-cms .products-vedette-v2-section .vedette-carousel-outer{ padding: 0 6px; }
#gx-accueil-cms .products-vedette-v2-section .vedette-carousel-btn{
        width: 30px; height: 30px; font-size: 11px;
        background: rgba(255,255,255,0.92);
    }
#gx-accueil-cms .products-vedette-v2-section .vedette-carousel-prev{ left: -2px; }
#gx-accueil-cms .products-vedette-v2-section .vedette-carousel-next{ right: -2px; }
#gx-accueil-cms .products-vedette-v2-section .vedette-carousel-progress{ margin: 10px 6px 2px; }
#gx-accueil-cms .products-vedette-v2-scroll-container{ gap: 12px; }
#gx-accueil-cms .products-vedette-v2-card{ min-width: 75vw; max-width: 75vw; }
#gx-accueil-cms .products-vedette-v2-card-image{ height: 56vw; max-height: 240px; }
#gx-accueil-cms .products-vedette-v2-card-content{ padding: 12px 14px; }
#gx-accueil-cms .products-vedette-v2-card-title{ font-size: 14px; min-height: 36px; }
#gx-accueil-cms .products-vedette-v2-price{ font-size: 16px; }
#gx-accueil-cms .products-vedette-v2-add-btn{ width: 36px; height: 36px; font-size: 13px; }
#gx-accueil-cms .products-vedette-v2-quick{ transform: translateY(0); background: linear-gradient(180deg, rgba(10,22,40,0) 0%, rgba(10,22,40,0.75) 100%); padding: 10px; }
#gx-accueil-cms .products-vedette-v2-quick-btn{ font-size: 11px; padding: 7px 10px; }
}

@media (max-width: 360px) {
#gx-accueil-cms .products-vedette-v2-card{ min-width: 82vw; max-width: 82vw; }
#gx-accueil-cms .products-vedette-v2-card-title{ font-size: 13px; }
#gx-accueil-cms .products-vedette-v2-price{ font-size: 15px; }
}/* ==== page-6-packages.css ==== */
#gx-accueil-cms .pkg-section{
    font-family: 'Montserrat', sans-serif;
    background: #ffffff;
    color: #333333;
}
#gx-accueil-cms .page6-wrapper{
    background: #ffffff;
    overflow: hidden;
}
#gx-accueil-cms .pkg-content-area{
    padding: 40px 40px 60px;
    max-width: 1400px;
    margin: 0 auto;
}
#gx-accueil-cms .pkg-category-section{
    margin-bottom: 60px;
}
#gx-accueil-cms .pkg-category-header{
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 28px;
    padding-bottom: 16px;
    border-bottom: 2px solid #f0f4f8;
}
#gx-accueil-cms .pkg-cat-icon{
    width: 56px;
    height: 56px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    color: #ffffff;
    flex-shrink: 0;
}
#gx-accueil-cms .pkg-cat-icon--quebec{
    background: linear-gradient(135deg, #1565c0, #1e88e5);
}
#gx-accueil-cms .pkg-cat-icon--europe{
    background: linear-gradient(135deg, #1565c0, #1e88e5);
}
#gx-accueil-cms .pkg-cat-titles{
    flex: 1;
}
#gx-accueil-cms .pkg-category-title{
    font-size: 1.6rem;
    font-weight: 800;
    color: #1a2942;
    margin: 0 0 2px;
    line-height: 1.2;
}
#gx-accueil-cms .pkg-category-subtitle{
    font-size: 0.9rem;
    color: #888888;
    margin: 0;
    font-weight: 500;
}
#gx-accueil-cms .pkg-category-count{
    background: linear-gradient(135deg, #1565c0, #1e88e5);
    color: #ffffff;
    font-size: 0.8rem;
    font-weight: 700;
    padding: 6px 14px;
    border-radius: 20px;
    white-space: nowrap;
    font-family: 'Montserrat', sans-serif;
    letter-spacing: 0.3px;
}
#gx-accueil-cms .pkg-filters{
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}
#gx-accueil-cms .pkg-filter-btn{
    padding: 8px 18px;
    background: #ffffff;
    border: 2px solid #e0e0e0;
    border-radius: 20px;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #333333;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
#gx-accueil-cms .pkg-filter-btn:hover{
    background: #e3f2fd;
    border-color: #1e88e5;
    color: #1565c0;
    transform: translateY(-1px);
}
#gx-accueil-cms .pkg-filter-btn.active{
    background: linear-gradient(135deg, #1565c0, #1e88e5);
    border-color: #1e88e5;
    color: #ffffff;
}
#gx-accueil-cms .packages-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}
#gx-accueil-cms .package-card{
    background: #ffffff;
    border: 1px solid #e8edf5;
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
}
#gx-accueil-cms .package-card:hover{
    transform: translateY(-8px);
    border-color: #bbdefb;
    box-shadow: 0 16px 40px rgba(30, 136, 229, 0.15);
}
#gx-accueil-cms .package-image{
    height: 230px;
    width: 100%;
    overflow: hidden;
    position: relative;
}
#gx-accueil-cms .package-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
#gx-accueil-cms .package-card:hover .package-image img{
    transform: scale(1.07);
}
#gx-accueil-cms .package-badge{
    position: absolute;
    top: 16px;
    right: 16px;
    padding: 6px 14px;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 800;
    color: #ffffff;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    z-index: 2;
    font-family: 'Montserrat', sans-serif;
}
#gx-accueil-cms .pkg-badge--popular{ background: linear-gradient(135deg, #e84c10, #f26522); box-shadow: 0 4px 12px rgba(242,101,34,0.45); }
#gx-accueil-cms .pkg-badge--new{ background: linear-gradient(135deg, #2e7d32, #43a047); box-shadow: 0 4px 12px rgba(67,160,71,0.4); }
#gx-accueil-cms .pkg-badge--luxe{ background: linear-gradient(135deg, #b8860b, #d4af37); box-shadow: 0 4px 12px rgba(212,175,55,0.4); }
#gx-accueil-cms .pkg-badge--couple{ background: linear-gradient(135deg, #ad1457, #e91e8c); box-shadow: 0 4px 12px rgba(233,30,140,0.4); }
#gx-accueil-cms .pkg-badge--exclusif{ background: linear-gradient(135deg, #4527a0, #7b1fa2); box-shadow: 0 4px 12px rgba(123,31,162,0.4); }
#gx-accueil-cms .pkg-badge--top{ background: linear-gradient(135deg, #0277bd, #0288d1); box-shadow: 0 4px 12px rgba(2,119,189,0.4); }
#gx-accueil-cms .package-content{
    padding: 22px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}
#gx-accueil-cms .package-header{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
}
#gx-accueil-cms .package-header h3{
    font-size: 1.15rem;
    font-weight: 700;
    color: #1a2942;
    line-height: 1.3;
    margin: 0;
    flex: 1;
}
#gx-accueil-cms .package-price{
    font-size: 1.45rem;
    font-weight: 800;
    color: #1e88e5;
    white-space: nowrap;
    flex-shrink: 0;
}
#gx-accueil-cms .package-price span{
    font-size: 0.8rem;
    font-weight: 500;
    color: #999999;
}
#gx-accueil-cms .package-location{
    display: flex;
    align-items: center;
    gap: 7px;
    color: #666666;
    font-size: 0.88rem;
    font-weight: 600;
    margin-bottom: 12px;
}
#gx-accueil-cms .package-location i{
    color: #1e88e5;
    font-size: 12px;
}
#gx-accueil-cms .package-description{
    font-size: 0.88rem;
    color: #777777;
    line-height: 1.65;
    flex-grow: 1;
    margin-bottom: 16px;
}
#gx-accueil-cms .package-features{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
}
#gx-accueil-cms .feature{
    background: #e3f2fd;
    border: 1px solid #bbdefb;
    padding: 5px 12px;
    border-radius: 50px;
    font-size: 0.8rem;
    color: #1565c0;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 5px;
}
#gx-accueil-cms .feature i{
    color: #1e88e5;
    font-size: 10px;
}
#gx-accueil-cms .pkg-btn-primary{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 13px 20px;
    background: linear-gradient(135deg, #1565c0, #1e88e5, #42a5f5);
    color: #ffffff;
    border: none;
    border-radius: 10px;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: auto;
    box-shadow: 0 4px 16px rgba(30, 136, 229, 0.35);
    letter-spacing: 0.3px;
}
#gx-accueil-cms .pkg-btn-primary:hover{
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(30, 136, 229, 0.5);
    color: #ffffff;
}
#gx-accueil-cms .showcase-packages{
    margin: 60px 0 40px;
}
#gx-accueil-cms .showcase-header{
    text-align: center;
    margin-bottom: 36px;
}
#gx-accueil-cms .showcase-header h2{
    font-size: 2rem;
    font-weight: 800;
    color: #1a2942;
    margin-bottom: 8px;
}
#gx-accueil-cms .showcase-header p{
    font-size: 1rem;
    color: #777777;
}
#gx-accueil-cms .showcase-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
#gx-accueil-cms .showcase-item{
    background: #ffffff;
    border: 1px solid #e8edf5;
    border-top: 4px solid #1e88e5;
    border-radius: 14px;
    padding: 24px 22px;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}
#gx-accueil-cms .showcase-item:hover{
    transform: translateY(-6px);
    border-top-color: #f26522;
    box-shadow: 0 12px 32px rgba(30, 136, 229, 0.12);
}
#gx-accueil-cms .showcase-item h4{
    font-size: 1rem;
    font-weight: 700;
    color: #1a2942;
    margin: 0 0 8px;
    line-height: 1.3;
}
#gx-accueil-cms .showcase-item p{
    font-size: 0.85rem;
    color: #888888;
    flex-grow: 1;
    margin-bottom: 12px;
    line-height: 1.5;
}
#gx-accueil-cms .showcase-price{
    font-size: 1.3rem;
    font-weight: 800;
    color: #1e88e5;
}
#gx-accueil-cms .showcase-price span{
    font-size: 0.8rem;
    color: #999999;
    font-weight: 500;
}
#gx-accueil-cms .showcase-item-footer{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 4px;
}
#gx-accueil-cms .showcase-details-btn{
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 12px;
    background: transparent;
    color: #1e88e5;
    border: 1.5px solid #1e88e5;
    border-radius: 6px;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.22s ease;
}
#gx-accueil-cms .showcase-details-btn:hover{
    background: #1e88e5;
    color: #ffffff;
    transform: translateY(-1px);
}
#gx-accueil-cms .showcase-badge{
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 12px;
    border-radius: 50px;
    font-size: 0.72rem;
    font-weight: 700;
    margin-bottom: 12px;
    align-self: flex-start;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}
#gx-accueil-cms .showcase-badge.quebec{
    background: linear-gradient(135deg, #1565c0, #42a5f5);
    color: #ffffff;
}
#gx-accueil-cms .showcase-badge.europe{
    background: linear-gradient(135deg, #1565c0, #1e88e5);
    color: #ffffff;
}
#gx-accueil-cms .creation-section{
    margin-top: 60px;
}
#gx-accueil-cms .creation-card{
    background: #f8fafd;
    border: 1px solid #e3ecf7;
    border-radius: 20px;
    padding: 48px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
}
#gx-accueil-cms .creation-info h3{
    font-size: 1.8rem;
    font-weight: 800;
    color: #1a2942;
    margin-bottom: 14px;
}
#gx-accueil-cms .creation-info p{
    font-size: 0.95rem;
    color: #666666;
    margin-bottom: 24px;
    line-height: 1.7;
}
#gx-accueil-cms .features-list{
    list-style: none;
    padding: 0;
    margin: 0;
}
#gx-accueil-cms .features-list li{
    display: flex;
    align-items: center;
    gap: 12px;
    color: #444444;
    font-weight: 500;
    font-size: 0.92rem;
    padding: 8px 0;
    border-bottom: 1px solid #eef2f8;
}
#gx-accueil-cms .features-list li:last-child{
    border-bottom: none;
}
#gx-accueil-cms .features-list i{
    color: #1e88e5;
    font-size: 14px;
    flex-shrink: 0;
}
#gx-accueil-cms .creation-form{
    background: #ffffff;
    border: 1px solid #e3ecf7;
    border-radius: 16px;
    padding: 36px;
}
#gx-accueil-cms .creation-form h3{
    font-size: 1.3rem;
    font-weight: 800;
    color: #1a2942;
    margin-bottom: 24px;
}
#gx-accueil-cms .pkg-form-group{
    margin-bottom: 18px;
}
#gx-accueil-cms .pkg-form-group label{
    display: block;
    font-size: 0.78rem;
    font-weight: 700;
    color: #555555;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 6px;
}
#gx-accueil-cms .pkg-form-group input,#gx-accueil-cms .pkg-form-group select,#gx-accueil-cms .pkg-form-group textarea{
    width: 100%;
    padding: 12px 16px;
    background: #f7fafc;
    border: 1px solid #dde6f0;
    border-radius: 10px;
    color: #333333;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.9rem;
    transition: border-color 0.2s, box-shadow 0.2s;
    box-sizing: border-box;
}
#gx-accueil-cms .pkg-form-group input:focus,#gx-accueil-cms .pkg-form-group select:focus,#gx-accueil-cms .pkg-form-group textarea:focus{
    outline: none;
    border-color: #1e88e5;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(30, 136, 229, 0.12);
}
#gx-accueil-cms .pkg-form-group textarea{
    height: 100px;
    resize: vertical;
}
#gx-accueil-cms .btn-create{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 15px 20px;
    background: linear-gradient(135deg, #1565c0, #1e88e5, #42a5f5);
    color: #ffffff;
    border: none;
    border-radius: 10px;
    font-family: 'Montserrat', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: 8px;
    box-shadow: 0 4px 16px rgba(30, 136, 229, 0.3);
}
#gx-accueil-cms .btn-create:hover{
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(30, 136, 229, 0.45);
    color: #ffffff;
}
#gx-accueil-cms .pkg-card-actions{
    display: flex;
    gap: 10px;
    margin-top: 14px;
}
#gx-accueil-cms .pkg-btn-secondary{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    flex: 1;
    padding: 10px 14px;
    background: transparent;
    color: #1e88e5;
    border: 2px solid #1e88e5;
    border-radius: 10px;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.25s ease;
    white-space: nowrap;
}
#gx-accueil-cms .pkg-btn-secondary:hover{
    background: #e3f2fd;
    border-color: #1565c0;
    color: #1565c0;
    transform: translateY(-1px);
}
#gx-accueil-cms .pkg-btn-primary{
    flex: 1;
}
#gx-accueil-cms .creation-slider{
    position: relative;
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 22px;
    aspect-ratio: 5 / 3;
    background: #e3f2fd;
}
#gx-accueil-cms .creation-slide{
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.7s ease;
}
#gx-accueil-cms .creation-slide.active{
    opacity: 1;
    position: relative;
}
#gx-accueil-cms .creation-slide img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
#gx-accueil-cms .creation-slide-dots{
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
    z-index: 5;
}
#gx-accueil-cms .creation-dot{
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: rgba(255,255,255,0.55);
    cursor: pointer;
    transition: background 0.3s ease, transform 0.3s ease;
    border: 2px solid rgba(255,255,255,0.8);
}
#gx-accueil-cms .creation-dot.active{
    background: #ffffff;
    transform: scale(1.25);
}


@media (max-width: 1200px) {
#gx-accueil-cms .packages-grid{ grid-template-columns: repeat(2, 1fr); }
#gx-accueil-cms .creation-card{ grid-template-columns: 1fr; }
}

@media (max-width: 992px) {
#gx-accueil-cms .showcase-grid{ grid-template-columns: repeat(2, 1fr); }
#gx-accueil-cms .pkg-content-area{ padding: 32px 24px 48px; }
}

@media (max-width: 768px) {
#gx-accueil-cms .pkg-content-area{ padding: 24px 16px 40px; }
#gx-accueil-cms .packages-grid{ grid-template-columns: 1fr; gap: 20px; }
#gx-accueil-cms .showcase-grid{ grid-template-columns: 1fr; gap: 14px; }
#gx-accueil-cms .creation-card{ padding: 28px 20px; gap: 28px; }
#gx-accueil-cms .creation-form{ padding: 24px 16px; }
#gx-accueil-cms .pkg-category-title{ font-size: 1.3rem; }
#gx-accueil-cms .pkg-filter-btn{ font-size: 11px; padding: 6px 12px; }
}

@media (max-width: 480px) {
#gx-accueil-cms .pkg-content-area{ padding: 16px 12px 32px; }
#gx-accueil-cms .creation-card{ padding: 20px 12px; }
#gx-accueil-cms .packages-grid{ gap: 16px; }
}/* ==== page-3-infos.css ==== */
#gx-accueil-cms .travel-section{
    font-family: 'Inter', sans-serif;
    margin: 60px 40px 100px 40px;
    padding: 0;
    background: transparent;
    position: relative;
    z-index: 10;
}
#gx-accueil-cms .travel-container{
    display: flex;
    flex-wrap: wrap;
    gap: 50px;
    margin-top: 40px;
}
#gx-accueil-cms .travel-alerts{ flex: 1 1 55%; min-width: 320px; }
#gx-accueil-cms .travel-bullets{ flex: 1 1 35%; min-width: 320px; }
#gx-accueil-cms .info-section-header{
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 40px;
}
#gx-accueil-cms .info-section-icon{
    width: 60px; height: 60px;
    background: linear-gradient(135deg, #0066CC, #00CC99);
    border-radius: 18px;
    display: flex; align-items: center; justify-content: center;
    color: white; font-size: 1.6rem;
    box-shadow: 0 10px 25px rgba(0, 102, 204, 0.2);
}
#gx-accueil-cms .info-section-title{ font-family: 'Poppins', sans-serif; font-size: 2.2rem; font-weight: 700; color: #1a1a1a; margin: 0; }
#gx-accueil-cms .info-section-sub{ font-size: 1.05rem; color: #666666; margin: 5px 0 0 0; font-weight: 500; }
#gx-accueil-cms .alert-card{
    background: #ffffff; border-radius: 20px; padding: 30px; margin-bottom: 20px;
    border: 1px solid #e1e8f0; display: flex; align-items: flex-start; gap: 20px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); box-shadow: 0 4px 10px rgba(0,0,0,0.02);
}
#gx-accueil-cms .alert-card:hover{ transform: translateY(-6px); border-color: #3399FF; box-shadow: 0 15px 35px rgba(0, 102, 204, 0.08); }
#gx-accueil-cms .alert-icon{
    width: 50px; height: 50px; border-radius: 14px; display: flex; align-items: center; justify-content: center;
    font-size: 1.3rem; flex-shrink: 0;
}
#gx-accueil-cms .alert-orange{ background: #fff7ed; color: #ea580c; border: 1px solid #ffedd5; }
#gx-accueil-cms .alert-blue{ background: #eff6ff; color: #2563eb; border: 1px solid #dbeafe; }
#gx-accueil-cms .alert-red{ background: #fef2f2; color: #dc2626; border: 1px solid #fee2e2; }
#gx-accueil-cms .alert-green{ background: #f0fdf4; color: #16a34a; border: 1px solid #dcfce7; }
#gx-accueil-cms .alert-content{ flex: 1; }
#gx-accueil-cms .alert-title{ font-weight: 700; font-size: 1.25rem; margin: 0 0 10px 0; color: #1a1a1a; }
#gx-accueil-cms .alert-desc{ font-size: 1rem; color: #555555; margin: 0 0 20px 0; line-height: 1.6; }
#gx-accueil-cms .alert-meta{ display: flex; flex-wrap: wrap; gap: 20px; font-size: 0.9rem; color: #888888; font-weight: 500;}
#gx-accueil-cms .meta-item{ display: flex; align-items: center; gap: 6px; }
#gx-accueil-cms .meta-item i{ color: #00CC99; }
#gx-accueil-cms .bullets-grid{ display: flex; flex-direction: column; gap: 20px; }
#gx-accueil-cms .bullet-item{
    background: #ffffff; border-radius: 20px; padding: 25px; display: flex; align-items: center; gap: 20px;
    border: 1px solid #e1e8f0; transition: all 0.3s ease; box-shadow: 0 4px 10px rgba(0,0,0,0.02);
}
#gx-accueil-cms .bullet-item:hover{ border-color: #00CC99; transform: translateX(8px); box-shadow: 0 10px 25px rgba(0, 204, 153, 0.1);}
#gx-accueil-cms .plane-icon{
    width: 55px; height: 55px; background: #f8fafc; border-radius: 14px;
    display: flex; align-items: center; justify-content: center; font-size: 1.3rem; color: #0066CC; border: 1px solid #e1e8f0;
}
#gx-accueil-cms .plane-details{ flex: 1; }
#gx-accueil-cms .plane-route{ font-weight: 700; font-size: 1.25rem; color: #1a1a1a; margin: 0 0 8px 0; display: flex; align-items: center; gap: 12px; }
#gx-accueil-cms .plane-route i{ font-size: 1rem; color: #00CC99; }
#gx-accueil-cms .plane-status{ font-size: 1rem; color: #555555; margin: 0; display: flex; align-items: center; justify-content: space-between; }
#gx-accueil-cms .status-badge{ background: #dcfce7; color: #166534; padding: 5px 14px; border-radius: 50px; font-size: 0.85rem; font-weight: 600; }
#gx-accueil-cms .status-warning{ background: #fef08a; color: #854d0e; }
#gx-accueil-cms .status-danger{ background: #fee2e2; color: #b91c1c; }
#gx-accueil-cms .flight-time{ font-size: 0.9rem; color: #888888; display: flex; align-items: center; gap: 6px; margin-top: 10px; font-weight: 500;}
#gx-accueil-cms .flight-time i{ color: #0066CC; }
#gx-accueil-cms .weather-badge{
    display: inline-flex; align-items: center; gap: 8px; background: #f8fafc; border: 1px solid #e1e8f0;
    padding: 8px 15px; border-radius: 50px; font-size: 0.85rem; color: #555555; margin-top: 12px; font-weight: 500;
}
#gx-accueil-cms .weather-badge i{ color: #0066CC; }
#gx-accueil-cms .btn-outline-primary{
    display: inline-flex; align-items: center; gap: 10px; background: #ffffff; padding: 16px 30px;
    border-radius: 50px; font-weight: 700; color: #0066CC; border: 2px solid #e1e8f0; font-size: 1.05rem;
    transition: all 0.3s ease; text-decoration: none; cursor: pointer;
}
#gx-accueil-cms .btn-outline-primary:hover{ border-color: #0066CC; background: #f8fafc; transform: translateY(-2px); box-shadow: 0 5px 15px rgba(0, 102, 204, 0.1); }

@media (max-width: 1024px) {
#gx-accueil-cms .travel-section{ margin: 60px 20px 0 20px; }
}

@media (max-width: 768px) {
#gx-accueil-cms .travel-section{ 
        padding: 0; 
        margin: 40px 0; 
    }
#gx-accueil-cms .travel-container{ 
        flex-direction: column; 
        gap: 30px; 
    }
#gx-accueil-cms .travel-alerts,#gx-accueil-cms .travel-bullets{ 
        width: 100%; 
        padding: 0 15px; 
    }
#gx-accueil-cms .info-section-header{ 
        margin-bottom: 25px; 
        padding: 0 5px;
    }
#gx-accueil-cms .info-section-title{ font-size: 1.8rem; }
#gx-accueil-cms .alert-card{ 
        padding: 20px; 
        flex-direction: column; 
        gap: 15px;
        border-radius: 15px;
    }
#gx-accueil-cms .bullet-item{ 
        padding: 20px; 
        flex-direction: column; 
        text-align: center;
        border-radius: 15px;
    }
#gx-accueil-cms .plane-status{ 
        flex-direction: column; 
        gap: 10px; 
        align-items: center; 
    }
#gx-accueil-cms .plane-route{ justify-content: center; font-size: 1.15rem; }
#gx-accueil-cms .flight-time{ justify-content: center; }
}

@media (max-width: 480px) {
#gx-accueil-cms .info-section-title{ font-size: 1.5rem; }
#gx-accueil-cms .alert-title{ font-size: 1.1rem; }
}
#gx-accueil-cms .travelinfo-airline-icon{
    width: 56px;
    height: 56px;
    background: linear-gradient(135deg, #00acc1, #00bcd4, #26c6da);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 16px rgba(0, 188, 212, 0.35);
}
#gx-accueil-cms .travelinfo-airline-icon i{
    font-size: 1.5rem;
    color: #ffffff;
}/* ==== page-5-tourism.css ==== */
#gx-accueil-cms .tourism-section{
    font-family: 'Montserrat', sans-serif;
    margin: 60px 40px;
    padding: 0;
    background: transparent;
    position: relative;
}
#gx-accueil-cms .tourism-container{
    display: flex;
    flex-direction: column;
    gap: 70px;
    max-width: 1400px;
    margin: 40px auto 0;
    padding: 0 40px;
}
#gx-accueil-cms .section-header{
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 32px;
    border-bottom: 2px solid #e8edf5;
    padding-bottom: 20px;
}
#gx-accueil-cms .section-header-left h3{
    font-size: 1.5rem;
    font-weight: 700;
    color: #1a2942;
    margin-bottom: 4px;
}
#gx-accueil-cms .section-header-left p{
    color: #888888;
    font-size: 0.95rem;
}
#gx-accueil-cms .experience-counter{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #e3f2fd;
    color: #1e88e5;
    padding: 7px 18px;
    border-radius: 50px;
    font-weight: 700;
    font-size: 0.82rem;
    border: 1px solid #bbdefb;
}
#gx-accueil-cms .aventures-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
#gx-accueil-cms .aventure-card{
    background: #ffffff;
    border: 1px solid #e8edf5;
    border-top: 4px solid #1e88e5;
    border-radius: 14px;
    padding: 30px 24px;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    box-shadow: 0 2px 10px rgba(0,0,0,0.04);
}
#gx-accueil-cms .aventure-card:hover{
    border-top-color: #f26522;
    transform: translateY(-6px);
    box-shadow: 0 16px 36px rgba(30,136,229,0.12);
}
#gx-accueil-cms .aventure-icon{
    width: 54px;
    height: 54px;
    background: #e3f2fd;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    margin-bottom: 20px;
    color: #1e88e5;
}
#gx-accueil-cms .aventure-title{
    font-size: 1.05rem;
    font-weight: 700;
    color: #1a2942;
    margin-bottom: 10px;
}
#gx-accueil-cms .aventure-desc{
    color: #666666;
    line-height: 1.6;
    font-size: 0.88rem;
    margin-bottom: 20px;
    flex-grow: 1;
}
#gx-accueil-cms .aventure-meta{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding-top: 16px;
    border-top: 1px solid #e8edf5;
}
#gx-accueil-cms .meta-tag{
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.78rem;
    color: #1e88e5;
    font-weight: 600;
    background: #e3f2fd;
    padding: 3px 10px;
    border-radius: 20px;
}
#gx-accueil-cms .saisons-carousel{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
#gx-accueil-cms .saison-card{
    background: #ffffff;
    border: 1px solid #e8edf5;
    border-radius: 14px;
    padding: 28px 20px;
    text-align: center;
    transition: all 0.3s ease;
    box-shadow: 0 2px 10px rgba(0,0,0,0.04);
}
#gx-accueil-cms .saison-card:hover{
    border-color: #1e88e5;
    transform: translateY(-6px);
    box-shadow: 0 14px 30px rgba(30,136,229,0.12);
}
#gx-accueil-cms .saison-emoji{
    width: 52px;
    height: 52px;
    background: #e3f2fd;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    color: #1e88e5;
    margin: 0 auto 16px;
}
#gx-accueil-cms .saison-name{ font-size: 1rem; font-weight: 700; color: #1a2942; margin-bottom: 14px; }
#gx-accueil-cms .saison-activite{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 0.82rem;
    color: #555555;
    margin-bottom: 7px;
    font-weight: 500;
}
#gx-accueil-cms .saison-activite i{ color: #1e88e5; }
#gx-accueil-cms .saison-temp{
    display: inline-block;
    padding: 5px 14px;
    background: #e3f2fd;
    color: #1565c0;
    border-radius: 30px;
    font-size: 0.8rem;
    font-weight: 700;
    margin-top: 14px;
}
#gx-accueil-cms .hiver-section{
    background: transparent;
    border-radius: 0;
    padding: 0;
    position: relative;
}
#gx-accueil-cms .hiver-header{
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 32px;
    border-bottom: 2px solid #e8edf5;
    padding-bottom: 20px;
}
#gx-accueil-cms .hiver-icon{
    width: 56px;
    height: 56px;
    background: #e3f2fd;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: #1e88e5;
}
#gx-accueil-cms .hiver-title{ font-size: 1.5rem; font-weight: 700; color: #1a2942; margin: 0; }
#gx-accueil-cms .hiver-sub{ font-size: 0.9rem; color: #888888; margin-top: 3px; }
#gx-accueil-cms .hiver-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
#gx-accueil-cms .hiver-activity-card{
    background: #ffffff;
    border: 1px solid #e8edf5;
    border-top: 4px solid #1e88e5;
    border-radius: 14px;
    padding: 28px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 10px rgba(0,0,0,0.04);
}
#gx-accueil-cms .hiver-activity-card:hover{
    border-top-color: #f26522;
    transform: translateY(-6px);
    box-shadow: 0 16px 36px rgba(30,136,229,0.12);
}
#gx-accueil-cms .activity-icon-big{
    width: 54px;
    height: 54px;
    background: #e3f2fd;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    color: #1e88e5;
    margin-bottom: 18px;
}
#gx-accueil-cms .activity-name{ font-size: 1rem; font-weight: 700; color: #1a2942; margin-bottom: 10px; }
#gx-accueil-cms .activity-desc{ color: #666666; line-height: 1.6; font-size: 0.85rem; margin-bottom: 18px; }
#gx-accueil-cms .activity-difficulte{
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.78rem;
    font-weight: 700;
    color: #1e88e5;
    border-top: 1px solid #e8edf5;
    padding-top: 16px;
}
#gx-accueil-cms .difficulty-stars{ color: #f9a52c; letter-spacing: 2px; }
#gx-accueil-cms .snow-decoration{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    background: #e3f2fd;
    color: #1565c0;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    margin-top: 12px;
}
#gx-accueil-cms .btn-hiver-cta{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, #1e88e5, #1565c0);
    color: #ffffff;
    padding: 14px 36px;
    border-radius: 50px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 0.95rem;
    text-decoration: none;
    margin-top: 40px;
    transition: all 0.3s ease;
    box-shadow: 0 6px 20px rgba(30,136,229,0.3);
}
#gx-accueil-cms .btn-hiver-cta:hover{
    background: linear-gradient(135deg, #f26522, #e84c10);
    box-shadow: 0 8px 24px rgba(242,101,34,0.35);
    transform: translateY(-2px);
    color: #ffffff;
}
#gx-accueil-cms .stats-footer{
    padding: 30px 0;
    border-top: 2px solid #e8edf5;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 30px;
}
#gx-accueil-cms .stat-tag{ font-weight: 700; color: #555555; font-size: 0.9rem; display: flex; align-items: center; gap: 8px; }
#gx-accueil-cms .stat-tag span{ color: #1e88e5; }
#gx-accueil-cms .tourism-eco-icon{
    width: 56px;
    height: 56px;
    background: linear-gradient(135deg, #43a047, #66bb6a);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 16px rgba(67,160,71,0.3);
}
#gx-accueil-cms .tourism-eco-icon i{
    font-size: 1.4rem;
    color: #ffffff;
}


@media (max-width: 1200px) {
#gx-accueil-cms .aventures-grid,#gx-accueil-cms .hiver-grid{ grid-template-columns: repeat(2, 1fr); }
#gx-accueil-cms .saisons-carousel{ grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 1024px) {
#gx-accueil-cms .tourism-section{ margin: 40px 20px; }
}

@media (max-width: 768px) {
#gx-accueil-cms .tourism-section{ margin: 30px 0; }
#gx-accueil-cms .tourism-container{ gap: 50px; padding: 0 16px; }
#gx-accueil-cms .section-header{ flex-direction: column; align-items: flex-start; gap: 12px; }
#gx-accueil-cms .aventures-grid,#gx-accueil-cms .hiver-grid,#gx-accueil-cms .saisons-carousel{ grid-template-columns: 1fr !important; gap: 16px; }
#gx-accueil-cms .hiver-header{ flex-direction: column; align-items: flex-start; }
#gx-accueil-cms .btn-hiver-cta{ width: 100%; justify-content: center; padding: 14px 20px; }
#gx-accueil-cms .stats-footer{ flex-direction: column; gap: 20px; }
}/* ==== business-tourism.css ==== */
#gx-accueil-cms ﻿


.bt-section{
    background: #f8f9fc;
}
#gx-accueil-cms .bt-body{
    max-width: 1400px;
    margin: 0 auto;
    padding: 60px 40px;
}
#gx-accueil-cms .resto-header-main.bt-header-main{
    display: grid;
    grid-template-columns: 460px minmax(0, 1fr) 460px;
    align-items: center;
    gap: 12px;
}
#gx-accueil-cms .resto-header-main.bt-header-main .resto-header-center{
    grid-column: 2;
    width: 100%;
    text-align: center;
}
#gx-accueil-cms .resto-header-main.bt-header-main .resto-header-logo-right{
    grid-column: 3;
    justify-self: end;
    width: 460px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
}
#gx-accueil-cms .bt-next-level-image{
    display: block;
    width: clamp(180px, 18vw, 280px);
    height: auto;
}
#gx-accueil-cms .bt-header-dest-row{
    justify-content: center;
    width: 100%;
    margin-top: 10px;
}
#gx-accueil-cms .bt-header-dest-row .resto-dest-icon-box{
    margin-right: 14px;
}
#gx-accueil-cms .bt-header-dest-row .resto-dest-breadcrumb{
    justify-content: center;
    text-align: center;
    flex-wrap: wrap;
}
#gx-accueil-cms .bt-more-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 230px;
    font-size: 16px;
    font-weight: 700;
    color: #ffffff;
    text-decoration: none;
    background: #1a3a8f;
    padding: 14px 26px;
    border-radius: 999px;
    white-space: nowrap;
    transition: background 0.2s ease, transform 0.2s ease;
}
#gx-accueil-cms .bt-more-btn:hover{
    background: #0f235f;
    transform: translateY(-1px);
}
#gx-accueil-cms .bt-dual-grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    margin-bottom: 48px;
}
#gx-accueil-cms .bt-card{
    background: #fff;
    border: 1px solid #e8ecf0;
    border-radius: 20px;
    padding: 36px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}
#gx-accueil-cms .bt-card:hover{
    box-shadow: 0 16px 48px rgba(0,0,0,0.08);
    transform: translateY(-4px);
}
#gx-accueil-cms .bt-card-top{
    display: flex;
    align-items: flex-start;
    gap: 18px;
}
#gx-accueil-cms .bt-icon-box{
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    background: rgba(26, 58, 143, 0.07);
    color: #1a3a8f;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}
#gx-accueil-cms .bt-icon-image-box{
    width: clamp(72px, 8vw, 108px);
    height: clamp(72px, 8vw, 108px);
    padding: 6px;
    background: #fff;
    border: 1px solid #eef1f5;
}
#gx-accueil-cms .bt-icon-image{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
#gx-accueil-cms .bt-icon-tourisme{
    background: rgba(0, 174, 154, 0.08);
    color: #00ae9a;
}
#gx-accueil-cms .bt-card-title{
    font-size: 20px;
    font-weight: 800;
    color: #0a1628;
    margin: 0 0 6px;
}
#gx-accueil-cms .bt-card-desc{
    font-size: 14px;
    color: #666;
    line-height: 1.65;
    margin: 0;
}
#gx-accueil-cms .bt-features{
    list-style: none;
    padding: 0;
    margin: 0;
    border-top: 1px solid #f0f2f5;
}
#gx-accueil-cms .bt-features li{
    padding: 10px 0;
    font-size: 13.5px;
    font-weight: 600;
    color: #444;
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid #f0f2f5;
}
#gx-accueil-cms .bt-features li i{
    color: #00c9b7;
    font-size: 15px;
    flex-shrink: 0;
}
#gx-accueil-cms .bt-carousel{
    flex: 1;
}
#gx-accueil-cms .bt-carousel-stage{
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    border-radius: 14px;
    overflow: hidden;
    background: #0a1628;
    transition: opacity 0.2s ease;
}
#gx-accueil-cms .bt-carousel-stage.bt-carousel-fade{ opacity: 0; }
#gx-accueil-cms .bt-carousel-preview{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}
#gx-accueil-cms .bt-carousel-stage:hover .bt-carousel-preview{ transform: scale(1.03); }
#gx-accueil-cms .bt-carousel-stage iframe{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: none;
    z-index: 5;
}
#gx-accueil-cms .bt-carousel-play{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: rgba(255,255,255,0.92);
    border: none;
    color: #1a3a8f;
    font-size: 20px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease, transform 0.2s ease;
    z-index: 3;
}
#gx-accueil-cms .bt-carousel-play:hover{
    background: #fff;
    transform: translate(-50%, -50%) scale(1.12);
}
#gx-accueil-cms .bt-carousel-arrow{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(10,22,40,0.55);
    border: none;
    color: #fff;
    font-size: 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 4;
    transition: background 0.2s ease, transform 0.2s ease;
}
#gx-accueil-cms .bt-carousel-prev{ left: 12px; }
#gx-accueil-cms .bt-carousel-next{ right: 12px; }
#gx-accueil-cms .bt-carousel-arrow:hover{
    background: #1a3a8f;
    transform: translateY(-50%) scale(1.1);
}
#gx-accueil-cms .bt-carousel-counter{
    position: absolute;
    bottom: 40px;
    right: 12px;
    background: rgba(10,22,40,0.6);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 50px;
    z-index: 4;
    letter-spacing: 0.5px;
}
#gx-accueil-cms .bt-carousel-title-bar{
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(transparent, rgba(10,22,40,0.85));
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 20px 14px 10px;
    z-index: 4;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
#gx-accueil-cms .bt-cta-btn{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 28px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.5px;
    text-decoration: none;
    transition: all 0.25s ease;
    align-self: flex-start;
}
#gx-accueil-cms .bt-cta-primary{
    background: #1a3a8f;
    color: #fff;
}
#gx-accueil-cms .bt-cta-primary:hover{ background: #0a1628; color: #d4af37; }
#gx-accueil-cms .bt-cta-secondary{
    background: transparent;
    color: #1a3a8f;
    border: 2px solid #1a3a8f;
}
#gx-accueil-cms .bt-cta-secondary:hover{ background: #1a3a8f; color: #fff; }
#gx-accueil-cms .bt-stats-grid{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
#gx-accueil-cms .bt-stat-unit{
    background: #fff;
    border: 1px solid #e8ecf0;
    border-radius: 16px;
    padding: 28px 20px;
    text-align: center;
    transition: all 0.3s ease;
}
#gx-accueil-cms .bt-stat-unit:hover{
    border-color: #1a3a8f;
    box-shadow: 0 8px 24px rgba(26,58,143,0.08);
}
#gx-accueil-cms .bt-stat-number{
    display: block;
    font-size: 34px;
    font-weight: 900;
    color: #1a3a8f;
    margin-bottom: 4px;
}
#gx-accueil-cms .bt-stat-label{
    font-size: 11px;
    font-weight: 700;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 1px;
}


@media (max-width: 1100px) {
#gx-accueil-cms .bt-dual-grid{ grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
#gx-accueil-cms .resto-header-main.bt-header-main{
        grid-template-columns: 1fr;
        gap: 10px;
    }
#gx-accueil-cms .resto-header-main.bt-header-main .resto-header-center,#gx-accueil-cms .resto-header-main.bt-header-main .resto-header-logo-right{
        grid-column: auto;
        justify-self: center;
        width: 100%;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
#gx-accueil-cms .bt-body{ padding: 40px 20px; }
#gx-accueil-cms .bt-stats-grid{ grid-template-columns: repeat(2, 1fr); }
#gx-accueil-cms .bt-card{ padding: 24px; }
#gx-accueil-cms .bt-vthumb{ width: 100px; }
#gx-accueil-cms .bt-vthumb img{ height: 56px; }
}

@media (max-width: 480px) {
#gx-accueil-cms .bt-stats-grid{ grid-template-columns: 1fr 1fr; }
#gx-accueil-cms .bt-card-top{ flex-direction: column; }
#gx-accueil-cms .bt-icon-box{
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    background: rgba(26, 58, 143, 0.07);
    color: #1a3a8f;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}
}/* ==== multilingual-grid.css ==== */
#gx-accueil-cms .multilingual-v2-section{
    background: #fff;
    font-family: Montserrat, sans-serif;
}
#gx-accueil-cms .mlg-container{
    max-width: 1200px;
    margin: 0 auto;
    padding: 48px 40px;
}
#gx-accueil-cms .lang-grid-container{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
    margin-top: 40px;
}
#gx-accueil-cms .lang-card{
    background: #fff;
    border: 1px solid #eee;
    border-radius: 20px;
    padding: 35px 20px;
    text-align: center;
    position: relative;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 15px rgba(0,0,0,0.02);
}
#gx-accueil-cms .lang-card:hover{
    transform: translateY(-10px);
    border-color: #008080;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
}
#gx-accueil-cms .lang-status-badge{
    position: absolute;
    top: 15px;
    right: 15px;
    padding: 4px 12px;
    border-radius: 50px;
    font-size: 10px;
    font-weight: 800;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
#gx-accueil-cms .lang-status-badge.principale{ background: #8e44ad; }
#gx-accueil-cms .lang-status-badge.populaire{ background: #1abc9c; }
#gx-accueil-cms .lang-status-badge.nouveau{ background: #e67e22; }
#gx-accueil-cms .lang-status-badge.prochaine{ background: #795548; }
#gx-accueil-cms .flag-circle{
    width: 90px;
    height: 90px;
    margin: 0 auto 25px;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
    border: 3px solid #fff;
    background: #f8f9fa;
    display: flex;
    align-items: center;
    justify-content: center;
}
#gx-accueil-cms .flag-circle img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#gx-accueil-cms .lang-card h3{
    font-size: 22px;
    font-weight: 800;
    color: #333;
    margin-bottom: 15px;
}
#gx-accueil-cms .lang-card p{
    font-size: 13px;
    color: #777;
    line-height: 1.6;
    margin-bottom: 25px;
    min-height: 48px;
}
#gx-accueil-cms .lang-select-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 12px 20px;
    border: 2px solid #008080;
    border-radius: 50px;
    background: transparent;
    color: #008080;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.3s ease;
}
#gx-accueil-cms .lang-select-btn:hover{
    background: #008080;
    color: #fff;
}
#gx-accueil-cms .lang-select-btn.selected{
    background: #eafffa;
    color: #008080;
    border-color: #008080;
}
#gx-accueil-cms .lang-select-btn.selected i{
    background: #008080;
    color: #fff;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    font-size: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}
#gx-accueil-cms .enterprise-footer-note{
    margin-top: 50px;
    padding-top: 30px;
    border-top: 1px solid #f0f0f0;
    text-align: center;
}
#gx-accueil-cms .note-box{
    display: inline-flex;
    align-items: center;
    gap: 15px;
    background: #f8fcfd;
    padding: 15px 40px;
    border-radius: 50px;
    border: 1px solid #e0f2f1;
    font-weight: 700;
    color: #006064;
}
#gx-accueil-cms .note-box i{ font-size: 20px; color: #00838f; }



@media (max-width: 1200px) {
#gx-accueil-cms .lang-grid-container{
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
#gx-accueil-cms .mlg-container{
        padding: 32px 20px;
    }
}

@media (max-width: 600px) {
#gx-accueil-cms .lang-grid-container{
        grid-template-columns: 1fr;
    }
#gx-accueil-cms .mlg-container{
        padding: 24px 14px;
    }
}/* ==== news-section.css ==== */
#gx-accueil-cms .news-v2-section{
    background: #fff;
    font-family: Montserrat, sans-serif;
}
#gx-accueil-cms .news-container{
    max-width: 1200px;
    margin: 0 auto;
    padding: 48px 40px;
}
#gx-accueil-cms .news-explore-divider{
    margin: 56px 0 32px;
    text-align: center;
}
#gx-accueil-cms .news-explore-divider h2{
    font-size: 22px;
    font-weight: 800;
    color: #1a3a8f;
    margin-bottom: 8px;
}
#gx-accueil-cms .news-explore-divider p{
    font-size: 14px;
    color: #94a3b8;
}
#gx-accueil-cms .news-articles-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 40px;
}
#gx-accueil-cms .news-article-card{
    background: #fff;
    border: 1px solid #eee;
    border-radius: 20px;
    overflow: hidden;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
}
#gx-accueil-cms .news-article-card:hover{
    transform: translateY(-10px);
    border-color: #d32f2f;
    box-shadow: 0 15px 35px rgba(0,0,0,0.08);
}
#gx-accueil-cms .news-article-image{
    height: 200px;
    background: #f8f9fa;
    position: relative;
    overflow: hidden;
}
#gx-accueil-cms .news-article-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#gx-accueil-cms .news-region-badge{
    position: absolute;
    bottom: 0;
    left: 0;
    background: #1a3a8f;
    color: #fff;
    padding: 6px 15px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    border-top-right-radius: 12px;
}
#gx-accueil-cms .news-article-body{
    padding: 25px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}
#gx-accueil-cms .news-category{
    font-size: 11px;
    font-weight: 800;
    color: #d32f2f;
    text-transform: uppercase;
    margin-bottom: 10px;
    letter-spacing: 1px;
    display: flex;
    align-items: center;
    gap: 8px;
}
#gx-accueil-cms .news-article-body h3{
    font-size: 19px;
    font-weight: 800;
    line-height: 1.4;
    margin-bottom: 15px;
    color: #0a1628;
}
#gx-accueil-cms .news-article-body p{
    font-size: 14px;
    color: #666;
    line-height: 1.6;
    margin-bottom: 20px;
    flex-grow: 1;
}
#gx-accueil-cms .news-article-footer{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 20px;
    border-top: 1px solid #f0f0f0;
}
#gx-accueil-cms .news-time{
    font-size: 12px;
    color: #aaa;
    font-weight: 600;
}
#gx-accueil-cms .news-read-btn{
    color: #1a3a8f;
    font-weight: 800;
    font-size: 13px;
    text-transform: uppercase;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 5px;
}
#gx-accueil-cms .news-read-btn:hover{ color: #d32f2f; }
#gx-accueil-cms .news-region-grid{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
#gx-accueil-cms .region-explore-card{
    position: relative;
    height: 250px;
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    border: none;
    background-size: cover;
    background-position: center;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    color: #fff;
    padding: 30px;
}
#gx-accueil-cms .region-explore-card::before{
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(to bottom, rgba(10, 22, 40, 0.2) 0%, rgba(10, 22, 40, 0.85) 100%);
    transition: background 0.3s ease;
    z-index: 1;
}
#gx-accueil-cms .region-explore-card:hover{
    transform: translateY(-8px) scale(1.02);
}
#gx-accueil-cms .region-explore-card:hover::before{
    background: linear-gradient(to bottom, rgba(211, 47, 47, 0.2) 0%, rgba(10, 22, 40, 0.95) 100%);
}
#gx-accueil-cms .region-explore-card h4{
    font-size: 24px;
    font-weight: 800;
    color: #fff;
    margin-bottom: 10px;
    z-index: 2;
    text-transform: uppercase;
    letter-spacing: 2px;
}
#gx-accueil-cms .region-count{
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 25px;
    background: rgba(255, 255, 255, 0.15);
    padding: 8px 16px;
    border-radius: 50px;
    z-index: 2;
    backdrop-filter: blur(5px);
    border: 1px solid rgba(255, 255, 255, 0.2);
}
#gx-accueil-cms .region-explore-btn{
    width: auto;
    min-width: 130px;
    padding: 12px 25px;
    border: 2px solid #fff;
    color: #fff;
    background: transparent;
    border-radius: 50px;
    font-weight: 800;
    font-size: 11px;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 2;
}
#gx-accueil-cms .region-explore-btn:hover{
    background: #fff;
    color: #1a3a8f;
}


@media (max-width: 1024px) {
#gx-accueil-cms .news-articles-grid{ grid-template-columns: repeat(2, 1fr); }
#gx-accueil-cms .news-region-grid{ grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
#gx-accueil-cms .news-articles-grid{ grid-template-columns: 1fr; }
#gx-accueil-cms .news-container{ padding: 32px 20px; }
}

@media (max-width: 480px) {
#gx-accueil-cms .news-region-grid{ grid-template-columns: 1fr; }
#gx-accueil-cms .news-container{ padding: 24px 14px; }
}/* ==== web-services.css ==== */
#gx-accueil-cms .web-services-v2-section{
    background: #fff;
    font-family: Montserrat, sans-serif;
}
#gx-accueil-cms .ws-container{
    max-width: 1200px;
    margin: 0 auto;
    padding: 48px 40px;
}
#gx-accueil-cms .ws-cta-final{
    margin-top: 80px;
    text-align: center;
    background: #1a3a8f;
    padding: 60px 40px;
    border-radius: 24px;
    color: #fff;
}
#gx-accueil-cms .ws-cta-title{
    font-size: 28px;
    font-weight: 800;
    margin-bottom: 20px;
    color: #fff;
}
#gx-accueil-cms .ws-cta-desc{
    font-size: 16px;
    opacity: 0.9;
    max-width: 700px;
    margin: 0 auto 40px;
    line-height: 1.7;
}
#gx-accueil-cms .ws-cta-btn{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #fff;
    color: #1a3a8f;
    padding: 14px 32px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
    transition: all 0.25s ease;
    letter-spacing: 0.5px;
}
#gx-accueil-cms .ws-cta-btn:hover{
    background: #eff6ff;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
}
#gx-accueil-cms .web-badge-pro{
    display: inline-block;
    background: rgba(26, 58, 143, 0.05);
    color: #1a3a8f;
    padding: 8px 20px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.5px;
    margin-bottom: 25px;
    border: 1px solid rgba(26, 58, 143, 0.1);
}
#gx-accueil-cms .web-carousels-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 50px;
}
#gx-accueil-cms .web-carousel-box{
    background: #fcfcfc;
    border: 1px solid #eee;
    border-radius: 24px;
    padding: 30px;
    transition: all 0.4s ease;
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 500px;
}
#gx-accueil-cms .web-carousel-box:hover{
    border-color: #1a3a8f;
    box-shadow: 0 20px 50px rgba(0,0,0,0.05);
    transform: translateY(-5px);
}
#gx-accueil-cms .web-carousel-header{
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 25px;
    border-bottom: 1px solid #eee;
    padding-bottom: 20px;
}
#gx-accueil-cms .web-carousel-icon{
    width: 50px;
    height: 50px;
    background: #1a3a8f;
    color: #fff;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}
#gx-accueil-cms .web-carousel-header h2{
    font-size: 18px;
    font-weight: 800;
    color: #0a1628;
    line-height: 1.2;
}
#gx-accueil-cms .web-carousel-header h2 span{
    display: block;
    font-size: 11px;
    font-weight: 500;
    color: #888;
    margin-top: 4px;
}
#gx-accueil-cms .web-carousel-content{
    position: relative;
    flex-grow: 1;
    overflow: hidden;
}
#gx-accueil-cms .web-inner-item{
    text-align: center;
    padding: 20px 10px;
}
#gx-accueil-cms .web-item-circle{
    width: 100px;
    height: 100px;
    margin: 0 auto 20px;
    border-radius: 50%;
    border: 4px solid #fff;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    background: #fff;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
#gx-accueil-cms .web-item-circle img{ width: 100%; height: 100%; object-fit: cover; }
#gx-accueil-cms .web-item-circle i{ font-size: 40px; color: #1a3a8f; }
#gx-accueil-cms .web-item-name{ font-size: 20px; font-weight: 800; color: #1a3a8f; margin-bottom: 8px; }
#gx-accueil-cms .web-item-sub{ font-size: 13px; font-weight: 600; color: #666; margin-bottom: 15px; }
#gx-accueil-cms .web-item-tag{ 
    display: inline-block;
    padding: 5px 15px;
    background: #f0f0f0;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 700;
    color: #333;
    margin-bottom: 20px;
}
#gx-accueil-cms .web-editor-block{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    margin-top: 100px;
    align-items: center;
    background: #f8fbfd;
    padding: 60px;
    border-radius: 30px;
    border: 1px solid #e0f2f1;
}
#gx-accueil-cms .web-editor-text h3{
    font-size: 28px;
    font-weight: 900;
    color: #1a3a8f;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    gap: 15px;
}
#gx-accueil-cms .ai-pill{
    background: #d32f2f;
    color: #fff;
    font-size: 10px;
    padding: 4px 12px;
    border-radius: 50px;
    letter-spacing: 1px;
}
#gx-accueil-cms .web-editor-text p{
    font-size: 15px;
    color: #555;
    line-height: 1.8;
    margin-bottom: 25px;
}
#gx-accueil-cms .web-editor-features{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
#gx-accueil-cms .web-ef-unit{
    display: flex;
    align-items: center;
    gap: 12px;
    background: #fff;
    padding: 15px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 700;
    color: #333;
    box-shadow: 0 4px 10px rgba(0,0,0,0.02);
}
#gx-accueil-cms .web-ef-unit i{ color: #1a3a8f; }
#gx-accueil-cms .web-browser-ui{
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 30px 60px rgba(0,0,0,0.1);
    overflow: hidden;
}
#gx-accueil-cms .ui-head{
    background: #f1f3f4;
    padding: 12px 20px;
    display: flex;
    gap: 8px;
    align-items: center;
}
#gx-accueil-cms .ui-dot{ width: 10px; height: 10px; border-radius: 50%; }
#gx-accueil-cms .red{ background: #ff5f56; }
#gx-accueil-cms .yellow{ background: #ffbd2e; }
#gx-accueil-cms .green{ background: #27c93f; }
#gx-accueil-cms .ui-url{
    background: #fff;
    flex-grow: 1;
    margin-left: 15px;
    border-radius: 4px;
    height: 24px;
    font-size: 10px;
    padding: 0 15px;
    display: flex;
    align-items: center;
    color: #aaa;
}
#gx-accueil-cms .ui-content{ padding: 40px; text-align: center; }
#gx-accueil-cms .web-services-grid{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
    margin-top: 80px;
}
#gx-accueil-cms .web-service-card{
    position: relative;
    height: 300px;
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 30px;
    background-size: cover;
    background-position: center;
    border: none;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    color: #fff;
    cursor: pointer;
}
#gx-accueil-cms .web-service-card::before{
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(to bottom, rgba(10, 22, 40, 0.1) 0%, rgba(10, 22, 40, 0.9) 100%);
    z-index: 1;
}
#gx-accueil-cms .web-service-card:hover{
    transform: translateY(-10px) scale(1.02);
}
#gx-accueil-cms .web-service-card:hover::before{
    background: linear-gradient(to bottom, rgba(211, 47, 47, 0.2) 0%, rgba(10, 22, 40, 0.95) 100%);
}
#gx-accueil-cms .web-service-card i{
    position: absolute;
    top: 25px;
    left: 25px;
    font-size: 28px;
    color: rgba(255, 255, 255, 0.9);
    z-index: 2;
    background: rgba(10, 22, 40, 0.4);
    width: 50px;
    height: 50px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(5px);
}
#gx-accueil-cms .web-service-card h4{
    position: relative;
    z-index: 2;
    font-size: 18px;
    font-weight: 800;
    color: #fff;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
}
#gx-accueil-cms .web-service-card p{
    position: relative;
    z-index: 2;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.5;
    margin: 0;
}
#gx-accueil-cms .web-service-card .tech-badge{
    position: absolute;
    top: 25px;
    right: 25px;
    background: #d32f2f;
    color: #fff;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 9px;
    font-weight: 800;
    z-index: 2;
    letter-spacing: 0.5px;
}




@media (max-width: 1100px) {
#gx-accueil-cms .web-carousels-grid{
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}


@media (max-width: 991px) {
#gx-accueil-cms .ws-container{
        padding: 36px 24px;
    }
#gx-accueil-cms .web-carousels-grid{
        grid-template-columns: 1fr;
    }
#gx-accueil-cms .web-carousel-box{
        min-height: auto;
    }
#gx-accueil-cms .web-editor-block{
        grid-template-columns: 1fr;
        gap: 40px;
        padding: 40px 25px;
    }
#gx-accueil-cms .web-editor-text{
        text-align: center;
    }
#gx-accueil-cms .web-editor-text h3{
        justify-content: center;
    }
#gx-accueil-cms .web-editor-features{
        grid-template-columns: 1fr;
        max-width: 400px;
        margin: 0 auto;
    }
#gx-accueil-cms .web-services-grid{
        grid-template-columns: repeat(2, 1fr);
    }
}


@media (max-width: 768px) {
#gx-accueil-cms .ws-container{
        padding: 28px 16px;
    }
#gx-accueil-cms .ws-cta-final{
        padding: 40px 20px;
    }
#gx-accueil-cms .ws-cta-title{
        font-size: 20px;
    }
#gx-accueil-cms .web-editor-text h3{
        font-size: 20px;
        flex-direction: column;
        gap: 10px;
    }
#gx-accueil-cms .web-service-card{
        padding: 20px;
    }
#gx-accueil-cms .web-service-card i{
        font-size: 24px;
    }
#gx-accueil-cms .web-service-card h4{
        font-size: 14px;
    }
#gx-accueil-cms .web-service-card p{
        font-size: 12px;
    }

}


@media (max-width: 480px) {
#gx-accueil-cms .web-services-grid{
        grid-template-columns: 1fr;
    }
#gx-accueil-cms .web-item-name{
        font-size: 18px;
    }
#gx-accueil-cms .ui-content h4{
        font-size: 18px !important;
    }
#gx-accueil-cms .design-bosse-more-btn{
        width: 100%;
        justify-content: center;
        padding: 15px !important;
    }
}/* ==== agency-section.css ==== */
#gx-accueil-cms .agency-v2-section{
    background: #fff;
    font-family: Montserrat, sans-serif;
}
#gx-accueil-cms .agency-v2-container{
    max-width: 1200px;
    margin: 0 auto;
    padding: 48px 40px;
}
#gx-accueil-cms .agency-header-more-btn{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 22px;
    border: 2px solid #3b82f6;
    border-radius: 8px;
    background: transparent;
    color: #3b82f6;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.25s ease;
    margin-left: 6px;
    white-space: nowrap;
}
#gx-accueil-cms .agency-header-more-btn:hover{
    background: #3b82f6;
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(59,130,246,0.3);
}
#gx-accueil-cms .agency-v2-content{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start;
}
#gx-accueil-cms .agency-v2-info-card{
    background: #f8fafc; 
    border-radius: 24px;
    padding: 40px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    border: 1px solid #f1f5f9;
}
#gx-accueil-cms .agency-v2-brand{
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
}
#gx-accueil-cms .agency-v2-logo-box{
    width: 64px;
    height: 64px;
    background: linear-gradient(135deg, #1a3a8f 0%, #2d5cc2 100%);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 28px;
    box-shadow: 0 8px 16px rgba(26, 58, 143, 0.2);
}
#gx-accueil-cms .agency-v2-brand-text h2{
    font-size: 24px;
    font-weight: 700;
    color: #1e293b;
    margin: 0;
}
#gx-accueil-cms .agency-v2-brand-text p{
    font-size: 14px;
    color: #64748b;
    margin: 4px 0 0 0;
}
#gx-accueil-cms .agency-v2-description{
    margin-bottom: 30px;
}
#gx-accueil-cms .agency-v2-description h3{
    font-size: 20px;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 15px;
}
#gx-accueil-cms .agency-v2-description p{
    font-size: 16px;
    color: #475569;
    line-height: 1.7;
    margin-bottom: 15px;
}
#gx-accueil-cms .agency-v2-features{
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}
#gx-accueil-cms .agency-v2-features li{
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: #334155;
    font-weight: 600;
}
#gx-accueil-cms .agency-v2-features li i{
    color: #0ea5e9;
    font-size: 16px;
}
#gx-accueil-cms .agency-v2-form-card{
    background: #f8fafc; 
    border-radius: 24px;
    padding: 40px;
    box-shadow: 0 10px 25px rgba(15, 23, 42, 0.05);
    position: relative;
    border: 1px solid #f1f5f9;
}
#gx-accueil-cms .agency-v2-form-title{
    font-size: 24px;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 30px;
    text-align: center;
}
#gx-accueil-cms .agency-v2-form-grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
}
#gx-accueil-cms .agency-v2-input-group{
    display: flex;
    flex-direction: column;
    gap: 8px;
}
#gx-accueil-cms .agency-v2-input-group.full{
    grid-column: span 2;
}
#gx-accueil-cms .agency-v2-input-group label{
    font-size: 14px;
    font-weight: 600;
    color: #475569;
}
#gx-accueil-cms .agency-v2-input-group input,#gx-accueil-cms .agency-v2-input-group select{
    padding: 12px 16px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    font-size: 15px;
    color: #1e293b;
    transition: all 0.3s ease;
    background-color: #ffffff;
}
#gx-accueil-cms .agency-v2-input-group input:focus,#gx-accueil-cms .agency-v2-input-group select:focus{
    outline: none;
    border-color: #1a3a8f;
    background-color: #ffffff;
    box-shadow: 0 0 0 4px rgba(26, 58, 143, 0.1);
}
#gx-accueil-cms .agency-v2-submit-btn{
    width: 100%;
    padding: 16px;
    background: linear-gradient(135deg, #1a3a8f 0%, #2d5cc2 100%);
    color: #ffffff;
    border: none;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    box-shadow: 0 10px 20px rgba(26, 58, 143, 0.2);
}
#gx-accueil-cms .agency-v2-submit-btn:hover{
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(26, 58, 143, 0.3);
    filter: brightness(1.1);
}
#gx-accueil-cms .agency-v2-footer-content{
    margin-top: 40px;
}
#gx-accueil-cms .agency-v2-plans-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 40px;
}
#gx-accueil-cms .agency-v2-plan-item{
    background: #ffffff;
    border: 1px solid #e2e8f0;
    padding: 20px;
    border-radius: 16px;
    text-align: center;
    transition: all 0.3s ease;
}
#gx-accueil-cms .agency-v2-plan-item:hover{
    background: #ffffff;
    border-color: #1a3a8f;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05);
    transform: translateY(-4px);
}
#gx-accueil-cms .agency-v2-plan-icon{
    width: 40px;
    height: 40px;
    background: #f8fafc;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 15px;
    color: #1a3a8f;
    font-size: 18px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}
#gx-accueil-cms .agency-v2-plan-item h4{
    font-size: 16px;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 8px;
}
#gx-accueil-cms .agency-v2-plan-item p{
    font-size: 13px;
    color: #64748b;
    margin: 0;
}
#gx-accueil-cms .agency-v2-stats{
    display: flex;
    justify-content: center;
    gap: 0;
    margin-top: 24px;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    overflow: hidden;
}
#gx-accueil-cms .agency-v2-stat-unit{
    flex: 1;
    text-align: center;
    padding: 24px 20px;
    border-right: 1px solid #e2e8f0;
}
#gx-accueil-cms .agency-v2-stat-unit:last-child{
    border-right: none;
}
#gx-accueil-cms .agency-v2-stat-value{
    display: block;
    font-size: 32px;
    font-weight: 900;
    color: #1e293b;
    margin-bottom: 4px;
    line-height: 1;
}
#gx-accueil-cms .agency-v2-stat-label{
    font-size: 12px;
    color: #64748b;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}


@media (max-width: 1024px) {
#gx-accueil-cms .agency-v2-content{
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
#gx-accueil-cms .agency-v2-container{
        padding: 32px 20px;
    }
#gx-accueil-cms .agency-header-more-btn{
        display: none;
    }
#gx-accueil-cms .agency-v2-info-card,#gx-accueil-cms .agency-v2-form-card{
        padding: 25px 20px;
        border-radius: 20px;
    }
#gx-accueil-cms .agency-v2-title{
        font-size: 26px;
    }
#gx-accueil-cms .agency-v2-subtitle{
        font-size: 15px;
    }
#gx-accueil-cms .agency-v2-features{
        grid-template-columns: 1fr;
    }
#gx-accueil-cms .agency-v2-form-grid{
        grid-template-columns: 1fr;
    }
#gx-accueil-cms .agency-v2-input-group.full{
        grid-column: span 1;
    }
#gx-accueil-cms .agency-v2-plans-grid{
        grid-template-columns: 1fr;
    }
#gx-accueil-cms .agency-v2-stats{
        flex-direction: row;
        justify-content: space-around;
        gap: 20px;
        padding: 20px;
    }
}

@media (max-width: 480px) {
#gx-accueil-cms .agency-v2-container{
        padding: 24px 14px;
    }
#gx-accueil-cms .agency-v2-info-card,#gx-accueil-cms .agency-v2-form-card{
        padding: 20px 15px;
    }
#gx-accueil-cms .agency-v2-title{
        font-size: 22px;
    }
#gx-accueil-cms .agency-v2-stats{
        flex-direction: column;
        gap: 15px;
    }
#gx-accueil-cms .agency-v2-stat-value{
        font-size: 28px;
    }
#gx-accueil-cms .agency-v2-brand{
        flex-direction: column;
        text-align: center;
        gap: 15px;
    }
#gx-accueil-cms .agency-v2-logo-box{
        margin: 0 auto;
    }
}/* ==== partners-master.css ==== */
#gx-accueil-cms{
    --pm-blue:       #3b82f6;
    --pm-blue-dark:  #1d4ed8;
    --pm-blue-light: #eff6ff;
    --pm-navy:       #0a1628;
    --pm-navy-mid:   #1a3a8f;
    --pm-gray-bg:    #f8fafc;
    --pm-border:     #e2e8f0;
    --pm-text:       #1e293b;
    --pm-muted:      #64748b;
}

@keyframes pm-blink {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0.3; }
}@media (max-width: 1100px){
}@media (max-width: 900px){
}@media (max-width: 640px){
}@media (max-width: 480px){
}/* ==== real-estate.css ==== */
#gx-accueil-cms .immo-v2-section{
    background: #fff;
    font-family: Montserrat, sans-serif;
}
#gx-accueil-cms .immo-v2-container{
    max-width: 1200px;
    margin: 0 auto;
    padding: 48px 40px;
}
#gx-accueil-cms .immo-header-more-btn{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 22px;
    border: 2px solid #3b82f6;
    border-radius: 8px;
    background: transparent;
    color: #3b82f6;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.25s ease;
    margin-left: 6px;
    white-space: nowrap;
}
#gx-accueil-cms .immo-header-more-btn:hover{
    background: #3b82f6;
    color: #fff;
    box-shadow: 0 6px 16px rgba(59,130,246,0.3);
}
#gx-accueil-cms .immo-v2-grid{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-bottom: 60px;
}
#gx-accueil-cms .immo-v2-card{
    background: #ffffff;
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid #f1f5f9;
    display: flex;
    flex-direction: column;
    height: 100%;
}
#gx-accueil-cms .immo-v2-card:hover{
    transform: translateY(-12px);
    box-shadow: 0 25px 50px rgba(15, 23, 42, 0.1);
    border-color: #cbd5e1;
}
#gx-accueil-cms .immo-v2-card-img{
    position: relative;
    height: 260px;
    overflow: hidden;
}
#gx-accueil-cms .immo-v2-card-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s ease;
}
#gx-accueil-cms .immo-v2-card:hover .immo-v2-card-img img{
    transform: scale(1.1);
}
#gx-accueil-cms .immo-v2-img-badge{
    position: absolute;
    top: 20px;
    left: 20px;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(8px);
    padding: 8px 18px;
    border-radius: 30px;
    font-weight: 700;
    font-size: 12px;
    color: #1a3a8f;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    z-index: 2;
}
#gx-accueil-cms .immo-v2-card-content{
    padding: 30px;
    flex: 1;
    display: flex;
    flex-direction: column;
}
#gx-accueil-cms .immo-v2-card-title{
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 10px;
    color: #1e293b;
}
#gx-accueil-cms .immo-v2-location{
    display: flex;
    align-items: center;
    gap: 8px;
    color: #64748b;
    font-weight: 500;
    margin-bottom: 20px;
    font-size: 14px;
}
#gx-accueil-cms .immo-v2-location i{
    color: #ef4444;
}
#gx-accueil-cms .immo-v2-features{
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 25px;
    padding: 15px 0;
    border-top: 1px solid #f1f5f9;
    border-bottom: 1px solid #f1f5f9;
}
#gx-accueil-cms .immo-v2-feature-item{
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    color: #475569;
    font-size: 13px;
}
#gx-accueil-cms .immo-v2-feature-item i{
    color: #1a3a8f;
    font-size: 16px;
}
#gx-accueil-cms .immo-v2-price{
    font-size: 20px;
    font-weight: 800;
    color: #1a3a8f;
    margin-bottom: 12px;
    letter-spacing: -0.3px;
}
#gx-accueil-cms .immo-v2-btn{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    margin-top: auto;
    background: #0f172a;
    color: #ffffff;
    padding: 12px 24px;
    border-radius: 50px;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    transition: all 0.3s ease;
}
#gx-accueil-cms .immo-v2-btn:hover{
    background: #1a3a8f;
    transform: scale(1.05);
}
#gx-accueil-cms .immo-v2-agent-cta{
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 35px;
    padding: 30px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 30px;
    margin-top: 30px;
}
#gx-accueil-cms .immo-v2-agent-info{
    display: flex;
    align-items: center;
    gap: 25px;
}
#gx-accueil-cms .immo-v2-agent-img{
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #ffffff;
    box-shadow: 0 10px 20px rgba(0,0,0,0.05);
}
#gx-accueil-cms .immo-v2-agent-details h4{
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 4px;
    color: #0f172a;
}
#gx-accueil-cms .immo-v2-agent-details p{
    font-size: 15px;
    color: #64748b;
    margin: 0;
}
#gx-accueil-cms .immo-v2-contact-btn{
    background: linear-gradient(135deg, #1a3a8f 0%, #2d5cc2 100%);
    color: #ffffff;
    padding: 16px 40px;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 700;
    font-size: 16px;
    transition: all 0.3s ease;
    box-shadow: 0 10px 20px rgba(26, 58, 143, 0.2);
}
#gx-accueil-cms .immo-v2-contact-btn:hover{
    transform: translateY(-3px);
    box-shadow: 0 15px 30px rgba(26, 58, 143, 0.3);
}




@media (max-width: 1200px) {
#gx-accueil-cms .immo-v2-grid{
        grid-template-columns: repeat(3, 1fr);
    }
}


@media (max-width: 1024px) {
#gx-accueil-cms .immo-v2-container{
        padding: 40px 24px;
    }
#gx-accueil-cms .immo-v2-grid{
        grid-template-columns: repeat(2, 1fr);
        gap: 22px;
        margin-bottom: 40px;
    }
#gx-accueil-cms .immo-v2-card{
        border-radius: 22px;
    }
#gx-accueil-cms .immo-v2-card-img{
        height: 220px;
    }
#gx-accueil-cms .immo-v2-card-content{
        padding: 22px;
    }
#gx-accueil-cms .immo-v2-card-title{
        font-size: 20px;
    }
}


@media (max-width: 768px) {
#gx-accueil-cms .immo-v2-container{
        padding: 28px 16px;
    }
#gx-accueil-cms .immo-header-more-btn{
        display: none;
    }
#gx-accueil-cms .immo-v2-grid{
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
        margin-bottom: 32px;
    }
#gx-accueil-cms .immo-v2-card{
        border-radius: 18px;
    }
#gx-accueil-cms .immo-v2-card-img{
        height: 170px;
    }
#gx-accueil-cms .immo-v2-img-badge{
        top: 12px;
        left: 12px;
        padding: 6px 12px;
        font-size: 10px;
    }
#gx-accueil-cms .immo-v2-card-content{
        padding: 16px;
    }
#gx-accueil-cms .immo-v2-price{
        font-size: 17px;
        margin-bottom: 8px;
    }
#gx-accueil-cms .immo-v2-card-title{
        font-size: 17px;
        margin-bottom: 6px;
    }
#gx-accueil-cms .immo-v2-location{
        font-size: 12px;
        margin-bottom: 12px;
    }
#gx-accueil-cms .immo-v2-features{
        gap: 10px;
        padding: 10px 0;
        margin-bottom: 16px;
    }
#gx-accueil-cms .immo-v2-feature-item{
        font-size: 11px;
        gap: 5px;
    }
#gx-accueil-cms .immo-v2-feature-item i{
        font-size: 13px;
    }
#gx-accueil-cms .immo-v2-btn{
        padding: 10px 16px;
        font-size: 12px;
        gap: 6px;
    }
#gx-accueil-cms .immo-v2-agent-cta{
        flex-direction: column;
        text-align: center;
        padding: 24px 18px;
        border-radius: 20px;
        gap: 20px;
    }
#gx-accueil-cms .immo-v2-agent-info{
        flex-direction: column;
        gap: 14px;
        width: 100%;
    }
#gx-accueil-cms .immo-v2-agent-img{
        width: 82px;
        height: 82px;
    }
#gx-accueil-cms .immo-v2-agent-details h4{
        font-size: 18px;
    }
#gx-accueil-cms .immo-v2-agent-details p{
        font-size: 13px;
    }
#gx-accueil-cms .immo-v2-contact-btn{
        width: 100%;
        text-align: center;
        padding: 13px 20px;
        font-size: 14px;
    }
}


@media (max-width: 560px) {
#gx-accueil-cms .immo-v2-container{
        padding: 22px 12px;
    }
#gx-accueil-cms .immo-v2-grid{
        grid-template-columns: 1fr;
        gap: 18px;
    }
#gx-accueil-cms .immo-v2-card{
        border-radius: 16px;
    }
#gx-accueil-cms .immo-v2-card-img{
        height: 200px;
    }
#gx-accueil-cms .immo-v2-card-content{
        padding: 18px;
    }
#gx-accueil-cms .immo-v2-card-title{
        font-size: 19px;
    }
#gx-accueil-cms .immo-v2-price{
        font-size: 19px;
    }
#gx-accueil-cms .immo-v2-features{
        gap: 14px;
    }
#gx-accueil-cms .immo-v2-feature-item{
        font-size: 12px;
    }
#gx-accueil-cms .immo-v2-btn{
        font-size: 13px;
        padding: 11px 18px;
    }
}


@media (max-width: 380px) {
#gx-accueil-cms .immo-v2-container{
        padding: 18px 10px;
    }
#gx-accueil-cms .immo-v2-card-img{
        height: 180px;
    }
#gx-accueil-cms .immo-v2-card-content{
        padding: 14px;
    }
#gx-accueil-cms .immo-v2-features{
        gap: 10px;
    }
#gx-accueil-cms .immo-v2-agent-img{
        width: 72px;
        height: 72px;
    }
}/* ==== restaurant-header.css ==== */
#gx-accueil-cms ﻿


.resto-service-block,#gx-accueil-cms .resto-service-block *,#gx-accueil-cms .resto-service-block *::before,#gx-accueil-cms .resto-service-block *::after{
    font-family: 'Montserrat', sans-serif;
}
#gx-accueil-cms .resto-service-block .fas,#gx-accueil-cms .resto-service-block .fa-solid{
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
}
#gx-accueil-cms .resto-service-block .fas::before,#gx-accueil-cms .resto-service-block .fa-solid::before{
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
}
#gx-accueil-cms .resto-service-block .far,#gx-accueil-cms .resto-service-block .fa-regular{
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 400 !important;
}
#gx-accueil-cms .resto-service-block .far::before,#gx-accueil-cms .resto-service-block .fa-regular::before{
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 400 !important;
}
#gx-accueil-cms .resto-service-block .fab,#gx-accueil-cms .resto-service-block .fa-brands{
    font-family: "Font Awesome 6 Brands" !important;
    font-weight: 400 !important;
}
#gx-accueil-cms .resto-service-block .fab::before,#gx-accueil-cms .resto-service-block .fa-brands::before{
    font-family: "Font Awesome 6 Brands" !important;
    font-weight: 400 !important;
}
#gx-accueil-cms .resto-service-block{
    width: calc(100% - 64px);
    max-width: 1600px;
    margin: 32px auto;
    font-family: 'Montserrat', sans-serif;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 8px 40px rgba(0,0,0,0.1);
}
#gx-accueil-cms .resto-header-block{
    width: 100%;
    font-family: 'Montserrat', sans-serif;
    background: #f8f8f8;
    position: relative;
    overflow: hidden;
}
#gx-accueil-cms .resto-header-block::before{
    content: none;
}
#gx-accueil-cms .resto-header-main{
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: center;
    gap: 12px;
    padding: 18px 24px 16px;
    min-height: 100px;
}
#gx-accueil-cms .resto-header-logo-left,#gx-accueil-cms .resto-header-logo-right{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
#gx-accueil-cms .resto-header-logo-left .logo-wrapper,#gx-accueil-cms .resto-header-logo-right .logo-wrapper{
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.9);
    border: 2px solid rgba(30,136,229,0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    text-decoration: none;
    flex-shrink: 0;
}
#gx-accueil-cms .resto-header-logo-left .logo-wrapper:hover,#gx-accueil-cms .resto-header-logo-right .logo-wrapper:hover{
    transform: scale(1.05);
    box-shadow: 0 6px 28px rgba(0,0,0,0.4);
}
#gx-accueil-cms .resto-header-logo-left .logo-wrapper img,#gx-accueil-cms .resto-header-logo-right .logo-wrapper img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    padding: 0;
}
#gx-accueil-cms .resto-logo-label{
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: rgba(10,22,40,0.65);
    text-align: center;
    line-height: 1.3;
    word-break: break-word;
    overflow-wrap: break-word;
    max-width: 100%;
}
#gx-accueil-cms .resto-accord-btn{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    text-decoration: none;
    padding: 7px 10px;
    border: 1.5px solid #1e88e5;
    border-radius: 10px;
    background: rgba(30,136,229,0.06);
    cursor: pointer;
    transition: all 0.25s ease;
    max-width: 100%;
}
#gx-accueil-cms .resto-accord-btn:hover{
    background: rgba(30,136,229,0.14);
    border-color: #1565c0;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(30,136,229,0.25);
}
#gx-accueil-cms .resto-accord-btn-label{
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: rgba(10,22,40,0.65);
    text-align: center;
    line-height: 1.25;
    word-break: break-word;
    overflow-wrap: break-word;
    max-width: 100%;
}
#gx-accueil-cms .resto-accord-btn-cta{
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #1e88e5;
    background: rgba(30,136,229,0.1);
    border: 1px solid rgba(30,136,229,0.3);
    border-radius: 20px;
    padding: 2px 8px;
    transition: background 0.2s ease;
    white-space: nowrap;
}
#gx-accueil-cms .resto-accord-btn:hover .resto-accord-btn-cta{
    background: #1e88e5;
    color: #ffffff;
    border-color: #1e88e5;
}
#gx-accueil-cms .resto-accord-btn--sm{
    padding: 5px 8px;
    gap: 3px;
}
#gx-accueil-cms .resto-accord-btn--sm .resto-accord-btn-label{
    font-size: 8px;
}
#gx-accueil-cms .resto-accord-btn--sm .resto-accord-btn-cta{
    font-size: 8px;
    padding: 2px 6px;
}
#gx-accueil-cms .resto-header-center{
    grid-column: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    text-align: center;
}
#gx-accueil-cms .resto-header-logo-left{
    display: none !important;
}
#gx-accueil-cms .resto-header-logo-right{
    grid-column: 3;
    justify-self: end;
    width: auto;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
}
#gx-accueil-cms .resto-header-title{
    font-size: clamp(18px, 2.4vw, 28px);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #0a1628;
    line-height: 1.2;
    text-shadow: none;
    margin: 0;
}
#gx-accueil-cms .resto-header-subtitle{
    font-size: clamp(11px, 1.1vw, 14px);
    font-weight: 500;
    color: rgba(10,22,40,0.68);
    line-height: 1.55;
    max-width: 520px;
    margin: 0;
    text-shadow: none;
}
#gx-accueil-cms .resto-header-tabs{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    align-items: center;
}
#gx-accueil-cms .resto-tab-count{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    border-radius: 10px;
    background: rgba(10,22,40,0.12);
    color: #0a1628;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    transition: background 0.25s ease, color 0.25s ease;
    margin-right: 2px;
}
#gx-accueil-cms .resto-tab-btn.active .resto-tab-count{
    background: rgba(255,255,255,0.3);
    color: #ffffff;
}
#gx-accueil-cms .resto-tab-btn{
    padding: 6px 18px;
    border-radius: 20px;
    border: 2px solid rgba(10,22,40,0.28);
    background: rgba(255,255,255,0.55);
    color: #0a1628;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: all 0.25s ease;
    white-space: nowrap;
    text-decoration: none !important;
}
#gx-accueil-cms .resto-tab-btn:hover{
    background: rgba(255,255,255,0.9);
    border-color: rgba(10,22,40,0.55);
    transform: translateY(-1px);
    box-shadow: 0 3px 10px rgba(0,0,0,0.1);
    text-decoration: none !important;
}
#gx-accueil-cms .resto-tab-btn.active{
    background: #1e88e5;
    border-color: #1e88e5;
    color: #ffffff;
    box-shadow: 0 3px 14px rgba(30,136,229,0.45);
    text-decoration: none !important;
}
#gx-accueil-cms .resto-tab-btn:focus,#gx-accueil-cms .resto-tab-btn:focus-visible,#gx-accueil-cms .resto-tab-btn:active{
    text-decoration: none !important;
}
#gx-accueil-cms .resto-events-dropdown{
    position: relative;
    display: inline-flex;
}
#gx-accueil-cms .resto-events-btn{
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: linear-gradient(135deg, rgba(30,136,229,0.12), rgba(30,136,229,0.06));
    border-color: rgba(30,136,229,0.5);
    color: #1e88e5;
}
#gx-accueil-cms .resto-events-btn:hover{
    background: linear-gradient(135deg, rgba(30,136,229,0.22), rgba(30,136,229,0.1));
    border-color: #1e88e5;
    color: #1565c0;
}
#gx-accueil-cms .resto-events-dropdown.open .resto-events-btn{
    background: linear-gradient(135deg, rgba(30,136,229,0.22), rgba(30,136,229,0.1));
    border-color: #1e88e5;
}
#gx-accueil-cms .resto-events-chevron{
    font-size: 10px !important;
    transition: transform 0.25s ease;
}
#gx-accueil-cms .resto-events-dropdown.open .resto-events-chevron{
    transform: rotate(180deg);
}
#gx-accueil-cms .resto-events-menu{
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    min-width: 220px;
    background: #ffffff;
    border: 1px solid rgba(10,22,40,0.12);
    border-radius: 10px;
    box-shadow: 0 12px 40px rgba(0,0,0,0.15), 0 2px 8px rgba(0,0,0,0.08);
    overflow: hidden;
    z-index: 200;
    animation: eventsMenuIn 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
}
#gx-accueil-cms .resto-events-dropdown.open .resto-events-menu{
    display: block;
}

@keyframes eventsMenuIn {
    from { opacity: 0; transform: translateX(-50%) translateY(-6px) scale(0.96); }
    to   { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); }
}
#gx-accueil-cms .resto-events-item{
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    color: #0a1628;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.18s ease, color 0.18s ease;
    border-bottom: 1px solid rgba(10,22,40,0.06);
}
#gx-accueil-cms .resto-events-item:last-child{
    border-bottom: none;
}
#gx-accueil-cms .resto-events-item i{
    width: 16px;
    text-align: center;
    color: #f26522;
    font-size: 13px;
    flex-shrink: 0;
}
#gx-accueil-cms .resto-events-item:hover{
    background: rgba(242,101,34,0.07);
    color: #f26522;
}
#gx-accueil-cms .resto-events-item:hover i{
    color: #f26522;
}
#gx-accueil-cms .resto-plans-btn{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 18px;
    background: linear-gradient(135deg, rgba(212,175,55,0.18), rgba(212,175,55,0.08));
    border: 1.5px solid rgba(212,175,55,0.6);
    border-radius: 6px;
    color: #d4af37;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    transition: all 0.25s ease;
}
#gx-accueil-cms .resto-plans-btn:hover{
    background: linear-gradient(135deg, rgba(212,175,55,0.35), rgba(212,175,55,0.15));
    border-color: #d4af37;
    color: #f0c93a;
    transform: translateY(-1px);
    box-shadow: 0 5px 18px rgba(212,175,55,0.3);
}
#gx-accueil-cms .resto-plans-btn i{
    font-size: 12px;
}
#gx-accueil-cms .resto-header-destinations-bar{
    position: relative;
    z-index: 1;
    background: rgba(10, 22, 40, 0.07);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 12px 32px;
    border-top: 1px solid rgba(10,22,40,0.12);
}
#gx-accueil-cms .resto-dest-row{
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    flex-wrap: wrap;
}
#gx-accueil-cms .resto-actions-row{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    width: 100%;
    flex-wrap: wrap;
    padding-top: 8px;
    border-top: 1px solid rgba(10,22,40,0.1);
}
#gx-accueil-cms .resto-dest-icon-box{
    display: flex;
    align-items: center;
    gap: 6px;
    background: rgba(242, 101, 34, 0.2);
    border: 1px solid rgba(242, 101, 34, 0.45);
    border-radius: 6px;
    padding: 6px 12px;
    flex-shrink: 0;
}
#gx-accueil-cms .resto-dest-icon-box img{
    width: 22px;
    height: 22px;
    object-fit: contain;
}
#gx-accueil-cms .resto-dest-icon-box span{
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #f26522;
}
#gx-accueil-cms .resto-dest-breadcrumb{
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
#gx-accueil-cms .vp-dest-breadcrumb{
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 8px;
}
#gx-accueil-cms .vp-dest-select{
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    min-width: 150px;
    max-width: 210px;
    padding: 6px 28px 6px 10px;
    border: 1px solid rgba(10, 22, 40, 0.18);
    border-radius: 8px;
    background: #fff;
    color: #0a1628;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
#gx-accueil-cms .vp-dest-select:focus{
    outline: none;
    border-color: #f26522;
    box-shadow: 0 0 0 2px rgba(242, 101, 34, 0.18);
}
#gx-accueil-cms .resto-dest-link{
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #0a1628;
    text-decoration: none;
    transition: color 0.2s ease;
    white-space: nowrap;
}
#gx-accueil-cms .resto-dest-link:hover,#gx-accueil-cms .resto-dest-link.active{
    color: #f26522;
}
#gx-accueil-cms .resto-dest-link.active{
    text-decoration: underline;
    text-underline-offset: 3px;
}
#gx-accueil-cms .resto-dest-sep{
    color: rgba(10,22,40,0.35);
    font-size: 14px;
    font-weight: 300;
}
#gx-accueil-cms .resto-header-ctas{
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}
#gx-accueil-cms .resto-cta-btn{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 20px;
    border-radius: 6px;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    text-decoration: none;
    cursor: pointer;
    border: none;
    transition: all 0.25s ease;
    white-space: nowrap;
}
#gx-accueil-cms .resto-cta-btn.primary{
    background: #1e88e5;
    color: #ffffff;
    box-shadow: 0 3px 12px rgba(30,136,229,0.4);
}
#gx-accueil-cms .resto-cta-btn.primary:hover{
    background: #1565c0;
    transform: translateY(-1px);
    box-shadow: 0 5px 18px rgba(30,136,229,0.5);
}
#gx-accueil-cms .resto-cta-btn.secondary{
    background: rgba(30,136,229,0.08);
    color: #1565c0;
    border: 2px solid rgba(30,136,229,0.4);
}
#gx-accueil-cms .resto-cta-btn.secondary:hover{
    background: rgba(30,136,229,0.16);
    border-color: #1e88e5;
    color: #1e88e5;
    transform: translateY(-1px);
}
#gx-accueil-cms .resto-cta-btn .cta-plus{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    background: rgba(255,255,255,0.25);
    border-radius: 50%;
    font-size: 14px;
    font-weight: 900;
    line-height: 1;
}
#gx-accueil-cms .resto-header-shimmer{
    position: relative;
    z-index: 1;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, #f26522, #f26522, #d4af37, #f26522, #f26522);
    background-size: 300% 100%;
    animation: resto-shimmer 3s linear infinite;
}

@keyframes resto-shimmer {
    0%   { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}
#gx-accueil-cms .resto-media-strip{
    display: block;
    background: #0e1a2e;
    position: relative;
    z-index: 1;
}








@media (max-width: 1024px) {
#gx-accueil-cms .resto-header-main{
        grid-template-columns: repeat(3, minmax(0, 1fr));
        padding: 20px 20px 16px;
    }
#gx-accueil-cms .resto-header-logo-left .logo-wrapper,#gx-accueil-cms .resto-header-logo-right .logo-wrapper{
        width: 90px;
        height: 90px;
    }
}

@media (max-width: 768px) {
#gx-accueil-cms .resto-service-block{
        width: 100%;
        margin: 0;
        border-radius: 0;
    }
#gx-accueil-cms .resto-header-main{
        display: grid;
        grid-template-columns: 1fr;
        padding: 16px 14px 14px;
        gap: 10px;
        min-height: auto;
        align-items: center;
        justify-content: center;
    }
#gx-accueil-cms .resto-header-center{
        grid-column: auto;
    }
#gx-accueil-cms .resto-header-logo-left{
        display: none;
    }
#gx-accueil-cms .resto-header-logo-right{
        grid-column: auto;
        justify-self: center;
        width: 100%;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
#gx-accueil-cms .resto-header-logo-left .logo-wrapper,#gx-accueil-cms .resto-header-logo-right .logo-wrapper{
        width: 44px;
        height: 44px;
    }
#gx-accueil-cms .resto-header-destinations-bar{
        padding: 10px 14px;
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }
#gx-accueil-cms .resto-dest-row{
        flex-wrap: wrap;
        gap: 8px;
    }
#gx-accueil-cms .resto-dest-breadcrumb{
        display: none;
    }
#gx-accueil-cms .resto-dest-breadcrumb.vp-dest-breadcrumb{
        display: flex;
        width: 100%;
        flex-wrap: wrap;
    }
#gx-accueil-cms .vp-dest-select{
        min-width: 145px;
    }
#gx-accueil-cms .resto-actions-row{
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
        padding-top: 8px;
        justify-content: flex-start;
    }
#gx-accueil-cms .resto-header-ctas{
        width: 100%;
        justify-content: center;
        flex-wrap: wrap;
    }
#gx-accueil-cms .resto-cta-btn{
        flex: 1;
        min-width: 120px;
        justify-content: center;
    }
#gx-accueil-cms .resto-plans-btn,#gx-accueil-cms .resto-events-nav-btn{
        width: 100%;
        justify-content: center;
    }
#gx-accueil-cms .resto-lang-switcher{
        width: 100%;
    }
#gx-accueil-cms .resto-lang-select{
        flex: 1;
        min-width: 0;
    }
}

@media (max-width: 480px) {
#gx-accueil-cms .resto-header-tabs{
        gap: 5px;
    }
#gx-accueil-cms .resto-tab-btn{
        font-size: 10px;
        padding: 5px 10px;
    }
#gx-accueil-cms .resto-cta-btn{
        font-size: 11px;
        padding: 8px 12px;
    }
#gx-accueil-cms .resto-header-title{
        font-size: 15px;
        letter-spacing: 1px;
    }
#gx-accueil-cms .resto-header-subtitle{
        font-size: 11px;
    }
#gx-accueil-cms .resto-events-grid{
        grid-template-columns: 1fr;
        padding: 16px 12px;
    }
#gx-accueil-cms .resto-events-header{
        padding: 24px 14px 18px;
    }
#gx-accueil-cms .resto-events-types-bar{
        padding: 12px 12px;
        gap: 6px;
    }
#gx-accueil-cms .resto-event-type-btn{
        font-size: 11px;
        padding: 6px 12px;
    }
#gx-accueil-cms .resto-plans-inner{
        padding: 40px 14px 32px;
    }
#gx-accueil-cms .resto-plans-grid{
        gap: 14px;
    }
#gx-accueil-cms .resto-plan-header{
        padding: 30px 18px 16px;
    }
#gx-accueil-cms .resto-plan-features{
        padding: 16px 18px;
    }
#gx-accueil-cms .resto-plan-cta{
        margin: 0 18px 18px;
    }
#gx-accueil-cms .resto-plans-footer{
        flex-direction: column;
        gap: 14px;
        align-items: center;
    }
}
#gx-accueil-cms .resto-content-area{
    position: relative;
    z-index: 2;
    background: #f9fafb;
    padding: 32px;
}
#gx-accueil-cms .resto-content-inner{
    max-width: 1400px;
    margin: 0 auto;
}
#gx-accueil-cms .resto-filter-status{
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 28px;
    flex-wrap: wrap;
    width: 100%;
}
#gx-accueil-cms .resto-filter-label{
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #666;
}
#gx-accueil-cms .resto-filter-badge{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #f26522;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    padding: 4px 14px;
    border-radius: 20px;
}
#gx-accueil-cms .resto-filter-badge.dest{
    background: #0a1628;
}
#gx-accueil-cms .resto-filter-count{
    font-size: 12px;
    font-weight: 600;
    color: #888;
    margin-left: auto;
}
#gx-accueil-cms .resto-cards-grid{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    min-height: 200px;
    width: 100%;
}
#gx-accueil-cms .resto-cards-grid-break{
    grid-column: 1 / -1;
    width: 100%;
    margin: 8px 0;
}
#gx-accueil-cms .resto-card{
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.3s ease;
    display: flex;
    flex-direction: column;
}
#gx-accueil-cms .resto-card:hover{
    transform: translateY(-4px);
    box-shadow: 0 10px 32px rgba(0,0,0,0.14);
}
#gx-accueil-cms .resto-card.hidden{
    display: none;
}
#gx-accueil-cms .resto-card-img{
    position: relative;
    width: 100%;
    height: 200px;
    overflow: hidden;
}
#gx-accueil-cms .resto-card-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}
#gx-accueil-cms .resto-card:hover .resto-card-img img{
    transform: scale(1.05);
}
#gx-accueil-cms .resto-card-badges{
    position: absolute;
    top: 12px;
    left: 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}
#gx-accueil-cms .resto-badge{
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 3px 10px;
    border-radius: 4px;
    color: #fff;
    background: #f26522;
}
#gx-accueil-cms .resto-badge.cat-entrees{ background: #27ae60; }
#gx-accueil-cms .resto-badge.cat-mets{ background: #2980b9; }
#gx-accueil-cms .resto-badge.cat-desserts{ background: #8e44ad; }
#gx-accueil-cms .resto-badge.cat-vins{ background: #f26522; }
#gx-accueil-cms .resto-badge.cat-toutes{ background: #f26522; }
#gx-accueil-cms .resto-card-rating{
    position: absolute;
    bottom: 10px;
    right: 12px;
    background: rgba(0,0,0,0.65);
    color: #ffd700;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 4px;
    backdrop-filter: blur(4px);
}
#gx-accueil-cms .resto-price-overlay{
    position: absolute;
    bottom: 10px;
    left: 12px;
    background: #f26522;
    color: #ffffff;
    font-size: 15px;
    font-weight: 900;
    padding: 4px 14px;
    border-radius: 6px;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
#gx-accueil-cms .resto-card-subcategory{
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #999;
}
#gx-accueil-cms .resto-card-body{
    padding: 18px 18px 14px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
#gx-accueil-cms .resto-card-name{
    font-size: 16px;
    font-weight: 800;
    color: #0a1628;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
#gx-accueil-cms .resto-card-dest{
    font-size: 11px;
    font-weight: 600;
    color: #f26522;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    display: flex;
    align-items: center;
    gap: 4px;
}
#gx-accueil-cms .resto-card-desc{
    font-size: 12px;
    color: #555;
    line-height: 1.6;
    margin: 0;
    flex: 1;
}
#gx-accueil-cms .resto-card-accord{
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 600;
    color: #7d3c98;
    background: #f5eef8;
    padding: 5px 10px;
    border-radius: 6px;
}
#gx-accueil-cms .resto-card-footer{
    padding: 12px 18px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid #f0f0f0;
    gap: 10px;
}
#gx-accueil-cms .resto-card-price{
    font-size: 13px;
    font-weight: 800;
    color: #0a1628;
}
#gx-accueil-cms .resto-card-reserve-btn{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: #1e88e5;
    color: #ffffff;
    border: none;
    border-radius: 6px;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.25s ease;
    white-space: nowrap;
    box-shadow: 0 2px 8px rgba(30,136,229,0.3);
}
#gx-accueil-cms .resto-card-reserve-btn:hover{
    background: #1565c0;
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(30,136,229,0.45);
}
#gx-accueil-cms .resto-no-results{
    display: none;
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px 20px;
    color: #999;
    font-size: 14px;
    font-weight: 600;
}
#gx-accueil-cms .resto-no-results i{
    display: block;
    font-size: 40px;
    margin-bottom: 12px;
    color: #ddd;
}
#gx-accueil-cms .resto-lang-switcher{
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}
#gx-accueil-cms .resto-lang-switcher > i{
    color: rgba(10,22,40,0.5);
    font-size: 14px;
    flex-shrink: 0;
}
#gx-accueil-cms .resto-lang-select{
    appearance: none;
    -webkit-appearance: none;
    background: rgba(255,255,255,0.65);
    border: 1.5px solid rgba(10,22,40,0.22);
    border-radius: 6px;
    color: #0a1628;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 700;
    padding: 6px 28px 6px 10px;
    cursor: pointer;
    outline: none;
    transition: all 0.2s ease;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='rgba(10,22,40,0.45)'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 9px center;
}
#gx-accueil-cms .resto-lang-select:hover{
    border-color: rgba(242,101,34,0.7);
    background-color: rgba(255,255,255,0.85);
}
#gx-accueil-cms .resto-lang-select:focus{
    border-color: #f26522;
    box-shadow: 0 0 0 2px rgba(242,101,34,0.2);
}
#gx-accueil-cms .resto-lang-select option{
    background: #ffffff;
    color: #0a1628;
    font-size: 13px;
}
#gx-accueil-cms .resto-lang-btn-REMOVED{
    background: transparent;
    border: none;
    padding: 4px 7px;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: rgba(255,255,255,0.5);
    cursor: pointer;
    border-radius: 4px;
    transition: all 0.2s ease;
    line-height: 1;
}
#gx-accueil-cms .resto-lang-btn-REMOVED:hover{
    color: #ffffff;
    background: rgba(255,255,255,0.1);
}
#gx-accueil-cms .resto-lang-sep-REMOVED{
    color: rgba(255,255,255,0.2);
    font-size: 12px;
    font-weight: 300;
    pointer-events: none;
}
#gx-accueil-cms .resto-events-nav-btn{
    background: #1e88e5;
    color: #ffffff;
    border: 1.5px solid #1e88e5 !important;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    box-shadow: 0 3px 10px rgba(30,136,229,0.3);
}
#gx-accueil-cms .resto-events-nav-btn:hover{
    background: #1565c0;
    border-color: #1565c0 !important;
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(30,136,229,0.4);
}
#gx-accueil-cms .resto-section-std-header{
    position: relative;
    background: #ffffff;
    display: grid;
    grid-template-columns: 90px 1fr 90px;
    align-items: center;
    gap: 16px;
    padding: 16px 24px 14px;
    border-bottom: 1px solid rgba(10,22,40,0.1);
}
#gx-accueil-cms .resto-section-logo-left,#gx-accueil-cms .resto-section-logo-right{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
#gx-accueil-cms .logo-wrapper-xs{
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255,255,255,0.85);
    border: 2px solid rgba(10,22,40,0.14);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    box-shadow: 0 3px 14px rgba(0,0,0,0.1);
    text-decoration: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
#gx-accueil-cms .logo-wrapper-xs:hover{
    transform: scale(1.05);
    box-shadow: 0 5px 20px rgba(0,0,0,0.18);
}
#gx-accueil-cms .logo-wrapper-xs img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#gx-accueil-cms .resto-section-center{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
}
#gx-accueil-cms .resto-section-eyebrow{
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #f26522;
}
#gx-accueil-cms .resto-section-title{
    font-size: clamp(15px, 2vw, 22px);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #0a1628;
    margin: 0;
    line-height: 1.2;
}
#gx-accueil-cms .resto-section-desc{
    font-size: 12px;
    font-weight: 500;
    color: rgba(10,22,40,0.65);
    line-height: 1.55;
    max-width: 520px;
    margin: 0;
}
#gx-accueil-cms .resto-section-std-shimmer{
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #f26522, #f9a52c, #d4af37, #f9a52c, #f26522);
    background-size: 300% 100%;
    animation: resto-shimmer 3s linear infinite;
}


@media (max-width: 768px) {
#gx-accueil-cms .resto-section-std-header{
        display: flex;
        flex-wrap: wrap;
        padding: 18px 16px 16px;
        gap: 12px;
        text-align: center;
        align-items: center;
        justify-content: center;
    }
#gx-accueil-cms .resto-section-center{ order: 1; flex: 0 0 100%; }
#gx-accueil-cms .resto-section-logo-left{ order: 2; flex: 1; flex-direction: row; justify-content: center; gap: 8px; }
#gx-accueil-cms .resto-section-logo-right{ order: 2; flex: 1; flex-direction: row; justify-content: center; gap: 8px; }
#gx-accueil-cms .logo-wrapper-xs{ width: 44px; height: 44px; }
}
#gx-accueil-cms .resto-events-section{
    background: #f9fafb;
    font-family: 'Montserrat', sans-serif;
    padding: 0 0 48px;
}
#gx-accueil-cms .resto-events-header{
    text-align: center;
    padding: 48px 32px 32px;
    background: #ffffff;
    border-bottom: 1px solid rgba(10,22,40,0.08);
}
#gx-accueil-cms .resto-events-eyebrow{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #f26522;
    margin-bottom: 12px;
}
#gx-accueil-cms .resto-events-eyebrow i{
    font-size: 13px;
}
#gx-accueil-cms .resto-events-title{
    font-size: clamp(20px, 2.5vw, 30px);
    font-weight: 900;
    color: #0a1628;
    margin: 0 0 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
}
#gx-accueil-cms .resto-events-lead{
    font-size: 14px;
    color: rgba(10,22,40,0.6);
    margin: 0;
    max-width: 520px;
    margin: 0 auto;
    line-height: 1.55;
}
#gx-accueil-cms .resto-events-types-bar{
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 16px 32px;
    overflow-x: auto;
    overflow-y: visible;
    scrollbar-width: none;
    -ms-overflow-style: none;
    background: #ffffff;
    border-bottom: 2px solid rgba(10,22,40,0.07);
    flex-wrap: nowrap;
    white-space: nowrap;
}
#gx-accueil-cms .resto-events-types-bar::-webkit-scrollbar{ display: none; }
#gx-accueil-cms .resto-event-type-btn{
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 18px;
    border-radius: 22px;
    border: 1.5px solid rgba(10,22,40,0.2);
    background: transparent;
    color: #0a1628;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
    transition: all 0.22s ease;
    flex-shrink: 0;
}
#gx-accueil-cms .resto-type-count{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    border-radius: 10px;
    background: rgba(10,22,40,0.1);
    color: #0a1628;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    transition: background 0.22s ease, color 0.22s ease;
    flex-shrink: 0;
}
#gx-accueil-cms .resto-event-type-btn.active .resto-type-count{
    background: rgba(255,255,255,0.28);
    color: #ffffff;
}
#gx-accueil-cms .resto-event-type-btn i{
    font-size: 12px;
    color: #f26522;
    transition: color 0.22s ease;
}
#gx-accueil-cms .resto-event-type-btn:hover{
    border-color: #1e88e5;
    color: #1e88e5;
    background: rgba(30,136,229,0.06);
    transform: translateY(-1px);
}
#gx-accueil-cms .resto-event-type-btn:hover i{
    color: #1e88e5;
}
#gx-accueil-cms .resto-event-type-btn.active{
    background: #1e88e5;
    border-color: #1e88e5;
    color: #ffffff;
    box-shadow: 0 3px 12px rgba(30,136,229,0.38);
}
#gx-accueil-cms .resto-event-type-btn.active i{
    color: #ffffff;
}
#gx-accueil-cms .resto-events-grid{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 24px;
    padding: 32px;
    max-width: 1400px;
    margin: 0 auto;
}
#gx-accueil-cms .resto-event-card{
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,0.07);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    display: flex;
    flex-direction: column;
}
#gx-accueil-cms .resto-event-card:hover{
    transform: translateY(-4px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.13);
}
#gx-accueil-cms .resto-event-card.hidden{
    display: none;
}
#gx-accueil-cms .resto-event-card-img{
    position: relative;
    height: 180px;
    overflow: hidden;
    flex-shrink: 0;
}
#gx-accueil-cms .resto-event-card-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}
#gx-accueil-cms .resto-event-card:hover .resto-event-card-img img{
    transform: scale(1.05);
}
#gx-accueil-cms .resto-event-badge{
    position: absolute;
    top: 12px;
    right: 12px;
    background: #f26522;
    color: #ffffff;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    padding: 4px 10px;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}
#gx-accueil-cms .resto-event-card-body{
    padding: 18px 20px 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}
#gx-accueil-cms .resto-event-card-title{
    font-size: 14px;
    font-weight: 800;
    color: #0a1628;
    margin: 0;
    line-height: 1.3;
}
#gx-accueil-cms .resto-event-card-desc{
    font-size: 12px;
    color: rgba(10,22,40,0.6);
    margin: 0;
    line-height: 1.5;
    flex: 1;
}
#gx-accueil-cms .resto-event-card-footer{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 4px;
    gap: 10px;
}
#gx-accueil-cms .resto-event-card-price{
    font-size: 15px;
    font-weight: 900;
    color: #f26522;
}
#gx-accueil-cms .resto-event-card-cta{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: #1e88e5;
    color: #ffffff;
    border: none;
    border-radius: 6px;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    cursor: pointer;
    transition: all 0.22s ease;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(30,136,229,0.3);
}
#gx-accueil-cms .resto-event-card-cta:hover{
    background: #1565c0;
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(30,136,229,0.4);
}
#gx-accueil-cms .resto-events-no-results{
    display: none;
    grid-column: 1 / -1;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 60px 20px;
    color: rgba(10,22,40,0.4);
    font-size: 14px;
    font-weight: 600;
    text-align: center;
}
#gx-accueil-cms .resto-events-no-results i{
    font-size: 40px;
    color: rgba(10,22,40,0.2);
}


@media (max-width: 768px) {
#gx-accueil-cms .resto-events-grid{
        grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
        padding: 24px 16px;
    }
#gx-accueil-cms .resto-events-header{
        padding: 32px 20px 24px;
    }
#gx-accueil-cms .resto-events-types-bar{
        padding: 16px 16px;
    }
}
#gx-accueil-cms .resto-plans-section{
    background: #f9fafb;
    font-family: 'Montserrat', sans-serif;
}
#gx-accueil-cms .resto-plans-topbar{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 10px 32px;
    background: linear-gradient(90deg, #e84c10, #f26522 50%, #f9a52c);
    flex-wrap: wrap;
}
#gx-accueil-cms .resto-plans-topbar-badge{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(0,0,0,0.2);
    border: 1px solid rgba(255,255,255,0.25);
    border-radius: 20px;
    padding: 3px 12px;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #fff;
    white-space: nowrap;
}
#gx-accueil-cms .resto-plans-topbar-text{
    font-size: 12px;
    font-weight: 600;
    color: rgba(255,255,255,0.92);
}
#gx-accueil-cms .resto-plans-inner{
    max-width: 1340px;
    margin: 0 auto;
    padding: 72px 40px 64px;
}
#gx-accueil-cms .resto-plans-heading{
    text-align: center;
    margin-bottom: 52px;
}
#gx-accueil-cms .resto-plans-eyebrow{
    display: inline-block;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: #f26522;
    margin-bottom: 12px;
}
#gx-accueil-cms .resto-plans-title{
    font-size: clamp(26px, 3vw, 42px);
    font-weight: 900;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: 0 0 16px;
    line-height: 1.15;
}
#gx-accueil-cms .resto-plans-highlight{
    color: #f26522;
}
#gx-accueil-cms .resto-plans-lead{
    font-size: 14px;
    color: rgba(255,255,255,0.55);
    line-height: 1.7;
    max-width: 640px;
    margin: 0 auto;
}
#gx-accueil-cms .resto-plans-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    margin-bottom: 48px;
}
#gx-accueil-cms .resto-plan-card{
    background: #ffffff;
    border: 1px solid rgba(10,22,40,0.1);
    border-radius: 18px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    position: relative;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
}
#gx-accueil-cms .resto-plan-card:hover{
    transform: translateY(-6px);
    box-shadow: 0 12px 36px rgba(30,136,229,0.15);
}
#gx-accueil-cms .resto-plan-card.featured{
    background: linear-gradient(160deg, #e8f4fd, #f0f8ff);
    border-color: #1e88e5;
    box-shadow: 0 0 30px rgba(30,136,229,0.18);
    transform: translateY(-8px);
}
#gx-accueil-cms .resto-plan-card.featured:hover{
    transform: translateY(-14px);
}
#gx-accueil-cms .resto-plan-badge{
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(90deg, #e84c10, #f26522);
    color: #ffffff;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    padding: 4px 20px;
    border-radius: 0 0 10px 10px;
    white-space: nowrap;
}
#gx-accueil-cms .resto-plan-header{
    padding: 40px 28px 24px;
    text-align: center;
    border-bottom: 1px solid rgba(10,22,40,0.08);
}
#gx-accueil-cms .resto-plan-icon{
    width: 54px;
    height: 54px;
    margin: 0 auto 14px;
    background: rgba(30,136,229,0.1);
    border: 1px solid rgba(30,136,229,0.25);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    color: #1e88e5;
}
#gx-accueil-cms .resto-plan-card.featured .resto-plan-icon{
    background: rgba(30,136,229,0.18);
    border-color: #1e88e5;
}
#gx-accueil-cms .resto-plan-name{
    font-size: 18px;
    font-weight: 900;
    color: #0a1628;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 12px;
}
#gx-accueil-cms .resto-plan-price{
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 3px;
    margin-bottom: 10px;
}
#gx-accueil-cms .resto-plan-amount{
    font-size: 44px;
    font-weight: 900;
    color: #f26522;
    line-height: 1;
}
#gx-accueil-cms .resto-plan-currency{
    font-size: 22px;
    font-weight: 700;
    color: #f26522;
}
#gx-accueil-cms .resto-plan-period{
    font-size: 13px;
    font-weight: 600;
    color: rgba(10,22,40,0.45);
}
#gx-accueil-cms .resto-plan-tagline{
    font-size: 12px;
    color: rgba(10,22,40,0.5);
    margin: 0;
    line-height: 1.5;
}
#gx-accueil-cms .resto-plan-features{
    list-style: none;
    margin: 0;
    padding: 24px 28px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
}
#gx-accueil-cms .resto-plan-features li{
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    font-weight: 600;
    color: rgba(10,22,40,0.75);
}
#gx-accueil-cms .resto-plan-features li i.fa-check{
    color: #27ae60;
    font-size: 11px;
    flex-shrink: 0;
}
#gx-accueil-cms .resto-plan-feat-no{
    opacity: 0.38;
}
#gx-accueil-cms .resto-plan-feat-no i.fa-times{
    color: #f9a52c;
    font-size: 11px;
    flex-shrink: 0;
}
#gx-accueil-cms .resto-plan-cta{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0 28px 28px;
    padding: 13px 20px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none;
    transition: all 0.25s ease;
}
#gx-accueil-cms .resto-plan-cta.starter{
    background: rgba(30,136,229,0.07);
    border: 1.5px solid rgba(30,136,229,0.35);
    color: #1e88e5;
}
#gx-accueil-cms .resto-plan-cta.starter:hover{
    background: rgba(30,136,229,0.14);
    border-color: #1e88e5;
    transform: translateY(-1px);
}
#gx-accueil-cms .resto-plan-cta.pro{
    background: #1e88e5;
    color: #ffffff;
    box-shadow: 0 6px 20px rgba(30,136,229,0.35);
}
#gx-accueil-cms .resto-plan-cta.pro:hover{
    background: #1565c0;
    transform: translateY(-1px);
    box-shadow: 0 10px 28px rgba(30,136,229,0.45);
}
#gx-accueil-cms .resto-plan-cta.premium{
    background: rgba(30,136,229,0.12);
    border: 1.5px solid rgba(30,136,229,0.45);
    color: #1565c0;
}
#gx-accueil-cms .resto-plan-cta.premium:hover{
    background: rgba(30,136,229,0.22);
    border-color: #1e88e5;
    color: #1e88e5;
    transform: translateY(-1px);
}
#gx-accueil-cms .resto-plans-footer{
    text-align: center;
    padding-top: 16px;
    border-top: 1px solid rgba(10,22,40,0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 32px;
    flex-wrap: wrap;
}
#gx-accueil-cms .resto-plans-footer p{
    font-size: 12px;
    color: rgba(10,22,40,0.45);
    margin: 0;
}
#gx-accueil-cms .resto-plans-contact{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 24px;
    background: rgba(30,136,229,0.07);
    border: 1.5px solid rgba(30,136,229,0.4);
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #1e88e5;
    text-decoration: none;
    transition: all 0.25s ease;
}
#gx-accueil-cms .resto-plans-contact:hover{
    background: rgba(30,136,229,0.15);
    border-color: #1e88e5;
    transform: scale(1.02);
}


@media (max-width: 1024px) {
#gx-accueil-cms .resto-plans-grid{ grid-template-columns: repeat(2, 1fr); }
#gx-accueil-cms .resto-plan-card.featured{ transform: translateY(0); }
}

@media (max-width: 640px) {
#gx-accueil-cms .resto-plans-grid{ grid-template-columns: 1fr; }
#gx-accueil-cms .resto-plans-inner{ padding: 48px 20px 40px; }
#gx-accueil-cms .resto-lang-switcher{ margin-left: 8px; }
}
#gx-accueil-cms .resto-reservation-section{
    background: #ffffff;
    padding: 48px 32px;
    text-align: center;
    border-top: 1px solid rgba(10,22,40,0.08);
}
#gx-accueil-cms .resto-reservation-section h3{
    font-size: 22px;
    font-weight: 900;
    color: #0a1628;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: 0 0 10px;
}
#gx-accueil-cms .resto-reservation-section p{
    font-size: 13px;
    color: rgba(10,22,40,0.6);
    margin: 0 0 28px;
}
#gx-accueil-cms .resto-reservation-form{
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
    max-width: 680px;
    margin: 0 auto;
}
#gx-accueil-cms .resto-reservation-form select,#gx-accueil-cms .resto-reservation-form input[type="date"],#gx-accueil-cms .resto-reservation-form input[type="number"]{
    padding: 12px 16px;
    border: 2px solid rgba(10,22,40,0.18);
    background: #ffffff;
    color: #0a1628;
    border-radius: 8px;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 600;
    flex: 1;
    min-width: 140px;
    outline: none;
    transition: border-color 0.2s ease;
}
#gx-accueil-cms .resto-reservation-form select option{
    background: #ffffff;
    color: #0a1628;
}
#gx-accueil-cms .resto-reservation-form select:focus,#gx-accueil-cms .resto-reservation-form input:focus{
    border-color: #1e88e5;
}
#gx-accueil-cms .resto-reservation-submit{
    padding: 12px 28px;
    background: #1e88e5;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: all 0.25s ease;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
#gx-accueil-cms .resto-reservation-submit:hover{
    background: #1565c0;
    transform: translateY(-1px);
    box-shadow: 0 5px 18px rgba(30,136,229,0.5);
}


@media (max-width: 1280px) {
#gx-accueil-cms .resto-cards-grid{
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 1024px) {
#gx-accueil-cms .resto-cards-grid{
        grid-template-columns: repeat(2, 1fr);
    }
#gx-accueil-cms .resto-content-area{
        padding: 24px 20px;
    }
}

@media (max-width: 600px) {
#gx-accueil-cms .resto-cards-grid{
        grid-template-columns: 1fr;
    }
#gx-accueil-cms .resto-content-area{
        padding: 20px 16px;
    }
#gx-accueil-cms .resto-reservation-section{
        padding: 36px 16px;
    }
#gx-accueil-cms .resto-reservation-form{
        flex-direction: column;
    }
}


@media (max-width: 768px) {
#gx-accueil-cms .resto-header-destinations-bar{
        padding: 12px;
        gap: 10px;
    }
#gx-accueil-cms .resto-dest-row{
        display: grid !important;
        grid-template-columns: 1fr !important;
        align-items: stretch !important;
        gap: 10px !important;
        width: 100% !important;
    }
#gx-accueil-cms .resto-dest-icon-box{
        width: 100% !important;
        max-width: 240px !important;
        justify-self: center !important;
        justify-content: center !important;
        min-width: 0 !important;
    }
#gx-accueil-cms .resto-dest-breadcrumb,#gx-accueil-cms .resto-dest-breadcrumb.vp-dest-breadcrumb,#gx-accueil-cms .vp-dest-breadcrumb{
        display: grid !important;
        grid-template-columns: 1fr !important;
        align-items: stretch !important;
        gap: 8px !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow: visible !important;
    }
#gx-accueil-cms .resto-dest-sep{
        display: none !important;
    }
#gx-accueil-cms .vp-dest-select,#gx-accueil-cms .resto-dest-select{
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 40px !important;
        font-size: 12px !important;
        white-space: normal !important;
    }
}

@media (min-width: 769px) and (max-width: 1100px) {
#gx-accueil-cms .resto-dest-row{
        align-items: stretch !important;
    }
#gx-accueil-cms .resto-dest-breadcrumb.vp-dest-breadcrumb,#gx-accueil-cms .vp-dest-breadcrumb{
        display: grid !important;
        grid-template-columns: repeat(2, minmax(160px, 1fr)) !important;
        gap: 8px !important;
        width: 100% !important;
        min-width: 0 !important;
    }
#gx-accueil-cms .resto-dest-sep{
        display: none !important;
    }
#gx-accueil-cms .vp-dest-select,#gx-accueil-cms .resto-dest-select{
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
}/* ==== resa-modal.css ==== */
#gx-accueil-cms .goexp-resa-overlay{
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(5, 12, 28, 0.82);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    z-index: 99990;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
#gx-accueil-cms .goexp-resa-overlay.open{
    display: flex;
}
#gx-accueil-cms .goexp-resa-box{
    background: #ffffff;
    border: 1px solid rgba(10,22,40,0.1);
    border-radius: 14px;
    width: 100%;
    max-width: 540px;
    padding: 32px 36px 28px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.18), 0 0 0 1px rgba(30,136,229,0.1);
    animation: resaModalIn 0.28s cubic-bezier(0.34, 1.56, 0.64, 1);
    position: relative;
    max-height: 90vh;
    overflow-y: auto;
}

@keyframes resaModalIn {
    from { opacity: 0; transform: scale(0.88) translateY(20px); }
    to   { opacity: 1; transform: scale(1) translateY(0); }
}
#gx-accueil-cms .goexp-resa-header{
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 4px;
}
#gx-accueil-cms .goexp-resa-icon{
    width: 46px;
    height: 46px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}
#gx-accueil-cms .goexp-resa-icon.table-type{
    background: rgba(30,136,229,0.1);
    border: 1.5px solid rgba(30,136,229,0.35);
    color: #1e88e5;
}
#gx-accueil-cms .goexp-resa-icon.wine-type{
    background: rgba(30,136,229,0.1);
    border: 1.5px solid rgba(30,136,229,0.35);
    color: #1e88e5;
}
#gx-accueil-cms .goexp-resa-titles{
    flex: 1;
    min-width: 0;
}
#gx-accueil-cms .goexp-resa-titles h3{
    margin: 0 0 3px;
    font-size: 17px;
    font-weight: 800;
    color: #0a1628;
    line-height: 1.2;
}
#gx-accueil-cms .goexp-resa-titles p{
    margin: 0;
    font-size: 12px;
    color: rgba(10,22,40,0.5);
}
#gx-accueil-cms .goexp-resa-close-btn{
    background: rgba(10,22,40,0.06);
    border: 1px solid rgba(10,22,40,0.14);
    color: rgba(10,22,40,0.5);
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 14px;
    line-height: 1;
    flex-shrink: 0;
    transition: all 0.2s ease;
}
#gx-accueil-cms .goexp-resa-close-btn:hover{
    background: rgba(30,136,229,0.12);
    border-color: rgba(30,136,229,0.4);
    color: #1e88e5;
}
#gx-accueil-cms .goexp-resa-divider{
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(30,136,229,0.35), rgba(30,136,229,0.2), transparent);
    margin: 18px 0;
}
#gx-accueil-cms .goexp-resa-form{
    display: flex;
    flex-direction: column;
    gap: 14px;
}
#gx-accueil-cms .goexp-resa-row{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
#gx-accueil-cms .goexp-resa-field{
    display: flex;
    flex-direction: column;
    gap: 6px;
}
#gx-accueil-cms .goexp-resa-label{
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: rgba(10,22,40,0.55);
}
#gx-accueil-cms .goexp-resa-input,#gx-accueil-cms .goexp-resa-select,#gx-accueil-cms .goexp-resa-textarea{
    background: #f8f9fb;
    border: 1.5px solid rgba(10,22,40,0.15);
    border-radius: 8px;
    color: #0a1628;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    padding: 10px 14px;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    width: 100%;
    box-sizing: border-box;
}
#gx-accueil-cms .goexp-resa-select{
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='rgba(10,22,40,0.4)'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 34px;
    cursor: pointer;
    background-color: #f8f9fb;
}
#gx-accueil-cms .goexp-resa-select option{
    background: #ffffff;
    color: #0a1628;
}
#gx-accueil-cms .goexp-resa-textarea{
    resize: vertical;
    min-height: 72px;
}
#gx-accueil-cms .goexp-resa-input:focus,#gx-accueil-cms .goexp-resa-select:focus,#gx-accueil-cms .goexp-resa-textarea:focus{
    border-color: #1e88e5;
    box-shadow: 0 0 0 3px rgba(30,136,229,0.12);
    background: #ffffff;
}
#gx-accueil-cms .goexp-resa-input.selection-field{
    color: rgba(10,22,40,0.6);
    font-style: italic;
    cursor: default;
}
#gx-accueil-cms .goexp-resa-submit{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 13px 28px;
    background: #1e88e5;
    border: none;
    border-radius: 8px;
    color: #ffffff;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: 4px;
    box-shadow: 0 4px 14px rgba(30,136,229,0.35);
}
#gx-accueil-cms .goexp-resa-submit:hover{
    background: #1565c0;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(30,136,229,0.45);
}
#gx-accueil-cms .goexp-resa-success{
    display: none;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 24px 0 12px;
    text-align: center;
}
#gx-accueil-cms .goexp-resa-success.show{
    display: flex;
}
#gx-accueil-cms .goexp-resa-success-icon{
    width: 64px;
    height: 64px;
    background: linear-gradient(135deg, rgba(34,197,94,0.2), rgba(34,197,94,0.1));
    border: 2px solid rgba(34,197,94,0.5);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    color: #22c55e;
    animation: resaSuccessPop 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes resaSuccessPop {
    from { transform: scale(0); opacity: 0; }
    to   { transform: scale(1); opacity: 1; }
}
#gx-accueil-cms .goexp-resa-success h4{
    margin: 0;
    font-size: 18px;
    font-weight: 800;
    color: #0a1628;
}
#gx-accueil-cms .goexp-resa-success p{
    margin: 0;
    font-size: 13px;
    color: rgba(10,22,40,0.55);
    line-height: 1.5;
}


@media (max-width: 560px) {
#gx-accueil-cms .goexp-resa-box{
        padding: 24px 20px 20px;
        border-radius: 10px;
    }
#gx-accueil-cms .goexp-resa-row{
        grid-template-columns: 1fr;
    }
#gx-accueil-cms .goexp-resa-titles h3{
        font-size: 15px;
    }
}@media (max-width: 1100px){
}@media (max-width: 1024px){
}@media (max-width: 760px){
}@media (max-width: 480px){
}/* ==== footer.css ==== */
#gx-accueil-cms{
    --footer-bg-dark: #0a1628;
    --footer-bg-medium: #1a2942;
    --footer-text-primary: #ffffff;
    --footer-text-secondary: rgba(255, 255, 255, 0.7);
    --footer-accent: #d4af37;
    --footer-accent-hover: #f0c14b;
}
#gx-accueil-cms .footer-v2{
    background: linear-gradient(180deg, #0a1628 0%, #050d1a 100%);
    color: var(--footer-text-primary);
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    margin-top: 60px;
}
#gx-accueil-cms .footer-v2-container{
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px;
}
#gx-accueil-cms .footer-v2-newsletter{
    background: linear-gradient(135deg, #1a2942 0%, #0a1628 100%);
    border-bottom: 1px solid rgba(212, 175, 55, 0.2);
    padding: 60px 0;
}
#gx-accueil-cms .footer-v2-newsletter-content{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}
#gx-accueil-cms .footer-v2-newsletter-text{
    flex: 1;
}
#gx-accueil-cms .footer-v2-newsletter-title{
    font-size: 32px;
    font-weight: 700;
    margin: 0 0 10px 0;
    color: var(--footer-text-primary);
    letter-spacing: -0.5px;
}
#gx-accueil-cms .footer-v2-newsletter-subtitle{
    font-size: 16px;
    color: var(--footer-text-secondary);
    margin: 0;
    line-height: 1.6;
}
#gx-accueil-cms .footer-v2-newsletter-form{
    flex: 1;
    display: flex;
    gap: 12px;
    max-width: 500px;
}
#gx-accueil-cms .footer-v2-newsletter-input{
    flex: 1;
    padding: 16px 20px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    color: var(--footer-text-primary);
    font-size: 15px;
    transition: all 0.3s ease;
}
#gx-accueil-cms .footer-v2-newsletter-input:focus{
    outline: none;
    background: rgba(255, 255, 255, 0.08);
    border-color: var(--footer-accent);
}
#gx-accueil-cms .footer-v2-newsletter-input::placeholder{
    color: rgba(255, 255, 255, 0.4);
}
#gx-accueil-cms .footer-v2-newsletter-btn{
    padding: 16px 32px;
    background: var(--footer-accent);
    color: #0a1628;
    border: none;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
    white-space: nowrap;
}
#gx-accueil-cms .footer-v2-newsletter-btn:hover{
    background: var(--footer-accent-hover);
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(212, 175, 55, 0.3);
}
#gx-accueil-cms .footer-v2-newsletter-btn svg{
    transition: transform 0.3s ease;
}
#gx-accueil-cms .footer-v2-newsletter-btn:hover svg{
    transform: translateX(4px);
}
#gx-accueil-cms .footer-v2-main{
    padding: 80px 0 60px;
}
#gx-accueil-cms .footer-v2-grid{
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr 1.2fr;
    gap: 60px;
}
#gx-accueil-cms .footer-v2-brand{
    padding-right: 40px;
}
#gx-accueil-cms .footer-v2-logo{
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    margin-bottom: 24px;
}
#gx-accueil-cms .footer-v2-logo-img{
    width: 60px;
    height: 60px;
    object-fit: contain;
}
#gx-accueil-cms .footer-v2-logo-text{
    display: flex;
    flex-direction: column;
}
#gx-accueil-cms .footer-v2-logo-name{
    font-size: 24px;
    font-weight: 800;
    color: var(--footer-text-primary);
    letter-spacing: -0.5px;
}
#gx-accueil-cms .footer-v2-logo-location{
    font-size: 11px;
    font-weight: 500;
    color: var(--footer-accent);
    letter-spacing: 1.5px;
    margin-top: 2px;
}
#gx-accueil-cms .footer-v2-description{
    font-size: 14px;
    line-height: 1.8;
    color: var(--footer-text-secondary);
    margin: 0 0 30px 0;
}
#gx-accueil-cms .footer-v2-social{
    display: flex;
    gap: 12px;
}
#gx-accueil-cms .footer-v2-social-link{
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    color: var(--footer-text-secondary);
    transition: all 0.3s ease;
}
#gx-accueil-cms .footer-v2-social-link:hover{
    background: var(--footer-accent);
    border-color: var(--footer-accent);
    color: #0a1628;
    transform: translateY(-4px);
}
#gx-accueil-cms .footer-v2-column-title{
    font-size: 16px;
    font-weight: 700;
    color: var(--footer-text-primary);
    margin: 0 0 24px 0;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}
#gx-accueil-cms .footer-v2-links{
    list-style: none;
    margin: 0;
    padding: 0;
}
#gx-accueil-cms .footer-v2-links li{
    margin-bottom: 14px;
}
#gx-accueil-cms .footer-v2-link{
    color: var(--footer-text-secondary);
    text-decoration: none;
    font-size: 14px;
    transition: all 0.3s ease;
    display: inline-block;
    position: relative;
}
#gx-accueil-cms .footer-v2-link::before{
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 1px;
    background: var(--footer-accent);
    transition: width 0.3s ease;
}
#gx-accueil-cms .footer-v2-link:hover{
    color: var(--footer-accent);
    padding-left: 8px;
}
#gx-accueil-cms .footer-v2-link:hover::before{
    width: 100%;
}
#gx-accueil-cms .footer-v2-contact{
    list-style: none;
    margin: 0;
    padding: 0;
}
#gx-accueil-cms .footer-v2-contact-item{
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 18px;
    color: var(--footer-text-secondary);
    font-size: 14px;
    line-height: 1.6;
}
#gx-accueil-cms .footer-v2-contact-item svg{
    flex-shrink: 0;
    margin-top: 2px;
    color: var(--footer-accent);
}
#gx-accueil-cms .footer-v2-contact-item a{
    color: var(--footer-text-secondary);
    text-decoration: none;
    transition: color 0.3s ease;
}
#gx-accueil-cms .footer-v2-contact-item a:hover{
    color: var(--footer-accent);
}
#gx-accueil-cms .footer-v2-bottom{
    background: rgba(0, 0, 0, 0.3);
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    padding: 30px 0;
}
#gx-accueil-cms .footer-v2-bottom-content{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}
#gx-accueil-cms .footer-v2-copyright{
    color: var(--footer-text-secondary);
    font-size: 14px;
}
#gx-accueil-cms .footer-v2-copyright p{
    margin: 0;
}
#gx-accueil-cms .footer-v2-legal{
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}
#gx-accueil-cms .footer-v2-legal-link{
    color: var(--footer-text-secondary);
    text-decoration: none;
    font-size: 13px;
    transition: color 0.3s ease;
}
#gx-accueil-cms .footer-v2-legal-link:hover{
    color: var(--footer-accent);
}
#gx-accueil-cms .footer-v2-separator{
    color: rgba(255, 255, 255, 0.2);
    font-size: 13px;
}




@media (max-width: 1024px) {
#gx-accueil-cms .footer-v2-container{
        padding: 0 30px;
    }
#gx-accueil-cms .footer-v2-grid{
        grid-template-columns: 2fr 1fr 1fr;
        gap: 40px;
    }
#gx-accueil-cms .footer-v2-brand{
        grid-column: 1 / -1;
        padding-right: 0;
        max-width: 600px;
    }
#gx-accueil-cms .footer-v2-newsletter-content{
        flex-direction: column;
        text-align: center;
    }
#gx-accueil-cms .footer-v2-newsletter-form{
        max-width: 100%;
    }
}


@media (max-width: 768px) {
#gx-accueil-cms .footer-v2-container{
        padding: 0 20px;
    }
#gx-accueil-cms .footer-v2-newsletter{
        padding: 40px 0;
    }
#gx-accueil-cms .footer-v2-newsletter-title{
        font-size: 24px;
    }
#gx-accueil-cms .footer-v2-newsletter-subtitle{
        font-size: 14px;
    }
#gx-accueil-cms .footer-v2-newsletter-form{
        flex-direction: column;
    }
#gx-accueil-cms .footer-v2-newsletter-btn{
        justify-content: center;
    }
#gx-accueil-cms .footer-v2-main{
        padding: 50px 0 40px;
    }
#gx-accueil-cms .footer-v2-grid{
        grid-template-columns: 1fr;
        gap: 40px;
    }
#gx-accueil-cms .footer-v2-brand{
        text-align: center;
    }
#gx-accueil-cms .footer-v2-logo{
        justify-content: center;
    }
#gx-accueil-cms .footer-v2-social{
        justify-content: center;
    }
#gx-accueil-cms .footer-v2-column-title{
        font-size: 14px;
        margin-bottom: 16px;
    }
#gx-accueil-cms .footer-v2-bottom-content{
        flex-direction: column;
        text-align: center;
    }
#gx-accueil-cms .footer-v2-legal{
        justify-content: center;
    }
#gx-accueil-cms .footer-v2-copyright{
        font-size: 13px;
    }
#gx-accueil-cms .footer-v2-legal-link{
        font-size: 12px;
    }
}


@media (max-width: 480px) {
#gx-accueil-cms .footer-v2-newsletter-input{
        padding: 14px 16px;
        font-size: 14px;
    }
#gx-accueil-cms .footer-v2-newsletter-btn{
        padding: 14px 24px;
        font-size: 14px;
    }
#gx-accueil-cms .footer-v2-logo-img{
        width: 50px;
        height: 50px;
    }
#gx-accueil-cms .footer-v2-logo-name{
        font-size: 20px;
    }
#gx-accueil-cms .footer-v2-logo-location{
        font-size: 10px;
    }
#gx-accueil-cms .footer-v2-social-link{
        width: 38px;
        height: 38px;
    }
#gx-accueil-cms .footer-v2-legal{
        flex-direction: column;
        gap: 8px;
    }
#gx-accueil-cms .footer-v2-separator{
        display: none;
    }
}/* ==== welcome-responsive.css ==== *//* ============================================================
   WELCOME — Améliorations responsive (additives, non destructives)
   Ajoutées APRÈS le bundle : ne modifient pas le design desktop.
   ============================================================ */
#gx-accueil-cms img,#gx-accueil-cms video{ max-width: 100%; }

@media (max-width: 768px) {
#gx-accueil-cms{ -webkit-text-size-adjust: 100%; }
#gx-accueil-cms .main-content{ overflow-x: hidden; }/* Titres de section fluides et sans débordement */
#gx-accueil-cms .resto-header-title{
        font-size: clamp(18px, 5vw, 28px) !important;
        line-height: 1.2;
        overflow-wrap: anywhere;
        padding-inline: 12px;
    }/* Carrousels horizontaux : défilement tactile fluide, scrollbars masquées */
#gx-accueil-cms [class*="scroll-container"],#gx-accueil-cms [class*="scroll-wrapper"]{
        -webkit-overflow-scrolling: touch;
    }/* Cibles tactiles plus confortables */
#gx-accueil-cms .nav-icon,#gx-accueil-cms .menu-toggle,#gx-accueil-cms .lang-btn,#gx-accueil-cms .quick-link-item{ min-height: 40px; }
}

@media (max-width: 480px) {
#gx-accueil-cms .resto-header-title{ font-size: clamp(16px, 5.5vw, 22px) !important; }/* Évite tout débordement latéral résiduel sur très petits écrans */
#gx-accueil-cms,#gx-accueil-cms{ overflow-x: hidden; }
#gx-accueil-cms .container,#gx-accueil-cms .row{ max-width: 100%; }
}/* ============================================================
   HERO — Barre de recherche simplifiée (destination + recherche)
   Après suppression des pictos, on repasse le conteneur en flex propre
   et responsive. La barre reste un composant fixe du hero (non flottant).
   ============================================================ */
#gx-accueil-cms .go-home-hero .search-bar-v2-container{
    display: flex !important;
    grid-template-columns: none !important;
    align-items: center;
    gap: 12px !important;
    width: 100%;
}

/* Tablette / mobile : on garde destination (globe) + recherche, bien alignés */
@media (max-width: 1024px) {
#gx-accueil-cms .go-home-hero .search-bar-v2-container{
        display: flex !important;
        grid-template-columns: none !important;
    }
}@media (max-width: 560px){
}/* ============================================================
   HEADER — transparent en haut de page, solide au scroll
   ============================================================ */
#gx-accueil-cms .header-v2{ transition: background-color .3s ease, box-shadow .3s ease, border-color .3s ease; }@media (max-width: 640px){
}/* ==== welcome-premium.css ==== *//* ============================================================================
   REDESIGN PREMIUM — HEADER + HERO (/welcome uniquement, bundle isole)
   Direction : Premium moderne (glassmorphism, degrades, grande typo,
   recherche proeminente, animations discretes). Hero video plein ecran conserve.
   ============================================================================ *//* ---------- HEADER : verre translucide premium ---------- */
#gx-accueil-cms .header-v2,#gx-accueil-cms .header-v2 .header-nav,#gx-accueil-cms .header-v2 .header-top{
    transition: background-color .35s ease, box-shadow .35s ease, border-color .35s ease, backdrop-filter .35s ease;
}/* En haut de page : header ET barre de nav totalement transparents (le hero transparait).
   IMPORTANT : le fond est aussi porté par .header-nav (var(--navy-dark)), pas seulement .header-v2. */
#gx-accueil-cms :not(.hdr-scrolled):not(.hdr-search-open) .header-v2,#gx-accueil-cms :not(.hdr-scrolled):not(.hdr-search-open) .header-v2 .header-nav,#gx-accueil-cms :not(.hdr-scrolled):not(.hdr-search-open) .header-v2 .header-top,#gx-accueil-cms :not(.hdr-scrolled):not(.hdr-search-open) .header-v2.scrolled,#gx-accueil-cms :not(.hdr-scrolled):not(.hdr-search-open) .header-v2.scrolled .header-nav{
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border-bottom-color: transparent !important;
}
@keyframes wcHeroUp { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }/* ---------- HERO : barre de recherche proeminente (glass, centree) ---------- */
#gx-accueil-cms .go-home-hero .search-bar-v2{
    width: min(820px, 94%) !important;
    margin: 0 auto !important;
    background: rgba(255, 255, 255, .12) !important;
    -webkit-backdrop-filter: blur(18px) saturate(160%); backdrop-filter: blur(18px) saturate(160%);
    border: 1px solid rgba(255, 255, 255, .24) !important;
    border-radius: 999px !important;
    box-shadow: 0 24px 60px rgba(4, 10, 22, .42) !important;
    padding: 8px !important;
    animation: wcHeroUp .85s .16s cubic-bezier(.2, .7, .2, 1) both;
}@media (max-width: 640px){
}
#gx-accueil-cms [data-snb-next-nav] .snb-links{
        scroll-behavior: smooth;
    }
#gx-accueil-cms [data-snb-next-nav] .snb-scroll-controls{
        display: inline-flex;
        align-items: center;
        gap: 6px;
        margin-left: 10px;
        flex-shrink: 0;
    }
#gx-accueil-cms [data-snb-next-nav] .snb-scroll-btn{
        width: 30px;
        height: 30px;
        border-radius: 50%;
        border: 1px solid rgba(212, 175, 55, 0.45);
        background: #fff;
        color: #1a2942;
        cursor: pointer;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        transition: all .2s ease;
    }
#gx-accueil-cms [data-snb-next-nav] .snb-scroll-btn:hover{
        background: #d4af37;
        color: #fff;
        border-color: #d4af37;
    }

    @media (max-width: 768px) {
#gx-accueil-cms [data-snb-next-nav] .snb-scroll-controls{
            gap: 4px;
            margin-left: 6px;
        }
#gx-accueil-cms [data-snb-next-nav] .snb-scroll-btn{
            width: 28px;
            height: 28px;
        }
    }/* ── NL AGENCY SECTION ── */
#gx-accueil-cms .nl-agency-section{ background: linear-gradient(180deg,#f8faff 0%,#fff 100%); }
#gx-accueil-cms .nl-agency-body{ padding: 0 40px 60px; }/* Hero Banner */
#gx-accueil-cms .nl-hero-banner{
    background: linear-gradient(135deg,#0f2240 0%,#1e3a5f 60%,#0d1b35 100%);
    border-radius: 24px; margin: 24px 0; padding: 64px;
    display: grid; grid-template-columns: 1fr 1fr; gap: 60px;
    align-items: center; position: relative; overflow: hidden;
}
#gx-accueil-cms .nl-hero-bg-mesh{
    position: absolute; inset: 0; pointer-events: none;
    background-image: linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px),
                      linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px);
    background-size: 40px 40px;
}
#gx-accueil-cms .nl-hero-badge{
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(52,211,153,0.15); border: 1px solid rgba(52,211,153,0.3);
    color: #34d399; border-radius: 999px; padding: 6px 16px;
    font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px;
    margin-bottom: 24px;
}
#gx-accueil-cms .nl-badge-dot{
    width: 7px; height: 7px; background: #34d399; border-radius: 50%;
    animation: nlPulse 2s infinite;
}
@keyframes nlPulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:0.4;transform:scale(1.4)} }
#gx-accueil-cms .nl-hero-title{
    font-family: 'Playfair Display', serif;
    font-size: clamp(32px, 3.5vw, 52px); color: #fff;
    line-height: 1.1; margin-bottom: 20px;
}
#gx-accueil-cms .nl-hero-title em{ font-style: italic; color: #e8761a; }
#gx-accueil-cms .nl-hero-desc{ font-size: 16px; color: rgba(255,255,255,0.7); line-height: 1.85; margin-bottom: 36px; }
#gx-accueil-cms .nl-hero-actions{ display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 40px; }
#gx-accueil-cms .nl-btn-primary{
    background: #e8761a; color: #fff; padding: 14px 28px; border-radius: 10px;
    font-weight: 700; font-size: 14px; text-decoration: none;
    display: inline-flex; align-items: center; gap: 8px; transition: all 0.2s;
}
#gx-accueil-cms .nl-btn-primary:hover{ background: #c45e0e; transform: translateY(-2px); color: #fff; }
#gx-accueil-cms .nl-btn-secondary{
    border: 2px solid rgba(255,255,255,0.3); color: #fff; padding: 14px 28px;
    border-radius: 10px; font-weight: 700; font-size: 14px; text-decoration: none;
    display: inline-flex; align-items: center; gap: 8px; transition: all 0.2s;
}
#gx-accueil-cms .nl-btn-secondary:hover{ border-color: #fff; background: rgba(255,255,255,0.08); color: #fff; }
#gx-accueil-cms .nl-hero-kpis{ display: flex; gap: 32px; }
#gx-accueil-cms .nl-kpi strong{ display: block; font-family: 'Bebas Neue', sans-serif; font-size: 40px; color: #e8761a; line-height: 1; }
#gx-accueil-cms .nl-kpi span{ font-size: 11px; color: rgba(255,255,255,0.55); text-transform: uppercase; letter-spacing: 0.8px; margin-top: 4px; display: block; }/* Dashboard Mock */
#gx-accueil-cms .nl-dashboard-mock{
    background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12);
    border-radius: 16px; overflow: hidden;
}
#gx-accueil-cms .nl-dash-topbar{
    background: rgba(255,255,255,0.06); padding: 10px 16px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    display: flex; align-items: center; gap: 10px;
}
#gx-accueil-cms .nl-dash-dots{ display: flex; gap: 5px; }
#gx-accueil-cms .nl-dash-dots span{ width: 9px; height: 9px; border-radius: 50%; background: rgba(255,255,255,0.2); }
#gx-accueil-cms .nl-dash-dots span:nth-child(1){ background: #ff5f57; }
#gx-accueil-cms .nl-dash-dots span:nth-child(2){ background: #febc2e; }
#gx-accueil-cms .nl-dash-dots span:nth-child(3){ background: #28c840; }
#gx-accueil-cms .nl-dash-title{ font-size: 11px; color: rgba(255,255,255,0.4); margin-left: 8px; }
#gx-accueil-cms .nl-dash-body{ padding: 24px; display: flex; flex-direction: column; gap: 18px; }
#gx-accueil-cms .nl-dash-metric{ display: flex; align-items: center; gap: 12px; }
#gx-accueil-cms .nl-dash-label{ font-size: 12px; color: rgba(255,255,255,0.6); width: 130px; flex-shrink: 0; }
#gx-accueil-cms .nl-dash-bar-wrap{ flex: 1; height: 6px; background: rgba(255,255,255,0.08); border-radius: 999px; overflow: hidden; }
#gx-accueil-cms .nl-dash-bar{ height: 100%; border-radius: 999px; background: linear-gradient(90deg,#e8761a,#f5a623); }
#gx-accueil-cms .nl-dash-val{ font-size: 13px; font-weight: 700; color: #e8761a; min-width: 48px; text-align: right; }
#gx-accueil-cms .nl-dash-live{
    display: flex; justify-content: space-between; padding-top: 12px;
    border-top: 1px solid rgba(255,255,255,0.07); font-size: 11px; color: rgba(255,255,255,0.4);
}/* Conseil Cards */
#gx-accueil-cms .nl-conseil-grid{ display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; margin: 32px 0; }
#gx-accueil-cms .nl-conseil-card{
    background: #fff; border: 1.5px solid #e5e7eb; border-radius: 20px; padding: 32px;
    transition: all 0.3s;
}
#gx-accueil-cms .nl-conseil-card:hover{ border-color: #e8761a; transform: translateY(-4px); box-shadow: 0 20px 48px rgba(232,118,26,0.1); }
#gx-accueil-cms .nl-conseil-icon{
    width: 52px; height: 52px; border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    font-size: 22px; margin-bottom: 18px;
}
#gx-accueil-cms .nl-conseil-card h3{ font-size: 16px; font-weight: 700; color: #1a1a1a; margin-bottom: 10px; }
#gx-accueil-cms .nl-conseil-card p{ font-size: 13px; color: #666; line-height: 1.7; margin-bottom: 16px; }
#gx-accueil-cms .nl-conseil-tag{
    font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.8px;
    color: #10b981; background: rgba(16,185,129,0.1); padding: 4px 10px;
    border-radius: 6px; display: inline-block;
}/* Form Section */
#gx-accueil-cms .nl-form-section{
    background: #f8faff; border-radius: 24px; padding: 56px;
    display: grid; grid-template-columns: 1fr 1fr; gap: 60px; margin-top: 32px;
}
#gx-accueil-cms .nl-form-eyebrow{
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px;
    color: #e8761a; background: #fef3ea; padding: 6px 14px; border-radius: 999px; margin-bottom: 16px;
}
#gx-accueil-cms .nl-form-left h3{ font-family: 'Playfair Display', serif; font-size: 28px; color: #1a1a1a; margin-bottom: 14px; }
#gx-accueil-cms .nl-form-left p{ font-size: 15px; color: #666; line-height: 1.8; margin-bottom: 24px; }
#gx-accueil-cms .nl-form-benefits{ list-style: none; display: flex; flex-direction: column; gap: 12px; }
#gx-accueil-cms .nl-form-benefits li{ font-size: 14px; color: #444; display: flex; align-items: center; gap: 10px; }
#gx-accueil-cms .nl-form-benefits li i{ color: #10b981; font-size: 14px; flex-shrink: 0; }
#gx-accueil-cms .nl-consul-form{ display: flex; flex-direction: column; gap: 16px; }
#gx-accueil-cms .nl-form-row{ display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
#gx-accueil-cms .nl-form-group{ display: flex; flex-direction: column; gap: 6px; }
#gx-accueil-cms .nl-form-group label{ font-size: 12px; font-weight: 700; color: #374151; }
#gx-accueil-cms .nl-form-group input,#gx-accueil-cms .nl-form-group select,#gx-accueil-cms .nl-form-group textarea{
    border: 1.5px solid #e5e7eb; border-radius: 10px; padding: 12px 14px;
    font-size: 14px; color: #1a1a1a; background: #fff; outline: none;
    transition: border-color 0.2s; font-family: 'DM Sans', sans-serif;
}
#gx-accueil-cms .nl-form-group input:focus,#gx-accueil-cms .nl-form-group select:focus,#gx-accueil-cms .nl-form-group textarea:focus{ border-color: #e8761a; }
#gx-accueil-cms .nl-btn-submit{
    background: linear-gradient(135deg,#e8761a,#c04f10); color: #fff;
    border: none; border-radius: 10px; padding: 16px; font-size: 15px;
    font-weight: 700; cursor: pointer; display: flex; align-items: center;
    justify-content: center; gap: 8px; transition: all 0.2s;
}
#gx-accueil-cms .nl-btn-submit:hover{ transform: translateY(-2px); box-shadow: 0 12px 32px rgba(232,118,26,0.35); }
#gx-accueil-cms .nl-form-note{ font-size: 11px; color: #9ca3af; text-align: center; margin-top: 4px; }

@media(max-width:1100px) {
#gx-accueil-cms .nl-hero-banner{ grid-template-columns: 1fr; }
#gx-accueil-cms .nl-conseil-grid{ grid-template-columns: repeat(2,1fr); }
#gx-accueil-cms .nl-form-section{ grid-template-columns: 1fr; }
}
@media(max-width:640px) {
#gx-accueil-cms .nl-agency-body{ padding: 0 16px 40px; }
#gx-accueil-cms .nl-hero-banner{ padding: 36px 24px; }
#gx-accueil-cms .nl-conseil-grid{ grid-template-columns: 1fr; }
#gx-accueil-cms .nl-hero-kpis{ flex-wrap: wrap; gap: 20px; }
#gx-accueil-cms .nl-form-row{ grid-template-columns: 1fr; }
#gx-accueil-cms .nl-form-section{ padding: 32px 24px; }
}
#gx-accueil-cms .nl-plans-section{ background: #fff; }
#gx-accueil-cms .nl-plans-body{ padding: 0 40px 60px; }
#gx-accueil-cms .nl-plans-intro{
    display: flex; justify-content: space-between; align-items: center;
    gap: 40px; margin: 24px 0 40px; padding: 32px 40px;
    background: linear-gradient(135deg,#f8faff,#fff);
    border: 1px solid #e5e7eb; border-radius: 20px;
}
#gx-accueil-cms .nl-plans-intro-text p{ font-size: 15px; color: #555; line-height: 1.8; max-width: 600px; }
#gx-accueil-cms .nl-plans-intro-stats{ display: flex; gap: 32px; flex-shrink: 0; }
#gx-accueil-cms .nl-intro-stat{ text-align: center; }
#gx-accueil-cms .nl-intro-stat strong{ display: block; font-family: 'Bebas Neue', sans-serif; font-size: 42px; color: #e8761a; line-height: 1; }
#gx-accueil-cms .nl-intro-stat span{ font-size: 11px; color: #888; text-transform: uppercase; letter-spacing: 0.8px; margin-top: 4px; display: block; }
#gx-accueil-cms .nl-plans-grid{ display: grid; grid-template-columns: repeat(5,1fr); gap: 18px; margin-bottom: 32px; }
#gx-accueil-cms .nl-plan-card{
    background: #fff; border: 2px solid #e5e7eb; border-radius: 24px; padding: 32px;
    position: relative; overflow: hidden; transition: all 0.3s; display: flex; flex-direction: column;
}
#gx-accueil-cms .nl-plan-card:hover{ transform: translateY(-6px); box-shadow: 0 24px 60px rgba(0,0,0,0.1); }
#gx-accueil-cms .nl-plan-card.nl-plan-featured{ border-color: #e8761a; background: linear-gradient(160deg,#fffbf7,#fff); }
#gx-accueil-cms .nl-plan-badge{
    position: absolute; top: 0; right: 0;
    color: #fff; font-size: 10px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.8px;
    padding: 5px 14px; border-radius: 0 22px 0 12px;
}
#gx-accueil-cms .nl-plan-icon-wrap{
    width: 60px; height: 60px; border-radius: 16px;
    display: flex; align-items: center; justify-content: center;
    font-size: 26px; color: #fff; margin-bottom: 16px;
}
#gx-accueil-cms .nl-plan-label{ font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 10px; }
#gx-accueil-cms .nl-plan-title{ font-size: 17px; font-weight: 700; color: #1a1a1a; margin-bottom: 10px; line-height: 1.3; }
#gx-accueil-cms .nl-plan-desc{ font-size: 13px; color: #666; line-height: 1.65; margin-bottom: 20px; flex: 1; }
#gx-accueil-cms .nl-plan-features{ list-style: none; display: flex; flex-direction: column; gap: 8px; margin-bottom: 24px; }
#gx-accueil-cms .nl-plan-features li{ font-size: 12px; color: #444; display: flex; align-items: flex-start; gap: 8px; line-height: 1.5; }
#gx-accueil-cms .nl-plan-features li i{ font-size: 12px; flex-shrink: 0; margin-top: 2px; }
#gx-accueil-cms .nl-plan-price{
    display: inline-flex; align-self: flex-start;
    margin: 0 0 14px; padding: 5px 10px;
    border-radius: 999px; font-size: 11px; font-weight: 800;
    color: #fff; background: #1f2a44;
}
#gx-accueil-cms .nl-plan-cta{
    display: flex; align-items: center; justify-content: center; gap: 8px;
    color: #fff; font-weight: 700; font-size: 13px; padding: 12px;
    border-radius: 10px; text-decoration: none; text-align: center;
    transition: all 0.2s;
}
#gx-accueil-cms .nl-plan-cta:hover{ opacity: 0.9; transform: translateY(-1px); color: #fff; }
#gx-accueil-cms .nl-plans-compare-banner{
    background: linear-gradient(135deg,#0f2240,#1e3a5f); border-radius: 20px;
    padding: 40px 48px; display: flex; justify-content: space-between;
    align-items: center; gap: 40px;
}
#gx-accueil-cms .nl-compare-left h3{ font-size: 22px; font-weight: 700; color: #fff; margin-bottom: 8px; }
#gx-accueil-cms .nl-compare-left p{ font-size: 14px; color: rgba(255,255,255,0.7); line-height: 1.7; max-width: 500px; }
#gx-accueil-cms .nl-compare-btns{ display: flex; gap: 12px; flex-shrink: 0; }
#gx-accueil-cms .nl-compare-btn-primary{
    background: #e8761a; color: #fff; padding: 14px 24px; border-radius: 10px;
    font-weight: 700; font-size: 14px; text-decoration: none;
    display: inline-flex; align-items: center; gap: 8px; white-space: nowrap;
}
#gx-accueil-cms .nl-compare-btn-secondary{
    border: 2px solid rgba(255,255,255,0.3); color: #fff; padding: 14px 24px;
    border-radius: 10px; font-weight: 700; font-size: 14px; text-decoration: none;
    display: inline-flex; align-items: center; gap: 8px; white-space: nowrap;
}
#gx-accueil-cms .nl-compare-btn-secondary:hover{ border-color: #fff; color: #fff; }

@media(max-width:1300px) {
#gx-accueil-cms .nl-plans-grid{ grid-template-columns: repeat(3,1fr); } }
@media(max-width:900px) {
#gx-accueil-cms .nl-plans-grid{ grid-template-columns: repeat(2,1fr); }
#gx-accueil-cms .nl-plans-intro{ flex-direction: column; }
#gx-accueil-cms .nl-plans-compare-banner{ flex-direction: column; } }
@media(max-width:640px) {
#gx-accueil-cms .nl-plans-body{ padding: 0 16px 40px; }
#gx-accueil-cms .nl-plans-grid{ grid-template-columns: 1fr; }
#gx-accueil-cms .nl-plans-intro-stats{ flex-wrap: wrap; gap: 20px; } }
#gx-accueil-cms .nl-editor-section{ background: #f8faff; }
#gx-accueil-cms .nl-editor-body{ padding: 0 40px 60px; }/* Showcase */
#gx-accueil-cms .nl-editor-showcase{
    display: grid; grid-template-columns: 1fr 1fr; gap: 70px;
    align-items: center; margin: 24px 0 48px;
}
#gx-accueil-cms .nl-ed-eyebrow{
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px;
    color: #8b5cf6; background: rgba(139,92,246,0.1); padding: 6px 14px;
    border-radius: 999px; margin-bottom: 16px;
}
#gx-accueil-cms .nl-editor-left h2{ font-family: 'Playfair Display', serif; font-size: clamp(28px,3vw,42px); color: #1a1a1a; line-height: 1.15; margin-bottom: 16px; }
#gx-accueil-cms .nl-editor-left h2 em{ font-style: italic; color: #e8761a; }
#gx-accueil-cms .nl-editor-left > p{ font-size: 15px; color: #555; line-height: 1.8; margin-bottom: 28px; }
#gx-accueil-cms .nl-editor-left{ padding: 0 24px; }
#gx-accueil-cms .nl-ed-steps{ display: flex; flex-direction: column; gap: 20px; margin-bottom: 32px; }
#gx-accueil-cms .nl-ed-step{ display: flex; gap: 16px; align-items: flex-start; }
#gx-accueil-cms .nl-ed-step-num{
    width: 36px; height: 36px; border-radius: 50%; background: #e8761a; color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-weight: 800; font-size: 14px; flex-shrink: 0;
}
#gx-accueil-cms .nl-ed-step h4{ font-size: 14px; font-weight: 700; color: #1a1a1a; margin-bottom: 4px; }
#gx-accueil-cms .nl-ed-step p{ font-size: 13px; color: #666; line-height: 1.6; }
#gx-accueil-cms .nl-ed-actions{ display: flex; gap: 12px; flex-wrap: wrap; }
#gx-accueil-cms .nl-btn-outline-dark{
    border: 2px solid #1a1a1a; color: #1a1a1a; padding: 14px 24px; border-radius: 10px;
    font-weight: 700; font-size: 14px; text-decoration: none;
    display: inline-flex; align-items: center; gap: 8px; transition: all 0.2s;
}
#gx-accueil-cms .nl-btn-outline-dark:hover{ background: #1a1a1a; color: #fff; }/* Browser Frame */
#gx-accueil-cms .nl-editor-right{ position: relative; justify-self: end; width: 100%; max-width: 700px; }
#gx-accueil-cms .nl-browser-frame{
    background: #fff; border-radius: 16px; overflow: hidden;
    box-shadow: 0 32px 80px rgba(0,0,0,0.15); border: 1px solid #e5e7eb;
}
#gx-accueil-cms .nl-browser-bar{
    background: #f1f3f5; padding: 10px 16px; display: flex; align-items: center; gap: 12px;
    border-bottom: 1px solid #e5e7eb;
}
#gx-accueil-cms .nl-browser-dots{ display: flex; gap: 5px; }
#gx-accueil-cms .nl-browser-dots span{ width: 10px; height: 10px; border-radius: 50%; }
#gx-accueil-cms .nl-browser-dots span:nth-child(1){ background: #ff5f57; }
#gx-accueil-cms .nl-browser-dots span:nth-child(2){ background: #febc2e; }
#gx-accueil-cms .nl-browser-dots span:nth-child(3){ background: #28c840; }
#gx-accueil-cms .nl-browser-url{ flex: 1; background: #fff; border: 1px solid #e5e7eb; border-radius: 6px; padding: 4px 12px; font-size: 11px; color: #666; text-align: center; }
#gx-accueil-cms .nl-browser-actions{ display: flex; gap: 10px; color: #888; font-size: 13px; }
#gx-accueil-cms .nl-browser-content{ position: relative; }
#gx-accueil-cms .nl-preview-hero{
    background: linear-gradient(135deg,#0f2240,#1e3a5f); padding: 14px 16px 20px;
}
#gx-accueil-cms .nl-preview-nav{ display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
#gx-accueil-cms .nl-prev-logo{ font-size: 12px; font-weight: 800; color: #fff; }
#gx-accueil-cms .nl-prev-links{ display: flex; gap: 12px; }
#gx-accueil-cms .nl-prev-links span{ font-size: 9px; color: rgba(255,255,255,0.7); }
#gx-accueil-cms .nl-prev-cta-btn{ background: #e8761a; color: #fff; font-size: 9px; font-weight: 700; padding: 4px 10px; border-radius: 5px; }
#gx-accueil-cms .nl-preview-hero-content{ padding: 0 8px; }
#gx-accueil-cms .nl-prev-eyebrow{ font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #e8761a; margin-bottom: 6px; }
#gx-accueil-cms .nl-prev-title{ font-size: 18px; font-weight: 800; color: #fff; line-height: 1.2; margin-bottom: 6px; }
#gx-accueil-cms .nl-prev-sub{ font-size: 10px; color: rgba(255,255,255,0.65); margin-bottom: 14px; }
#gx-accueil-cms .nl-prev-btns{ display: flex; gap: 8px; }
#gx-accueil-cms .nl-prev-btn-a{ background: #e8761a; color: #fff; font-size: 9px; font-weight: 700; padding: 5px 12px; border-radius: 5px; }
#gx-accueil-cms .nl-prev-btn-b{ border: 1px solid rgba(255,255,255,0.4); color: #fff; font-size: 9px; font-weight: 700; padding: 5px 12px; border-radius: 5px; }
#gx-accueil-cms .nl-preview-cards{ display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; padding: 12px; }
#gx-accueil-cms .nl-prev-card{ border-radius: 8px; padding: 12px; text-align: center; font-size: 10px; font-weight: 700; color: #1a1a1a; }
#gx-accueil-cms .nl-prev-card i{ display: block; font-size: 18px; margin-bottom: 5px; }
#gx-accueil-cms .nl-editor-tools-overlay{
    position: absolute; bottom: 60px; right: 10px;
}
#gx-accueil-cms .nl-tool-badge{
    background: rgba(139,92,246,0.9); color: #fff; font-size: 10px; font-weight: 700;
    padding: 6px 12px; border-radius: 20px;
    display: flex; align-items: center; gap: 5px;
}
#gx-accueil-cms .nl-floating-pill{
    position: absolute; background: #fff; border: 1px solid #e5e7eb;
    border-radius: 999px; padding: 6px 14px; font-size: 11px; font-weight: 700;
    color: #1a1a1a; box-shadow: 0 6px 20px rgba(0,0,0,0.1);
    display: flex; align-items: center; gap: 6px;
}
#gx-accueil-cms .nl-fp-1{ bottom: -10px; left: -20px; }
#gx-accueil-cms .nl-fp-2{ bottom: 40px; right: -20px; }
#gx-accueil-cms .nl-fp-3{ top: 20px; right: -30px; }
#gx-accueil-cms .nl-floating-pill i{ color: #e8761a; }/* Features Grid */
#gx-accueil-cms .nl-ed-features-grid{ width: 100%; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin-bottom: 48px; }
#gx-accueil-cms .nl-ed-feature-card{ background: #fff; border: 1.5px solid #e5e7eb; border-radius: 20px; padding: 28px; transition: all 0.3s; }
#gx-accueil-cms .nl-ed-feature-card:hover{ transform: translateY(-3px); box-shadow: 0 16px 40px rgba(0,0,0,0.08); }
#gx-accueil-cms .nl-ed-feature-icon{ width: 48px; height: 48px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 20px; margin-bottom: 16px; }
#gx-accueil-cms .nl-ed-feature-card h4{ font-size: 15px; font-weight: 700; color: #1a1a1a; margin-bottom: 8px; }
#gx-accueil-cms .nl-ed-feature-card p{ font-size: 13px; color: #666; line-height: 1.65; }/* Plans */
#gx-accueil-cms .nl-ed-plans-row{ display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
#gx-accueil-cms .nl-ed-plan{ background: #fff; border: 2px solid #e5e7eb; border-radius: 20px; padding: 36px; position: relative; }
#gx-accueil-cms .nl-ed-plan-featured{ border-color: #e8761a; background: linear-gradient(160deg,#fffbf7,#fff); }
#gx-accueil-cms .nl-ed-plan-badge{ font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.8px; color: #e8761a; margin-bottom: 12px; }
#gx-accueil-cms .nl-ed-plan-name{ font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #888; margin-bottom: 8px; }
#gx-accueil-cms .nl-ed-plan-price{ font-family: 'Bebas Neue', sans-serif; font-size: 44px; color: #1a1a1a; line-height: 1; margin-bottom: 4px; }
#gx-accueil-cms .nl-ed-plan-price span{ font-size: 15px; font-weight: 400; color: #888; font-family: 'DM Sans', sans-serif; }
#gx-accueil-cms .nl-ed-plan-list{ list-style: none; display: flex; flex-direction: column; gap: 10px; margin: 20px 0 28px; }
#gx-accueil-cms .nl-ed-plan-list li{ font-size: 13px; color: #444; display: flex; align-items: center; gap: 8px; }
#gx-accueil-cms .nl-ed-plan-list li i{ color: #10b981; font-size: 13px; }
#gx-accueil-cms .nl-disabled{ opacity: 0.45; }
#gx-accueil-cms .nl-disabled i{ color: #ccc !important; }
#gx-accueil-cms .nl-ed-plan-cta{ display: block; text-align: center; padding: 14px; border-radius: 10px; font-weight: 700; font-size: 14px; text-decoration: none; transition: all 0.2s; }
#gx-accueil-cms .nl-ed-cta-light{ background: #f0f4ff; color: #1e3a5f; border: 2px solid #e5e7eb; }
#gx-accueil-cms .nl-ed-cta-light:hover{ background: #1e3a5f; color: #fff; }
#gx-accueil-cms .nl-ed-cta-orange{ background: #e8761a; color: #fff; }
#gx-accueil-cms .nl-ed-cta-orange:hover{ background: #c45e0e; color: #fff; }

@media(max-width:1100px) {
#gx-accueil-cms .nl-editor-showcase{ grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; align-items: start; }
#gx-accueil-cms .nl-editor-left{ padding: 0; }
#gx-accueil-cms .nl-ed-features-grid{ grid-template-columns: repeat(2,1fr); }
#gx-accueil-cms .nl-ed-plans-row{ grid-template-columns: 1fr; }
#gx-accueil-cms .nl-floating-pill{ display: none; }
}
@media(max-width:900px) {
#gx-accueil-cms .nl-editor-showcase{ grid-template-columns: 1fr; }
#gx-accueil-cms .nl-editor-right{ justify-self: stretch; max-width: none; }
}
@media(max-width:640px) {
#gx-accueil-cms .nl-editor-body{ padding: 0 16px 40px; }
#gx-accueil-cms .nl-ed-features-grid{ grid-template-columns: 1fr; }
}/* ── API SECTION ── */
#gx-accueil-cms .nl-api-section{ background: linear-gradient(180deg, #fff 0%, #f8faff 100%); }
#gx-accueil-cms .nl-api-body{ padding: 0 40px 60px; }/* Hero */
#gx-accueil-cms .nl-api-hero{
    background: linear-gradient(135deg, #0a1628 0%, #1a2a4a 100%);
    border-radius: 28px;
    margin: 24px 0 48px;
    padding: 56px 64px;
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 50px;
    align-items: center;
    position: relative;
    overflow: hidden;
}
#gx-accueil-cms .nl-api-hero::before{
    content: '';
    position: absolute;
    top: -50%;
    right: -30%;
    width: 80%;
    height: 200%;
    background: radial-gradient(circle, rgba(232,118,26,0.08) 0%, transparent 70%);
    pointer-events: none;
}
#gx-accueil-cms .nl-api-badge{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(52,211,153,0.15);
    border: 1px solid rgba(52,211,153,0.3);
    color: #34d399;
    border-radius: 999px;
    padding: 6px 16px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 24px;
}
#gx-accueil-cms .nl-api-hero h2{
    font-family: 'Playfair Display', serif;
    font-size: clamp(32px, 3.2vw, 46px);
    color: #fff;
    line-height: 1.15;
    margin-bottom: 20px;
}
#gx-accueil-cms .nl-api-hero h2 em{ font-style: italic; color: #e8761a; }
#gx-accueil-cms .nl-api-hero > p{
    font-size: 15px;
    color: rgba(255,255,255,0.7);
    line-height: 1.8;
    margin-bottom: 28px;
}
#gx-accueil-cms .nl-api-stats{
    display: flex;
    gap: 32px;
    margin-bottom: 32px;
    flex-wrap: wrap;
}
#gx-accueil-cms .nl-api-stat strong{
    display: block;
    font-family: 'Bebas Neue', sans-serif;
    font-size: 38px;
    color: #e8761a;
    line-height: 1;
}
#gx-accueil-cms .nl-api-stat span{
    font-size: 11px;
    color: rgba(255,255,255,0.55);
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-top: 4px;
    display: block;
}
#gx-accueil-cms .nl-api-actions{ display: flex; gap: 14px; flex-wrap: wrap; }
#gx-accueil-cms .nl-btn-secondary-api{
    border: 2px solid rgba(255,255,255,0.3);
    color: #fff;
    padding: 14px 28px;
    border-radius: 10px;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.2s;
}
#gx-accueil-cms .nl-btn-secondary-api:hover{ border-color: #fff; background: rgba(255,255,255,0.08); color: #fff; }/* Code Window */
#gx-accueil-cms .nl-api-hero-code{ position: relative; }
#gx-accueil-cms .nl-code-window{
    background: #0d1117;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.1);
    box-shadow: 0 25px 50px -12px rgba(0,0,0,0.5);
}
#gx-accueil-cms .nl-code-header{
    background: #161b22;
    padding: 12px 16px;
    display: flex;
    align-items: center;
    gap: 8px;
    border-bottom: 1px solid #30363d;
}
#gx-accueil-cms .nl-code-dot{
    width: 10px;
    height: 10px;
    border-radius: 50%;
}
#gx-accueil-cms .nl-code-dot.red{ background: #ff5f57; }
#gx-accueil-cms .nl-code-dot.yellow{ background: #febc2e; }
#gx-accueil-cms .nl-code-dot.green{ background: #28c840; }
#gx-accueil-cms .nl-code-title{
    margin-left: 8px;
    font-size: 11px;
    color: #8b949e;
    font-family: monospace;
}
#gx-accueil-cms .nl-code-body{
    padding: 20px;
    overflow-x: auto;
}
#gx-accueil-cms .nl-code-body pre{
    margin: 0;
    font-family: 'Fira Code', 'Courier New', monospace;
    font-size: 11px;
    line-height: 1.6;
    color: #e6edf3;
}
#gx-accueil-cms .nl-api-floating-badge{
    position: absolute;
    bottom: -15px;
    right: -15px;
    background: #e8761a;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 8px 16px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 8px 20px rgba(232,118,26,0.4);
}/* Features Grid */
#gx-accueil-cms .nl-api-features{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 60px;
}
#gx-accueil-cms .nl-api-feature-card{
    background: #fff;
    border: 1.5px solid #e5e7eb;
    border-radius: 20px;
    padding: 32px;
    transition: all 0.3s ease;
}
#gx-accueil-cms .nl-api-feature-card:hover{
    transform: translateY(-4px);
    border-color: #e8761a;
    box-shadow: 0 20px 40px rgba(0,0,0,0.08);
}
#gx-accueil-cms .nl-api-feature-icon{
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    margin-bottom: 20px;
}
#gx-accueil-cms .nl-api-feature-card h3{
    font-size: 16px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 10px;
}
#gx-accueil-cms .nl-api-feature-card p{
    font-size: 13px;
    color: #666;
    line-height: 1.7;
    margin-bottom: 16px;
}
#gx-accueil-cms .nl-api-feature-tag{
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    padding: 4px 10px;
    border-radius: 6px;
}/* Integrations */
#gx-accueil-cms .nl-api-integrations{
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 28px;
    padding: 56px;
    margin-bottom: 60px;
    text-align: center;
}
#gx-accueil-cms .nl-integrations-eyebrow{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #e8761a;
    background: #fef3ea;
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 20px;
}
#gx-accueil-cms .nl-api-integrations h3{
    font-family: 'Playfair Display', serif;
    font-size: 28px;
    color: #1a1a1a;
    margin-bottom: 12px;
}
#gx-accueil-cms .nl-api-integrations > p{
    font-size: 15px;
    color: #666;
    max-width: 550px;
    margin: 0 auto 40px;
}
#gx-accueil-cms .nl-integrations-grid{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
    margin-bottom: 32px;
}
#gx-accueil-cms .nl-integration-card{
    background: #f8faff;
    border: 1px solid #e5e7eb;
    border-radius: 50px;
    padding: 8px 20px 8px 12px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: all 0.2s;
}
#gx-accueil-cms .nl-integration-card:hover{
    border-color: #e8761a;
    transform: translateY(-2px);
}
#gx-accueil-cms .nl-integration-icon{
    width: 32px;
    height: 32px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
}
#gx-accueil-cms .nl-integration-card span{
    font-size: 13px;
    font-weight: 600;
    color: #1a1a1a;
}
#gx-accueil-cms .nl-integrations-cta a{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #e8761a;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    transition: gap 0.2s;
}
#gx-accueil-cms .nl-integrations-cta a:hover{ gap: 12px; }/* Webhooks Demo */
#gx-accueil-cms .nl-webhooks-demo{
    background: linear-gradient(135deg, #f8faff 0%, #fff 100%);
    border-radius: 28px;
    padding: 56px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    margin-bottom: 60px;
    border: 1px solid #e5e7eb;
}
#gx-accueil-cms .nl-demo-badge{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #8b5cf6;
    background: rgba(139,92,246,0.1);
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 20px;
}
#gx-accueil-cms .nl-webhooks-demo h3{
    font-family: 'Playfair Display', serif;
    font-size: clamp(26px, 2.8vw, 36px);
    color: #1a1a1a;
    line-height: 1.2;
    margin-bottom: 16px;
}
#gx-accueil-cms .nl-webhooks-demo h3 em{ font-style: italic; color: #e8761a; }
#gx-accueil-cms .nl-webhooks-demo > p{
    font-size: 15px;
    color: #666;
    line-height: 1.8;
    margin-bottom: 24px;
}
#gx-accueil-cms .nl-demo-list{
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 32px;
}
#gx-accueil-cms .nl-demo-list li{
    font-size: 14px;
    color: #444;
    display: flex;
    align-items: center;
    gap: 10px;
}
#gx-accueil-cms .nl-demo-list li i{ color: #10b981; font-size: 14px; }
#gx-accueil-cms .nl-btn-webhook{
    background: linear-gradient(135deg, #8b5cf6, #6d28d9);
    color: #fff;
    padding: 14px 28px;
    border-radius: 10px;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.2s;
}
#gx-accueil-cms .nl-btn-webhook:hover{ transform: translateY(-2px); box-shadow: 0 12px 28px rgba(139,92,246,0.35); color: #fff; }
#gx-accueil-cms .nl-webhook-config-mock{
    background: #fff;
    border: 1.5px solid #e5e7eb;
    border-radius: 20px;
    padding: 28px;
    box-shadow: 0 12px 32px rgba(0,0,0,0.05);
}
#gx-accueil-cms .nl-mock-header{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 16px;
    margin-bottom: 20px;
    border-bottom: 1px solid #e5e7eb;
    font-size: 13px;
    font-weight: 600;
    color: #374151;
}
#gx-accueil-cms .nl-mock-status{ font-size: 11px; display: flex; align-items: center; gap: 5px; }
#gx-accueil-cms .nl-mock-field{ margin-bottom: 20px; }
#gx-accueil-cms .nl-mock-field label{
    display: block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #888;
    margin-bottom: 6px;
}
#gx-accueil-cms .nl-mock-input{
    background: #f8faff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 12px 14px;
    font-size: 13px;
    color: #1a1a1a;
    font-family: monospace;
}
#gx-accueil-cms .nl-mock-tags{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
#gx-accueil-cms .nl-mock-tag{
    background: #eff6ff;
    color: #3b82f6;
    font-size: 11px;
    font-weight: 600;
    padding: 5px 12px;
    border-radius: 20px;
}
#gx-accueil-cms .nl-mock-actions{
    display: flex;
    gap: 12px;
    margin-top: 20px;
}
#gx-accueil-cms .nl-mock-btn{
    background: #f1f3f5;
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    color: #555;
    cursor: default;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}/* CTA Banner */
#gx-accueil-cms .nl-api-cta-banner{
    background: linear-gradient(135deg, #0f2240, #1e3a5f);
    border-radius: 24px;
    padding: 48px 56px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 30px;
}
#gx-accueil-cms .nl-cta-content h3{
    font-size: 24px;
    color: #fff;
    margin-bottom: 8px;
}
#gx-accueil-cms .nl-cta-content p{
    font-size: 14px;
    color: rgba(255,255,255,0.7);
    max-width: 500px;
}
#gx-accueil-cms .nl-cta-buttons{
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}
#gx-accueil-cms .nl-cta-primary{
    background: #e8761a;
    color: #fff;
    padding: 14px 28px;
    border-radius: 10px;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.2s;
}
#gx-accueil-cms .nl-cta-primary:hover{ background: #c45e0e; transform: translateY(-2px); color: #fff; }
#gx-accueil-cms .nl-cta-secondary{
    border: 2px solid rgba(255,255,255,0.3);
    color: #fff;
    padding: 14px 28px;
    border-radius: 10px;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.2s;
}
#gx-accueil-cms .nl-cta-secondary:hover{ border-color: #fff; background: rgba(255,255,255,0.08); color: #fff; }

/* Responsive */
@media(max-width: 1200px) {
#gx-accueil-cms .nl-api-features{ grid-template-columns: repeat(2, 1fr); }
}
@media(max-width: 1000px) {
#gx-accueil-cms .nl-api-hero{ grid-template-columns: 1fr; padding: 40px; }
#gx-accueil-cms .nl-webhooks-demo{ grid-template-columns: 1fr; }
#gx-accueil-cms .nl-api-integrations{ padding: 40px 24px; }
}
@media(max-width: 768px) {
#gx-accueil-cms .nl-api-body{ padding: 0 20px 40px; }
#gx-accueil-cms .nl-api-hero{ padding: 32px 24px; }
#gx-accueil-cms .nl-api-features{ grid-template-columns: 1fr; }
#gx-accueil-cms .nl-api-stats{ gap: 20px; }
#gx-accueil-cms .nl-api-cta-banner{ flex-direction: column; text-align: center; padding: 32px 24px; }
#gx-accueil-cms .nl-integrations-grid{ justify-content: center; }
#gx-accueil-cms .nl-api-floating-badge{ display: none; }
}
@media(max-width: 480px) {
#gx-accueil-cms .nl-code-body pre{ font-size: 8px; }
#gx-accueil-cms .nl-mock-tags{ flex-wrap: wrap; }
}/* ── FORMULAIRES SECTION ── */
#gx-accueil-cms .nl-forms-section{ background: linear-gradient(180deg, #fff 0%, #f8faff 100%); }
#gx-accueil-cms .nl-forms-body{ padding: 0 40px 60px; }/* Hero Banner */
#gx-accueil-cms .nl-forms-hero{
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f0f1a 100%);
    border-radius: 28px;
    margin: 24px 0 48px;
    padding: 56px 64px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    align-items: center;
    position: relative;
    overflow: hidden;
}
#gx-accueil-cms .nl-forms-hero::before{
    content: '';
    position: absolute;
    top: -30%;
    left: -20%;
    width: 70%;
    height: 160%;
    background: radial-gradient(circle, rgba(232,118,26,0.08) 0%, transparent 70%);
    pointer-events: none;
}
#gx-accueil-cms .nl-forms-badge{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(232,118,26,0.15);
    border: 1px solid rgba(232,118,26,0.3);
    color: #e8761a;
    border-radius: 999px;
    padding: 6px 16px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 24px;
}
#gx-accueil-cms .nl-forms-hero h2{
    font-family: 'Playfair Display', serif;
    font-size: clamp(32px, 3.2vw, 46px);
    color: #fff;
    line-height: 1.15;
    margin-bottom: 20px;
}
#gx-accueil-cms .nl-forms-hero h2 em{ font-style: italic; color: #e8761a; }
#gx-accueil-cms .nl-forms-hero > p{
    font-size: 15px;
    color: rgba(255,255,255,0.7);
    line-height: 1.8;
    margin-bottom: 28px;
}
#gx-accueil-cms .nl-forms-stats{
    display: flex;
    gap: 32px;
    margin-bottom: 32px;
    flex-wrap: wrap;
}
#gx-accueil-cms .nl-forms-stat strong{
    display: block;
    font-family: 'Bebas Neue', sans-serif;
    font-size: 38px;
    color: #e8761a;
    line-height: 1;
}
#gx-accueil-cms .nl-forms-stat span{
    font-size: 11px;
    color: rgba(255,255,255,0.55);
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-top: 4px;
    display: block;
}
#gx-accueil-cms .nl-forms-actions{ display: flex; gap: 14px; flex-wrap: wrap; }
#gx-accueil-cms .nl-btn-secondary-forms{
    border: 2px solid rgba(255,255,255,0.3);
    color: #fff;
    padding: 14px 28px;
    border-radius: 10px;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.2s;
}
#gx-accueil-cms .nl-btn-secondary-forms:hover{ border-color: #fff; background: rgba(255,255,255,0.08); color: #fff; }/* Preview Card */
#gx-accueil-cms .nl-forms-hero-preview{ position: relative; }
#gx-accueil-cms .nl-form-preview-card{
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 25px 50px -12px rgba(0,0,0,0.35);
}
#gx-accueil-cms .nl-preview-header{
    background: linear-gradient(135deg, #e8761a, #c04f10);
    padding: 14px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #fff;
}
#gx-accueil-cms .nl-preview-title{ font-size: 14px; font-weight: 700; display: flex; align-items: center; gap: 8px; }
#gx-accueil-cms .nl-preview-badge{
    font-size: 10px;
    background: rgba(255,255,255,0.2);
    padding: 4px 10px;
    border-radius: 20px;
}
#gx-accueil-cms .nl-preview-fields{ padding: 20px; background: #fff; }
#gx-accueil-cms .nl-preview-field{
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    background: #f8faff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 0 12px;
}
#gx-accueil-cms .nl-preview-field i{ color: #e8761a; font-size: 14px; }
#gx-accueil-cms .nl-preview-field input,#gx-accueil-cms .nl-preview-field select{
    border: none;
    background: transparent;
    padding: 12px 0;
    width: 100%;
    font-size: 13px;
    outline: none;
}
#gx-accueil-cms .nl-preview-field.half{ width: calc(50% - 6px); display: inline-flex; margin-right: 12px; }
#gx-accueil-cms .nl-preview-field.half:last-child{ margin-right: 0; }
#gx-accueil-cms .nl-preview-submit{
    background: #e8761a;
    color: #fff;
    padding: 12px;
    border-radius: 10px;
    text-align: center;
    font-weight: 700;
    font-size: 13px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 8px;
}
#gx-accueil-cms .nl-preview-secure{ font-size: 10px; font-weight: normal; opacity: 0.8; }
#gx-accueil-cms .nl-preview-footer{
    background: #f0fdf4;
    padding: 10px 20px;
    font-size: 11px;
    color: #10b981;
    display: flex;
    align-items: center;
    gap: 6px;
    border-top: 1px solid #dcfce7;
}
#gx-accueil-cms .nl-floating-badge{
    position: absolute;
    background: #fff;
    border-radius: 999px;
    padding: 8px 16px;
    font-size: 11px;
    font-weight: 700;
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}
#gx-accueil-cms .nl-fb-1{ bottom: -15px; left: -20px; color: #10b981; }
#gx-accueil-cms .nl-fb-2{ top: -15px; right: -20px; color: #8b5cf6; }/* Templates Grid */
#gx-accueil-cms .nl-forms-templates,#gx-accueil-cms .nl-forms-features{ margin-bottom: 60px; }
#gx-accueil-cms .nl-section-header{
    text-align: center;
    margin-bottom: 40px;
}
#gx-accueil-cms .nl-section-eyebrow{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #e8761a;
    background: #fef3ea;
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 16px;
}
#gx-accueil-cms .nl-section-header h3{
    font-family: 'Playfair Display', serif;
    font-size: 28px;
    color: #1a1a1a;
    margin-bottom: 12px;
}
#gx-accueil-cms .nl-section-header p{
    font-size: 15px;
    color: #666;
    max-width: 550px;
    margin: 0 auto;
}
#gx-accueil-cms .nl-templates-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
#gx-accueil-cms .nl-template-card{
    background: #fff;
    border: 1.5px solid #e5e7eb;
    border-radius: 20px;
    padding: 28px;
    transition: all 0.3s;
    position: relative;
}
#gx-accueil-cms .nl-template-card:hover{
    transform: translateY(-4px);
    border-color: #e8761a;
    box-shadow: 0 20px 40px rgba(0,0,0,0.08);
}
#gx-accueil-cms .nl-template-icon{
    width: 48px;
    height: 48px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    margin-bottom: 16px;
}
#gx-accueil-cms .nl-template-tag{
    position: absolute;
    top: 20px;
    right: 20px;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    padding: 4px 10px;
    border-radius: 20px;
}
#gx-accueil-cms .nl-template-card h4{
    font-size: 16px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 8px;
}
#gx-accueil-cms .nl-template-card p{
    font-size: 13px;
    color: #666;
    line-height: 1.65;
    margin-bottom: 16px;
}
#gx-accueil-cms .nl-template-fields{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
}
#gx-accueil-cms .nl-template-fields span{
    font-size: 10px;
    color: #888;
    background: #f8faff;
    padding: 4px 10px;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
#gx-accueil-cms .nl-template-cta{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #e8761a;
    font-weight: 700;
    font-size: 13px;
    text-decoration: none;
    transition: gap 0.2s;
}
#gx-accueil-cms .nl-template-cta:hover{ gap: 12px; }/* Features Grid */
#gx-accueil-cms .nl-features-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
#gx-accueil-cms .nl-feature-card{
    background: #fff;
    border: 1.5px solid #e5e7eb;
    border-radius: 20px;
    padding: 32px;
    transition: all 0.3s;
}
#gx-accueil-cms .nl-feature-card:hover{ transform: translateY(-3px); border-color: #e8761a; }
#gx-accueil-cms .nl-feature-icon{
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    margin-bottom: 18px;
}
#gx-accueil-cms .nl-feature-card h4{
    font-size: 15px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 8px;
}
#gx-accueil-cms .nl-feature-card p{
    font-size: 13px;
    color: #666;
    line-height: 1.7;
}/* Integrations */
#gx-accueil-cms .nl-forms-integrations{
    background: linear-gradient(135deg, #f8faff, #fff);
    border: 1px solid #e5e7eb;
    border-radius: 24px;
    padding: 48px;
    text-align: center;
    margin-bottom: 60px;
}
#gx-accueil-cms .nl-integrations-header{ margin-bottom: 32px; }
#gx-accueil-cms .nl-integrations-header i{
    font-size: 32px;
    color: #e8761a;
    margin-bottom: 12px;
}
#gx-accueil-cms .nl-integrations-header h3{
    font-size: 22px;
    color: #1a1a1a;
    margin-bottom: 8px;
}
#gx-accueil-cms .nl-integrations-header p{
    font-size: 14px;
    color: #666;
}
#gx-accueil-cms .nl-integrations-list{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}
#gx-accueil-cms .nl-integration-item{
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 20px;
    border: 1px solid;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 600;
    transition: all 0.2s;
}
#gx-accueil-cms .nl-integration-item:hover{ transform: translateY(-2px); }
#gx-accueil-cms .nl-integration-more{
    display: flex;
    align-items: center;
    gap: 6px;
    color: #888;
    font-size: 13px;
}/* Demo Builder */
#gx-accueil-cms .nl-forms-demo{
    background: #0a1628;
    border-radius: 28px;
    padding: 56px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    margin-bottom: 60px;
    align-items: center;
}
#gx-accueil-cms .nl-demo-badge{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #34d399;
    background: rgba(52,211,153,0.1);
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 20px;
}
#gx-accueil-cms .nl-demo-info h3{
    font-family: 'Playfair Display', serif;
    font-size: clamp(26px, 2.8vw, 36px);
    color: #fff;
    line-height: 1.2;
    margin-bottom: 16px;
}
#gx-accueil-cms .nl-demo-info h3 em{ font-style: italic; color: #e8761a; }
#gx-accueil-cms .nl-demo-info p{
    font-size: 14px;
    color: rgba(255,255,255,0.7);
    line-height: 1.8;
    margin-bottom: 24px;
}
#gx-accueil-cms .nl-demo-info ul{
    list-style: none;
    margin-bottom: 32px;
}
#gx-accueil-cms .nl-demo-info li{
    color: rgba(255,255,255,0.8);
    font-size: 14px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
}
#gx-accueil-cms .nl-demo-info li i{ color: #10b981; }
#gx-accueil-cms .nl-demo-btn{
    background: #e8761a;
    color: #fff;
    padding: 14px 28px;
    border-radius: 10px;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.2s;
}
#gx-accueil-cms .nl-demo-btn:hover{ transform: translateY(-2px); background: #c45e0e; color: #fff; }
#gx-accueil-cms .nl-builder-mock{
    background: #1e293b;
    border-radius: 16px;
    padding: 20px;
    display: flex;
    gap: 20px;
    border: 1px solid #334155;
}
#gx-accueil-cms .nl-builder-sidebar{
    width: 120px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
#gx-accueil-cms .nl-builder-field-type{
    background: #334155;
    padding: 8px 10px;
    border-radius: 8px;
    font-size: 10px;
    color: #94a3b8;
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: default;
}
#gx-accueil-cms .nl-builder-canvas{
    flex: 1;
    background: #0f172a;
    border-radius: 12px;
    padding: 16px;
}
#gx-accueil-cms .nl-builder-field-row{ display: flex; gap: 12px; margin-bottom: 12px; }
#gx-accueil-cms .nl-builder-field{
    background: #334155;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 11px;
    color: #cbd5e1;
    flex: 1;
}
#gx-accueil-cms .nl-field-required{ color: #ef4444; }
#gx-accueil-cms .nl-builder-submit{
    background: #e8761a;
    padding: 10px;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 700;
    text-align: center;
    color: #fff;
    margin-top: 12px;
}/* CTA Final */
#gx-accueil-cms .nl-forms-cta{
    background: linear-gradient(135deg, #fef3ea, #fff3e6);
    border-radius: 24px;
    padding: 48px 56px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 30px;
    border: 1px solid #fde4c5;
}
#gx-accueil-cms .nl-cta-content h3{
    font-size: 24px;
    color: #1a1a1a;
    margin-bottom: 8px;
}
#gx-accueil-cms .nl-cta-content p{
    font-size: 14px;
    color: #666;
}
#gx-accueil-cms .nl-cta-buttons{ display: flex; gap: 14px; flex-wrap: wrap; }
#gx-accueil-cms .nl-cta-primary{
    background: #e8761a;
    color: #fff;
    padding: 14px 28px;
    border-radius: 10px;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.2s;
}
#gx-accueil-cms .nl-cta-primary:hover{ background: #c45e0e; transform: translateY(-2px); color: #fff; }
#gx-accueil-cms .nl-cta-secondary{
    border: 2px solid #e8761a;
    color: #e8761a;
    padding: 14px 28px;
    border-radius: 10px;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.2s;
}
#gx-accueil-cms .nl-cta-secondary:hover{ background: #e8761a; color: #fff; }

/* Responsive */
@media(max-width: 1200px) {
#gx-accueil-cms .nl-templates-grid{ grid-template-columns: repeat(2, 1fr); }
#gx-accueil-cms .nl-features-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media(max-width: 1000px) {
#gx-accueil-cms .nl-forms-hero{ grid-template-columns: 1fr; padding: 40px; }
#gx-accueil-cms .nl-forms-demo{ grid-template-columns: 1fr; }
}
@media(max-width: 768px) {
#gx-accueil-cms .nl-forms-body{ padding: 0 20px 40px; }
#gx-accueil-cms .nl-templates-grid{ grid-template-columns: 1fr; }
#gx-accueil-cms .nl-features-grid{ grid-template-columns: 1fr; }
#gx-accueil-cms .nl-forms-cta{ flex-direction: column; text-align: center; padding: 32px 24px; }
#gx-accueil-cms .nl-floating-badge{ display: none; }
#gx-accueil-cms .nl-builder-mock{ flex-direction: column; }
#gx-accueil-cms .nl-builder-sidebar{ width: 100%; flex-direction: row; flex-wrap: wrap; }
}/* ── SEO SECTION ── */
#gx-accueil-cms .nl-seo-section{ background: linear-gradient(180deg, #f8faff 0%, #fff 100%); }
#gx-accueil-cms .nl-seo-body{ padding: 0 40px 60px; }/* Hero Banner */
#gx-accueil-cms .nl-seo-hero{
    background: linear-gradient(135deg, #0a1628 0%, #1a2a4a 100%);
    border-radius: 28px;
    margin: 24px 0 48px;
    padding: 56px 64px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    align-items: center;
    position: relative;
    overflow: hidden;
}
#gx-accueil-cms .nl-seo-hero::before{
    content: '';
    position: absolute;
    top: -30%;
    left: -20%;
    width: 70%;
    height: 160%;
    background: radial-gradient(circle, rgba(232,118,26,0.08) 0%, transparent 70%);
    pointer-events: none;
}
#gx-accueil-cms .nl-seo-badge{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(52,211,153,0.15);
    border: 1px solid rgba(52,211,153,0.3);
    color: #34d399;
    border-radius: 999px;
    padding: 6px 16px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 24px;
}
#gx-accueil-cms .nl-seo-hero h2{
    font-family: 'Playfair Display', serif;
    font-size: clamp(32px, 3.2vw, 46px);
    color: #fff;
    line-height: 1.15;
    margin-bottom: 20px;
}
#gx-accueil-cms .nl-seo-hero h2 em{ font-style: italic; color: #e8761a; }
#gx-accueil-cms .nl-seo-hero > p{
    font-size: 15px;
    color: rgba(255,255,255,0.7);
    line-height: 1.8;
    margin-bottom: 28px;
}
#gx-accueil-cms .nl-seo-stats{
    display: flex;
    gap: 24px;
    margin-bottom: 32px;
    flex-wrap: wrap;
}
#gx-accueil-cms .nl-seo-stat{
    display: flex;
    align-items: center;
    gap: 12px;
    background: rgba(255,255,255,0.05);
    padding: 10px 18px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,0.1);
}
#gx-accueil-cms .nl-seo-stat i{
    font-size: 24px;
    color: #e8761a;
}
#gx-accueil-cms .nl-seo-stat strong{
    display: block;
    font-family: 'Bebas Neue', sans-serif;
    font-size: 22px;
    color: #fff;
    line-height: 1;
}
#gx-accueil-cms .nl-seo-stat span{
    font-size: 10px;
    color: rgba(255,255,255,0.6);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
#gx-accueil-cms .nl-seo-actions{
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}
#gx-accueil-cms .nl-btn-secondary-seo{
    border: 2px solid rgba(255,255,255,0.3);
    color: #fff;
    padding: 14px 28px;
    border-radius: 10px;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.2s;
}
#gx-accueil-cms .nl-btn-secondary-seo:hover{
    border-color: #fff;
    background: rgba(255,255,255,0.08);
    color: #fff;
}/* SEO Dashboard Mock */
#gx-accueil-cms .nl-seo-dashboard-mock{
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 20px;
    overflow: hidden;
    backdrop-filter: blur(10px);
}
#gx-accueil-cms .nl-dash-header{
    background: rgba(255,255,255,0.08);
    padding: 14px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}
#gx-accueil-cms .nl-dash-header-left{
    font-size: 12px;
    font-weight: 600;
    color: rgba(255,255,255,0.8);
}
#gx-accueil-cms .nl-live-badge{
    font-size: 10px;
    color: #34d399;
    display: flex;
    align-items: center;
    gap: 6px;
}
#gx-accueil-cms .nl-live-badge i{ font-size: 6px; }
#gx-accueil-cms .nl-dash-score{
    padding: 24px;
    display: flex;
    align-items: center;
    gap: 20px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}
#gx-accueil-cms .nl-score-ring{
    position: relative;
    width: 80px;
    height: 80px;
}
#gx-accueil-cms .nl-score-value{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: 'Bebas Neue', sans-serif;
    font-size: 28px;
    color: #e8761a;
}
#gx-accueil-cms .nl-score-info strong{
    display: block;
    font-size: 14px;
    color: #fff;
    margin-bottom: 4px;
}
#gx-accueil-cms .nl-score-info span{
    font-size: 11px;
    color: rgba(255,255,255,0.5);
}
#gx-accueil-cms .nl-dash-metrics{
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
#gx-accueil-cms .nl-dash-metric-item{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}
#gx-accueil-cms .nl-metric-label{
    font-size: 11px;
    color: rgba(255,255,255,0.6);
    width: 120px;
}
#gx-accueil-cms .nl-metric-value{
    font-size: 13px;
    font-weight: 700;
    width: 60px;
}
#gx-accueil-cms .nl-metric-value.up{ color: #10b981; }
#gx-accueil-cms .nl-progress-bar{
    flex: 1;
    height: 5px;
    background: rgba(255,255,255,0.1);
    border-radius: 999px;
    overflow: hidden;
}
#gx-accueil-cms .nl-progress-fill{
    height: 100%;
    background: linear-gradient(90deg, #e8761a, #f59e0b);
    border-radius: 999px;
}
#gx-accueil-cms .nl-dash-footer{
    background: rgba(255,255,255,0.05);
    padding: 12px 20px;
    display: flex;
    justify-content: space-between;
    font-size: 10px;
    color: rgba(255,255,255,0.4);
}
#gx-accueil-cms .nl-ai-badge{
    position: absolute;
    top: 20px;
    right: -10px;
    background: #8b5cf6;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 6px 14px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    gap: 6px;
}/* Section Header */
#gx-accueil-cms .nl-section-header{
    text-align: center;
    margin-bottom: 40px;
}
#gx-accueil-cms .nl-section-eyebrow{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #e8761a;
    background: #fef3ea;
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 16px;
}
#gx-accueil-cms .nl-section-header h3{
    font-family: 'Playfair Display', serif;
    font-size: 28px;
    color: #1a1a1a;
    margin-bottom: 12px;
}
#gx-accueil-cms .nl-gradient-text{
    background: linear-gradient(135deg, #e8761a, #f59e0b);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
#gx-accueil-cms .nl-section-header p{
    font-size: 15px;
    color: #666;
    max-width: 550px;
    margin: 0 auto;
}/* Features Grid */
#gx-accueil-cms .nl-seo-features{
    margin-bottom: 60px;
}
#gx-accueil-cms .nl-seo-features-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
#gx-accueil-cms .nl-seo-feature-card{
    background: #fff;
    border: 1.5px solid #e5e7eb;
    border-radius: 20px;
    padding: 32px;
    transition: all 0.3s;
}
#gx-accueil-cms .nl-seo-feature-card:hover{
    transform: translateY(-4px);
    border-color: #e8761a;
    box-shadow: 0 20px 40px rgba(0,0,0,0.08);
}
#gx-accueil-cms .nl-seo-feature-icon{
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    margin-bottom: 18px;
}
#gx-accueil-cms .nl-seo-feature-card h4{
    font-size: 16px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 10px;
}
#gx-accueil-cms .nl-seo-feature-card p{
    font-size: 13px;
    color: #666;
    line-height: 1.7;
    margin-bottom: 16px;
}
#gx-accueil-cms .nl-seo-feature-tag{
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    padding: 4px 10px;
    border-radius: 6px;
}/* International Markets */
#gx-accueil-cms .nl-seo-international{
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 28px;
    padding: 48px;
    margin-bottom: 60px;
}
#gx-accueil-cms .nl-international-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 32px;
}
#gx-accueil-cms .nl-market-card{
    background: #f8faff;
    border-radius: 16px;
    padding: 16px 20px;
    display: flex;
    align-items: center;
    gap: 14px;
    transition: all 0.2s;
}
#gx-accueil-cms .nl-market-card:hover{
    background: #fff;
    border-color: #e8761a;
    transform: translateX(4px);
}
#gx-accueil-cms .nl-market-flag{
    font-size: 28px;
}
#gx-accueil-cms .nl-market-info strong{
    display: block;
    font-size: 14px;
    color: #1a1a1a;
}
#gx-accueil-cms .nl-market-info span{
    font-size: 11px;
    color: #888;
}
#gx-accueil-cms .nl-market-volume{
    margin-left: auto;
    font-family: 'Bebas Neue', sans-serif;
    font-size: 20px;
    color: #e8761a;
}
#gx-accueil-cms .nl-market-more{
    text-align: center;
    padding: 16px;
    color: #e8761a;
    font-size: 13px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}/* Tools Integration */
#gx-accueil-cms .nl-seo-tools{
    background: #f8faff;
    border-radius: 24px;
    padding: 48px;
    margin-bottom: 60px;
    text-align: center;
}
#gx-accueil-cms .nl-tools-header{
    margin-bottom: 32px;
}
#gx-accueil-cms .nl-tools-header i{
    font-size: 36px;
    color: #e8761a;
    margin-bottom: 12px;
}
#gx-accueil-cms .nl-tools-header h3{
    font-size: 22px;
    color: #1a1a1a;
    margin-bottom: 8px;
}
#gx-accueil-cms .nl-tools-header p{
    font-size: 14px;
    color: #666;
}
#gx-accueil-cms .nl-tools-grid{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
}
#gx-accueil-cms .nl-tool-card{
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 50px;
    padding: 10px 20px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: all 0.2s;
}
#gx-accueil-cms .nl-tool-card:hover{
    border-color: #e8761a;
    transform: translateY(-2px);
}
#gx-accueil-cms .nl-tool-icon{
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
}
#gx-accueil-cms .nl-tool-card span{
    font-size: 13px;
    font-weight: 500;
    color: #1a1a1a;
}
#gx-accueil-cms .nl-tool-api{
    background: linear-gradient(135deg, #e8761a, #f59e0b);
    border: none;
    border-radius: 50px;
    padding: 10px 20px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #fff;
}
#gx-accueil-cms .nl-tool-api i,#gx-accueil-cms .nl-tool-api span{
    color: #fff;
}/* Audit Form */
#gx-accueil-cms .nl-seo-audit-form{
    background: linear-gradient(135deg, #fff, #f8faff);
    border: 1px solid #e5e7eb;
    border-radius: 28px;
    padding: 56px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    margin-bottom: 60px;
}
#gx-accueil-cms .nl-audit-badge{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #10b981;
    background: rgba(16,185,129,0.1);
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 16px;
}
#gx-accueil-cms .nl-audit-left h3{
    font-family: 'Playfair Display', serif;
    font-size: 28px;
    color: #1a1a1a;
    margin-bottom: 14px;
}
#gx-accueil-cms .nl-audit-left h3 em{
    font-style: italic;
    color: #e8761a;
}
#gx-accueil-cms .nl-audit-left p{
    font-size: 15px;
    color: #666;
    line-height: 1.8;
    margin-bottom: 24px;
}
#gx-accueil-cms .nl-audit-benefits{
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
#gx-accueil-cms .nl-audit-benefits li{
    font-size: 14px;
    color: #444;
    display: flex;
    align-items: center;
    gap: 10px;
}
#gx-accueil-cms .nl-audit-benefits li i{
    color: #10b981;
    font-size: 14px;
}
#gx-accueil-cms .nl-audit-form .nl-form-group{
    margin-bottom: 16px;
}
#gx-accueil-cms .nl-audit-form .nl-form-row{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
#gx-accueil-cms .nl-audit-form .nl-form-group label{
    display: block;
    font-size: 12px;
    font-weight: 700;
    color: #374151;
    margin-bottom: 6px;
}
#gx-accueil-cms .nl-audit-form .nl-form-group input,#gx-accueil-cms .nl-audit-form .nl-form-group select{
    width: 100%;
    border: 1.5px solid #e5e7eb;
    border-radius: 10px;
    padding: 12px 14px;
    font-size: 14px;
    transition: border-color 0.2s;
}
#gx-accueil-cms .nl-audit-form .nl-form-group input:focus,#gx-accueil-cms .nl-audit-form .nl-form-group select:focus{
    outline: none;
    border-color: #e8761a;
}
#gx-accueil-cms .nl-btn-submit-audit{
    width: 100%;
    background: linear-gradient(135deg, #e8761a, #c04f10);
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 14px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.2s;
    margin-top: 8px;
}
#gx-accueil-cms .nl-btn-submit-audit:hover{
    transform: translateY(-2px);
    box-shadow: 0 12px 32px rgba(232,118,26,0.35);
}
#gx-accueil-cms .nl-form-note{
    font-size: 11px;
    color: #9ca3af;
    text-align: center;
    margin-top: 12px;
}/* CTA Banner */
#gx-accueil-cms .nl-seo-cta-banner{
    background: linear-gradient(135deg, #0f2240, #1e3a5f);
    border-radius: 24px;
    padding: 48px 56px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
    flex-wrap: wrap;
}
#gx-accueil-cms .nl-cta-content{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
#gx-accueil-cms .nl-cta-content i{
    font-size: 36px;
    color: #f59e0b;
    margin-bottom: 12px;
}
#gx-accueil-cms .nl-cta-content h3{
    font-size: 24px;
    color: #fff;
    margin-bottom: 8px;
}
#gx-accueil-cms .nl-cta-content p{
    font-size: 14px;
    color: rgba(255,255,255,0.7);
    max-width: 500px;
}
#gx-accueil-cms .nl-cta-buttons{
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}
#gx-accueil-cms .nl-cta-primary{
    background: #e8761a;
    color: #fff;
    padding: 14px 28px;
    border-radius: 10px;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.2s;
}
#gx-accueil-cms .nl-cta-primary:hover{
    background: #c45e0e;
    transform: translateY(-2px);
    color: #fff;
}
#gx-accueil-cms .nl-cta-secondary{
    border: 2px solid rgba(255,255,255,0.3);
    color: #fff;
    padding: 14px 28px;
    border-radius: 10px;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.2s;
}
#gx-accueil-cms .nl-cta-secondary:hover{
    border-color: #fff;
    background: rgba(255,255,255,0.08);
    color: #fff;
}

/* Responsive */
@media (max-width: 1100px) {
#gx-accueil-cms .nl-seo-hero{ grid-template-columns: 1fr; padding: 40px; }
#gx-accueil-cms .nl-seo-features-grid{ grid-template-columns: repeat(2, 1fr); }
#gx-accueil-cms .nl-international-grid{ grid-template-columns: repeat(2, 1fr); }
#gx-accueil-cms .nl-seo-audit-form{ grid-template-columns: 1fr; gap: 32px; }
}

@media (max-width: 768px) {
#gx-accueil-cms .nl-seo-body{ padding: 0 20px 40px; }
#gx-accueil-cms .nl-seo-features-grid{ grid-template-columns: 1fr; }
#gx-accueil-cms .nl-international-grid{ grid-template-columns: 1fr; }
#gx-accueil-cms .nl-seo-cta-banner{ flex-direction: column; text-align: center; padding: 32px 24px; }
#gx-accueil-cms .nl-cta-content{ align-items: center; text-align: center; }
#gx-accueil-cms .nl-audit-form .nl-form-row{ grid-template-columns: 1fr; }
#gx-accueil-cms .nl-seo-stats{ justify-content: center; }
}/* ══════════════════════════════════════════════════
   CONTACT DIRECT — STYLES
   ══════════════════════════════════════════════════ */
#gx-accueil-cms .cd-section{ background: linear-gradient(180deg,#f8faff 0%,#fff 100%); }
#gx-accueil-cms .cd-body{ padding: 0 40px 60px; }/* ── Gradient text ── */
#gx-accueil-cms .cd-gradient-text{
    background: linear-gradient(135deg,#e8761a,#f59e0b);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}/* ── Section header ── */
#gx-accueil-cms .cd-section-header{ text-align: center; margin-bottom: 40px; }
#gx-accueil-cms .cd-eyebrow{
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 11px; font-weight: 700; text-transform: uppercase;
    letter-spacing: 1.5px; color: #e8761a; background: #fef3ea;
    padding: 6px 14px; border-radius: 999px; margin-bottom: 16px;
}
#gx-accueil-cms .cd-section-header h3{
    font-family: 'Playfair Display', serif; font-size: 28px;
    color: #1a1a1a; margin-bottom: 12px;
}
#gx-accueil-cms .cd-section-header p{ font-size: 15px; color: #666; max-width: 580px; margin: 0 auto; }/* ── Hero ── */
#gx-accueil-cms .cd-hero{
    background: linear-gradient(135deg,#0a1628 0%,#1a2a4a 100%);
    border-radius: 28px; margin: 24px 0 48px; padding: 56px 64px;
    display: grid; grid-template-columns: 1fr 1fr; gap: 50px;
    align-items: center; position: relative; overflow: hidden;
}
#gx-accueil-cms .cd-hero::before{
    content: ''; position: absolute; top: -30%; left: -20%; width: 70%; height: 160%;
    background: radial-gradient(circle,rgba(232,118,26,.08) 0%,transparent 70%);
    pointer-events: none;
}
#gx-accueil-cms .cd-badge{
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(52,211,153,.15); border: 1px solid rgba(52,211,153,.3);
    color: #34d399; border-radius: 999px; padding: 6px 16px;
    font-size: 11px; font-weight: 700; text-transform: uppercase;
    letter-spacing: 1px; margin-bottom: 24px;
}
#gx-accueil-cms .cd-hero h2{
    font-family: 'Playfair Display', serif;
    font-size: clamp(28px,3vw,42px); color: #fff;
    line-height: 1.15; margin-bottom: 20px;
}
#gx-accueil-cms .cd-hero h2 em{ font-style: italic; color: #e8761a; }
#gx-accueil-cms .cd-hero > p,#gx-accueil-cms .cd-hero-content > p{
    font-size: 15px; color: rgba(255,255,255,.7); line-height: 1.8; margin-bottom: 28px;
}/* Stats */
#gx-accueil-cms .cd-stats{ display: flex; gap: 18px; margin-bottom: 32px; flex-wrap: wrap; }
#gx-accueil-cms .cd-stat{
    display: flex; align-items: center; gap: 10px;
    background: rgba(255,255,255,.05); padding: 10px 16px;
    border-radius: 12px; border: 1px solid rgba(255,255,255,.1);
}
#gx-accueil-cms .cd-stat i{ font-size: 22px; color: #e8761a; }
#gx-accueil-cms .cd-stat strong{ display: block; font-family:'Bebas Neue',sans-serif; font-size: 20px; color: #fff; line-height: 1; }
#gx-accueil-cms .cd-stat span{ font-size: 10px; color: rgba(255,255,255,.6); text-transform: uppercase; letter-spacing: .5px; }
#gx-accueil-cms .cd-actions{ display: flex; gap: 14px; flex-wrap: wrap; }/* ── Hero Visual ── */
#gx-accueil-cms .cd-hero-visual{ position: relative; display: flex; flex-direction: column; gap: 20px; }/* Avatar card */
#gx-accueil-cms .cd-avatar-card{
    background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12);
    border-radius: 20px; padding: 20px 24px;
    display: flex; align-items: center; gap: 16px;
    backdrop-filter: blur(12px);
}
#gx-accueil-cms .cd-avatar-img-wrap{ position: relative; flex-shrink: 0; }
#gx-accueil-cms .cd-avatar-img{ width: 90px; height: 90px; border-radius: 50%; object-fit: cover; object-position: top; border: 3px solid #e8761a; }
#gx-accueil-cms .cd-avatar-live{
    position: absolute; bottom: -4px; left: 50%; transform: translateX(-50%);
    background: #10b981; color: #fff; font-size: 8px; font-weight: 700;
    padding: 2px 8px; border-radius: 999px; white-space: nowrap;
    display: flex; align-items: center; gap: 4px;
}
#gx-accueil-cms .cd-avatar-live i{ font-size: 6px; animation: cdBlink 1.5s infinite; }
@keyframes cdBlink { 0%,100%{opacity:1} 50%{opacity:.2} }
#gx-accueil-cms .cd-avatar-info strong{ display: block; font-size: 14px; color: #fff; font-weight: 700; }
#gx-accueil-cms .cd-avatar-info span{ font-size: 11px; color: rgba(255,255,255,.5); }/* Voice wave animation */
#gx-accueil-cms .cd-avatar-wave{ display: flex; align-items: center; gap: 3px; margin-left: auto; }
#gx-accueil-cms .cd-avatar-wave span{
    display: block; width: 4px; border-radius: 99px; background: #e8761a;
    animation: cdWave 1.2s ease-in-out infinite;
}
#gx-accueil-cms .cd-avatar-wave span:nth-child(1){ height:8px;  animation-delay:0s; }
#gx-accueil-cms .cd-avatar-wave span:nth-child(2){ height:16px; animation-delay:.1s; }
#gx-accueil-cms .cd-avatar-wave span:nth-child(3){ height:24px; animation-delay:.2s; }
#gx-accueil-cms .cd-avatar-wave span:nth-child(4){ height:16px; animation-delay:.3s; }
#gx-accueil-cms .cd-avatar-wave span:nth-child(5){ height:8px;  animation-delay:.4s; }
@keyframes cdWave {
    0%,100%{ transform: scaleY(1); opacity:.6; }
    50%     { transform: scaleY(1.8); opacity:1; }
}/* Email mock */
#gx-accueil-cms .cd-email-mock{
    background: #fff; border-radius: 16px; overflow: hidden;
    box-shadow: 0 12px 40px rgba(0,0,0,.18);
}
#gx-accueil-cms .cd-email-header{
    background: #f3f4f6; padding: 10px 16px;
    display: flex; align-items: center; gap: 10px;
    border-bottom: 1px solid #e5e7eb;
}
#gx-accueil-cms .cd-email-dots{ display: flex; gap: 5px; }
#gx-accueil-cms .cd-email-dots span{ width: 10px; height: 10px; border-radius: 50%; display: block; }
#gx-accueil-cms .cd-email-title{ font-size: 12px; font-weight: 600; color: #555; display: flex; align-items: center; gap: 6px; }
#gx-accueil-cms .cd-email-title i{ color: #e8761a; }
#gx-accueil-cms .cd-email-meta{ padding: 10px 16px; border-bottom: 1px solid #f0f0f0; }
#gx-accueil-cms .cd-email-row{ display: flex; gap: 8px; font-size: 11px; padding: 2px 0; }
#gx-accueil-cms .cd-email-row label{ color: #999; min-width: 36px; }
#gx-accueil-cms .cd-email-row span{ color: #555; }
#gx-accueil-cms .cd-email-subject{ color: #1a1a1a; font-weight: 700; }
#gx-accueil-cms .cd-email-body{ padding: 14px 16px; }
#gx-accueil-cms .cd-email-banner{
    background: linear-gradient(135deg,#0a1628,#1e3a5f);
    border-radius: 10px; padding: 12px 16px;
    display: flex; align-items: center; gap: 12px; margin-bottom: 14px;
}
#gx-accueil-cms .cd-email-banner i{ font-size: 24px; color: #e8761a; }
#gx-accueil-cms .cd-email-banner strong{ display: block; font-size: 12px; color: #fff; }
#gx-accueil-cms .cd-email-banner span{ font-size: 10px; color: rgba(255,255,255,.6); }
#gx-accueil-cms .cd-email-text{ margin-bottom: 12px; display: flex; flex-direction: column; gap: 6px; }
#gx-accueil-cms .cd-email-line{ height: 8px; background: #f0f0f0; border-radius: 4px; }
#gx-accueil-cms .cd-line-lg{ width: 90%; }
#gx-accueil-cms .cd-line-md{ width: 70%; }
#gx-accueil-cms .cd-line-sm{ width: 50%; }
#gx-accueil-cms .cd-email-cta-btn{
    background: linear-gradient(135deg,#e8761a,#c04f10);
    color: #fff; border-radius: 8px; padding: 10px 18px;
    font-size: 12px; font-weight: 700; display: inline-flex; align-items: center; gap: 6px;
    margin-bottom: 12px;
}
#gx-accueil-cms .cd-email-footer-mock{ padding-top: 10px; border-top: 1px solid #f0f0f0; }/* Floating notification */
#gx-accueil-cms .cd-floating-notif{
    position: absolute; bottom: -16px; left: -16px;
    background: #fff; border-radius: 12px; padding: 10px 14px;
    display: flex; align-items: center; gap: 10px;
    box-shadow: 0 8px 20px rgba(0,0,0,.15);
}
#gx-accueil-cms .cd-floating-notif i{ font-size: 18px; color: #10b981; }
#gx-accueil-cms .cd-floating-notif strong{ display: block; font-size: 11px; color: #1a1a1a; }
#gx-accueil-cms .cd-floating-notif span{ font-size: 10px; color: #666; }/* ── Features grid ── */
#gx-accueil-cms .cd-features{ margin-bottom: 60px; }
#gx-accueil-cms .cd-features-grid{ display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
#gx-accueil-cms .cd-feature-card{
    background: #fff; border: 1.5px solid #e5e7eb;
    border-radius: 20px; padding: 32px; transition: all .3s;
}
#gx-accueil-cms .cd-feature-card:hover{ transform: translateY(-4px); border-color: #e8761a; box-shadow: 0 20px 40px rgba(0,0,0,.08); }
#gx-accueil-cms .cd-feature-icon{
    width: 52px; height: 52px; border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    font-size: 22px; margin-bottom: 18px;
}
#gx-accueil-cms .cd-feature-card h4{ font-size: 16px; font-weight: 700; color: #1a1a1a; margin-bottom: 10px; }
#gx-accueil-cms .cd-feature-card p{ font-size: 13px; color: #666; line-height: 1.7; margin-bottom: 16px; }
#gx-accueil-cms .cd-feature-tag{
    display: inline-block; font-size: 10px; font-weight: 700;
    text-transform: uppercase; letter-spacing: .8px; padding: 4px 10px; border-radius: 6px;
}/* ── How it works ── */
#gx-accueil-cms .cd-how{
    background: linear-gradient(135deg,#0a1628,#1e3a5f);
    border-radius: 28px; padding: 56px 48px; margin-bottom: 60px;
}
#gx-accueil-cms .cd-how .cd-section-header h3{ color: #fff; }
#gx-accueil-cms .cd-how .cd-section-header p{ color: rgba(255,255,255,.6); }
#gx-accueil-cms .cd-how .cd-eyebrow{ background: rgba(232,118,26,.2); }
#gx-accueil-cms .cd-steps{ display: flex; align-items: center; gap: 16px; justify-content: center; flex-wrap: wrap; }
#gx-accueil-cms .cd-step{
    flex: 1; min-width: 200px; max-width: 260px; text-align: center;
    background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1);
    border-radius: 20px; padding: 32px 24px; position: relative;
}
#gx-accueil-cms .cd-step-num{
    position: absolute; top: -14px; left: 50%; transform: translateX(-50%);
    font-family: 'Bebas Neue', sans-serif; font-size: 28px; color: #e8761a;
    background: #0a1628; padding: 0 8px; line-height: 1;
}
#gx-accueil-cms .cd-step-icon{
    width: 60px; height: 60px; background: rgba(232,118,26,.15);
    border-radius: 18px; display: flex; align-items: center; justify-content: center;
    font-size: 26px; color: #e8761a; margin: 16px auto 20px;
}
#gx-accueil-cms .cd-step h4{ font-size: 18px; color: #fff; margin-bottom: 10px; font-weight: 700; }
#gx-accueil-cms .cd-step p{ font-size: 13px; color: rgba(255,255,255,.6); line-height: 1.7; }
#gx-accueil-cms .cd-step-arrow{ font-size: 24px; color: rgba(255,255,255,.2); flex-shrink: 0; }/* ── Sectors ── */
#gx-accueil-cms .cd-sectors{
    background: #fff; border: 1px solid #e5e7eb;
    border-radius: 28px; padding: 48px; margin-bottom: 60px;
}
#gx-accueil-cms .cd-sectors-grid{ display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 8px; }
#gx-accueil-cms .cd-sector-card{
    text-align: center; padding: 24px; background: #f8faff;
    border-radius: 20px; transition: all .3s;
}
#gx-accueil-cms .cd-sector-card:hover{ transform: translateY(-4px); background: #fff; box-shadow: 0 12px 24px rgba(0,0,0,.08); }
#gx-accueil-cms .cd-sector-icon{
    width: 60px; height: 60px; background: linear-gradient(135deg,#e8761a20,#f59e0b20);
    border-radius: 20px; display: flex; align-items: center; justify-content: center;
    margin: 0 auto 16px; font-size: 28px; color: #e8761a;
}
#gx-accueil-cms .cd-sector-card h4{ font-size: 15px; margin-bottom: 6px; font-weight: 700; color: #1a1a1a; }
#gx-accueil-cms .cd-sector-card p{ font-size: 12px; color: #888; }/* ── Form ── */
#gx-accueil-cms .cd-form{
    background: linear-gradient(135deg,#fff,#f8faff);
    border: 1px solid #e5e7eb; border-radius: 28px; padding: 56px;
    display: grid; grid-template-columns: 1fr 1fr; gap: 60px; margin-bottom: 60px;
}
#gx-accueil-cms .cd-form-badge{
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px;
    color: #10b981; background: rgba(16,185,129,.1); padding: 6px 14px;
    border-radius: 999px; margin-bottom: 16px;
}
#gx-accueil-cms .cd-form-left h3{ font-family:'Playfair Display',serif; font-size: 26px; margin-bottom: 14px; }
#gx-accueil-cms .cd-form-left h3 em{ font-style: italic; color: #e8761a; }
#gx-accueil-cms .cd-form-left p{ font-size: 15px; color: #666; line-height: 1.8; margin-bottom: 24px; }
#gx-accueil-cms .cd-benefits{ list-style: none; display: flex; flex-direction: column; gap: 12px; }
#gx-accueil-cms .cd-benefits li{ font-size: 14px; color: #444; display: flex; align-items: center; gap: 10px; }
#gx-accueil-cms .cd-benefits li i{ color: #10b981; }
#gx-accueil-cms .cd-form-group{ margin-bottom: 16px; }
#gx-accueil-cms .cd-form-row{ display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
#gx-accueil-cms .cd-form-group label{
    display: block; font-size: 12px; font-weight: 700; color: #374151; margin-bottom: 6px;
}
#gx-accueil-cms .cd-form-group input,#gx-accueil-cms .cd-form-group select{
    width: 100%; border: 1.5px solid #e5e7eb; border-radius: 10px;
    padding: 12px 14px; font-size: 14px; transition: border-color .2s;
}
#gx-accueil-cms .cd-form-group input:focus,#gx-accueil-cms .cd-form-group select:focus{ outline: none; border-color: #e8761a; }
#gx-accueil-cms .cd-btn-submit{
    width: 100%; background: linear-gradient(135deg,#e8761a,#c04f10);
    color: #fff; border: none; border-radius: 10px; padding: 14px;
    font-size: 14px; font-weight: 700; cursor: pointer;
    display: flex; align-items: center; justify-content: center; gap: 8px;
    transition: all .2s; margin-top: 8px;
}
#gx-accueil-cms .cd-btn-submit:hover{ transform: translateY(-2px); box-shadow: 0 12px 32px rgba(232,118,26,.35); }
#gx-accueil-cms .cd-form-note{ font-size: 11px; color: #9ca3af; text-align: center; margin-top: 12px; }/* ── CTA ── */
#gx-accueil-cms .cd-cta{
    background: linear-gradient(135deg,#0f2240,#1e3a5f);
    border-radius: 24px; padding: 48px 56px;
    display: flex; justify-content: space-between; align-items: center;
    gap: 40px; flex-wrap: wrap;
}
#gx-accueil-cms .cd-cta-content{ display: flex; flex-direction: column; align-items: flex-start; }
#gx-accueil-cms .cd-cta-content i{ font-size: 36px; color: #e8761a; margin-bottom: 12px; }
#gx-accueil-cms .cd-cta-content h3{ font-size: 22px; color: #fff; margin-bottom: 8px; }
#gx-accueil-cms .cd-cta-content p{ font-size: 14px; color: rgba(255,255,255,.7); max-width: 500px; }
#gx-accueil-cms .cd-cta-buttons{ display: flex; gap: 14px; flex-wrap: wrap; }
#gx-accueil-cms .cd-cta-primary{
    background: #e8761a; color: #fff; padding: 14px 28px; border-radius: 10px;
    font-weight: 700; font-size: 14px; text-decoration: none;
    display: inline-flex; align-items: center; gap: 8px; transition: all .2s;
}
#gx-accueil-cms .cd-cta-primary:hover{ background: #c45e0e; transform: translateY(-2px); color: #fff; }
#gx-accueil-cms .cd-cta-secondary{
    border: 2px solid rgba(255,255,255,.3); color: #fff; padding: 14px 28px;
    border-radius: 10px; font-weight: 700; font-size: 14px; text-decoration: none;
    display: inline-flex; align-items: center; gap: 8px; transition: all .2s;
}
#gx-accueil-cms .cd-cta-secondary:hover{ border-color: #fff; background: rgba(255,255,255,.08); color: #fff; }

/* ── Responsive ── */
@media (max-width:1100px) {
#gx-accueil-cms .cd-hero{ grid-template-columns: 1fr; padding: 40px; }
#gx-accueil-cms .cd-features-grid{ grid-template-columns: repeat(2,1fr); }
#gx-accueil-cms .cd-sectors-grid{ grid-template-columns: repeat(2,1fr); }
#gx-accueil-cms .cd-form{ grid-template-columns: 1fr; gap: 32px; }
#gx-accueil-cms .cd-steps{ flex-direction: column; align-items: stretch; }
#gx-accueil-cms .cd-step-arrow{ transform: rotate(90deg); text-align: center; }
}
@media (max-width:768px) {
#gx-accueil-cms .cd-body{ padding: 0 20px 40px; }
#gx-accueil-cms .cd-features-grid{ grid-template-columns: 1fr; }
#gx-accueil-cms .cd-sectors-grid{ grid-template-columns: 1fr; }
#gx-accueil-cms .cd-cta{ flex-direction: column; text-align: center; padding: 32px 24px; }
#gx-accueil-cms .cd-cta-content{ align-items: center; text-align: center; }
#gx-accueil-cms .cd-form .cd-form-row{ grid-template-columns: 1fr; }
#gx-accueil-cms .cd-floating-notif{ position: static; margin-top: 8px; }
}
#gx-accueil-cms [data-snb-media-nav] .snb-links{
        scroll-behavior: smooth;
    }
#gx-accueil-cms [data-snb-media-nav] .snb-scroll-controls{
        display: inline-flex;
        align-items: center;
        gap: 6px;
        margin-left: 10px;
        flex-shrink: 0;
    }
#gx-accueil-cms [data-snb-media-nav] .snb-scroll-btn{
        width: 30px;
        height: 30px;
        border-radius: 50%;
        border: 1px solid rgba(212, 175, 55, 0.45);
        background: #fff;
        color: #1a2942;
        cursor: pointer;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        transition: all .2s ease;
    }
#gx-accueil-cms [data-snb-media-nav] .snb-scroll-btn:hover{
        background: #d4af37;
        color: #fff;
        border-color: #d4af37;
    }

    @media (max-width: 768px) {
#gx-accueil-cms [data-snb-media-nav] .snb-scroll-controls{
            gap: 4px;
            margin-left: 6px;
        }
#gx-accueil-cms [data-snb-media-nav] .snb-scroll-btn{
            width: 28px;
            height: 28px;
        }
    }
#gx-accueil-cms .avis-clients-section{
  padding:32px 40px 56px;
  background:linear-gradient(180deg,#f7fbff 0%,#ffffff 100%);
}
#gx-accueil-cms .avis-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:18px;
}
#gx-accueil-cms .avis-card{
  border-radius:16px;
  box-shadow:0 10px 30px rgba(17,32,64,.12);
  border:1px solid rgba(18,34,66,.08);
  min-height:190px;
}
#gx-accueil-cms .avis-row-style-a .avis-card-a{
  background:#fff;
  padding:16px;
}
#gx-accueil-cms .avis-top{
  display:flex;
  gap:12px;
  align-items:center;
}
#gx-accueil-cms .avis-top img{
  width:56px;
  height:56px;
  border-radius:50%;
  object-fit:cover;
}
#gx-accueil-cms .avis-top h3{
  margin:0;
  font-size:16px;
  color:#102442;
}
#gx-accueil-cms .avis-top p{
  margin:4px 0 0;
  font-size:12px;
  color:#5a6d87;
}
#gx-accueil-cms .avis-stars{
  margin-top:10px;
  color:#f59e0b;
  letter-spacing:1px;
  font-size:15px;
}
#gx-accueil-cms .avis-text{
  margin:10px 0 0;
  font-size:14px;
  line-height:1.6;
  color:#2a3d5c;
}
#gx-accueil-cms .avis-row-style-b .avis-card-b{
  background:linear-gradient(160deg,#14243f 0%,#233e66 100%);
  color:#fff;
  padding:18px;
  position:relative;
  overflow:hidden;
}
#gx-accueil-cms .avis-row-style-b .avis-card-b::after{
  content:'';
  position:absolute;
  width:120px;
  height:120px;
  right:-35px;
  top:-35px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
}
#gx-accueil-cms .avis-badge{
  display:inline-block;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  font-size:11px;
  padding:4px 10px;
  margin-bottom:8px;
}
#gx-accueil-cms .avis-row-style-b h3{
  margin:0;
  font-size:17px;
}
#gx-accueil-cms .avis-row-style-b .avis-text{
  color:#deebff;
}
#gx-accueil-cms .avis-foot{
  margin-top:14px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:13px;
}
#gx-accueil-cms .avis-row-style-google .avis-card-google{
  background:#fff;
  padding:16px;
  border:1px solid #d9e3f2;
  box-shadow:0 8px 24px rgba(19,41,78,.10);
}
#gx-accueil-cms .avis-google-head{
  display:flex;
  align-items:center;
  gap:10px;
}
#gx-accueil-cms .avis-google-mark{
  width:34px;
  height:34px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  color:#fff;
  background:conic-gradient(from 180deg,#ea4335,#fbbc05,#34a853,#4285f4,#ea4335);
}
#gx-accueil-cms .avis-row-style-google h3{
  margin:0;
  font-size:16px;
  color:#123157;
}
#gx-accueil-cms .avis-row-style-google p{
  margin:3px 0 0;
  font-size:12px;
  color:#6580a5;
}
#gx-accueil-cms .avis-google-score{
  margin-top:10px;
  display:flex;
  align-items:baseline;
  gap:8px;
}
#gx-accueil-cms .avis-google-score strong{
  font-size:22px;
  color:#0f2c50;
}
#gx-accueil-cms .avis-google-score span{
  color:#f59e0b;
  letter-spacing:1px;
}
@media(max-width:1024px){
#gx-accueil-cms .avis-clients-section{padding:28px 16px 46px;}
#gx-accueil-cms .avis-row{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:640px){
#gx-accueil-cms .avis-row{grid-template-columns:1fr;}
}
#gx-accueil-cms .etm-section{background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%);padding:26px 0 70px}
#gx-accueil-cms .etm-container{max-width:100%;padding:0 40px}
#gx-accueil-cms .etm-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
#gx-accueil-cms .etm-filter-btn{
    border:1px solid #dce6f5;background:#fff;color:#2b3d5b;border-radius:999px;padding:9px 14px;
    font:700 12px/1 'Montserrat',sans-serif;display:inline-flex;align-items:center;gap:6px;cursor:pointer;
    transition:all .2s ease
}
#gx-accueil-cms .etm-filter-btn:hover{border-color:#e8761a;color:#e8761a;transform:translateY(-1px)}
#gx-accueil-cms .etm-filter-btn.active{background:#e8761a;border-color:#e8761a;color:#fff;box-shadow:0 8px 18px rgba(232,118,26,.28)}
#gx-accueil-cms .etm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}
#gx-accueil-cms .etm-card{
    background:#fff;border:1px solid #e6edf8;border-radius:18px;overflow:hidden;
    box-shadow:0 8px 26px rgba(12,38,82,.08);transition:transform .22s ease, box-shadow .22s ease
}
#gx-accueil-cms .etm-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(12,38,82,.14)}
#gx-accueil-cms .etm-card-media{position:relative;aspect-ratio:16/9;overflow:hidden}
#gx-accueil-cms .etm-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
#gx-accueil-cms .etm-card:hover .etm-card-media img{transform:scale(1.04)}
#gx-accueil-cms .etm-badge{
    position:absolute;left:12px;top:12px;background:rgba(15,40,76,.88);color:#fff;border:1px solid rgba(255,255,255,.35);
    border-radius:999px;padding:5px 10px;font:700 10px/1 'Montserrat',sans-serif;letter-spacing:.4px;text-transform:uppercase
}
#gx-accueil-cms .etm-card-content{padding:16px}
#gx-accueil-cms .etm-card-content h3{margin:0 0 8px;font:800 18px/1.3 'Montserrat',sans-serif;color:#102647}
#gx-accueil-cms .etm-card-content p{margin:0 0 12px;font:500 14px/1.6 'Montserrat',sans-serif;color:#55657f}
#gx-accueil-cms .etm-card-link{
    display:inline-flex;align-items:center;gap:6px;text-decoration:none;border-radius:10px;
    background:#f2f6ff;border:1px solid #d9e4f6;color:#123f8d;padding:8px 12px;font:700 12px/1 'Montserrat',sans-serif
}
#gx-accueil-cms .etm-card-link:hover{background:#123f8d;color:#fff;border-color:#123f8d}
#gx-accueil-cms .etm-empty{display:none;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#7f8ba2;padding:36px 10px}
#gx-accueil-cms .etm-empty i{font-size:28px;color:#b4bfd2}

@media (max-width:1100px){
#gx-accueil-cms .etm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:768px){
#gx-accueil-cms .etm-container{padding:0 16px}
#gx-accueil-cms .etm-grid{grid-template-columns:1fr}
}
#gx-accueil-cms .gic-section{background:radial-gradient(1200px 500px at 20% -10%,#fff0e8 0%,transparent 70%),radial-gradient(900px 500px at 100% 0,#edf5ff 0%,transparent 72%),#f8fafc;padding:34px 0 78px;}
#gx-accueil-cms .gic-container{max-width:100%;padding:0 40px;}
#gx-accueil-cms .gic-destinations .resto-dest-link{background:none;border:none;padding:0;cursor:pointer;}
#gx-accueil-cms .gic-destinations{display:flex;align-items:center;flex-wrap:wrap;gap:8px;}
#gx-accueil-cms .gic-dest-btn{
  font-family:Montserrat,sans-serif;
  font-weight:800;
  letter-spacing:.25px;
  border-radius:999px;
  border:1px solid #dbe3ef;
  color:#27364d;
  background:#fff;
  transition:all .2s ease;
}
#gx-accueil-cms .gic-dest-btn--xl{padding:10px 18px;font-size:13px;}
#gx-accueil-cms .gic-dest-btn--md{padding:8px 14px;font-size:12px;}
#gx-accueil-cms .gic-dest-btn--sm{padding:6px 11px;font-size:11px;}
#gx-accueil-cms .gic-dest-btn--pill{padding:12px 16px;font-size:12px;border-radius:14px;}
#gx-accueil-cms .gic-dest-btn:hover{border-color:#f26522;color:#f26522;transform:translateY(-1px);}
#gx-accueil-cms .gic-dest-btn.active{background:linear-gradient(135deg,#f26522,#d4af37);border-color:transparent;color:#fff;box-shadow:0 8px 18px rgba(242,101,34,.3);}
#gx-accueil-cms .gic-categories{display:flex;align-items:center;flex-wrap:wrap;gap:8px;}
#gx-accueil-cms .gic-filter-btn{
  border:1px solid #dbe3ef;
  color:#32455f;
  background:#fff;
  border-radius:999px;
  font-family:Montserrat,sans-serif;
  font-weight:700;
  cursor:pointer;
  transition:all .22s ease;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
#gx-accueil-cms .gic-filter-btn--wide{padding:11px 20px;font-size:13px;}
#gx-accueil-cms .gic-filter-btn--chip{padding:7px 12px;font-size:11px;}
#gx-accueil-cms .gic-filter-btn--tall{padding:13px 14px;font-size:12px;border-radius:14px;}
#gx-accueil-cms .gic-filter-btn--pill{padding:10px 18px;font-size:12px;border-radius:26px;}
#gx-accueil-cms .gic-filter-btn--soft{padding:9px 15px;font-size:12px;background:#f6f9ff;}
#gx-accueil-cms .gic-filter-btn:hover{border-color:#e60023;color:#e60023;transform:translateY(-1px);}
#gx-accueil-cms .gic-filter-btn.active{background:#e60023;border-color:#e60023;color:#fff;box-shadow:0 10px 20px rgba(230,0,35,.25);}
#gx-accueil-cms .gic-layout{display:flex;flex-direction:column;gap:16px;padding-top:20px;}
#gx-accueil-cms .gic-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;align-items:start;}
#gx-accueil-cms .gic-card{
  break-inside:avoid;
  display:block;
  margin:0;
  background:#fff;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(11,20,39,.08);
  transition:transform .25s ease, box-shadow .25s ease;
  border:1px solid rgba(17,24,39,.05);
}
#gx-accueil-cms .gic-card:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(11,20,39,.16);}
#gx-accueil-cms .gic-card--h{grid-column:span 1;}
#gx-accueil-cms .gic-media-wrap{
  position:relative;
  overflow:hidden;
  aspect-ratio:var(--gic-ratio,4/5);
  background:#e6ecf5;
}
#gx-accueil-cms .gic-media-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .35s ease;
}
#gx-accueil-cms .gic-card:hover .gic-media-wrap img{transform:scale(1.04);}
#gx-accueil-cms .gic-save-btn,#gx-accueil-cms .gic-more-btn{
  position:absolute;
  z-index:3;
  border:none;
  cursor:pointer;
  transition:transform .2s ease,opacity .2s ease;
  opacity:0;
}
#gx-accueil-cms .gic-save-btn{
  top:10px;right:10px;
  background:#e60023;color:#fff;
  border-radius:999px;
  padding:8px 12px;
  font-size:11px;font-weight:700;
  letter-spacing:.2px;
}
#gx-accueil-cms .gic-more-btn{
  bottom:10px;right:10px;
  width:32px;height:32px;border-radius:50%;
  background:#fff;color:#1f2937;font-size:13px;
}
#gx-accueil-cms .gic-card:hover .gic-save-btn,#gx-accueil-cms .gic-card:hover .gic-more-btn{opacity:1;}
#gx-accueil-cms .gic-save-btn:hover,#gx-accueil-cms .gic-more-btn:hover{transform:scale(1.06);}
#gx-accueil-cms .gic-overlay{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:48px 12px 10px;
  background:linear-gradient(180deg,rgba(0,0,0,0) 10%,rgba(0,0,0,.72) 100%);
  color:#fff;
}
#gx-accueil-cms .gic-pill{
  display:inline-block;
  margin-bottom:6px;
  background:rgba(255,255,255,.2);
  backdrop-filter:blur(4px);
  border:1px solid rgba(255,255,255,.4);
  color:#fff;
  font-size:10px;
  font-weight:700;
  padding:4px 10px;
  border-radius:999px;
  text-transform:uppercase;
  letter-spacing:.4px;
}
#gx-accueil-cms .gic-overlay h3{
  margin:0 0 4px;
  font-size:14px;
  line-height:1.25;
  font-weight:800;
  text-shadow:0 2px 14px rgba(0,0,0,.35);
}
#gx-accueil-cms .gic-overlay p{
  margin:0;
  font-size:11px;
  display:flex;
  align-items:center;
  gap:5px;
  opacity:.92;
}
#gx-accueil-cms .gic-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  padding:10px 10px 12px;
}
#gx-accueil-cms .gic-tag{
  border:1px solid #e8edf5;
  background:#f6f8fc;
  color:#44536b;
  font-size:10px;
  font-weight:700;
  padding:5px 9px;
  border-radius:999px;
  cursor:pointer;
  letter-spacing:.2px;
}
#gx-accueil-cms .gic-tag:hover{border-color:#e60023;color:#e60023;background:#fff;}
#gx-accueil-cms .gic-tag.is-active{border-color:#e60023;background:#ffe8ee;color:#e60023;}
#gx-accueil-cms .gic-empty{display:none;align-items:center;justify-content:center;flex-direction:column;color:#8b95a7;padding:52px 12px;gap:10px;}
#gx-accueil-cms .gic-empty i{font-size:34px;color:#c3ccda;}

@media(max-width:1200px){
#gx-accueil-cms .gic-row{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:900px){
#gx-accueil-cms .gic-container{padding:0 16px;}
#gx-accueil-cms .gic-row{grid-template-columns:repeat(2,minmax(0,1fr));}
#gx-accueil-cms .gic-card--h{grid-column:span 1;}
}
@media(max-width:620px){
#gx-accueil-cms .gic-row{grid-template-columns:1fr;}
#gx-accueil-cms .gic-card--h{grid-column:span 1;}
}
#gx-accueil-cms #vp-chaine .vp-dest-select{
    min-width: 150px;
    max-width: 210px;
    padding: 6px 28px 6px 10px;
    border: 1px solid rgba(10, 22, 40, 0.18);
    border-radius: 8px;
    background: #fff;
    color: #0a1628;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
#gx-accueil-cms #vp-chaine .vp-dest-select:focus{
    outline: none;
    border-color: #f26522;
    box-shadow: 0 0 0 2px rgba(242, 101, 34, 0.18);
}
#gx-accueil-cms #vp-chaine .vp-dest-breadcrumb{
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 8px;
}
#gx-accueil-cms #vp-chaine .resto-dest-row{
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 12px;
}
#gx-accueil-cms #vp-chaine .vp-dest-select{
    flex: 1;
    min-width: 120px;
}
#gx-accueil-cms #vp-chaine .video-player-v2-controls{
    display: none;
}
#gx-accueil-cms :is(#vp-chaine,#gx-accueil-cms #vp-reseaux) .vp-network-section{
    margin-top: 24px;
    background: linear-gradient(180deg, #ffffff 0%, #f6f9ff 100%);
    border: 1px solid rgba(12, 28, 54, 0.08);
    border-radius: 16px;
    padding: 18px;
}
#gx-accueil-cms :is(#vp-chaine,#gx-accueil-cms #vp-reseaux) .vp-network-head h3{
    margin: 0;
    color: #0a1628;
    font-size: clamp(18px, 2vw, 24px);
    font-weight: 900;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}
#gx-accueil-cms :is(#vp-chaine,#gx-accueil-cms #vp-reseaux) .vp-network-head p{
    margin: 8px 0 0;
    color: #5b6c84;
    font-size: 13px;
    line-height: 1.5;
    max-width: 860px;
}
#gx-accueil-cms :is(#vp-chaine,#gx-accueil-cms #vp-reseaux) .vp-network-grid{
    margin-top: 14px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}
#gx-accueil-cms :is(#vp-chaine,#gx-accueil-cms #vp-reseaux) .vp-network-card{
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    text-decoration: none;
    color: #ffffff;
    border-radius: 14px;
    padding: 14px 12px;
    min-height: 126px;
    box-shadow: 0 10px 22px rgba(13, 31, 62, 0.2);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
#gx-accueil-cms :is(#vp-chaine,#gx-accueil-cms #vp-reseaux) .vp-network-card:hover{
    transform: translateY(-3px);
    box-shadow: 0 16px 28px rgba(13, 31, 62, 0.28);
}
#gx-accueil-cms :is(#vp-chaine,#gx-accueil-cms #vp-reseaux) .vp-network-icon{
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.18);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    flex-shrink: 0;
}
#gx-accueil-cms :is(#vp-chaine,#gx-accueil-cms #vp-reseaux) .vp-network-body h4{
    margin: 0 0 6px;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.3;
}
#gx-accueil-cms :is(#vp-chaine,#gx-accueil-cms #vp-reseaux) .vp-network-body p{
    margin: 0;
    font-size: 11.5px;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.92);
}
#gx-accueil-cms :is(#vp-chaine,#gx-accueil-cms #vp-reseaux) .vp-network-go{
    position: absolute;
    right: 10px;
    bottom: 10px;
    font-size: 11px;
    opacity: 0.9;
}
#gx-accueil-cms :is(#vp-chaine,#gx-accueil-cms #vp-reseaux) .vp-network-card:nth-child(1){ background: linear-gradient(135deg, #ff0000, #a30000); }
#gx-accueil-cms :is(#vp-chaine,#gx-accueil-cms #vp-reseaux) .vp-network-card:nth-child(2){ background: linear-gradient(135deg, #1ab7ea, #0a6c95); }
#gx-accueil-cms :is(#vp-chaine,#gx-accueil-cms #vp-reseaux) .vp-network-card:nth-child(3){ background: linear-gradient(135deg, #0e6fff, #033785); }
#gx-accueil-cms :is(#vp-chaine,#gx-accueil-cms #vp-reseaux) .vp-network-card:nth-child(4){ background: linear-gradient(135deg, #ff0084, #7d0055); }
#gx-accueil-cms :is(#vp-chaine,#gx-accueil-cms #vp-reseaux) .vp-network-card:nth-child(5){ background: linear-gradient(135deg, #23b2ff, #0076a9); }
#gx-accueil-cms :is(#vp-chaine,#gx-accueil-cms #vp-reseaux) .vp-network-card:nth-child(6){ background: linear-gradient(135deg, #7cd62e, #2a7a13); }
#gx-accueil-cms :is(#vp-chaine,#gx-accueil-cms #vp-reseaux) .vp-network-card:nth-child(7){ background: linear-gradient(135deg, #4f5bd5, #222a78); }
#gx-accueil-cms :is(#vp-chaine,#gx-accueil-cms #vp-reseaux) .vp-network-card:nth-child(8){ background: linear-gradient(135deg, #f16822, #9f3d12); }
#gx-accueil-cms :is(#vp-chaine,#gx-accueil-cms #vp-reseaux) .vp-network-card:nth-child(9){ background: linear-gradient(135deg, #7b7e87, #3f4149); }
#gx-accueil-cms :is(#vp-chaine,#gx-accueil-cms #vp-reseaux) .vp-network-card:nth-child(10){ background: linear-gradient(135deg, #9146ff, #4a168f); }
#gx-accueil-cms :is(#vp-chaine,#gx-accueil-cms #vp-reseaux) .vp-network-card:nth-child(11){ background: linear-gradient(135deg, #ff9f1a, #8e4d00); }
#gx-accueil-cms :is(#vp-chaine,#gx-accueil-cms #vp-reseaux) .vp-network-card:nth-child(12){ background: linear-gradient(135deg, #00a8ff, #045f8d); }
#gx-accueil-cms :is(#vp-chaine,#gx-accueil-cms #vp-reseaux) .vp-network-card:nth-child(13){ background: linear-gradient(135deg, #ff5f5f, #8c1c1c); }

@media (max-width: 992px) {
#gx-accueil-cms #vp-chaine .resto-dest-row{
        flex-wrap: wrap;
    }
#gx-accueil-cms #vp-chaine .vp-dest-breadcrumb{
        width: 100%;
        flex-wrap: wrap;
    }
#gx-accueil-cms #vp-chaine .vp-dest-select{
        min-width: 145px;
    }
#gx-accueil-cms :is(#vp-chaine,#gx-accueil-cms #vp-reseaux) .vp-network-grid{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 620px) {
#gx-accueil-cms :is(#vp-chaine,#gx-accueil-cms #vp-reseaux) .vp-network-grid{
        grid-template-columns: 1fr;
    }
}/* Header override local: centre full width, côtés compacts */
#gx-accueil-cms #my-tube .resto-header-main{
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}
#gx-accueil-cms #my-tube .resto-header-center{
    grid-column: 2;
    width: 100%;
    max-width: 100%;
}
#gx-accueil-cms #my-tube .resto-header-logo-left{
    display: none !important;
}
#gx-accueil-cms #my-tube .resto-header-logo-right{
    pointer-events: auto;
    width: auto;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
#gx-accueil-cms #my-tube .resto-header-logo-right{
    grid-column: 3;
    justify-self: auto;
}

@media (max-width: 1024px) {
#gx-accueil-cms #my-tube .resto-header-main{
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
#gx-accueil-cms #my-tube .resto-header-logo-right{
        width: auto;
    }
}
#gx-accueil-cms .gifts-vedette-v2-section .resto-header-title{
    color: #0f172a;
}
#gx-accueil-cms .gifts-vedette-v2-section .products-vedette-v2-card-image::after{
    background: linear-gradient(180deg, rgba(255,255,255,0) 42%, rgba(230,82,22,.16) 100%);
}/* Header override: 3 colonnes égales + gauche masqué */
#gx-accueil-cms #resto-ambiance-vedette-v2 .resto-header-main{
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}
#gx-accueil-cms #resto-ambiance-vedette-v2 .resto-header-center{
    grid-column: 2;
    width: 100%;
    max-width: 100%;
}
#gx-accueil-cms #resto-ambiance-vedette-v2 .resto-header-logo-left{
    display: none !important;
}
#gx-accueil-cms #resto-ambiance-vedette-v2 .resto-header-logo-right{
    grid-column: 3;
    justify-self: end;
    width: auto;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
}/* garde le style droit compact */
#gx-accueil-cms #resto-ambiance-vedette-v2 .resto-header-logo-right{
    pointer-events: auto;
}

@media (max-width: 1024px) {
#gx-accueil-cms #resto-ambiance-vedette-v2 .resto-header-main{
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
#gx-accueil-cms #resto-ambiance-vedette-v2{
        overflow: hidden;
    }
#gx-accueil-cms #resto-ambiance-vedette-v2 .products-vedette-v2-container{
        padding-left: 10px;
        padding-right: 10px;
    }
#gx-accueil-cms #resto-ambiance-vedette-v2 .resto-header-block{
        border-radius: 16px;
        overflow: hidden;
    }
#gx-accueil-cms #resto-ambiance-vedette-v2 .resto-header-main{
        display: flex !important;
        flex-direction: column;
        align-items: center;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px;
        width: 100%;
        padding: 22px 14px 18px;
        min-height: 0;
    }
#gx-accueil-cms #resto-ambiance-vedette-v2 .resto-header-center,#gx-accueil-cms #resto-ambiance-vedette-v2 .resto-header-logo-right{
        width: 100%;
        max-width: 100%;
        grid-column: auto !important;
        justify-self: center;
    }
#gx-accueil-cms #resto-ambiance-vedette-v2 .resto-header-center{
        order: 1;
        display: flex;
        align-items: center;
        gap: 10px;
        text-align: center;
    }
#gx-accueil-cms #resto-ambiance-vedette-v2 .resto-header-logo-right{
        order: 2;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: row;
        pointer-events: auto;
    }
#gx-accueil-cms #resto-ambiance-vedette-v2 .resto-header-logo-right a{
        display: inline-flex;
        max-width: min(260px, 76vw);
    }
#gx-accueil-cms #resto-ambiance-vedette-v2 .bt-next-level-image{
        display: block;
        width: min(260px, 76vw);
        max-width: 100%;
        height: auto;
        object-fit: contain;
    }
#gx-accueil-cms #resto-ambiance-vedette-v2 .resto-header-title{
        width: 100%;
        max-width: 100%;
        font-size: clamp(21px, 6vw, 30px);
        line-height: 1.12;
        letter-spacing: 1.6px;
        overflow-wrap: anywhere;
    }
#gx-accueil-cms #resto-ambiance-vedette-v2 .resto-header-subtitle{
        width: 100%;
        max-width: min(420px, 92vw);
        font-size: 13px;
        line-height: 1.45;
    }
#gx-accueil-cms #resto-ambiance-vedette-v2 .resto-header-tabs{
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        justify-items: center;
        overflow: visible;
    }
#gx-accueil-cms #resto-ambiance-vedette-v2 .resto-tab-btn{
        width: min(330px, 88vw);
        justify-content: center;
        white-space: normal;
        min-height: 44px;
    }
#gx-accueil-cms #resto-ambiance-vedette-v2 .resto-header-destinations-bar{
        padding: 12px;
    }
#gx-accueil-cms #resto-ambiance-vedette-v2 .resto-dest-row,#gx-accueil-cms #resto-ambiance-vedette-v2 .resto-dest-breadcrumb.vp-dest-breadcrumb{
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
    }
#gx-accueil-cms #resto-ambiance-vedette-v2 .resto-dest-icon-box{
        width: 100%;
        justify-content: center;
    }
#gx-accueil-cms #resto-ambiance-vedette-v2 .resto-dest-sep{
        display: none;
    }
#gx-accueil-cms #resto-ambiance-vedette-v2 .vp-dest-select{
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }
#gx-accueil-cms #resto-ambiance-vedette-v2 .resto-actions-row{
        align-items: stretch;
    }
#gx-accueil-cms #resto-ambiance-vedette-v2 .resto-header-ctas,#gx-accueil-cms #resto-ambiance-vedette-v2 .resto-cta-btn,#gx-accueil-cms #resto-ambiance-vedette-v2 .resto-events-nav-btn,#gx-accueil-cms #resto-ambiance-vedette-v2 .resto-plans-btn,#gx-accueil-cms #resto-ambiance-vedette-v2 .resto-lang-switcher{
        width: 100%;
        min-width: 0;
    }
#gx-accueil-cms #resto-ambiance-vedette-v2 .resto-header-ctas{
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
    }
}

@media (max-width: 420px) {
#gx-accueil-cms #resto-ambiance-vedette-v2 .resto-header-main{
        padding-left: 10px;
        padding-right: 10px;
    }
#gx-accueil-cms #resto-ambiance-vedette-v2 .resto-header-title{
        font-size: 21px;
    }
#gx-accueil-cms #resto-ambiance-vedette-v2 .bt-next-level-image{
        width: min(230px, 78vw);
    }
#gx-accueil-cms #resto-ambiance-vedette-v2 .resto-tab-btn{
        width: min(310px, 92vw);
        font-size: 12px;
        padding-left: 12px;
        padding-right: 12px;
    }
}/* Keep ProductsVedette logic (horizontal carousel), but with Restau card design */
#gx-accueil-cms #resto-ambiance-vedette-v2 .products-vedette-v2-scroll-container{
    display: flex;
    gap: 20px;
    overflow: visible;
    padding-bottom: 8px;
    will-change: transform;
}
#gx-accueil-cms #resto-ambiance-vedette-v2 .resto-ambiance-v2-card{
    min-width: 280px;
    max-width: 280px;
    flex-shrink: 0;
}
#gx-accueil-cms #resto-ambiance-vedette-v2 .resto-ambiance-v2-card .resto-card-img{
    height: 220px;
}
#gx-accueil-cms .immo-specialized-section{
            scroll-margin-top: 130px;
            padding-top: 42px;
        }
#gx-accueil-cms .immo-specialized-section .immo-specialized-kicker{
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 8px 16px;
            border-radius: 999px;
            background: #fff4ed;
            color: #e65216;
            font-size: 13px;
            font-weight: 800;
            letter-spacing: .08em;
            text-transform: uppercase;
            box-shadow: 0 10px 24px rgba(230, 82, 22, .12);
        }
#gx-accueil-cms .immo-specialized-section .immo-v2-grid{
            align-items: stretch;
        }
#gx-accueil-cms .immo-specialized-section .immo-v2-card{
            min-height: 100%;
        }
#gx-accueil-cms .immo-specialized-section .immo-specialized-actions{
            display: flex;
            justify-content: center;
            margin-top: 28px;
        }
#gx-accueil-cms .immo-specialized-section .immo-specialized-cta{
            display: inline-flex;
            align-items: center;
            gap: 10px;
            padding: 13px 26px;
            border-radius: 999px;
            background: linear-gradient(135deg, #e65216, #ff8b4a);
            color: #fff;
            font-weight: 900;
            text-decoration: none;
            box-shadow: 0 16px 32px rgba(230, 82, 22, .24);
            transition: transform .2s ease, box-shadow .2s ease;
        }
#gx-accueil-cms .immo-specialized-section .immo-specialized-cta:hover{
            color: #fff;
            transform: translateY(-2px);
            box-shadow: 0 20px 38px rgba(230, 82, 22, .3);
        }

        @media (max-width: 767px) {
#gx-accueil-cms .immo-specialized-section{
                padding-top: 28px;
            }
        }/* ── Variables ── */
#gx-accueil-cms{
    --nv-blue:   #1a3a8f;
    --nv-orange: #e8761a;
    --nv-green:  #10b981;
    --nv-purple: #8b5cf6;
    --nv-dark:   #0d1f3c;
    --nv-light:  #f8faff;
    --nv-border: #e5e7eb;
}
#gx-accueil-cms .nv-section{ background: linear-gradient(180deg,#f8faff 0%,#fff 100%); }
#gx-accueil-cms .nv-body{ padding: 0 40px 60px; }/* ── Gradient text ── */
#gx-accueil-cms .nv-grad-text{
    background: linear-gradient(135deg, var(--nv-orange), #f59e0b);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}/* ── Eyebrow / block header ── */
#gx-accueil-cms .nv-eyebrow{
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px;
    color: var(--nv-orange); background: #fef3ea;
    padding: 5px 14px; border-radius: 999px; margin-bottom: 10px;
}
#gx-accueil-cms .nv-block-header{
    display: flex; justify-content: space-between; align-items: flex-end;
    margin-bottom: 28px; flex-wrap: wrap; gap: 12px;
}
#gx-accueil-cms .nv-block-title{
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 26px; color: #1a1a1a; margin: 0;
}
#gx-accueil-cms .nv-see-all{
    font-size: 13px; font-weight: 700; color: var(--nv-orange);
    text-decoration: none; display: flex; align-items: center; gap: 6px; white-space: nowrap;
}
#gx-accueil-cms .nv-see-all:hover{ text-decoration: underline; }/* ══════════════════════════
   TICKER
══════════════════════════ */
#gx-accueil-cms .nv-ticker{
    background: var(--nv-dark); border-radius: 10px; padding: 0;
    display: flex; align-items: stretch; margin: 20px 0 32px;
    overflow: hidden; height: 40px;
}
#gx-accueil-cms .nv-ticker-label{
    background: var(--nv-orange); color: #fff; padding: 0 16px;
    font-size: 11px; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase;
    display: flex; align-items: center; gap: 6px; flex-shrink: 0;
}
#gx-accueil-cms .nv-ticker-label i{ font-size: 7px; animation: nvBlink 1.2s infinite; }
@keyframes nvBlink { 0%,100%{opacity:1} 50%{opacity:.1} }
#gx-accueil-cms .nv-ticker-track{
    flex: 1; overflow: hidden; display: flex; align-items: center;
}
#gx-accueil-cms .nv-ticker-inner{
    display: flex; gap: 60px; white-space: nowrap;
    animation: nvTicker 40s linear infinite; padding-left: 24px;
}
#gx-accueil-cms .nv-ticker-inner span{ font-size: 13px; color: rgba(255,255,255,.85); flex-shrink: 0; }
@keyframes nvTicker { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }/* ══════════════════════════
   HERO FEATURED
══════════════════════════ */
#gx-accueil-cms .nv-hero{
    display: grid; grid-template-columns: 1fr 340px;
    gap: 24px; margin-bottom: 48px; align-items: stretch;
}
#gx-accueil-cms .nv-hero-img-wrap{
    position: relative; border-radius: 20px; overflow: hidden;
    min-height: 380px;
}
#gx-accueil-cms .nv-hero-img{
    width: 100%; height: 100%; object-fit: cover;
    transition: transform .5s;
}
#gx-accueil-cms .nv-hero-img-wrap:hover .nv-hero-img{ transform: scale(1.04); }
#gx-accueil-cms .nv-hero-overlay{
    position: absolute; inset: 0;
    background: linear-gradient(0deg, rgba(10,22,40,.92) 0%, rgba(10,22,40,.3) 60%, transparent 100%);
    padding: 28px 32px; display: flex; flex-direction: column; justify-content: flex-end;
}
#gx-accueil-cms .nv-hero-badge{
    display: inline-flex; align-items: center; gap: 6px;
    background: var(--nv-orange); color: #fff;
    font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 1px;
    padding: 4px 12px; border-radius: 6px; margin-bottom: 12px; align-self: flex-start;
}
#gx-accueil-cms .nv-hero-regions{ display: flex; gap: 8px; margin-bottom: 14px; flex-wrap: wrap; }
#gx-accueil-cms .nv-region-pill{
    font-size: 10px; font-weight: 700; color: #fff;
    padding: 3px 10px; border-radius: 999px;
}
#gx-accueil-cms .nv-hero-title{
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(20px, 2.2vw, 30px); color: #fff;
    line-height: 1.25; margin-bottom: 12px;
}
#gx-accueil-cms .nv-hero-desc{ font-size: 14px; color: rgba(255,255,255,.75); line-height: 1.7; margin-bottom: 18px; }
#gx-accueil-cms .nv-hero-meta{
    display: flex; align-items: center; gap: 20px; flex-wrap: wrap;
}
#gx-accueil-cms .nv-hero-meta span{ font-size: 12px; color: rgba(255,255,255,.6); display: flex; align-items: center; gap: 5px; }
#gx-accueil-cms .nv-hero-read-btn{
    background: var(--nv-orange); color: #fff; padding: 8px 18px; border-radius: 8px;
    font-size: 13px; font-weight: 700; text-decoration: none;
    display: inline-flex; align-items: center; gap: 7px; transition: background .2s;
    margin-left: auto;
}
#gx-accueil-cms .nv-hero-read-btn:hover{ background: #c45e0e; color: #fff; }/* Sidebar */
#gx-accueil-cms .nv-hero-sidebar{
    background: #fff; border: 1.5px solid var(--nv-border);
    border-radius: 20px; overflow: hidden; display: flex; flex-direction: column;
}
#gx-accueil-cms .nv-sidebar-label{
    background: var(--nv-dark); color: #fff;
    padding: 12px 18px; font-size: 11px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 1px;
    display: flex; align-items: center; gap: 7px;
}
#gx-accueil-cms .nv-sidebar-label i{ color: var(--nv-orange); }
#gx-accueil-cms .nv-mini-article{
    padding: 12px 18px; border-bottom: 1px solid #f0f0f0;
    text-decoration: none; display: block; transition: background .2s;
}
#gx-accueil-cms .nv-mini-article:last-child{ border-bottom: none; }
#gx-accueil-cms .nv-mini-article:hover{ background: var(--nv-light); }
#gx-accueil-cms .nv-mini-meta{ display: flex; align-items: center; gap: 8px; margin-bottom: 5px; }
#gx-accueil-cms .nv-mini-time{ font-size: 10px; color: #999; display: flex; align-items: center; gap: 4px; }
#gx-accueil-cms .nv-mini-cat{ font-size: 9px; font-weight: 700; text-transform: uppercase; color: var(--nv-orange); background: #fef3ea; padding: 2px 7px; border-radius: 4px; }
#gx-accueil-cms .nv-mini-title{ font-size: 13px; font-weight: 600; color: #1a1a1a; line-height: 1.45; margin: 0; }/* ══════════════════════════
   ONGLETS RÉGIONS
══════════════════════════ */
#gx-accueil-cms .nv-regions-block{ margin-bottom: 48px; }
#gx-accueil-cms .nv-tabs{
    display: flex; gap: 8px; margin-bottom: 24px;
    border-bottom: 2px solid var(--nv-border); padding-bottom: 0;
    overflow-x: auto; scrollbar-width: none; flex-wrap: nowrap;
}
#gx-accueil-cms .nv-tabs::-webkit-scrollbar{ display: none; }
#gx-accueil-cms .nv-tab{
    display: flex; align-items: center; gap: 7px;
    padding: 10px 20px; border: none; background: transparent;
    font-size: 14px; font-weight: 600; color: #666; cursor: pointer;
    border-bottom: 3px solid transparent; margin-bottom: -2px;
    white-space: nowrap; transition: all .2s; border-radius: 0;
}
#gx-accueil-cms .nv-tab:hover{ color: var(--tab-color); }
#gx-accueil-cms .nv-tab.active{ color: var(--tab-color); border-bottom-color: var(--tab-color); }
#gx-accueil-cms .nv-tab-flag{ font-size: 16px; }
#gx-accueil-cms .nv-tab-count{
    font-size: 10px; font-weight: 700; padding: 2px 7px; border-radius: 999px;
}/* Tab panels */
#gx-accueil-cms .nv-tab-panel{ display: none; }
#gx-accueil-cms .nv-tab-panel.active{ display: block; }
#gx-accueil-cms .nv-articles-grid{
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
#gx-accueil-cms .nv-article-card{
    background: #fff; border: 1.5px solid var(--nv-border);
    border-radius: 18px; overflow: hidden; transition: all .3s;
    display: flex; flex-direction: column;
}
#gx-accueil-cms .nv-article-card:hover{ transform: translateY(-4px); box-shadow: 0 16px 40px rgba(0,0,0,.08); border-color: var(--nv-orange); }
#gx-accueil-cms .nv-article-img-wrap{ position: relative; height: 180px; overflow: hidden; }
#gx-accueil-cms .nv-article-img{ width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
#gx-accueil-cms .nv-article-card:hover .nv-article-img{ transform: scale(1.06); }
#gx-accueil-cms .nv-article-region-badge{
    position: absolute; top: 10px; left: 10px;
    color: #fff; font-size: 9px; font-weight: 800; text-transform: uppercase;
    letter-spacing: .8px; padding: 3px 9px; border-radius: 5px;
}
#gx-accueil-cms .nv-article-body{ padding: 18px 20px; flex: 1; display: flex; flex-direction: column; }
#gx-accueil-cms .nv-article-cat{ font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .8px; margin-bottom: 8px; }
#gx-accueil-cms .nv-article-title{ font-family: 'Playfair Display', Georgia, serif; font-size: 16px; font-weight: 700; color: #1a1a1a; line-height: 1.4; margin-bottom: 10px; }
#gx-accueil-cms .nv-article-desc{ font-size: 12px; color: #666; line-height: 1.65; flex: 1; margin-bottom: 14px; }
#gx-accueil-cms .nv-article-footer{ display: flex; justify-content: space-between; align-items: center; }
#gx-accueil-cms .nv-article-time{ font-size: 11px; color: #999; display: flex; align-items: center; gap: 4px; }
#gx-accueil-cms .nv-article-read{ font-size: 12px; font-weight: 700; text-decoration: none; display: flex; align-items: center; gap: 4px; }
#gx-accueil-cms .nv-article-read:hover{ text-decoration: underline; }/* Explore more card */
#gx-accueil-cms .nv-explore-more{
    display: flex !important; flex-direction: column !important;
    align-items: center; justify-content: center; text-align: center;
    padding: 32px 24px; border-width: 2px; border-style: dashed;
}
#gx-accueil-cms .nv-explore-icon{ font-size: 44px; margin-bottom: 14px; }
#gx-accueil-cms .nv-explore-more h4{ font-size: 18px; font-weight: 700; margin-bottom: 8px; }
#gx-accueil-cms .nv-explore-more p{ font-size: 13px; color: #888; margin-bottom: 20px; }
#gx-accueil-cms .nv-explore-btn{
    color: #fff; padding: 10px 22px; border-radius: 10px;
    font-size: 13px; font-weight: 700; text-decoration: none;
    display: inline-flex; align-items: center; gap: 7px; transition: opacity .2s;
}
#gx-accueil-cms .nv-explore-btn:hover{ opacity: .88; color: #fff; }/* ══════════════════════════
   QUICK REGIONS GRID
══════════════════════════ */
#gx-accueil-cms .nv-quick-regions{ margin-bottom: 48px; }
#gx-accueil-cms .nv-quick-grid{
    display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px;
}
#gx-accueil-cms .nv-quick-card{
    background: #fff; border: 1.5px solid var(--nv-border);
    border-radius: 14px; padding: 18px 14px; text-decoration: none;
    display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px;
    transition: all .25s;
    border-top: 3px solid var(--qc, var(--nv-orange));
}
#gx-accueil-cms .nv-quick-card:hover{ transform: translateY(-3px); box-shadow: 0 8px 20px rgba(0,0,0,.07); }
#gx-accueil-cms .nv-quick-flag{ font-size: 28px; }
#gx-accueil-cms .nv-quick-label{ font-size: 13px; font-weight: 700; color: #1a1a1a; }
#gx-accueil-cms .nv-quick-count{ font-size: 11px; font-weight: 600; }/* ══════════════════════════
   ALERTES INSCRIPTION
══════════════════════════ */
#gx-accueil-cms .nv-alerts-block{
    background: linear-gradient(135deg, #0d1f3c, #1a3a8f);
    border-radius: 28px; padding: 56px; margin-bottom: 48px;
    display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start;
}
#gx-accueil-cms .nv-alerts-badge{
    display: inline-flex; align-items: center; gap: 7px;
    background: rgba(232,118,26,.2); border: 1px solid rgba(232,118,26,.35);
    color: #e8761a; padding: 5px 14px; border-radius: 999px;
    font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px;
    margin-bottom: 18px;
}
#gx-accueil-cms .nv-alerts-left h3{
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 28px; color: #fff; line-height: 1.2; margin-bottom: 14px;
}
#gx-accueil-cms .nv-alerts-left h3 em{ font-style: italic; color: var(--nv-orange); }
#gx-accueil-cms .nv-alerts-left p{ font-size: 14px; color: rgba(255,255,255,.7); line-height: 1.8; margin-bottom: 22px; }
#gx-accueil-cms .nv-alerts-features{ list-style: none; display: flex; flex-direction: column; gap: 10px; }
#gx-accueil-cms .nv-alerts-features li{ font-size: 13px; color: rgba(255,255,255,.8); display: flex; align-items: center; gap: 9px; }
#gx-accueil-cms .nv-alerts-features li i{ color: var(--nv-green); }/* Form */
#gx-accueil-cms .nv-form-group{ margin-bottom: 16px; }
#gx-accueil-cms .nv-form-group label{
    display: block; font-size: 12px; font-weight: 700;
    color: rgba(255,255,255,.8); margin-bottom: 7px;
}
#gx-accueil-cms .nv-form-group input,#gx-accueil-cms .nv-form-group select{
    width: 100%; background: rgba(255,255,255,.08);
    border: 1.5px solid rgba(255,255,255,.15);
    border-radius: 10px; padding: 12px 14px;
    font-size: 14px; color: #fff; transition: border-color .2s;
}
#gx-accueil-cms .nv-form-group input::placeholder{ color: rgba(255,255,255,.4); }
#gx-accueil-cms .nv-form-group select option{ background: #1a3a8f; color: #fff; }
#gx-accueil-cms .nv-form-group input:focus,#gx-accueil-cms .nv-form-group select:focus{ outline: none; border-color: var(--nv-orange); }/* Checkboxes régions */
#gx-accueil-cms .nv-region-checkboxes{ display: flex; flex-wrap: wrap; gap: 8px; }
#gx-accueil-cms .nv-checkbox-label{ cursor: pointer; }
#gx-accueil-cms .nv-checkbox-label input{ display: none; }
#gx-accueil-cms .nv-checkbox-pill{
    display: inline-block; padding: 5px 12px; border-radius: 999px;
    font-size: 12px; font-weight: 600; color: rgba(255,255,255,.7);
    background: rgba(255,255,255,.08); border: 1.5px solid rgba(255,255,255,.15);
    transition: all .2s; cursor: pointer;
}
#gx-accueil-cms .nv-checkbox-label input:checked + .nv-checkbox-pill{
    background: var(--cc, var(--nv-orange)); color: #fff;
    border-color: var(--cc, var(--nv-orange));
}
#gx-accueil-cms .nv-btn-submit{
    width: 100%; background: linear-gradient(135deg, var(--nv-orange), #c04f10);
    color: #fff; border: none; border-radius: 10px; padding: 14px;
    font-size: 14px; font-weight: 700; cursor: pointer;
    display: flex; align-items: center; justify-content: center; gap: 8px;
    transition: all .2s; margin-top: 6px;
}
#gx-accueil-cms .nv-btn-submit:hover{ transform: translateY(-2px); box-shadow: 0 12px 32px rgba(232,118,26,.4); }
#gx-accueil-cms .nv-form-note{ font-size: 11px; color: rgba(255,255,255,.4); text-align: center; margin-top: 10px; }/* ══════════════════════════
   CTA FINAL
══════════════════════════ */
#gx-accueil-cms .nv-cta{
    background: linear-gradient(135deg, #fef3ea, #fff3e6);
    border-radius: 24px; padding: 40px 48px;
    display: flex; justify-content: space-between; align-items: center;
    gap: 32px; flex-wrap: wrap;
}
#gx-accueil-cms .nv-cta-content{ display: flex; flex-direction: column; }
#gx-accueil-cms .nv-cta-content i{ font-size: 32px; color: var(--nv-orange); margin-bottom: 10px; }
#gx-accueil-cms .nv-cta-content h3{ font-size: 22px; color: #1a1a1a; margin-bottom: 6px; }
#gx-accueil-cms .nv-cta-content p{ font-size: 14px; color: #666; }
#gx-accueil-cms .nv-cta-buttons{ display: flex; gap: 12px; flex-wrap: wrap; }
#gx-accueil-cms .nv-cta-primary{
    background: var(--nv-orange); color: #fff; padding: 12px 24px;
    border-radius: 10px; font-weight: 700; font-size: 14px; text-decoration: none;
    display: inline-flex; align-items: center; gap: 7px; transition: all .2s;
}
#gx-accueil-cms .nv-cta-primary:hover{ background: #c45e0e; transform: translateY(-2px); color: #fff; }
#gx-accueil-cms .nv-cta-secondary{
    border: 2px solid var(--nv-orange); color: var(--nv-orange); padding: 12px 24px;
    border-radius: 10px; font-weight: 700; font-size: 14px; text-decoration: none;
    display: inline-flex; align-items: center; gap: 7px; transition: all .2s;
}
#gx-accueil-cms .nv-cta-secondary:hover{ background: var(--nv-orange); color: #fff; }

/* ══════════════════════════
   RESPONSIVE
══════════════════════════ */
@media(max-width:1200px) {
#gx-accueil-cms .nv-quick-grid{ grid-template-columns: repeat(3, 1fr); }
#gx-accueil-cms .nv-hero{ grid-template-columns: 1fr; }
#gx-accueil-cms .nv-hero-sidebar{ min-height: 0; }
#gx-accueil-cms .nv-alerts-block{ grid-template-columns: 1fr; gap: 36px; }
}
@media(max-width:900px) {
#gx-accueil-cms .nv-body{ padding: 0 20px 40px; }
#gx-accueil-cms .nv-articles-grid{ grid-template-columns: 1fr 1fr; }
#gx-accueil-cms .nv-quick-grid{ grid-template-columns: repeat(2, 1fr); }
#gx-accueil-cms .nv-alerts-block{ padding: 36px 24px; }
#gx-accueil-cms .nv-cta{ flex-direction: column; text-align: center; }
#gx-accueil-cms .nv-cta-content{ align-items: center; }
#gx-accueil-cms .nv-cta-buttons{ justify-content: center; }
}
@media(max-width:600px) {
#gx-accueil-cms .nv-articles-grid{ grid-template-columns: 1fr; }
#gx-accueil-cms .nv-quick-grid{ grid-template-columns: repeat(2, 1fr); }
#gx-accueil-cms .nv-tabs{ flex-wrap: nowrap; }
#gx-accueil-cms .nv-hero-overlay{ padding: 20px; }
}/* ── Header / footer du template ─────────────────────────────── */
#gx-accueil-cms .gx-tpl-header{background:#0f172a;color:#fff;padding:14px 0}
#gx-accueil-cms .gx-tpl-header-inner{max-width:1280px;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}
#gx-accueil-cms .gx-tpl-logo{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:800}
#gx-accueil-cms .gx-tpl-logo img{height:38px;width:auto;display:block}
#gx-accueil-cms .gx-tpl-nav{display:flex;gap:20px;margin-left:auto;flex-wrap:wrap}
#gx-accueil-cms .gx-tpl-nav a{color:rgba(255,255,255,.85);text-decoration:none;font-size:14px;font-weight:600}
#gx-accueil-cms .gx-tpl-nav a:hover{color:#fff}
#gx-accueil-cms .gx-tpl-btn{background:#1677ff;color:#fff;padding:10px 20px;border-radius:999px;text-decoration:none;font-weight:700;font-size:14px}
#gx-accueil-cms .gx-tpl-footer{background:#0f172a;color:rgba(255,255,255,.75);padding:56px 0 0;margin-top:40px}
#gx-accueil-cms .gx-tpl-footer-top{max-width:1280px;margin:0 auto;padding:0 24px 40px;display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:32px}
@media(max-width:900px){
#gx-accueil-cms .gx-tpl-footer-top{grid-template-columns:1fr 1fr}}
@media(max-width:560px){
#gx-accueil-cms .gx-tpl-footer-top{grid-template-columns:1fr}}
#gx-accueil-cms .gx-tpl-footer-brand img{height:44px;width:auto;display:block;margin-bottom:14px}
#gx-accueil-cms .gx-tpl-footer h5{color:#fff;font-size:14px;margin:0 0 14px;text-transform:uppercase;letter-spacing:.05em}
#gx-accueil-cms .gx-tpl-footer ul{list-style:none;padding:0;margin:0}
#gx-accueil-cms .gx-tpl-footer li{margin-bottom:10px;font-size:14px}
#gx-accueil-cms .gx-tpl-footer a{color:rgba(255,255,255,.75);text-decoration:none}
#gx-accueil-cms .gx-tpl-footer a:hover{color:#fff}
#gx-accueil-cms .gx-tpl-social{display:flex;gap:10px;margin-top:16px}
#gx-accueil-cms .gx-tpl-social a{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center}
#gx-accueil-cms .gx-tpl-footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:20px 24px;text-align:center;font-size:13px}/* ── Éditabilité VvvebJS ──────────────────────────────────────
   Les calques décoratifs posés par-dessus une image interceptaient le
   clic : l'éditeur sélectionnait le <div>/<span> (aucun réglage) au lieu
   de la photo, impossible à remplacer. On laisse passer le clic. */
#gx-accueil-cms .gx-tpl img{pointer-events:auto !important}/* Les calques qui recouvrent un media ne captent plus le clic : l'editeur
   selectionne ainsi la photo/video et non le conteneur. */
#gx-accueil-cms .gx-tpl [class*="overlay"],#gx-accueil-cms .gx-tpl [class*="-shade"],#gx-accueil-cms .gx-tpl [class*="gradient"],#gx-accueil-cms .gx-tpl [class*="-veil"],#gx-accueil-cms .gx-tpl [class*="mask"],#gx-accueil-cms .gx-tpl [class*="play-btn"],#gx-accueil-cms .gx-tpl [class*="-badge"],#gx-accueil-cms .gx-tpl [class*="caption"]{pointer-events:none}
#gx-accueil-cms .gx-tpl [class*="overlay"] a,#gx-accueil-cms .gx-tpl [class*="overlay"] button,#gx-accueil-cms .gx-tpl [class*="caption"] a,#gx-accueil-cms .gx-tpl [class*="caption"] h1,#gx-accueil-cms .gx-tpl [class*="caption"] h2,#gx-accueil-cms .gx-tpl [class*="caption"] h3,#gx-accueil-cms .gx-tpl [class*="caption"] h4,#gx-accueil-cms .gx-tpl [class*="caption"] p,#gx-accueil-cms .gx-tpl [class*="overlay"] h1,#gx-accueil-cms .gx-tpl [class*="overlay"] h2,#gx-accueil-cms .gx-tpl [class*="overlay"] h3,#gx-accueil-cms .gx-tpl [class*="overlay"] h4,#gx-accueil-cms .gx-tpl [class*="overlay"] p,#gx-accueil-cms .gx-tpl [class*="overlay"] span{pointer-events:auto}/* Fonds de carte devenus de vraies images : le media dessous, le degrade
   au-dessus, le contenu par-dessus (§4 — jamais de z-index negatif). */
#gx-accueil-cms .gx-tpl .region-explore-bg,#gx-accueil-cms .gx-tpl .web-service-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;border-radius:inherit}
#gx-accueil-cms .gx-tpl .region-explore-card,#gx-accueil-cms .gx-tpl .web-service-card{isolation:isolate}/* Les pseudo-elements decoratifs ne captent pas le clic : sans cela, la photo
   qu'ils recouvrent reste inatteignable dans l'editeur.
   « -play » visait les icones de lecture, mais touchait aussi toute la chaine
   video (« video-PLAYer-v2-… ») : section entiere insensible au clic, lecteur
   impossible a mettre en pause, playlist et filtres morts. Et « -pill » un
   bouton de filtre (gic-filter-btn--pill). Un lecteur, un bouton ou un lien
   ne perd jamais le clic. (Corrige en base par la migration
   2026_10_13_000000_retablir_clic_lecteurs_goexploria.) */
#gx-accueil-cms .gx-tpl .region-explore-card::before,#gx-accueil-cms .gx-tpl .web-service-card::before,#gx-accueil-cms .gx-tpl .events-media-slide::after,#gx-accueil-cms .gx-tpl .dest-media-slide::after,#gx-accueil-cms .gx-tpl .ttk-card-text-overlay,#gx-accueil-cms .gx-tpl .ttk-card-bottom,#gx-accueil-cms .gx-tpl .gxt-duration,#gx-accueil-cms .gx-tpl .gxt-cat-pill,#gx-accueil-cms .gx-tpl .nav-video-play-icon,#gx-accueil-cms .gx-tpl .vertical-menu-v2-video-play-icon,#gx-accueil-cms .gx-tpl .products-vedette-v2-quick,#gx-accueil-cms .gx-tpl [class*="-play"]:not([class*="-player"]):not([class*="-playing"]):not(button):not(a),#gx-accueil-cms .gx-tpl [class*="-pill"]:not(button):not(a),#gx-accueil-cms .gx-tpl [class*="badge"]{pointer-events:none}
#gx-accueil-cms .gx-tpl [class*="-play"]:not([class*="-player"]):not([class*="-playing"]):not(button):not(a) a,#gx-accueil-cms .gx-tpl [class*="-play"]:not([class*="-player"]):not([class*="-playing"]):not(button):not(a) button,#gx-accueil-cms .gx-tpl .products-vedette-v2-quick button{pointer-events:auto}/* Filet de securite (meme regle que le script des liens video de la page) :
   un lecteur, la carte MyTube en lecture et un bouton gardent le clic,
   meme si une ancienne copie de la regle « -play » revenait. */
#gx-accueil-cms .gx-tpl.gx-tpl [class*="-player"],#gx-accueil-cms .gx-tpl.gx-tpl .gxt-card--playing,#gx-accueil-cms .gx-tpl.gx-tpl .gx-joue,#gx-accueil-cms .gx-tpl.gx-tpl .gx-lecteur,#gx-accueil-cms .gx-tpl.gx-tpl .gx-lecteur iframe,#gx-accueil-cms .gx-tpl.gx-tpl .gx-lecteur video,#gx-accueil-cms .gx-tpl.gx-tpl .gx-lecteur-fermer,#gx-accueil-cms .gx-tpl.gx-tpl button[class*="-pill"]{pointer-events:auto}/* GX:EXECUTION debut — bloc repris tel quel par cms:fix-goexploria-template *//* §5 - etat d'execution. Ces deux regles ne servent qu'au script : la classe
   vit sur <html>, hors du contenu enregistre, et .gx-off est effacee par le
   prelude a chaque chargement. */
html.gx-tpl-verrou,html.gx-tpl-verrou body{ overflow: hidden; }
#gx-accueil-cms .gx-tpl .gx-off{ display: none !important; }/* Lecteur sur place : l'iframe occupe exactement la tuile cliquee, et les
   calques de la vignette s'effacent le temps de la lecture. */
#gx-accueil-cms .gx-tpl .gx-lecteur{ position: absolute; inset: 0; z-index: 5; background: #000; }
#gx-accueil-cms .gx-tpl .gx-lecteur iframe{ display: block; width: 100%; height: 100%; border: 0; }
#gx-accueil-cms .gx-tpl .gx-lecteur-fermer{
    position: absolute; top: 8px; right: 8px; z-index: 6;
    display: flex; align-items: center; justify-content: center;
    width: 30px; height: 30px; border-radius: 50%;
    background: rgba(0,0,0,.62); color: #fff;
    font: 700 20px/1 system-ui, sans-serif; cursor: pointer;
}
#gx-accueil-cms .gx-tpl .gx-lecteur-fermer:hover{ background: rgba(0,0,0,.85); }
#gx-accueil-cms .gx-tpl .gx-joue > *:not(.gx-lecteur){ opacity: 0; pointer-events: none; }/* Une source .mp4 se joue dans une <video> : elle doit occuper exactement la
   place que prenait le cadre d'integration. */
#gx-accueil-cms .gx-tpl .gx-lecteur video{ display: block; width: 100%; height: 100%; border: 0; background: #000; object-fit: contain; }
#gx-accueil-cms .gx-tpl .bt-carousel-stage video,#gx-accueil-cms .gx-tpl .video-player-v2-main video,#gx-accueil-cms .gx-tpl .gxt-player-frame video{
    position: absolute; inset: 0; z-index: 5;
    display: block; width: 100%; height: 100%; border: 0; background: #000;
}/* §4 — dans l'editeur, tout le contenu doit rester atteignable. Les scripts
   y sont desarmes : sans ces regles, les onglets de nouvelles et les
   diapositives de creation ne s'ouvriraient jamais, et leurs images
   resteraient hors de portee. */
html.gx-tpl-edition .gx-tpl .nv-tab-panel{ display: block; }
html.gx-tpl-edition .gx-tpl .creation-slider{ aspect-ratio: auto; height: auto; overflow: visible; }
html.gx-tpl-edition .gx-tpl .creation-slide{ position: relative; opacity: 1; transition: none; }
/* GX:EXECUTION fin */

/* ── Correctifs responsive (audit du 2026-10-14) ───────────────────────────
   Contrôle automatique de la page d'accueil en 375 / 768 / 1280 px : aucun
   débordement horizontal, mais des textes superposés sur mobile. */

/* Galeries médias : sur téléphone une petite tuile mesure ~174 × 89 px ;
#gx-accueil-cms le
   titre et sa description (2 à 3 lignes) remontaient jusque sous le badge
   « hot » / « new ». La petite tuile n'y garde que son titre. */
@media (max-width: 600px){
    .gx-tpl .mss-gallery-tile .mss-gallery-desc { display: none; }
}

/* « Audit SEO » : le badge flottant « Analyse IA intégrée » recouvrait le
   badge « Audit SEO offert » une fois les colonnes empilées. */
@media (max-width: 600px) {
#gx-accueil-cms .gx-tpl .nl-seo-hero-visual .nl-ai-badge{
        position: static;
        display: inline-flex;
        margin: 0 0 12px;
    }
}
#gx-accueil-cms #vp-reseaux > .video-player-v2-container > .vp-network-section > .vp-network-head > p{
	font-size: 20px;
}