/* LimoNeo — éléments communs : langues (drapeaux), barre mobile, bandeau cookies, hero, détails des services, pages légales */
@font-face{font-family:'Great Vibes';src:url('/ln/fonts/great-vibes.woff2') format('woff2');font-display:swap}
:root{--ln-navy:#102b4b;--ln-blue:#0871bc;--ln-pale:#edf4f8;--ln-line:#cddde8;--ln-gold:#c9a96a;--ln-white:#fff;--ln-shadow:0 10px 30px rgba(16,43,75,.16)}

/* ---------- Sélecteur de langue à drapeaux ---------- */
.ln-lang{position:relative}
.ln-lang-btn{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 10px;border:1px solid var(--ln-line);border-radius:20px;background:var(--ln-white);color:var(--ln-navy);font:600 13px Arial,sans-serif}
.ln-lang-btn svg,.ln-lang-list svg{width:22px;height:15px;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.08);flex:0 0 auto}
.ln-lang-btn .chev{font-size:10px;transition:transform .2s}
.ln-lang.open .ln-lang-btn .chev{transform:rotate(180deg)}
.ln-lang-list{position:absolute;right:0;top:calc(100% + 8px);z-index:60;min-width:170px;margin:0;padding:6px;list-style:none;background:var(--ln-white);border:1px solid var(--ln-line);border-radius:12px;box-shadow:var(--ln-shadow);
  opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility .2s}
.ln-lang.open .ln-lang-list{opacity:1;visibility:visible;transform:none}
.ln-lang-list a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;color:var(--ln-navy);font:14px Arial,sans-serif}
.ln-lang-list a:hover,.ln-lang-list a:focus{background:var(--ln-pale)}
.ln-lang-list a[aria-current]{font-weight:700}
/* l'ancien sélecteur texte FR/EN n'est plus utilisé */
.ln-langs{display:none!important}
.ln-lang-mob{display:none}
@media(max-width:900px){.ln-lang-mob{display:block;margin-left:auto;margin-right:8px}.header-right .ln-lang{display:none}}

/* ---------- Hero : photo + calligraphie ---------- */
.hero.ln-hero{position:relative!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:space-between!important;
  height:calc(100vh - 76px)!important;height:calc(100svh - 76px)!important;min-height:560px!important;padding:clamp(70px,12vh,140px) 16px clamp(16px,4vh,40px)!important;
  background-image:url("/ln/img/hero-alpes-limoneo.webp")!important;background-size:cover!important;background-position:center 40%!important}
.hero.ln-hero::before{display:none!important}
.hero.ln-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,25,44,.50) 0%,rgba(9,25,44,.12) 40%,rgba(9,25,44,0) 62%,rgba(9,25,44,.22) 100%);pointer-events:none}
.ln-hero-text{position:relative;z-index:2;margin:0;text-align:center;color:#fff}
.ln-hero-text .ln-script{display:block;font-family:'Great Vibes','Brush Script MT',cursive;font-weight:400;font-size:clamp(64px,10vw,138px);line-height:1.05;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.ln-hero-text .ln-sub{display:block;margin-top:10px;font:400 clamp(12px,1.4vw,16px)/1.45 Georgia,'Times New Roman',serif;letter-spacing:.22em;text-transform:uppercase;text-shadow:0 1px 8px rgba(0,0,0,.45)}
.ln-hero-car{position:relative;z-index:2;display:block;width:auto;max-width:min(60vw,640px);max-height:46vh;height:auto;filter:drop-shadow(0 22px 22px rgba(0,0,0,.45))}
@media(max-width:700px){
  .hero.ln-hero{height:auto!important;min-height:0!important;padding:34px 12px 18px!important;background-position:70% center!important;gap:18px}
  .ln-hero-text .ln-sub{letter-spacing:.14em;padding:0 10px}
  .ln-hero-car{max-width:92vw;max-height:none}
}

/* ---------- Détails des services (aéroports, stations) ---------- */
.ln-detail{margin-top:10px}
.ln-detail summary{cursor:pointer;list-style:none;color:var(--ln-blue);font-weight:700}
.ln-detail summary::-webkit-details-marker{display:none}
.ln-detail summary::after{content:" +";}
.ln-detail[open] summary::after{content:" –"}
.ln-detail ul{margin:10px 0 4px;padding-left:18px;columns:2;column-gap:18px}
.ln-detail li{margin:0 0 5px;break-inside:avoid;font-size:14px;line-height:1.35}
.ln-detail li small{display:block;color:#557089;font-size:12px}
.ln-detail .ln-cta{display:inline-block;margin-top:8px;color:var(--ln-blue);font-weight:700}
@media(max-width:560px){.ln-detail ul{columns:1}}

/* ---------- Position actuelle dans le calculateur ---------- */
.ln-geo{display:inline-flex!important;width:auto!important;min-height:0!important;height:auto!important;line-height:1.2!important;align-items:center;gap:6px;margin-top:6px;padding:6px 10px;border:1px solid var(--ln-line);border-radius:16px;background:var(--ln-white);color:var(--ln-blue);font:600 12px Arial,sans-serif!important;cursor:pointer;box-shadow:none!important}
.ln-geo[disabled]{opacity:.6;cursor:wait}
.ln-geo svg{width:14px;height:14px}

/* ---------- Barre fixe mobile : appeler / WhatsApp ---------- */
.ln-mbar{display:none}
@media(max-width:900px){
  .ln-mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:70;gap:10px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--ln-line);box-shadow:0 -6px 20px rgba(16,43,75,.10)}
  .ln-mbar a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border-radius:10px;font:700 15px Arial,sans-serif}
  .ln-mbar .call{background:var(--ln-navy);color:#fff}
  .ln-mbar .wa{background:#1fa855;color:#fff}
  .ln-mbar svg{width:19px;height:19px;fill:currentColor}
  body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}
}

/* ---------- Bandeau cookies discret ---------- */
.ln-cookie{position:fixed;z-index:80;left:14px;bottom:14px;max-width:300px;display:flex;align-items:center;gap:10px;padding:8px 10px 8px 12px;background:rgba(16,43,75,.92);color:#fff;border-radius:10px;font:12px/1.35 Arial,sans-serif;box-shadow:var(--ln-shadow)}
.ln-cookie a{color:#cfe3f3;text-decoration:underline}
.ln-cookie button{flex:0 0 auto;border:0;border-radius:7px;padding:6px 10px;background:#fff;color:var(--ln-navy);font:700 12px Arial,sans-serif}
@media(max-width:900px){.ln-cookie{left:auto;right:10px;max-width:260px;font-size:11px;padding:6px 8px 6px 10px;bottom:calc(76px + env(safe-area-inset-bottom))}}

/* ---------- Pied de page : liens légaux ---------- */
.ln-legal-links a{margin-right:14px;white-space:nowrap}
.ln-legal-links a:hover{text-decoration:underline}

/* ---------- Pages légales ---------- */
.ln-legal{max-width:860px;margin:0 auto;padding:40px 20px 70px;color:var(--ln-navy);font:16px/1.65 Arial,sans-serif}
.ln-legal h1{font:400 clamp(30px,4vw,44px)/1.15 Georgia,serif;margin:0 0 8px}
.ln-legal .upd{color:#557089;font-size:13px;margin:0 0 30px}
.ln-legal h2{font:400 23px/1.25 Georgia,serif;margin:34px 0 10px}
.ln-legal h3{font-size:16px;margin:20px 0 6px}
.ln-legal table{border-collapse:collapse;width:100%;margin:8px 0 16px}
.ln-legal td,.ln-legal th{border:1px solid var(--ln-line);padding:8px 10px;text-align:left;vertical-align:top;font-size:15px}
.ln-legal a{color:var(--ln-blue);text-decoration:underline}
.ln-legal .back{display:inline-block;margin-bottom:22px;color:var(--ln-blue)}

/* ================= Lot 2 ================= */
@font-face{font-family:'Cormorant';src:url('/ln/fonts/cormorant-600.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Cormorant';src:url('/ln/fonts/cormorant-600-cyr.woff2') format('woff2');font-weight:600;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}

/* Hero : photo (ordinateur / téléphone) + titre LimoNéo écrit en texte, reflet doré */
.hero.ln-hero{position:relative!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;
  height:min(calc(100svh - 76px),42.7vw)!important;min-height:440px!important;padding:clamp(22px,3.2vw,56px) 16px 0!important;
  background-color:#2a4a72!important;background-image:url("/ln/img/chauffeur-prive-riviera-alpes-mercedes-classe-v.webp")!important;
  background-image:image-set(url("/ln/img/hero-limoneo-pc.avif") type("image/avif"))!important;background-size:cover!important;background-position:center bottom!important}
.hero.ln-hero::before,.hero.ln-hero::after{display:none!important}
.ln-hero-car,.ln-hero-text{display:none!important}
.ln-title{position:relative;z-index:2;text-align:center;margin:0;width:min(92vw,820px)}
.ln-brand{display:block;margin:0;font:600 clamp(58px,8.4vw,148px)/.95 'Cormorant',Georgia,'Times New Roman',serif;letter-spacing:.01em;filter:drop-shadow(0 3px 10px rgba(0,0,0,.35))}
.ln-brand span{-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;background-repeat:no-repeat;
  background-size:260% 100%,100% 100%;background-position:150% 0,0 0;animation:ln-shine 7s ease-in-out 1.2s infinite}
.ln-brand .limo{background-image:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.95) 50%,transparent 58%),linear-gradient(180deg,#ffffff 0%,#e9edf1 40%,#a9b2bc 58%,#f4f6f8 100%)}
.ln-brand .neo{background-image:linear-gradient(105deg,transparent 42%,rgba(255,250,225,.95) 50%,transparent 58%),linear-gradient(180deg,#fff2c2 0%,#f0cd6a 40%,#b88a2c 60%,#f6dc8d 100%)}
@keyframes ln-shine{0%{background-position:150% 0,0 0}35%,100%{background-position:-60% 0,0 0}}
.ln-swoosh{display:block;width:min(70%,520px);height:auto;margin:-4px auto 0;overflow:visible}
.ln-swoosh path{stroke-dasharray:640;stroke-dashoffset:640;animation:ln-draw 1.6s ease-out .3s forwards}
.ln-swoosh .spark{opacity:0;animation:ln-spark 2.4s ease-in-out 1.6s infinite}
@keyframes ln-draw{to{stroke-dashoffset:0}}
@keyframes ln-spark{0%,100%{opacity:0}50%{opacity:1}}
.ln-tag{display:flex;align-items:center;justify-content:center;gap:16px;margin:10px 0 0;color:#fff;font:600 clamp(14px,1.75vw,27px)/1.3 'Cormorant',Georgia,serif;letter-spacing:.06em;text-shadow:0 2px 10px rgba(0,0,0,.45)}
.ln-tag{text-shadow:0 1px 3px rgba(0,0,0,.55),0 2px 14px rgba(0,0,0,.5)!important}
.ln-tag::before,.ln-tag::after{content:"";flex:0 0 clamp(26px,6vw,110px);height:1px;background:linear-gradient(90deg,transparent,#e3c06a)}
.ln-tag::after{background:linear-gradient(90deg,#e3c06a,transparent)}
.ln-title{animation:ln-in 1.1s ease-out both}
@keyframes ln-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.ln-brand span,.ln-swoosh path,.ln-swoosh .spark,.ln-title{animation:none!important}.ln-swoosh path{stroke-dashoffset:0}.ln-swoosh .spark{opacity:1}}
@media(max-width:700px){
  .hero.ln-hero{height:auto!important;aspect-ratio:750/1333;max-height:calc(100svh - 60px);min-height:520px!important;padding-top:clamp(34px,10vw,64px)!important;
    background-image:url("/ln/img/chauffeur-prive-riviera-alpes-mercedes-classe-v.webp")!important;background-image:image-set(url("/ln/img/hero-limoneo-mobile.avif") type("image/avif"))!important;background-position:center bottom!important}
  .ln-brand{font-size:clamp(54px,17vw,84px)}
  .ln-tag{font-size:clamp(14px,4.3vw,19px);gap:10px;letter-spacing:.03em}
  .ln-tag::before,.ln-tag::after{flex-basis:22px}
}

/* Picto « position actuelle » dans la case de départ */
.ln-geo-wrap{position:relative}
.ln-geo-wrap input{padding-right:46px!important}
.ln-geo{position:absolute!important;right:8px;bottom:8px;display:flex!important;align-items:center;justify-content:center;width:32px!important;height:32px!important;min-height:0!important;margin:0!important;padding:0!important;
  border:0!important;border-radius:50%!important;background:transparent!important;color:var(--ln-blue)!important;box-shadow:none!important;cursor:pointer}
.ln-geo:hover,.ln-geo:focus-visible{background:var(--ln-pale)!important}
.ln-geo svg{width:19px!important;height:19px!important}
.ln-geo[disabled]{opacity:.5}

/* Cartes de services : images plus grandes, sur toute la largeur */
.service-card{display:flex!important;flex-direction:column!important}
.service-card>img{width:100%!important;height:220px!important;max-width:none!important;object-fit:cover!important;display:block!important;margin:0!important}
@media(max-width:700px){.service-card{display:flex!important;flex-direction:column!important;min-height:0!important}.service-card>img{height:200px!important;min-height:0!important}
  .service-content p{font-size:13px!important}.service-content a{font-size:13px!important}}

/* Listes avec pictos */
.ln-detail ul.ln-ic{list-style:none;padding-left:0}
.ln-detail ul.ln-ic li{display:flex;gap:8px;align-items:flex-start}
.ln-detail ul.ln-ic li>svg{flex:0 0 18px;width:18px;height:18px;margin-top:1px;color:var(--ln-blue);fill:currentColor}
.ln-detail ul.ln-ic li>span{display:block}
.ln-detail ul.ln-air{columns:1}

/* Points de départ et destinations */
.ln-places{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:8px}
.ln-places h3{font:400 22px/1.2 Georgia,serif;margin:0 0 4px;color:var(--ln-navy)}
.ln-places .hint{margin:0 0 14px;color:#56718a;font-size:13px}
.ln-group{margin:0 0 14px}
.ln-group h4{margin:0 0 8px;font:700 11px Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#52708a}
.ln-chips{display:flex;flex-wrap:wrap;gap:8px}
.ln-pl{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;background:#f6f9fb;border:1px solid var(--ln-line);border-radius:22px;color:var(--ln-navy);font:15px Georgia,serif;cursor:pointer;transition:border-color .15s,background .15s}
.ln-pl:hover,.ln-pl:focus-visible{border-color:var(--ln-blue);background:#fff}
.ln-pl svg{width:16px;height:16px;fill:var(--ln-blue);flex:0 0 auto}
.ln-pl small{font:12px Arial,sans-serif;color:#6a8398}
.ln-pl.quote{border-style:dashed}
@media(max-width:800px){.ln-places{grid-template-columns:1fr}}
.hero.ln-hero .ln-title .ln-brand{font-size:clamp(58px,8.4vw,148px)!important;line-height:.95!important;margin:0!important;color:transparent!important;text-shadow:none!important}
.hero.ln-hero .ln-title .ln-tag{margin:10px 0 0!important;font-size:clamp(14px,1.75vw,27px)!important}
@media(max-width:700px){.hero.ln-hero .ln-title .ln-brand{font-size:clamp(54px,17vw,84px)!important}.hero.ln-hero .ln-title .ln-tag{font-size:clamp(14px,4.3vw,19px)!important}}
/* Pied de page : liens légaux alignés sous la ligne, à gauche, sur une ou deux lignes */
.footer-bottom .ln-legal-links{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0!important;padding:0!important;text-align:left!important;justify-content:flex-start!important}
.footer-bottom .ln-legal-links a{margin:0!important;display:inline!important}
@media(max-width:700px){.footer-bottom{align-items:flex-start!important;text-align:left!important}.footer-bottom .ln-legal-links{width:100%}}
.footer-bottom .ln-legal-links{flex-wrap:nowrap!important;white-space:nowrap;gap:0 14px;font-size:13px}
@media(max-width:420px){.footer-bottom .ln-legal-links{gap:0 10px;font-size:12px}}
.hero.ln-hero .ln-title p{max-width:none!important;width:100%!important;margin-left:auto!important;margin-right:auto!important;text-align:center!important}.hero.ln-hero .ln-title{margin:0 auto!important;left:auto!important;right:auto!important}
@media(max-width:700px){.hero.ln-hero .ln-title .ln-tag{display:block!important;padding:0 6px}.hero.ln-hero .ln-title .ln-tag::before,.hero.ln-hero .ln-title .ln-tag::after{display:none!important}}
@media(max-width:700px){.hero.ln-hero{aspect-ratio:auto!important;width:100%!important;max-width:100%!important;max-height:none!important;height:min(calc(100svh - 64px),177.7vw)!important;min-height:520px!important;margin:0!important;box-sizing:border-box!important}.hero.ln-hero .ln-title{width:100%!important;max-width:100%!important;box-sizing:border-box!important;padding:0 10px!important}}html,body{overflow-x:hidden}
