/* LMDL V5 — Frontend Styles */
html{scroll-behavior:smooth}
body{overflow-x:hidden}
::selection{background:rgba(13,31,59,.3);color:#0d1f3b}
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:#f5f5f5}
::-webkit-scrollbar-thumb{background:#0d1f3b;border-radius:3px}

/* Material Symbols */
.material-symbols-outlined{font-variation-settings:'FILL' 0,'wght' 300,'GRAD' 0,'opsz' 24}
.star-filled{font-variation-settings:'FILL' 1,'wght' 400,'GRAD' 0,'opsz' 24}

/* Scroll reveal animations */
.fade-up{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}
.fade-up.show{opacity:1;transform:translateY(0)}
.fade-left{opacity:0;transform:translateX(-30px);transition:opacity .7s ease,transform .7s ease}
.fade-left.show{opacity:1;transform:translateX(0)}
.fade-right{opacity:0;transform:translateX(30px);transition:opacity .7s ease,transform .7s ease}
.fade-right.show{opacity:1;transform:translateX(0)}
.delay-1{transition-delay:.1s}
.delay-2{transition-delay:.2s}
.delay-3{transition-delay:.25s}
.delay-4{transition-delay:.35s}

/* Card hover lift */
.card-lift{transition:transform .4s ease,box-shadow .4s ease}
.card-lift:hover{transform:translateY(-6px)}

/* Animated underline on links */
.link-anim{position:relative;display:inline-block}
.link-anim::after{content:'';position:absolute;left:0;bottom:-2px;width:0;height:1.5px;background:currentColor;transition:width .3s ease}
.link-anim:hover::after{width:100%}

/* Image reveal zoom */
.img-reveal{overflow:hidden}
.img-reveal img{transition:transform .6s ease}
.img-reveal:hover img{transform:scale(1.08)}

/* Price tag hover */
.price-tag{transition:all .3s ease}
.group:hover .price-tag{background:rgba(13,31,59,1);color:#fff}

/* Gold pulse animation */
@keyframes pulse-gold{0%,100%{box-shadow:0 0 0 0 rgba(13,31,59,.4)}70%{box-shadow:0 0 0 12px rgba(13,31,59,0)}}
.pulse-gold{animation:pulse-gold 2s infinite}

/* Sticky CTA mobile */
.sticky-cta{transition:transform .3s ease,opacity .3s ease}
.sticky-cta.hidden-cta{transform:translateY(100px);opacity:0}

/* Nav scroll effect */
.nav-scrolled{box-shadow:0 1px 20px rgba(0,0,0,.06)}
.nav-scrolled a,.nav-scrolled button,.nav-scrolled div,.nav-scrolled span:not(.material-symbols-outlined){color:#0d1f3b!important}
.nav-scrolled .text-gold,.nav-scrolled [class*="text-gold"]{color:#091629!important}
.nav-scrolled .material-symbols-outlined{color:#091629!important}
.nav-scrolled img{filter:none!important}

/* Testimonials scroll hide */
#avis-scroll::-webkit-scrollbar{display:none}
#avis-scroll{scrollbar-width:none;-webkit-overflow-scrolling:touch}

/* Mobile menu full-screen */
.mobile-menu-overlay{
    position:fixed;inset:0;z-index:9999;
    background:rgba(13,31,59,.98);
    backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
    opacity:0;visibility:hidden;
    transition:opacity .4s cubic-bezier(.22,1,.36,1),visibility .4s;
}
.mobile-menu-overlay.is-open{opacity:1;visibility:visible}
.mobile-menu-inner{
    display:flex;flex-direction:column;height:100%;
    transform:translateY(20px);
    transition:transform .5s cubic-bezier(.22,1,.36,1);
}
.mobile-menu-overlay.is-open .mobile-menu-inner{transform:translateY(0)}
.mobile-nav-item{
    opacity:0;transform:translateY(12px);
    transition:opacity .4s ease,transform .4s ease,color .2s;
}
.mobile-menu-overlay.is-open .mobile-nav-item{opacity:1;transform:translateY(0)}
body.mobile-menu-active{overflow:hidden}

/* ─── Lang Switcher (GTranslate FR/EN) ─── */
.lmdl-lang-switcher{display:inline-flex;align-items:center;gap:.5rem}
.lmdl-lang-switcher a{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;overflow:hidden;opacity:.5;transition:opacity .25s ease,transform .25s ease,box-shadow .25s ease;text-decoration:none}
.lmdl-lang-switcher a:hover{opacity:1;transform:translateY(-1px)}
.lmdl-lang-switcher a.gt-current-lang{opacity:1}
.lmdl-lang-switcher a img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}

/* Variante inner (header blanc) */
.lmdl-lang-switcher--inner a{box-shadow:0 0 0 1px rgba(13,31,59,.12)}
.lmdl-lang-switcher--inner a:hover{box-shadow:0 2px 8px rgba(13,31,59,.15),0 0 0 1px rgba(13,31,59,.2)}
.lmdl-lang-switcher--inner a.gt-current-lang{box-shadow:0 0 0 2px #0d1f3b}

/* Variante hero (header transparent sur visuel sombre) */
.lmdl-lang-switcher--hero a{box-shadow:0 0 0 1px rgba(255,255,255,.25)}
.lmdl-lang-switcher--hero a:hover{box-shadow:0 0 0 1px rgba(255,255,255,.6)}
.lmdl-lang-switcher--hero a.gt-current-lang{box-shadow:0 0 0 2px rgba(255,255,255,.95)}

/* Variante mobile menu (fond navy) */
.lmdl-lang-switcher--mobile{display:flex;justify-content:center;gap:.75rem;margin-bottom:.5rem}
.lmdl-lang-switcher--mobile a{width:36px;height:36px;opacity:.55;box-shadow:0 0 0 1px rgba(255,255,255,.15)}
.lmdl-lang-switcher--mobile a:hover{opacity:1;box-shadow:0 0 0 1px rgba(255,255,255,.5)}
.lmdl-lang-switcher--mobile a.gt-current-lang{opacity:1;box-shadow:0 0 0 2px rgba(255,255,255,.9)}

/* Cacher la banniere et artefacts Google Translate */
.skiptranslate,.goog-te-banner-frame,#goog-gt-tt,.goog-tooltip,.goog-tooltip:hover,.goog-text-highlight{display:none!important;visibility:hidden!important}
body{top:0!important}
font[style*="background-color"]{background:transparent!important;box-shadow:none!important}
