/* Mega menu — chargé sur toutes les pages */
:root {
    --teal:#59b7b7;--teal-dark:#3d9a9a;--teal-light:#7ecece;--teal-ultra:#edf8f8;
    --coral:#e8724a;--coral-dark:#d4603c;--gold:#c9a84c;--gold-light:#e8c96e;
    --dark:#0f2424;--dark-mid:#1a3a3a;--cream:#f9f6f0;--white:#fff;
    --gray:#6b7280;--gray-light:#f0f2f4;
}

.announce{background:#0b1120;color:#fff;font-size:13px;font-weight:500;height:38px;overflow:hidden;display:block;white-space:nowrap;line-height:38px}
.announce--ticker{padding:0}
.announce strong{color:var(--gold-light)}
.announce a{color:var(--gold-light);font-weight:700;margin-left:8px;border-bottom:1px solid var(--gold-light);transition:opacity .2s}
.announce a:hover{opacity:.8}

/* Header collé en haut — reset agressif */
html{margin-top:0!important}
body{margin:0!important;padding:0!important}
.header{position:fixed;top:0!important;left:0;right:0;z-index:10000;margin:0!important;padding:0!important}
/* Même offset scrollé : la variante admin-bar (plus bas) fixe le top réel */
.header.scrolled{top:0!important}
.announce{margin:0!important}
/* Admin bar WP — desktop : barre fixe, on colle le header dessous (z-index header < #wpadminbar 99999) */
body.admin-bar .header{top:32px!important}
body.admin-bar .header.scrolled{top:32px!important}
/*
 * ≤782px : le core WP met #wpadminbar en position:absolute (elle défile avec la page).
 * Un header fixed à 46px laisse un « trou » au-dessus dès qu’on scroll. Top:0 = collé au viewport ;
 * la barre admin reste au-dessus grâce au z-index plus élevé de #wpadminbar.
 */
@media screen and (max-width:782px){
    body.admin-bar .header,
    body.admin-bar .header.scrolled{top:0!important}
}
.header.scrolled .announce{max-height:0;padding:0;overflow:hidden;opacity:0}
.nav-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 32px;background:#0f2424;transition:all .4s;height:56px;box-sizing:border-box;border-bottom:1px solid rgba(0,0,0,.2)}
.header.scrolled .nav-bar{background:#0f2424;padding:10px 32px;box-shadow:0 4px 24px rgba(0,0,0,.4);height:50px;border-bottom:none}
.nav-bar .logo-wrap{display:flex;align-items:center;flex-shrink:0;margin-right:24px;height:100%;overflow:hidden}
.nav-bar .logo-wrap a,.nav-bar .logo-wrap .custom-logo-link,.header-logo-link,.header .custom-logo-link{display:inline-flex!important;align-items:center;line-height:0;text-decoration:none;height:100%}
.nav-bar .logo-wrap img,.nav-bar .logo-wrap .custom-logo,.header .nav-bar .custom-logo-link img,.header-logo-img{display:block!important;height:32px!important;width:auto!important;max-height:32px!important;max-width:180px!important;object-fit:contain;background:transparent!important;border:none;vertical-align:middle}
.header.scrolled .nav-bar .logo-wrap img,.header.scrolled .nav-bar .logo-wrap .custom-logo,.header.scrolled .header-logo-img{height:28px!important;max-height:28px!important;max-width:160px!important}
.logo{font-family:'Playfair Display',serif;font-size:24px;font-weight:700;color:#fff}
.logo span{color:var(--teal-light)}
/* Logo transparent partout */
img.custom-logo,.custom-logo{background:transparent!important}

.mega-nav{display:flex;align-items:center;gap:0;list-style:none;height:100%;margin:0;padding:0}
.mega-nav > li{position:relative;height:100%}
.mega-nav > li > a{display:flex;align-items:center;gap:4px;padding:12px 18px;color:rgba(255,255,255,.88);font-size:14px;font-weight:500;font-family:'Outfit',sans-serif;transition:all .25s;border-bottom:2px solid transparent;white-space:nowrap}
.mega-nav > li > a:hover,.mega-nav > li:hover > a{color:var(--teal-light);border-bottom-color:var(--teal-light)}
.mega-nav > li > a .arrow{font-size:10px;transition:transform .3s}
.mega-nav > li:hover > a .arrow{transform:rotate(180deg)}
.mega-nav .nav-account{display:inline-flex!important;align-items:center;gap:8px}
.mega-nav .nav-account-icon{width:20px;height:20px;border:2px solid currentColor;border-radius:50%;position:relative;flex-shrink:0}
.mega-nav .nav-account-icon::after{content:'';position:absolute;left:50%;top:35%;transform:translateX(-50%);width:6px;height:6px;background:currentColor;border-radius:50%}
.mega-nav .cta-link{background:var(--teal);color:#fff!important;padding:10px 24px!important;border-radius:100px;font-weight:700!important;box-shadow:0 4px 20px rgba(89,183,183,.35);border-bottom:none!important;transition:all .3s!important}
.mega-nav .cta-link:hover{background:var(--teal-dark);transform:translateY(-1px)!important}

.mega-drop{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);opacity:0;visibility:hidden;transition:all .35s ease;pointer-events:none;z-index:9999}
.mega-nav > li:hover .mega-drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);pointer-events:auto}
.mega-drop-inner{background:#fff;border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.18);overflow:hidden;min-width:680px}
.mega-drop::before{content:'';position:absolute;top:-8px;left:50%;transform:translateX(-50%);border:8px solid transparent;border-bottom-color:#fff}

.mega-cols{display:flex}
.mega-col-links{padding:32px;flex:1;min-width:240px}
.mega-col-links h4{font-size:10px;font-weight:700;color:var(--teal-dark);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:16px;font-family:'Outfit',sans-serif}
.mega-col-links ul{list-style:none;display:flex;flex-direction:column;gap:2px;padding:0;margin:0}
.mega-col-links li a{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;font-size:14px;color:var(--dark);font-weight:500;transition:all .2s}
.mega-col-links li a:hover{background:var(--teal-ultra);color:var(--teal-dark)}
.mega-col-links li a .ml-icon{font-size:18px;width:28px;text-align:center;flex-shrink:0}
.mega-col-links li a .ml-desc{font-size:11px;color:var(--gray);font-weight:400;display:block;margin-top:2px}

.mega-col-visual{width:280px;background:linear-gradient(135deg,var(--dark) 0%,var(--dark-mid) 100%);position:relative;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.mega-col-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.4;transition:opacity .5s}
.mega-col-visual:hover img{opacity:.55}
.mega-col-visual-content{position:relative;z-index:2;padding:28px}
.mega-col-visual-content p{font-size:11px;color:var(--teal-light);font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.mega-col-visual-content h3{font-size:20px;color:#fff;margin-bottom:10px}
.mega-col-visual-content span{font-size:12px;color:rgba(255,255,255,.6)}
.mega-col-visual-content a{display:inline-block;margin-top:14px;background:var(--coral);color:#fff;padding:8px 20px;border-radius:100px;font-size:12px;font-weight:700;transition:all .2s}
.mega-col-visual-content a:hover{background:var(--coral-dark)}

.mini-drop{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);opacity:0;visibility:hidden;transition:all .3s;pointer-events:none;z-index:9999}
.mega-nav > li:hover .mini-drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);pointer-events:auto}
.mini-drop-inner{background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.15);padding:20px;min-width:220px}
.mini-drop::before{content:'';position:absolute;top:-8px;left:50%;transform:translateX(-50%);border:8px solid transparent;border-bottom-color:#fff}
.mini-drop ul{list-style:none;display:flex;flex-direction:column;gap:2px;padding:0;margin:0}
.mini-drop li a{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;font-size:14px;color:var(--dark);font-weight:500;transition:all .2s}
.mini-drop li a:hover{background:var(--teal-ultra);color:var(--teal-dark)}
.mini-drop li a .ml-icon{font-size:16px}

/* "Voir plus…" links at bottom of each column */
.mega-voir-plus{margin-top:6px;padding-top:6px;border-top:1px solid var(--gray-light)}
.mega-voir-plus a{color:var(--teal-dark)!important;font-weight:600!important}
.mega-voir-plus a:hover{background:var(--teal-ultra)!important}
.mega-voir-plus .ml-icon{opacity:.7}
.mini-drop .mega-voir-plus{margin-top:6px;padding-top:6px;border-top:1px solid #eee}

.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:5px}
.nav-toggle span{display:block;width:26px;height:2px;background:#fff;border-radius:2px}

/* ============================================================
   SEARCH OVERLAY
   ============================================================ */
.nav-search-toggle{background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.12);color:rgba(255,255,255,.8);cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:all .25s;line-height:0}
.nav-search-toggle:hover{background:rgba(255,255,255,.15);border-color:var(--teal-light);color:var(--teal-light)}

.vs08-search-overlay{position:fixed;inset:0;z-index:99999;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}
.vs08-search-overlay.active{opacity:1;visibility:visible}
.vs08-search-backdrop{position:absolute;inset:0;background:rgba(15,36,36,.85);backdrop-filter:blur(16px)}

.vs08-search-panel{position:relative;z-index:2;max-width:860px;margin:0 auto;padding:0 24px}

.vs08-search-header{padding-top:min(12vh,120px)}
.vs08-search-input-wrap{display:flex;align-items:center;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.15);border-radius:18px;padding:16px 22px;gap:14px;transition:border-color .25s,background .25s}
.vs08-search-input-wrap:focus-within{border-color:var(--teal);background:rgba(255,255,255,.14)}
.vs08-search-icon{color:rgba(255,255,255,.5);flex-shrink:0}
.vs08-search-input{flex:1;background:none;border:none;outline:none;color:#fff;font-size:20px;font-family:'Outfit',sans-serif;font-weight:400}
.vs08-search-input::placeholder{color:rgba(255,255,255,.35)}
.vs08-search-kbd{display:inline-block;background:rgba(255,255,255,.08);color:rgba(255,255,255,.4);font-size:11px;font-family:'Outfit',sans-serif;font-weight:600;padding:3px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.1);flex-shrink:0;pointer-events:none}
.vs08-search-close{background:none;border:none;color:rgba(255,255,255,.5);font-size:28px;cursor:pointer;padding:0 4px;line-height:1;transition:color .2s;flex-shrink:0}
.vs08-search-close:hover{color:#fff}

.vs08-search-body{padding-top:28px;max-height:calc(100vh - 200px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}

.vs08-search-status{text-align:center;padding:12px 0;font-size:13px;color:rgba(255,255,255,.4);font-family:'Outfit',sans-serif}

.vs08-search-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}

.vs08-search-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);border-radius:16px;overflow:hidden;cursor:pointer;transition:transform .3s,background .3s,box-shadow .3s;text-decoration:none;display:block}
.vs08-search-card:hover{transform:translateY(-4px);background:rgba(255,255,255,.12);box-shadow:0 20px 50px rgba(0,0,0,.3)}
.vs08-search-card-img{position:relative;height:160px;overflow:hidden;background:rgba(255,255,255,.03)}
.vs08-search-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.vs08-search-card:hover .vs08-search-card-img img{transform:scale(1.06)}
.vs08-search-card-badge{position:absolute;top:10px;left:10px;padding:4px 12px;border-radius:100px;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#fff;font-family:'Outfit',sans-serif}
.vs08-search-card-badge-new{background:var(--teal-dark)}
.vs08-search-card-badge-promo{background:var(--coral)}
.vs08-search-card-badge-best{background:var(--gold)}
.vs08-search-card-badge-derniere{background:#d44a4a}
.vs08-search-card-body{padding:16px 18px}
.vs08-search-card-dest{font-size:11px;color:var(--teal-light);font-weight:700;text-transform:uppercase;letter-spacing:1px;font-family:'Outfit',sans-serif;margin-bottom:6px}
.vs08-search-card-title{font-size:16px;font-weight:700;color:#fff;margin-bottom:10px;line-height:1.3;font-family:'Playfair Display',serif}
.vs08-search-card-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.vs08-search-card-tag{background:rgba(89,183,183,.15);color:var(--teal-light);font-size:11px;font-weight:600;padding:3px 10px;border-radius:100px;font-family:'Outfit',sans-serif}
.vs08-search-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}
.vs08-search-card-price-label{font-size:10px;color:rgba(255,255,255,.4);text-transform:uppercase;font-family:'Outfit',sans-serif}
.vs08-search-card-price{font-size:22px;font-weight:700;color:var(--teal-light);font-family:'Playfair Display',serif;line-height:1}
.vs08-search-card-price-per{font-size:11px;color:rgba(255,255,255,.35);font-family:'Outfit',sans-serif}
.vs08-search-card-cta{color:var(--coral);font-size:13px;font-weight:700;font-family:'Outfit',sans-serif;white-space:nowrap}

.vs08-search-empty{text-align:center;padding:50px 20px}
.vs08-search-empty span{font-size:44px;display:block;margin-bottom:14px}
.vs08-search-empty h3{font-size:20px;color:#fff;font-family:'Playfair Display',serif;margin-bottom:10px}
.vs08-search-empty p{color:rgba(255,255,255,.5);font-family:'Outfit',sans-serif;font-size:14px}
.vs08-search-empty a{color:var(--teal-light);font-weight:600}

.vs08-search-popular-title{font-size:11px;font-weight:700;color:var(--teal-light);text-transform:uppercase;letter-spacing:2px;font-family:'Outfit',sans-serif;margin-bottom:16px}

/* Skeleton loading */
.vs08-search-skeleton{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);border-radius:16px;overflow:hidden}
.vs08-search-skeleton-img{height:160px;background:linear-gradient(90deg,rgba(255,255,255,.04) 25%,rgba(255,255,255,.08) 50%,rgba(255,255,255,.04) 75%);background-size:200% 100%;animation:vs08shimmer 1.5s infinite}
.vs08-search-skeleton-body{padding:16px 18px}
.vs08-search-skeleton-line{height:12px;border-radius:6px;background:linear-gradient(90deg,rgba(255,255,255,.04) 25%,rgba(255,255,255,.08) 50%,rgba(255,255,255,.04) 75%);background-size:200% 100%;animation:vs08shimmer 1.5s infinite;margin-bottom:10px}
.vs08-search-skeleton-line:nth-child(1){width:40%}
.vs08-search-skeleton-line:nth-child(2){width:80%;height:16px}
.vs08-search-skeleton-line:nth-child(3){width:60%}
@keyframes vs08shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

@media(max-width:1200px){
    .mega-drop-inner{min-width:520px}
    .mega-col-visual{width:220px}
}
@media(max-width:1024px){
    .nav-bar{padding:12px 24px}
}
@media(max-width:768px){
    .nav-bar{padding:12px 20px}
    .mega-nav{display:none}
    .nav-toggle{display:flex}
    .nav-bar .logo-wrap img,.header-logo-img{height:26px!important;max-height:26px!important;max-width:140px!important}
    .nav-search-toggle{position:absolute;right:60px;top:50%;transform:translateY(-50%);display:flex!important}
    .vs08-search-input{font-size:16px}
    .vs08-search-kbd{display:none}
    .vs08-search-results{grid-template-columns:1fr}
    .vs08-search-card-img{height:140px}
}

/* ── Fix mobile: contenu sous le header fixed ── */
@media(max-width:768px){
    /* Home hero */
    .hc-content{padding-top:120px!important}
    /* Booking golf */
    .bk-wrap{padding-top:110px!important}
    /* Booking séjour */
    .bks-page{padding-top:110px!important}
}
