/* Polices auto-hebergees. Le mockup v2 les tirait de fonts.googleapis.com,
   ce qui envoie l'IP de chaque visiteur a Google avant tout consentement —
   difficile a tenir sur une page qui affiche « Heberge en Suisse ». Fichiers
   recuperes depuis Google Fonts (licence SIL OFL), sous-ensembles latin et
   latin-ext seulement : les six langues du site n'ont pas besoin du reste. */
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url('/src/assets/fonts/inter-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url('/src/assets/fonts/inter-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url('/src/assets/fonts/poppins-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url('/src/assets/fonts/poppins-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url('/src/assets/fonts/poppins-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url('/src/assets/fonts/poppins-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:800;font-display:swap;src:url('/src/assets/fonts/poppins-800-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Poppins';font-style:normal;font-weight:800;font-display:swap;src:url('/src/assets/fonts/poppins-800-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* ─────────────────────────────────────────────────────────────────────────────
   Landing v2 — complement de mise en page.

   Le fond a vagues, les cartes translucides (.easy-card, .hover-card) et la
   typographie viennent d'app.css.php, charge avant celui-ci : les trois landings
   portent donc exactement le fond et les cartes du reste du site.

   Ce fichier n'ajoute que ce que le theme n'a pas — la grille du hero, les cartes
   de role, les piliers, le calculateur — plus les quelques regles reprises de
   l'ancienne landing (voir bloc suivant).

   Tout reste scope sous .landing-v2 : navigationLanding.php est partage avec les
   pages legales, contact et « A propos », qui ne doivent rien recevoir d'ici.
   ───────────────────────────────────────────────────────────────────────────── */

/* Reprises de l'ancienne landing ---------------------------------------------
   Les trois vues chargeaient pages/views.view.landingpage.css pour heriter de ses
   boutons et de ses citations. C'etait un piege : ce fichier commence par un
   :root ecrit en PHP (--color4: <?=$_SESSION['theme']['color4']?>) et min.php
   sert le CSS tel quel, sans jamais le passer a PHP. Ce :root arrivait donc apres
   celui d'app.css.php avec des valeurs litteralement invalides, et --ink, --muted,
   --glass et --ring tombaient sur les trois pages : le texte des cartes repassait
   au gris fonce de Bootstrap sur fond navy, illisible.

   Le fond et les cartes vivent de toute facon dans app.css.php — cette feuille en
   etait une copie. Il n'en manquait que ces quelques regles, recopiees ici. */
.wrapper.landing-shell{position:relative;overflow:hidden;padding-bottom:48px}

.landing-v2 .btn-easyidp-blue,
.landing-v2 .btn-easyidp-green,
.landing-v2 .btn-outline-easyidp{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.65rem 1rem;font-weight:800;letter-spacing:.3px;border-radius:4px;
  white-space:nowrap;text-decoration:none;
  transition:transform .12s,box-shadow .2s,filter .2s,background .2s;
}
.landing-v2 .btn-easyidp-blue{
  color:#fff;background:linear-gradient(180deg,#3a82c4,#235a96);
  border:1px solid rgba(58,130,196,.5);box-shadow:0 10px 24px -8px rgba(31,80,140,.7);
}
.landing-v2 .btn-easyidp-blue:hover{transform:translateY(-1px);filter:brightness(1.05);color:#fff}
/* L'original posait du lime sur transparent. Ca tenait sur le navy uni de
   l'ancienne page ; ici le bouton tombe sur la bande lime du fond des le premier
   defilement et s'efface. Un fond sombre translucide lui garde son allure de
   contour et le rend lisible sur n'importe quelle vague. */
.landing-v2 .btn-easyidp-green{color:var(--easyidp-lime);background:rgba(4,10,31,.55);border:1px solid currentColor}
.landing-v2 .btn-easyidp-green:hover{transform:translateY(-1px);background:rgba(154,245,87,.16)}
/* L'original posait #2b6cb0 sur transparent : du bleu fonce sur un fond navy.
   Ici le bouton reste un contour, mais clair. */
.landing-v2 .btn-outline-easyidp{color:var(--ink);background:transparent;border:1px solid var(--glass-b)}
.landing-v2 .btn-outline-easyidp:hover{transform:translateY(-1px);background:rgba(255,255,255,.08);color:var(--ink)}

.landing-v2 .quote{
  display:block;margin:18px auto 0;padding:1.2rem 1.35rem;border-radius:24px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  color:rgba(236,243,255,.88);font-style:normal;line-height:1.7;
}
.landing-v2 .quote-author{
  display:inline-block;margin-top:.7rem;color:rgba(97,199,211,.96);
  font-size:.84rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;
}

/* Bandeau des clubs -----------------------------------------------------------
   Le bandeau posé dans une carte perd son panneau et ses dégradés de bord au
   profit d'un mask-image : c'est la variante .logo-loop-flat d'app.css.php,
   partagée avec la page « À propos » qui pose le même bandeau dans la même
   carte. Le composant partner_logo_loop.php reçoit la classe ; il n'y a plus
   rien à écrire ici. */

/* Bootstrap donne a .card la couleur de texte du mode clair (--bs-body-color,
   #212529) ; app.css.php ne la corrige pas, il ne repeint que le fond. Sur un
   fond translucide sombre il faut donc la reprendre, sinon toutes les sections
   s'ecrivent en gris fonce. */
.landing-v2 .card{color:var(--ink)}

/* Chaque section de la page est une carte : la gouttiere de .section (jusqu'a
   80px en haut ET en bas) creusait 160px de vide entre deux cartes. */
.landing-v2 .section{padding:clamp(14px,2vw,26px) clamp(16px,4vw,32px)}

/* Les sur-titres et les titres de section vivent HORS carte, donc a meme le fond
   a vagues : selon la longueur de la page ils tombent tantot sur le navy, tantot
   sur la bande lime, ou le blanc s'efface. Un halo sombre les tient lisibles sur
   les deux fonds. Les memes classes employees DANS une carte n'y touchent pas :
   elles ont deja leur fond a elles, d'ou le selecteur d'enfant direct. */
.landing-v2 .section > .lv-sec-h,
.landing-v2 .lv-h1,
.landing-v2 .lv-sub{
  text-shadow:0 1px 2px rgba(4,10,31,.9), 0 0 18px rgba(4,10,31,.75);
}

/* Le sur-titre, lui, est cyan : sur la bande lime aucun halo ne le sauve. Hors
   carte il devient donc une pastille, dans le vocabulaire des .lv-chip de la
   page — le cyan garde alors son fond sombre partout. */
.landing-v2 .section > .lv-sec-eyebrow{
  display:inline-block;background:rgba(4,10,31,.62);border:1px solid var(--glass-b);
  padding:6px 13px;border-radius:100px;margin-bottom:14px;
}

.landing-v2 .lv-h1,
.landing-v2 .lv-sec-h,
.landing-v2 .lv-pillar-t,
.landing-v2 .lv-role-t,
.landing-v2 .lv-final-t{
  font-family:'Poppins',"Trebuchet MS","Segoe UI",sans-serif;
  letter-spacing:-.01em;
}

/* Hero — sans la photo. .hero du theme pose assets/img/hero-bg.png (le coach et
   ses joueurs) derriere un voile noir a 65 % : sur ces pages le titre passait sur
   un visage et le fond a vagues du site disparaissait sous la photo. On rend donc
   le hero transparent — c'est la vague qui porte le titre — et la hauteur fixe de
   520px min n'a plus de raison d'etre puisqu'il n'y a plus d'image a cadrer. */
.landing-v2 .hero{
  background:none;min-height:auto;
  padding:clamp(40px,6vw,84px) clamp(16px,4vw,40px) clamp(24px,3vw,44px);
  place-items:center;
}
.landing-v2 .lv-hero-inner{
  position:relative;z-index:1;width:100%;max-width:1120px;
  margin:0 auto;padding:0 clamp(16px,4vw,40px);text-align:left;
}
.landing-v2 .lv-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:32px;align-items:center}
.landing-v2 .lv-eyebrow{
  font-family:'Poppins',"Trebuchet MS",sans-serif;font-weight:700;font-size:12px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--easyidp-cyan);
  margin-bottom:14px;display:inline-block;
}
.landing-v2 .lv-h1{font-weight:800;font-size:clamp(28px,4.2vw,40px);line-height:1.12;margin-bottom:16px}
.landing-v2 .lv-h1 .g{color:var(--easyidp-lime)}
.landing-v2 .lv-h1 .c{color:var(--easyidp-cyan)}
.landing-v2 .lv-sub{font-size:16px;color:var(--muted);margin-bottom:26px;max-width:56ch}
.landing-v2 .lv-ctas{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.landing-v2 .lv-hero-visual{display:flex;align-items:center;justify-content:center}
.landing-v2 .lv-hero-visual svg{width:100%;max-width:300px;height:auto}
.landing-v2 .lv-pres{
  display:inline-flex;align-items:center;gap:7px;margin-top:18px;font-size:13.5px;font-weight:600;
  color:var(--muted);border-bottom:1px dashed var(--glass-b);padding-bottom:2px;
}
.landing-v2 .lv-pres:hover{color:var(--easyidp-cyan);border-color:var(--easyidp-cyan)}
.landing-v2 .lv-allsports{
  margin-top:26px;background:rgba(154,245,87,.10);border:1px solid rgba(154,245,87,.32);
  border-radius:16px;padding:13px 18px;font-weight:600;font-size:14px;
}
.landing-v2 .lv-allsports i{color:var(--easyidp-lime);margin-right:8px}

/* Cartes de role — .easy-card fournit le fond et la bordure, on n'ajoute que la
   disposition en deux colonnes et la fleche. */
.landing-v2 .lv-roles{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.landing-v2 .lv-role .card-body{display:flex;align-items:center;justify-content:space-between;gap:14px}
.landing-v2 .lv-role{color:inherit;display:block;text-decoration:none}
.landing-v2 .lv-role-t{font-weight:700;font-size:17px;display:block}
.landing-v2 .lv-role-s{font-size:13px;color:var(--muted);margin-top:4px;display:block}
.landing-v2 .lv-role .arrow{
  width:38px;height:38px;border-radius:12px;background:var(--easyidp-teal);color:var(--easyidp-navy);
  display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:700;flex-shrink:0;
}
.landing-v2 .lv-role.club .arrow{background:var(--easyidp-cyan)}

/* Sections, piliers, confiance ---------------------------------------------- */
.landing-v2 .lv-sec-eyebrow{
  font-family:'Poppins',"Trebuchet MS",sans-serif;font-weight:700;font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--easyidp-cyan);margin-bottom:10px;
}
/* app.css.php centre tous les h2 de .section ; combine au max-width ci-dessous
   le titre finissait a gauche du centre, aligne sur rien. */
.landing-v2 .lv-sec-h{font-weight:700;font-size:clamp(19px,2.4vw,23px);margin-bottom:18px;max-width:640px;text-align:left}
.landing-v2 .lv-chips{display:flex;flex-wrap:wrap;gap:10px}
.landing-v2 .lv-chip{
  font-size:13.5px;color:var(--muted);background:var(--glass);border:1px solid var(--glass-b);
  padding:9px 15px;border-radius:100px;
}
.landing-v2 .lv-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.landing-v2 .lv-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.landing-v2 .lv-pillar svg{width:52px;height:52px;margin-bottom:14px}
.landing-v2 .lv-pillar-t{font-weight:700;font-size:16px;margin-bottom:11px;line-height:1.3}
.landing-v2 .lv-pillar ul{list-style:none;margin:0;padding:0}
.landing-v2 .lv-pillar li{font-size:13px;color:var(--muted);padding-left:16px;position:relative;margin-bottom:7px;line-height:1.45}
.landing-v2 .lv-pillar li::before{
  content:"";width:6px;height:6px;border-radius:50%;background:var(--easyidp-lime);
  position:absolute;left:0;top:7px;
}
.landing-v2 .lv-pillar.cyan li::before{background:var(--easyidp-cyan)}
.landing-v2 .lv-trust-card .card-body{text-align:center}
.landing-v2 .lv-trust-card svg{width:44px;height:44px;margin-bottom:10px}
.landing-v2 .lv-trust-card .st{font-weight:600;font-size:13px;line-height:1.35}

/* Calculateur --------------------------------------------------------------
   Regles reprises de l'ancienne landing avec le calculateur lui-meme : elles y
   etaient deja scopees sous #price-calculator, on garde ce scope. Le titre et le
   sous-titre restent ceux du theme (.theme-title, .section h4), simplement
   centres au-dessus de la carte. */
.landing-v2 .lv-calc-head{text-align:center;margin-bottom:6px}
.landing-v2 #price-calculator .calc-card{
  max-width:520px;margin:0 auto;padding:20px;border-radius:20px;
  /* Le noir a 70 % de l'original suffisait sur le navy uni de l'ancienne page.
     Ici la bande lime du fond passe au travers et mange le badge Early Bird :
     meme degrade, mais pose sur un navy quasi opaque. */
  background:radial-gradient(circle at top left, rgba(255,255,255,.08), rgba(4,10,31,.95));
  border:1px solid var(--glass-b-bullet-card);
  box-shadow:0 14px 40px rgba(0,0,0,.45);text-align:left;
}
.landing-v2 #price-calculator .calc-row{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  margin-bottom:10px;font-size:.95rem;
}
.landing-v2 #price-calculator .calc-row-main{font-size:1.1rem;margin-top:4px}
.landing-v2 #price-calculator .calc-row label{margin:0;font-weight:600}
.landing-v2 #price-calculator .calc-row input[type=number]{max-width:140px}
.landing-v2 #price-calculator .calc-value{font-weight:700;font-size:1.05rem}
.landing-v2 #price-calculator .calc-disclaimer{margin-top:10px;font-size:.8rem;opacity:.7}
.landing-v2 #price-calculator .calc-promo-badge{
  display:inline-block;margin:8px 0 6px;padding:4px 10px;border-radius:999px;
  font-size:.8rem;font-weight:600;letter-spacing:.02em;
  background:rgba(17,255,0,.14);border:1px dashed rgba(109,184,100,.45);
  color:#6db864;text-transform:uppercase;
}
.landing-v2 #price-calculator .calc-section-title{
  margin-top:10px;margin-bottom:4px;font-size:.78rem;text-transform:uppercase;
  letter-spacing:.09em;opacity:.82;
}
.landing-v2 #price-calculator .calc-section-title-promo{margin-top:14px}
.landing-v2 #price-calculator .calc-row-promo{
  margin-top:4px;padding:6px 10px;border-radius:12px;
  background:rgba(17,215,0,.08);border:1px dashed rgba(109,184,100,.45);color:#6db864;
}
.landing-v2 #price-calculator .calc-row-promo .calc-value{font-size:1.1rem}

/* CTA final et pied --------------------------------------------------------- */
.landing-v2 .lv-final .card-body{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;
}
.landing-v2 .lv-final-t{font-weight:800;font-size:21px;max-width:460px}
.landing-v2 .lv-final-s{font-size:13px;color:var(--muted);margin-top:6px}
/* app.css.php garde un footer « legacy » : fond plein var(--color1), filet noir
   et texte centre — une barre opaque qui ne ressemble a rien d'autre de la page.
   Un simple filet clair a la place ne marchait pas non plus : le pied tombe pile
   sur la bande lime du fond, ou le vert du logo et le gris du contact s'effacent.
   Il devient donc une bande de verre, dans le meme vocabulaire que les cartes —
   meme largeur, meme bordure — et se lit sur n'importe quelle vague. */
.landing-v2 .lv-foot{
  margin:34px 0 0;padding:16px 22px;border-radius:16px;
  border:1px solid var(--glass-b);
  background:linear-gradient(180deg, rgba(4,10,31,.9), rgba(4,10,31,.72));
  text-align:left;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;
}
.landing-v2 .lv-foot-logo{display:inline-flex;align-items:center}
.landing-v2 .lv-foot-logo img{height:42px;width:auto;display:block}
.landing-v2 .lv-foot-r{font-size:12.5px;color:var(--muted)}

@media (max-width:860px){
  .landing-v2 .lv-hero-grid,.landing-v2 .lv-roles,
  .landing-v2 .lv-grid-3{grid-template-columns:1fr}
  .landing-v2 .lv-grid-4{grid-template-columns:1fr 1fr}
  .landing-v2 .lv-hero-visual{order:-1}
}
@media (max-width:520px){
  .landing-v2 .lv-grid-4{grid-template-columns:1fr}
  .landing-v2 .lv-ctas .btn{width:100%;justify-content:center}
}
