/* ============================================================
   Mentions légales — Baptiste & Magali   (raccord home / contact)
============================================================ */
:root{
  --gold:#E54B8D; --gold-lt:#F291B9;
  --navy:#043D64; --blue-2:#085C95; --blue-0:#02273F; --soft:#B9CFE0;
  --serif:'Besley', Georgia, 'Times New Roman', serif;
  --sans:'Roboto','Helvetica Neue', Arial, sans-serif;
  --jost:'Jost','Futura','Avenir Next','Trebuchet MS',system-ui,sans-serif;
  --fr:14px;
}
@media(max-width:760px){ :root{ --fr:9px } }

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;background:#02273F;}
body.bm-legal{
  font-family:var(--sans);
  color:#fff;
  background:radial-gradient(140% 90% at 50% 0%, var(--blue-2) 0%, var(--navy) 38%, var(--blue-0) 100%);
  background-repeat:no-repeat;
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
}
.bm-legal a{color:inherit;text-decoration:none;}
.bm-legal ::selection{background:var(--gold);color:#fff;}

.lframe{
  min-height:100vh;
  padding:clamp(22px,4vw,54px) clamp(20px,5vw,70px);
  display:flex;flex-direction:column;gap:clamp(30px,5vw,58px);
}


/* ---------- intro ---------- */
.lmain{max-width:1120px;width:100%;margin:0 auto;flex:1;}
.lintro{max-width:720px;margin-bottom:clamp(30px,4.5vw,52px);}
.leyebrow{display:inline-block;font-family:var(--jost);font-weight:600;letter-spacing:.22em;font-size:12px;color:var(--gold-lt);margin-bottom:16px;}
.lintro h1{font-family:var(--serif);font-weight:500;line-height:1.04;font-size:clamp(34px,6vw,64px);letter-spacing:-.5px;}
.lintro h1 em{font-style:normal;color:var(--gold);}
.lintro p{margin-top:18px;font-size:clamp(15px,1.5vw,18px);line-height:1.65;color:var(--soft);max-width:620px;}

/* ---------- grille sommaire / contenu ---------- */
.lgrid{display:grid;grid-template-columns:230px minmax(0,1fr);gap:clamp(30px,5vw,70px);align-items:start;}
@media(max-width:900px){ .lgrid{grid-template-columns:1fr;gap:34px;} }

.ltoc{position:sticky;top:34px;}
@media(max-width:900px){ .ltoc{position:static;border:1px solid rgba(185,207,224,.24);border-radius:16px;padding:20px 22px;} }
.ltoc-title{display:block;font-family:var(--jost);font-weight:600;letter-spacing:.18em;font-size:11px;text-transform:uppercase;color:var(--gold-lt);margin-bottom:14px;}
.ltoc ol{list-style:none;counter-reset:toc;}
.ltoc li{counter-increment:toc;margin-bottom:2px;}
.ltoc a{
  display:flex;gap:10px;align-items:baseline;
  font-size:14px;line-height:1.45;color:var(--soft);
  padding:7px 0;border-bottom:1px solid rgba(185,207,224,.13);
  transition:color .25s,padding-left .25s;
}
.ltoc a::before{content:counter(toc,decimal-leading-zero);font-family:var(--jost);font-size:10px;letter-spacing:.06em;color:rgba(242,145,185,.75);}
.ltoc a:hover{color:#fff;padding-left:4px;}

/* ---------- sections ---------- */
.lsec{padding:clamp(26px,3vw,38px) 0;border-top:1px solid rgba(185,207,224,.18);scroll-margin-top:28px;}
.lsec:first-child{border-top:none;padding-top:0;}
.lsec h2{
  font-family:var(--serif);font-weight:500;letter-spacing:-.2px;
  font-size:clamp(22px,2.6vw,30px);line-height:1.15;margin-bottom:18px;
}
.lsec h3{
  font-family:var(--jost);font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  font-size:12px;color:var(--gold-lt);margin:26px 0 10px;
}
.lsec p{font-size:16px;line-height:1.75;color:#e8f0f7;margin-bottom:14px;max-width:66ch;}
.lsec p:last-child{margin-bottom:0;}
.lsec strong{color:#fff;font-weight:600;}
.lsec em{font-style:italic;color:var(--gold-lt);}
.lsec a:not(.lbtn){color:#fff;border-bottom:1px solid rgba(242,145,185,.55);transition:border-color .25s,color .25s;}
.lsec a:not(.lbtn):hover{border-color:var(--gold);color:var(--gold-lt);}

.llist{list-style:none;margin:0 0 14px;max-width:66ch;}
.llist li{
  position:relative;padding-left:22px;margin-bottom:12px;
  font-size:16px;line-height:1.7;color:#e8f0f7;
}
.llist li::before{
  content:'';position:absolute;left:0;top:11px;
  width:8px;height:8px;background:var(--gold);
  transform:rotate(45deg);
}

.lnote{
  font-size:14px!important;color:var(--soft)!important;
  border-left:2px solid var(--gold);padding-left:16px;margin-top:20px!important;
}
.lupdate{font-size:13px!important;color:rgba(185,207,224,.7)!important;margin-top:22px!important;}

/* ---------- cartes éditeurs ---------- */
.lcards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0 6px;}
@media(max-width:680px){ .lcards{grid-template-columns:1fr;} }
.lcard{
  background:rgba(255,255,255,.055);
  border:1px solid rgba(185,207,224,.22);
  border-radius:18px;padding:22px 24px 24px;
  transition:border-color .3s,background .3s,transform .3s;
}
.lcard:hover{border-color:rgba(242,145,185,.55);background:rgba(255,255,255,.08);transform:translateY(-2px);}
.lcard-tag{
  display:inline-block;font-family:var(--jost);font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;font-size:10px;
  color:var(--gold-lt);margin-bottom:10px;
}
.lcard h3{
  font-family:var(--serif)!important;font-weight:500!important;text-transform:none!important;
  letter-spacing:-.2px!important;font-size:21px!important;color:#fff!important;margin:0 0 16px!important;
}
.lcard dl{display:grid;grid-template-columns:auto 1fr;gap:7px 16px;font-size:14.5px;line-height:1.55;}
.lcard dt{font-family:var(--jost);font-weight:500;color:rgba(185,207,224,.85);white-space:nowrap;}
.lcard dd{color:#fff;}
.lcard dd a{border-bottom:1px solid rgba(242,145,185,.5);}

/* ---------- bouton ---------- */
.lbtn{
  display:inline-flex;align-items:center;gap:10px;cursor:pointer;
  font-family:var(--jost);font-weight:600;letter-spacing:.04em;font-size:15px;color:#fff;
  background:var(--gold);border:none;border-radius:999px;padding:13px 28px;
  box-shadow:0 12px 30px -14px rgba(229,75,141,.85);
  transition:background .25s,transform .25s,box-shadow .25s;
}
.lbtn:hover{background:var(--gold-lt);transform:translateY(-2px);box-shadow:0 16px 34px -14px rgba(229,75,141,1);}

/* ---------- footer ---------- */
.lfoot{
  margin-top:auto;padding-top:24px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-size:13px;letter-spacing:.04em;color:var(--soft);
  border-top:1px solid rgba(185,207,224,.2);
}
.lfoot .amp{color:var(--gold);}
.lfoot-links{display:flex;gap:20px;align-items:center;}
.lfoot-links a,.lfoot-links button{
  font-family:var(--sans);font-size:13px;color:var(--soft);
  background:none;border:none;padding:0;cursor:pointer;transition:color .25s;
}
.lfoot-links a:hover,.lfoot-links button:hover{color:var(--gold-lt);}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{transition:none!important;}
}
