/* ════════════════════════════════════════════════════════
     Go BOOK — styles de la page vitrine.
     Toutes les classes sont préfixées « lp- » pour ne jamais
     entrer en conflit avec les classes Tailwind des vues
     applicatives (login / inscription / réservation).
     ════════════════════════════════════════════════════════ */
  :root{
    --brand:#007CC1;          /* bleu Go BOOK existant */
    --brand-dark:#00639A;
    --navy:#0D3C7A;           /* navy de la charte Instagram */
    --halo:#4FC3F7;
    --ink:#0F2540;
    --body:#41556F;
    --ice:#F1F6FB;
    --line:#DCE7F2;
    --page:#F1F5F9;
    --sans:'Inter',system-ui,-apple-system,sans-serif;
    --display:'Montserrat','Inter',sans-serif;
  }

  html{scroll-behavior:smooth}
  body{
    font-family:var(--sans);
    background:var(--page);
    color:var(--ink);
    margin:0;
    -webkit-font-smoothing:antialiased;
  }
  body.lp-app-mode{background:#f5f6f8}

  .lp-wrap{max-width:1120px;margin:0 auto;padding:0 24px}
  .lp a{text-decoration:none}

  /* ── Bandeau parrainage ── */
  .lp-topbar{
    background:var(--navy);color:#fff;text-align:center;
    font-size:14px;font-weight:600;padding:9px 16px;
  }
  .lp-topbar a{color:var(--halo);text-decoration:underline;text-underline-offset:3px}

  /* ── En-tête ── */
  .lp-nav{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40}
  .lp-nav__in{display:flex;align-items:center;justify-content:space-between;gap:20px;height:96px}
  .lp-nav__logo{display:flex;align-items:center;gap:12px}
  .lp-nav__logo img{height:96px;width:auto;display:block}
      .lp-nav__links{display:flex;align-items:center;gap:6px}
  .lp-nav__links a{
    padding:9px 14px;border-radius:8px;font-size:15px;font-weight:600;color:var(--body);
  }
  .lp-nav__links a:hover{background:var(--ice);color:var(--brand)}
  .lp-nav__links a[aria-current]{color:var(--brand)}

  /* Bouton d'appel à l'action du menu.
     Sélecteur volontairement plus spécifique que « .lp-nav__links a »,
     sinon la couleur grise du menu écrase le blanc du bouton. */
  .lp-nav__links a.lp-nav__cta,
  .lp-nav__links a.lp-nav__cta:hover{
    color:#fff;
    background:linear-gradient(135deg,var(--navy) 0%,var(--brand) 100%);
  }
  .lp-nav__links a.lp-nav__cta{
    margin-left:10px;padding:11px 22px;border-radius:100px;white-space:nowrap;
    font-weight:700;letter-spacing:.005em;
    box-shadow:0 4px 14px rgba(0,124,193,.28);
    transition:transform .18s ease,box-shadow .18s ease;
  }
  .lp-nav__links a.lp-nav__cta span{
    display:inline-block;margin-left:4px;
    transition:transform .18s ease;
  }
  .lp-nav__links a.lp-nav__cta:hover{
    transform:translateY(-2px);
    box-shadow:0 9px 24px rgba(0,124,193,.42);
  }
  .lp-nav__links a.lp-nav__cta:hover span{transform:translateX(3px)}
  .lp-burger{display:none;background:none;border:0;color:var(--ink);padding:8px;cursor:pointer}
  .lp-mobile{display:none;border-top:1px solid var(--line);background:#fff;padding:10px 24px 18px}
  .lp-mobile a{display:block;padding:12px 4px;font-weight:600;color:var(--ink);border-bottom:1px solid var(--line)}
  .lp-mobile a:last-of-type{border-bottom:0}
  .lp-mobile.is-open{display:block}
  @media(max-width:900px){
    .lp-nav__in{height:76px}
    .lp-nav__logo img{height:64px}
    .lp-nav__links{display:none}
    .lp-burger{display:block}
  }

  /* ── Boutons ── */
  .lp-btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    font-family:var(--sans);font-weight:700;font-size:15.5px;
    padding:14px 28px;border-radius:10px;border:2px solid transparent;cursor:pointer;
    transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
  }
  .lp-btn--primary{background:var(--brand);color:#fff}
  .lp-btn--primary:hover{background:var(--brand-dark);transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,124,193,.32)}
  .lp-btn--light{background:#fff;color:var(--navy)}
  .lp-btn--light:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.25)}
  .lp-btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.42)}
  .lp-btn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.1)}
  .lp-btn--sm{padding:10px 20px;font-size:14.5px}
  .lp :focus-visible{outline:3px solid var(--halo);outline-offset:3px}

  /* ── Hero ── */
  .lp-hero{
    position:relative;overflow:hidden;background:var(--navy);color:#fff;
    padding:88px 0 96px;isolation:isolate;
  }
  .lp-hero::before,.lp-hero::after{content:"";position:absolute;border-radius:50%;z-index:-1}
  .lp-hero::before{
    width:760px;height:760px;top:-300px;right:-220px;
    background:radial-gradient(circle,rgba(79,195,247,.30) 0%,rgba(13,60,122,0) 68%);
  }
  .lp-hero::after{
    width:620px;height:620px;bottom:-320px;left:-180px;
    background:radial-gradient(circle,rgba(0,124,193,.65) 0%,rgba(13,60,122,0) 70%);
  }
  .lp-hero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
  .lp-eyebrow{
    display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:700;
    letter-spacing:.19em;text-transform:uppercase;color:var(--halo);margin:0 0 20px;
  }
  .lp-eyebrow::before{content:"";width:24px;height:2px;background:var(--halo)}
  .lp-hero h1{
    font-family:var(--display);font-weight:800;
    font-size:clamp(2rem,4.4vw,3.15rem);line-height:1.1;letter-spacing:-.022em;
    margin:0 0 22px;
  }
  .lp-hero__lead{font-size:clamp(1.02rem,1.7vw,1.19rem);color:rgba(255,255,255,.85);margin:0 0 32px;max-width:50ch}
  .lp-hero__cta{display:flex;flex-wrap:wrap;gap:13px;margin-bottom:30px}
  .lp-hero__trust{
    display:flex;align-items:center;gap:10px;font-size:13.5px;color:rgba(255,255,255,.7);margin:0;
  }
  .lp-hero__trust img{width:22px;height:22px;border-radius:50%}
  .lp-hero__card{
    background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);
    border-radius:18px;padding:30px;backdrop-filter:blur(6px);
  }
  .lp-hero__card img{height:74px;width:auto;margin:0 auto 18px;display:block}
  .lp-hero__card p{text-align:center;font-size:13.5px;color:rgba(255,255,255,.72);margin:0 0 18px;font-weight:600}
  .lp-stores{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:center}
  .lp-stores img{height:42px;width:auto;display:block;transition:transform .18s ease}
  .lp-stores a:hover img{transform:scale(1.04)}
  @media(max-width:900px){
    .lp-hero{padding:60px 0 68px}
    .lp-hero__grid{grid-template-columns:1fr;gap:40px}
  }

  /* ── Sections ── */
  .lp-sec{padding:88px 0;background:#fff}
  .lp-sec--ice{background:var(--ice)}
  .lp-sec__eyebrow{font-size:12px;font-weight:700;letter-spacing:.19em;text-transform:uppercase;color:var(--brand);margin:0 0 13px}
  .lp-sec__title{
    font-family:var(--display);font-weight:800;color:var(--navy);
    font-size:clamp(1.6rem,3.2vw,2.3rem);line-height:1.18;letter-spacing:-.02em;
    margin:0 0 16px;max-width:20ch;
  }
  .lp-sec__lead{font-size:1.04rem;color:var(--body);max-width:58ch;margin:0 0 48px;line-height:1.7}

  /* ── Cartes bénéfices ── */
  .lp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  .lp-card{
    background:#fff;border:1px solid var(--line);border-radius:14px;padding:32px 28px;
    transition:transform .2s ease,box-shadow .2s ease;
  }
  .lp-sec--ice .lp-card{background:#fff}
  .lp-card:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(13,60,122,.10)}
  .lp-card__ico{
    width:46px;height:46px;border-radius:12px;margin-bottom:19px;
    background:linear-gradient(135deg,var(--navy),var(--brand));
    color:#fff;display:flex;align-items:center;justify-content:center;font-size:19px;
  }
  .lp-card h3{font-family:var(--display);font-size:1.13rem;font-weight:700;color:var(--navy);margin:0 0 10px}
  .lp-card p{margin:0;color:var(--body);font-size:15.3px;line-height:1.65}
  @media(max-width:900px){.lp-cards{grid-template-columns:1fr}}

  /* ── Métiers ── */
  .lp-chips{display:flex;flex-wrap:wrap;gap:10px}
  .lp-chips a,.lp-chips span{
    display:inline-block;background:#fff;border:1px solid var(--line);border-radius:100px;
    padding:10px 20px;font-size:14.8px;font-weight:600;color:var(--navy);
  }
  .lp-chips a:hover{background:var(--navy);color:#fff;border-color:var(--navy)}

  /* ── Étapes ── */
  .lp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:2px solid var(--line)}
  .lp-step{padding:32px 28px;border-right:1px solid var(--line)}
  .lp-step:first-child{padding-left:0}
  .lp-step:last-child{border-right:0;padding-right:0}
  .lp-step__n{display:block;font-size:12px;font-weight:800;letter-spacing:.15em;color:var(--brand);margin-bottom:13px}
  .lp-step h3{font-family:var(--display);font-size:1.08rem;font-weight:700;color:var(--navy);margin:0 0 9px}
  .lp-step p{margin:0;color:var(--body);font-size:15.3px;line-height:1.65}
  @media(max-width:900px){
    .lp-steps{grid-template-columns:1fr}
    .lp-step,.lp-step:first-child,.lp-step:last-child{border-right:0;border-bottom:1px solid var(--line);padding:26px 0}
    .lp-steps .lp-step:last-child{border-bottom:0}
  }

  /* ── Bandeau tarif ── */
  .lp-price{
    display:grid;grid-template-columns:1fr auto;gap:36px;align-items:center;
    background:#fff;border:1px solid var(--line);border-radius:18px;padding:40px 42px;
  }
  .lp-price h2{font-family:var(--display);font-size:1.55rem;font-weight:800;color:var(--navy);margin:0 0 10px;letter-spacing:-.018em}
  .lp-price p{margin:0;color:var(--body);max-width:52ch}
  .lp-price__amount{font-family:var(--display);font-size:2.9rem;font-weight:800;color:var(--brand);line-height:1;letter-spacing:-.03em}
  .lp-price__amount small{display:block;font-family:var(--sans);font-size:.85rem;font-weight:500;color:var(--body);margin-top:7px;letter-spacing:0}
  @media(max-width:760px){.lp-price{grid-template-columns:1fr;padding:30px 26px;text-align:center}}

  /* ── Parrainage ── */
  .lp-parr{
    position:relative;overflow:hidden;background:var(--navy);color:#fff;
    border-radius:20px;padding:52px 48px;isolation:isolate;
  }
  .lp-parr::before{
    content:"";position:absolute;z-index:-1;width:480px;height:480px;border-radius:50%;
    top:-220px;right:-130px;
    background:radial-gradient(circle,rgba(79,195,247,.33) 0%,rgba(13,60,122,0) 70%);
  }
  .lp-parr__pct{display:block;font-family:var(--display);font-size:clamp(2.9rem,7vw,4.2rem);font-weight:800;color:var(--halo);line-height:1;letter-spacing:-.03em;margin-bottom:12px}
  .lp-parr h2{font-family:var(--display);font-size:clamp(1.45rem,2.9vw,2rem);font-weight:800;margin:0 0 13px;letter-spacing:-.018em}
  .lp-parr p{color:rgba(255,255,255,.83);max-width:54ch;margin:0 0 28px;line-height:1.7}
  @media(max-width:700px){.lp-parr{padding:38px 26px}}

  /* ── Contact ── */
  .lp-final{text-align:center}
  .lp-final .lp-sec__title,.lp-final .lp-sec__lead{margin-left:auto;margin-right:auto}
  .lp-final .lp-sec__lead{text-align:center}

  /* ── Pied de page ── */
  .global-footer{background:#12294A;color:#fff;padding:52px 0 30px;font-size:15px}
  .lp-foot__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;margin-bottom:36px;text-align:left}
  .lp-foot__grid h4{font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--halo);margin:0 0 14px}
  .lp-foot__grid ul{list-style:none;padding:0;margin:0}
  .lp-foot__grid li{margin-bottom:9px}
  .lp-foot__grid a{color:rgba(255,255,255,.72)}
  .lp-foot__grid a:hover{color:#fff}
  .lp-foot__grid address{font-style:normal;color:rgba(255,255,255,.72);line-height:1.8}
  .lp-foot__brand{font-family:var(--display);font-weight:800;font-size:19px;letter-spacing:.13em;text-transform:uppercase;margin:0 0 12px}
  .lp-foot__bar{border-top:1px solid rgba(255,255,255,.13);padding-top:20px;color:rgba(255,255,255,.55);font-size:13.5px;text-align:center}
  @media(max-width:820px){.lp-foot__grid{grid-template-columns:1fr;gap:28px}}

  @media(prefers-reduced-motion:reduce){.lp *{transition:none!important;animation:none!important}}

  /* ════════ Pages intérieures ════════ */
  .lp-hero--sm{padding:64px 0 68px}
  .lp-hero--sm h1{max-width:22ch}
  .lp-crumb{font-size:13.5px;color:rgba(255,255,255,.6);margin:0 0 18px}
  .lp-crumb a{color:rgba(255,255,255,.85)}
  .lp-crumb span{margin:0 7px}

  /* Listes défis / bénéfices */
  .lp-split2{display:grid;grid-template-columns:1fr 1fr;gap:26px}
  @media(max-width:900px){.lp-split2{grid-template-columns:1fr}}
  .lp-panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:32px 30px}
  .lp-panel--neg{border-top:4px solid #E05252}
  .lp-panel--pos{border-top:4px solid #2FA36B}
  .lp-panel h3{font-family:var(--display);font-size:1.08rem;font-weight:700;margin:0 0 18px;letter-spacing:.02em;text-transform:uppercase}
  .lp-panel--neg h3{color:#C43C3C}
  .lp-panel--pos h3{color:#1F8354}
  .lp-panel ul{list-style:none;padding:0;margin:0}
  .lp-panel li{position:relative;padding:11px 0 11px 28px;color:var(--body);font-size:15.3px;border-bottom:1px solid var(--line);line-height:1.6}
  .lp-panel li:last-child{border-bottom:0}
  .lp-panel li::before{position:absolute;left:0;top:11px;font-weight:800;font-size:15px}
  .lp-panel--neg li::before{content:"×";color:#E05252}
  .lp-panel--pos li::before{content:"✓";color:#2FA36B}

  /* Calculateur de tarifs */
  .lp-calc{display:grid;grid-template-columns:1.25fr .75fr;gap:32px;align-items:start}
  @media(max-width:900px){.lp-calc{grid-template-columns:1fr}.lp-total{position:static}}
  .lp-box{background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px 28px;margin-bottom:22px}
  .lp-box h3{font-family:var(--display);font-size:1.14rem;font-weight:700;color:var(--navy);margin:0 0 6px}
  .lp-box__sub{margin:0 0 22px;color:var(--muted,#5B6E8C);font-size:14.5px}
  .lp-row{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
  .lp-row + .lp-row{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
  .lp-row strong{color:var(--navy);font-size:15.5px}
  .lp-row p{margin:4px 0 0;color:var(--body);font-size:14.3px;max-width:46ch}
  .lp-amount{font-family:var(--display);font-size:1.6rem;font-weight:800;color:var(--navy);white-space:nowrap}
  .lp-amount span{font-family:var(--sans);font-size:.8rem;font-weight:500;color:var(--body)}
  .lp-num{width:82px;padding:11px;border:1px solid var(--line);border-radius:9px;text-align:center;font-family:var(--sans);font-size:15px;font-weight:600;color:var(--navy)}
  .lp-hint{font-size:13.3px;color:var(--body);margin:8px 0 0;text-align:right}
  .lp-mod{display:flex;align-items:center;gap:13px;padding:14px 16px;border:1px solid var(--line);border-radius:11px;cursor:pointer;transition:border-color .15s ease,background .15s ease}
  .lp-mod:hover{border-color:var(--brand);background:var(--ice)}
  .lp-mod + .lp-mod{margin-top:11px}
  .lp-mod input{width:19px;height:19px;accent-color:var(--brand);cursor:pointer;flex:none}
  .lp-mod__price{margin-left:auto;font-weight:700;color:var(--navy);white-space:nowrap}
  .lp-total{position:sticky;top:112px;overflow:hidden;background:var(--navy);color:#fff;border-radius:16px;padding:34px 30px;text-align:center;isolation:isolate}
  .lp-total::before{content:"";position:absolute;z-index:-1;width:340px;height:340px;border-radius:50%;top:-160px;right:-100px;background:radial-gradient(circle,rgba(79,195,247,.32) 0%,rgba(13,60,122,0) 70%)}
  .lp-total__label{font-size:12px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--halo);margin:0 0 12px}
  .lp-total__big{font-family:var(--display);font-size:2.9rem;font-weight:800;line-height:1;letter-spacing:-.03em;margin:0}
  .lp-total__mo{margin:12px 0 0;color:rgba(255,255,255,.82);font-size:15px}
  .lp-total__mo b{font-size:1.15rem}
  .lp-total .lp-btn{width:100%;margin-top:22px}
  .lp-total__note{font-size:13px;color:rgba(255,255,255,.6);margin:14px 0 0}

  /* Étapes numérotées du parrainage */
  .lp-num4{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
  @media(max-width:760px){.lp-num4{grid-template-columns:1fr}}
  .lp-numcard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px 26px}
  .lp-numcard__n{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--navy),var(--brand));color:#fff;font-weight:800;font-size:15px;margin-bottom:15px}
  .lp-numcard h3{font-family:var(--display);font-size:1.08rem;font-weight:700;color:var(--navy);margin:0 0 9px}
  .lp-numcard p{margin:0;color:var(--body);font-size:15.2px;line-height:1.65}

  /* Contact */
  .lp-contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;align-items:start}
  @media(max-width:900px){.lp-contact{grid-template-columns:1fr}}
  .lp-info{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px 24px}
  .lp-info + .lp-info{margin-top:16px}
  .lp-info h3{font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--brand);margin:0 0 10px}
  .lp-info p,.lp-info address{margin:0;font-style:normal;color:var(--body);line-height:1.75;font-size:15.3px}
  .lp-info a{color:var(--navy);font-weight:600}
  .lp-form{background:#fff;border:1px solid var(--line);border-radius:14px;padding:32px 30px}
  .lp-field{margin-bottom:18px}
  .lp-field label{display:block;font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--body);margin-bottom:7px}
  .lp-field input,.lp-field textarea{
    width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:10px;
    font-family:var(--sans);font-size:15.3px;color:var(--ink);background:#FBFDFF;
    transition:border-color .15s ease,box-shadow .15s ease;
  }
  .lp-field input:focus,.lp-field textarea:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px rgba(0,124,193,.14)}
  .lp-field textarea{resize:vertical;min-height:130px;line-height:1.6}
  .lp-form .lp-btn{width:100%}
  .form-feedback{padding:14px 16px;margin-bottom:18px;border-radius:10px;font-size:14.5px}
  .form-feedback.success{background:#DCFCE7;color:#14532D;border:1px solid #86EFAC}
  .form-feedback.error{background:#FEE2E2;color:#7F1D1D;border:1px solid #FCA5A5}
