/**
 * Charte sombre LWS 2026 — tokens + contrat de couches marketing.
 * Podcast (hub-page) et éditeur hors périmètre.
 */
:root {
  --lws-bg: #111111;
  --lws-surface: #1c181b;
  --lws-surface-prune: #231a20;
  --lws-border: #3b3137;
  --lws-prune: #351425;
  --lws-vin: #5a2137;
  --lws-copper: #DBAF5C;
  --lws-copper-hover: #E8C070;
  --lws-btn-glow: 0 0 0 1px rgba(219, 175, 92, 0.35), 0 0 16px rgba(219, 175, 92, 0.42), 0 8px 24px rgba(219, 175, 92, 0.28);
  --lws-ivory: #f4efe8;
  --lws-text-soft: #c7bbb3;
  --lws-halo-petrole: #102726;
  --lws-halo-cacao: #3a2116;
  --lws-halo-prune-rgb: 50, 20, 40;
  --lws-halo-sable: #B79E7F;
  --lws-header-height: 4.5rem;
}

/* Fond continu pages marketing (body.site-body) — pas hub-page podcast */
body.site-body {
  background: var(--lws-bg);
  color: var(--lws-ivory);
  overflow-x: clip;
  overflow-y: auto;
}

main.theme-mineral,
main.page-home.theme-mineral,
main.page-formation-d5.theme-mineral,
main.page-editorial.theme-mineral,
main.page-ressources.theme-mineral,
main.page-legal.theme-mineral {
  position: relative;
  isolation: isolate;
  background: var(--lws-bg);
  overflow: visible;
}

/**
 * Halo unique (sphère prune → fond #111111).
 * Une seule peinture : tous les modules appellent .lws-halo-prune (ou ::before
 * listés ici). Pas d’opacity, pas de border-radius disque, pas de fond local.
 */
.lws-halo-prune,
.lws-about-story-charte.about-section-block::before,
.lws-about-story-charte.about-section-block::after,
.lws-split-feature-charte::before {
  pointer-events: none;
  border-radius: 0;
  background: url("/assets/site/media/fx/halo-prune-to-bg.png?v=2") center / 100% 100% no-repeat;
  opacity: 1;
  filter: none;
}

.lws-halo-cacao,
.lws-testimonials-marquee-charte__halo-tip {
  pointer-events: none;
  border-radius: 0;
  background: url("/assets/site/media/fx/halo-cacao-to-bg.png?v=2") center / 100% 100% no-repeat;
  opacity: 1;
  filter: none;
}

.lws-halo-sable {
  pointer-events: none;
  border-radius: 0;
  background: radial-gradient(circle at 50% 42%, rgba(183, 158, 127, 0.13) 0%, rgba(183, 158, 127, 0.06) 28%, rgba(183, 158, 127, 0) 68%);
  opacity: 1;
  filter: none;
}

/**
 * Contrat de couches marketing (même logique que le hub podcast) :
 * fond de page (le plus bas) → halo / FX (z-index 0) → tout le reste
 * (modules, barres .lws-premium-break, texte, image, bouton) en z-index 1+.
 * Un halo peut déborder sur le fond voisin, jamais devant une barre ou un contenu.
 * Header / footer : chrome au-dessus, fond de shell transparent.
 */
body.site-body .mod-header {
  background: transparent;
  overflow: visible;
}

body.site-body .mod-footer {
  position: relative;
  z-index: 3;
  background: transparent;
  border-top: 1px solid rgba(244, 239, 232, 0.22);
}

body.site-body .mod-header__inner,
body.site-body .mod-header__brand,
body.site-body .mod-header__nav,
body.site-body .mod-header__toggle,
body.site-body .mod-header__logo,
body.site-body .mod-header__link,
body.site-body .mod-footer__inner {
  position: relative;
  z-index: 2;
}

body.site-body main.theme-mineral > [data-module] {
  position: relative;
  isolation: auto;
  z-index: auto;
  overflow: visible;
  background-color: transparent;
}

body.site-body .lws-halo-prune,
body.site-body .lws-halo-cacao,
body.site-body .lws-halo-sable,
body.site-body [class*="__halo"],
body.site-body .lws-about-story-charte.about-section-block::before,
body.site-body .lws-about-story-charte.about-section-block::after,
body.site-body .lws-split-feature-charte::before,
body.site-body .lws-testimonials-marquee-charte__halo-tip {
  z-index: 0;
}

/* Halos dans le cadre : overflow-x: clip du body ne coupe plus le PNG d'un trait. */
body.site-body .lws-split-feature-charte::before {
  right: 0;
  bottom: 0;
}

body.site-body .lws-content-hero-charte__halo {
  left: 0;
}

body.site-body .lws-content-hero-charte--split-media .lws-content-hero-charte__halo {
  left: 0;
}

body.site-body .lws-content-hero-charte--split-media.lws-content-hero-charte--media-right .lws-content-hero-charte__halo {
  left: auto;
  right: 0;
}

body.site-body .lws-home-hero-charte__halo {
  right: 0;
}

body.site-body .lws-about-story-charte.about-section-block::before {
  left: 0;
}

body.site-body .lws-about-story-charte.about-section-block::after {
  right: 0;
}

body.site-body .lws-cta-band-charte .lws-cta-band-charte__halo {
  max-width: none;
}

body.site-body .lws-pillar-cards-charte__halo,
body.site-body .lws-sticky-feature-scroll--timeline .lws-sticky-feature-scroll__halo {
  width: min(100%, 920px);
  max-width: 100%;
}

body.site-body main.theme-mineral > [data-module] > *:not([class*="halo"]) {
  position: relative;
  z-index: 1;
}

body.site-body .lws-about-story-charte.about-section-block .text-column {
  background: var(--lws-surface) !important;
}

/* Mobile : espacement entre sections accueil */
@media (max-width: 900px) {
  body.site-body.is-home-page main.page-home.theme-mineral > [data-module] + [data-module] {
    margin-top: clamp(1.575rem, 4.2vh, 2.45rem);
  }

  /*
   * Exception de composition : le comparateur et la mosaïque forment un seul
   * bloc visuel. Cette règle ciblée neutralise l'espacement global mobile.
   */
  body.site-body.is-home-page main.page-home.theme-mineral
    > .lws-ba-carousel
    + .lws-portfolio-mosaic {
    margin-top: 0;
  }

  body.site-body.is-home-page .lws-about-story-charte.about-section-block + .lws-before-after,
  body.site-body.is-home-page main.page-home > .lws-before-after {
    margin-top: clamp(1.02rem, 2.73vh, 1.59rem);
  }
}

/* Accueil : la mosaïque ne doit pas garder 100vh, sinon un vide variable
   apparaît sous le bouton or (zone A trop petite ou trop grande selon le viewport). */
body.site-body.is-home-page main.page-home.theme-mineral
  > .lws-portfolio-mosaic:has(+ .lws-about-story-charte) {
  min-height: 0;
}

/* Liens de contenu : or charte, soulignement au survol/focus seulement */
body.site-body main a:not([class]) {
  color: var(--lws-copper);
  text-decoration: none;
  text-underline-offset: 0.14em;
}

body.site-body main a:not([class]):visited {
  color: var(--lws-copper);
}

body.site-body main a:not([class]):hover,
body.site-body main a:not([class]):focus-visible {
  color: var(--lws-copper-hover);
  text-decoration: underline;
}

/* Boutons : surbrillance bronze + zoom léger, jamais de contour/surlignage */
body.site-body :is(
  .lws-home-hero-charte__btn,
  .lws-content-hero-charte__btn,
  .lws-cta-band-charte__btn,
  .lws-about-story-charte .btn-luxe,
  .lws-ressources-cards__cta,
  .lws-ressources-cards__hub-cta,
  .lws-split-feature-charte__btn,
  .lws-authority-proof-charte__btn,
  .lws-sticky-feature-scroll__cta,
  .lws-ba-carousel__btn,
  .lws-glossary-slides__btn,
  .lws-pc-map__btn,
  .phd-more-btn,
  .mod-footer__btn,
  .btn
) {
  transform-origin: center;
  text-decoration: none;
  outline: none;
  box-shadow: none;
  transition-property: transform, background-color, color, border-color, opacity, box-shadow;
  transition-duration: 0.22s;
  transition-timing-function: ease;
}

body.site-body :is(
  .lws-home-hero-charte__btn,
  .lws-content-hero-charte__btn,
  .lws-cta-band-charte__btn,
  .lws-about-story-charte .btn-luxe,
  .lws-ressources-cards__cta,
  .lws-ressources-cards__hub-cta,
  .lws-split-feature-charte__btn,
  .lws-authority-proof-charte__btn,
  .lws-sticky-feature-scroll__cta,
  .lws-ba-carousel__btn,
  .lws-glossary-slides__btn,
  .lws-pc-map__btn,
  .phd-more-btn,
  .mod-footer__btn,
  .btn
):hover,
body.site-body :is(
  .lws-home-hero-charte__btn,
  .lws-content-hero-charte__btn,
  .lws-cta-band-charte__btn,
  .lws-about-story-charte .btn-luxe,
  .lws-ressources-cards__cta,
  .lws-ressources-cards__hub-cta,
  .lws-split-feature-charte__btn,
  .lws-authority-proof-charte__btn,
  .lws-sticky-feature-scroll__cta,
  .lws-ba-carousel__btn,
  .lws-glossary-slides__btn,
  .lws-pc-map__btn,
  .phd-more-btn,
  .mod-footer__btn,
  .btn
):focus-visible {
  text-decoration: none;
  outline: none;
  transform: scale(calc(1 + 3px / 140px));
  box-shadow: var(--lws-btn-glow);
}

@media (prefers-reduced-motion: reduce) {
  body.site-body :is(
    .lws-home-hero-charte__btn,
    .lws-content-hero-charte__btn,
    .lws-cta-band-charte__btn,
    .lws-about-story-charte .btn-luxe,
    .lws-ressources-cards__cta,
    .lws-ressources-cards__hub-cta,
    .lws-split-feature-charte__btn,
    .lws-authority-proof-charte__btn,
    .lws-sticky-feature-scroll__cta,
    .lws-ba-carousel__btn,
    .lws-glossary-slides__btn,
    .lws-pc-map__btn,
    .mod-footer__btn,
    .btn
  ):hover,
  body.site-body :is(
    .lws-home-hero-charte__btn,
    .lws-content-hero-charte__btn,
    .lws-cta-band-charte__btn,
    .lws-about-story-charte .btn-luxe,
    .lws-ressources-cards__cta,
    .lws-ressources-cards__hub-cta,
    .lws-split-feature-charte__btn,
    .lws-authority-proof-charte__btn,
    .lws-sticky-feature-scroll__cta,
    .lws-ba-carousel__btn,
    .lws-glossary-slides__btn,
    .lws-pc-map__btn,
    .mod-footer__btn,
    .btn
  ):focus-visible {
    transform: none;
  }
}
.lws-lucide {
  display: inline-block;
  width: 1.05em;
  height: 1.05em;
  vertical-align: -0.18em;
  flex-shrink: 0;
  overflow: visible;
}

main.page-legal.theme-mineral {
  position: relative;
  isolation: isolate;
  background: var(--lws-bg);
  overflow: visible;
}

/* Pages légales : alignement à gauche, ivoire, liens cuivre (écrase site.css) */
main.page-legal.site-main > .page-section:first-of-type .page-section__inner,
main.page-legal .page-section__inner,
main.page-legal .section__heading,
main.page-legal .section__body,
main.page-legal .section__body p,
main.page-legal .section__body ul,
main.page-legal .section__body li,
main.page-legal h1,
main.page-legal h2 {
  text-align: left;
  color: var(--lws-ivory);
}

main.page-legal .section__body,
main.page-legal .section__body .text-base {
  color: var(--lws-ivory);
}

main.page-legal .section__body a,
main.page-legal .section__body a:visited {
  color: var(--lws-copper);
}

main.page-legal .section__body a:hover,
main.page-legal .section__body a:focus-visible {
  color: var(--lws-copper-hover);
}

.lws-premium-break {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 70rem;
  height: 1.25rem;
  margin: 0 auto;
  background: transparent;
}

body.site-body main.theme-mineral > .lws-premium-break:has(+ .lws-ba-carousel),
body.site-body main.theme-mineral > .lws-ba-carousel + .lws-premium-break {
  display: none;
}

body.site-body main.theme-mineral > [data-instance="coaching-presentation-video"] {
  display: block;
  height: auto;
  min-height: 0;
  max-height: none;
  padding: 0;
  overflow: visible;
}

@media (max-width: 900px) {
  body.site-body main.theme-mineral > [data-instance="coaching-presentation-video"] {
    padding: 20px 16px;
  }
}

body.site-body main.theme-mineral > [data-instance="coaching-pillars"].lws-pillar-cards-charte {
  padding-top: 50px;
  padding-bottom: 50px;
  background-color: #000000;
}

@media (min-width: 901px) {
  body.site-body main.theme-mineral [data-instance="coaching-pillars"] .lws-pillar-cards-charte__header {
    max-width: none;
  }

  body.site-body main.theme-mineral [data-instance="coaching-pillars"] .lws-pillar-cards-charte__intro,
  body.site-body main.theme-mineral [data-instance="coaching-pillars"] .lws-pillar-cards-charte__intro p {
    white-space: nowrap;
  }
}

body.site-body [data-instance="coaching-financements"].lws-authority-proof-charte {
  padding-bottom: clamp(1.5rem, 3.6vh, 2.4rem);
}

body.site-body [data-instance="coaching-feuille-route"].lws-split-feature-charte {
  padding-top: clamp(3rem, 7.2vh, 4.8rem);
}

body.site-body #coaching-testimonials.lws-testimonials-marquee-charte {
  padding-bottom: clamp(1.5rem, 3.6vh, 2.4rem);
}

body.site-body [data-instance="coaching-faq"].lws-accordion-charte {
  padding-top: clamp(3rem, 7.2vh, 4.8rem);
  padding-bottom: clamp(1.5rem, 3.6vh, 2.4rem);
}

body.site-body [data-instance="coaching-faq"] .lws-accordion-charte__header {
  margin-bottom: clamp(3rem, 7vw, 4rem);
}

body.site-body [data-instance="coaching-cta"].lws-cta-band-charte {
  padding-top: clamp(1.8rem, 4.2vh, 2.7rem);
}
.lws-premium-break::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(199, 187, 179, 0.22) 14%,
    rgba(199, 187, 179, 0.88) 50%,
    rgba(199, 187, 179, 0.22) 86%,
    transparent 100%
  );
}
.lws-premium-break::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 5px;
  height: 5px;
  background: #C7BBB3;
  transform: translate(-50%, -50%) rotate(45deg);
  opacity: 0.95;
}

/* 404 : contenu centré, boussole Lucide, surbrillance type SuperPixel en cuivre site */
body.site-body main.page-legal.page-404.theme-mineral {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(70vh - var(--lws-header-height));
}

body.site-body main.page-legal.page-404.theme-mineral .page-section__inner,
body.site-body main.page-legal.page-404.theme-mineral .section__heading,
body.site-body main.page-legal.page-404.theme-mineral .section__body,
body.site-body main.page-legal.page-404.theme-mineral .section__body p {
  text-align: center;
}

.page-404__mark {
  display: flex;
  justify-content: center;
  margin: 0 0 1.15rem;
}

.page-404__mark-inner {
  display: inline-grid;
  place-items: center;
}

.page-404__mark-base,
.page-404__mark-lit {
  grid-area: 1 / 1;
  display: flex;
}

.page-404__mark-inner .lws-lucide {
  width: 3.25rem;
  height: 3.25rem;
  stroke-width: 1.55;
}

.page-404__mark-base {
  color: var(--lws-copper);
  filter: drop-shadow(0 0 10px rgba(219, 175, 92, 0.28));
}

.page-404__mark-lit {
  color: var(--lws-ivory);
  pointer-events: none;
  -webkit-mask-image: linear-gradient(100deg, transparent 42%, #000 50%, transparent 58%);
  mask-image: linear-gradient(100deg, transparent 42%, #000 50%, transparent 58%);
  -webkit-mask-size: 260% 100%;
  mask-size: 260% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  animation: lws-page-404-shine 3.6s linear infinite;
}

@keyframes lws-page-404-shine {
  0% {
    -webkit-mask-position: 100% 0;
    mask-position: 100% 0;
  }
  100% {
    -webkit-mask-position: 0% 0;
    mask-position: 0% 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-404__mark-lit {
    animation: none;
    opacity: 0;
  }
}

body.site-body main.theme-mineral > [data-instance="coaching-public-probleme"] {
  background-color: #000000;
}

body.site-body main.theme-mineral [data-instance="coaching-logiciels"].lws-showcase-cards {
  color-scheme: dark;
}

body.site-body main.theme-mineral [data-instance="coaching-logiciels"] .lws-showcase-cards__excerpt,
body.site-body main.theme-mineral [data-instance="coaching-logiciels"] .lws-showcase-cards__quote,
body.site-body main.theme-mineral [data-instance="coaching-logiciels"] .lws-showcase-cards__card-title {
  overflow: visible;
  text-overflow: unset;
  white-space: normal;
  -webkit-line-clamp: unset;
}

@media (min-width: 992px) {
  body.site-body main.theme-mineral [data-instance="coaching-logiciels"].lws-showcase-cards.is-pinned .lws-showcase-cards__frame {
    padding-block: 6vh;
    align-items: center;
  }
  body.site-body main.theme-mineral [data-instance="coaching-logiciels"].lws-showcase-cards.is-pinned .lws-showcase-cards__intro {
    align-self: center;
  }
  body.site-body main.theme-mineral [data-instance="coaching-logiciels"].lws-showcase-cards.is-pinned .lws-showcase-cards__item {
    height: auto;
    max-height: none;
    align-self: center;
    transform: none !important;
    min-height: 0;
  }
  body.site-body main.theme-mineral [data-instance="coaching-logiciels"].lws-showcase-cards.is-pinned .lws-showcase-cards__card {
    overflow: hidden;
    height: auto;
    min-height: 0;
    background: #181818;
  }
  body.site-body main.theme-mineral [data-instance="coaching-logiciels"].lws-showcase-cards.is-pinned .lws-showcase-cards__cover {
    flex: 0 0 auto;
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 9;
    background: #181818;
  }
  body.site-body main.theme-mineral [data-instance="coaching-logiciels"].lws-showcase-cards.is-pinned .lws-showcase-cards__body {
    flex: 0 0 auto;
    min-height: 0;
    overflow: hidden;
    padding: 1.4rem 2rem 1.5rem;
  }
}

body.site-body main.theme-mineral [data-instance="coaching-logiciels"] .lws-showcase-cards__foot {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

body.site-body main.theme-mineral [data-instance="coaching-logiciels"] .lws-showcase-cards__logo {
  width: 4rem;
  height: 4rem;
  flex: 0 0 auto;
}

body.site-body main.theme-mineral [data-instance="coaching-logiciels"] .lws-showcase-cards__author {
  min-width: 0;
}

body.site-body main.theme-mineral [data-instance="coaching-logiciels"] .lws-showcase-cards__card {
  background: #181818;
}

body.site-body main.theme-mineral [data-instance="coaching-logiciels"] .lws-showcase-cards__cover {
  aspect-ratio: 16 / 9;
  background: #181818;
}

body.site-body main.theme-mineral [data-instance="coaching-logiciels"] .lws-showcase-cards__media {
  object-fit: cover;
  object-position: center center;
}

