/* ======================================================================
   ALPES-SUD.NET — main.css recréé from scratch
   Structure générale + header + menu desktop vertical + recherche
   ====================================================================== */

:root{
    --as-blue:#002b55;
    --as-blue-2:#073f63;
    --as-blue-3:#0d5576;
    --as-teal:#2d8a8f;
    --as-teal-2:#3d7f9f;
    --as-ink:#11273a;
    --as-muted:#66767f;
    --as-bg:#edf4f7;
    --as-panel:#ffffff;
    --as-line:rgba(0,43,85,.14);
    --as-soft-line:rgba(255,255,255,.18);
    --as-menu-w:150px;
    --as-top-h:96px;
    --as-radius:12px;
    --as-shadow:0 18px 45px rgba(0,43,85,.12);
}

*{box-sizing:border-box;}
html{min-height:100%;scroll-behavior:smooth;}
body{
    margin:0;
    min-height:100%;
    color:var(--as-ink);
    background:linear-gradient(180deg,#f4f8fa 0%,var(--as-bg) 100%);
    font-family:Inter,Arial,Helvetica,sans-serif;
    line-height:1.55;
    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:antialiased;
}
img,svg{max-width:100%;height:auto;}
a{color:inherit;}

.as-nav-check,
.as-sub-check{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;}

.site-container{
    width:100%;
    min-height:100vh;
    padding-left:var(--as-menu-w);
}

.container,
.page-content{
    width:min(100% - 48px,1480px);
    margin-inline:auto;
}

/* ----------------------------------------------------------------------
   Header desktop pleine largeur de la zone disponible
   ---------------------------------------------------------------------- */
.as-site-head{
    position:relative;
    z-index:30;
    width:100%;
    background:var(--as-blue);
    box-shadow:0 1px 0 rgba(255,255,255,.08) inset;
}

.as-head-bar{
    width:100%;
    min-height:var(--as-top-h);
    padding:0 42px;
    display:flex;
    align-items:center;
    gap:34px;
    background:var(--as-blue);
    border-bottom:1px solid rgba(255,255,255,.10);
}

.as-brand{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    gap:22px;
    min-width:0;
    color:#fff;
    text-decoration:none;
}
.as-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:94px;height:58px;}
.as-brand-mark svg{width:94px;height:auto;display:block;}
.as-brand-mark path{fill:none;stroke:#fff;stroke-width:4.4;stroke-linecap:round;stroke-linejoin:round;opacity:.94;}
.as-brand-name{
    display:block;
    white-space:nowrap;
    color:#fff;
    font-family:Georgia,'Times New Roman',serif;
    font-size:clamp(2.15rem,3.15vw,4.05rem);
    font-weight:800;
    letter-spacing:.035em;
    line-height:1;
}
.as-brand-dot{color:#fff;}
.as-brand-net{color:var(--as-teal-2);font-style:italic;}

.as-header-menu-label{display:none;}

.as-banner-shell{
    position:relative;
    width:100%;
    height:285px;
    overflow:hidden;
    background:var(--as-blue);
}
.as-banner-shell picture,
.as-banner-img{display:block;width:100%;height:100%;}
.as-banner-img{object-fit:cover;object-position:center center;}
.as-banner-shell::after{
    content:"";
    position:absolute;inset:0;
    background:linear-gradient(90deg,rgba(0,43,85,.92) 0%,rgba(0,43,85,.72) 34%,rgba(0,43,85,.18) 76%,rgba(0,43,85,.05) 100%);
    pointer-events:none;
}
.as-banner-copy{
    position:absolute;
    left:42px;
    top:50%;
    transform:translateY(-48%);
    z-index:2;
    width:min(970px,70vw);
    color:#fff;
}
.as-banner-line{
    display:block;
    width:112px;
    height:3px;
    margin:0 0 28px;
    background:linear-gradient(90deg,var(--as-teal-2),rgba(255,255,255,.34));
}
.as-banner-copy strong{
    display:block;
    font-family:Georgia,'Times New Roman',serif;
    font-size:clamp(3.7rem,5.4vw,7.8rem);
    line-height:.98;
    letter-spacing:.025em;
    font-weight:800;
    text-shadow:0 12px 32px rgba(0,30,60,.34);
}
.as-banner-copy strong span{font-style:italic;font-weight:500;}

/* ----------------------------------------------------------------------
   Recherche topo desktop — champ visible, loupe propre
   ---------------------------------------------------------------------- */
.as-topo-search--desktop{
    margin-left:auto;
    flex:1 1 520px;
    max-width:720px;
    min-width:300px;
}
.as-topo-search--desktop .as-topo-search-inner{width:100%;}
.as-topo-search--desktop .as-topo-search-toggle,
.as-topo-search--desktop .as-topo-search-label,
.as-topo-search--desktop .as-topo-search-hint{display:none!important;}
.as-topo-search--desktop .as-topo-search-panel[hidden]{display:block!important;}
.as-topo-search-form{position:relative;margin:0;}
.as-topo-search-field{
    display:flex;
    align-items:stretch;
    width:100%;
    height:54px;
    border:1px solid rgba(255,255,255,.28);
    background:rgba(255,255,255,.10);
    box-shadow:inset 0 0 0 1px rgba(0,0,0,.05);
}
.as-topo-search-input{
    min-width:0;
    flex:1 1 auto;
    width:100%;
    height:100%;
    border:0;
    outline:0;
    padding:0 22px;
    color:#fff;
    background:transparent;
    font:700 1.18rem/1 Inter,Arial,sans-serif;
    letter-spacing:.02em;
    appearance:none;
}
.as-topo-search-input::placeholder{color:rgba(255,255,255,.72);opacity:1;}
.as-topo-search-submit{
    flex:0 0 72px;
    width:72px;
    height:100%;
    border:0;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    background:var(--as-teal);
    cursor:pointer;
    appearance:none;
}
.as-topo-search-submit:hover{background:var(--as-teal-2);}
.as-topo-search-submit-icon,
.as-topo-search-toggle-icon{
    width:25px;
    height:25px;
    display:block;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:2.6;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.as-topo-search-results{
    position:absolute;
    z-index:80;
    top:calc(100% + 8px);
    left:0;
    right:0;
    max-height:360px;
    overflow:auto;
    border:1px solid rgba(0,43,85,.14);
    background:#fff;
    box-shadow:var(--as-shadow);
    border-radius:0 0 10px 10px;
}
.as-topo-search-results:empty{display:none;}
.as-topo-search-results a,
.as-topo-search-results button,
.as-topo-search-result{
    display:block;
    width:100%;
    padding:11px 16px;
    border:0;
    color:var(--as-ink);
    background:#fff;
    text-align:left;
    text-decoration:none;
    font:600 .95rem/1.35 Inter,Arial,sans-serif;
    cursor:pointer;
}
.as-topo-search-results a:hover,
.as-topo-search-result:hover{background:#eef6f8;color:var(--as-blue);}

/* ----------------------------------------------------------------------
   Menu desktop vertical
   ---------------------------------------------------------------------- */
.main-menu{
    position:fixed;
    z-index:70;
    left:0;
    top:0;
    bottom:0;
    width:var(--as-menu-w);
    background:linear-gradient(180deg,#002b55 0%,#002744 100%);
    color:#fff;
    overflow-y:auto;
    overflow-x:visible;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,.28) transparent;
    box-shadow:14px 0 30px rgba(0,25,50,.16);
}
.main-menu::before{
    content:"";
    display:block;
    width:76px;
    height:46px;
    margin:42px auto 34px;
    background:url('/icones/menu/logo.png') center/contain no-repeat;
}
.menu-links{
    min-height:calc(100vh - 122px);
    padding:0 0 34px;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
}
.menu-links::after{
    content:"";
    width:42px;
    height:2px;
    margin:34px auto 24px;
    background:rgba(255,255,255,.22);
    order:8;
}
.menu-links > a,
.menu-links > .menu-item > .menu-parent{
    --menu-icon:none;
    position:relative;
    min-height:96px;
    padding:60px 14px 14px;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    color:rgba(255,255,255,.80);
    text-align:center;
    text-decoration:none;
    font:700 .80rem/1.2 Inter,Arial,sans-serif;
    letter-spacing:.015em;
    transition:background-color .16s ease,color .16s ease;
}
.menu-links > a::before,
.menu-links > .menu-item > .menu-parent::before{
    content:"";
    position:absolute;
    left:50%;
    top:18px;
    width:38px;
    height:38px;
    transform:translateX(-50%);
    background:var(--menu-icon) center/contain no-repeat;
    filter:brightness(0) invert(1);
    opacity:.78;
    transition:opacity .16s ease;
}
.menu-links > a:hover,
.menu-links > .menu-item:hover > .menu-parent,
.menu-links > a:focus-visible,
.menu-links > .menu-item > .menu-parent:focus-visible{
    color:#fff;
    background:rgba(255,255,255,.075);
    outline:0;
}
.menu-links > a:hover::before,
.menu-links > .menu-item:hover > .menu-parent::before{opacity:1;}
.menu-links > a:nth-child(1){--menu-icon:url('/icones/menu/accueil.png');}
.menu-links > .menu-item:nth-child(2) > .menu-parent{--menu-icon:url('/icones/menu/topos.png');}
.menu-links > .menu-item:nth-child(3) > .menu-parent{--menu-icon:url('/icones/menu/conditions.png');}
.menu-links > a:nth-child(4){--menu-icon:url('/icones/menu/historique.png');}
.menu-links > a:nth-child(5){--menu-icon:url('/icones/menu/curiosites.png');}
.menu-links > a:nth-child(6){--menu-icon:url('/icones/menu/contact.png');}

.menu-item{position:relative;}
.menu-parent::after{
    content:"";
    position:absolute;
    right:13px;
    top:33px;
    width:8px;
    height:8px;
    border-right:2px solid rgba(255,255,255,.62);
    border-bottom:2px solid rgba(255,255,255,.62);
    transform:rotate(-45deg);
}
.submenu{
    position:fixed;
    left:var(--as-menu-w);
    top:0;
    width:250px;
    min-height:100vh;
    padding:34px 18px;
    display:flex;
    flex-direction:column;
    gap:6px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateX(-8px);
    background:linear-gradient(180deg,rgba(0,43,85,.98),rgba(7,63,99,.98));
    box-shadow:18px 0 40px rgba(0,25,50,.20);
    transition:opacity .16s ease,transform .16s ease,visibility .16s ease;
}
.menu-item:hover .submenu,
.menu-item:focus-within .submenu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateX(0);
}
.submenu a{
    display:block;
    padding:12px 13px;
    color:rgba(255,255,255,.86);
    text-decoration:none;
    font:700 .86rem/1.3 Inter,Arial,sans-serif;
    border-left:3px solid transparent;
}
.submenu a:hover,
.submenu a:focus-visible{
    color:#fff;
    background:rgba(255,255,255,.08);
    border-left-color:var(--as-teal-2);
    outline:0;
}

/* Le menu mobile est masqué en desktop */
.as-nav{display:none;}

main{display:block;}
.intro,
.topo-block,
.home-page,
.topo-listing-page{position:relative;}

@media (max-height:760px) and (min-width:981px){
    :root{--as-menu-w:132px;}
    .main-menu::before{margin:24px auto 20px;width:66px;height:40px;}
    .menu-links{min-height:calc(100vh - 84px);}
    .menu-links > a,
    .menu-links > .menu-item > .menu-parent{min-height:80px;padding-top:48px;font-size:.75rem;}
    .menu-links > a::before,
    .menu-links > .menu-item > .menu-parent::before{top:13px;width:32px;height:32px;}
}


/* ======================================================================
   AJUSTEMENTS FINAUX — header plus fin, sans grand bandeau image,
   recherche desktop plus élégante.
   ====================================================================== */
@media (min-width:981px){
    :root{
        --as-top-h:74px;
    }

    .as-site-head{
        background:transparent;
        box-shadow:none;
        padding:10px 16px 0;
    }

    .as-head-bar{
        min-height:var(--as-top-h);
        padding:0 24px;
        gap:20px;
        background:#fbfcfd;
        border:1px solid rgba(0,43,85,.10);
        border-radius:18px 18px 0 0;
        box-shadow:0 10px 26px rgba(0,43,85,.07);
    }

    .as-brand{
        gap:16px;
        color:var(--as-blue);
    }

    .as-brand-mark{
        width:64px;
        height:38px;
    }

    .as-brand-mark svg{
        width:64px;
    }

    .as-brand-mark path{
        stroke:var(--as-blue);
        stroke-width:4;
    }

    .as-brand-name{
        color:var(--as-blue);
        font-size:clamp(1.55rem,2.15vw,2.35rem);
        letter-spacing:.012em;
    }

    .as-brand-dot{color:var(--as-blue);}
    .as-brand-net{color:var(--as-teal-2);}

    .as-banner-shell{
        display:none !important;
    }

    .as-topo-search--desktop{
        flex:0 1 360px;
        max-width:360px;
        min-width:260px;
        margin-left:auto;
    }

    .as-topo-search-field{
        height:38px;
        border:1px solid rgba(0,43,85,.12);
        background:#fff;
        border-radius:999px;
        box-shadow:none;
        overflow:hidden;
    }

    .as-topo-search-input{
        padding:0 16px 0 18px;
        color:var(--as-ink);
        background:transparent;
        font:600 .92rem/1 Inter,Arial,sans-serif;
        letter-spacing:0;
    }

    .as-topo-search-input::placeholder{
        color:rgba(17,39,58,.48);
    }

    .as-topo-search-submit{
        flex:0 0 46px;
        width:46px;
        background:transparent;
        color:var(--as-blue);
    }

    .as-topo-search-submit:hover{
        background:rgba(61,127,159,.08);
        color:var(--as-blue);
    }

    .as-topo-search-submit-icon,
    .as-topo-search-toggle-icon{
        width:19px;
        height:19px;
        stroke-width:2.5;
    }

    .as-topo-search-results{
        top:calc(100% + 6px);
        border-radius:14px;
        box-shadow:0 16px 36px rgba(0,43,85,.12);
    }
}


/* ======================================================================
   CORRECTIF COULEURS — retour du turquoise logo + recherche
   ====================================================================== */
@media (min-width:981px){
    .as-brand-net,
    .as-brand-dot{
        color:var(--as-teal) !important;
    }

    .as-brand-mark path{
        stroke:var(--as-blue) !important;
    }

    .as-brand-mark path:nth-child(2){
        stroke:var(--as-teal) !important;
    }

    .as-brand-mark path:nth-child(3){
        stroke:rgba(45,138,143,.72) !important;
    }

    .as-topo-search-submit{
        background:var(--as-teal) !important;
        color:#fff !important;
    }

    .as-topo-search-submit:hover,
    .as-topo-search-submit:focus-visible{
        background:var(--as-teal-2) !important;
        color:#fff !important;
        outline:0;
    }

    .as-topo-search-submit-icon{
        stroke:#fff !important;
    }
}


/* ======================================================================
   CORRECTIF RACCORD DESKTOP — aucun vide entre menu vertical et bandeau
   ====================================================================== */
@media (min-width:981px){
    .as-site-head{
        padding:0 !important;
        margin:0 !important;
        background:#fbfcfd !important;
        box-shadow:none !important;
    }

    .as-head-bar{
        border-radius:0 !important;
        border-left:0 !important;
        border-top:0 !important;
        border-right:0 !important;
        border-bottom:1px solid rgba(0,43,85,.10) !important;
        box-shadow:none !important;
    }

    .site-container{
        background:#fbfcfd;
    }
}


/* ======================================================================
   PACK 05 — MERCANTOUR ORAGE
   Fond général du site
   ====================================================================== */
:root{
    --as-bg:#b5c8d3;
    --as-panel:rgba(255,255,255,.86);
    --as-line:rgba(0,43,85,.24);
}

html,
body{
    background:linear-gradient(180deg,#c4d3dc 0%,#b5c8d3 48%,#a6bbc8 100%) !important;
}

body{
    color:#11273a !important;
}

.site-container{
    background:transparent !important;
}

.container,
.page-content{
    color:#11273a !important;
}

.page-content > .intro h1,
.intro h1{
    color:#20313a !important;
}

.footer{
    background:rgba(255,255,255,.86) !important;
    border-color:rgba(0,43,85,.24) !important;
    color:#20313a !important;
}

@media(min-width:981px){
    .as-head-bar{
        background:rgba(255,255,255,.78) !important;
    }
}


/* ======================================================================
   HEADER BLEU — raccord parfait avec le menu vertical
   ====================================================================== */
@media(min-width:981px){
    .as-site-head{
        margin:0 !important;
        padding:0 !important;
        background:#002b55 !important;
        border:0 !important;
        border-radius:0 !important;
        box-shadow:none !important;
    }

    .as-head-bar{
        margin:0 !important;
        padding:0 24px !important;
        min-height:74px !important;
        height:74px !important;
        background:#002b55 !important;
        border:0 !important;
        border-radius:0 !important;
        box-shadow:none !important;
    }

    .as-brand,
    .as-brand-name,
    .as-brand-dot{
        color:#ffffff !important;
    }

    .as-brand-net{
        color:#2d8a8f !important;
    }

    .as-brand-mark path{
        stroke:#ffffff !important;
    }

    .as-topo-search-field{
        background:rgba(255,255,255,.10) !important;
        border:1px solid rgba(255,255,255,.22) !important;
        box-shadow:none !important;
    }

    .as-topo-search-input{
        color:#ffffff !important;
    }

    .as-topo-search-input::placeholder{
        color:rgba(255,255,255,.70) !important;
    }

    .as-topo-search-submit{
        background:#2d8a8f !important;
        color:#ffffff !important;
    }

    .as-topo-search-submit:hover,
    .as-topo-search-submit:focus-visible{
        background:#3d7f9f !important;
        color:#ffffff !important;
        outline:0 !important;
    }

    .as-topo-search-submit-icon{
        stroke:#ffffff !important;
    }
}


/* ======================================================================
   FOOTER — même background que le site + texte centré
   ====================================================================== */
.footer{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:28px 24px 34px !important;
    text-align:center !important;
    color:#20313a !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    font:700 .9rem/1.35 Inter,Arial,sans-serif !important;
    letter-spacing:.02em !important;
}

body.home-index .footer{
    background:transparent !important;
}


/* ======================================================================
   MENU DESKTOP HORIZONTAL — fond blanc glacier, icônes bleues
   Base stable Archive(81) : bascule du menu vertical vers un menu horizontal.
   ====================================================================== */
@media(min-width:981px){
    :root{
        --as-menu-w:0px;
        --as-page-max:1380px;
        --as-glacier:#edf4f7;
        --as-glacier-2:#f6fafb;
        --as-icon-blue:#002b55;
    }

    body{
        background:linear-gradient(180deg,#c4d3dc 0%,#b5c8d3 48%,#a6bbc8 100%) !important;
    }

    .site-container{
        width:100% !important;
        min-height:100vh !important;
        padding-left:0 !important;
        background:transparent !important;
    }

    .as-site-head{
        width:100% !important;
        margin:0 !important;
        padding:0 !important;
        background:#002b55 !important;
        border:0 !important;
        box-shadow:none !important;
    }

    .as-head-bar{
        width:min(calc(100% - 48px), var(--as-page-max)) !important;
        height:74px !important;
        min-height:74px !important;
        margin:0 auto !important;
        padding:0 28px !important;
        gap:24px !important;
        background:#002b55 !important;
        border:0 !important;
        border-radius:0 !important;
        box-shadow:none !important;
    }

    .as-brand-mark{
        width:66px !important;
        height:40px !important;
    }

    .as-brand-mark svg{
        width:66px !important;
    }

    .as-brand-mark path{
        stroke:#ffffff !important;
    }

    .as-brand-mark path:nth-child(2){
        stroke:#2d8a8f !important;
    }

    .as-brand-name{
        color:#ffffff !important;
        font-size:clamp(1.58rem,2.05vw,2.35rem) !important;
        letter-spacing:.014em !important;
    }

    .as-brand-dot{
        color:#ffffff !important;
    }

    .as-brand-net{
        color:#2d8a8f !important;
    }

    .as-topo-search--desktop{
        flex:0 1 420px !important;
        max-width:420px !important;
        min-width:280px !important;
        margin-left:auto !important;
    }

    .as-topo-search-field{
        height:38px !important;
        border:1px solid rgba(255,255,255,.24) !important;
        border-radius:999px !important;
        background:rgba(255,255,255,.10) !important;
        box-shadow:none !important;
        overflow:hidden !important;
    }

    .as-topo-search-input{
        color:#ffffff !important;
        font:650 .94rem/1 Inter,Arial,sans-serif !important;
    }

    .as-topo-search-input::placeholder{
        color:rgba(255,255,255,.70) !important;
    }

    .as-topo-search-submit{
        flex:0 0 50px !important;
        width:50px !important;
        background:#2d8a8f !important;
        color:#ffffff !important;
    }

    .as-header-menu-label,
    .as-banner-shell{
        display:none !important;
    }

    /* Nouveau menu horizontal */
    .main-menu{
        position:relative !important;
        z-index:60 !important;
        left:auto !important;
        top:auto !important;
        bottom:auto !important;
        width:min(calc(100% - 48px), var(--as-page-max)) !important;
        max-width:var(--as-page-max) !important;
        height:auto !important;
        margin:0 auto 28px !important;
        overflow:visible !important;
        background:linear-gradient(180deg,#f7fbfc 0%,#edf4f7 100%) !important;
        color:#002b55 !important;
        border:1px solid rgba(0,43,85,.14) !important;
        border-top:0 !important;
        border-radius:0 0 18px 18px !important;
        box-shadow:0 18px 36px rgba(0,43,85,.10) !important;
    }

    .main-menu::before,
    .menu-links::after{
        display:none !important;
        content:none !important;
    }

    .menu-links{
        min-height:0 !important;
        width:100% !important;
        padding:0 !important;
        display:grid !important;
        grid-template-columns:repeat(6,minmax(0,1fr)) !important;
        align-items:stretch !important;
        gap:0 !important;
    }

    .menu-links > a,
    .menu-links > .menu-item > .menu-parent{
        --menu-icon:none;
        min-height:82px !important;
        height:82px !important;
        padding:47px 12px 13px !important;
        display:flex !important;
        align-items:flex-end !important;
        justify-content:center !important;
        color:#143149 !important;
        background:transparent !important;
        border-right:1px solid rgba(0,43,85,.10) !important;
        text-align:center !important;
        text-decoration:none !important;
        font:800 .78rem/1.1 Inter,Arial,sans-serif !important;
        letter-spacing:.12em !important;
        text-transform:uppercase !important;
        transition:background-color .16s ease,color .16s ease !important;
    }

    .menu-links > a:last-child{
        border-right:0 !important;
    }

    .menu-links > a::before,
    .menu-links > .menu-item > .menu-parent::before{
        content:"" !important;
        position:absolute !important;
        left:50% !important;
        top:13px !important;
        width:30px !important;
        height:30px !important;
        transform:translateX(-50%) !important;
        background:var(--menu-icon) center/contain no-repeat !important;
        filter:none !important;
        opacity:.92 !important;
    }

    .menu-links > a:hover,
    .menu-links > .menu-item:hover > .menu-parent,
    .menu-links > a:focus-visible,
    .menu-links > .menu-item > .menu-parent:focus-visible{
        color:#002b55 !important;
        background:rgba(45,138,143,.075) !important;
        outline:0 !important;
    }

    .menu-links > a:hover::before,
    .menu-links > .menu-item:hover > .menu-parent::before{
        opacity:1 !important;
    }

    .menu-links > a:nth-child(1){--menu-icon:url('/icones/menu/accueil.png') !important;}
    .menu-links > .menu-item:nth-child(2) > .menu-parent{--menu-icon:url('/icones/menu/topos.png') !important;}
    .menu-links > .menu-item:nth-child(3) > .menu-parent{--menu-icon:url('/icones/menu/conditions.png') !important;}
    .menu-links > a:nth-child(4){--menu-icon:url('/icones/menu/historique.png') !important;}
    .menu-links > a:nth-child(5){--menu-icon:url('/icones/menu/curiosites.png') !important;}
    .menu-links > a:nth-child(6){--menu-icon:url('/icones/menu/contact.png') !important;}

    .menu-item{
        position:relative !important;
        min-width:0 !important;
    }

    .menu-parent::after{
        right:18px !important;
        top:32px !important;
        width:7px !important;
        height:7px !important;
        border-right:2px solid rgba(0,43,85,.50) !important;
        border-bottom:2px solid rgba(0,43,85,.50) !important;
        transform:rotate(45deg) !important;
    }

    .submenu{
        position:absolute !important;
        left:50% !important;
        top:calc(100% - 1px) !important;
        width:min(300px, calc(100vw - 64px)) !important;
        min-height:0 !important;
        padding:10px !important;
        display:flex !important;
        flex-direction:column !important;
        gap:2px !important;
        opacity:0 !important;
        visibility:hidden !important;
        pointer-events:none !important;
        transform:translate(-50%, 8px) !important;
        background:#ffffff !important;
        border:1px solid rgba(0,43,85,.14) !important;
        border-radius:0 0 14px 14px !important;
        box-shadow:0 18px 34px rgba(0,43,85,.15) !important;
        transition:opacity .15s ease,transform .15s ease,visibility .15s ease !important;
    }

    .menu-item:hover .submenu,
    .menu-item:focus-within .submenu{
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;
        transform:translate(-50%,0) !important;
    }

    .submenu a{
        display:block !important;
        padding:11px 12px !important;
        color:#16364e !important;
        background:transparent !important;
        border-left:3px solid transparent !important;
        border-radius:8px !important;
        text-decoration:none !important;
        font:750 .86rem/1.25 Inter,Arial,sans-serif !important;
        text-align:left !important;
    }

    .submenu a:hover,
    .submenu a:focus-visible{
        color:#002b55 !important;
        background:rgba(45,138,143,.08) !important;
        border-left-color:#2d8a8f !important;
        outline:0 !important;
    }

    .container,
    .page-content,
    .home-dashboard,
    .topo-listing-page,
    .conditions-page{
        max-width:var(--as-page-max) !important;
    }
}

@media(min-width:981px) and (max-width:1180px){
    .as-head-bar,
    .main-menu{
        width:calc(100% - 32px) !important;
    }

    .menu-links > a,
    .menu-links > .menu-item > .menu-parent{
        font-size:.70rem !important;
        letter-spacing:.09em !important;
        padding-left:8px !important;
        padding-right:8px !important;
    }

    .as-topo-search--desktop{
        max-width:330px !important;
        min-width:240px !important;
    }
}


/* ======================================================================
   CORRECTIF LARGEUR UNIFORME — desktop
   Tous les blocs structurants utilisent la même largeur maîtrisée.
   ====================================================================== */
@media(min-width:981px){
    :root{
        --as-page-max:1380px;
        --as-page-gutter:48px;
    }

    .as-head-bar,
    .main-menu,
    .container,
    .page-content,
    .home-dashboard,
    .topo-listing-page,
    .topo-page,
    .standard-page,
    .conditions-page{
        width:min(calc(100% - var(--as-page-gutter)), var(--as-page-max)) !important;
        max-width:var(--as-page-max) !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }

    .as-head-bar{
        margin-bottom:0 !important;
    }

    .main-menu{
        margin-top:0 !important;
        margin-bottom:28px !important;
    }

    .home-page,
    body.home-index .home-page{
        width:100% !important;
    }

    body.home-index .home-dashboard{
        width:min(calc(100% - var(--as-page-gutter)), var(--as-page-max)) !important;
        max-width:var(--as-page-max) !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }

    .conditions-page.container{
        width:min(calc(100% - var(--as-page-gutter)), var(--as-page-max)) !important;
        max-width:var(--as-page-max) !important;
        padding-left:0 !important;
        padding-right:0 !important;
    }
}

@media(min-width:981px) and (max-width:1180px){
    :root{
        --as-page-gutter:32px;
    }
}


/* ======================================================================
   CORRECTIF ÉDITORIAL — largeur maîtrisée et alignement strict
   ====================================================================== */
@media(min-width:981px){
    :root{
        --as-page-max:1220px;
        --as-page-gutter:72px;
    }

    .as-head-bar,
    .main-menu,
    body.home-index .home-dashboard,
    .home-dashboard,
    .container,
    .page-content,
    .topo-listing-page,
    .topo-page,
    .standard-page,
    .conditions-page{
        width:min(calc(100% - var(--as-page-gutter)), var(--as-page-max)) !important;
        max-width:var(--as-page-max) !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }

    .as-head-bar{
        padding-left:24px !important;
        padding-right:24px !important;
    }

    .main-menu{
        margin-top:0 !important;
        margin-bottom:28px !important;
    }

    .menu-links{
        grid-template-columns:repeat(6,minmax(0,1fr)) !important;
    }

    .menu-links > a,
    .menu-links > .menu-item > .menu-parent{
        min-height:76px !important;
        height:76px !important;
        padding-top:43px !important;
        padding-bottom:12px !important;
        font-size:.72rem !important;
        letter-spacing:.105em !important;
    }

    .menu-links > a::before,
    .menu-links > .menu-item > .menu-parent::before{
        top:11px !important;
        width:28px !important;
        height:28px !important;
    }

    .menu-parent::after{
        top:29px !important;
        right:16px !important;
    }

    .as-topo-search--desktop{
        flex-basis:360px !important;
        max-width:360px !important;
        min-width:260px !important;
    }

    .home-page,
    body.home-index .home-page{
        width:100% !important;
        max-width:none !important;
    }

    .conditions-page.container{
        padding-left:0 !important;
        padding-right:0 !important;
    }
}

@media(min-width:981px) and (max-width:1320px){
    :root{
        --as-page-gutter:48px;
        --as-page-max:1160px;
    }

    .as-topo-search--desktop{
        max-width:320px !important;
        min-width:240px !important;
    }

    .menu-links > a,
    .menu-links > .menu-item > .menu-parent{
        font-size:.68rem !important;
        letter-spacing:.085em !important;
    }
}

@media(min-width:981px) and (max-width:1120px){
    :root{
        --as-page-gutter:32px;
        --as-page-max:1040px;
    }

    .as-brand-name{
        font-size:clamp(1.4rem,2.4vw,1.9rem) !important;
    }

    .as-brand-mark{
        width:58px !important;
    }

    .as-brand-mark svg{
        width:58px !important;
    }

    .as-topo-search--desktop{
        max-width:280px !important;
        min-width:220px !important;
    }
}


/* ======================================================================
   CORRECTIF BANDEAU SUPÉRIEUR — bleu contenu, pas pleine largeur
   ====================================================================== */
@media(min-width:981px){
    .as-site-head{
        width:100% !important;
        background:transparent !important;
        box-shadow:none !important;
    }

    .as-head-bar{
        width:min(calc(100% - var(--as-page-gutter)), var(--as-page-max)) !important;
        max-width:var(--as-page-max) !important;
        margin:0 auto !important;
        background:#002b55 !important;
        border:0 !important;
        border-radius:0 !important;
        box-shadow:none !important;
    }

    .main-menu{
        width:min(calc(100% - var(--as-page-gutter)), var(--as-page-max)) !important;
        max-width:var(--as-page-max) !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }
}


/* ======================================================================
   BANDEAU SUPÉRIEUR 2026 — image intégrée dans le header contenu
   ====================================================================== */
@media(min-width:981px){
    .as-site-head{
        background:transparent !important;
        box-shadow:none !important;
    }

    .as-head-bar{
        width:min(calc(100% - var(--as-page-gutter)), var(--as-page-max)) !important;
        max-width:var(--as-page-max) !important;
        margin:0 auto !important;
        padding-left:26px !important;
        padding-right:26px !important;
        background:
            linear-gradient(90deg,
                rgba(0,43,85,.98) 0%,
                rgba(0,43,85,.96) 24%,
                rgba(0,43,85,.86) 48%,
                rgba(0,43,85,.74) 66%,
                rgba(0,43,85,.82) 100%
            ),
            url('/menu/bandeau2026.jpg') center center / cover no-repeat !important;
        border:1px solid rgba(255,255,255,.06) !important;
        border-bottom:0 !important;
        border-radius:0 !important;
        overflow:hidden !important;
        box-shadow:0 14px 26px rgba(0,29,56,.12) !important;
    }

    .as-brand{
        position:relative !important;
        z-index:2 !important;
    }

    .as-brand-name{
        color:#ffffff !important;
        text-shadow:0 4px 14px rgba(0,24,48,.18) !important;
    }

    .as-brand-dot{
        color:#ffffff !important;
    }

    .as-brand-net{
        color:#2d8a8f !important;
    }

    .as-brand-mark path{
        stroke:#ffffff !important;
    }

    .as-brand-mark path:nth-child(2){
        stroke:#2d8a8f !important;
    }

    .as-topo-search--desktop{
        position:relative !important;
        z-index:2 !important;
    }

    .as-topo-search-field{
        background:rgba(18,62,101,.78) !important;
        border:1px solid rgba(255,255,255,.18) !important;
        box-shadow:0 6px 18px rgba(0,24,48,.10) !important;
        backdrop-filter:blur(2px) !important;
        -webkit-backdrop-filter:blur(2px) !important;
    }

    .main-menu{
        margin-top:0 !important;
    }
}

@media(min-width:981px) and (max-width:1180px){
    .as-head-bar{
        padding-left:22px !important;
        padding-right:22px !important;
        background-position:center center !important;
    }
}


/* ======================================================================
   BANDEAU SUPÉRIEUR 2026 — image plus visible, bandeau légèrement agrandi
   ====================================================================== */
@media(min-width:981px){
    .as-head-bar{
        height:88px !important;
        min-height:88px !important;
        background:
            linear-gradient(90deg,
                rgba(0,43,85,.94) 0%,
                rgba(0,43,85,.90) 22%,
                rgba(0,43,85,.68) 46%,
                rgba(0,43,85,.34) 68%,
                rgba(0,43,85,.54) 100%
            ),
            url('/menu/bandeau2026.jpg') center center / cover no-repeat !important;
    }

    .as-brand-mark{
        width:72px !important;
        height:44px !important;
    }

    .as-brand-mark svg{
        width:72px !important;
    }

    .as-brand-name{
        font-size:clamp(1.72rem,2.18vw,2.55rem) !important;
    }

    .as-topo-search-field{
        background:rgba(18,62,101,.66) !important;
        border-color:rgba(255,255,255,.22) !important;
    }
}

@media(min-width:981px) and (max-width:1180px){
    .as-head-bar{
        height:82px !important;
        min-height:82px !important;
    }
}


/* ======================================================================
   CORRECTIF LARGEUR — site éditorial maîtrisé
   Aligne header / menu / contenus / conditions / listings topos.
   ====================================================================== */
@media(min-width:981px){
    :root{
        --as-page-max:1220px;
        --as-page-gutter:72px;
    }

    .as-head-bar,
    .main-menu,
    main.container,
    .container,
    .page-content,
    .home-dashboard,
    body.home-index .home-dashboard,
    .topo-listing-page,
    .topo-page,
    .standard-page,
    .conditions-page,
    .conditions-page.container{
        width:min(calc(100% - var(--as-page-gutter)), var(--as-page-max)) !important;
        max-width:var(--as-page-max) !important;
        margin-left:auto !important;
        margin-right:auto !important;
        box-sizing:border-box !important;
    }

    .conditions-page.container,
    .topo-listing-page.container,
    .topo-page.container,
    .standard-page.container{
        padding-left:0 !important;
        padding-right:0 !important;
    }

    .conditions-page > .conditions-header,
    .conditions-page > .conditions-live-panel,
    .conditions-page > .conditions-region,
    .conditions-page > .condition-card,
    .conditions-detail-page .condition-observation-card{
        width:100% !important;
        max-width:100% !important;
        margin-left:0 !important;
        margin-right:0 !important;
    }

    .topo-listing-page > *,
    .topo-page > *,
    .standard-page > *{
        max-width:100% !important;
    }
}

@media(min-width:981px) and (max-width:1320px){
    :root{
        --as-page-max:1160px;
        --as-page-gutter:48px;
    }
}

@media(min-width:981px) and (max-width:1120px){
    :root{
        --as-page-max:1040px;
        --as-page-gutter:32px;
    }
}


/* ======================================================================
   CORRECTIF LARGEUR RÉEL — conteneurs éditoriaux
   Force les pages qui chargeaient leurs CSS après main.css à rester alignées.
   ====================================================================== */
@media(min-width:981px){
    :root{
        --as-page-max:1220px;
        --as-page-gutter:72px;
    }

    body .site-container > main.container,
    body .site-container > main.container.page-content,
    body .site-container > main.container.conditions-page,
    body .site-container > main.container.topo-listing-page,
    body .site-container > main.container.topo-page,
    body .site-container > main.container.standard-page{
        width:min(calc(100% - var(--as-page-gutter)), var(--as-page-max)) !important;
        max-width:var(--as-page-max) !important;
        margin-left:auto !important;
        margin-right:auto !important;
        box-sizing:border-box !important;
    }
}

@media(min-width:981px) and (max-width:1320px){
    :root{
        --as-page-max:1160px;
        --as-page-gutter:48px;
    }
}

@media(min-width:981px) and (max-width:1120px){
    :root{
        --as-page-max:1040px;
        --as-page-gutter:32px;
    }
}

/* ======================================================================
   CORRECTIF RECHERCHE DESKTOP — résultats au-dessus du menu horizontal
   ====================================================================== */
@media(min-width:981px){
    .as-site-head{
        position:relative !important;
        z-index:120 !important;
    }

    .as-head-bar{
        overflow:visible !important;
    }

    .as-topo-search--desktop,
    .as-topo-search--desktop .as-topo-search-inner,
    .as-topo-search--desktop .as-topo-search-panel,
    .as-topo-search--desktop .as-topo-search-form{
        position:relative !important;
        z-index:130 !important;
    }

    .as-topo-search--desktop .as-topo-search-results{
        z-index:140 !important;
    }

    .main-menu{
        z-index:60 !important;
    }
}

/* ======================================================================
   ESPACEMENT GLOBAL MENU → CONTENU — harmonisation finale V2
   Un seul souffle commun après le menu. Les paddings-top portés par les
   <main> sont neutralisés pour éviter l'accumulation selon les rubriques.
   ====================================================================== */
@media(min-width:981px){
    :root{
        --as-content-gap:36px;
    }

    body .site-container > .main-menu,
    body .site-container > nav.main-menu,
    body .main-menu{
        margin-bottom:0 !important;
    }

    body .site-container > main,
    body .site-container > main.container,
    body .site-container > main.page-content,
    body .site-container > main.container.page-content,
    body .site-container > main.as-home-page,
    body .site-container > main.topo-page,
    body .site-container > main.topo-listing-page,
    body .site-container > main.conditions-page,
    body .site-container > main.historique-page,
    body .site-container > main.curiosites-page,
    body .site-container > main.standard-page{
        margin-top:var(--as-content-gap) !important;
        padding-top:0 !important;
    }
}

@media(min-width:981px) and (max-width:1320px){
    :root{
        --as-content-gap:34px;
    }
}

@media(min-width:981px) and (max-width:1120px){
    :root{
        --as-content-gap:30px;
    }
}

/* ======================================================================
   RAYONS ÉDITORIAUX — harmonisation finale
   Signature commune : léger arrondi, jamais effet bulle.
   ====================================================================== */
:root{
    --as-radius-editorial:10px;
    --as-radius-card:8px;
    --as-radius-media:6px;
    --as-radius-button:5px;
}

@media(min-width:981px){
    body .main-menu{
        border-radius:0 0 var(--as-radius-editorial) var(--as-radius-editorial) !important;
    }

    body .submenu{
        border-radius:0 0 var(--as-radius-card) var(--as-radius-card) !important;
    }
}

/* ======================================================================
   HEADER INTÉGRÉ PREMIUM
   Un seul bandeau desktop : fond /menu/bandeau2026.jpg, logo PNG transparent,
   recherche intégrée, pas de double bandeau.
   ====================================================================== */
@media(min-width:981px){
    :root{
        --as-header-h:118px;
    }

    .as-site-head{
        width:100% !important;
        margin:0 !important;
        padding:0 !important;
        background:transparent !important;
        border:0 !important;
        box-shadow:none !important;
    }

    .as-head-bar{
        position:relative !important;
        overflow:hidden !important;
        width:min(calc(100% - var(--as-page-gutter,72px)), var(--as-page-max,1220px)) !important;
        max-width:var(--as-page-max,1220px) !important;
        height:var(--as-header-h) !important;
        min-height:var(--as-header-h) !important;
        margin:0 auto !important;
        padding:0 36px !important;
        display:flex !important;
        align-items:center !important;
        gap:28px !important;
        background:
            linear-gradient(90deg,rgba(0,43,85,.94) 0%,rgba(0,43,85,.74) 38%,rgba(0,43,85,.36) 72%,rgba(0,43,85,.16) 100%),
            url('/menu/bandeau2026.jpg') center center / cover no-repeat !important;
        border:0 !important;
        border-radius:0 !important;
        box-shadow:0 16px 36px rgba(0,43,85,.18) !important;
        isolation:isolate;
    }

    .as-head-bar::before{
        content:"";
        position:absolute;
        inset:0;
        z-index:0;
        pointer-events:none;
        background:
            radial-gradient(circle at 4% 0%, rgba(61,127,159,.24), transparent 34%),
            linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,0) 52%);
    }

    .as-brand,
    .as-topo-search--desktop{
        position:relative !important;
        z-index:1 !important;
    }

    .as-brand{
        height:100% !important;
        display:flex !important;
        align-items:center !important;
        gap:0 !important;
        color:#fff !important;
        text-decoration:none !important;
    }

    .as-brand-copy{
        display:none !important;
    }

    .as-brand-mark{
        width:470px !important;
        height:96px !important;
        flex:0 0 470px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:flex-start !important;
    }

    .as-brand-mark img{
        display:block !important;
        width:460px !important;
        max-width:460px !important;
        max-height:82px !important;
        height:auto !important;
        object-fit:contain !important;
        object-position:left center !important;
        filter:drop-shadow(0 10px 18px rgba(0,18,36,.38));
    }

    .as-brand-mark svg{
        display:none !important;
    }

    .as-topo-search--desktop{
        flex:0 1 405px !important;
        max-width:405px !important;
        min-width:270px !important;
        margin-left:auto !important;
    }

    .as-topo-search-field{
        height:44px !important;
        border:1px solid rgba(255,255,255,.22) !important;
        border-radius:999px !important;
        background:rgba(255,255,255,.13) !important;
        box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 12px 24px rgba(0,20,40,.16) !important;
        overflow:hidden !important;
        backdrop-filter:blur(4px);
    }

    .as-topo-search-input{
        color:#ffffff !important;
        padding:0 18px 0 20px !important;
        background:transparent !important;
        font:600 .96rem/1 Inter,Arial,sans-serif !important;
        letter-spacing:.005em !important;
    }

    .as-topo-search-input::placeholder{
        color:rgba(255,255,255,.68) !important;
    }

    .as-topo-search-submit{
        flex:0 0 58px !important;
        width:58px !important;
        background:#2d8a8f !important;
        color:#fff !important;
        border-left:1px solid rgba(255,255,255,.10) !important;
    }

    .as-topo-search-submit:hover,
    .as-topo-search-submit:focus-visible{
        background:#3d7f9f !important;
        outline:0 !important;
    }

    .as-topo-search-submit-icon{
        width:21px !important;
        height:21px !important;
        stroke:#fff !important;
    }

    .as-banner-shell{
        display:none !important;
    }

    .main-menu{
        margin-top:0 !important;
        border-radius:0 0 18px 18px !important;
    }
}

@media(min-width:981px) and (max-width:1180px){
    .as-head-bar{
        height:106px !important;
        min-height:106px !important;
        padding:0 24px !important;
    }

    .as-brand-mark{
        width:360px !important;
        flex-basis:360px !important;
        height:84px !important;
    }

    .as-brand-mark img{
        width:350px !important;
        max-width:350px !important;
        max-height:82px !important;
    }

    .as-topo-search--desktop{
        max-width:330px !important;
        min-width:230px !important;
    }
}


/* ======================================================================
   CORRECTIF RAFFINEMENT HEADER
   Logo PNG plus fin + placeholder de recherche moins gras.
   ====================================================================== */
@media(min-width:981px){
    .as-topo-search-input{
        font-weight:600 !important;
        letter-spacing:.005em !important;
    }

    .as-topo-search-input::placeholder{
        font-weight:600 !important;
        color:rgba(255,255,255,.68) !important;
    }

    .as-brand-mark img{
        max-height:82px !important;
    }
}

/* ======================================================================
   CORRECTIF LOGO PNG FOURNI
   Logo utilisateur avec turquoise renforcé + taille ajustée desktop.
   ====================================================================== */
@media(min-width:981px){
    .as-brand-mark{
        width:420px !important;
        height:92px !important;
        flex:0 0 420px !important;
    }

    .as-brand-mark img{
        width:410px !important;
        max-width:410px !important;
        max-height:86px !important;
        height:auto !important;
        object-fit:contain !important;
        object-position:left center !important;
        filter:drop-shadow(0 9px 16px rgba(0,18,36,.34)) !important;
    }

    .as-head-bar{
        height:112px !important;
        min-height:112px !important;
    }
}

@media(min-width:981px) and (max-width:1180px){
    .as-brand-mark{
        width:330px !important;
        height:78px !important;
        flex-basis:330px !important;
    }

    .as-brand-mark img{
        width:320px !important;
        max-width:320px !important;
        max-height:74px !important;
    }

    .as-head-bar{
        height:102px !important;
        min-height:102px !important;
    }
}

/* ======================================================================
   HEADER — logo blanc + texte séparé plus raffiné
   ====================================================================== */
:root{
    --as-brand-net:#59b7ba;
}

.as-brand{
    gap:18px !important;
}

.as-brand-mark{
    width:124px !important;
    height:60px !important;
    flex:0 0 124px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}

.as-brand-mark img{
    width:124px !important;
    max-width:124px !important;
    max-height:60px !important;
    object-fit:contain !important;
    object-position:left center !important;
    filter:drop-shadow(0 8px 14px rgba(0,18,36,.28)) !important;
}

.as-brand-copy{
    display:flex;
    align-items:center;
    min-width:0;
}

.as-brand-name{
    display:block !important;
    color:#ffffff !important;
    font-family:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif !important;
    font-size:clamp(2.25rem,2.85vw,3.75rem) !important;
    font-weight:400 !important;
    letter-spacing:.01em !important;
    line-height:1 !important;
    text-shadow:0 3px 10px rgba(0,18,36,.25) !important;
}

.as-brand-dot{
    color:#ffffff !important;
}

.as-brand-net{
    color:var(--as-brand-net) !important;
    font-style:normal !important;
    font-weight:400 !important;
}

.as-topo-search-input{
    font-weight:500 !important;
}

.as-topo-search-input::placeholder{
    color:rgba(255,255,255,.92) !important;
    font-weight:500 !important;
}

@media(min-width:981px){
    .as-head-bar{
        min-height:96px !important;
    }
}

@media(min-width:981px) and (max-width:1180px){
    .as-brand-mark{
        width:110px !important;
        height:54px !important;
        flex-basis:110px !important;
    }

    .as-brand-mark img{
        width:110px !important;
        max-width:110px !important;
        max-height:54px !important;
    }

    .as-brand-name{
        font-size:clamp(1.95rem,2.45vw,3rem) !important;
    }
}

/* ======================================================================
   CORRECTIF TEXTE LOGO VISIBLE
   Annule l'ancien display:none!important de .as-brand-copy.
   ====================================================================== */
@media(min-width:981px){
    .as-brand-copy{
        display:flex !important;
        align-items:center !important;
        min-width:0 !important;
        opacity:1 !important;
        visibility:visible !important;
    }

    .as-brand-name{
        display:block !important;
        opacity:1 !important;
        visibility:visible !important;
        color:#ffffff !important;
    }

    .as-brand-net{
        color:#59b7ba !important;
    }
}

/* ======================================================================
   TYPO FINALE ALPES-SUD.NET
   Choix validé : serif capitales espacées, .NET turquoise.
   ====================================================================== */
@media(min-width:981px){
    .as-brand{
        gap:22px !important;
    }

    .as-brand-mark{
        width:138px !important;
        height:66px !important;
        flex:0 0 138px !important;
    }

    .as-brand-mark img{
        width:138px !important;
        max-width:138px !important;
        max-height:66px !important;
        object-fit:contain !important;
        object-position:left center !important;
        filter:drop-shadow(0 8px 14px rgba(0,18,36,.30)) !important;
    }

    .as-brand-copy{
        display:flex !important;
        align-items:center !important;
        min-width:0 !important;
        opacity:1 !important;
        visibility:visible !important;
    }

    .as-brand-name{
        display:block !important;
        color:#ffffff !important;
        font-family:"Times New Roman", Times, Georgia, serif !important;
        font-size:clamp(2.45rem,3.05vw,4.05rem) !important;
        font-weight:400 !important;
        line-height:1 !important;
        letter-spacing:.155em !important;
        text-transform:uppercase !important;
        text-shadow:0 3px 12px rgba(0,18,36,.34) !important;
        white-space:nowrap !important;
    }

    .as-brand-name span{
        font:inherit !important;
        letter-spacing:inherit !important;
        text-transform:inherit !important;
    }

    .as-brand-dot{
        color:#ffffff !important;
        margin-left:.02em !important;
        margin-right:.04em !important;
    }

    .as-brand-net{
        color:#59b7ba !important;
        font-style:normal !important;
        font-weight:400 !important;
        letter-spacing:.12em !important;
        text-shadow:0 3px 12px rgba(0,18,36,.34) !important;
    }
}

@media(min-width:981px) and (max-width:1180px){
    .as-brand{
        gap:18px !important;
    }

    .as-brand-mark{
        width:116px !important;
        height:58px !important;
        flex-basis:116px !important;
    }

    .as-brand-mark img{
        width:116px !important;
        max-width:116px !important;
        max-height:58px !important;
    }

    .as-brand-name{
        font-size:clamp(2rem,2.45vw,3.1rem) !important;
        letter-spacing:.13em !important;
    }
}

/* ======================================================================
   AJUSTEMENT COMPACT LOGO + TEXTE
   Réduit l'encombrement du bloc marque sans changer le reste.
   ====================================================================== */
@media(min-width:981px){
    .as-brand{
        gap:17px !important;
    }

    .as-brand-mark{
        width:112px !important;
        height:54px !important;
        flex:0 0 112px !important;
    }

    .as-brand-mark img{
        width:112px !important;
        max-width:112px !important;
        max-height:54px !important;
    }

    .as-brand-name{
        font-size:clamp(2.05rem,2.48vw,3.32rem) !important;
        letter-spacing:.135em !important;
    }

    .as-brand-net{
        letter-spacing:.105em !important;
    }
}

@media(min-width:981px) and (max-width:1180px){
    .as-brand{
        gap:14px !important;
    }

    .as-brand-mark{
        width:96px !important;
        height:48px !important;
        flex-basis:96px !important;
    }

    .as-brand-mark img{
        width:96px !important;
        max-width:96px !important;
        max-height:48px !important;
    }

    .as-brand-name{
        font-size:clamp(1.72rem,2.08vw,2.58rem) !important;
        letter-spacing:.115em !important;
    }
}

/* ======================================================================
   CORRECTIF LISTE RECHERCHE AU-DESSUS DU MENU
   Le panneau dynamique des résultats doit passer au-dessus du menu horizontal.
   ====================================================================== */
@media(min-width:981px){
    .as-site-head{
        position:relative !important;
        z-index:10000 !important;
        overflow:visible !important;
    }

    .as-head-bar{
        position:relative !important;
        z-index:10010 !important;
        overflow:visible !important;
    }

    .as-topo-search--desktop,
    .as-topo-search--desktop .as-topo-search-inner,
    .as-topo-search--desktop .as-topo-search-panel,
    .as-topo-search--desktop .as-topo-search-form{
        position:relative !important;
        z-index:10020 !important;
        overflow:visible !important;
    }

    .as-topo-search--desktop .as-topo-search-results{
        position:absolute !important;
        z-index:10040 !important;
        top:calc(100% + 8px) !important;
        left:0 !important;
        right:0 !important;
    }

    .main-menu{
        position:relative !important;
        z-index:100 !important;
    }
}


/* ======================================================================
   HEADER DESKTOP — FOND PHOTO LIMITÉ AU HEADER + MENU
   Base propre depuis Archive(105).
   La photo part du haut et s'arrête à la ligne basse du menu : aucune image
   ne descend derrière le contenu.
   ====================================================================== */
@media (min-width:981px){
    :root{
        --as-bg:#d5e3ea !important;
        --as-premium-page-bg:#d5e3ea;
        --as-premium-header-h:112px;
        --as-premium-menu-h:82px;
        --as-premium-band-h:calc(var(--as-premium-header-h) + var(--as-premium-menu-h));
        --as-premium-image-y:-205px;
    }

    html,
    body{
        background:#d5e3ea !important;
        background-image:none !important;
    }

    body::before,
    body::after,
    .as-site-head::before,
    .as-site-head::after,
    .as-head-bar::before{
        display:none !important;
        content:none !important;
        background:none !important;
    }

    .site-container{
        position:relative !important;
        isolation:isolate !important;
        overflow:visible !important;
        background:#d5e3ea !important;
    }

    .site-container::before{
        content:"" !important;
        position:absolute !important;
        left:0 !important;
        top:0 !important;
        width:100% !important;
        height:var(--as-premium-band-h) !important;
        z-index:0 !important;
        pointer-events:none !important;
        background:
            linear-gradient(180deg,
                rgba(0,43,85,.36) 0%,
                rgba(0,43,85,.20) 42%,
                rgba(213,227,234,.00) 72%,
                rgba(213,227,234,.48) 91%,
                #d5e3ea 100%),
            url('/assets/img/bandeau-fond-premium-2026.jpg') center var(--as-premium-image-y) / 100% auto no-repeat !important;
    }

    .as-site-head,
    .as-head-bar{
        background:transparent !important;
        border:0 !important;
        box-shadow:none !important;
        overflow:visible !important;
    }

    .as-site-head{
        position:relative !important;
        z-index:10000 !important;
    }

    .as-head-bar{
        position:relative !important;
        z-index:10010 !important;
    }

    body .main-menu{
        position:relative !important;
        z-index:9000 !important;
        background:linear-gradient(180deg,#f7fbfc 0%,#edf4f7 100%) !important;
        color:#002b55 !important;
        border:1px solid rgba(0,43,85,.14) !important;
        border-top:0 !important;
        border-radius:18px !important;
        box-shadow:0 18px 40px rgba(0,43,85,.14) !important;
        overflow:visible !important;
    }

    .menu-links,
    .menu-item{
        overflow:visible !important;
    }

    .submenu,
    .menu-item:hover .submenu,
    .menu-item:focus-within .submenu{
        z-index:9500 !important;
    }

    .as-topo-search--desktop,
    .as-topo-search--desktop .as-topo-search-inner,
    .as-topo-search--desktop .as-topo-search-panel,
    .as-topo-search--desktop .as-topo-search-form{
        position:relative !important;
        z-index:10020 !important;
        overflow:visible !important;
    }

    .as-topo-search--desktop .as-topo-search-results{
        position:absolute !important;
        z-index:10040 !important;
        top:calc(100% + 8px) !important;
        left:0 !important;
        right:0 !important;
    }

    body .site-container > main,
    body .site-container > main.container,
    body .site-container > main.page-content,
    body .site-container > main.container.page-content,
    body .site-container > main.as-home-page,
    body .site-container > main.topo-page,
    body .site-container > main.topo-listing-page,
    body .site-container > main.conditions-page,
    body .site-container > main.historique-page,
    body .site-container > main.curiosites-page,
    body .site-container > main.standard-page,
    body .site-container > .footer{
        position:relative !important;
        z-index:1 !important;
    }
}

@media (min-width:981px) and (max-width:1180px){
    :root{
        --as-premium-header-h:102px;
        --as-premium-menu-h:82px;
        --as-premium-image-y:-168px;
    }
}


/* ======================================================================
   AJUSTEMENT — DÉGRADÉ PLUS ÉTENDU
   Le fondu démarre plus haut et s'étale davantage avant le fond uni.
   ====================================================================== */
@media (min-width:981px){
    .site-container::before{
        background:
            linear-gradient(180deg,
                rgba(0,43,85,.36) 0%,
                rgba(0,43,85,.22) 34%,
                rgba(213,227,234,.00) 52%,
                rgba(213,227,234,.18) 68%,
                rgba(213,227,234,.42) 82%,
                rgba(213,227,234,.72) 93%,
                #d5e3ea 100%),
            url('/assets/img/bandeau-fond-premium-2026.jpg') center var(--as-premium-image-y) / 100% auto no-repeat !important;
    }
}


/* ======================================================================
   AJUSTEMENT — FONDU BAS BEAUCOUP PLUS PROGRESSIF
   Objectif : supprimer l'effet de jointure entre la photo et le fond.
   Le voile de couleur de fond commence plus haut et devient opaque avant
   la limite basse du bandeau.
   ====================================================================== */
@media (min-width:981px){
    .site-container::before{
        background:
            linear-gradient(180deg,
                rgba(0,43,85,.34) 0%,
                rgba(0,43,85,.20) 28%,
                rgba(213,227,234,.08) 42%,
                rgba(213,227,234,.24) 54%,
                rgba(213,227,234,.46) 66%,
                rgba(213,227,234,.68) 78%,
                rgba(213,227,234,.88) 90%,
                #d5e3ea 100%),
            url('/assets/img/bandeau-fond-premium-2026.jpg') center var(--as-premium-image-y) / 100% auto no-repeat !important;
    }
}


/* ======================================================================
   AJUSTEMENT — IMAGE LÉGÈREMENT ASSOMBRIE
   Voile sombre indépendant du dégradé de fusion vers le fond.
   ====================================================================== */
@media (min-width:981px){
    .site-container::before{
        background:
            linear-gradient(180deg,
                rgba(0,43,85,.34) 0%,
                rgba(0,43,85,.20) 28%,
                rgba(213,227,234,.08) 42%,
                rgba(213,227,234,.24) 54%,
                rgba(213,227,234,.46) 66%,
                rgba(213,227,234,.68) 78%,
                rgba(213,227,234,.88) 90%,
                #d5e3ea 100%),
            linear-gradient(rgba(0,18,36,.18), rgba(0,18,36,.18)),
            url('/assets/img/bandeau-fond-premium-2026.jpg') center var(--as-premium-image-y) / 100% auto no-repeat !important;
    }
}


/* ======================================================================
   AJUSTEMENT — NE PAS CROPPER LE HAUT DE L'IMAGE
   L'image démarre strictement en haut du fichier source.
   On conserve l'échelle responsive sans déformation.
   ====================================================================== */
@media (min-width:981px){
    :root{
        --as-premium-image-y:0px !important;
    }

    .site-container::before{
        background:
            linear-gradient(180deg,
                rgba(0,43,85,.34) 0%,
                rgba(0,43,85,.20) 28%,
                rgba(213,227,234,.08) 42%,
                rgba(213,227,234,.24) 54%,
                rgba(213,227,234,.46) 66%,
                rgba(213,227,234,.68) 78%,
                rgba(213,227,234,.88) 90%,
                #d5e3ea 100%),
            linear-gradient(180deg,
    #143149 5%,
    rgba(20,49,73,.92) 15%,
    rgba(20,49,73,.68) 50%,
    rgba(213,227,234,.42) 85%,
    #d5e3ea 100%
),
url('/assets/img/bandeau-fond-premium-2026.jpg') center top / 100% auto no-repeat !important;
    }
}

@media (min-width:981px) and (max-width:1180px){
    :root{
        --as-premium-image-y:0px !important;
    }

    .site-container::before{
        background:
            linear-gradient(180deg,
                rgba(0,43,85,.34) 0%,
                rgba(0,43,85,.20) 28%,
                rgba(213,227,234,.08) 42%,
                rgba(213,227,234,.24) 54%,
                rgba(213,227,234,.46) 66%,
                rgba(213,227,234,.68) 78%,
                rgba(213,227,234,.88) 90%,
                #d5e3ea 100%),
            linear-gradient(rgba(0,18,36,.18), rgba(0,18,36,.18)),
            url('/assets/img/bandeau-fond-premium-2026.jpg') center top / 100% auto no-repeat !important;
    }
}


/* ======================================================================
   CORRECTIF GLOBAL — footer en bas sur les pages courtes
   La structure complète du site devient une colonne pleine hauteur :
   header + menu restent en haut, le main occupe l'espace disponible,
   le footer reste en bas si la page contient peu de contenu.
   ====================================================================== */
html,
body{
    min-height:100vh !important;
}

body .site-container{
    min-height:100vh !important;
    display:flex !important;
    flex-direction:column !important;
}

body .site-container > .as-nav-check,
body .site-container > .as-site-head,
body .site-container > .main-menu,
body .site-container > .footer{
    flex:0 0 auto !important;
}

body .site-container > main{
    flex:1 0 auto !important;
}

body .site-container > .footer{
    margin-top:auto !important;
}
