/* ============================================================
   FLY LOCATION REUNION — Design 2026
   Feuille de style principale du site public
   ============================================================ */
:root{
  --indigo:#2c2a52;--indigo-soft:#3d3a6b;
  --teal:#1fb6a6;--teal-dark:#0f8f82;
  --coral:#ff6b5c;--coral-dark:#f0503f;
  --sun:#ffd166;--sand:#fff6ec;
  --ink:#2c2a52;--grey:#6b7280;--white:#fff;
  --shadow:0 18px 40px rgba(44,42,82,.14);--radius:20px;
}
*{box-sizing:border-box}
body.fly{margin:0;font-family:'Nunito',system-ui,Arial,sans-serif;color:var(--ink);line-height:1.6;background:#fff}
.fly h1,.fly h2,.fly h3,.fly h4{font-family:'Poppins',system-ui,Arial,sans-serif;font-weight:700;color:var(--indigo);line-height:1.15;margin:0}
.fly a{text-decoration:none;color:inherit}
.fly img{max-width:100%}
.fly .container{width:100%;max-width:1180px;margin:0 auto;padding:0 22px}
.fly .btn{display:inline-flex;align-items:center;gap:.5rem;border:none;cursor:pointer;font-family:'Poppins';font-weight:600;font-size:1rem;padding:.85rem 1.7rem;border-radius:50px;transition:.2s;text-align:center}
.fly .btn-primary{background:linear-gradient(135deg,var(--coral),var(--coral-dark));color:#fff;box-shadow:0 10px 22px rgba(255,107,92,.4)}
.fly .btn-primary:hover{transform:translateY(-2px)}
.fly .btn-teal{background:linear-gradient(135deg,var(--teal),var(--teal-dark));color:#fff}
.fly .btn-light{background:#fff;color:var(--indigo)}
.fly .section{padding:78px 0}
.fly .eyebrow{font-family:'Poppins';font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;color:var(--teal-dark)}
.fly .sec-head{text-align:center;max-width:640px;margin:0 auto 46px}
.fly .sec-head h2{font-size:2.3rem;margin:.4rem 0 .6rem}.fly .sec-head p{color:var(--grey);font-size:1.08rem}
.fly .bg-teal{background:linear-gradient(135deg,var(--teal),var(--teal-dark))}
.fly .bg-coral{background:linear-gradient(135deg,var(--coral),var(--coral-dark))}
.fly .bg-sun{background:linear-gradient(135deg,#ffd166,#f4a52b)}
.fly .bg-indigo{background:linear-gradient(135deg,var(--indigo-soft),var(--indigo))}

/* NAV */
.fly-nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);box-shadow:0 2px 20px rgba(44,42,82,.07)}
.fly-topbar{background:var(--indigo);color:#e7e6ff;font-size:.83rem}
.fly-topbar .container{display:flex;justify-content:space-between;align-items:center;height:34px;font-family:'Poppins';font-weight:500}
.fly-nav-inner{display:flex;align-items:center;justify-content:space-between;height:74px}
.fly-brand{display:flex;align-items:center;gap:.7rem;font-family:'Poppins';font-weight:800;color:var(--indigo);font-size:1.1rem}
.fly-brand img{width:52px;height:52px;border-radius:50%;object-fit:cover;box-shadow:0 4px 12px rgba(44,42,82,.15)}
.fly-menu{display:flex;gap:1.5rem;list-style:none;margin:0;padding:0;align-items:center}
.fly-menu a{font-family:'Poppins';font-weight:500;font-size:.95rem;padding:4px 0}
.fly-menu a:hover,.fly-menu a.active{color:var(--coral-dark)}
.fly-nav-cta{background:linear-gradient(135deg,var(--coral),var(--coral-dark));color:#fff;padding:.6rem 1.25rem;border-radius:50px;font-family:'Poppins';font-weight:600;font-size:.9rem}
.fly-burger{display:none;font-size:1.6rem;background:none;border:none;color:var(--indigo);cursor:pointer}
#fly-menu-chk{display:none}

/* HERO */
.fly-hero{position:relative;min-height:560px;display:flex;align-items:center;color:#fff;background:url('/img/fond_home.jpg') center/cover no-repeat}
.fly-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(28,26,60,.82),rgba(28,26,60,.5) 45%,rgba(31,182,166,.25))}
.fly-hero-inner{position:relative;z-index:2;padding:80px 0 120px;max-width:640px}
.fly-hero-tag{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);color:#fff;font-family:'Poppins',sans-serif;font-weight:600;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;padding:.45rem 1.1rem;border-radius:50px;margin-bottom:1.1rem;backdrop-filter:blur(4px)}
.fly-hero h1{color:#fff;font-size:3.1rem;font-weight:800;text-shadow:0 3px 22px rgba(0,0,0,.4)}
.fly-hero h1 .hl{color:var(--sun)}
.fly-hero p.lead{font-size:1.22rem;margin:1.1rem 0 1.8rem;color:#f3f2ff;text-shadow:0 2px 10px rgba(0,0,0,.35)}
.fly-badges{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:1.8rem}
.fly-badge{display:flex;align-items:center;gap:.5rem;font-family:'Poppins';font-weight:600;font-size:.95rem}
.fly-badge .ic{width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.2);display:grid;place-items:center}

/* SEARCH / RESERVATION */
.fly-search{position:relative;z-index:6;margin-top:-70px}
.fly-search-card{background:#fff;border-radius:22px;box-shadow:var(--shadow);padding:24px;border:1px solid #eef0f6}
.fly-search-title{font-family:'Poppins';font-weight:700;display:flex;align-items:center;gap:.5rem;margin-bottom:16px;font-size:1.15rem;color:var(--indigo)}
.fly-search-title .dot{width:11px;height:11px;border-radius:50%;background:var(--coral)}
.fly-resa-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.fly-field{display:flex;flex-direction:column;gap:.35rem}
.fly-field label{font-family:'Poppins';font-weight:600;font-size:.82rem;color:var(--indigo)}
.fly-field select,.fly-field input{padding:.72rem .8rem;border:1.5px solid #e3e6ef;border-radius:12px;font-family:'Nunito';font-size:.95rem;color:var(--ink);background:#fafbff;outline:none;width:100%}
.fly-field select:focus,.fly-field input:focus{border-color:var(--teal);background:#fff}
.fly-opts{display:flex;gap:1.4rem;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px dashed #e3e6ef;align-items:center}
.fly-opts .lbl{font-family:'Poppins';font-weight:600;color:var(--grey);font-size:.85rem}
.fly-opt{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--indigo-soft);font-size:.95rem}
.fly-opt input{width:18px;height:18px;accent-color:var(--teal)}
.fly-resa-foot{display:flex;justify-content:flex-end;margin-top:22px}

/* ENGAGEMENTS */
.fly-engage{background:var(--indigo);color:#fff}
.fly-engage .container{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:26px 22px}
.fly-eng{display:flex;align-items:center;gap:.8rem}
.fly-eng .ic{width:46px;height:46px;border-radius:12px;background:rgba(255,255,255,.12);display:grid;place-items:center;font-size:1.4rem;flex-shrink:0}
.fly-eng b{font-family:'Poppins';display:block;font-size:.98rem}.fly-eng span{font-size:.85rem;color:#bcbae6}

/* STEPS */
.fly-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.fly-step{text-align:center;padding:0 10px}
.fly-step .num{width:62px;height:62px;border-radius:50%;margin:0 auto 16px;display:grid;place-items:center;font-family:'Poppins';font-weight:800;font-size:1.5rem;color:#fff}
.fly-step h4{font-size:1.15rem;margin-bottom:.3rem}.fly-step p{color:var(--grey);font-size:.95rem}

/* FEATURE BAND */
.fly-band{display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center}
.fly-band .ph{border-radius:24px;overflow:hidden;box-shadow:var(--shadow);position:relative}
.fly-band .ph img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover}
.fly-band .ph .float{position:absolute;left:18px;bottom:18px;background:#fff;border-radius:14px;padding:.7rem 1rem;box-shadow:0 10px 24px rgba(0,0,0,.15);font-family:'Poppins';font-weight:700;color:var(--indigo);font-size:.9rem}
.fly-band h2{font-size:2.1rem;margin-bottom:.8rem}
.fly-band p{color:var(--grey);font-size:1.05rem;margin-bottom:1rem}
.fly-tick{display:flex;align-items:center;gap:.6rem;margin:.5rem 0;font-weight:600;color:var(--indigo-soft)}
.fly-tick .c{width:24px;height:24px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;font-size:.8rem;flex-shrink:0}

/* CARDS (vehicles / features) */
.fly-sand{background:var(--sand)}
.fly-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.fly-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.fly-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:0 10px 26px rgba(44,42,82,.08);transition:.2s}
.fly-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.fly-feat{background:#fff;border-radius:var(--radius);padding:28px 22px;text-align:center;border:1px solid #f0f1f7;box-shadow:0 8px 22px rgba(44,42,82,.06)}
.fly-feat .ic{width:60px;height:60px;border-radius:16px;margin:0 auto 14px;display:grid;place-items:center;font-size:1.5rem;color:#fff;font-family:'Poppins';font-weight:700}
.fly-feat h4{font-size:1.05rem;margin-bottom:.35rem}.fly-feat p{color:var(--grey);font-size:.92rem}

/* REVIEWS */
.fly-rev{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.fly-review{background:#fff;border-radius:var(--radius);padding:26px;box-shadow:0 8px 22px rgba(44,42,82,.07);border:1px solid #f0f1f7}
.fly-stars{color:#ffb400;letter-spacing:2px;margin-bottom:.6rem}
.fly-review p{color:#444;font-size:.96rem;font-style:italic}
.fly-who{display:flex;align-items:center;gap:.7rem;margin-top:1rem}
.fly-who .av{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;font-family:'Poppins'}
.fly-who b{font-family:'Poppins';font-size:.95rem}

/* TEAM */
.fly-team{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;max-width:960px;margin:0 auto}
.fly-member{background:#fff;border-radius:var(--radius);padding:26px 20px;text-align:center;box-shadow:0 10px 26px rgba(44,42,82,.09);transition:.2s}
.fly-member:hover{transform:translateY(-6px)}
.fly-member .photo{width:120px;height:120px;border-radius:50%;object-fit:cover;margin:0 auto 16px;border:4px solid #fff;box-shadow:0 8px 20px rgba(44,42,82,.18)}
.fly-member h4{font-size:1.12rem}.fly-member p{color:var(--teal-dark);font-weight:700;font-size:.88rem}

/* PAGE HEADER (interior pages) */
.fly-page-head{background:linear-gradient(160deg,var(--teal),var(--teal-dark));color:#fff;padding:56px 0;text-align:center}
.fly-page-head h1{color:#fff;font-size:2.5rem}.fly-page-head p{color:#e8fffb;margin-top:.5rem;font-size:1.1rem}

/* CONTACT */
.fly-contact{display:grid;grid-template-columns:1fr 1fr;border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}
.fly-contact-info{background:linear-gradient(160deg,var(--indigo),var(--indigo-soft));color:#fff;padding:46px 42px}
.fly-contact-info h2{color:#fff;font-size:1.9rem;margin-bottom:.5rem}
.fly-contact-info .sub{color:#c9c7ee;margin-bottom:1.8rem}
.fly-cline{display:flex;align-items:center;gap:1rem;margin-bottom:1.2rem}
.fly-cline .ic{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.14);display:grid;place-items:center;font-size:1.2rem;flex-shrink:0}
.fly-socials{display:flex;gap:.8rem;margin-top:1.6rem}
.fly-socials a{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.14);display:grid;place-items:center;font-size:1.2rem}
.fly-socials a:hover{background:var(--coral)}
.fly-contact-map{min-height:340px}
.fly-contact-map iframe{width:100%;height:100%;min-height:340px;border:0;display:block}

/* FOOTER */
.fly-foot{background:var(--indigo);color:#cfcdf0;padding:48px 0 24px}
.fly-foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px;margin-bottom:32px}
.fly-foot h5{color:#fff;font-family:'Poppins';font-size:1.02rem;margin-bottom:1rem}
.fly-foot .brand-f{display:flex;align-items:center;gap:.6rem;font-family:'Poppins';font-weight:800;color:#fff;font-size:1.05rem;margin-bottom:1rem}
.fly-foot .brand-f img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.fly-foot ul{list-style:none;margin:0;padding:0}.fly-foot ul li{margin-bottom:.55rem}
.fly-foot-bottom{border-top:1px solid rgba(255,255,255,.13);padding-top:18px;text-align:center;font-size:.88rem;color:#9d9ac9}

@media(max-width:960px){
  .fly-band,.fly-contact{grid-template-columns:1fr}
  .fly-engage .container,.fly-grid4,.fly-team{grid-template-columns:1fr 1fr}
  .fly-grid3,.fly-rev,.fly-steps{grid-template-columns:1fr 1fr}
  .fly-foot-grid{grid-template-columns:1fr 1fr}
  .fly-hero h1{font-size:2.1rem}
  .fly-hero p.lead{font-size:1.05rem}
  .fly-topbar{display:none}

  /* En-tête mobile compact : logo + burger + Réserver sur une seule ligne */
  .fly-nav-inner{height:62px;gap:10px;flex-wrap:nowrap}
  .fly-brand{font-size:.92rem;gap:.5rem;flex:1 1 auto;min-width:0;line-height:1.1}
  .fly-brand img{width:38px;height:38px;flex-shrink:0}
  .fly-brand span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .fly-burger{display:block;order:2;flex-shrink:0;padding:4px 6px;line-height:1}
  .fly-nav-cta{order:3;flex-shrink:0;padding:.5rem .95rem;font-size:.82rem}

  /* Menu déroulant plein largeur sous l'en-tête */
  .fly-menu{
    position:absolute;top:100%;left:0;right:0;background:#fff;
    flex-direction:column;gap:0;align-items:stretch;
    box-shadow:0 16px 30px rgba(44,42,82,.15);border-top:1px solid #eef0f6;
    max-height:0;overflow:hidden;transition:max-height .28s ease;
  }
  #fly-menu-chk:checked ~ .fly-menu{max-height:75vh;}
  .fly-menu li{width:100%;list-style:none}
  .fly-menu a{
    display:block;width:100%;padding:15px 22px;font-size:1rem;font-weight:600;
    color:var(--indigo);border-bottom:1px solid #f2f3f9;
  }
  .fly-menu a:hover,.fly-menu a:active{background:#f7f8fc;color:var(--coral-dark)}
  .fly-menu a::after{display:none}
}
@media(max-width:560px){
  /* Nom de marque TOUJOURS visible, en version compacte (sur 2 lignes si besoin) */
  .fly-brand{font-size:.72rem;gap:.45rem;line-height:1.08}
  .fly-brand img{width:36px;height:36px}
  .fly-brand span{white-space:normal;overflow:visible;text-overflow:clip}
  .fly-nav-cta{padding:.45rem .85rem;font-size:.78rem}
  .fly-hero{min-height:470px}
  .fly-hero-inner{padding:44px 0 84px}
  .fly-hero h1{font-size:1.8rem}
  .fly-hero p.lead{font-size:1rem}
  .fly-resa-grid,.fly-engage .container,.fly-grid3,.fly-grid4,.fly-rev,.fly-steps,.fly-team,.fly-foot-grid{grid-template-columns:1fr}
}
