/*
Theme Name: SKT Trekking Child
Theme URI: https://www.sktthemes.org/shop/free-rock-climbing-wordpress-theme/
Template: skt-trekking
Author: SKT Themes
Author URI: https://wordpress.org/themes/author/sonalsinha21/
Description: SKT Trekking is an adventure camp thrilling exciting sports adrenaline rush activities summer camping for kids mountaineering and other activities like travel, jungle safari, destination, holiday, tourism, tours, backpacking, camping, climbing, fishing, hiking, nature, outdoor, running, surfing, rafting, cruise, trip, itineraries, hunting, railing, skating, skiing, water games. Tour hotel restaurant operators food drink and bed and breakfast motels airlines vacation portals travel agents can also operate this kind of business to attract more tourists. SEO friendly, easy to use, flexible and scalable. WooCommerce plug and play for shop. Compatible with contact form for call to action. Booking plugins can also be integrated easily. Documentation: https://www.sktthemesdemo.net/documentation/skt-trekking-doc/
Tags: two-columns,right-sidebar,full-width-template,custom-background,custom-colors,custom-menu,sticky-post,theme-options,threaded-comments,featured-images,footer-widgets,translation-ready,rtl-language-support,custom-logo,editor-style,custom-header,blog,e-commerce,portfolio
Version: 2.1.1778759567
Updated: 2026-05-14 13:52:47

*/



/* === SEO fix : masquer visuellement le site-title (rendu en span par functions.php) === */
.site-title {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
}


/* =====================================================
   AU VELO D'OR — DESIGN OVERRIDES v2 (style Nooka)
   Header transparent, sticky avec fond violet de marque,
   menu blanc partout, item actif en jaune.
   ===================================================== */

/* (consolidated into single :root above) */

/* ---------- HEADER FIXE TRANSPARENT ---------- */
#main-set {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 9990;
    background: transparent;
    box-shadow: none;
    transition: background 0.35s ease, box-shadow 0.35s ease, padding 0.35s ease;
}

.admin-bar #main-set { top: 32px; }
@media screen and (max-width: 782px) {
    .admin-bar #main-set { top: 46px; }
}

/* État sticky : fond violet de marque + ombre */
#main-set.is-scrolled {
    background: var(--avd-blanc);
    box-shadow: 0 4px 18px rgba(30, 20, 61, 0.08);
}

#main-set .header { transition: padding 0.35s ease; }
#main-set.is-scrolled .header {
    padding-top: 8px;
    padding-bottom: 8px;
}

/* ---------- LOGO : drop-shadow pour visibilité sur tout fond ---------- */
#main-set .custom-logo {
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.35));
    transition: filter 0.35s ease, max-height 0.35s ease;
}
#main-set.is-scrolled .custom-logo {
    filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.2));
}

/* ---------- MENU : BLANC PARTOUT (style Nooka) ---------- */
#main-set nav a,
#main-set .nav-menu a,
#main-set ul.menu a,
#main-set .menu-item a {
    color: var(--avd-blanc) !important;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
    transition: color 0.3s ease, text-shadow 0.3s ease;
}

/* Sur fond blanc (scroll), liens violet foncé selon charte */
#main-set.is-scrolled nav a,
#main-set.is-scrolled .nav-menu a,
#main-set.is-scrolled ul.menu a,
#main-set.is-scrolled .menu-item a {
    color: var(--avd-violet-dark) !important;
    text-shadow: none;
}
#main-set.is-scrolled nav a:hover,
#main-set.is-scrolled .nav-menu a:hover,
#main-set.is-scrolled ul.menu a:hover {
    color: var(--avd-violet-light) !important;
}
#main-set.is-scrolled .current-menu-item > a,
#main-set.is-scrolled .current_page_item > a,
#main-set.is-scrolled li.current-menu-item a,
#main-set.is-scrolled li.current_page_item a {
    color: var(--avd-violet-light) !important;
}

/* Item actif toujours en jaune (sur image et sur violet) */
#main-set .current-menu-item > a,
#main-set .current_page_item > a,
#main-set li.current-menu-item a,
#main-set li.current_page_item a {
    color: var(--avd-jaune) !important;
}

/* ---------- DRAPEAU POLYLANG : visible et propre ---------- */
#main-set .lang-item img,
#main-set li.lang-item img {
    filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.4));
    border-radius: 2px;
}
#main-set.is-scrolled .lang-item img {
    filter: none;
}

/* ---------- PAGES SANS HERO — CHARTE 2026 (header blanc) ---------- */
body:not(.home) #main-set {
    background: var(--avd-blanc);
    box-shadow: 0 2px 10px rgba(30, 20, 61, 0.08);
}
body:not(.home) #main-set .custom-logo {
    filter: none;
}
body:not(.home) #main-set nav a,
body:not(.home) #main-set .nav-menu a,
body:not(.home) #main-set ul.menu a,
body:not(.home) #main-set .menu-item a {
    color: var(--avd-violet-dark) !important;
    text-shadow: none;
    font-weight: 400;
}
body:not(.home) #main-set nav a:hover,
body:not(.home) #main-set .nav-menu a:hover,
body:not(.home) #main-set ul.menu a:hover,
body:not(.home) #main-set .menu-item a:hover {
    color: var(--avd-violet-light) !important;
}
body:not(.home) #main-set .current-menu-item > a,
body:not(.home) #main-set .current_page_item > a,
body:not(.home) #main-set li.current-menu-item a,
body:not(.home) #main-set li.current_page_item a {
    color: var(--avd-violet-light) !important;
}
body:not(.home) #main-set .lang-item img {
    filter: none;
}

/* Compenser le header fixed sur les pages sans hero */
body:not(.home) {
    padding-top: 130px;
}
@media (max-width: 768px) {
    body:not(.home) { padding-top: 90px; }
}


/* ---------- FIX : rendre .header (enfant de #main-set) transparent ---------- */
/* Le thème SKT met un background blanc sur .header — on le force à transparent */
#main-set .header,
#main-set .container {
    background: transparent !important;
    box-shadow: none !important;
}


/* ---------- FIX : item actif jaune dans TOUS les états ---------- */
/* Spécificité augmentée pour battre les règles plus spécifiques de l'état scrolled */
body #main-set .current-menu-item > a,
body #main-set .current_page_item > a,
body #main-set.is-scrolled .current-menu-item > a,
body #main-set.is-scrolled .current_page_item > a,
body #main-set li.current-menu-item > a,
body #main-set li.current_page_item > a {
    color: var(--avd-jaune) !important;
}


/* ================================================================
   === BEGIN HEADER REFONTE — Au Vélo d'Or — Vague 1 ===
   Header transparent sur hero, sticky violet au scroll
   Desktop : logo gauche + menu droite alignés en flex horizontal
   Mobile : hamburger gauche + logo centré + menu déployé en panneau
   Pour retirer : supprimer tout entre BEGIN et END HEADER REFONTE
   ================================================================ */
:root {
  /* === BRAND PALETTE 2026 === */
  --avd-violet: #392D5D;          /* Mauve historique : footer, H3 */
  --avd-violet-dark: #1E143D;     /* Mauve ultra sombre : H1/H2, liens */
  --avd-violet-light: #6352A9;    /* Mauve énergie : hover, accent */
  --avd-jaune: #FFD400;           /* Jaune charte : CTA principal */
  --avd-blanc: #FFFFFF;
  --avd-grey-bg: #F8F7FA;         /* Gris-mauve : sections alternées */
  --avd-text: #3A354A;            /* Texte corps : gris mauvé doux */
  --avd-shadow: 0 4px 18px rgba(30, 20, 61, 0.10);
}
#main-set {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 9999;
    background: transparent;
    transition: background-color 280ms ease, box-shadow 280ms ease, padding 200ms ease;
    padding: 0;
    border: 0;
}
body.admin-bar #main-set { top: 32px; }
@media screen and (max-width: 782px) {
    body.admin-bar #main-set { top: 46px; }
}
body.home #content, body.home main { margin-top: 0; }
#main-set .header { padding: 0; background: transparent; }
#main-set .header .container {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    padding: 14px 32px;
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
}
#main-set .header .container .clear { display: none !important; }
#main-set .logo {
    flex: 0 0 auto;
    padding: 0;
    margin: 0;
    line-height: 0;
    width: auto;
    text-align: left;
}
#main-set .logo .custom-logo-link { display: block; }
#main-set .logo img.custom-logo {
    height: 60px;
    width: auto;
    max-width: 100%;
    transition: height 220ms ease;
}
#main-set .fullnavig {
    flex: 0 1 auto;
    padding: 0;
    margin: 0;
    width: auto;
    background: transparent;
}
#main-set .main-navigation { background: transparent; float: none; width: auto; }
#main-set .main-navigation ul.primary-menu {
    display: flex;
    align-items: center;
    gap: 32px;
    margin: 0;
    padding: 0;
    list-style: none;
}
#main-set .main-navigation ul.primary-menu li {
    margin: 0;
    padding: 0;
    float: none;
    border: 0;
}
#main-set .main-navigation ul.primary-menu > li > a {
    color: #ffffff;
    font-size: 16px;
    font-weight: 600;
    text-transform: none;
    padding: 8px 4px;
    transition: color 200ms ease;
    text-decoration: none;
    display: block;
    line-height: 1.2;
    background: transparent;
    border: 0;
}
#main-set .main-navigation ul.primary-menu > li.current-menu-item > a,
#main-set .main-navigation ul.primary-menu > li > a:hover {
    color: var(--avd-jaune);
}
#main-set.is-scrolled {
    background-color: var(--avd-violet);
    box-shadow: var(--avd-shadow);
}
#main-set.is-scrolled .header .container { padding: 8px 32px; }
#main-set.is-scrolled .logo img.custom-logo { height: 48px; }
#main-set .menu-toggle {
    display: none;
    background: transparent;
    border: 0;
    padding: 10px;
    cursor: pointer;
    width: 44px;
    height: 44px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
}
#main-set .menu-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--avd-violet-dark);
    transition: all 220ms ease;
    border-radius: 2px;
}
@media screen and (max-width: 991px) {
    #main-set .header .container {
        padding: 10px 16px;
        flex-wrap: wrap;
        position: relative;
        justify-content: center;
    }
    #main-set .menu-toggle {
        display: flex;
        position: absolute;
        left: 16px;
        top: 50%;
        transform: translateY(-50%);
        z-index: 2;
    }
    #main-set .logo {
        flex: 0 1 auto;
        margin: 0 auto;
        text-align: center;
    }
    #main-set .logo img.custom-logo { height: 44px; }
    #main-set .fullnavig {
        flex-basis: 100%;
        order: 3;
    }
    #main-set .main-navigation ul.primary-menu {
        flex-direction: column;
        gap: 0;
        background: var(--avd-violet);
        padding: 0;
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        transition: max-height 280ms ease, opacity 200ms ease, padding 200ms ease;
        width: 100%;
        margin-top: 10px;
    }
    #main-set .main-navigation.toggled ul.primary-menu {
        max-height: 70vh;
        opacity: 1;
        padding: 16px 0;
        overflow-y: auto;
    }
    #main-set .main-navigation ul.primary-menu > li {
        width: 100%;
        text-align: center;
        border-bottom: 1px solid rgba(255,255,255,0.08);
    }
    #main-set .main-navigation ul.primary-menu > li:last-child { border-bottom: 0; }
    #main-set .main-navigation ul.primary-menu > li > a {
        color: #ffffff !important;
        padding: 16px 24px;
        font-size: 17px;
    }
    #main-set .main-navigation ul.primary-menu > li.current-menu-item > a {
        color: var(--avd-jaune) !important;
    }
    #main-set.is-scrolled .logo img.custom-logo { height: 36px; }
    #main-set.is-scrolled .header .container { padding: 6px 16px; }
}
@media screen and (max-width: 480px) {
    #main-set .header .container { padding: 8px 12px; }
    #main-set .logo img.custom-logo { height: 40px; }
    #main-set.is-scrolled .logo img.custom-logo { height: 34px; }
}
/* === END HEADER REFONTE === */


/* ================================================================
   === BEGIN MOBILE DRAWER — Au Vélo d'Or — Vague 1.1 ===
   Override de la portion mobile : remplace le dropdown du haut
   par un drawer slide-left blanc avec overlay sombre + croix X
   ================================================================ */
@media screen and (max-width: 991px) {
    /* Drawer panel : slide depuis la gauche */
    #main-set .fullnavig {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        height: 100vh;
        width: 85vw;
        max-width: 360px;
        background: #ffffff;
        transform: translateX(-100%);
        transition: transform 320ms ease;
        z-index: 10000;
        flex-basis: auto;
        margin: 0;
        padding: 64px 0 20px 0;
        box-shadow: 4px 0 24px rgba(0,0,0,0.15);
        overflow-y: auto;
        max-height: 100vh;
    }
    body.admin-bar #main-set .fullnavig {
        padding-top: 96px;
    }
    #main-set.menu-open .fullnavig {
        transform: translateX(0);
    }
    /* Overlay sombre */
    #main-set::before {
        content: '';
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.5);
        opacity: 0;
        visibility: hidden;
        transition: opacity 280ms ease, visibility 280ms ease;
        z-index: 9998;
        pointer-events: none;
    }
    #main-set.menu-open::before {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }
    /* Menu items dans le drawer */
    #main-set .main-navigation { background: transparent; }
    #main-set .main-navigation ul.primary-menu {
        flex-direction: column;
        gap: 0;
        background: transparent;
        padding: 0;
        max-height: none;
        overflow: visible;
        opacity: 1;
        width: 100%;
        margin: 0;
    }
    #main-set .main-navigation ul.primary-menu > li {
        width: 100%;
        text-align: left;
        border-bottom: 1px solid rgba(0,0,0,0.06);
    }
    #main-set .main-navigation ul.primary-menu > li:last-child {
        border-bottom: 0;
    }
    #main-set .main-navigation ul.primary-menu > li > a {
        color: var(--avd-violet-dark) !important;
        padding: 18px 28px;
        font-size: 19px;
        font-weight: 500;
    }
    #main-set .main-navigation ul.primary-menu > li > a:hover {
        color: var(--avd-violet-light) !important;
    }
    #main-set .main-navigation ul.primary-menu > li.current-menu-item > a {
        color: var(--avd-violet-light) !important;
        font-weight: 600;
    }
    /* Croix fermeture en haut gauche du drawer */
    #main-set .drawer-close {
        position: absolute;
        top: 16px;
        left: 16px;
        width: 36px;
        height: 36px;
        background: transparent;
        border: 0;
        cursor: pointer;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 24px;
        color: var(--avd-violet);
        z-index: 10001;
        line-height: 1;
        font-family: Arial, sans-serif;
        font-weight: 300;
    }
    body.admin-bar #main-set .drawer-close {
        top: 48px;
    }
    /* Hamburger caché quand drawer ouvert */
    #main-set.menu-open .menu-toggle {
        opacity: 0;
        pointer-events: none;
    }
}
/* === END MOBILE DRAWER === */


/* === FIX : croix drawer cachée en desktop === */
#main-set .drawer-close {
    display: none; /* drawer-close hidden desktop par défaut */
}
@media screen and (max-width: 991px) {
    #main-set .drawer-close {
        display: flex;
    }
}


/* ================================================================
   === BEGIN HEADER V2 — Au Vélo d'Or — Vague 1.2 ===
   Ajustements : logo agrandi, marges latérales, menu aligné gauche,
   drapeau langue à droite, fix hamburger mobile, scroll-to-top button
   ================================================================ */

/* Logo agrandi : +10% desktop, +20% mobile */
#main-set .logo img.custom-logo { height: 66px !important; }
#main-set.is-scrolled .logo img.custom-logo { height: 54px !important; }

/* Marges latérales symétriques (desktop) */
#main-set .header .container {
    padding-left: 60px !important;
    padding-right: 60px !important;
    justify-content: flex-start !important;
    gap: 48px;
}
#main-set.is-scrolled .header .container {
    padding-left: 60px !important;
    padding-right: 60px !important;
}

/* Le menu s'aligne juste après le logo */
#main-set .fullnavig {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
}
#main-set .main-navigation ul.primary-menu {
    justify-content: flex-start;
    width: 100%;
}

/* Drapeau langue (Polylang) poussé à droite */
#main-set .main-navigation ul.primary-menu > li.pll-parent-menu-item {
    margin-left: auto;
}

/* ============ MOBILE FIXES ============ */
@media screen and (max-width: 991px) {
    /* Logo mobile +20% : 44 → 53 */
    #main-set .logo img.custom-logo { height: 53px !important; }
    #main-set.is-scrolled .logo img.custom-logo { height: 44px !important; }
    
    /* Reset desktop overrides en mobile */
    #main-set .header .container {
        padding-left: 16px !important;
        padding-right: 16px !important;
        justify-content: center !important;
        gap: 0;
    }
    #main-set.is-scrolled .header .container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    
    /* fullnavig redevient drawer comme avant */
    #main-set .fullnavig {
        display: block;
    }
    
    /* Hamburger : SORT du transform parent grâce au JS qui le déplace dans .header .container */
    /* Et il a sa propre position fixed pour rester visible */
    #main-set .header .container > .menu-toggle {
        position: absolute;
        left: 16px;
        top: 50%;
        transform: translateY(-50%);
        display: flex;
        z-index: 10001;
    }
    
    /* Empêcher l'ancienne menu-toggle dans .fullnavig (si JS pas encore tourné) */
    #main-set .fullnavig .menu-toggle {
        display: none !important;
    }
}

/* ============ SCROLL TO TOP BUTTON ============ */
#avd-scroll-top {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--avd-violet);
    color: #ffffff;
    border: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 16px rgba(0,0,0,0.18);
    opacity: 0;
    visibility: hidden;
    transition: opacity 280ms ease, visibility 280ms ease, transform 200ms ease, background 200ms ease;
    z-index: 9990;
    padding: 0;
    font-family: Arial, sans-serif;
    font-size: 22px;
    line-height: 1;
}
#avd-scroll-top.is-visible {
    opacity: 1;
    visibility: visible;
}
#avd-scroll-top:hover {
    background: var(--avd-violet-light);
    transform: translateY(-3px);
}
#avd-scroll-top svg {
    width: 20px;
    height: 20px;
    stroke: #ffffff;
    fill: none;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}
@media screen and (max-width: 480px) {
    #avd-scroll-top {
        bottom: 16px;
        right: 16px;
        width: 44px;
        height: 44px;
    }
}
/* === END HEADER V2 === */


/* ================================================================
   === BEGIN HEADER V2 EXTRAS — Loupe + Switch langue pill ===
   ================================================================ */
.avd-header-actions {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-left: 12px;
    flex: 0 0 auto;
}
.avd-search-btn {
    background: transparent;
    border: 0;
    cursor: pointer;
    color: var(--avd-violet-dark);
    padding: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 200ms ease, transform 200ms ease;
}
.avd-search-btn svg { width: 22px; height: 22px; stroke: currentColor; stroke-width: 2; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.avd-search-btn:hover { color: var(--avd-jaune); transform: scale(1.08); }
.avd-lang-pill-wrap { position: relative; }
.avd-lang-pill {
    background: transparent;
    border: 1px solid rgba(30, 20, 61, 0.18);
    cursor: pointer;
    color: var(--avd-violet-dark);
    padding: 6px 12px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    transition: background 200ms ease, border-color 200ms ease;
}
.avd-lang-pill:hover { background: rgba(255,255,255,0.12); border-color: rgba(255,255,255,0.7); }
.avd-lang-pill img { width: 20px; height: 14px; display: block; border-radius: 2px; object-fit: cover; }
.avd-lang-pill svg { width: 12px; height: 12px; stroke: currentColor; stroke-width: 2; fill: none; stroke-linecap: round; stroke-linejoin: round; transition: transform 200ms ease; }
.avd-lang-pill.is-active svg { transform: rotate(180deg); }
.avd-lang-dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 8px;
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0 8px 28px rgba(0,0,0,0.18);
    padding: 6px 0;
    min-width: 160px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity 200ms ease, visibility 200ms ease, transform 200ms ease;
    z-index: 10001;
}
.avd-lang-dropdown.is-open { opacity: 1; visibility: visible; transform: translateY(0); }
.avd-lang-dropdown a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    color: var(--avd-violet);
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
}
.avd-lang-dropdown a img { width: 20px; height: 14px; border-radius: 2px; object-fit: cover; }
.avd-lang-dropdown a:hover { background: rgba(0,0,0,0.04); color: var(--avd-violet-light); }

/* Cacher l'item drapeau Polylang du menu principal (on a le pill à la place) */
#main-set .main-navigation ul.primary-menu > li.pll-parent-menu-item { display: none !important; }

/* Search modal */
.avd-search-modal {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.88);
    z-index: 20000;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 18vh;
    opacity: 0;
    visibility: hidden;
    transition: opacity 280ms ease, visibility 280ms ease;
}
.avd-search-modal.is-open { opacity: 1; visibility: visible; }
.avd-search-modal form {
    width: min(640px, 90vw);
    display: flex;
    align-items: center;
    gap: 12px;
    border-bottom: 2px solid #ffffff;
    padding-bottom: 10px;
}
.avd-search-modal input[type=search] {
    flex: 1;
    background: transparent;
    border: 0;
    outline: 0;
    color: #ffffff;
    font-size: 28px;
    padding: 0;
    font-family: inherit;
}
.avd-search-modal input[type=search]::placeholder { color: rgba(255,255,255,0.5); }
.avd-search-modal form button[type=submit] {
    background: transparent;
    border: 0;
    cursor: pointer;
    color: #ffffff;
    padding: 4px;
}
.avd-search-modal form button[type=submit] svg { width: 28px; height: 28px; stroke: currentColor; stroke-width: 2; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.avd-search-close {
    position: absolute;
    top: 32px;
    right: 32px;
    color: #ffffff;
    background: transparent;
    border: 0;
    font-size: 32px;
    cursor: pointer;
    line-height: 1;
    font-family: Arial, sans-serif;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.avd-search-close:hover { color: var(--avd-jaune); }

/* Mobile : cacher la pill et la loupe du header (intégrés dans le drawer plus tard) */
@media screen and (max-width: 991px) {
    .avd-header-actions { display: none; }
}
/* === END HEADER V2 EXTRAS === */


/* ================================================================
   === BEGIN OVERLAY FIX — Drawer mobile clickable ===
   Remplace #main-set::before (pseudo-element peu fiable)
   par un vrai .avd-overlay div injecté dans le body via JS
   ================================================================ */

/* Neutraliser l'ancien overlay pseudo-element */
#main-set::before { content: none !important; display: none !important; }

/* Vrai overlay div (créé par JS dans body) */
.avd-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
    transition: opacity 280ms ease, visibility 280ms ease;
    z-index: 9995;
    pointer-events: none;
}
.avd-overlay.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* Le drawer .fullnavig en mobile doit être au-dessus de l'overlay */
@media screen and (max-width: 991px) {
    #main-set .fullnavig {
        z-index: 99999 !important; /* bien au-dessus de l'overlay */
    }
    #main-set .drawer-close {
        z-index: 100000 !important;
    }
}
/* === END OVERLAY FIX === */


/* === FIX : retirer le text-shadow des liens du drawer mobile === */
/* drawer text-shadow neutralize */
@media screen and (max-width: 991px) {
    #main-set .fullnavig,
    #main-set .fullnavig *,
    #main-set .main-navigation ul.primary-menu > li > a,
    #main-set .main-navigation ul.primary-menu > li > a span,
    #main-set .drawer-close {
        text-shadow: none !important;
    }
}


/* ================================================================
   === BEGIN MOBILE HEADER ACTIONS — Loupe + pill visibles mobile ===
   Override de l'ancien display:none
   ================================================================ */
@media screen and (max-width: 991px) {
    /* Layout mobile : flex row, espace équilibré */
    #main-set .header .container {
        justify-content: space-between !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        gap: 8px;
        position: relative;
    }
    #main-set.is-scrolled .header .container {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    
    /* Hamburger : reste absolu à gauche */
    #main-set .header .container > .menu-toggle {
        position: relative;
        left: auto;
        top: auto;
        transform: none;
        flex: 0 0 auto;
        order: 1;
    }
    
    /* Logo plus compact en mobile pour faire de la place */
    #main-set .logo {
        flex: 0 1 auto;
        margin: 0 auto 0 4px;
        order: 2;
    }
    #main-set .logo img.custom-logo { height: 40px !important; }
    #main-set.is-scrolled .logo img.custom-logo { height: 36px !important; }
    
    /* Actions header (loupe + pill) visibles à droite */
    #main-set .avd-header-actions {
        display: flex !important;
        order: 3;
        flex: 0 0 auto;
        margin-left: 0;
        gap: 10px;
    }
    
    /* Loupe plus compacte */
    #main-set .avd-search-btn {
        padding: 6px;
    }
    #main-set .avd-search-btn svg { width: 20px; height: 20px; }
    
    /* Pill langue plus compact (drapeau plus petit, padding réduit) */
    #main-set .avd-lang-pill {
        padding: 5px 9px;
        gap: 5px;
        font-size: 13px;
    }
    #main-set .avd-lang-pill img {
        width: 18px;
        height: 12px;
    }
    #main-set .avd-lang-pill svg {
        width: 10px;
        height: 10px;
    }
}

/* Très petit téléphone : encore plus compact */
@media screen and (max-width: 380px) {
    #main-set .logo img.custom-logo { height: 36px !important; }
    #main-set .header .container { gap: 4px; padding-left: 8px !important; padding-right: 8px !important; }
    #main-set .avd-header-actions { gap: 6px; }
    #main-set .avd-lang-pill { padding: 4px 8px; }
    #main-set .avd-lang-pill img { width: 16px; height: 11px; }
}
/* === END MOBILE HEADER ACTIONS === */


/* ================================================================
   === BEGIN REVIEWS STYLING — Cards avis Site Reviews + Slick ===
   ================================================================ */
.glsr-reviews-wrap { padding: 20px 0; }

.glsr-reviews {
    display: block !important;
    margin: 0;
    padding: 0;
}
.glsr-reviews .slick-track { display: flex !important; align-items: stretch; }
.glsr-reviews .slick-slide { height: auto; padding: 14px; box-sizing: border-box; }
.glsr-reviews .slick-slide > div { height: 100%; }

/* Card d'avis */
.glsr-reviews .glsr-review {
    background: #ffffff;
    border-radius: 14px;
    padding: 28px 24px;
    height: 100%;
    box-shadow: 0 6px 22px rgba(0,0,0,0.07);
    border: 1px solid rgba(0,0,0,0.04);
    display: flex;
    flex-direction: column;
    gap: 12px;
    box-sizing: border-box;
}
.glsr-reviews.avd-carousel .glsr-review-rating { order: 1; }
.glsr-reviews.avd-carousel .glsr-review-rating .glsr-star { color: var(--avd-jaune) !important; }
.glsr-reviews.avd-carousel .glsr-review-rating svg { fill: var(--avd-jaune) !important; }
.glsr-reviews.avd-carousel .glsr-review-title { 
    order: 2; 
    font-weight: 700; 
    color: var(--avd-violet);
    font-size: 17px;
    line-height: 1.3;
    margin: 0;
}
.glsr-reviews.avd-carousel .glsr-review-content { 
    order: 3; 
    color: #333;
    font-size: 15px;
    line-height: 1.55;
    flex: 1;
}
.glsr-reviews.avd-carousel .glsr-review-author { 
    order: 4; 
    color: var(--avd-violet);
    font-weight: 600;
    font-size: 14px;
    margin-top: 4px;
}
.glsr-reviews.avd-carousel .glsr-review-date { 
    order: 5; 
    color: #888;
    font-size: 12px;
    margin: 0;
}
.glsr-reviews.avd-carousel .glsr-review-response { display: none; }

/* Flèches Slick */
.glsr-reviews .slick-prev, .glsr-reviews .slick-next {
    width: 44px;
    height: 44px;
    z-index: 2;
    background: #ffffff;
    border-radius: 50%;
    box-shadow: 0 3px 10px rgba(0,0,0,0.1);
    transition: background 200ms ease;
}
.glsr-reviews .slick-prev { left: -10px; }
.glsr-reviews .slick-next { right: -10px; }
.glsr-reviews .slick-prev:hover, .glsr-reviews .slick-next:hover { background: var(--avd-jaune); }
.glsr-reviews .slick-prev:before, .glsr-reviews .slick-next:before { 
    color: var(--avd-violet) !important; 
    font-size: 20px;
    opacity: 1;
}

/* Dots Slick */
.glsr-reviews .slick-dots { bottom: -36px; }
.glsr-reviews .slick-dots li button:before { 
    color: var(--avd-violet) !important; 
    opacity: 0.3; 
    font-size: 10px;
}
.glsr-reviews .slick-dots li.slick-active button:before { 
    opacity: 1;
    color: var(--avd-jaune) !important; 
}

/* Marge sous le carousel pour les dots */
.glsr-reviews-wrap { padding-bottom: 50px; }

/* Étoiles Site Reviews (couleur de marque) */
.glsr-star-full, .glsr-star-half, .glsr-star-empty {
    color: var(--avd-jaune) !important;
}

/* Mobile : ajustements */
@media screen and (max-width: 600px) {
    .glsr-reviews .glsr-review { padding: 22px 18px; }
    .glsr-reviews .slick-prev, .glsr-reviews .slick-next { display: none !important; }
}
/* === END REVIEWS STYLING === */


/* === REVIEWS MARGIN COMPACT — réduit les marges autour du carousel === */
.glsr-reviews-wrap {
    padding: 0 0 30px 0 !important;
    margin: 0 !important;
}
.glsr-reviews .slick-slide { padding: 6px !important; }
.glsr-reviews .slick-list { margin: 0 -6px; }
.glsr-reviews .slick-dots { bottom: -22px; margin: 0; }
.glsr-reviews-form,
.glsr-summary,
.glsr-no-results { margin: 0; }


/* ================================================================
   === BEGIN NATIVE CAROUSEL CSS — Carousel CSS scroll-snap ===
   Remplace les styles Slick. Pure CSS, marche partout, mobile fluide.
   ================================================================ */

/* Le container carousel */
.glsr-reviews.avd-carousel {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 16px;
    padding: 4px 8px 20px 8px;
    margin: 0;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.glsr-reviews.avd-carousel::-webkit-scrollbar { display: none; }

/* Les cards d'avis : largeur fixe pour calculer combien tiennent */
.glsr-reviews.avd-carousel > .glsr-review {
    flex: 0 0 calc((100% - 32px) / 3);
    scroll-snap-align: start;
    background: #ffffff;
    border-radius: 14px;
    padding: 28px 24px;
    box-shadow: 0 6px 22px rgba(0,0,0,0.07);
    border: 1px solid rgba(0,0,0,0.04);
    display: flex;
    flex-direction: column;
    gap: 12px;
    box-sizing: border-box;
}

@media (max-width: 991px) {
    .glsr-reviews.avd-carousel > .glsr-review {
        flex: 0 0 calc((100% - 16px) / 2);
    }
}
@media (max-width: 600px) {
    .glsr-reviews.avd-carousel > .glsr-review {
        flex: 0 0 88%;
    }
    .glsr-reviews.avd-carousel { padding: 4px 6vw 20px 6vw; gap: 12px; }
}

/* Flèches de navigation */
.glsr-reviews-wrap { position: relative; }
.avd-carousel-prev, .avd-carousel-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 0;
    background: #ffffff;
    color: var(--avd-violet);
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(0,0,0,0.12);
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 200ms ease, color 200ms ease;
    padding: 0;
    font-family: Arial, sans-serif;
    font-weight: 300;
}
.avd-carousel-prev { left: -8px; }
.avd-carousel-next { right: -8px; }
.avd-carousel-prev:hover, .avd-carousel-next:hover {
    background: var(--avd-jaune);
    color: var(--avd-violet);
}
@media (max-width: 600px) {
    .avd-carousel-prev, .avd-carousel-next { display: none; }
}

/* Styling interne des cards (déjà défini, on s'assure que c'est OK) */
.glsr-reviews.avd-carousel .glsr-review-rating { order: 1; }
.glsr-reviews.avd-carousel .glsr-review-rating .glsr-star,
.glsr-reviews.avd-carousel .glsr-review-rating svg,
.glsr-star-full, .glsr-star-half {
    color: var(--avd-jaune) !important;
    fill: var(--avd-jaune) !important;
}
.glsr-reviews.avd-carousel .glsr-review-title { order: 2; font-weight: 700; color: var(--avd-violet); font-size: 17px; line-height: 1.3; margin: 0; }
.glsr-reviews.avd-carousel .glsr-review-content { order: 3; color: #333; font-size: 15px; line-height: 1.55; flex: 1; }
.glsr-reviews.avd-carousel .glsr-review-author { order: 4; color: var(--avd-violet); font-weight: 600; font-size: 14px; margin-top: 4px; }
.glsr-reviews.avd-carousel .glsr-review-date { order: 5; color: #888; font-size: 12px; margin: 0; }
.glsr-reviews.avd-carousel .glsr-review-response { display: none; }
.glsr-reviews-wrap { padding: 0 0 30px 0; }
/* === END NATIVE CAROUSEL CSS === */


/* === BEGIN STICKY BG IMAGE — désactivé, fond uni rétabli === */
#main-set.is-scrolled {
    background-image: none !important;
    background-color: var(--avd-violet) !important;
}
/* === END STICKY BG IMAGE === */

/* === BEGIN HIDE PAGE BANNER — Cacher l'encart bleu titre sur toutes les pages Elementor === */
body.page-template-builder-fullwidth-std .inner-banner-thumb,
body.page-template-builder-fullwidth-std .banner-container {
    display: none !important;
}
/* === END HIDE PAGE BANNER === */


/* === BEGIN CF7 STYLING — Style propre pour Contact Form 7 === */
.wpcf7 {
    max-width: 720px;
    margin: 0 auto;
}
.wpcf7 .avd-form-row {
    margin-bottom: 20px;
}
.wpcf7 label {
    display: block;
    font-weight: 600;
    color: var(--avd-violet);
    font-size: 14px;
    margin-bottom: 6px;
}
.wpcf7 input[type=text],
.wpcf7 input[type=email],
.wpcf7 input[type=tel],
.wpcf7 input[type=number],
.wpcf7 input[type=date],
.wpcf7 select,
.wpcf7 textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1.5px solid #e0d8ed;
    border-radius: 8px;
    font-size: 15px;
    font-family: inherit;
    background: #ffffff;
    transition: border-color 200ms ease, box-shadow 200ms ease;
    box-sizing: border-box;
}
.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
    outline: none;
    border-color: var(--avd-violet-light);
    box-shadow: 0 0 0 3px rgba(111, 60, 183, 0.12);
}
.wpcf7 textarea {
    min-height: 120px;
    resize: vertical;
}
.wpcf7 .avd-form-submit {
    text-align: center;
    margin-top: 12px;
}
.wpcf7 input[type=submit] {
    background: var(--avd-jaune);
    color: var(--avd-violet);
    border: 0;
    padding: 14px 36px;
    font-size: 16px;
    font-weight: 700;
    border-radius: 999px;
    cursor: pointer;
    transition: background 200ms ease, transform 200ms ease, box-shadow 200ms ease;
    font-family: inherit;
}
.wpcf7 input[type=submit]:hover,
.wpcf7 input[type=submit]:focus {
    background: #FFE54D !important;
    color: var(--avd-violet) !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(61, 44, 95, 0.25);
}
.wpcf7-response-output {
    border-radius: 8px;
    padding: 14px 18px !important;
    border-left: 4px solid var(--avd-jaune) !important;
}
.wpcf7-not-valid-tip {
    color: #d9534f;
    font-size: 13px;
    margin-top: 4px;
}
.wpcf7 .wpcf7-spinner { display: none; }
.wpcf7 form.sent .wpcf7-response-output {
    border-color: #5cb85c !important;
}
/* Layout 3-col pour Nom/Email/Tel sur desktop */
@media (min-width: 768px) {
    .wpcf7 .avd-form-row { margin-bottom: 18px; }
}
/* === END CF7 STYLING === */


/* === BEGIN 404 PAGE — style moderne thème vélo === */
.avd-404 {
    padding: 80px 24px 100px;
    background: #ffffff;
    min-height: 70vh;
    display: flex;
    align-items: center;
}
.avd-404-wrap {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
}
.avd-404-illustration img {
    width: 100%;
    max-width: 520px;
    height: auto;
    display: block;
    margin: 0 auto;
    border-radius: 16px;
}
.avd-404-mini {
    color: var(--avd-violet-light);
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 13px;
    font-weight: 700;
    margin: 0 0 12px 0;
}
.avd-404-title {
    color: var(--avd-violet);
    font-size: 48px;
    line-height: 1.1;
    font-weight: 800;
    margin: 0 0 16px 0;
}
.avd-404-subtitle {
    color: #333;
    font-size: 20px;
    font-weight: 600;
    margin: 0 0 12px 0;
}
.avd-404-body {
    color: #555;
    font-size: 16px;
    line-height: 1.6;
    margin: 0 0 28px 0;
    max-width: 480px;
}
.avd-404-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 32px;
}
.avd-404-btn {
    display: inline-block;
    padding: 14px 30px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 700;
    font-size: 15px;
    transition: all 220ms ease;
}
.avd-404-btn-primary {
    background: var(--avd-jaune);
    color: var(--avd-violet);
}
.avd-404-btn-primary:hover {
    background: #FFE54D;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(61, 44, 95, 0.25);
    color: var(--avd-violet);
}
.avd-404-btn-secondary {
    background: transparent;
    border: 2px solid var(--avd-violet);
    color: var(--avd-violet);
}
.avd-404-btn-secondary:hover {
    background: var(--avd-violet);
    color: #fff;
}
.avd-404-ps {
    color: #888;
    font-size: 13px;
    font-style: italic;
    margin: 0;
}
/* Mobile responsive */
@media (max-width: 900px) {
    .avd-404 { padding: 60px 20px 80px; }
    .avd-404-wrap { grid-template-columns: 1fr; gap: 40px; text-align: center; }
    .avd-404-illustration img { max-width: 320px; }
    .avd-404-title { font-size: 34px; }
    .avd-404-subtitle { font-size: 18px; }
    .avd-404-body { max-width: none; margin-left: auto; margin-right: auto; }
    .avd-404-actions { justify-content: center; }
}
/* === END 404 PAGE === */


/* === BEGIN COMPLIANZ DOC STYLING — politique cookies/privacy === */
#cmplz-document {
    max-width: 880px;
    margin: 60px auto;
    padding: 50px 40px;
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 4px 22px rgba(0,0,0,0.06);
    border: 1px solid rgba(0,0,0,0.05);
    color: #333;
    line-height: 1.7;
    font-size: 15.5px;
    box-sizing: border-box;
}
#cmplz-document h1,
#cmplz-document h2,
#cmplz-document h3,
#cmplz-document h4 {
    color: var(--avd-violet);
    line-height: 1.3;
    margin-top: 32px;
    margin-bottom: 14px;
}
#cmplz-document h1 { font-size: 32px; margin-top: 0; }
#cmplz-document h2 { font-size: 24px; }
#cmplz-document h3 { font-size: 18px; }
#cmplz-document h4 { font-size: 16px; }
#cmplz-document p { margin-bottom: 14px; }
#cmplz-document a { color: var(--avd-violet-light); text-decoration: underline; }
#cmplz-document a:hover { color: var(--avd-violet); }
#cmplz-document table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    font-size: 14px;
    border-radius: 8px;
    overflow: hidden;
}
#cmplz-document table th,
#cmplz-document table td {
    padding: 10px 14px;
    border-bottom: 1px solid rgba(0,0,0,0.06);
    text-align: left;
    vertical-align: top;
}
#cmplz-document table th {
    background: rgba(61, 44, 95, 0.06);
    color: var(--avd-violet);
    font-weight: 700;
}
#cmplz-document ul,
#cmplz-document ol { padding-left: 24px; margin-bottom: 14px; }
#cmplz-document ul li,
#cmplz-document ol li { margin-bottom: 6px; }
#cmplz-document strong { color: var(--avd-violet); }
#cmplz-document hr { border: 0; border-top: 1px solid rgba(0,0,0,0.08); margin: 28px 0; }
@media (max-width: 768px) {
    #cmplz-document { margin: 30px 16px; padding: 30px 22px; border-radius: 10px; font-size: 15px; }
    #cmplz-document h1 { font-size: 26px; }
    #cmplz-document h2 { font-size: 20px; }
}
/* (règle générique .cmplz-document supprimée car englobait le footer) */
/* === END COMPLIANZ DOC STYLING === */


/* === BEGIN SITE REVIEWS BUTTONS — style cohérent avec les autres boutons === */
.glsr button[type=submit],
.glsr-button-submit,
.glsr-form button[type=submit],
.glsr [type=submit] {
    background: var(--avd-jaune) !important;
    color: var(--avd-violet) !important;
    border: 0 !important;
    padding: 14px 30px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border-radius: 999px !important;
    cursor: pointer;
    transition: background 200ms ease, transform 200ms ease, box-shadow 200ms ease, color 200ms ease;
    font-family: inherit;
    text-transform: none !important;
    letter-spacing: 0 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    display: inline-block;
}
.glsr button[type=submit]:hover,
.glsr-button-submit:hover,
.glsr-form button[type=submit]:hover,
.glsr [type=submit]:hover {
    background: #FFE54D !important;
    color: var(--avd-violet) !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(61, 44, 95, 0.25);
}
/* Champs du form Site Reviews avec style cohérent */
.glsr input[type=text],
.glsr input[type=email],
.glsr input[type=url],
.glsr textarea,
.glsr select {
    border: 1.5px solid #e0d8ed;
    border-radius: 8px;
    padding: 12px 14px;
    font-size: 15px;
    transition: border-color 200ms ease, box-shadow 200ms ease;
}
.glsr input[type=text]:focus,
.glsr input[type=email]:focus,
.glsr input[type=url]:focus,
.glsr textarea:focus,
.glsr select:focus {
    border-color: var(--avd-violet-light);
    box-shadow: 0 0 0 3px rgba(111, 60, 183, 0.12);
    outline: none;
}
.glsr label {
    color: var(--avd-violet);
    font-weight: 600;
}
/* === END SITE REVIEWS BUTTONS === */


/* === BEGIN REVIEWS LIST PAGE — style propre pour la page Avis (liste, pas carousel) === */
.glsr-reviews:not(.avd-carousel) {
    display: flex !important;
    flex-direction: column;
    gap: 20px;
    max-width: 880px;
    margin: 30px auto;
}
.glsr-reviews:not(.avd-carousel) .glsr-review {
    background: #ffffff;
    border-radius: 14px;
    padding: 28px 28px;
    box-shadow: 0 6px 22px rgba(0,0,0,0.07);
    border: 1px solid rgba(0,0,0,0.04);
}
.glsr-reviews:not(.avd-carousel) .glsr-review-rating { margin-bottom: 12px; }
.glsr-reviews:not(.avd-carousel) .glsr-review-rating svg,
.glsr-reviews:not(.avd-carousel) .glsr-star-full,
.glsr-reviews:not(.avd-carousel) .glsr-star-half { color: var(--avd-jaune) !important; fill: var(--avd-jaune) !important; }
.glsr-reviews:not(.avd-carousel) .glsr-review-title { font-weight: 700; color: var(--avd-violet); font-size: 18px; margin: 0 0 12px 0; line-height: 1.3; }
.glsr-reviews:not(.avd-carousel) .glsr-review-content { color: #333; font-size: 15px; line-height: 1.6; margin-bottom: 12px; }
.glsr-reviews:not(.avd-carousel) .glsr-review-author { color: var(--avd-violet); font-weight: 600; font-size: 14px; }
.glsr-reviews:not(.avd-carousel) .glsr-review-date { color: #888; font-size: 12px; margin-top: 4px; }
.glsr-reviews:not(.avd-carousel) .glsr-review-response { display: none; }
/* Formulaire d'avis (page Avis Clients) */
.glsr-form {
    max-width: 720px;
    margin: 0 auto;
}
/* === END REVIEWS LIST PAGE === */


/* ============================================ */
/* TARIFS PAGE - Modern card layout              */
/* ============================================ */
.avd-tarifs{max-width:1200px;margin:0 auto;padding:1rem;}
.avd-tarifs-intro{text-align:center;margin:0 auto 3rem;max-width:720px;font-size:1.1rem;color:#555;line-height:1.6;}

/* Grid 3 cards */
.avd-tarifs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-bottom:4rem;}
.avd-tarif-card{background:#fff;border:2px solid #f0eaf5;border-radius:16px;padding:2rem 1.5rem 1.5rem;box-shadow:0 4px 12px rgba(61,44,95,0.08);position:relative;transition:transform 0.2s ease, box-shadow 0.2s ease;}
.avd-tarif-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(61,44,95,0.15);}
.avd-tarif-featured{border-color:var(--avd-violet);background:linear-gradient(180deg,#fff 0%,#faf6ff 100%);}
.avd-tarif-badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--avd-jaune);color:var(--avd-violet);padding:6px 16px;border-radius:100px;font-size:0.85rem;font-weight:700;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,0.1);}
.avd-tarif-icon{font-size:3rem;text-align:center;margin:0 0 1.25rem;line-height:1;}
.avd-tarif-card h3{text-align:center;color:var(--avd-violet);margin:0 0 0.5rem;font-size:1.6rem;font-weight:700;}
.avd-tarif-subtitle{text-align:center;color:#888;font-size:0.9rem;margin:0 0 1.5rem;min-height:2.7em;line-height:1.4;}
.avd-tarif-prices{list-style:none;padding:0;margin:0;}
.avd-tarif-prices li{display:flex;justify-content:space-between;align-items:center;padding:0.85rem 0;border-bottom:1px solid #f0eaf5;}
.avd-tarif-prices li:last-child{border-bottom:none;}
.avd-tarif-prices span{color:#555;font-size:0.95rem;}
.avd-tarif-prices span em{color:#999;font-style:normal;font-size:0.85em;}
.avd-tarif-prices strong{color:var(--avd-violet);font-size:1.3rem;font-weight:700;letter-spacing:-0.02em;}

/* Cautions */
.avd-tarifs-cautions{margin-bottom:4rem;text-align:center;}
.avd-tarifs-cautions h2{color:var(--avd-violet);margin:0 0 1rem;font-size:2rem;}
.avd-section-lead{max-width:640px;margin:0 auto 2rem;color:#666;line-height:1.6;}
.avd-cautions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;}
.avd-caution-card{background:#f8f4fc;border-radius:14px;padding:2rem 1.5rem;text-align:center;border:1px solid #ece3f5;}
.avd-caution-label{color:var(--avd-violet);font-weight:700;font-size:1.05rem;margin-bottom:0.5rem;}
.avd-caution-amount{font-size:2rem;font-weight:800;color:var(--avd-violet);letter-spacing:-0.03em;}

/* Groupes */
.avd-tarifs-groupe{background:#594A9B;color:#fff;border-radius:20px;padding:3rem 2rem;margin-bottom:4rem;text-align:center;box-shadow:0 8px 32px rgba(61,44,95,0.2);}
.avd-groupe-icon{font-size:3.5rem;margin-bottom:0.5rem;line-height:1;}
.avd-tarifs-groupe h2{color:#fff;margin:0 0 0.5rem;font-size:2rem;}
.avd-groupe-tagline{font-size:1.5rem;color:var(--avd-jaune);font-weight:800;margin:0 0 1.5rem;letter-spacing:-0.01em;}
.avd-groupe-text{max-width:560px;margin:0 auto 1.5rem;line-height:1.6;opacity:0.95;}
.avd-groupe-list{list-style:none;padding:0;max-width:380px;margin:1.5rem auto 0;}
.avd-groupe-list li{padding:0.5rem 0;font-size:1.05rem;}
.avd-groupe-list li strong{color:var(--avd-jaune);font-weight:700;}
.avd-groupe-list li em{opacity:0.8;font-size:0.95em;}

/* Inclus */
.avd-tarifs-inclus{margin-bottom:4rem;text-align:center;}
.avd-tarifs-inclus h2{color:var(--avd-violet);margin:0 0 2rem;font-size:2rem;}
.avd-inclus-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;}
.avd-inclus-item{background:#fff;border:2px solid #f0eaf5;border-radius:14px;padding:1.25rem 1rem;font-weight:600;color:var(--avd-violet);text-align:center;transition:border-color 0.2s ease,transform 0.2s ease;}
.avd-inclus-item:hover{border-color:var(--avd-violet);transform:translateY(-2px);}
.avd-inclus-item span{font-size:2rem;display:block;margin-bottom:0.5rem;line-height:1;}

/* CTAs */
.avd-tarifs-cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:2rem;}
.avd-tarifs .avd-btn-primary,
.avd-tarifs .avd-btn-secondary{display:inline-block;padding:0.95rem 2rem;border-radius:100px;font-weight:700;text-decoration:none;font-size:1rem;transition:transform 0.2s ease,box-shadow 0.2s ease;}
.avd-tarifs .avd-btn-primary{background:var(--avd-violet);color:#fff;}
.avd-tarifs .avd-btn-secondary{background:var(--avd-jaune);color:var(--avd-violet);}
.avd-tarifs .avd-btn-primary:hover,
.avd-tarifs .avd-btn-secondary:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(61,44,95,0.25);}

/* Mobile tweaks */
@media (max-width: 640px){
  .avd-tarifs-groupe{padding:2rem 1.5rem;}
  .avd-groupe-tagline{font-size:1.25rem;}
  .avd-tarif-card{padding:1.75rem 1.25rem 1.25rem;}
  .avd-tarifs-cta{flex-direction:column;}
  .avd-tarifs .avd-btn-primary,
  .avd-tarifs .avd-btn-secondary{width:100%;text-align:center;}
}
/* === END TARIFS === */


/* ============================================ */
/* REASSURANCE BAND - Footer compact display     */
/* ============================================ */
.avd-reassure-band{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;padding:1.5rem 1.25rem;background:#fff;max-width:1200px;margin:0 auto;border-bottom:1px solid #ece3f5;}
.avd-reassure-item{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;gap:0.5rem;color:var(--avd-violet);}
.avd-reassure-icon{font-size:1.75rem;line-height:1;filter:drop-shadow(0 1px 1px rgba(61,44,95,0.1));}
.avd-reassure-text{font-size:1rem;font-weight:600;line-height:1.4;max-width:180px;}
@media (max-width: 600px){
  .avd-reassure-band{grid-template-columns:repeat(2,1fr);gap:1rem 0.5rem;padding:1.25rem 0.5rem;}
  .avd-reassure-text{font-size:0.9rem;}
  .avd-reassure-icon{font-size:1.5rem;}
}
/* === END REASSURE BAND === */


/* Hide SKT footer-bg decoration (mountain image leftover) */
body #footer{display:none !important;}


/* Reset violet section negative margin (was to tuck under SKT footer mountain) */
.elementor-element.elementor-element-3a1e45b3{margin-top:0 !important;}


/* SVG icons inside reassurance band */
.avd-reassure-icon svg{width:32px;height:32px;stroke:var(--avd-violet);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:block;margin:0 auto;}
@media (max-width: 600px){
  .avd-reassure-icon svg{width:28px;height:28px;}
}


/* ============================================ */
/* === BRAND REFRESH 2026 === Poppins + palette */
/* ============================================ */

/* Universal Poppins font */
body, p, h1, h2, h3, h4, h5, h6, a, span, li, div, button, input, textarea, select, label, .elementor-widget-text-editor, .elementor-widget-heading, .elementor-widget-button, .elementor-button, .avd-tarifs, .avd-reassure-band, .elementor-widget-container, header, footer, nav { font-family: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }

/* Default body text */
body { color: var(--avd-text); font-weight: 400; line-height: 1.6; }
p, li { color: var(--avd-text); font-weight: 400; }

/* Headings hierarchy */
h1 { color: var(--avd-violet-dark); font-weight: 700; }
h2 { color: var(--avd-violet-dark); font-weight: 600; }
h3 { color: var(--avd-violet); font-weight: 500; }
h4, h5, h6 { color: var(--avd-violet); font-weight: 600; }
strong, b { color: inherit; font-weight: 600; }

/* Links default */
a { color: var(--avd-violet-dark); text-decoration: none; transition: color 0.2s ease; }
a:hover, a:focus { color: var(--avd-violet-light); }

/* Buttons accent on existing yellow CTAs */
.elementor-button, .avd-btn-primary { font-family: "Poppins", sans-serif; font-weight: 600; }

/* Reassurance band : bg gris-mauve doux, icônes violet énergie */
.avd-reassure-band { background: var(--avd-grey-bg) !important; }
.avd-reassure-icon svg { stroke: var(--avd-violet-light) !important; }
.avd-reassure-text { color: var(--avd-violet-dark) !important; }

/* Tarifs page colors */
.avd-tarif-card h3 { color: var(--avd-violet-dark); }
.avd-tarif-prices strong { color: var(--avd-violet-dark); }
.avd-tarif-featured { border-color: var(--avd-violet-light); }
.avd-tarif-badge { background: var(--avd-jaune); color: var(--avd-violet-dark); }
.avd-tarifs-cautions h2, .avd-tarifs-inclus h2 { color: var(--avd-violet-dark); }
.avd-caution-label, .avd-caution-amount { color: var(--avd-violet-dark); }
.avd-caution-card { background: var(--avd-grey-bg); }
.avd-tarifs-groupe { background: var(--avd-violet) !important; }
.avd-groupe-tagline { color: var(--avd-jaune); }
.avd-tarifs .avd-btn-primary { background: var(--avd-jaune); color: var(--avd-violet-dark); }
.avd-tarifs .avd-btn-secondary { background: transparent; border: 2px solid var(--avd-violet); color: var(--avd-violet); }
.avd-tarifs .avd-btn-secondary:hover { background: var(--avd-violet); color: var(--avd-blanc); }

/* Sections alternées (helper class) */
.avd-bg-soft { background: var(--avd-grey-bg); }

/* Page background default white */
.elementor-page, .page-template-builder-fullwidth-std { background: var(--avd-blanc); }

/* === END BRAND REFRESH === */


/* (hero CSS overrides removed - now baked into Elementor section settings) */


/* Hide SKT banner-container H1 (legacy theme header, duplicate H1 issue) */
.banner-container, .inner-banner-thumb { display: none !important; }


/* Force Poppins on Elementor global typography variables */
:root {
  --e-global-typography-primary-font-family: "Poppins";
  --e-global-typography-secondary-font-family: "Poppins";
  --e-global-typography-text-font-family: "Poppins";
  --e-global-typography-accent-font-family: "Poppins";
}
/* Elementor global typography override - safety net */
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-button,
.elementor-widget { font-family: "Poppins", system-ui, -apple-system, sans-serif !important; }


/* FIX: dark violet sections white text (paragraphs and lists inside .avd-tarifs-groupe) */
.avd-tarifs-groupe p,
.avd-tarifs-groupe li,
.avd-tarifs-groupe .avd-groupe-text,
.avd-tarifs-groupe .avd-groupe-list li,
.avd-tarifs-groupe .avd-groupe-list li em {
  color: #FFFFFF !important;
}
.avd-tarifs-groupe .avd-groupe-list li em {
  opacity: 0.85;
}


/* Hero homepage text fallback : paragraph white (text-editor widget cascade defeated by global p rule) */
.home .elementor-section.elementor-top-section:first-of-type p,
.page-id-60 .elementor-section.elementor-top-section:first-of-type p,
.page-id-347 .elementor-section.elementor-top-section:first-of-type p,
.page-id-348 .elementor-section.elementor-top-section:first-of-type p,
.page-id-349 .elementor-section.elementor-top-section:first-of-type p {
  color: #FFFFFF;
}


/* === HEADER SCROLL 2026 : menu colors on white bg === */
/* Default state (transparent on hero): menu links blanc */
/* Texte menu blanc UNIQUEMENT sur pages avec hero + desktop (le drawer mobile gère ses propres couleurs) */
@media (min-width: 992px) {
  :is(body.home, body.page-id-5985, body.page-id-5986, body.page-id-5987, body.page-id-6105) #main-set:not(.is-scrolled) .primary-menu a { color: #FFFFFF; transition: color 0.25s ease; }
  :is(body.home, body.page-id-5985, body.page-id-5986, body.page-id-5987, body.page-id-6105) #main-set:not(.is-scrolled) .primary-menu a:hover,
  :is(body.home, body.page-id-5985, body.page-id-5986, body.page-id-5987, body.page-id-6105) #main-set:not(.is-scrolled) .primary-menu .current-menu-item > a,
  :is(body.home, body.page-id-5985, body.page-id-5986, body.page-id-5987, body.page-id-6105) #main-set:not(.is-scrolled) .primary-menu .current_page_item > a { color: var(--avd-jaune); }
}

/* Scrolled state (white bg): menu links mauve sombre */
#main-set.is-scrolled .primary-menu a { color: var(--avd-violet-dark); transition: color 0.25s ease; }
#main-set.is-scrolled .primary-menu a:hover,
#main-set.is-scrolled .primary-menu .current-menu-item > a,
#main-set.is-scrolled .primary-menu .current_page_item > a { color: var(--avd-violet-light); }

/* Search icon + lang pill : adapt color */
#main-set.is-scrolled .avd-search-trigger,
#main-set.is-scrolled .avd-search-trigger svg { color: var(--avd-violet-dark); fill: var(--avd-violet-dark); }
#main-set.is-scrolled .avd-lang-pill,
#main-set.is-scrolled .pll-parent-menu-item > a { color: var(--avd-violet-dark); border-color: var(--avd-violet-dark); }
/* === END HEADER SCROLL 2026 === */


/* === HEADER SCROLL FINAL OVERRIDE 2026 === */
/* Override of all conflicting legacy rules - white bg on scroll */
#main-set.is-scrolled { background: #FFFFFF !important; background-color: #FFFFFF !important; box-shadow: 0 4px 18px rgba(30, 20, 61, 0.08) !important; }

/* Default state (transparent, on hero) : keep WHITE menu links for contrast on dark hero */
/* Idem scoped aux pages hero (version !important) — DESKTOP UNIQUEMENT */
@media (min-width: 992px) {
  :is(body.home, body.page-id-5985, body.page-id-5986, body.page-id-5987, body.page-id-6105) #main-set:not(.is-scrolled) .primary-menu a,
  :is(body.home, body.page-id-5985, body.page-id-5986, body.page-id-5987, body.page-id-6105) #main-set:not(.is-scrolled) nav a,
  :is(body.home, body.page-id-5985, body.page-id-5986, body.page-id-5987, body.page-id-6105) #main-set:not(.is-scrolled) .nav-menu a,
  :is(body.home, body.page-id-5985, body.page-id-5986, body.page-id-5987, body.page-id-6105) #main-set:not(.is-scrolled) ul.menu a { color: #FFFFFF !important; transition: color 0.25s ease; }
  :is(body.home, body.page-id-5985, body.page-id-5986, body.page-id-5987, body.page-id-6105) #main-set:not(.is-scrolled) .primary-menu .current-menu-item > a,
  :is(body.home, body.page-id-5985, body.page-id-5986, body.page-id-5987, body.page-id-6105) #main-set:not(.is-scrolled) .primary-menu .current_page_item > a { color: var(--avd-jaune) !important; }
  :is(body.home, body.page-id-5985, body.page-id-5986, body.page-id-5987, body.page-id-6105) #main-set:not(.is-scrolled) .primary-menu a:hover { color: var(--avd-jaune) !important; }
}

/* Scrolled state (white bg) : menu links DARK MAUVE */
#main-set.is-scrolled .primary-menu a,
#main-set.is-scrolled nav a,
#main-set.is-scrolled .nav-menu a,
#main-set.is-scrolled ul.menu a { color: var(--avd-violet-dark) !important; text-shadow: none !important; transition: color 0.25s ease; }
#main-set.is-scrolled .primary-menu .current-menu-item > a,
#main-set.is-scrolled .primary-menu .current_page_item > a,
#main-set.is-scrolled .primary-menu a:hover { color: var(--avd-violet-light) !important; }

/* Search icon + lang pill on scrolled white bg */
#main-set.is-scrolled .avd-search-trigger,
#main-set.is-scrolled .avd-search-trigger svg,
#main-set.is-scrolled .avd-search-trigger path { color: var(--avd-violet-dark) !important; stroke: var(--avd-violet-dark) !important; }
#main-set.is-scrolled .avd-lang-pill { border-color: var(--avd-violet-dark) !important; }

/* CHARTE 2026 : Pill langue blanc UNIQUEMENT sur pages avec hero (transparent header) */
:is(body.home, body.page-id-5985, body.page-id-5986, body.page-id-5987, body.page-id-6105) #main-set:not(.is-scrolled) .avd-lang-pill {
  color: #FFFFFF !important;
  border-color: rgba(255, 255, 255, 0.45) !important;
}
:is(body.home, body.page-id-5985, body.page-id-5986, body.page-id-5987, body.page-id-6105) #main-set:not(.is-scrolled) .avd-lang-pill:hover {
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: rgba(255, 255, 255, 0.7) !important;
}
/* === END HEADER FINAL === */


/* === HEADER ICONS + CTA + SCROLL-TOP 2026 === */
/* Search icon (loupe) : adapt to header bg state */
:is(body.home, body.page-id-5985, body.page-id-5986, body.page-id-5987, body.page-id-6105) #main-set:not(.is-scrolled) .avd-search-btn,
:is(body.home, body.page-id-5985, body.page-id-5986, body.page-id-5987, body.page-id-6105) #main-set:not(.is-scrolled) .avd-search-btn svg,
:is(body.home, body.page-id-5985, body.page-id-5986, body.page-id-5987, body.page-id-6105) #main-set:not(.is-scrolled) .avd-search-btn path { color: #FFFFFF !important; stroke: #FFFFFF !important; fill: #FFFFFF !important; }
#main-set.is-scrolled .avd-search-btn,
#main-set.is-scrolled .avd-search-btn svg,
#main-set.is-scrolled .avd-search-btn path { color: var(--avd-violet-dark) !important; stroke: var(--avd-violet-dark) !important; fill: var(--avd-violet-dark) !important; }

/* Hamburger menu-toggle (mobile) : adapt to header bg state */
:is(body.home, body.page-id-5985, body.page-id-5986, body.page-id-5987, body.page-id-6105) #main-set:not(.is-scrolled) .menu-toggle,
:is(body.home, body.page-id-5985, body.page-id-5986, body.page-id-5987, body.page-id-6105) #main-set:not(.is-scrolled) .menu-toggle::before,
:is(body.home, body.page-id-5985, body.page-id-5986, body.page-id-5987, body.page-id-6105) #main-set:not(.is-scrolled) .menu-toggle span,
:is(body.home, body.page-id-5985, body.page-id-5986, body.page-id-5987, body.page-id-6105) #main-set:not(.is-scrolled) .menu-toggle .toggle-bar { color: #FFFFFF !important; background-color: #FFFFFF !important; }
#main-set.is-scrolled .menu-toggle,
#main-set.is-scrolled .menu-toggle::before,
#main-set.is-scrolled .menu-toggle span,
#main-set.is-scrolled .menu-toggle .toggle-bar { color: var(--avd-violet-dark) !important; background-color: var(--avd-violet-dark) !important; }

/* Scroll-to-top button : mauve #594A9B → hover jaune avec fleche mauve sombre */
#avd-scroll-top { background: #594A9B !important; color: #FFFFFF !important; transition: background 0.25s ease, color 0.25s ease, transform 0.2s ease !important; }
#avd-scroll-top svg, #avd-scroll-top path { color: #FFFFFF !important; stroke: #FFFFFF !important; fill: #FFFFFF !important; transition: color 0.25s ease, stroke 0.25s ease, fill 0.25s ease !important; }
#avd-scroll-top:hover { background: #FFD400 !important; color: #1E143D !important; transform: translateY(-3px); }
#avd-scroll-top:hover svg, #avd-scroll-top:hover path { color: #1E143D !important; stroke: #1E143D !important; fill: #1E143D !important; }

/* Hero CTA button : inversion des couleurs au hover */
.home .elementor-section.elementor-top-section:first-of-type .elementor-button,
.page-id-60 .elementor-section.elementor-top-section:first-of-type .elementor-button,
.page-id-347 .elementor-section.elementor-top-section:first-of-type .elementor-button,
.page-id-348 .elementor-section.elementor-top-section:first-of-type .elementor-button,
.page-id-349 .elementor-section.elementor-top-section:first-of-type .elementor-button { background: #FFD400 !important; color: #1E143D !important; transition: background 0.25s ease, color 0.25s ease !important; }
.home .elementor-section.elementor-top-section:first-of-type .elementor-button:hover,
.page-id-60 .elementor-section.elementor-top-section:first-of-type .elementor-button:hover,
.page-id-347 .elementor-section.elementor-top-section:first-of-type .elementor-button:hover,
.page-id-348 .elementor-section.elementor-top-section:first-of-type .elementor-button:hover,
.page-id-349 .elementor-section.elementor-top-section:first-of-type .elementor-button:hover { background: #1E143D !important; color: #FFD400 !important; }
/* === END === */


/* === FOOTER WHITE TEXT FIX (force white in violet sections) === */
/* All p, li, span, a, strong inside footer-width-fixer get white text */
.footer-width-fixer p,
.footer-width-fixer li,
.footer-width-fixer span,
.footer-width-fixer a,
.footer-width-fixer strong,
.footer-width-fixer .elementor-widget-text-editor,
.footer-width-fixer .elementor-widget-text-editor p,
.footer-width-fixer .elementor-widget-text-editor a { color: #FFFFFF; }

/* Yellow accent kept for column titles */
.footer-width-fixer h1,
.footer-width-fixer h2,
.footer-width-fixer h3,
.footer-width-fixer h4,
.footer-width-fixer h5,
.footer-width-fixer h6 { /* let Elementor widget settings control these */ }
/* === END FOOTER WHITE TEXT === */


/* === FIX OUTLINE ICONS 2026 : neutralize bad fill rules === */
/* Search loupe : restore outline (no fill, only stroke) */
:is(body.home, body.page-id-5985, body.page-id-5986, body.page-id-5987, body.page-id-6105) #main-set:not(.is-scrolled) .avd-search-btn svg,
:is(body.home, body.page-id-5985, body.page-id-5986, body.page-id-5987, body.page-id-6105) #main-set:not(.is-scrolled) .avd-search-btn svg circle,
:is(body.home, body.page-id-5985, body.page-id-5986, body.page-id-5987, body.page-id-6105) #main-set:not(.is-scrolled) .avd-search-btn svg line,
:is(body.home, body.page-id-5985, body.page-id-5986, body.page-id-5987, body.page-id-6105) #main-set:not(.is-scrolled) .avd-search-btn svg path { fill: none !important; stroke: #FFFFFF !important; stroke-width: 2 !important; }
#main-set.is-scrolled .avd-search-btn svg,
#main-set.is-scrolled .avd-search-btn svg circle,
#main-set.is-scrolled .avd-search-btn svg line,
#main-set.is-scrolled .avd-search-btn svg path { fill: none !important; stroke: var(--avd-violet-dark) !important; stroke-width: 2 !important; }

/* Hamburger : only color the 3 SPAN bars, NOT the button bg */
:is(body.home, body.page-id-5985, body.page-id-5986, body.page-id-5987, body.page-id-6105) #main-set:not(.is-scrolled) .menu-toggle { background: transparent !important; }
:is(body.home, body.page-id-5985, body.page-id-5986, body.page-id-5987, body.page-id-6105) #main-set:not(.is-scrolled) .menu-toggle span { background-color: #FFFFFF !important; }
#main-set.is-scrolled .menu-toggle { background: transparent !important; }
#main-set.is-scrolled .menu-toggle span { background-color: var(--avd-violet-dark) !important; }

/* Scroll-to-top arrow : outline only */
#avd-scroll-top svg,
#avd-scroll-top svg path,
#avd-scroll-top svg polyline,
#avd-scroll-top svg line { fill: none !important; stroke: #FFFFFF !important; stroke-width: 2 !important; }
#avd-scroll-top:hover svg,
#avd-scroll-top:hover svg path,
#avd-scroll-top:hover svg polyline,
#avd-scroll-top:hover svg line { fill: none !important; stroke: #1E143D !important; }
/* === END FIX OUTLINE === */


/* ============================================ */
/* SEO PILLAR PAGES 2026 — Location VTT/e-bike/VTC */
/* ============================================ */
.avd-seo{max-width:1200px;margin:0 auto;padding:0 1rem;color:var(--avd-text);}
.avd-seo p{font-size:1.05rem;line-height:1.7;margin:0 0 1rem;}
.avd-seo .avd-seo-lead{font-size:1.2rem;line-height:1.6;color:var(--avd-violet-dark);margin-bottom:2rem;}
.avd-seo h2{font-size:2rem;color:var(--avd-violet-dark);font-weight:600;margin:0 0 1rem;position:relative;padding-bottom:.6rem;}
.avd-seo h2::after{content:"";position:absolute;left:0;bottom:0;width:60px;height:4px;background:var(--avd-jaune);border-radius:2px;}
.avd-seo h2.center{text-align:center;}
.avd-seo h2.center::after{left:50%;transform:translateX(-50%);}
.avd-seo h3{font-size:1.4rem;color:var(--avd-violet);font-weight:500;margin:1.5rem 0 .75rem;}
.avd-seo ul{padding-left:0;list-style:none;}
.avd-seo ul.check li{position:relative;padding-left:2rem;margin-bottom:.6rem;line-height:1.6;}
.avd-seo ul.check li::before{content:"✓";position:absolute;left:0;top:.05em;color:var(--avd-jaune);background:var(--avd-violet);width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;}
.avd-seo ul.bullets li{position:relative;padding-left:1.5rem;margin-bottom:.5rem;line-height:1.6;}
.avd-seo ul.bullets li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;background:var(--avd-violet-light);border-radius:50%;}

/* Section wrapper - alternance white/soft */
.avd-seo-section{padding:3.5rem 0;}
.avd-seo-section.alt{background:var(--avd-grey-bg);margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-left:calc(50vw - 50%);padding-right:calc(50vw - 50%);}
.avd-seo-section.alt > .avd-seo{padding:0;}

/* Hero with image placeholder */
.avd-seo-hero{background:linear-gradient(135deg,var(--avd-violet-dark) 0%,var(--avd-violet) 100%);color:#fff;padding:4rem 1.5rem;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);text-align:center;position:relative;overflow:hidden;}
.avd-seo-hero::before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><circle cx='20' cy='20' r='1.5' fill='%23ffffff' opacity='.1'/><circle cx='80' cy='40' r='1' fill='%23ffffff' opacity='.08'/><circle cx='40' cy='80' r='2' fill='%23ffffff' opacity='.06'/></svg>");}
.avd-seo-hero-inner{position:relative;z-index:2;max-width:900px;margin:0 auto;}
.avd-seo-hero p{font-size:1.2rem;line-height:1.7;color:#fff;opacity:.95;}

/* Image placeholder - styled gray box with caption */
.avd-img-ph{background:linear-gradient(135deg,#ece3f5 0%,#dccaef 100%);border:2px dashed var(--avd-violet-light);border-radius:14px;padding:3rem 1.5rem;text-align:center;color:var(--avd-violet-dark);font-weight:500;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:280px;font-size:.95rem;}
.avd-img-ph::before{content:"🖼";font-size:2.5rem;margin-bottom:.5rem;display:block;}
.avd-img-ph small{display:block;margin-top:.5rem;opacity:.7;font-size:.85rem;font-weight:400;}

/* 2-col layout (image + text) */
.avd-seo-2col{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center;margin:2rem 0;}
.avd-seo-2col.reverse{direction:rtl;}
.avd-seo-2col.reverse > *{direction:ltr;}
@media (max-width:768px){.avd-seo-2col{grid-template-columns:1fr;}}

/* Cards grid */
.avd-seo-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin:2rem 0;}
.avd-seo-card{background:#fff;border:1px solid #ece3f5;border-radius:16px;padding:1.75rem 1.5rem;box-shadow:0 4px 12px rgba(30,20,61,0.05);transition:transform .2s ease,box-shadow .2s ease;}
.avd-seo-section.alt .avd-seo-card{background:#fff;}
.avd-seo-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(30,20,61,0.1);}
.avd-seo-card-icon{font-size:2.4rem;margin-bottom:.75rem;display:block;line-height:1;}
.avd-seo-card h3{color:var(--avd-violet-dark);margin:0 0 .5rem;font-size:1.2rem;}
.avd-seo-card p{color:var(--avd-text);font-size:.95rem;margin:0;line-height:1.5;}

/* Itinéraire card with stats */
.avd-itineraire{background:#fff;border:1px solid #ece3f5;border-left:4px solid var(--avd-violet-light);border-radius:12px;padding:1.5rem;margin-bottom:1rem;}
.avd-itineraire h3{margin-top:0;font-size:1.15rem;}
.avd-itineraire-stats{display:flex;gap:1.5rem;flex-wrap:wrap;color:var(--avd-violet);font-size:.9rem;font-weight:600;margin-top:.5rem;}
.avd-itineraire-stats span{display:flex;align-items:center;gap:.25rem;}

/* Stats row */
.avd-seo-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin:2rem 0;}
.avd-stat{background:#fff;border-radius:14px;padding:1.5rem 1rem;text-align:center;border:1px solid #ece3f5;}
.avd-stat-num{font-size:2.4rem;font-weight:700;color:var(--avd-violet-dark);line-height:1;display:block;}
.avd-stat-label{font-size:.85rem;color:var(--avd-text);margin-top:.5rem;display:block;}

/* Highlight CTA box */
.avd-cta-box{background:linear-gradient(135deg,var(--avd-violet) 0%,var(--avd-violet-dark) 100%);color:#fff;padding:2.5rem 2rem;border-radius:20px;text-align:center;margin:2rem 0;box-shadow:0 8px 32px rgba(30,20,61,0.15);}
.avd-cta-box h2{color:#fff !important;}
.avd-cta-box h2::after{background:var(--avd-jaune);left:50%;transform:translateX(-50%);}
.avd-cta-box p{color:#fff !important;opacity:.95;}
.avd-cta-box .avd-cta-btn{display:inline-block;background:var(--avd-jaune);color:var(--avd-violet-dark);padding:.95rem 2rem;border-radius:100px;font-weight:600;text-decoration:none;margin-top:1rem;transition:transform .2s ease;}
.avd-cta-box .avd-cta-btn:hover{transform:translateY(-2px);background:#fff;color:var(--avd-violet-dark);}

/* Inline CTA button */
.avd-seo .avd-cta-btn-inline{display:inline-block;background:var(--avd-jaune);color:var(--avd-violet-dark) !important;padding:.85rem 1.75rem;border-radius:100px;font-weight:600;text-decoration:none;margin-top:1rem;transition:all .2s ease;}
.avd-seo .avd-cta-btn-inline:hover{background:var(--avd-violet-dark);color:#fff !important;}
.avd-seo .center-cta{text-align:center;margin:2rem 0;}

/* === END SEO PILLAR === */

/* === FAQ ACCORDION 2026 === */
.avd-faq{margin:3rem 0 2rem;}
.avd-faq h2{margin-bottom:2rem;}
.avd-faq details{background:#fff;border:1px solid #ece3f5;border-radius:12px;padding:1.25rem 1.5rem;margin-bottom:.75rem;transition:box-shadow .2s ease;}
.avd-faq details[open]{box-shadow:0 4px 16px rgba(30,20,61,0.08);border-color:var(--avd-violet-light);}
.avd-faq summary{font-weight:600;color:var(--avd-violet-dark);font-size:1.05rem;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.avd-faq summary::-webkit-details-marker{display:none;}
.avd-faq summary::after{content:"+";color:var(--avd-violet-light);font-size:1.5rem;font-weight:300;line-height:1;transition:transform .2s ease;flex-shrink:0;}
.avd-faq details[open] summary::after{content:"−";color:var(--avd-jaune);}
.avd-faq details > p, .avd-faq details > div{margin:1rem 0 0;color:var(--avd-text);line-height:1.65;}
/* === END FAQ ACCORDION === */


/* === SEO HERO FULL WIDTH 2026 === */
/* Allow hero photo to bleed under header on SEO pages */
body.page-id-5985, body.page-id-5986, body.page-id-5987, body.page-id-6105 { padding-top: 0 !important; }

/* Fix scrollbar-induced asymmetry on full-width alt sections */
html { overflow-x: hidden; }
body { overflow-x: hidden; }

/* Fix centering of full-width alt sections */
.avd-seo-section.alt {
  background: var(--avd-grey-bg);
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100vw;
}
.avd-seo-section.alt > .avd-seo {
  max-width: 1200px;
  margin: 0 auto !important;
  padding: 0 1.25rem !important;
}
/* === END SEO HERO === */


/* === SEO HEADER TRANSPARENT 2026 === */
/* Override the body:not(.home) rule for SEO pages with hero photo */
body.page-id-5985:not(.is-scrolled-page) #main-set:not(.is-scrolled),
body.page-id-5986:not(.is-scrolled-page) #main-set:not(.is-scrolled),
body.page-id-5987:not(.is-scrolled-page) #main-set:not(.is-scrolled),
body.page-id-6105:not(.is-scrolled-page) #main-set:not(.is-scrolled) {
  background: transparent !important;
}
/* === END === */


/* === SEO FIX CENTERING V2 + HERO SPACING 2026 === */
/* Replace viewport-width trick with box-shadow trick for full-width bg */
.avd-seo-section.alt {
  background: var(--avd-grey-bg) !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: auto !important;
  box-shadow: 0 0 0 100vmax var(--avd-grey-bg);
  clip-path: inset(0 -100vmax);
}
.avd-seo-section.alt > .avd-seo {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 1.25rem !important;
}

/* H2 centering : ensure h2 itself respects parent width */
.avd-seo h2.center {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}

/* Hero section spacing : add breathing room before H1 */
/* Hero padding/min-height now managed by Elementor section settings */
/* === END SEO FIX V2 === */


/* === SEO FIRST SECTION TIGHTEN 2026 === */
/* Reduce top padding on first sub-section so it sits closer to the wave */
.avd-seo > .avd-seo-section:first-child {
  padding-top: 0.5rem;
}
/* === END === */
