/* Pages légales PFB — v1.8.3 */
body.pfb-legal-page{background:#08111d!important}
body.pfb-legal-page .pfb-legal-shell{
  --legal-bg:#08111d;
  --legal-panel:#0d1724;
  --legal-panel-soft:#111d2c;
  --legal-line:rgba(255,255,255,.10);
  --legal-text:#eef2f7;
  --legal-muted:#a3afbf;
  --legal-red:#df2631;
  --legal-gold:#d9b65d;
  position:relative;
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:62px 0 82px;
  color:var(--legal-text);
  background:
    radial-gradient(circle at 92% 4%,rgba(223,38,49,.11),transparent 25%),
    radial-gradient(circle at 5% 70%,rgba(23,77,145,.12),transparent 28%),
    var(--legal-bg);
  font-family:Inter,"Segoe UI",Arial,sans-serif;
}
body.pfb-legal-page .pfb-legal-shell:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#174d91 0%,#fff 28%,#df2631 63%,#d9b65d 100%)}
.pfb-legal-shell *{box-sizing:border-box}
.pfb-legal-wrap{width:min(1120px,calc(100% - 42px));margin:0 auto}
.pfb-legal-kicker{display:block;margin-bottom:10px;color:var(--legal-gold);font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.pfb-legal-hero{margin-bottom:28px;padding:34px;border:1px solid var(--legal-line);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.02));box-shadow:0 28px 70px rgba(0,0,0,.22)}
.pfb-legal-hero h1{margin:0;color:#fff;font-size:clamp(38px,5vw,64px);line-height:1;letter-spacing:-.045em;font-weight:900}
.pfb-legal-hero p{max-width:850px;margin:16px 0 0;color:#b8c2d0;font-size:15px;line-height:1.75}
.pfb-legal-updated{display:inline-flex;margin-top:20px;padding:7px 10px;border:1px solid var(--legal-line);border-radius:999px;color:#ccd5e1;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:rgba(255,255,255,.03)}
.pfb-legal-alert{margin:0 0 26px;padding:18px 20px;border:1px solid rgba(217,182,93,.28);border-radius:16px;background:rgba(217,182,93,.07);color:#e8ddbd;font-size:13px;line-height:1.65}
.pfb-legal-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:28px;align-items:start}
.pfb-legal-content{min-width:0}
.pfb-legal-section{margin-bottom:18px;padding:26px 28px;border:1px solid var(--legal-line);border-radius:18px;background:linear-gradient(180deg,var(--legal-panel),#0a131e)}
.pfb-legal-section h2{margin:0 0 15px;color:#fff;font-size:24px;line-height:1.15;font-weight:850;letter-spacing:-.03em}
.pfb-legal-section h3{margin:22px 0 10px;color:#fff;font-size:17px;line-height:1.25;font-weight:800}
.pfb-legal-section p,.pfb-legal-section li{color:#c3cddd;font-size:14px;line-height:1.75}
.pfb-legal-section p{margin:0 0 12px}.pfb-legal-section p:last-child{margin-bottom:0}
.pfb-legal-section ul,.pfb-legal-section ol{margin:10px 0 0;padding-left:22px}
.pfb-legal-section li+li{margin-top:7px}
.pfb-legal-section strong{color:#fff}
.pfb-legal-section a{color:#fff!important;text-decoration:none!important;border-bottom:1px solid rgba(223,38,49,.6);transition:color .16s ease,border-color .16s ease}
.pfb-legal-section a:hover{color:#ffd5d8!important;border-color:#fff}
.pfb-legal-toc{position:sticky;top:118px;padding:20px;border:1px solid var(--legal-line);border-radius:18px;background:rgba(13,23,36,.94);backdrop-filter:blur(12px)}
.pfb-legal-toc strong{display:block;margin-bottom:13px;color:#fff;font-size:13px}
.pfb-legal-toc a{display:block;padding:8px 0;color:#aeb9c8!important;font-size:12px;line-height:1.4;text-decoration:none!important;border-bottom:1px solid rgba(255,255,255,.06)}
.pfb-legal-toc a:last-child{border-bottom:0}.pfb-legal-toc a:hover{color:#fff!important}
.pfb-legal-card-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.pfb-legal-card{padding:18px;border:1px solid var(--legal-line);border-radius:14px;background:rgba(255,255,255,.025)}
.pfb-legal-card small{display:block;margin-bottom:7px;color:var(--legal-gold);font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.pfb-legal-card strong{display:block;font-size:16px;line-height:1.25}.pfb-legal-card p{margin-top:8px;font-size:12px}
.pfb-legal-placeholder{display:inline-block;padding:2px 6px;border-radius:5px;background:rgba(223,38,49,.15);color:#ffd5d8;font-weight:800}
@media(max-width:880px){.pfb-legal-grid{grid-template-columns:1fr}.pfb-legal-toc{position:relative;top:auto;order:-1}.pfb-legal-card-row{grid-template-columns:1fr}}
@media(max-width:600px){body.pfb-legal-page .pfb-legal-shell{padding:44px 0 62px}.pfb-legal-wrap{width:min(100% - 26px,560px)}.pfb-legal-hero,.pfb-legal-section{padding:22px}.pfb-legal-hero h1{font-size:38px}}


/* v1.8.2 — forcer l'affichage pleine largeur des pages légales */
body.pfb-legal-page #ajax-content-wrap,
body.pfb-legal-page #ajax-content-wrap .container-wrap,
body.pfb-legal-page #ajax-content-wrap .main-content,
body.pfb-legal-page #ajax-content-wrap .container,
body.pfb-legal-page #ajax-content-wrap .row,
body.pfb-legal-page #ajax-content-wrap .col,
body.pfb-legal-page #ajax-content-wrap .wpb_wrapper,
body.pfb-legal-page #ajax-content-wrap .vc_row,
body.pfb-legal-page #ajax-content-wrap .vc_column_container,
body.pfb-legal-page #ajax-content-wrap .entry-content,
body.pfb-legal-page #ajax-content-wrap .post-area,
body.pfb-legal-page #ajax-content-wrap article.page{
  max-width:none!important;
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  background:transparent!important;
}
body.pfb-legal-page #ajax-content-wrap .container-wrap,
body.pfb-legal-page #ajax-content-wrap .main-content,
body.pfb-legal-page #ajax-content-wrap .entry-content,
body.pfb-legal-page #ajax-content-wrap article.page{
  padding-top:0!important;
  padding-bottom:0!important;
}
body.pfb-legal-page #page-header-bg{margin-bottom:0!important;}
body.pfb-legal-page .pfb-legal-shell{overflow:visible;}

/* ==========================================================
   v1.8.3 — PAGES LÉGALES : VRAIE PLEINE LARGEUR ROSIE/WPBAKERY
   ========================================================== */
/* Le HTML réel de Rosie n'est pas toujours enveloppé par #ajax-content-wrap.
   On cible donc directement la chaîne réellement rendue et la classe ajoutée par JS. */
body.pfb-legal-page{
  background:#08111d!important;
  overflow-x:hidden!important;
}
body.pfb-legal-page .container.no-sidebar.has-title,
body.pfb-legal-page #content.no-sidebar,
body.pfb-legal-page .page.type-page,
body.pfb-legal-page .page.type-page > article,
body.pfb-legal-page .post-content.page-content,
body.pfb-legal-page .wpb-content-wrapper,
body.pfb-legal-page .wpb-content-wrapper > .vc_row,
body.pfb-legal-page .wpb-content-wrapper .parallax-wrapper,
body.pfb-legal-page .wpb-content-wrapper .vc_column_container,
body.pfb-legal-page .wpb-content-wrapper .vc_column-inner,
body.pfb-legal-page .wpb-content-wrapper .wpb_wrapper,
body.pfb-legal-page .wpb-content-wrapper .wpb_raw_code,
body.pfb-legal-page .pfb-premium-fullbleed-chain{
  box-sizing:border-box!important;
  float:none!important;
  clear:both!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin-top:0!important;
  margin-bottom:0!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  padding-left:0!important;
  padding-right:0!important;
  background:transparent!important;
  overflow:visible!important;
}

/* Un seul ancêtre devient réellement viewport-wide : pas de transforms en cascade. */
body.pfb-legal-page .pfb-premium-fullbleed-host{
  position:relative!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:100vw!important;
  max-width:100vw!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
  overflow:visible!important;
  background:transparent!important;
}

body.pfb-legal-page #page-title-wrapper,
body.pfb-legal-page #page-header-bg,
body.pfb-legal-page .has-title #content,
body.pfb-legal-page .post-content.page-content,
body.pfb-legal-page .wpb-content-wrapper,
body.pfb-legal-page .wpb-content-wrapper > .vc_row,
body.pfb-legal-page .wpb_raw_code.wpb_content_element{
  margin-bottom:0!important;
  padding-bottom:0!important;
}
body.pfb-legal-page #page-title-wrapper + *,
body.pfb-legal-page #page-header-bg + *{
  margin-top:0!important;
  padding-top:0!important;
}
body.pfb-legal-page .pfb-legal-shell{
  width:100vw!important;
  max-width:100vw!important;
  margin-top:-1px!important;
  margin-right:0!important;
  margin-left:0!important;
  left:0!important;
  transform:none!important;
  overflow:hidden!important;
}

/* Anti-héritage Rosie : aucun titre noir dans les panneaux sombres. */
body.pfb-legal-page .pfb-legal-shell h1,
body.pfb-legal-page .pfb-legal-shell h2,
body.pfb-legal-page .pfb-legal-shell h3,
body.pfb-legal-page .pfb-legal-shell h4,
body.pfb-legal-page .pfb-legal-shell h5,
body.pfb-legal-page .pfb-legal-shell h6,
body.pfb-legal-page .pfb-legal-shell .pfb-legal-card strong,
body.pfb-legal-page .pfb-legal-shell .pfb-legal-toc strong{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-shadow:none!important;
}
body.pfb-legal-page .pfb-legal-shell p,
body.pfb-legal-page .pfb-legal-shell li,
body.pfb-legal-page .pfb-legal-shell dd,
body.pfb-legal-page .pfb-legal-shell dt{
  color:#c3cddd!important;
  -webkit-text-fill-color:#c3cddd!important;
}
body.pfb-legal-page .pfb-legal-shell .pfb-legal-kicker{
  color:var(--legal-gold)!important;
  -webkit-text-fill-color:var(--legal-gold)!important;
}
body.pfb-legal-page .pfb-legal-shell .pfb-legal-alert,
body.pfb-legal-page .pfb-legal-shell .pfb-legal-alert *{
  color:#e8ddbd!important;
  -webkit-text-fill-color:#e8ddbd!important;
}
body.pfb-legal-page .pfb-legal-shell .pfb-legal-updated{
  color:#ccd5e1!important;
  -webkit-text-fill-color:#ccd5e1!important;
}
body.pfb-legal-page .pfb-legal-shell .pfb-legal-placeholder{
  color:#ffd5d8!important;
  -webkit-text-fill-color:#ffd5d8!important;
}

/* Le contenu utile garde une largeur premium et non une colonne étroite. */
body.pfb-legal-page .pfb-legal-wrap{
  width:min(1180px,calc(100% - 48px))!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:680px){
  body.pfb-legal-page .pfb-legal-wrap{width:min(100% - 26px,620px)!important;}
}

/* ==========================================================
   v1.8.6 — MOBILE : SUPPRESSION DU RETRAIT BLANC LATÉRAL
   ========================================================== */
@media (max-width:782px){
  html,
  body.pfb-legal-page{
    overflow-x:hidden!important;
  }

  body.pfb-legal-page .container.no-sidebar.has-title,
  body.pfb-legal-page #content.no-sidebar,
  body.pfb-legal-page .page.type-page,
  body.pfb-legal-page .page.type-page > article,
  body.pfb-legal-page .post-content.page-content,
  body.pfb-legal-page .wpb-content-wrapper,
  body.pfb-legal-page .wpb-content-wrapper > .vc_row,
  body.pfb-legal-page .wpb-content-wrapper .parallax-wrapper,
  body.pfb-legal-page .wpb-content-wrapper .vc_column_container,
  body.pfb-legal-page .wpb-content-wrapper .vc_column-inner,
  body.pfb-legal-page .wpb-content-wrapper .wpb_wrapper,
  body.pfb-legal-page .wpb-content-wrapper .wpb_raw_code,
  body.pfb-legal-page .wpb-content-wrapper .wpb_content_element,
  body.pfb-legal-page .pfb-premium-fullbleed-chain{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
    overflow:visible!important;
  }

  body.pfb-legal-page .pfb-premium-fullbleed-host{
    left:0!important;
    right:auto!important;
    transform:none!important;
    width:100vw!important;
    max-width:100vw!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  body.pfb-legal-page .pfb-legal-shell{
    position:relative!important;
    left:0!important;
    right:auto!important;
    transform:none!important;
    width:100vw!important;
    max-width:100vw!important;
    margin-right:0!important;
  }
}
