/* Gentleflirt - feuille de style principale */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{
    --noir:#0d0d0d;
    --noir-2:#1c1c1c;
    --noir-3:#2b2b2b;
    --blanc:#ffffff;
    --gris:#f5f4f2;
    --gris-2:#e4e2df;
    --orange:#ff6a13;
    --orange-2:#ff8c47;
    --orange-3:#d94f05;
    --orange-pale:#fff2e9;
    --encre:#101010;
    --mine:#5d5d5d;
    --angle:6px;
    --marge:clamp(16px,4vw,30px);
}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
    font-family:"Helvetica Neue",Helvetica,Arial,"Segoe UI",-apple-system,BlinkMacSystemFont,sans-serif;
    background:var(--blanc);
    color:var(--encre);
    line-height:1.66;
    font-size:17px;
    overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img,svg{max-width:100%;display:block}

.zone{width:100%;max-width:1120px;margin-inline:auto;padding-inline:var(--marge)}

/* ---------- bandeau ---------- */
.bandeau{position:sticky;top:0;z-index:50;background:var(--noir);color:#fff}
.bandeau__in{display:flex;align-items:center;justify-content:space-between;gap:16px;height:68px}
.marque{
    font-size:21px;font-weight:800;letter-spacing:-.4px;text-transform:lowercase;
    display:inline-flex;align-items:center;gap:2px;color:#fff;
}
.marque b{font-weight:800;color:#fff}
.marque u{text-decoration:none;color:var(--orange)}
.marque__barre{width:4px;height:22px;background:var(--orange);margin-right:9px;flex:none}
.bandeau__liens{display:flex;align-items:center;gap:30px}
.bandeau__liens a{
    color:rgba(255,255,255,.66);font-size:13px;font-weight:600;
    text-transform:uppercase;letter-spacing:1px;transition:color .18s ease;
}
.bandeau__liens a:hover{color:var(--orange)}

/* ---------- actions ---------- */
.action{
    display:inline-flex;align-items:center;justify-content:center;
    background:var(--orange);color:#fff;font-weight:700;font-size:16px;
    padding:15px 38px;border:0;border-radius:var(--angle);cursor:pointer;
    text-transform:uppercase;letter-spacing:.8px;text-align:center;
    transition:background .16s ease,transform .16s ease;
}
.action:hover{background:var(--orange-3);transform:translateY(-2px)}
.action--mini{padding:10px 22px;font-size:13px;letter-spacing:1px}
.action--large{padding:18px 50px;font-size:17px}
.action--vide{background:transparent;color:var(--encre);box-shadow:inset 0 0 0 2px var(--encre)}
.action--vide:hover{background:var(--encre);color:#fff}
.action__note{margin-top:14px;font-size:13.5px;color:var(--mine)}

/* ---------- une ---------- */
.une{background:var(--noir);color:#fff;padding:88px 0 96px;position:relative;overflow:hidden}
.une::after{
    content:"";position:absolute;right:-90px;top:-90px;width:340px;height:340px;
    background:var(--orange);opacity:.12;transform:rotate(45deg);
}
.une__in{position:relative;z-index:1;max-width:840px}
.mention{
    display:inline-block;background:var(--orange);color:#fff;
    font-size:11.5px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;
    padding:6px 13px;margin-bottom:26px;border-radius:3px;
}
.une h1{font-size:clamp(33px,6vw,60px);font-weight:800;letter-spacing:-1.8px;line-height:1.04;margin-bottom:22px}
.une h1 span{color:var(--orange)}
.une__texte{font-size:clamp(16px,2.2vw,20px);color:rgba(255,255,255,.66);max-width:600px;margin-bottom:36px}
.une__rappels{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:42px;padding-top:28px;border-top:1px solid rgba(255,255,255,.14)}
.une__rappels span{font-size:13px;font-weight:600;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:1px}
.une__rappels b{color:var(--orange);font-weight:800}

/* ---------- sections ---------- */
.section{padding:82px 0}
.section--gris{background:var(--gris);border-block:1px solid var(--gris-2)}
.section--noir{background:var(--noir);color:#fff}
.section--noir .tete h2{color:#fff}
.section--noir .tete p,.section--noir .corps p{color:rgba(255,255,255,.62)}

.tete{max-width:720px;margin-bottom:46px}
.tete--centre{margin-inline:auto;text-align:center}
.tete__sur{
    font-size:11.5px;font-weight:800;letter-spacing:2px;text-transform:uppercase;
    color:var(--orange);margin-bottom:12px;display:block;
}
.tete h2{font-size:clamp(25px,3.8vw,40px);font-weight:800;letter-spacing:-1.1px;line-height:1.14;margin-bottom:13px}
.tete h2 span{color:var(--orange)}
.tete p{color:var(--mine);font-size:17px}

.corps{max-width:760px}
.corps p{color:var(--mine);margin-bottom:18px}
.corps p:last-child{margin-bottom:0}
.corps strong{color:var(--encre);font-weight:700}
.section--noir .corps strong{color:#fff}

/* ---------- ages ---------- */
.ages{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.age{
    background:var(--blanc);border:2px solid var(--encre);border-radius:var(--angle);
    padding:32px 26px;transition:background .18s ease,color .18s ease;
}
.age:hover{background:var(--orange);border-color:var(--orange);color:#fff}
.age:hover .age__n,.age:hover p{color:#fff}
.age__n{
    font-size:38px;font-weight:800;letter-spacing:-2px;color:var(--orange);
    line-height:1;margin-bottom:14px;transition:color .18s ease;
}
.age h3{font-size:18px;font-weight:800;margin-bottom:10px;letter-spacing:-.3px}
.age p{color:var(--mine);font-size:15px;transition:color .18s ease}

/* ---------- cases ---------- */
.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.case{border-left:3px solid var(--orange);padding:4px 0 4px 22px}
.case h3{font-size:18px;font-weight:800;margin-bottom:8px;letter-spacing:-.2px}
.case p{color:var(--mine);font-size:15px}
.section--noir .case p{color:rgba(255,255,255,.58)}

/* ---------- serie ---------- */
.serie{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:2px solid var(--encre);border-radius:var(--angle);overflow:hidden}
.marche{padding:36px 28px;border-right:2px solid var(--encre)}
.marche:last-child{border-right:0}
.marche__n{
    font-size:13px;font-weight:800;letter-spacing:2px;text-transform:uppercase;
    color:var(--orange);margin-bottom:14px;
}
.marche h3{font-size:19px;font-weight:800;margin-bottom:9px;letter-spacing:-.3px}
.marche p{color:var(--mine);font-size:15px}

/* ---------- listes ---------- */
.points{max-width:800px;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px 32px;list-style:none;margin-top:30px}
.points li{position:relative;padding-left:26px;color:var(--mine);font-size:16px}
.points li::before{
    content:"";position:absolute;left:0;top:10px;width:10px;height:10px;
    background:var(--orange);
}
.section--noir .points li{color:rgba(255,255,255,.62)}

/* ---------- villes ---------- */
.villes{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.villes span{
    border:1px solid var(--gris-2);background:var(--blanc);border-radius:3px;
    padding:8px 16px;font-size:14.5px;font-weight:600;color:var(--mine);
    transition:border-color .16s ease,color .16s ease;
}
.villes span:hover{border-color:var(--orange);color:var(--orange)}

/* ---------- relance ---------- */
.relance{background:var(--orange);color:#fff;padding:80px 0;text-align:center}
.relance h2{font-size:clamp(26px,4vw,42px);font-weight:800;letter-spacing:-1.2px;margin-bottom:14px}
.relance p{color:rgba(255,255,255,.9);max-width:560px;margin:0 auto 30px;font-size:17px}
.relance .action{background:var(--noir);color:#fff}
.relance .action:hover{background:var(--blanc);color:var(--noir)}
.relance .action__note{color:rgba(255,255,255,.78)}

/* ---------- questions ---------- */
.qr{max-width:820px}
.qr details{border-bottom:2px solid var(--gris-2)}
.qr details[open]{border-color:var(--orange)}
.qr summary{
    display:flex;align-items:center;gap:16px;
    padding:22px 2px;font-weight:700;font-size:17px;cursor:pointer;list-style:none;
}
.qr summary::-webkit-details-marker{display:none}
.qr summary::before{
    content:"+";color:var(--orange);font-size:22px;font-weight:800;line-height:1;flex:none;width:18px;
}
.qr details[open] summary::before{content:"\2013"}
.qr__r{padding:0 2px 22px 34px;color:var(--mine);font-size:16px}

/* ---------- pages editoriales ---------- */
.page{padding:60px 0 78px}
.page .zone{max-width:830px}
.page h1{font-size:clamp(28px,4.2vw,42px);font-weight:800;letter-spacing:-1.2px;margin-bottom:8px}
.page h1 span{color:var(--orange)}
.page .quand{color:#96938f;font-size:14px;margin-bottom:36px}
.page h2{font-size:21px;font-weight:800;margin:34px 0 12px;letter-spacing:-.4px}
.page p{color:var(--mine);margin-bottom:15px}
.page strong{color:var(--encre);font-weight:700}
.page ul{margin:0 0 15px 20px}
.page li{color:var(--mine);margin-bottom:9px}
.page a{color:var(--orange-3);text-decoration:underline;text-underline-offset:3px}
.page a:hover{color:var(--orange)}
.cartouche{
    background:var(--orange-pale);border-left:4px solid var(--orange);
    padding:20px 24px;margin:22px 0;border-radius:0 var(--angle) var(--angle) 0;
}
.cartouche p:last-child{margin-bottom:0}

/* ---------- bas ---------- */
.bas{background:var(--noir);color:rgba(255,255,255,.55);padding:52px 0 40px}
.bas__haut{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.12)}
.bas__nav{display:flex;flex-wrap:wrap;gap:8px 22px}
.bas__nav a{color:rgba(255,255,255,.62);font-size:14px;transition:color .18s ease}
.bas__nav a:hover{color:var(--orange)}
.bas__legal{color:rgba(255,255,255,.38);font-size:13.5px;padding-top:22px;line-height:1.6}

/* ---------- adaptatif ---------- */
@media (max-width:900px){
    .ages,.cases{grid-template-columns:1fr 1fr}
    .serie{grid-template-columns:1fr}
    .marche{border-right:0;border-bottom:2px solid var(--encre)}
    .marche:last-child{border-bottom:0}
    .bandeau__liens{display:none}
}
@media (max-width:600px){
    body{font-size:16px}
    .ages,.cases{grid-template-columns:1fr}
    .une{padding:60px 0 66px}
    .section{padding:58px 0}
    .relance{padding:60px 0}
    .action{width:100%;max-width:340px}
    .bas__haut{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){
    *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
