/* Pied de page — marine uni, blocs en verre à reflet */
.le-footer{
  --f-ink:#0F2440;--f-line:rgba(255,255,255,.14);
  position:relative;color:#fff;border-radius:44px 44px 0 0;background:#0F2440;
  font-family:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.55}
.le-footer *,.le-footer *::before,.le-footer *::after{box-sizing:border-box}
.le-footer h2,.le-footer h3,.le-footer p,.le-footer ul{margin:0;padding:0}
.le-footer ul{list-style:none}
.le-footer a,.le-footer a:hover,.le-footer a:focus{text-decoration:none !important;color:inherit}
.le-footer svg.lft-i{width:1.2em;height:1.2em;flex:none;display:inline-block;vertical-align:middle;fill:none}
.le-footer a:focus-visible{outline:2px solid #8DB8FF;outline-offset:3px;border-radius:10px}
.lft-wrap{max-width:1240px;margin:0 auto;padding:64px 24px 28px;position:relative}

/* Bandeau en verre */
.lft-cta{position:relative;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:30px 36px;margin-bottom:56px;border-radius:32px;
  background:linear-gradient(135deg,rgba(255,255,255,.14) 0%,rgba(255,255,255,.05) 100%);border:1px solid rgba(255,255,255,.2);
  -webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset 0 -1px 0 rgba(255,255,255,.06),0 24px 60px rgba(3,10,22,.4)}
.lft-cta::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,0) 36%)}
.lft-cta-text{position:relative;z-index:1;min-width:0}
.le-footer .lft-cta h2{font-family:"Montserrat Alternates","Montserrat",sans-serif;font-weight:800;font-size:1.5rem;line-height:1.2;letter-spacing:-.015em;color:#fff;text-transform:none;margin-bottom:6px}
.le-footer .lft-cta p{max-width:52ch;font-size:.92rem;color:rgba(255,255,255,.76)}
.lft-cta-btns{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px;flex:none}
.le-footer .lft-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:13px 26px;border-radius:999px;font-size:.9rem;font-weight:600;line-height:1.2;
  transition:transform .4s cubic-bezier(.2,.9,.3,1.25),gap .2s ease,background .2s ease}
.le-footer .lft-btn .lft-i{width:17px;height:17px}
.le-footer a.lft-btn--light{background:#fff;color:var(--f-ink);box-shadow:inset 0 1px 0 #fff,0 12px 28px rgba(3,10,22,.35)}
.le-footer a.lft-btn--light:hover{color:var(--f-ink);transform:translateY(-2px);gap:13px}
.le-footer a.lft-btn--ghost{color:#fff;border:1px solid rgba(255,255,255,.42);background:rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.3)}
.le-footer a.lft-btn--ghost:hover{background:rgba(255,255,255,.18);color:#fff;transform:translateY(-2px)}
.le-footer .lft-btn:active{transform:scale(.97)}

/* Colonnes */
.lft-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.25fr;gap:44px}
.lft-brand{min-width:0}
.le-footer a.lft-logo{display:inline-block;margin-bottom:14px;font-family:"Montserrat Alternates","Montserrat",sans-serif;font-weight:800;font-size:1.45rem;letter-spacing:-.02em;color:#fff}
.le-footer .lft-brand p{max-width:34ch;font-size:.88rem;line-height:1.7;color:rgba(255,255,255,.7)}
.lft-socials{display:flex;gap:8px;margin-top:20px}
.le-footer a.lft-social{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;
  background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.35);
  transition:transform .4s cubic-bezier(.2,.9,.3,1.25),background .2s ease}
.le-footer a.lft-social:hover{color:#fff;background:linear-gradient(135deg,rgba(255,255,255,.3),rgba(255,255,255,.12));transform:translateY(-3px)}
.lft-social .lft-i{width:18px;height:18px}
.le-footer h3{margin-bottom:16px;font-family:"Montserrat",sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.lft-links{display:flex;flex-direction:column;gap:11px}
.le-footer .lft-links a{font-size:.92rem;font-weight:500;color:rgba(255,255,255,.86);transition:color .15s ease,padding .2s ease}
.le-footer .lft-links a:hover{color:#fff;padding-left:5px}
.lft-dests{display:flex;flex-direction:column;gap:9px}
.le-footer .lft-dests a{display:inline-flex;align-items:center;gap:11px;font-size:.92rem;font-weight:600;color:rgba(255,255,255,.9);transition:transform .35s cubic-bezier(.2,.9,.3,1.25)}
.le-footer .lft-dests a:hover{color:#fff;transform:translateX(4px)}
.lft-dest-thumb{position:relative;flex:none;width:30px;height:30px;border-radius:50%;overflow:hidden;background:rgba(255,255,255,.12);box-shadow:0 0 0 2px rgba(255,255,255,.22)}
.lft-dest-thumb img{position:absolute !important;inset:0;width:100% !important;height:100% !important;max-width:none !important;object-fit:cover !important}

/* Assistance */
.lft-contacts{display:flex;flex-direction:column;gap:8px}
.le-footer a.lft-contact{display:flex;align-items:center;gap:11px;padding:8px 14px 8px 8px;border-radius:999px;font-size:.86rem;font-weight:600;color:#fff;overflow-wrap:anywhere;
  background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.28);
  transition:transform .4s cubic-bezier(.2,.9,.3,1.25),background .2s ease}
.le-footer a.lft-contact:hover{color:#fff;background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,.09));transform:translateX(4px)}
.lft-contact-icon{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.16);color:#fff}
.lft-contact-icon .lft-i{width:16px;height:16px}
.lft-note{display:flex;align-items:center;gap:8px;margin-top:12px;padding:0 4px;font-size:.76rem;color:rgba(255,255,255,.6)}
.lft-note .lft-i{width:15px;height:15px;color:#8DB8FF}
.lft-sub{display:block;margin:20px 0 10px;font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.lft-chips{display:flex;flex-wrap:wrap;gap:7px}
.le-footer a.lft-chip{padding:7px 14px;border-radius:999px;font-size:.78rem;font-weight:600;color:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);transition:background .2s ease,transform .35s cubic-bezier(.2,.9,.3,1.25)}
.le-footer a.lft-chip:hover{color:#fff;background:rgba(255,255,255,.16);transform:translateY(-2px)}

/* Bas de page */
.lft-bottom{display:flex;align-items:center;gap:18px;margin-top:52px;padding-top:22px;border-top:1px solid var(--f-line)}
.le-footer .lft-bottom p{font-size:.8rem;color:rgba(255,255,255,.55);margin-right:auto}
.lft-legal{display:flex;flex-wrap:wrap;gap:6px 18px}
.le-footer .lft-legal a{font-size:.8rem;color:rgba(255,255,255,.6)}
.le-footer .lft-legal a:hover{color:#fff}
.le-footer a.lft-top{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);transition:transform .4s cubic-bezier(.2,.9,.3,1.25)}
.le-footer a.lft-top:hover{color:#fff;transform:translateY(-3px)}
.lft-top .lft-i{width:17px;height:17px}

@media (max-width:1060px){
  .lft-grid{grid-template-columns:1fr 1fr;gap:36px 28px}
  .lft-brand{grid-column:1/-1}
  .lft-col--help{grid-column:1/-1}
  .lft-contacts{flex-direction:row;flex-wrap:wrap}
}
@media (max-width:640px){
  .le-footer{border-radius:30px 30px 0 0}
  .lft-wrap{padding:36px 16px 20px}
  .lft-cta{flex-direction:column;align-items:stretch;gap:16px;padding:22px 18px;margin-bottom:34px;border-radius:26px}
  .le-footer .lft-cta h2{font-size:1.2rem}
  .le-footer .lft-cta p{font-size:.84rem}
  .lft-cta-btns{flex-direction:column}
  .le-footer .lft-btn{min-height:48px;font-size:.88rem}
  .lft-grid{gap:30px 18px}
  .le-footer a.lft-logo{font-size:1.3rem;margin-bottom:10px}
  .le-footer .lft-brand p{font-size:.84rem;line-height:1.65}
  .lft-socials{margin-top:16px}
  .le-footer a.lft-social{width:38px;height:38px}
  .le-footer h3{font-size:.66rem;margin-bottom:12px}
  .le-footer .lft-links a,.le-footer .lft-dests a{font-size:.86rem}
  .lft-links{gap:10px}
  .lft-contacts{flex-direction:column}
  .le-footer a.lft-contact{font-size:.82rem}
  .lft-bottom{flex-wrap:wrap;margin-top:34px;padding-top:18px;gap:12px}
  .le-footer .lft-bottom p{flex:1 1 100%;order:3;margin:0;font-size:.74rem}
  .lft-legal{order:1;margin-right:auto}
  .le-footer .lft-legal a{font-size:.76rem}
  .le-footer a.lft-top{order:2;margin-left:auto}
}
@media (prefers-reduced-motion:reduce){.le-footer *{transition-duration:.01ms !important}}

/* Icônes SVG « en trait » du plugin : le thème applique fill:currentColor aux SVG, ce qui les remplit */
svg[fill="none"]{fill:none !important}
