.ap{--bx:#8B0000;--bx2:#5c0000;--or:#D4AF37;--tx:#1F2937;--mu:#6B7280;overflow:hidden;color:var(--tx)}
.ap h1,.ap h2,.ap h3{font-family:'Playfair Display',serif;margin:0}
.ap-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center;max-width:1100px;margin:0 auto;padding:3.5rem 1.25rem 3rem}
.ap-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(139,0,0,.08);color:var(--bx);padding:.35rem .8rem;border-radius:999px;font-size:.8rem;font-weight:700}
.ap-hero h1{font-size:clamp(2rem,5vw,3.2rem);line-height:1.1;margin:1rem 0 .8rem;color:var(--bx)}
.ap-lead{font-size:1.05rem;line-height:1.65;color:#4B5563;max-width:34rem;margin:0}
.ap-boutons{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.6rem 0 1rem}
.ap-store{display:inline-flex;align-items:center;gap:.75rem;background:#111827;color:#fff;padding:.7rem 1.2rem;border-radius:14px;text-decoration:none;transition:transform .2s,box-shadow .2s;box-shadow:0 8px 20px rgba(17,24,39,.2)}
.ap-store i{font-size:1.8rem}
.ap-store span{display:flex;flex-direction:column;font-weight:700;line-height:1.15;font-size:1rem}
.ap-store small{font-weight:500;font-size:.68rem;opacity:.8}
.ap-store:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(17,24,39,.28);color:#fff}
.ap-store--clair{background:#fff;color:#111827;border:1px solid #E5E7EB}
.ap-store--clair:hover{color:#111827}
.ap-store--off{background:#9CA3AF;box-shadow:none;cursor:default}
.ap-points{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;padding:0;margin:0;font-size:.88rem;color:#374151}
.ap-points i{color:#15803d;margin-right:.3rem}
.ap-version{font-size:.78rem;color:var(--mu);margin:.8rem 0 0}

/* Téléphones */
.ap-scene{position:relative;height:520px;display:flex;justify-content:center;align-items:center}
.ap-scene::before{content:"";position:absolute;inset:8% 4%;background:radial-gradient(circle at 30% 30%,rgba(212,175,55,.35),transparent 55%),radial-gradient(circle at 70% 70%,rgba(139,0,0,.28),transparent 60%);filter:blur(30px)}
.ap-tel{position:absolute;width:210px;height:430px;background:#0B0B0F;border-radius:34px;padding:9px;box-shadow:0 30px 60px rgba(0,0,0,.35),inset 0 0 0 2px #2b2b33}
.ap-tel--android{left:6%;top:50px;transform:rotate(-7deg);z-index:1}
.ap-tel--iphone{right:6%;top:10px;transform:rotate(5deg);z-index:2;border-radius:40px}
.ap-ecran{position:relative;height:100%;background:#F6F4F2;border-radius:26px;overflow:hidden;padding:10px 12px;font-size:11px}
.ap-tel--iphone .ap-ecran{border-radius:32px}
.ap-trou{position:absolute;top:8px;left:50%;width:9px;height:9px;margin-left:-4px;background:#000;border-radius:50%}
.ap-ile{position:absolute;top:8px;left:50%;width:62px;height:18px;margin-left:-31px;background:#000;border-radius:20px}
.ap-barre{display:flex;justify-content:space-between;font-weight:700;font-size:10px;margin-bottom:14px;padding:0 4px}
.ap-entete-app{background:linear-gradient(135deg,var(--bx),var(--bx2));color:#fff;border-radius:14px;padding:10px 12px;margin-bottom:9px}
.ap-entete-app small{display:block;opacity:.8;font-size:9px}
.ap-entete-app strong{font-size:13px}
.ap-carte-moy{background:#fff;border-radius:12px;padding:10px 12px;margin-bottom:9px;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.ap-carte-moy small{color:var(--mu);font-size:9px}
.ap-carte-moy b{display:block;font-size:22px;color:var(--bx);margin:2px 0 6px}
.ap-jauge{height:6px;background:#F3F4F6;border-radius:99px;overflow:hidden}
.ap-jauge i{display:block;height:100%;background:var(--bx);border-radius:99px}
.ap-cours{display:flex;gap:9px;align-items:center;background:#fff;border-radius:12px;padding:9px 10px;margin-bottom:7px;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.ap-cours>i{width:28px;height:28px;border-radius:9px;background:rgba(139,0,0,.1);color:var(--bx);display:flex;align-items:center;justify-content:center;font-size:12px}
.ap-cours b{display:block;font-size:11px}
.ap-cours small{color:var(--mu);font-size:9px}
.ap-nav{position:absolute;left:10px;right:10px;bottom:10px;background:#fff;border-radius:16px;display:flex;justify-content:space-around;padding:10px 0;color:#9CA3AF;font-size:14px;box-shadow:0 4px 14px rgba(0,0,0,.1)}
.ap-nav .on{color:var(--bx)}

/* Sections */
.ap-section{max-width:1100px;margin:0 auto;padding:3rem 1.25rem}
.ap-section>h2{text-align:center;font-size:clamp(1.5rem,3.5vw,2.1rem);color:var(--bx);margin-bottom:2rem}
.ap-section--fond{max-width:none;background:linear-gradient(180deg,#fff,#FBF6F4)}
.ap-section--fond>*{max-width:1100px;margin-left:auto;margin-right:auto}
.ap-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.1rem}
.ap-fonction{background:#fff;border:1px solid #EEE7E4;border-radius:18px;padding:1.4rem;transition:transform .2s,box-shadow .2s}
.ap-fonction:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(139,0,0,.1)}
.ap-fonction>i{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,var(--bx),var(--bx2));color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.15rem;margin-bottom:.9rem}
.ap-fonction h3{font-size:1.1rem;margin-bottom:.35rem}
.ap-fonction p{margin:0;color:var(--mu);font-size:.92rem;line-height:1.55}

.ap-install{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.2rem}
.ap-guide{background:#fff;border:1px solid #EEE7E4;border-radius:20px;padding:1.6rem;box-shadow:0 10px 30px rgba(0,0,0,.04)}
.ap-guide header{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem}
.ap-guide header i{font-size:2rem;color:var(--bx)}
.ap-guide h3{font-size:1.3rem}
.ap-guide ol{list-style:none;padding:0;margin:0 0 1.2rem;display:grid;gap:.9rem}
.ap-guide li{display:flex;gap:.8rem;align-items:flex-start}
.ap-guide li>span{flex:none;width:28px;height:28px;border-radius:50%;background:var(--bx);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:.85rem}
.ap-guide li b{display:block;font-size:.95rem}
.ap-guide li small{color:var(--mu);font-size:.84rem;line-height:1.5}
.ap-btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--bx);color:#fff;padding:.75rem 1.2rem;border-radius:12px;text-decoration:none;font-weight:700;transition:background .2s}
.ap-btn:hover{background:var(--bx2);color:#fff}
.ap-info{color:#4B5563}

.ap-faq{max-width:760px;margin:0 auto;display:grid;gap:.7rem}
.ap-faq details{background:#fff;border:1px solid #EEE7E4;border-radius:14px;padding:1rem 1.2rem}
.ap-faq summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.ap-faq summary::after{content:"+";color:var(--bx);font-weight:700;font-size:1.2rem;line-height:1}
.ap-faq details[open] summary::after{content:"\2212"}
.ap-faq summary::-webkit-details-marker{display:none}
.ap-faq p{margin:.7rem 0 0;color:var(--mu);line-height:1.6;font-size:.93rem}

@media(max-width:860px){
  .ap-hero{grid-template-columns:1fr;text-align:center;padding-top:2rem}
  .ap-lead{margin:0 auto}
  .ap-boutons,.ap-points{justify-content:center}
  .ap-scene{height:470px}
}
@media(max-width:420px){
  .ap-tel{width:180px;height:370px}
  .ap-tel--android{left:0}.ap-tel--iphone{right:0}
  .ap-scene{height:420px}
}

/* Rappel de mise à jour et historique des versions */
.ap-rappel{display:flex;gap:.9rem;align-items:flex-start;max-width:980px;margin:1.2rem auto;padding:1rem 1.2rem;background:#fff6f6;border:1px solid #e8c4c4;border-left:4px solid #8B0000;border-radius:10px}
.ap-rappel i{color:#8B0000;font-size:1.4rem;margin-top:.15rem}
.ap-rappel p{margin:0;font-size:.92rem;line-height:1.5}
.ap-versions-aide{text-align:center;color:var(--mu);margin:0 auto 1.2rem;max-width:640px}
.ap-versions{display:grid;gap:.8rem;max-width:760px;margin:0 auto}
.ap-ver{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.2rem;background:#fff;border:1px solid #e5e5e5;border-radius:12px}
.ap-ver--last{border-color:#8B0000}
.ap-ver-info{display:grid;gap:.2rem}
.ap-ver-info small{color:var(--mu)}
.ap-ver-info p{margin:.3rem 0 0;font-size:.88rem}
.ap-ver-tag{justify-self:start;background:#8B0000;color:#fff;font-size:.7rem;padding:.1rem .5rem;border-radius:999px}
@media (max-width:560px){.ap-ver{flex-direction:column;align-items:stretch}}
.ap-ver-fichiers{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}
@media (max-width:560px){.ap-ver-fichiers{justify-content:stretch}.ap-ver-fichiers .ap-btn{flex:1}}
