/* ============================================================
   CHARTE GLOBALE — continuité visuelle avec la landing page
   Chargée en dernier sur toutes les pages — 24/08/2026
   ============================================================ */

:root{
  --cs-page:#242521;
  --cs-page-deep:#1f201d;
  --cs-surface:#30312d;
  --cs-surface-2:#363733;
  --cs-surface-3:#3d3e39;
  --cs-text:#f7f5f0;
  --cs-muted:rgba(255,255,255,.70);
  --cs-soft:rgba(255,255,255,.54);
  --cs-line:rgba(255,255,255,.13);
  --cs-line-strong:rgba(199,162,83,.42);
  --cs-brass:#c7a253;
  --cs-gold:#f2c744;
  --cs-yellow:#ffd400;
  --cs-blue:#3b82f6;
  --cs-shadow:0 16px 38px rgba(0,0,0,.22);
  --cs-radius:10px;
  --cs-serif:ui-serif,"Iowan Old Style","Palatino Linotype",Georgia,serif;
  --cs-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}

html{color-scheme:dark}
body.fresque-page{
  background-color:var(--cs-page)!important;
  background-image:none!important;
  color:var(--cs-text)!important;
  font-family:var(--cs-sans)!important;
}
body.landing-page{background-image:none!important}
body.fresque-page :is(.hero,.pagehead,.art-hero,.hub-hero){background-image:none!important}
body.fresque-page main{color:var(--cs-text)}
body.fresque-page main :where(h1,h2,h3,h4,h5,h6){color:#fff!important}
body.fresque-page main :where(h1,h2){font-family:var(--cs-serif);letter-spacing:-.025em}
body.fresque-page main h1{font-weight:700}
body.fresque-page main h2{font-weight:700;line-height:1.14}
body.fresque-page main h3{font-weight:750;line-height:1.25}
body.fresque-page main :where(p,li,dd,figcaption,cite,small,label,legend){color:var(--cs-muted)!important}
body.fresque-page main strong{color:#fff}
body.fresque-page main :where(a:not(.cta-btn):not(.btn):not(.btnp):not(.calc-btn)){color:var(--cs-gold)}
body.fresque-page main :where(a:not(.cta-btn):not(.btn):not(.btnp):not(.calc-btn)):hover{color:#ffe16a}
body.fresque-page main :where(a,button,input,select,textarea):focus-visible{outline:3px solid var(--cs-yellow)!important;outline-offset:3px}

/* En-tête statique avant normalisation JavaScript */
body.fresque-page header{background:var(--cs-surface)!important;color:#fff!important;border-color:var(--cs-line)!important}
body.fresque-page header :where(p,span,a){color:inherit}
body.fresque-page :is(nav.mn-nav,nav.mainnav){background:var(--cs-surface)!important;border-color:var(--cs-line)!important}
body.fresque-page header .bg-indigo-800\/70{background:var(--cs-surface-2)!important;color:#fff!important}
body.fresque-page header .header-contact a[href^="tel:"],
body.fresque-page header p.text-yellow-200 a[href^="tel:"],
body.landing-page header .brand-contact-phone a{
  font-size:1.16rem!important;
  font-weight:800!important;
  letter-spacing:.025em;
}

/* Fil d’Ariane */
body.fresque-page main > .bg-gray-50,
body.fresque-page .breadcrumb{
  background:#292a26!important;
  color:var(--cs-soft)!important;
  border-color:var(--cs-line)!important;
}
body.fresque-page main > .bg-gray-50 a,
body.fresque-page .breadcrumb a{color:var(--cs-gold)!important}
body.fresque-page main > .bg-gray-50 span,
body.fresque-page .breadcrumb span{color:rgba(255,255,255,.52)!important}

/* Héros des pages intérieures, articles et hubs */
body.fresque-page :is(.pagehead,.art-hero,.hub-hero){
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 84% 20%,rgba(199,162,83,.13),transparent 31%),
    linear-gradient(145deg,#2b2c28 0%,#242521 68%,#1f201d 100%)!important;
  color:#fff!important;
  border-bottom:1px solid var(--cs-line)!important;
}
body.fresque-page :is(.pagehead,.art-hero,.hub-hero):before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:96px 100%;
  opacity:.28;
}
body.fresque-page :is(.pagehead,.art-hero,.hub-hero)>*{position:relative;z-index:1}
body.fresque-page .pagehead{padding:64px 0 68px!important}
body.fresque-page :is(.art-hero,.hub-hero){padding:58px 0 62px!important}
body.fresque-page :is(.pagehead,.art-hero,.hub-hero) h1{
  max-width:22ch;
  margin:0;
  color:#fff!important;
  font-family:var(--cs-serif)!important;
  font-size:clamp(2.25rem,4vw,3.65rem)!important;
  line-height:1.06!important;
  letter-spacing:-.038em!important;
  text-wrap:balance;
}
body.fresque-page :is(.pagehead,.art-hero,.hub-hero) :is(.lede,.art-meta){
  max-width:62ch;
  margin-top:20px;
  color:rgba(255,255,255,.72)!important;
  font-size:clamp(1rem,1.4vw,1.12rem);
  line-height:1.66;
}
body.fresque-page :is(.eyebrow,.guide-label){
  color:#e7cc91!important;
  font-weight:850!important;
  letter-spacing:.13em!important;
  text-transform:uppercase;
}
body.fresque-page :is(.pagehead,.art-hero,.hub-hero) .eyebrow{
  display:flex!important;
  align-items:center;
  gap:10px;
  width:max-content;
  margin-bottom:17px!important;
  padding:0!important;
  background:transparent!important;
  border-radius:0!important;
}
body.fresque-page :is(.pagehead,.art-hero,.hub-hero) .eyebrow:before{
  content:"";
  width:32px;
  height:1px;
  background:var(--cs-brass);
}

/* Rythme des contenus */
body.fresque-page main>section,
body.fresque-page main>.section{background:transparent!important;border-color:var(--cs-line)!important}
body.fresque-page main section>.container{
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
}
body.fresque-page main>section.alt,
body.fresque-page main>.alt{background:rgba(255,255,255,.025)!important}
body.fresque-page .section-head{margin-bottom:34px}
body.fresque-page .section-head h2{font-size:clamp(1.85rem,3.2vw,2.75rem)}
body.fresque-page .section-head p{color:var(--cs-muted)!important}
body.fresque-page .container,
body.fresque-page .wrap{max-width:1120px}

/* Neutralisation des anciennes surfaces claires */
body.fresque-page :is(.bg-white,.bg-gray-50){background-color:var(--cs-surface)!important}
body.fresque-page :is(.text-gray-900,.text-gray-700,.text-gray-500,.text-gray-400){color:var(--cs-muted)!important}
body.fresque-page :is(.border-gray-100,.border-gray-200,.border-gray-300){border-color:var(--cs-line)!important}

/* Garde-fous de contraste pour les anciens blocs clairs en style inline */
body.fresque-page main :is(
  [style*="background:#f9fafb"],[style*="background: #f9fafb"],
  [style*="background:#f8fafc"],[style*="background: #f8fafc"],
  [style*="background:var(--indigo-50)"],[style*="background: var(--indigo-50)"]
){
  background:var(--cs-surface-2)!important;
  color:var(--cs-text)!important;
  border-color:var(--cs-line)!important;
}
body.fresque-page main :is(
  [style*="background:#f9fafb"],[style*="background: #f9fafb"],
  [style*="background:#f8fafc"],[style*="background: #f8fafc"],
  [style*="background:var(--indigo-50)"],[style*="background: var(--indigo-50)"]
) :where(h2,h3,h4,strong){color:#fff!important}
body.fresque-page main :is(
  [style*="background:#f9fafb"],[style*="background: #f9fafb"],
  [style*="background:#f8fafc"],[style*="background: #f8fafc"],
  [style*="background:var(--indigo-50)"],[style*="background: var(--indigo-50)"]
) :where(p,li,span,small){color:var(--cs-muted)!important}

/* Cartes et encadrés */
body.fresque-page :is(
  .card,.pillar-card,.testimonial,.guide-card,.guide-situation,.guide-answer,.juris-card,.card-publie,
  .judgment,.jugement,.lire-aussi,.enbref,.a-retenir,.sommaire,.notice,
  .pullquote,.encadre-loi,.results-summary,.transactional-intent-hub,
  .coverage-card,.before-consolidation-card,.calc-step,.calc-law-card,
  .trust-item,.ctaband,.cta-band,.deja-publie,.a-paraitre
){
  background:var(--cs-surface-2)!important;
  color:var(--cs-text)!important;
  border:1px solid var(--cs-line)!important;
  border-radius:var(--cs-radius)!important;
  box-shadow:var(--cs-shadow)!important;
}
body.fresque-page :is(
  .card,.pillar-card,.testimonial,.guide-card,.guide-situation,.guide-answer,.juris-card,.card-publie,
  .judgment,.jugement,.lire-aussi,.enbref,.a-retenir,.sommaire,.notice,
  .pullquote,.encadre-loi,.results-summary,.transactional-intent-hub,
  .coverage-card,.before-consolidation-card,.calc-step,.calc-law-card,
  .trust-item,.ctaband,.cta-band,.deja-publie,.a-paraitre
) :where(p,li,small){color:var(--cs-muted)!important}
body.fresque-page :is(.card,.guide-card,.juris-card,.card-publie):hover{
  transform:translateY(-2px)!important;
  border-color:rgba(199,162,83,.52)!important;
  box-shadow:0 18px 42px rgba(0,0,0,.3)!important;
}
body.fresque-page .tagzone .tags a{
  background:var(--cs-surface-2)!important;
  color:var(--cs-gold)!important;
  border-color:var(--cs-line)!important;
}
body.fresque-page .icon-box{background:#f2e7d4!important;border-radius:50%!important}
body.fresque-page :is(.tag,.date,.ref){color:#e7cc91!important;background:rgba(199,162,83,.11)!important;border-color:rgba(199,162,83,.35)!important}

/* Articles longs : surface sombre lisible */
body.fresque-page :is(.art-body,article.legal-article){
  background:var(--cs-surface)!important;
  color:var(--cs-text)!important;
  border:1px solid var(--cs-line)!important;
  border-radius:12px!important;
  box-shadow:var(--cs-shadow)!important;
}
body.fresque-page .art-body{margin-top:34px!important;margin-bottom:44px!important;padding:clamp(26px,4.5vw,52px)!important}
body.fresque-page :is(.art-body,article.legal-article) :where(p,li,blockquote){color:rgba(255,255,255,.76)!important}
body.fresque-page :is(.art-body,article.legal-article) :where(h2,h3){color:#fff!important}
body.fresque-page :is(.art-body,article.legal-article) hr{border-color:var(--cs-line)!important}

/* FAQ */
body.fresque-page :is(.faq-item,.faq details,details.guide-answer){
  overflow:hidden;
  background:var(--cs-surface-2)!important;
  color:var(--cs-text)!important;
  border:1px solid var(--cs-line)!important;
  border-radius:var(--cs-radius)!important;
  box-shadow:0 8px 22px rgba(0,0,0,.14)!important;
}
body.fresque-page :is(.faq-item,.faq details,details.guide-answer) summary{
  color:#fff!important;
  background:transparent!important;
  font-weight:800!important;
}
body.fresque-page :is(.faq-item,.faq details,details.guide-answer)[open] summary{
  color:var(--cs-gold)!important;
  border-bottom:1px solid var(--cs-line)!important;
}
body.fresque-page :is(.faq-item,.faq details,details.guide-answer) p{color:var(--cs-muted)!important}

/* Tableaux */
body.fresque-page table{
  width:100%;
  overflow:hidden;
  background:var(--cs-surface)!important;
  color:var(--cs-text)!important;
  border:1px solid var(--cs-line)!important;
  border-radius:var(--cs-radius);
  box-shadow:0 10px 26px rgba(0,0,0,.16);
}
body.fresque-page :is(th,td){border-color:var(--cs-line)!important}
body.fresque-page th{background:rgba(199,162,83,.13)!important;color:#fff!important}
body.fresque-page td{background:transparent!important;color:var(--cs-muted)!important}
body.fresque-page tr:nth-child(even) td{background:rgba(255,255,255,.025)!important}

/* Formulaires et calculateur */
body.fresque-page :is(input,select,textarea){
  background:#252622!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.2)!important;
  border-radius:8px!important;
}
body.fresque-page :is(input,textarea)::placeholder{color:rgba(255,255,255,.46)!important}
body.fresque-page :is(.calc-shell,.calc-panel,.calc-field,.calc-choice,.calc-results,.calc-detection){
  background:var(--cs-surface-2)!important;
  color:var(--cs-text)!important;
  border-color:var(--cs-line)!important;
}
body.fresque-page .calc-choice span{color:var(--cs-muted)!important}

/* Boutons et actions */
body.fresque-page :is(.cta-btn,.btn,.btnp,.btn-jaune,.calc-btn,.header-cta){
  border-radius:8px!important;
  font-weight:800!important;
  text-decoration:none!important;
}
body.fresque-page :is(.cta-btn,.btn,.btnp,.btn-jaune,.calc-btn):not(.ghost):not(.secondary):not(.link){
  background:var(--cs-yellow)!important;
  color:#171813!important;
  border-color:var(--cs-yellow)!important;
  box-shadow:0 8px 22px rgba(255,212,0,.16)!important;
}
body.fresque-page :is(.cta-btn,.btn,.btnp,.calc-btn).ghost,
body.fresque-page :is(.btn-ghost,.calc-btn.secondary,.calc-btn.link){
  background:transparent!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.38)!important;
  box-shadow:none!important;
}
body.fresque-page :is(.cta-btn,.btn,.btnp,.btn-jaune,.calc-btn):hover{filter:brightness(1.06)}

/* Résultats, chiffres et étapes */
body.fresque-page :is(.amount,.chiffre){color:var(--cs-gold)!important;font-family:var(--cs-serif)}
body.fresque-page :is(.step,.num){background:var(--cs-blue)!important;color:#fff!important}
body.fresque-page .results{border-color:var(--cs-line)!important}

/* Hub Actualités */
body.fresque-page.hub-page :is(.une,.actu-card,.article-card){
  background:var(--cs-surface-2)!important;
  color:var(--cs-text)!important;
  border-color:var(--cs-line)!important;
  border-radius:var(--cs-radius)!important;
  box-shadow:var(--cs-shadow)!important;
}
body.fresque-page.hub-page :is(.une,.actu-card,.article-card) :where(p,small){color:var(--cs-muted)!important}

/* Guides, sommaires et encadrés éditoriaux */
body.fresque-page :is(
  .guide-note,.guide-resource,.guide-direct,.guide-toc,.guide-role article,
  .guide-proof,.guide-audit article,.guide-inline-cta,.guide-stage,
  .guide-common,.guide-steps li,.before-consolidation,.consult-now,
  .toc,.midcta,.case-study,.trustband .ti,.juris-latest
){
  background:var(--cs-surface-2)!important;
  color:var(--cs-text)!important;
  border-color:var(--cs-line)!important;
  border-radius:var(--cs-radius)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.15)!important;
}
body.fresque-page :is(.guide-note,.guide-direct,.consult-now,.case-study,.juris-latest){
  border-left:4px solid var(--cs-gold)!important;
}
body.fresque-page :is(.guide-note,.guide-resource,.guide-direct,.guide-toc,.guide-role article,.guide-proof,.guide-audit article,.guide-inline-cta,.guide-stage,.guide-common,.guide-steps li,.before-consolidation,.consult-now,.toc,.midcta,.case-study,.trustband .ti,.juris-latest) :where(p,li,small){
  color:var(--cs-muted)!important;
}
body.fresque-page :is(.guide-note,.guide-resource,.guide-direct,.guide-toc,.guide-role article,.guide-proof,.guide-audit article,.guide-inline-cta,.guide-stage,.guide-common,.before-consolidation,.consult-now,.toc,.midcta,.case-study,.juris-latest) :where(h2,h3,h4,strong){
  color:#fff!important;
}
body.fresque-page :is(.guide-privacy,.guide-caveat,.before-consolidation-note,.legal-source,.hub-meta){color:var(--cs-muted)!important}
body.fresque-page :is(.guide-resource,.guide-stage,.guide-role,.guide-situation) span{color:var(--cs-muted)!important}
body.fresque-page :is(.jugement-tete,.une-tete,.diag-opt){color:var(--cs-text)!important}
body.fresque-page .etapes b{color:#fff!important}
body.fresque-page .guide-path span{
  background:#242521!important;
  color:#fff!important;
  border-color:var(--cs-line)!important;
}
body.fresque-page .guide-path span::after{background:var(--cs-page)!important}
body.fresque-page :is(.guide-primary,.guide-cta a,.guide-inline-cta a,.before-primary){
  background:var(--cs-yellow)!important;
  color:#171813!important;
  border-color:var(--cs-yellow)!important;
  border-radius:8px!important;
  font-weight:800!important;
  box-shadow:0 8px 22px rgba(255,212,0,.15)!important;
}
body.fresque-page :is(.guide-secondary,.before-secondary,.cta-ghost){
  background:transparent!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.4)!important;
  border-radius:8px!important;
}

/* Articles juridiques et navigation thématique */
body.fresque-page .legal-article .lead{color:var(--cs-muted)!important}
body.fresque-page :is(.legal-answer,.legal-proof,.legal-limit,.article-links a,.hub-card,.topic-nav a,.timeline-example div,.author-box){
  background:var(--cs-surface-2)!important;
  color:var(--cs-text)!important;
  border-color:var(--cs-line)!important;
}
body.fresque-page .legal-answer{border-left:4px solid var(--cs-gold)!important}
body.fresque-page .legal-limit{background:rgba(199,162,83,.1)!important;border-color:rgba(199,162,83,.4)!important}
body.fresque-page :is(.hub-card,.article-links a,.topic-nav a,.timeline-example div){box-shadow:0 8px 22px rgba(0,0,0,.13)}
body.fresque-page .hub-card{border-top:4px solid var(--cs-gold)!important}
body.fresque-page :is(.article-links a,.topic-nav a):hover{border-color:var(--cs-gold)!important;color:var(--cs-gold)!important}

/* Témoignages et contenus cités */
body.fresque-page blockquote:not(.testi-card),
body.fresque-page blockquote[style]{
  background:var(--cs-surface-2)!important;
  color:var(--cs-text)!important;
  border-color:var(--cs-line)!important;
  border-left:4px solid var(--cs-gold)!important;
  border-radius:var(--cs-radius)!important;
}
body.fresque-page blockquote :where(p,cite,small){color:var(--cs-muted)!important}
body.fresque-page blockquote :where(footer,footer span){color:var(--cs-muted)!important}
body.fresque-page #elfsight-consent{
  background:var(--cs-surface-2)!important;
  color:var(--cs-muted)!important;
  border-color:var(--cs-line)!important;
}
body.fresque-page #google-map-consent{
  background:var(--cs-surface-2)!important;
  color:var(--cs-muted)!important;
  border-color:var(--cs-line)!important;
}
body.fresque-page .trustband .ti b,
body.fresque-page :is(.enbref .t,.faq-group,.case-label){color:var(--cs-gold)!important}
body.fresque-page .trustband .ti small{color:var(--cs-muted)!important}

/* Pied de page */
body.fresque-page footer,
body.fresque-page .footer-sitemap{
  background:#1f201d!important;
  color:var(--cs-muted)!important;
  border-color:var(--cs-line)!important;
}
body.fresque-page .footer-sitemap h2,
body.fresque-page .footer-sitemap h3{color:#fff!important;font-family:var(--cs-serif)}
body.fresque-page .footer-sitemap a,
body.fresque-page .footer-nap a{color:rgba(255,255,255,.78)!important}
body.fresque-page .footer-sitemap a:hover,
body.fresque-page .footer-nap a:hover{color:var(--cs-gold)!important}

/* Responsive */
@media(max-width:819px){
  body.fresque-page :is(.pagehead,.art-hero,.hub-hero){padding:42px 0 48px!important}
  body.fresque-page :is(.pagehead,.art-hero,.hub-hero) h1{
    max-width:none;
    font-size:clamp(2rem,9vw,2.65rem)!important;
    line-height:1.08!important;
  }
  body.fresque-page :is(.pagehead,.art-hero,.hub-hero) :is(.lede,.art-meta){font-size:1rem!important;line-height:1.6}
  body.fresque-page main>section{padding-top:48px!important;padding-bottom:48px!important}
  body.fresque-page .section-head{margin-bottom:25px}
  body.fresque-page .art-body{margin:20px 14px 32px!important;padding:25px 20px!important;border-radius:10px!important}
  body.fresque-page table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  body.fresque-page :is(.card,.guide-card,.guide-situation,.guide-answer,.juris-card,.coverage-card,.before-consolidation-card){padding:21px!important}
}

@media(prefers-reduced-motion:reduce){
  body.fresque-page *,body.fresque-page *:before,body.fresque-page *:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
