/* RFC06 — studio familial contemporain. Cette feuille neutralise uniquement
   l’ancienne vitrine ; les espaces apprenant et administration restent intacts. */
:root {
  --studio-bg:#fffdfc; --studio-surface:#fff; --studio-lavender:#f7f3f8;
  --studio-lavender-strong:#eee5f2; --studio-purple:#5b2868;
  --studio-purple-dark:#421c4d; --studio-coral:#ffd34e;
  --studio-ink:#2f2731; --studio-muted:#716a73; --studio-line:#e5dfe7;
  --studio-shadow:0 18px 48px rgba(66,28,77,.09);
  --studio-font:Inter,"Helvetica Neue",Arial,ui-sans-serif,system-ui,sans-serif;
}

body:not(.session-started),
body:not(.session-started) main,
body:not(.session-started) .session-card.vitrine-home,
body:not(.session-started):not(:has(#connexionSession:target)),
body:not(.session-started):not(:has(#connexionSession:target)) main,
body:not(.session-started):not(:has(#connexionSession:target)) .session-card.vitrine-home {
  min-height:0!important; color:var(--studio-ink)!important;
  background:var(--studio-bg)!important; font-family:var(--studio-font)!important;
}
body:not(.session-started) .session-card.vitrine-home::before,
body:not(.session-started) .session-card.vitrine-home::after {
  content:none!important; display:none!important; background:none!important;
}

/* Navigation */
body:not(.session-started) .vitrine-ref-header,
body:not(.session-started):not(:has(#connexionSession:target)) .vitrine-ref-header {
  position:sticky!important; inset:0 auto auto!important; z-index:50!important;
  display:flex!important; align-items:center!important; justify-content:space-between!important;
  gap:24px!important; width:100%!important; min-height:72px!important; margin:0!important;
  padding:9px max(24px,calc((100vw - 1180px)/2))!important;
  border:0!important; border-bottom:1px solid rgba(91,40,104,.09)!important;
  border-radius:0!important; background:rgba(255,253,252,.96)!important;
  box-shadow:none!important; backdrop-filter:blur(10px)!important;
}
body:not(.session-started) .vitrine-ref-brands { display:flex!important; flex:0 0 auto!important; gap:0!important; }
body:not(.session-started) .vitrine-ref-brand,
body:not(.session-started):not(:has(#connexionSession:target)) .vitrine-ref-brand {
  display:grid!important; grid-template-columns:48px auto!important; grid-template-rows:auto auto!important;
  column-gap:10px!important; align-items:center!important; min-width:0!important; padding:0!important;
  border:0!important; border-radius:0!important; color:var(--studio-ink)!important;
  background:transparent!important; box-shadow:none!important; text-decoration:none!important;
}
body:not(.session-started) .vitrine-ref-brand img {
  grid-row:1/3!important; width:46px!important; height:46px!important; object-fit:contain!important;
}
body:not(.session-started) .vitrine-ref-brand span {
  align-self:end!important; color:var(--studio-muted)!important; font-size:.58rem!important;
  font-weight:700!important; line-height:1.15!important; letter-spacing:.025em!important;
  text-transform:none!important; text-shadow:none!important;
}
body:not(.session-started) .vitrine-ref-brand strong {
  align-self:start!important; color:var(--studio-purple)!important; font-family:var(--studio-font)!important;
  font-size:1rem!important; font-weight:800!important; line-height:1.1!important;
}
body:not(.session-started) .vitrine-ref-nav {
  display:flex!important; align-items:center!important; justify-content:flex-end!important; gap:4px!important;
}
body:not(.session-started) .vitrine-ref-nav a,
body:not(.session-started):not(:has(#connexionSession:target)) .vitrine-ref-nav a {
  position:relative!important; min-height:42px!important; padding:11px 12px!important;
  border:0!important; border-radius:10px!important; color:var(--studio-ink)!important;
  background:transparent!important; box-shadow:none!important; text-shadow:none!important;
  font-size:.82rem!important; font-weight:700!important;
}
body:not(.session-started) .vitrine-ref-nav a::after {
  content:""!important; position:absolute!important; left:12px!important; right:12px!important;
  bottom:5px!important; width:auto!important; height:2px!important; margin:0!important;
  border-radius:2px!important; background:var(--studio-coral)!important;
  transform:scaleX(0)!important; transition:transform 160ms ease!important;
}
body:not(.session-started) .vitrine-ref-nav a:hover,
body:not(.session-started) .vitrine-ref-nav a:focus-visible {
  color:var(--studio-purple)!important; background:var(--studio-lavender)!important;
}
body:not(.session-started) .vitrine-ref-nav a:hover::after,
body:not(.session-started) .vitrine-ref-nav a:focus-visible::after { transform:scaleX(1)!important; }
body:not(.session-started) .vitrine-ref-nav a:last-child {
  margin-left:8px!important; padding-inline:18px!important;
  border:1px solid rgba(91,40,104,.3)!important; color:var(--studio-purple)!important;
  background:#fff!important;
}
body:not(.session-started):not(:has(#connexionSession:target)) .vitrine-ref-nav a:last-child {
  min-height:44px!important; padding:11px 21px!important; border:0!important; border-radius:12px!important;
  color:#fff!important; background:linear-gradient(135deg,#64268a,#4f1b72)!important;
  box-shadow:0 9px 22px rgba(92,35,128,.18)!important;
}
body:not(.session-started):not(:has(#connexionSession:target)) .vitrine-ref-nav a:last-child:hover,
body:not(.session-started):not(:has(#connexionSession:target)) .vitrine-ref-nav a:last-child:focus-visible {
  color:#fff!important; background:#41145e!important;
}

/* Hero */
body:not(.session-started) #vitrineAccueil.vitrine-ref-hero {
  position:relative!important; display:grid!important;
  grid-template-columns:minmax(0,.88fr) minmax(430px,1.12fr)!important;
  align-items:center!important; gap:clamp(38px,6vw,78px)!important;
  width:min(1180px,calc(100% - 48px))!important; min-height:0!important;
  margin:0 auto!important; padding:clamp(48px,5.7vw,76px) 0!important;
  overflow:visible!important; border:0!important; border-radius:0!important;
  color:var(--studio-ink)!important; background:transparent!important; box-shadow:none!important;
}
body:not(.session-started) #vitrineAccueil .vitrine-ref-hero-bg,
body:not(.session-started) #vitrineAccueil .vitrine-ref-overlay,
body:not(.session-started) #vitrineAccueil .vitrine-ref-visual-card,
body:not(.session-started) #vitrineAccueil .vitrine-editorial-note { display:none!important; }
body:not(.session-started) #vitrineAccueil .vitrine-ref-content.session-intro {
  position:relative!important; z-index:2!important; width:auto!important; max-width:570px!important;
  margin:0!important; padding:0!important; color:var(--studio-ink)!important;
  text-align:left!important; text-shadow:none!important;
}
body:not(.session-started) #vitrineAccueil .vitrine-ref-subtitle,
body:not(.session-started) .vitrine-ref-section-kicker,
body:not(.session-started) #vitrineAteliers .vitrine-ref-section-kicker {
  display:block!important; width:fit-content!important; margin:0 0 13px!important; padding:0!important;
  border:0!important; border-radius:0!important; color:var(--studio-coral)!important;
  background:transparent!important; box-shadow:none!important; font-family:var(--studio-font)!important;
  font-size:.76rem!important; font-weight:800!important; letter-spacing:.055em!important;
  text-transform:uppercase!important;
}
body:not(.session-started) #vitrineAccueil .vitrine-ref-content h2 {
  max-width:12ch!important; margin:0!important; color:var(--studio-purple-dark)!important;
  font-family:var(--studio-font)!important; font-size:clamp(2.75rem,4.4vw,4.2rem)!important;
  font-weight:780!important; line-height:1.02!important; letter-spacing:-.05em!important;
  text-wrap:balance!important; text-shadow:none!important;
}
body:not(.session-started) #vitrineAccueil .vitrine-ref-description {
  max-width:48ch!important; margin:22px 0 0!important; color:var(--studio-muted)!important;
  font-size:1.04rem!important; font-weight:500!important; line-height:1.65!important; text-shadow:none!important;
}
body:not(.session-started) .vitrine-ref-home-actions {
  display:flex!important; flex-wrap:wrap!important; gap:12px!important; margin-top:28px!important;
}
body:not(.session-started) #vitrineAccueil .vitrine-ref-btn {
  display:inline-flex!important; align-items:center!important; justify-content:center!important;
  min-height:48px!important; padding:12px 19px!important; border:1px solid var(--studio-purple)!important;
  border-radius:12px!important; color:#fff!important; background:var(--studio-purple)!important;
  box-shadow:none!important; font-size:.86rem!important; font-weight:750!important;
  transition:transform 160ms ease,background 160ms ease!important;
}
body:not(.session-started) #vitrineAccueil .vitrine-ref-btn:hover {
  color:#fff!important; background:var(--studio-purple-dark)!important; transform:translateY(-2px)!important;
}
body:not(.session-started) #vitrineAccueil .vitrine-ref-btn-secondary {
  border-color:rgba(91,40,104,.25)!important; color:var(--studio-purple)!important; background:transparent!important;
}
body:not(.session-started) #vitrineAccueil .vitrine-ref-btn-secondary:hover {
  color:var(--studio-purple)!important; background:var(--studio-lavender)!important;
}
body:not(.session-started) #vitrineAccueil .vitrine-ref-btn:first-child {
  border-color:var(--studio-yellow-strong)!important; color:var(--studio-purple-dark)!important;
  background:linear-gradient(135deg,var(--studio-yellow),var(--studio-yellow-strong))!important;
}
body:not(.session-started) .vitrine-editorial-hero-figure { position:relative!important; margin:0!important; }
body:not(.session-started) .vitrine-editorial-hero-figure::before { content:none!important; display:none!important; }
body:not(.session-started) .vitrine-editorial-hero-photo {
  display:block!important; width:100%!important; max-height:540px!important; aspect-ratio:1.12/1!important;
  object-fit:cover!important; object-position:center!important; border:0!important; border-radius:18px!important;
  box-shadow:var(--studio-shadow)!important; filter:saturate(.96)!important;
}
body:not(.session-started) .vitrine-editorial-hero-figure figcaption {
  position:absolute!important; right:18px!important; bottom:18px!important;
  display:flex!important; flex-direction:column!important; gap:2px!important; max-width:220px!important;
  padding:11px 14px!important; border:1px solid rgba(91,40,104,.08)!important;
  border-radius:12px!important; color:var(--studio-ink)!important; background:rgba(255,255,255,.94)!important;
  box-shadow:0 8px 24px rgba(47,39,49,.11)!important; transform:none!important;
}
body:not(.session-started) .vitrine-editorial-hero-figure figcaption strong {
  color:var(--studio-purple)!important; font-size:.8rem!important;
}
body:not(.session-started) .vitrine-editorial-hero-figure figcaption span {
  color:var(--studio-muted)!important; font-size:.7rem!important;
}

/* Contenu humain */
body:not(.session-started) .vitrine-ref-orientation {
  width:100%!important; max-width:none!important; margin:0!important; padding:0!important;
  border:0!important; border-radius:0!important; background:transparent!important; box-shadow:none!important;
}
body:not(.session-started) .home-small-groups,
body:not(.session-started) .home-welcome-person,
body:not(.session-started) .home-first-visit {
  width:min(1080px,calc(100% - 48px))!important; margin-inline:auto!important;
}
body:not(.session-started) .home-small-groups {
  display:grid!important; grid-template-columns:minmax(0,1.2fr) minmax(230px,.62fr)!important;
  gap:clamp(36px,7vw,92px)!important; align-items:center!important;
  padding:52px clamp(28px,5vw,64px)!important; border:0!important; border-radius:18px!important;
  background:var(--studio-lavender)!important;
}
body:not(.session-started) .home-section-number,
body:not(.session-started) .home-small-groups blockquote { display:none!important; }
body:not(.session-started) .home-section-copy h3,
body:not(.session-started) .home-welcome-person h3,
body:not(.session-started) .home-first-visit h3,
body:not(.session-started) #vitrineAteliers .vitrine-ref-workshops-head h3 {
  margin:0!important; color:var(--studio-purple-dark)!important; font-family:var(--studio-font)!important;
  font-size:clamp(2rem,3.25vw,3.15rem)!important; font-weight:760!important;
  line-height:1.08!important; letter-spacing:-.04em!important; text-wrap:balance!important;
}
body:not(.session-started) .home-section-copy>p:last-of-type,
body:not(.session-started) .home-welcome-person>div>p:last-of-type,
body:not(.session-started) .home-first-visit header>p:last-child {
  max-width:58ch!important; margin:17px 0 0!important; color:var(--studio-muted)!important;
  font-size:.96rem!important; line-height:1.7!important;
}
body:not(.session-started) .home-section-copy a,
body:not(.session-started) .home-welcome-person a {
  display:inline-flex!important; align-items:center!important; min-height:42px!important;
  margin-top:20px!important; padding:0 15px!important; border:1px solid rgba(91,40,104,.22)!important;
  border-radius:10px!important; color:var(--studio-purple)!important; background:#fff!important;
  font-size:.82rem!important; font-weight:750!important; text-decoration:none!important;
}
body:not(.session-started) .home-group-fact {
  display:flex!important; align-items:center!important; gap:16px!important; padding:22px!important;
  border-left:4px solid var(--studio-coral)!important; border-radius:0 14px 14px 0!important;
  color:var(--studio-ink)!important; background:#fff!important;
}
body:not(.session-started) .home-group-fact strong {
  color:var(--studio-purple)!important; font-size:2.6rem!important; font-weight:800!important; line-height:1!important;
}
body:not(.session-started) .home-group-fact span {
  color:var(--studio-muted)!important; font-size:.84rem!important; line-height:1.45!important;
}
body:not(.session-started) .home-welcome-person {
  display:grid!important; grid-template-columns:minmax(300px,.82fr) minmax(0,1fr)!important;
  gap:clamp(42px,7vw,88px)!important; align-items:center!important; padding:72px 0!important;
}
body:not(.session-started) .home-welcome-person figure { position:relative!important; margin:0!important; }
body:not(.session-started) .home-welcome-person figure::after { content:none!important; display:none!important; }
body:not(.session-started) .home-welcome-person img {
  display:block!important; width:100%!important; max-height:440px!important; object-fit:cover!important;
  object-position:center 25%!important; border-radius:18px!important; filter:saturate(.92)!important;
  box-shadow:var(--studio-shadow)!important;
}
body:not(.session-started) .home-welcome-person figcaption {
  position:absolute!important; right:14px!important; bottom:14px!important; padding:8px 11px!important;
  border-radius:9px!important; color:var(--studio-purple)!important; background:rgba(255,255,255,.94)!important;
  font-size:.74rem!important; font-weight:750!important;
}
body:not(.session-started) .home-first-visit {
  display:grid!important; grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr)!important;
  gap:clamp(34px,7vw,82px)!important; padding:50px clamp(28px,5vw,60px)!important;
  scroll-margin-top:88px!important; border:1px solid var(--studio-line)!important;
  border-radius:18px!important; background:#fff!important;
}
body:not(.session-started) .home-first-visit-list { border-top:1px solid var(--studio-line)!important; }
body:not(.session-started) .home-first-visit-list p {
  display:grid!important; grid-template-columns:40px 1fr!important; gap:13px!important;
  margin:0!important; padding:17px 0!important; border-bottom:1px solid var(--studio-line)!important;
  color:var(--studio-ink)!important; font-size:.92rem!important; line-height:1.5!important;
}
body:not(.session-started) .home-first-visit-list span {
  color:var(--studio-coral)!important; font-family:var(--studio-font)!important; font-weight:800!important;
}

/* Programme */
body:not(.session-started):not(:has(#vitrineAteliers:target)):not(:has(#connexionSession:target)):not(:has(#vitrinePlateforme:target)):not(:has(#vitrineTarifs:target)):not(:has(#vitrineApproche:target)):not(:has(#vitrineContactPage:target)) #vitrineAteliers.vitrine-ref-workshops,
body:not(.session-started):has(#vitrineAteliers:target) #vitrineAteliers.vitrine-ref-workshops { display:block!important; }
body:not(.session-started) #vitrineAteliers.vitrine-ref-workshops {
  width:100%!important; max-width:none!important; min-height:0!important; margin:64px 0 0!important;
  padding:66px 0 76px!important; border:0!important; border-radius:0!important;
  color:var(--studio-ink)!important; background:var(--studio-lavender)!important; box-shadow:none!important;
}
body:not(.session-started):has(#vitrineAteliers:target) #vitrineAteliers.vitrine-ref-workshops { margin-top:0!important; }
body:not(.session-started) #vitrineAteliers .workshop-planning-home {
  width:min(1080px,calc(100% - 48px))!important; margin:0 auto!important;
}
body:not(.session-started) #vitrineAteliers .vitrine-ref-workshops-head {
  display:grid!important; grid-template-columns:minmax(0,1fr) auto!important; gap:34px!important;
  align-items:end!important; margin-bottom:26px!important;
}
body:not(.session-started) #vitrineAteliers .vitrine-ref-workshops-head>div>p:last-child {
  max-width:62ch!important; margin:14px 0 0!important; color:var(--studio-muted)!important;
  font-size:.94rem!important; line-height:1.6!important;
}
body:not(.session-started) #vitrineAteliers .vitrine-ref-workshops-note {
  padding:9px 12px!important; border:1px solid var(--studio-line)!important; border-radius:10px!important;
  color:var(--studio-purple)!important; background:#fff!important; box-shadow:none!important;
  font-size:.76rem!important; font-weight:700!important; transform:none!important;
}
body:not(.session-started) #vitrineAteliers .planning-filters {
  display:flex!important; gap:6px!important; margin:0 0 18px!important; padding:6px 0 14px!important;
  overflow-x:auto!important; border:0!important; border-bottom:1px solid var(--studio-line)!important;
}
body:not(.session-started) #vitrineAteliers .planning-filters button {
  flex:0 0 auto!important; min-height:38px!important; padding:8px 12px!important;
  border:0!important; border-radius:9px!important; color:var(--studio-muted)!important;
  background:transparent!important; box-shadow:none!important; font-size:.8rem!important; font-weight:700!important;
}
body:not(.session-started) #vitrineAteliers .planning-filters button.active {
  color:var(--studio-purple)!important; background:#fff!important;
  box-shadow:0 5px 16px rgba(66,28,77,.07)!important;
}
body:not(.session-started) #vitrineAteliers .workshop-planning-list {
  display:grid!important; grid-template-columns:minmax(0,1fr)!important; gap:14px!important;
  width:100%!important; border:0!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-card.modern {
  display:grid!important; grid-template-columns:94px 220px minmax(0,1fr)!important;
  flex-direction:initial!important; gap:24px!important; align-items:stretch!important;
  width:100%!important; min-width:0!important; min-height:210px!important; padding:15px!important;
  overflow:hidden!important; border:1px solid rgba(91,40,104,.09)!important; border-radius:16px!important;
  color:var(--studio-ink)!important; background:#fff!important;
  box-shadow:0 9px 28px rgba(66,28,77,.055)!important;
  transition:transform 160ms ease,box-shadow 160ms ease!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-card.modern:hover,
body:not(.session-started) #vitrineAteliers .planning-workshop-card.modern:focus-visible {
  border-color:rgba(91,40,104,.2)!important; box-shadow:0 14px 32px rgba(66,28,77,.09)!important;
  transform:translateY(-2px)!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-date {
  display:flex!important; flex-direction:column!important; align-items:center!important; justify-content:center!important;
  min-width:0!important; padding:14px 8px!important; border-radius:12px!important;
  color:var(--studio-purple)!important; background:var(--studio-lavender)!important; line-height:1!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-date span {
  margin:0 0 6px!important; color:var(--studio-purple)!important; font-size:.68rem!important;
  font-weight:800!important; letter-spacing:.07em!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-date b {
  color:var(--studio-purple-dark)!important; font-family:var(--studio-font)!important;
  font-size:2.55rem!important; font-weight:800!important; letter-spacing:-.06em!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-date em {
  margin-top:5px!important; color:var(--studio-muted)!important; font-size:.68rem!important;
  font-style:normal!important; font-weight:800!important; letter-spacing:.07em!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-photo {
  width:100%!important; height:100%!important; min-width:0!important; min-height:180px!important;
  aspect-ratio:auto!important; overflow:hidden!important; border-radius:13px!important;
  background:var(--studio-lavender)!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-photo img,
body:not(.session-started) #vitrineAteliers .planning-workshop-photo .workshop-default-image,
body:not(.session-started) #vitrineAteliers .planning-workshop-photo .workshop-default-image img {
  display:block!important; width:100%!important; height:100%!important;
  object-fit:cover!important; object-position:center!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-body {
  display:flex!important; flex-direction:column!important; align-items:flex-start!important;
  justify-content:center!important; min-width:0!important; width:auto!important; padding:5px 8px 5px 0!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-category {
  margin:0 0 5px!important; color:var(--studio-coral)!important; font-size:.68rem!important;
  font-weight:850!important; letter-spacing:.06em!important; text-transform:uppercase!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-body h3 {
  margin:0!important; color:var(--studio-purple-dark)!important; font-family:var(--studio-font)!important;
  font-size:clamp(1.35rem,2.1vw,1.85rem)!important; font-weight:780!important;
  line-height:1.1!important; letter-spacing:-.03em!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-body>p:not(.planning-workshop-category):not(.planning-workshop-line):not(.planning-workshop-capacity):not(.planning-workshop-practical):not(.planning-workshop-status) {
  display:block!important; max-width:66ch!important; margin:8px 0 0!important; overflow:visible!important;
  color:var(--studio-muted)!important; font-size:.86rem!important; line-height:1.5!important;
  -webkit-line-clamp:initial!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-line {
  display:flex!important; flex-wrap:wrap!important; gap:5px 8px!important; margin:11px 0 0!important;
  color:var(--studio-ink)!important; font-size:.8rem!important; font-weight:720!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-line i { color:var(--studio-coral)!important; font-style:normal!important; }
body:not(.session-started) #vitrineAteliers .planning-workshop-capacity,
body:not(.session-started) #vitrineAteliers .planning-workshop-practical,
body:not(.session-started) #vitrineAteliers .planning-workshop-status {
  margin:7px 0 0!important; color:var(--studio-muted)!important; font-size:.75rem!important; line-height:1.4!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-practical {
  padding-left:10px!important; border-left:2px solid var(--studio-coral)!important; font-style:normal!important;
}
body:not(.session-started) #vitrineAteliers .planning-card-actions {
  display:flex!important; flex-wrap:wrap!important; gap:9px!important; margin-top:13px!important;
}
body:not(.session-started) #vitrineAteliers .planning-card-actions button {
  min-height:40px!important; padding:9px 14px!important; border-radius:10px!important;
  box-shadow:none!important; font-size:.76rem!important; font-weight:750!important;
}
body:not(.session-started) #vitrineAteliers .reserve-workshop {
  border:1px solid var(--studio-purple)!important; color:#fff!important; background:var(--studio-purple)!important;
}
body:not(.session-started) #vitrineAteliers .workshop-detail-link {
  border:1px solid rgba(91,40,104,.2)!important; color:var(--studio-purple)!important; background:transparent!important;
}

/* Réservation */
.workshop-booking-modal .workshop-booking-card {
  border-radius:18px!important; background:#fff!important; box-shadow:0 26px 70px rgba(47,24,53,.25)!important;
}
.workshop-booking-modal .booking-world-layout { grid-template-columns:minmax(270px,.72fr) minmax(0,1.28fr)!important; }
.workshop-booking-modal .booking-world-panel { color:#fff!important; background:var(--studio-purple-dark)!important; }
.workshop-booking-modal .booking-world-panel>img { min-height:250px!important; filter:saturate(.9)!important; }
.workshop-booking-modal .booking-world-copy,
.workshop-booking-modal .booking-workshop-summary {
  border:0!important; border-radius:0!important; background:transparent!important; box-shadow:none!important;
}
.workshop-booking-modal .booking-world-copy strong,
.workshop-booking-modal .booking-modal-header h2,
.workshop-booking-modal .booking-section-title h3 { font-family:var(--studio-font)!important; font-weight:760!important; }
.workshop-booking-modal .booking-summary-facts,
.workshop-booking-modal .booking-promises,
.workshop-booking-modal .booking-after-card,
.workshop-booking-modal .booking-security-note { display:none!important; }
.workshop-booking-modal .booking-summary-line { margin:10px 0 0!important; font-size:.76rem!important; line-height:1.5!important; opacity:.84!important; }
.workshop-booking-modal .booking-form-section { border-top:1px solid var(--studio-line)!important; }
.workshop-booking-modal .booking-section-title small { color:var(--studio-coral)!important; font-family:var(--studio-font)!important; font-weight:800!important; }
.workshop-booking-modal .booking-child-row,
.workshop-booking-modal .booking-consent-wrap { border-radius:12px!important; background:var(--studio-lavender)!important; box-shadow:none!important; }
.workshop-booking-modal .booking-field input,
.workshop-booking-modal .booking-optional-section textarea { border-radius:10px!important; border-color:var(--studio-line)!important; background:#fff!important; }
.workshop-booking-modal .booking-human-help {
  margin:20px 0!important; padding:13px 0 13px 16px!important; border-left:3px solid var(--studio-coral)!important;
  color:var(--studio-muted)!important; font-size:.84rem!important; line-height:1.5!important;
}
.workshop-booking-modal .booking-submit { border-radius:11px!important; background:var(--studio-purple)!important; box-shadow:none!important; }

/* Footer */
body:not(.session-started) .vitrine-ref-footer {
  display:grid!important; grid-template-columns:minmax(0,1fr) auto!important; gap:40px!important;
  align-items:end!important; width:min(1080px,calc(100% - 48px))!important;
  margin:0 auto!important; padding:42px 0 34px!important; border:0!important;
  border-top:1px solid var(--studio-line)!important; border-radius:0!important;
  color:var(--studio-ink)!important; background:transparent!important; box-shadow:none!important;
}
body:not(.session-started) .vitrine-ref-footer .vitrine-footer-identity { display:block!important; }
body:not(.session-started) .vitrine-ref-footer .vitrine-footer-identity strong {
  color:var(--studio-purple)!important; font-family:var(--studio-font)!important; font-size:1.2rem!important; font-weight:800!important;
}
body:not(.session-started) .vitrine-ref-footer p { margin:7px 0 2px!important; color:var(--studio-ink)!important; font-size:.84rem!important; }
body:not(.session-started) .vitrine-ref-footer small { color:var(--studio-muted)!important; font-size:.72rem!important; }
body:not(.session-started) .vitrine-ref-footer nav {
  display:flex!important; flex-wrap:wrap!important; justify-content:flex-end!important; gap:9px 20px!important;
}
body:not(.session-started) .vitrine-ref-footer a {
  padding:4px 0!important; border:0!important; border-bottom:1px solid transparent!important;
  color:var(--studio-ink)!important; background:transparent!important; font-size:.76rem!important; font-weight:680!important;
}
body:not(.session-started) .vitrine-ref-footer a:hover { border-bottom-color:var(--studio-coral)!important; color:var(--studio-purple)!important; }
body:not(.session-started) :is(a,button,input,select,textarea):focus-visible {
  outline:3px solid rgba(235,138,120,.45)!important; outline-offset:3px!important;
}

@media (prefers-reduced-motion:reduce) {
  body:not(.session-started) *, .workshop-booking-modal * {
    scroll-behavior:auto!important; transition-duration:.01ms!important;
  }
}
@media (max-width:940px) {
  body:not(.session-started) #vitrineAccueil.vitrine-ref-hero {
    grid-template-columns:1fr!important; gap:34px!important; width:min(100% - 34px,720px)!important;
    padding:46px 0 56px!important;
  }
  body:not(.session-started) #vitrineAccueil .vitrine-ref-content { max-width:620px!important; }
  body:not(.session-started) #vitrineAccueil .vitrine-ref-content h2 { max-width:13ch!important; }
  body:not(.session-started) .vitrine-editorial-hero-photo { max-height:470px!important; aspect-ratio:4/3!important; }
  body:not(.session-started) .home-small-groups,
  body:not(.session-started) .home-welcome-person,
  body:not(.session-started) .home-first-visit,
  body:not(.session-started) #vitrineAteliers .workshop-planning-home,
  body:not(.session-started) .vitrine-ref-footer { width:min(100% - 34px,720px)!important; }
  body:not(.session-started) .home-welcome-person,
  body:not(.session-started) .home-first-visit { grid-template-columns:1fr!important; gap:36px!important; }
  body:not(.session-started) .home-welcome-person figure { width:78%!important; }
  body:not(.session-started) #vitrineAteliers .planning-workshop-card.modern {
    grid-template-columns:82px 180px minmax(0,1fr)!important; gap:18px!important;
  }
  .workshop-booking-modal .booking-world-layout { grid-template-columns:1fr!important; }
}
@media (max-width:760px) {
  body:not(.session-started) .vitrine-ref-header,
  body:not(.session-started):not(:has(#connexionSession:target)) .vitrine-ref-header {
    flex-wrap:wrap!important; gap:7px 16px!important; min-height:0!important; padding:8px 13px!important;
  }
  body:not(.session-started) .vitrine-ref-brand { grid-template-columns:40px auto!important; }
  body:not(.session-started) .vitrine-ref-brand img { width:38px!important; height:38px!important; }
  body:not(.session-started) .vitrine-ref-brand span { display:none!important; }
  body:not(.session-started) .vitrine-ref-brand strong { align-self:center!important; grid-row:1/3!important; }
  body:not(.session-started) .vitrine-ref-nav {
    order:2!important; justify-content:flex-start!important; width:100%!important;
    overflow-x:auto!important; padding-bottom:2px!important;
  }
  body:not(.session-started) .vitrine-ref-nav a { flex:0 0 auto!important; min-height:38px!important; padding:9px 10px!important; }
  body:not(.session-started) .home-small-groups { grid-template-columns:1fr!important; gap:28px!important; padding:38px 24px!important; }
  body:not(.session-started) #vitrineAteliers .vitrine-ref-workshops-head { grid-template-columns:1fr!important; gap:13px!important; }
  body:not(.session-started) #vitrineAteliers .vitrine-ref-workshops-note { justify-self:start!important; }
  body:not(.session-started) #vitrineAteliers .planning-workshop-card.modern {
    grid-template-columns:72px minmax(0,1fr)!important; gap:14px!important; padding:13px!important;
  }
  body:not(.session-started) #vitrineAteliers .planning-workshop-date {
    grid-column:1!important; grid-row:1!important; min-height:150px!important;
  }
  body:not(.session-started) #vitrineAteliers .planning-workshop-photo {
    grid-column:2!important; grid-row:1!important; height:auto!important; min-height:150px!important; aspect-ratio:16/10!important;
  }
  body:not(.session-started) #vitrineAteliers .planning-workshop-body { grid-column:1/-1!important; padding:5px 2px 2px!important; }
  body:not(.session-started) .vitrine-ref-footer { grid-template-columns:1fr!important; gap:26px!important; }
  body:not(.session-started) .vitrine-ref-footer nav { justify-content:flex-start!important; }
}
@media (max-width:520px) {
  body:not(.session-started) #vitrineAccueil.vitrine-ref-hero,
  body:not(.session-started) .home-small-groups,
  body:not(.session-started) .home-welcome-person,
  body:not(.session-started) .home-first-visit,
  body:not(.session-started) #vitrineAteliers .workshop-planning-home,
  body:not(.session-started) .vitrine-ref-footer { width:calc(100% - 24px)!important; }
  body:not(.session-started) #vitrineAccueil.vitrine-ref-hero { padding:36px 0 44px!important; }
  body:not(.session-started) #vitrineAccueil .vitrine-ref-content h2 {
    max-width:12ch!important; font-size:clamp(2.25rem,10.5vw,3.05rem)!important;
  }
  body:not(.session-started) #vitrineAccueil .vitrine-ref-description { font-size:.94rem!important; }
  body:not(.session-started) .vitrine-ref-home-actions { flex-direction:column!important; }
  body:not(.session-started) #vitrineAccueil .vitrine-ref-btn { width:100%!important; }
  body:not(.session-started) .vitrine-editorial-hero-photo { max-height:360px!important; }
  body:not(.session-started) .vitrine-editorial-hero-figure figcaption { right:10px!important; bottom:10px!important; }
  body:not(.session-started) .home-welcome-person { padding:52px 0!important; }
  body:not(.session-started) .home-welcome-person figure { width:100%!important; }
  body:not(.session-started) .home-first-visit { padding:36px 22px!important; }
  body:not(.session-started) #vitrineAteliers.vitrine-ref-workshops { margin-top:48px!important; padding:52px 0 58px!important; }
  body:not(.session-started) #vitrineAteliers .planning-card-actions { flex-direction:column!important; width:100%!important; }
  body:not(.session-started) #vitrineAteliers .planning-card-actions button { width:100%!important; }
  .workshop-booking-modal .booking-world-panel>img { min-height:185px!important; }
}

/* ================================================================
   FINITIONS — JAUNE UNIQUE, CONTRASTES ET FORMULAIRE CONTACT
   ================================================================ */
body:not(.session-started) #vitrinePlateforme,
body:not(.session-started) #vitrineTarifs,
body:not(.session-started) #vitrineContactPage {
  --rfc-yellow:#ffd34e;
  --rfc-yellow-hover:#f5c52f;
  --rfc-ink:#321044;
}

/* Le meme jaune RFC06 sur les trois pages */
body:not(.session-started) #vitrinePlateforme .atelierplus-immersive-copy>p,
body:not(.session-started) #vitrinePlateforme .atelierplus-floating-text .atelierplus-eyebrow,
body:not(.session-started) #vitrinePlateforme .atelierplus-two-ways-grid span,
body:not(.session-started) #vitrinePlateforme .atelierplus-final-cta .atelierplus-eyebrow,
body:not(.session-started) #vitrineTarifs .pricing-kicker,
body:not(.session-started) #vitrineTarifs .pricing-title-accent,
body:not(.session-started) #vitrineContactPage .contact-hero .contact-kicker,
body:not(.session-started) #vitrineContactPage .contact-visit .contact-section-label {
  color:var(--rfc-yellow)!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-life-platform,
body:not(.session-started) #vitrineTarifs .pricing-price-badge,
body:not(.session-started) #vitrineTarifs .pricing-reassurance-icon,
body:not(.session-started) #vitrineTarifs .pricing-bottom,
body:not(.session-started) #vitrineContactPage .contact-reassurance>div>span,
body:not(.session-started) #vitrineContactPage .contact-visit-welcome,
body:not(.session-started) #vitrineContactPage .contact-help {
  background:var(--rfc-yellow)!important;
}
body:not(.session-started) #vitrineContactPage .contact-featured-address {
  border-left-color:var(--rfc-yellow)!important;
}

/* Boutons jaunes : texte violet fonce, jamais jaune sur jaune */
body:not(.session-started) #vitrinePlateforme .atelierplus-immersive-actions a:first-child,
body:not(.session-started) #vitrinePlateforme .atelierplus-two-ways-grid a,
body:not(.session-started) #vitrineTarifs .pricing-card-action,
body:not(.session-started) #vitrineContactPage .contact-submit,
body:not(.session-started) #vitrineContactPage .contact-workshops-link {
  color:var(--rfc-ink)!important;
  background:var(--rfc-yellow)!important;
  border-color:var(--rfc-yellow)!important;
  text-shadow:none!important;
  box-shadow:0 8px 20px rgba(85,48,0,.13)!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-immersive-actions a:first-child:visited,
body:not(.session-started) #vitrinePlateforme .atelierplus-two-ways-grid a:visited,
body:not(.session-started) #vitrineTarifs .pricing-card-action:visited,
body:not(.session-started) #vitrineContactPage .contact-workshops-link:visited {
  color:var(--rfc-ink)!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-immersive-actions a:first-child:hover,
body:not(.session-started) #vitrinePlateforme .atelierplus-two-ways-grid a:hover,
body:not(.session-started) #vitrineTarifs .pricing-card-action:hover,
body:not(.session-started) #vitrineContactPage .contact-submit:hover,
body:not(.session-started) #vitrineContactPage .contact-workshops-link:hover {
  color:var(--rfc-ink)!important;
  background:var(--rfc-yellow-hover)!important;
  border-color:var(--rfc-yellow-hover)!important;
  transform:translateY(-2px)!important;
}
body:not(.session-started) #vitrinePlateforme a:focus-visible,
body:not(.session-started) #vitrineTarifs a:focus-visible,
body:not(.session-started) #vitrineContactPage a:focus-visible,
body:not(.session-started) #vitrineContactPage button:focus-visible {
  outline:3px solid #fff!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 6px var(--rfc-ink)!important;
}

/* Tarifs : un appel a l'action lumineux et constant sur chaque offre */
body:not(.session-started) #vitrineTarifs .pricing-card-action {
  min-height:48px!important;
  font-size:.86rem!important;
}
body:not(.session-started) #vitrineTarifs .pricing-features li::before {
  background:var(--rfc-yellow)!important;
}

/* Contact : formulaire plus genereux, chaleureux et explicite */
body:not(.session-started) #vitrineContactPage .contact-layout {
  grid-template-columns:minmax(300px,.74fr) minmax(0,1.26fr)!important;
  gap:22px!important;
}
body:not(.session-started) #vitrineContactPage .contact-visit { grid-column:1!important; }
body:not(.session-started) #vitrineContactPage .contact-form {
  grid-column:2!important;
  position:relative!important;
  overflow:hidden!important;
  padding:42px!important;
  border:1px solid #e3d4e7!important;
  border-radius:28px!important;
  background:linear-gradient(145deg,#fff 0%,#fcf8fd 58%,#fffaf0 100%)!important;
  box-shadow:0 20px 54px rgba(49,12,65,.11)!important;
}
body:not(.session-started) #vitrineContactPage .contact-form::before {
  content:""!important;
  position:absolute!important;
  inset:0 0 auto!important;
  height:7px!important;
  background:var(--rfc-yellow)!important;
}
body:not(.session-started) #vitrineContactPage .contact-form-heading {
  position:relative!important;
  padding:0 0 24px!important;
  margin-bottom:22px!important;
  border-bottom:1px solid #e7dce9!important;
}
body:not(.session-started) #vitrineContactPage .contact-form-heading::after {
  content:""!important;
  position:absolute!important;
  left:0!important;
  bottom:-2px!important;
  width:86px!important;
  height:3px!important;
  border-radius:4px!important;
  background:var(--rfc-yellow)!important;
}
body:not(.session-started) #vitrineContactPage .contact-form-heading h3 {
  max-width:650px!important;
  font-size:clamp(2.2rem,3.8vw,3.65rem)!important;
}
body:not(.session-started) #vitrineContactPage .contact-form-heading>p:last-child {
  margin:14px 0 0!important;
  font-size:.93rem!important;
}
body:not(.session-started) #vitrineContactPage .contact-form-grid {
  gap:18px!important;
}
body:not(.session-started) #vitrineContactPage .contact-form label>span:not(.contact-consent span),
body:not(.session-started) #vitrineContactPage .contact-subject-field legend {
  margin-bottom:8px!important;
  color:#3d2347!important;
  font-size:.79rem!important;
  letter-spacing:.01em!important;
}
body:not(.session-started) #vitrineContactPage .contact-form input:not([type="radio"]):not([type="checkbox"]),
body:not(.session-started) #vitrineContactPage .contact-form textarea {
  border:1.5px solid #d9c8de!important;
  border-radius:14px!important;
  color:var(--rfc-ink)!important;
  background:#fff!important;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease!important;
}
body:not(.session-started) #vitrineContactPage .contact-form input:not([type="radio"]):not([type="checkbox"]) {
  min-height:54px!important;
  padding:0 16px!important;
}
body:not(.session-started) #vitrineContactPage .contact-form textarea {
  min-height:155px!important;
  padding:15px 16px!important;
}
body:not(.session-started) #vitrineContactPage .contact-form input:not([type="radio"]):not([type="checkbox"]):focus,
body:not(.session-started) #vitrineContactPage .contact-form textarea:focus {
  outline:none!important;
  border-color:#6a2689!important;
  background:#fff!important;
  box-shadow:0 0 0 4px rgba(255,211,78,.35)!important;
}
body:not(.session-started) #vitrineContactPage .contact-subject-field {
  margin:2px 0 0!important;
  padding:18px!important;
  border:1px solid #e3d7e6!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.72)!important;
}
body:not(.session-started) #vitrineContactPage .contact-choice-pills {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
}
body:not(.session-started) #vitrineContactPage .contact-choice-pills label:last-child {
  grid-column:1/-1!important;
}
body:not(.session-started) #vitrineContactPage .contact-choice-pills span {
  position:relative!important;
  min-height:50px!important;
  padding:8px 34px 8px 40px!important;
  border:1px solid #ded0e2!important;
  border-radius:13px!important;
  color:#4d3456!important;
  background:#fff!important;
  font-size:.78rem!important;
  font-weight:800!important;
  line-height:1.25!important;
  transition:background .18s ease,border-color .18s ease,transform .18s ease!important;
}
body:not(.session-started) #vitrineContactPage .contact-choice-pills span::before {
  content:""!important;
  position:absolute!important;
  left:14px!important;
  top:50%!important;
  width:14px!important;
  height:14px!important;
  margin-top:-7px!important;
  border:2px solid #a98db2!important;
  border-radius:50%!important;
  background:#fff!important;
  box-shadow:inset 0 0 0 3px #fff!important;
}
body:not(.session-started) #vitrineContactPage .contact-choice-pills label:hover span {
  border-color:#b999c3!important;
  transform:translateY(-1px)!important;
}
body:not(.session-started) #vitrineContactPage .contact-choice-pills input:checked+span {
  color:#fff!important;
  border-color:#5f207d!important;
  background:#5f207d!important;
  box-shadow:0 7px 18px rgba(78,24,101,.18)!important;
}
body:not(.session-started) #vitrineContactPage .contact-choice-pills input:checked+span::before {
  border-color:var(--rfc-yellow)!important;
  background:var(--rfc-yellow)!important;
}
body:not(.session-started) #vitrineContactPage .contact-consent {
  margin:19px 0 16px!important;
  padding:13px 14px!important;
  border-radius:12px!important;
  color:#66516d!important;
  background:#f6eef8!important;
}
body:not(.session-started) #vitrineContactPage .contact-consent input {
  flex:0 0 auto!important;
  width:18px!important;
  height:18px!important;
  accent-color:#61217f!important;
}
body:not(.session-started) #vitrineContactPage .contact-submit {
  width:100%!important;
  min-height:56px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  border-radius:14px!important;
  font-size:.93rem!important;
}
body:not(.session-started) #vitrineContactPage .contact-submit span {
  color:var(--rfc-ink)!important;
  font-size:1.25rem!important;
}
body:not(.session-started) #vitrineContactPage .contact-personal-reply {
  display:block!important;
  margin:10px 0 0!important;
  color:#7a667f!important;
  text-align:center!important;
}

@media (max-width:980px) {
  body:not(.session-started) #vitrineContactPage .contact-layout {
    grid-template-columns:1fr!important;
  }
  body:not(.session-started) #vitrineContactPage .contact-form,
  body:not(.session-started) #vitrineContactPage .contact-visit {
    grid-column:1!important;
  }
  body:not(.session-started) #vitrineContactPage .contact-form { grid-row:1!important; }
  body:not(.session-started) #vitrineContactPage .contact-visit { grid-row:2!important; }
}
@media (max-width:620px) {
  body:not(.session-started) #vitrineContactPage .contact-form { padding:30px 20px!important; }
  body:not(.session-started) #vitrineContactPage .contact-choice-pills { grid-template-columns:1fr!important; }
  body:not(.session-started) #vitrineContactPage .contact-choice-pills label:last-child { grid-column:auto!important; }
}

/* Priorite finale : l'image hero de l'espace educatif touche les deux bords. */
body:not(.session-started) #vitrinePlateforme .atelierplus-immersive-hero {
  position:relative!important;
  left:50%!important;
  width:100vw!important;
  max-width:100vw!important;
  margin-left:-50vw!important;
  margin-right:0!important;
  border-radius:0!important;
}

/* Parcours adulte : modules visibles depuis le tableau de bord */
body.pathway-adult.session-started .adult-pro-curriculum {
  display:grid!important;
  gap:22px!important;
  margin-top:18px!important;
  padding:clamp(22px,2.6vw,34px)!important;
  border:1px solid rgba(73,28,91,.12)!important;
  border-radius:28px!important;
  background:linear-gradient(145deg,#fff 0%,#fbf7ff 58%,#fffaf0 100%)!important;
  box-shadow:0 22px 54px rgba(58,18,73,.09)!important;
}
body.pathway-adult.session-started .adult-pro-curriculum>header {
  display:flex!important;
  justify-content:space-between!important;
  gap:24px!important;
  align-items:flex-end!important;
}
body.pathway-adult.session-started .adult-pro-curriculum>header>div { max-width:760px!important; }
body.pathway-adult.session-started .adult-pro-curriculum>header span {
  color:#7a2c96!important; font-size:.76rem!important; font-weight:950!important; letter-spacing:.08em!important; text-transform:uppercase!important;
}
body.pathway-adult.session-started .adult-pro-curriculum>header h3 {
  margin:8px 0 7px!important; color:#32103f!important; font-size:clamp(1.65rem,2.6vw,2.55rem)!important; line-height:1.06!important;
}
body.pathway-adult.session-started .adult-pro-curriculum>header p {
  margin:0!important; color:#67556e!important; font-size:.96rem!important; line-height:1.55!important; font-weight:650!important;
}
body.pathway-adult.session-started .adult-pro-curriculum>header>strong {
  flex:0 0 auto!important; padding:10px 14px!important; border-radius:999px!important; color:#49205a!important; background:#ffe48b!important; font-size:.78rem!important;
}
body.pathway-adult.session-started .adult-pro-curriculum-grid {
  display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:16px!important;
}
body.pathway-adult.session-started .adult-pro-course-card {
  min-width:0!important; padding:0!important; overflow:hidden!important; display:grid!important; grid-template-rows:178px 1fr!important;
  border:1px solid #e4d9e8!important; border-radius:21px!important; color:#32103f!important; background:#fff!important;
  box-shadow:0 13px 30px rgba(54,18,68,.07)!important; text-align:left!important; cursor:pointer!important;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important;
}
body.pathway-adult.session-started .adult-pro-course-card:hover {
  transform:translateY(-4px)!important; border-color:#b989c8!important; box-shadow:0 20px 38px rgba(54,18,68,.14)!important;
}
body.pathway-adult.session-started .adult-pro-course-card:focus-visible { outline:4px solid rgba(255,205,54,.72)!important; outline-offset:3px!important; }
body.pathway-adult.session-started .adult-pro-course-media { position:relative!important; display:block!important; overflow:hidden!important; }
body.pathway-adult.session-started .adult-pro-course-media::after {
  content:""!important; position:absolute!important; inset:42% 0 0!important; background:linear-gradient(transparent,rgba(35,7,44,.55))!important;
}
body.pathway-adult.session-started .adult-pro-course-media img { width:100%!important; height:100%!important; display:block!important; object-fit:cover!important; transition:transform .35s ease!important; }
body.pathway-adult.session-started .adult-pro-course-card:hover img { transform:scale(1.035)!important; }
body.pathway-adult.session-started .adult-pro-course-media>b {
  position:absolute!important; z-index:1!important; left:14px!important; bottom:13px!important; padding:7px 10px!important; border-radius:999px!important;
  color:#32103f!important; background:#ffd54e!important; font-size:.7rem!important; font-weight:950!important; text-transform:uppercase!important; letter-spacing:.05em!important;
}
body.pathway-adult.session-started .adult-pro-course-copy { display:grid!important; align-content:start!important; gap:8px!important; padding:18px!important; }
body.pathway-adult.session-started .adult-pro-course-copy>small { color:#87509a!important; font-size:.72rem!important; font-weight:900!important; text-transform:uppercase!important; letter-spacing:.04em!important; }
body.pathway-adult.session-started .adult-pro-course-copy>strong { min-height:2.45em!important; color:#32103f!important; font-size:1.08rem!important; line-height:1.22!important; font-weight:950!important; }
body.pathway-adult.session-started .adult-pro-course-copy>em { min-height:4.25em!important; color:#6b5a71!important; font-size:.84rem!important; line-height:1.42!important; font-style:normal!important; font-weight:630!important; }
body.pathway-adult.session-started .adult-pro-course-copy>i { height:7px!important; overflow:hidden!important; border-radius:99px!important; background:#eee7f1!important; }
body.pathway-adult.session-started .adult-pro-course-copy>i>b { display:block!important; width:var(--adult-course-progress)!important; height:100%!important; border-radius:inherit!important; background:linear-gradient(90deg,#67227f,#f3bb22)!important; }
body.pathway-adult.session-started .adult-pro-course-copy>span { display:flex!important; justify-content:space-between!important; gap:12px!important; color:#75647a!important; font-size:.75rem!important; font-weight:800!important; }
body.pathway-adult.session-started .adult-pro-course-copy>span>b { color:#67227f!important; }

/* Leçons adultes : carte mentale de mémorisation */
.adult-memory-map {
  display:grid; gap:22px; margin-top:4px; padding:clamp(22px,3vw,36px); border:1px solid rgba(94,32,121,.15); border-radius:28px;
  background:radial-gradient(circle at 94% 4%,rgba(255,205,54,.23),transparent 26%),linear-gradient(145deg,#fff,#f8f1fb);
  box-shadow:0 20px 44px rgba(55,18,70,.08);
}
.adult-memory-map>header { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.7fr); gap:24px; align-items:end; }
.adult-memory-map>header span { color:#7a2c96; font-size:.78rem; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }
.adult-memory-map>header h4 { margin:8px 0 0; color:#32103f; font-size:clamp(1.8rem,3vw,3rem); line-height:1.05; font-weight:950; }
.adult-memory-map>header p { margin:0; color:#69576f; font-size:1rem; line-height:1.6; font-weight:680; }
.adult-memory-map-layout { display:grid; grid-template-columns:minmax(0,1.28fr) minmax(300px,.72fr); gap:24px; align-items:stretch; }
.adult-memory-map figure { position:relative; min-height:390px; margin:0; overflow:hidden; border-radius:22px; background:#eadff0; box-shadow:0 16px 36px rgba(49,12,65,.12); }
.adult-memory-map figure img { width:100%; height:100%; min-height:390px; display:block; object-fit:cover; }
.adult-memory-map figcaption { position:absolute; left:18px; right:18px; bottom:16px; padding:12px 15px; border:1px solid rgba(255,255,255,.55); border-radius:14px; color:#fff; background:rgba(47,11,58,.76); backdrop-filter:blur(8px); font-size:.94rem; font-weight:900; text-align:center; }
.adult-memory-map ol { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.adult-memory-map li { display:grid; grid-template-columns:42px minmax(0,1fr); gap:12px; align-items:center; padding:13px 14px; border:1px solid #e7dce9; border-radius:16px; background:rgba(255,255,255,.88); }
.adult-memory-map li>span { display:grid; width:42px; height:42px; place-items:center; border-radius:13px; color:#3e174c; background:#ffd54e; font-size:.76rem; font-weight:950; }
.adult-memory-map li div { display:grid; gap:3px; }
.adult-memory-map li strong { color:#32103f; font-size:.94rem; }
.adult-memory-map li small { color:#68566e; font-size:.79rem; line-height:1.4; font-weight:650; }
.adult-memory-map>aside { padding:14px 16px; border-left:5px solid #ffd54e; border-radius:0 14px 14px 0; color:#5c4863; background:#fff; font-size:.88rem; line-height:1.5; }
.adult-memory-map>aside strong { color:#67227f; }

@media (max-width:1100px) {
  body.pathway-adult.session-started .adult-pro-curriculum-grid { grid-template-columns:1fr!important; }
  .adult-memory-map-layout,.adult-memory-map>header { grid-template-columns:1fr; }
}
@media (max-width:680px) {
  body.pathway-adult.session-started .adult-pro-curriculum>header { display:grid!important; align-items:start!important; }
  body.pathway-adult.session-started .adult-pro-curriculum>header>strong { justify-self:start!important; }
  body.pathway-adult.session-started .adult-pro-course-card { grid-template-rows:156px 1fr!important; }
  .adult-memory-map { padding:18px; border-radius:22px; }
  .adult-memory-map figure,.adult-memory-map figure img { min-height:250px; }
}

/* Dashboard adulte — expérience guidée, chaleureuse et compacte */
body.pathway-adult.session-started .adult-learning-dashboard.premium-adult-dashboard {
  gap:18px!important; padding:clamp(14px,1.8vw,26px)!important; border-radius:32px!important;
  background:radial-gradient(circle at 4% 4%,rgba(255,213,78,.22),transparent 24%),linear-gradient(145deg,#fffaf1,#faf5fc 56%,#fff)!important;
}
body.pathway-adult.session-started .adult-pro-topbar { justify-content:space-between!important; align-items:center!important; min-height:54px!important; }
body.pathway-adult.session-started .adult-pro-dashboard-title { display:flex!important; gap:12px!important; align-items:center!important; }
body.pathway-adult.session-started .adult-pro-dashboard-title>span {
  display:grid!important; width:46px!important; height:46px!important; place-items:center!important; border-radius:15px!important;
  color:#fff!important; background:linear-gradient(145deg,#64217e,#893bb0)!important; box-shadow:0 10px 24px rgba(74,23,91,.2)!important; font-size:.68rem!important; font-weight:950!important;
}
body.pathway-adult.session-started .adult-pro-dashboard-title>div { display:grid!important; gap:2px!important; }
body.pathway-adult.session-started .adult-pro-dashboard-title strong { color:#32103f!important; font-size:.96rem!important; }
body.pathway-adult.session-started .adult-pro-dashboard-title small { color:#7c687f!important; font-size:.72rem!important; font-weight:700!important; }

body.pathway-adult.session-started .adult-pro-layout { grid-template-columns:minmax(0,1.48fr) minmax(300px,.52fr)!important; gap:20px!important; align-items:start!important; }
body.pathway-adult.session-started .adult-pro-main { gap:16px!important; }
body.pathway-adult.session-started .adult-pro-hero {
  min-height:510px!important; padding:0!important; gap:0!important; overflow:hidden!important; grid-template-columns:minmax(430px,1.08fr) minmax(300px,.92fr)!important;
  border:0!important; border-radius:30px!important; background:#4d1762!important; box-shadow:0 24px 58px rgba(53,16,65,.2)!important;
}
body.pathway-adult.session-started .adult-pro-hero::after { display:none!important; }
body.pathway-adult.session-started .adult-pro-hero-copy {
  display:flex!important; flex-direction:column!important; justify-content:center!important; min-width:0!important; padding:clamp(30px,3.3vw,52px)!important;
  background:radial-gradient(circle at 8% 6%,rgba(255,214,78,.18),transparent 27%),linear-gradient(145deg,#431252,#68227e)!important;
}
body.pathway-adult.session-started .adult-pro-kicker {
  margin:0 0 13px!important; padding:8px 13px!important; color:#35113f!important; background:#ffd54e!important; font-size:.76rem!important; letter-spacing:.02em!important;
}
body.pathway-adult.session-started .adult-pro-hero h2 {
  max-width:590px!important; margin:0!important; color:#fff!important; font-size:clamp(2.5rem,3.4vw,4.25rem)!important; line-height:.98!important; letter-spacing:-.045em!important;
}
body.pathway-adult.session-started .adult-pro-hero-copy>p {
  max-width:570px!important; margin:15px 0 21px!important; color:#f2e6f5!important; font-size:1rem!important; line-height:1.55!important; font-weight:630!important;
}
body.pathway-adult.session-started .adult-pro-next-module {
  display:grid!important; gap:10px!important; max-width:610px!important; padding:20px!important; border:1px solid rgba(255,255,255,.28)!important; border-radius:21px!important;
  background:rgba(255,255,255,.95)!important; box-shadow:0 18px 42px rgba(28,5,35,.22)!important; backdrop-filter:blur(10px)!important;
}
body.pathway-adult.session-started .adult-pro-next-heading { display:flex!important; justify-content:space-between!important; gap:14px!important; align-items:center!important; }
body.pathway-adult.session-started .adult-pro-next-heading span { color:#70298c!important; font-size:.7rem!important; font-weight:950!important; letter-spacing:.07em!important; text-transform:uppercase!important; }
body.pathway-adult.session-started .adult-pro-next-heading small { color:#826e86!important; font-size:.7rem!important; font-weight:750!important; }
body.pathway-adult.session-started .adult-pro-next-module h3 { margin:0!important; color:#32103f!important; font-size:clamp(1.25rem,1.6vw,1.65rem)!important; line-height:1.15!important; }
body.pathway-adult.session-started .adult-pro-next-module>p { margin:0!important; color:#645369!important; font-size:.82rem!important; line-height:1.4!important; font-weight:650!important; }
body.pathway-adult.session-started .adult-pro-next-progress { display:grid!important; grid-template-columns:minmax(100px,1fr) auto!important; gap:10px!important; align-items:center!important; }
body.pathway-adult.session-started .adult-pro-next-progress i { height:7px!important; overflow:hidden!important; border-radius:99px!important; background:#eee6f0!important; }
body.pathway-adult.session-started .adult-pro-next-progress i>b { display:block!important; width:var(--adult-next-progress)!important; height:100%!important; border-radius:inherit!important; background:linear-gradient(90deg,#6d2688,#f5bf2c)!important; }
body.pathway-adult.session-started .adult-pro-next-progress span { color:#745e79!important; font-size:.7rem!important; font-weight:800!important; }
body.pathway-adult.session-started .adult-pro-next-module .adult-pro-primary {
  width:100%!important; min-height:49px!important; margin-top:2px!important; display:flex!important; justify-content:space-between!important; align-items:center!important; padding:0 17px!important;
  border:0!important; border-radius:14px!important; color:#35113f!important; background:#ffd54e!important; box-shadow:0 10px 20px rgba(193,141,0,.18)!important; font-size:.86rem!important; font-weight:950!important;
}
body.pathway-adult.session-started .adult-pro-next-module .adult-pro-primary b { display:grid!important; width:28px!important; height:28px!important; place-items:center!important; border-radius:9px!important; background:#fff5ca!important; }
body.pathway-adult.session-started .adult-pro-hero-media { position:relative!important; min-height:510px!important; max-height:none!important; border:0!important; border-radius:0!important; box-shadow:none!important; }
body.pathway-adult.session-started .adult-pro-hero-media::after { content:""!important; position:absolute!important; inset:0!important; background:linear-gradient(90deg,rgba(73,19,88,.34),transparent 36%),linear-gradient(0deg,rgba(31,5,39,.28),transparent 42%)!important; }
body.pathway-adult.session-started .adult-pro-hero-media img { object-position:center!important; }
body.pathway-adult.session-started .adult-pro-hero-quote {
  position:absolute!important; z-index:2!important; left:20px!important; right:20px!important; bottom:20px!important; display:flex!important; gap:10px!important; align-items:flex-start!important;
  padding:16px!important; border:1px solid rgba(255,255,255,.4)!important; border-radius:17px!important; color:#fff!important; background:rgba(54,12,65,.66)!important; backdrop-filter:blur(10px)!important;
}
body.pathway-adult.session-started .adult-pro-hero-quote span { color:#ffd54e!important; font-size:2.2rem!important; line-height:.7!important; font-family:Georgia,serif!important; }
body.pathway-adult.session-started .adult-pro-hero-quote p { margin:0!important; color:#fff!important; font-size:.78rem!important; line-height:1.42!important; font-weight:760!important; }
body.pathway-adult.session-started .adult-pro-hero-score {
  position:absolute!important; z-index:2!important; top:19px!important; right:19px!important; display:grid!important; min-width:108px!important; padding:12px 14px!important; border-radius:16px!important;
  color:#35113f!important; background:#ffd54e!important; box-shadow:0 12px 26px rgba(31,5,39,.2)!important;
}
body.pathway-adult.session-started .adult-pro-hero-score strong { font-size:1.55rem!important; line-height:1!important; }
body.pathway-adult.session-started .adult-pro-hero-score span { margin-top:3px!important; font-size:.64rem!important; font-weight:850!important; }

body.pathway-adult.session-started .adult-pro-quickbar { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:12px!important; }
body.pathway-adult.session-started .adult-pro-quickbar>button {
  min-width:0!important; min-height:82px!important; display:grid!important; grid-template-columns:42px minmax(0,1fr) auto!important; gap:11px!important; align-items:center!important; padding:14px!important;
  border:1px solid #e4d8e7!important; border-radius:19px!important; color:#32103f!important; background:#fff!important; box-shadow:0 10px 25px rgba(54,18,68,.065)!important; text-align:left!important; cursor:pointer!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
body.pathway-adult.session-started .adult-pro-quickbar>button:hover { transform:translateY(-3px)!important; border-color:#b987c7!important; box-shadow:0 16px 30px rgba(54,18,68,.12)!important; }
body.pathway-adult.session-started .adult-pro-quickbar>button>span { display:grid!important; width:42px!important; height:42px!important; place-items:center!important; border-radius:13px!important; color:#fff!important; background:#692484!important; font-size:1rem!important; font-weight:950!important; }
body.pathway-adult.session-started .adult-pro-quickbar>button:nth-child(2)>span { color:#4a3100!important; background:#ffd54e!important; }
body.pathway-adult.session-started .adult-pro-quickbar>button:nth-child(3)>span { background:#d75a70!important; }
body.pathway-adult.session-started .adult-pro-quickbar div { display:grid!important; gap:3px!important; }
body.pathway-adult.session-started .adult-pro-quickbar strong { font-size:.86rem!important; }
body.pathway-adult.session-started .adult-pro-quickbar small { color:#806d84!important; font-size:.67rem!important; font-weight:700!important; }
body.pathway-adult.session-started .adult-pro-quickbar>button>b { color:#792e93!important; font-size:1.1rem!important; }

body.pathway-adult.session-started .adult-pro-curriculum { margin-top:0!important; padding:24px!important; overflow:hidden!important; }
body.pathway-adult.session-started .adult-pro-curriculum>header { align-items:center!important; }
body.pathway-adult.session-started .adult-pro-curriculum>header h3 { font-size:clamp(1.55rem,2.2vw,2.25rem)!important; }
body.pathway-adult.session-started .adult-pro-carousel-actions { display:flex!important; gap:8px!important; flex:0 0 auto!important; }
body.pathway-adult.session-started .adult-pro-carousel-actions button {
  display:grid!important; width:42px!important; height:42px!important; place-items:center!important; border:1px solid #dac9df!important; border-radius:13px!important; color:#5e2077!important; background:#fff!important; cursor:pointer!important; font-size:1rem!important; font-weight:950!important;
}
body.pathway-adult.session-started .adult-pro-carousel-actions button:hover { color:#fff!important; border-color:#682383!important; background:#682383!important; }
body.pathway-adult.session-started .adult-pro-curriculum-grid {
  display:flex!important; grid-template-columns:none!important; gap:14px!important; overflow-x:auto!important; padding:2px 2px 12px!important; scroll-snap-type:x mandatory!important; scrollbar-width:thin!important; scrollbar-color:#c9a8d2 #f1e9f3!important;
}
body.pathway-adult.session-started .adult-pro-course-card { flex:0 0 min(292px,82vw)!important; grid-template-rows:148px 1fr!important; scroll-snap-align:start!important; }
body.pathway-adult.session-started .adult-pro-course-copy { gap:7px!important; padding:16px!important; }
body.pathway-adult.session-started .adult-pro-course-copy>strong { min-height:2.35em!important; font-size:1rem!important; }
body.pathway-adult.session-started .adult-pro-course-copy>em { min-height:4.1em!important; display:-webkit-box!important; -webkit-line-clamp:3!important; -webkit-box-orient:vertical!important; overflow:hidden!important; }
body.pathway-adult.session-started .adult-pro-curriculum>footer { display:flex!important; justify-content:space-between!important; gap:16px!important; align-items:center!important; }
body.pathway-adult.session-started .adult-pro-curriculum>footer span { color:#806d84!important; font-size:.72rem!important; font-weight:750!important; }
body.pathway-adult.session-started .adult-pro-curriculum>footer button { padding:0!important; border:0!important; color:#6b2784!important; background:transparent!important; cursor:pointer!important; font-size:.78rem!important; font-weight:950!important; }

body.pathway-adult.session-started .adult-pro-coach-note {
  display:grid!important; grid-template-columns:52px minmax(220px,.8fr) minmax(260px,1.2fr)!important; gap:18px!important; align-items:center!important; padding:20px 22px!important;
  border:1px solid #eadbb6!important; border-radius:21px!important; background:linear-gradient(135deg,#fff8e5,#fffdf8)!important; box-shadow:0 10px 25px rgba(95,61,0,.06)!important;
}
body.pathway-adult.session-started .adult-pro-coach-note>span { display:grid!important; width:52px!important; height:52px!important; place-items:center!important; border-radius:16px!important; color:#fff!important; background:#6d2787!important; font-size:1.3rem!important; }
body.pathway-adult.session-started .adult-pro-coach-note>div { display:grid!important; gap:4px!important; }
body.pathway-adult.session-started .adult-pro-coach-note small { color:#8a5c00!important; font-size:.68rem!important; font-weight:950!important; text-transform:uppercase!important; letter-spacing:.05em!important; }
body.pathway-adult.session-started .adult-pro-coach-note h3 { margin:0!important; color:#3a1746!important; font-size:1.03rem!important; line-height:1.25!important; }
body.pathway-adult.session-started .adult-pro-coach-note p { margin:0!important; color:#715e6a!important; font-size:.8rem!important; line-height:1.48!important; font-weight:650!important; }

body.pathway-adult.session-started .adult-pro-side { position:sticky!important; top:14px!important; gap:14px!important; }
body.pathway-adult.session-started .adult-pro-card { padding:20px!important; border-radius:22px!important; }
body.pathway-adult.session-started .adult-pro-progress-action { width:100%!important; min-height:42px!important; margin-top:12px!important; border:0!important; border-radius:12px!important; color:#fff!important; background:#67227f!important; cursor:pointer!important; font-size:.75rem!important; font-weight:900!important; }
body.pathway-adult.session-started .adult-pro-help-card { color:#fff!important; background:radial-gradient(circle at 100% 0,rgba(255,213,78,.2),transparent 30%),linear-gradient(145deg,#431452,#6f2788)!important; }
body.pathway-adult.session-started .adult-pro-help-card .adult-pro-card-title { display:grid!important; gap:5px!important; }
body.pathway-adult.session-started .adult-pro-help-card .adult-pro-card-title>span { color:#ffd96b!important; font-size:.68rem!important; font-weight:950!important; text-transform:uppercase!important; letter-spacing:.05em!important; }
body.pathway-adult.session-started .adult-pro-help-card .adult-pro-card-title h3 { color:#fff!important; font-size:1.22rem!important; }
body.pathway-adult.session-started .adult-pro-help-card>button { border-color:rgba(255,255,255,.2)!important; color:#fff!important; background:rgba(255,255,255,.1)!important; }
body.pathway-adult.session-started .adult-pro-help-card>button div strong,body.pathway-adult.session-started .adult-pro-help-card>button div small { color:#fff!important; }
body.pathway-adult.session-started .adult-pro-empty { margin:8px 0 0!important; color:#75647a!important; font-size:.8rem!important; line-height:1.45!important; }

@media (max-width:1250px) {
  body.pathway-adult.session-started .adult-pro-layout { grid-template-columns:minmax(0,1fr) 300px!important; }
  body.pathway-adult.session-started .adult-pro-hero { grid-template-columns:minmax(390px,1.12fr) minmax(260px,.88fr)!important; }
}
@media (max-width:1050px) {
  body.pathway-adult.session-started .adult-pro-layout { grid-template-columns:1fr!important; }
  body.pathway-adult.session-started .adult-pro-side { position:static!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; }
}
@media (max-width:820px) {
  body.pathway-adult.session-started .adult-pro-hero { grid-template-columns:1fr!important; }
  body.pathway-adult.session-started .adult-pro-hero-media { min-height:300px!important; }
  body.pathway-adult.session-started .adult-pro-quickbar { grid-template-columns:1fr!important; }
  body.pathway-adult.session-started .adult-pro-coach-note { grid-template-columns:52px minmax(0,1fr)!important; }
  body.pathway-adult.session-started .adult-pro-coach-note>p { grid-column:1/-1!important; }
  body.pathway-adult.session-started .adult-pro-side { grid-template-columns:1fr!important; }
}
@media (max-width:620px) {
  body.pathway-adult.session-started .adult-pro-dashboard-title small { display:none!important; }
  body.pathway-adult.session-started .adult-pro-dashboard-title strong { font-size:.82rem!important; }
  body.pathway-adult.session-started .adult-pro-icon-button { width:44px!important; }
  body.pathway-adult.session-started .adult-pro-profile { min-width:0!important; padding-right:10px!important; }
  body.pathway-adult.session-started .adult-pro-profile div { display:none!important; }
  body.pathway-adult.session-started .adult-pro-hero-copy { padding:25px 20px!important; }
  body.pathway-adult.session-started .adult-pro-hero h2 { font-size:2.35rem!important; }
  body.pathway-adult.session-started .adult-pro-next-heading { align-items:flex-start!important; }
  body.pathway-adult.session-started .adult-pro-next-progress { grid-template-columns:1fr!important; }
  body.pathway-adult.session-started .adult-pro-curriculum { padding:20px 16px!important; }
  body.pathway-adult.session-started .adult-pro-curriculum>header { display:grid!important; grid-template-columns:1fr auto!important; align-items:end!important; }
  body.pathway-adult.session-started .adult-pro-curriculum>header p { grid-column:1/-1!important; }
  body.pathway-adult.session-started .adult-pro-curriculum>footer span { display:none!important; }
  body.pathway-adult.session-started .adult-pro-coach-note { padding:18px!important; }
}

/* Parcours enfant 8-12 ans : cartes illustrées, lisibles et immersives. */
body.pathway-kids.session-started .kid-module-showcase-grid {
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:24px!important;
}
body.pathway-kids.session-started .kid-module-showcase-grid .module-card.pathway-kids.is-learner-card {
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:540px!important;
  padding:0 0 22px!important;
  gap:0!important;
  border:1px solid rgba(80,35,112,.13)!important;
  border-radius:26px!important;
  text-align:left!important;
  background:#fff!important;
  box-shadow:0 18px 48px rgba(53,18,81,.10)!important;
  overflow:hidden!important;
  transition:transform .22s ease,box-shadow .22s ease!important;
}
body.pathway-kids.session-started .kid-module-showcase-grid .module-card.pathway-kids.is-learner-card:hover {
  transform:translateY(-7px)!important;
  box-shadow:0 28px 64px rgba(53,18,81,.17)!important;
}
body.pathway-kids.session-started .kid-module-showcase-grid .module-card.pathway-kids.is-learner-card::before { display:none!important; }
body.pathway-kids.session-started .kid-module-showcase-grid .module-card.pathway-kids.is-learner-card::after {
  right:20px!important;
  bottom:19px!important;
  width:46px!important;
  height:46px!important;
  font-size:1.5rem!important;
}
body.pathway-kids.session-started .kid-module-showcase-grid .module-card.pathway-kids.is-learner-card .module-card-image {
  order:-2!important;
  width:100%!important;
  height:220px!important;
  min-height:220px!important;
  margin:0 0 22px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  object-fit:cover!important;
  object-position:center!important;
  filter:none!important;
  box-shadow:none!important;
}
body.pathway-kids.session-started .kid-module-showcase-grid .module-card.pathway-kids.is-learner-card>span:first-of-type {
  position:absolute!important;
  z-index:2!important;
  top:18px!important;
  left:18px!important;
  order:-1!important;
  margin:0!important;
  padding:7px 12px!important;
  color:#351245!important;
  border:1px solid rgba(255,255,255,.78)!important;
  border-radius:999px!important;
  background:#ffd84f!important;
  box-shadow:0 8px 20px rgba(51,20,70,.14)!important;
  font-size:.71rem!important;
  letter-spacing:.07em!important;
}
body.pathway-kids.session-started .kid-module-showcase-grid .module-card.pathway-kids.is-learner-card>strong,
body.pathway-kids.session-started .kid-module-showcase-grid .module-card.pathway-kids.is-learner-card>small,
body.pathway-kids.session-started .kid-module-showcase-grid .module-card.pathway-kids.is-learner-card>p,
body.pathway-kids.session-started .kid-module-showcase-grid .module-card.pathway-kids.is-learner-card>.module-card-goal,
body.pathway-kids.session-started .kid-module-showcase-grid .module-card.pathway-kids.is-learner-card>.kid-module-card-progress {
  width:auto!important;
  margin-left:22px!important;
  margin-right:22px!important;
}
body.pathway-kids.session-started .kid-module-showcase-grid .module-card.pathway-kids.is-learner-card>strong {
  color:#351245!important;
  font-size:1.36rem!important;
  line-height:1.15!important;
}
body.pathway-kids.session-started .kid-module-showcase-grid .module-card.pathway-kids.is-learner-card>small:first-of-type {
  margin-top:7px!important;
  color:#705778!important;
  font-size:.78rem!important;
  font-weight:850!important;
}
body.pathway-kids.session-started .kid-module-showcase-grid .module-card.pathway-kids.is-learner-card>p {
  max-width:none!important;
  margin-top:12px!important;
  color:#59425f!important;
  font-size:.9rem!important;
  line-height:1.5!important;
  font-weight:650!important;
}
body.pathway-kids.session-started .kid-module-showcase-grid .module-card-goal {
  margin-top:14px!important;
  padding:12px 14px!important;
  border-radius:14px!important;
  background:#f8f1fb!important;
}
body.pathway-kids.session-started .kid-module-showcase-grid .module-card-goal span { color:#7a2d99!important; }
body.pathway-kids.session-started .kid-module-showcase-grid .module-card-goal b { color:#351245!important; }
body.pathway-kids.session-started .kid-module-showcase-grid .kid-module-card-progress {
  margin-top:auto!important;
  padding-top:17px!important;
  padding-right:58px!important;
}
body.pathway-kids.session-started .kid-module-showcase-grid .kid-module-card-progress i { width:100%!important; }
body.pathway-kids.session-started .kid-module-showcase-grid .module-card-duration {
  margin-top:12px!important;
  padding-left:22px!important;
  color:#7a637f!important;
  font-size:.75rem!important;
  font-weight:800!important;
}
body.pathway-kids.session-started .kid-module-showcase-grid .kid-module-card-arrow,
body.pathway-kids.session-started .kid-module-showcase-grid .module-card.pathway-kids.is-learner-card>em { display:none!important; }

body.pathway-kids.session-started:not(.module-detail-open) .kid-ok-hero-art img {
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:0!important;
  opacity:.96!important;
}

@media (max-width:1180px) {
  body.pathway-kids.session-started .kid-module-showcase-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
@media (max-width:700px) {
  body.pathway-kids.session-started .kid-module-showcase-grid { grid-template-columns:1fr!important; }
  body.pathway-kids.session-started .kid-module-showcase-grid .module-card.pathway-kids.is-learner-card { min-height:520px!important; }
}

/* Les contenus enfant sont visibles directement sur le dashboard. */
body.pathway-kids.session-started:not(.module-detail-open) .kid-ok-layout {
  grid-template-areas:
    "hero side"
    "steps side"
    "modules modules"
    "tip tip"!important;
}
body.pathway-kids.session-started .kid-ok-curriculum {
  grid-area:modules;
  margin-top:8px;
  padding:30px;
  border:1px solid rgba(92,34,121,.12);
  border-radius:28px;
  background:linear-gradient(145deg,#fff 0%,#fdf9ff 62%,#fff9e9 100%);
  box-shadow:0 22px 58px rgba(53,18,81,.10);
}
body.pathway-kids.session-started .kid-ok-curriculum>header {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:24px;
}
body.pathway-kids.session-started .kid-ok-curriculum>header p {
  margin:0 0 6px;
  color:#8b2ca5;
  font-size:.75rem;
  font-weight:950;
  letter-spacing:.1em;
  text-transform:uppercase;
}
body.pathway-kids.session-started .kid-ok-curriculum>header h2 {
  margin:0;
  color:#351245;
  font-size:clamp(1.55rem,2.4vw,2.35rem);
  line-height:1.08;
}
body.pathway-kids.session-started .kid-ok-curriculum>header span {
  display:block;
  margin-top:8px;
  color:#6a536f;
  font-size:.92rem;
  font-weight:700;
}
body.pathway-kids.session-started .kid-ok-curriculum>header>button {
  min-height:46px;
  padding:0 18px;
  flex:0 0 auto;
  border:1px solid #6a2689;
  border-radius:14px;
  color:#5b1e77;
  background:#fff;
  font-weight:900;
  cursor:pointer;
}
body.pathway-kids.session-started .kid-ok-curriculum-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
body.pathway-kids.session-started .kid-ok-course-card {
  position:relative;
  display:flex;
  min-width:0;
  min-height:350px;
  flex-direction:column;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(92,34,121,.13);
  border-radius:22px;
  color:#351245;
  text-align:left;
  background:#fff;
  box-shadow:0 14px 34px rgba(53,18,81,.08);
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease;
}
body.pathway-kids.session-started .kid-ok-course-card:hover {
  transform:translateY(-5px);
  box-shadow:0 22px 46px rgba(53,18,81,.15);
}
body.pathway-kids.session-started .kid-ok-course-card>img {
  width:100%;
  height:168px;
  object-fit:cover;
}
body.pathway-kids.session-started .kid-ok-course-number {
  position:absolute;
  z-index:2;
  top:14px;
  left:14px;
  padding:6px 11px;
  border-radius:999px;
  color:#351245;
  background:#ffd84f;
  box-shadow:0 7px 18px rgba(53,18,81,.15);
  font-size:.7rem;
  font-weight:950;
  letter-spacing:.05em;
  text-transform:uppercase;
}
body.pathway-kids.session-started .kid-ok-course-copy {
  display:flex;
  min-height:182px;
  flex:1;
  flex-direction:column;
  padding:17px 18px 16px;
}
body.pathway-kids.session-started .kid-ok-course-copy>small {
  color:#8b2ca5;
  font-size:.7rem;
  font-weight:900;
  text-transform:uppercase;
}
body.pathway-kids.session-started .kid-ok-course-copy>strong {
  margin-top:5px;
  color:#351245;
  font-size:1.08rem;
  line-height:1.17;
}
body.pathway-kids.session-started .kid-ok-course-copy>em {
  display:-webkit-box;
  margin-top:8px;
  overflow:hidden;
  color:#705c75;
  font-size:.8rem;
  font-style:normal;
  font-weight:650;
  line-height:1.4;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
body.pathway-kids.session-started .kid-ok-course-copy>i {
  display:block;
  height:7px;
  margin-top:auto;
  overflow:hidden;
  border-radius:999px;
  background:#eee5f1;
}
body.pathway-kids.session-started .kid-ok-course-copy>i>b {
  display:block;
  width:var(--course-progress);
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#782694,#f3b927);
}
body.pathway-kids.session-started .kid-ok-course-copy>span:last-child {
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-top:9px;
  color:#7a657f;
  font-size:.72rem;
  font-weight:800;
}
body.pathway-kids.session-started .kid-ok-course-copy>span:last-child b { color:#6a2689; }

@media (max-width:1050px) {
  body.pathway-kids.session-started .kid-ok-curriculum-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
  body.pathway-kids.session-started:not(.module-detail-open) .kid-ok-layout {
    grid-template-areas:"hero" "side" "steps" "modules" "tip"!important;
  }
  body.pathway-kids.session-started .kid-ok-curriculum { padding:22px 16px; }
  body.pathway-kids.session-started .kid-ok-curriculum>header { align-items:flex-start; flex-direction:column; }
  body.pathway-kids.session-started .kid-ok-curriculum-grid { grid-template-columns:1fr; }
}

/* Cartes mentales pédagogiques des modules enfant. */
body.pathway-kids.session-started .kid-memory-map {
  margin-top:26px;
  padding:clamp(22px,3vw,34px);
  border:1px solid rgba(106,38,137,.15);
  border-radius:28px;
  background:
    radial-gradient(circle at 96% 5%,rgba(255,216,79,.24),transparent 24%),
    linear-gradient(145deg,#fff 0%,#fbf5ff 100%);
  box-shadow:0 18px 44px rgba(53,18,81,.09);
}
body.pathway-kids.session-started .kid-memory-map>header { max-width:860px; margin-bottom:22px; }
body.pathway-kids.session-started .kid-memory-map>header p {
  margin:0 0 6px;
  color:#8b2ca5;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.1em;
  text-transform:uppercase;
}
body.pathway-kids.session-started .kid-memory-map>header h4 {
  margin:0;
  color:#351245;
  font-size:clamp(1.55rem,2.4vw,2.3rem);
  line-height:1.1;
}
body.pathway-kids.session-started .kid-memory-map>header span {
  display:block;
  margin-top:9px;
  color:#68526e;
  font-size:1rem;
  font-weight:700;
  line-height:1.5;
}
body.pathway-kids.session-started .kid-memory-map-layout {
  display:grid;
  grid-template-columns:minmax(0,1.22fr) minmax(330px,.78fr);
  gap:24px;
  align-items:stretch;
}
body.pathway-kids.session-started .kid-memory-map figure {
  position:relative;
  min-width:0;
  margin:0;
  overflow:hidden;
  border:1px solid rgba(106,38,137,.13);
  border-radius:22px;
  background:#fffaf1;
}
body.pathway-kids.session-started .kid-memory-map figure img {
  display:block;
  width:100%;
  height:100%;
  min-height:390px;
  object-fit:cover;
}
body.pathway-kids.session-started .kid-memory-map figcaption {
  position:absolute;
  left:50%;
  bottom:16px;
  transform:translateX(-50%);
  width:max-content;
  max-width:calc(100% - 32px);
  padding:9px 16px;
  border:1px solid rgba(255,255,255,.82);
  border-radius:999px;
  color:#351245;
  background:rgba(255,216,79,.95);
  box-shadow:0 9px 22px rgba(53,18,81,.16);
  font-size:.9rem;
  font-weight:950;
  text-align:center;
}
body.pathway-kids.session-started .kid-memory-map ol {
  display:grid;
  gap:10px;
  margin:0;
  padding:0;
  list-style:none;
}
body.pathway-kids.session-started .kid-memory-map li {
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:12px;
  align-items:center;
  padding:13px 14px;
  border:1px solid #eadfed;
  border-radius:16px;
  background:#fff;
}
body.pathway-kids.session-started .kid-memory-map li>span {
  display:grid;
  width:42px;
  height:42px;
  place-items:center;
  border-radius:14px;
  color:#fff;
  background:linear-gradient(135deg,#6a2689,#a54fc5);
  font-size:1rem;
  font-weight:950;
}
body.pathway-kids.session-started .kid-memory-map li:nth-child(even)>span {
  color:#351245;
  background:linear-gradient(135deg,#ffd84f,#f4b92c);
}
body.pathway-kids.session-started .kid-memory-map li div { min-width:0; }
body.pathway-kids.session-started .kid-memory-map li strong {
  display:block;
  color:#351245;
  font-size:.98rem;
  line-height:1.15;
}
body.pathway-kids.session-started .kid-memory-map li small {
  display:block;
  margin-top:4px;
  color:#725d77;
  font-size:.78rem;
  font-weight:700;
  line-height:1.35;
}
body.pathway-kids.session-started .kid-memory-map-tip {
  margin:18px 0 0;
  padding:14px 16px;
  border-radius:15px;
  color:#493450;
  background:#fff5cf;
  font-size:.88rem;
  font-weight:700;
  line-height:1.45;
}
body.pathway-kids.session-started .kid-memory-map-tip strong { color:#6a2689; }

@media (max-width:900px) {
  body.pathway-kids.session-started .kid-memory-map-layout { grid-template-columns:1fr; }
  body.pathway-kids.session-started .kid-memory-map figure img { min-height:300px; }
}
@media (max-width:560px) {
  body.pathway-kids.session-started .kid-memory-map { padding:18px 14px; }
  body.pathway-kids.session-started .kid-memory-map figure img { min-height:230px; }
}

/* Espace educatif : lecture immediate et parcours sans repetitions. */
body:not(.session-started) #vitrinePlateforme .atelierplus-immersive-copy h1 {
  max-width:880px!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-immersive-copy>span {
  max-width:690px!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-host {
  margin-bottom:22px!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-simple-guide {
  position:relative!important;
  margin:0!important;
  padding:clamp(30px,4vw,54px)!important;
  overflow:hidden!important;
  border:1px solid #e7dce9!important;
  border-radius:28px!important;
  background:linear-gradient(145deg,#fff 0%,#fcf8fd 62%,#fff8df 100%)!important;
  box-shadow:0 20px 48px rgba(49,12,65,.08)!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-simple-guide::before {
  content:""!important;
  position:absolute!important;
  inset:0 0 auto!important;
  height:7px!important;
  background:#ffd34e!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-simple-guide .atelierplus-section-intro {
  max-width:850px!important;
  margin-bottom:28px!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-simple-guide .atelierplus-section-intro h2 {
  margin-top:7px!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-section-intro>p:last-child {
  max-width:720px!important;
  margin:12px 0 0!important;
  color:#634d6b!important;
  font-size:.96rem!important;
  line-height:1.55!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-simple-steps {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-simple-steps article {
  display:flex!important;
  align-items:flex-start!important;
  gap:14px!important;
  min-height:180px!important;
  padding:24px 22px!important;
  border:1px solid #e6d9e8!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 10px 26px rgba(49,12,65,.06)!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-simple-steps article>span {
  flex:0 0 42px!important;
  height:42px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:13px!important;
  color:#321044!important;
  background:#ffd34e!important;
  font-size:.76rem!important;
  font-weight:950!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-simple-steps h3 {
  margin:2px 0 9px!important;
  color:#321044!important;
  font-size:1.08rem!important;
  line-height:1.2!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-simple-steps p {
  margin:0!important;
  color:#68546e!important;
  font-size:.85rem!important;
  line-height:1.55!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-guide-actions {
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-top:24px!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-guide-actions a {
  min-height:48px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:11px 18px!important;
  border:1.5px solid #5f207d!important;
  border-radius:12px!important;
  color:#5f207d!important;
  background:#fff!important;
  font-weight:850!important;
  text-decoration:none!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-guide-actions a:first-child {
  color:#321044!important;
  border-color:#ffd34e!important;
  background:#ffd34e!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-path-mosaic {
  padding-top:44px!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-final-cta {
  margin-top:28px!important;
}

@media (max-width:900px) {
  body:not(.session-started) #vitrinePlateforme .atelierplus-simple-steps {
    grid-template-columns:1fr!important;
  }
  body:not(.session-started) #vitrinePlateforme .atelierplus-simple-steps article {
    min-height:0!important;
  }
}
@media (max-width:620px) {
  body:not(.session-started) #vitrinePlateforme .atelierplus-simple-guide {
    padding:34px 20px 24px!important;
    border-radius:22px!important;
  }
  body:not(.session-started) #vitrinePlateforme .atelierplus-simple-steps article {
    padding:19px 17px!important;
  }
  body:not(.session-started) #vitrinePlateforme .atelierplus-guide-actions a {
    width:100%!important;
  }
}

/* Espace enfant : accueil rassurant pour les parents. */
body:not(.session-started) #vitrinePlateforme .atelierplus-hero-video {
  display:none!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-hero-fallback {
  display:block!important;
  background-image:var(--atelierplus-hero-image, url("assets/tarifs-pack-famille.png"))!important;
  background-position:center 48%!important;
  background-size:cover!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-parent-reassurance {
  display:grid!important;
  grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr)!important;
  gap:34px!important;
  align-items:center!important;
  margin:0 0 22px!important;
  padding:38px clamp(28px,4vw,52px)!important;
  border-radius:28px!important;
  color:#fff!important;
  background:linear-gradient(135deg,#321044 0%,#652485 100%)!important;
  box-shadow:0 18px 44px rgba(49,12,65,.15)!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-parent-reassurance .atelierplus-eyebrow {
  margin:0 0 9px!important;
  color:#ffd34e!important;
  background:transparent!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-parent-reassurance h2 {
  margin:0!important;
  color:#fff!important;
  font-size:clamp(1.8rem,3vw,3rem)!important;
  line-height:1.04!important;
  letter-spacing:-.04em!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-parent-promises {
  display:grid!important;
  gap:11px!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-parent-promises article {
  display:grid!important;
  grid-template-columns:38px 1fr!important;
  gap:13px!important;
  align-items:start!important;
  padding:15px 17px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.09)!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-parent-promises article>span {
  width:36px!important;
  height:36px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:12px!important;
  color:#321044!important;
  background:#ffd34e!important;
  font-weight:950!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-parent-promises h3 {
  margin:0 0 4px!important;
  color:#fff!important;
  font-size:.98rem!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-parent-promises p {
  margin:0!important;
  color:rgba(255,255,255,.78)!important;
  font-size:.79rem!important;
  line-height:1.45!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-mosaic-grid {
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:290px!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-mosaic-item.is-large {
  grid-column:auto!important;
  grid-row:auto!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-final-cta h2 {
  max-width:920px!important;
}

@media (max-width:840px) {
  body:not(.session-started) #vitrinePlateforme .atelierplus-parent-reassurance {
    grid-template-columns:1fr!important;
  }
}
@media (max-width:620px) {
  body:not(.session-started) #vitrinePlateforme .atelierplus-parent-reassurance {
    padding:30px 20px!important;
    border-radius:22px!important;
  }
  body:not(.session-started) #vitrinePlateforme .atelierplus-mosaic-grid {
    grid-template-columns:1fr!important;
    grid-auto-rows:255px!important;
  }
}

/* Hero Espace educatif bord a bord, sans cadre blanc lateral. */
body:not(.session-started) #vitrinePlateforme .atelierplus-immersive-hero {
  position:relative!important;
  left:50%!important;
  width:100vw!important;
  max-width:100vw!important;
  margin-left:-50vw!important;
  margin-right:0!important;
}
body:not(.session-started):has(#vitrinePlateforme:target) .session-card.vitrine-home {
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  overflow:visible!important;
}
body:not(.session-started):has(#vitrinePlateforme:target) main {
  width:100vw!important;
  max-width:100vw!important;
  margin:0!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* Toutes les petites etiquettes jaunes restent contrastees, elles aussi. */
body:not(.session-started) #vitrinePlateforme .atelierplus-immersive-copy>p,
body:not(.session-started) #vitrinePlateforme .atelierplus-floating-text .atelierplus-eyebrow,
body:not(.session-started) #vitrinePlateforme .atelierplus-two-ways-grid>article>div>span,
body:not(.session-started) #vitrinePlateforme .atelierplus-final-cta>.atelierplus-eyebrow,
body:not(.session-started) #vitrineTarifs .pricing-kicker,
body:not(.session-started) #vitrineTarifs .pricing-section-kicker,
body:not(.session-started) #vitrineTarifs .pricing-offer-label {
  display:inline-flex!important;
  width:max-content!important;
  align-items:center!important;
  min-height:30px!important;
  padding:6px 13px!important;
  border:0!important;
  border-radius:999px!important;
  color:var(--rfc-ink)!important;
  background:var(--rfc-yellow)!important;
  box-shadow:none!important;
  text-shadow:none!important;
  font-size:.69rem!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-life-copy .atelierplus-eyebrow,
body:not(.session-started) #vitrinePlateforme .atelierplus-host .atelierplus-eyebrow,
body:not(.session-started) #vitrinePlateforme .atelierplus-section-intro .atelierplus-eyebrow {
  display:block!important;
  width:auto!important;
  min-height:0!important;
  padding:0!important;
  color:#692789!important;
  background:transparent!important;
  border-radius:0!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-life-platform .atelierplus-eyebrow {
  color:var(--rfc-ink)!important;
}
body:not(.session-started) #vitrineTarifs .pricing-price-badge,
body:not(.session-started) #vitrineTarifs .pricing-price-badge strong,
body:not(.session-started) #vitrineTarifs .pricing-price-badge span {
  color:var(--rfc-ink)!important;
}

/* Hero Espace educatif : contenu aligne dans la zone sombre a gauche. */
body:not(.session-started) #vitrinePlateforme .atelierplus-immersive-copy {
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-top:100px!important;
  padding-right:clamp(34px,5vw,78px)!important;
  padding-bottom:80px!important;
  padding-left:clamp(42px,6.2vw,104px)!important;
}
@media (max-width:720px) {
  body:not(.session-started) #vitrinePlateforme .atelierplus-immersive-copy {
    width:100%!important;
    padding:70px 20px!important;
  }
}

/* Finition premium 2026 — langage visuel unifié, sans emoji ni illustration générique. */
:root {
  --studio-purple:#5c2380;
  --studio-purple-dark:#321044;
  --studio-lavender:#f7f2fb;
  --studio-line:#e9e1ed;
  --studio-ink:#261c2a;
  --studio-muted:#6d6470;
  --studio-shadow:0 22px 60px rgba(50,16,68,.105);
}

body:not(.session-started) .vitrine-ref-header,
body:not(.session-started):not(:has(#connexionSession:target)) .vitrine-ref-header {
  min-height:78px!important; padding-block:11px!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 1px 0 rgba(50,16,68,.04),0 10px 35px rgba(50,16,68,.035)!important;
}
body:not(.session-started) .vitrine-ref-brand img { width:50px!important; height:50px!important; }
body:not(.session-started) .vitrine-ref-brand span { color:#756b79!important; font-size:.61rem!important; }
body:not(.session-started) .vitrine-ref-brand strong { font-size:1.08rem!important; letter-spacing:-.025em!important; }
body:not(.session-started) .vitrine-ref-nav { gap:2px!important; }
body:not(.session-started) .vitrine-ref-nav a { font-size:.8rem!important; letter-spacing:-.01em!important; }
body:not(.session-started) .vitrine-ref-nav a:last-child {
  min-height:44px!important; padding:11px 21px!important; border:0!important; border-radius:12px!important;
  color:#fff!important; background:linear-gradient(135deg,#64268a,#4f1b72)!important;
  box-shadow:0 9px 22px rgba(92,35,128,.18)!important;
}
body:not(.session-started) .vitrine-ref-nav a:last-child:hover,
body:not(.session-started) .vitrine-ref-nav a:last-child:focus-visible { color:#fff!important; background:#41145e!important; }
body:not(.session-started) .vitrine-ref-nav a:last-child::after { display:none!important; }

body:not(.session-started) #vitrineAccueil.vitrine-ref-hero {
  grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr)!important;
  gap:clamp(40px,5.2vw,76px)!important; width:min(1220px,calc(100% - 56px))!important;
  padding:clamp(56px,6vw,88px) 0 clamp(64px,7vw,94px)!important;
}
body:not(.session-started) #vitrineAccueil.vitrine-ref-hero::before {
  content:""!important; position:absolute!important; z-index:0!important; inset:5% 47% 7% -12vw!important;
  display:block!important; border-radius:0 80px 80px 0!important;
  background:radial-gradient(circle at 70% 40%,rgba(246,233,255,.9),rgba(255,255,255,0) 68%)!important;
  pointer-events:none!important;
}
body:not(.session-started) #vitrineAccueil .vitrine-ref-subtitle {
  margin-bottom:17px!important; color:#792da2!important; font-size:.73rem!important; letter-spacing:.11em!important;
}
body:not(.session-started) #vitrineAccueil .vitrine-ref-content h2 {
  max-width:11.5ch!important; font-size:clamp(3.2rem,5vw,4.85rem)!important;
  font-weight:800!important; line-height:.98!important; letter-spacing:-.06em!important;
}
body:not(.session-started) #vitrineAccueil .vitrine-ref-description {
  max-width:43ch!important; margin-top:25px!important; color:#5f5662!important;
  font-size:1.08rem!important; line-height:1.65!important;
}
body:not(.session-started) .vitrine-ref-home-actions { margin-top:31px!important; gap:11px!important; }
body:not(.session-started) #vitrineAccueil .vitrine-ref-btn {
  min-height:52px!important; padding:13px 21px!important; border-radius:11px!important;
  font-size:.84rem!important; box-shadow:0 10px 24px rgba(50,16,68,.08)!important;
}
body:not(.session-started) #vitrineAccueil .vitrine-ref-btn:first-child {
  box-shadow:0 11px 24px rgba(255,201,61,.28)!important;
}
body:not(.session-started) .vitrine-editorial-hero-figure { z-index:1!important; }
body:not(.session-started) .vitrine-editorial-hero-figure::before {
  content:""!important; position:absolute!important; z-index:-1!important; right:-16px!important; bottom:-16px!important;
  display:block!important; width:58%!important; height:64%!important; border-radius:22px!important;
  background:var(--studio-yellow)!important;
}
body:not(.session-started) .vitrine-editorial-hero-figure::after {
  content:"Petits groupes · Accompagnement personnalisé"!important;
  position:absolute!important; left:-24px!important; bottom:28px!important; display:block!important;
  max-width:215px!important; padding:13px 16px!important; border:1px solid rgba(50,16,68,.09)!important;
  border-radius:12px!important; color:var(--studio-purple-dark)!important; background:rgba(255,255,255,.96)!important;
  box-shadow:0 16px 34px rgba(50,16,68,.12)!important; font-size:.7rem!important; font-weight:780!important;
  letter-spacing:.01em!important; line-height:1.4!important;
}
body:not(.session-started) .vitrine-editorial-hero-photo {
  max-height:570px!important; aspect-ratio:1.06/1!important; border-radius:22px!important;
  object-position:center 42%!important; box-shadow:0 28px 70px rgba(50,16,68,.16)!important;
}

body:not(.session-started) .home-benefits {
  gap:10px 14px!important; max-width:570px!important; margin-top:33px!important;
}
body:not(.session-started) .home-benefits>span {
  min-height:42px!important; padding:5px 8px 5px 5px!important; border:1px solid rgba(92,35,128,.08)!important;
  border-radius:11px!important; background:rgba(255,255,255,.76)!important;
  color:#3d2944!important; font-size:.72rem!important; font-weight:720!important;
}
body:not(.session-started) .home-benefits i {
  width:31px!important; height:31px!important; border-radius:8px!important;
  color:var(--studio-purple)!important; background:#f2e9f8!important; font-size:0!important;
}
body:not(.session-started) .home-benefits i svg,
body:not(.session-started) .home-audience-icon svg,
body:not(.session-started) .home-audience-card>i svg,
body:not(.session-started) .home-question-icon svg,
body:not(.session-started) .planning-workshop-line svg,
body:not(.session-started) .planning-places svg {
  width:17px!important; height:17px!important; fill:none!important; stroke:currentColor!important;
  stroke-width:1.75!important; stroke-linecap:round!important; stroke-linejoin:round!important;
}

body:not(.session-started) .vitrine-ref-orientation {
  width:min(1220px,calc(100% - 56px))!important; padding:7px 0 76px!important;
}
body:not(.session-started) .vitrine-ref-orientation>h3 { margin-bottom:24px!important; font-size:clamp(1.75rem,2.6vw,2.45rem)!important; }
body:not(.session-started) .home-audience-grid { gap:17px!important; }
body:not(.session-started) .home-audience-card {
  position:relative!important; grid-template-columns:64px minmax(0,1fr) 36px!important;
  gap:16px!important; min-height:116px!important; padding:19px!important;
  border-color:#e8dfeb!important; border-radius:17px!important;
  box-shadow:0 12px 34px rgba(50,16,68,.055)!important; overflow:hidden!important;
}
body:not(.session-started) .home-audience-card::before {
  content:""!important; position:absolute!important; inset:0 auto 0 0!important; width:3px!important;
  background:transparent!important; transition:background 180ms ease!important;
}
body:not(.session-started) .home-audience-card:hover,
body:not(.session-started) .home-audience-card:focus-visible,
body:not(.session-started) .home-audience-card.active {
  border-color:#cda9dc!important; background:#fff!important; box-shadow:0 18px 42px rgba(50,16,68,.11)!important;
  transform:translateY(-3px)!important;
}
body:not(.session-started) .home-audience-card:hover::before,
body:not(.session-started) .home-audience-card:focus-visible::before,
body:not(.session-started) .home-audience-card.active::before { background:var(--studio-yellow)!important; }
body:not(.session-started) .home-audience-icon {
  width:64px!important; height:64px!important; border:1px solid #e4d5eb!important; border-radius:14px!important;
  color:var(--studio-purple)!important; background:linear-gradient(145deg,#fbf8fd,#f1e8f7)!important;
  font-size:0!important;
}
body:not(.session-started) .home-audience-icon svg { width:29px!important; height:29px!important; stroke-width:1.55!important; }
body:not(.session-started) .home-audience-card strong { font-size:1.04rem!important; letter-spacing:-.015em!important; }
body:not(.session-started) .home-audience-card small { margin-top:1px!important; color:#756d77!important; font-size:.76rem!important; }
body:not(.session-started) .home-audience-card>i { font-size:0!important; }
body:not(.session-started) .home-audience-card>i svg { width:16px!important; height:16px!important; }

body:not(.session-started) #vitrineAteliers.vitrine-ref-workshops {
  padding:68px 0 78px!important; background:linear-gradient(180deg,#faf7fc 0%,#fdfbfe 100%)!important;
}
body:not(.session-started) #vitrineAteliers .workshop-planning-home { width:min(1100px,calc(100% - 56px))!important; }
body:not(.session-started) #vitrineAteliers .planning-workshop-card.modern {
  grid-template-columns:90px 202px minmax(0,1fr) 194px!important; gap:19px!important;
  min-height:192px!important; margin-bottom:15px!important; padding:14px!important;
  border:1px solid #e7dfea!important; border-radius:18px!important; background:#fff!important;
  box-shadow:0 13px 38px rgba(50,16,68,.065)!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-card.modern:hover,
body:not(.session-started) #vitrineAteliers .planning-workshop-card.modern:focus-visible {
  border-color:#d1b9dc!important; box-shadow:0 20px 48px rgba(50,16,68,.105)!important; transform:translateY(-2px)!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-date {
  align-self:stretch!important; justify-content:center!important; border:1px solid #ecdfef!important;
  border-radius:13px!important; background:#f8f1fb!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-date b { font-size:2.25rem!important; line-height:1!important; letter-spacing:-.06em!important; }
body:not(.session-started) #vitrineAteliers .planning-workshop-photo { min-height:164px!important; border-radius:13px!important; overflow:hidden!important; }
body:not(.session-started) #vitrineAteliers .planning-workshop-photo img { transition:transform 380ms ease!important; }
body:not(.session-started) #vitrineAteliers .planning-workshop-card:hover .planning-workshop-photo img { transform:scale(1.035)!important; }
body:not(.session-started) #vitrineAteliers .planning-workshop-category { letter-spacing:.055em!important; }
body:not(.session-started) #vitrineAteliers .planning-workshop-body h3 { margin-bottom:6px!important; letter-spacing:-.03em!important; }
body:not(.session-started) #vitrineAteliers .planning-workshop-body>p:not(.planning-workshop-line):not(.planning-workshop-practical):not(.planning-workshop-category):not(.planning-workshop-capacity) { color:#716874!important; font-size:.78rem!important; line-height:1.45!important; }
body:not(.session-started) #vitrineAteliers .planning-workshop-line {
  display:flex!important; flex-wrap:wrap!important; gap:7px 12px!important; margin-top:10px!important;
}
body:not(.session-started) #vitrineAteliers .planning-meta-item {
  display:inline-flex!important; align-items:center!important; gap:5px!important; color:#56475c!important;
  font-size:.69rem!important; font-weight:680!important;
}
body:not(.session-started) #vitrineAteliers .planning-meta-item svg { width:14px!important; height:14px!important; color:#7a309b!important; }
body:not(.session-started) #vitrineAteliers .planning-workshop-practical { margin-top:9px!important; color:#746b76!important; font-size:.7rem!important; }
body:not(.session-started) #vitrineAteliers .planning-workshop-action { padding-left:19px!important; gap:11px!important; }
body:not(.session-started) #vitrineAteliers .planning-places { display:flex!important; align-items:center!important; gap:7px!important; }
body:not(.session-started) #vitrineAteliers .planning-places::before { content:none!important; }
body:not(.session-started) #vitrineAteliers .planning-places svg { flex:0 0 auto!important; width:16px!important; height:16px!important; color:#762b9b!important; }
body:not(.session-started) #vitrineAteliers .planning-price { font-size:1.24rem!important; letter-spacing:-.025em!important; }
body:not(.session-started) #vitrineAteliers .planning-workshop-action .reserve-workshop {
  min-height:48px!important; border:0!important; border-radius:10px!important;
  box-shadow:0 10px 20px rgba(255,201,61,.22)!important; transition:transform 160ms ease,box-shadow 160ms ease!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-action .reserve-workshop:hover { box-shadow:0 13px 26px rgba(255,193,38,.3)!important; }

body:not(.session-started) .home-bottom-grid { gap:17px!important; width:min(1180px,calc(100% - 56px))!important; margin:38px auto 82px!important; }
body:not(.session-started) .home-bottom-grid>article { min-height:282px!important; border-color:#e8e0ea!important; box-shadow:0 14px 38px rgba(50,16,68,.06)!important; }
body:not(.session-started) .home-bottom-grid .home-first-visit { background:linear-gradient(145deg,#f8f2fb,#f4eafa)!important; }
body:not(.session-started) .home-bottom-grid .home-first-visit-list span { border-radius:11px!important; box-shadow:0 6px 16px rgba(255,201,61,.2)!important; }
body:not(.session-started) .home-bottom-grid .home-welcome-person { grid-template-columns:43% minmax(0,1fr)!important; padding:13px!important; }
body:not(.session-started) .home-bottom-grid .home-welcome-person img { filter:saturate(.94) contrast(1.02)!important; }
body:not(.session-started) .home-question-card { background:linear-gradient(150deg,#fff,#fffbef)!important; }
body:not(.session-started) .home-question-icon { border:0!important; border-radius:12px!important; color:var(--studio-purple)!important; background:#f1e8f7!important; }
body:not(.session-started) .home-question-icon svg { width:22px!important; height:22px!important; }
body:not(.session-started) .home-bottom-grid .home-welcome-person a:hover,
body:not(.session-started) .home-question-card a:hover { border-color:#b989cc!important; background:#faf6fc!important; transform:translateY(-1px)!important; }

@media (max-width:1040px) {
  body:not(.session-started) #vitrineAccueil.vitrine-ref-hero { grid-template-columns:minmax(0,.92fr) minmax(400px,1.08fr)!important; }
  body:not(.session-started) #vitrineAteliers .planning-workshop-card.modern { grid-template-columns:84px 170px minmax(0,1fr) 180px!important; }
}
@media (max-width:940px) {
  body:not(.session-started) #vitrineAccueil.vitrine-ref-hero { grid-template-columns:1fr!important; width:min(100% - 34px,720px)!important; }
  body:not(.session-started) #vitrineAccueil .vitrine-ref-content.session-intro { max-width:650px!important; }
  body:not(.session-started) #vitrineAccueil .vitrine-ref-content h2 { max-width:12ch!important; }
  body:not(.session-started) .vitrine-editorial-hero-figure::after { left:18px!important; }
  body:not(.session-started) .vitrine-ref-orientation { width:min(100% - 34px,720px)!important; }
}
@media (max-width:760px) {
  body:not(.session-started) #vitrineAccueil.vitrine-ref-hero { padding-top:40px!important; }
  body:not(.session-started) #vitrineAccueil .vitrine-ref-content h2 { font-size:clamp(2.65rem,11vw,4rem)!important; }
  body:not(.session-started) .vitrine-editorial-hero-figure::before { right:-8px!important; bottom:-8px!important; }
  body:not(.session-started) .vitrine-editorial-hero-figure::after { left:12px!important; bottom:12px!important; max-width:190px!important; }
  body:not(.session-started) #vitrineAteliers .workshop-planning-home { width:calc(100% - 28px)!important; }
}
@media (max-width:520px) {
  body:not(.session-started) #vitrineAccueil.vitrine-ref-hero,
  body:not(.session-started) .vitrine-ref-orientation { width:calc(100% - 24px)!important; }
  body:not(.session-started) .home-benefits>span { min-height:40px!important; }
  body:not(.session-started) .home-audience-card { grid-template-columns:54px minmax(0,1fr) 32px!important; min-height:96px!important; }
  body:not(.session-started) .home-audience-icon { width:54px!important; height:54px!important; }
}

/* Maquette validée — violet, jaune et cartes très lisibles. */
:root { --studio-coral:#ffd34e; --studio-yellow:#ffd34e; --studio-yellow-strong:#ffc93d; }

body:not(.session-started) #vitrineAccueil .vitrine-ref-subtitle,
body:not(.session-started) .vitrine-ref-section-kicker,
body:not(.session-started) #vitrineAteliers .vitrine-ref-section-kicker {
  color:#762b9b!important;
}
body:not(.session-started) .vitrine-ref-nav a::after { background:var(--studio-yellow)!important; }

body:not(.session-started) .home-benefits {
  display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px 18px!important; max-width:540px!important; margin-top:28px!important;
}
body:not(.session-started) .home-benefits>span {
  display:flex!important; align-items:center!important; gap:8px!important;
  color:var(--studio-purple-dark)!important; font-size:.74rem!important;
  font-weight:720!important; line-height:1.25!important;
}
body:not(.session-started) .home-benefits i {
  display:grid!important; flex:0 0 auto!important; place-items:center!important;
  width:30px!important; height:30px!important; border-radius:10px!important;
  background:var(--studio-lavender)!important; font-size:1.05rem!important; font-style:normal!important;
}

body:not(.session-started) .vitrine-ref-orientation {
  width:min(1180px,calc(100% - 48px))!important; margin:0 auto!important;
  padding:10px 0 62px!important;
}
body:not(.session-started) .vitrine-ref-orientation>h3 {
  margin:0 0 20px!important; color:var(--studio-purple-dark)!important;
  font-family:var(--studio-font)!important; font-size:clamp(1.65rem,2.7vw,2.35rem)!important;
  font-weight:780!important; letter-spacing:-.035em!important;
}
body:not(.session-started) .home-audience-grid {
  display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:14px!important;
}
body:not(.session-started) .home-audience-card {
  display:grid!important; grid-template-columns:58px minmax(0,1fr) 34px!important;
  align-items:center!important; gap:14px!important; min-height:102px!important; padding:17px!important;
  border:1px solid var(--studio-line)!important; border-radius:16px!important;
  color:var(--studio-ink)!important; background:#fff!important;
  box-shadow:0 8px 24px rgba(66,28,77,.045)!important; text-decoration:none!important;
  transition:transform 180ms ease,border-color 180ms ease,box-shadow 180ms ease!important;
}
body:not(.session-started) .home-audience-card:hover,
body:not(.session-started) .home-audience-card:focus-visible,
body:not(.session-started) .home-audience-card.active {
  border-color:#c56bea!important; background:#fbf7fd!important;
  box-shadow:0 12px 28px rgba(91,40,104,.09)!important; transform:translateY(-2px)!important;
}
body:not(.session-started) .home-audience-icon {
  display:grid!important; place-items:center!important; width:58px!important; height:58px!important;
  border-radius:16px!important; background:linear-gradient(145deg,#fff3b5,#f1e5fa)!important;
  font-size:2rem!important;
}
body:not(.session-started) .home-audience-card>span:nth-child(2) {
  display:flex!important; min-width:0!important; flex-direction:column!important; gap:4px!important;
}
body:not(.session-started) .home-audience-card strong {
  color:var(--studio-purple)!important; font-size:1rem!important; font-weight:800!important;
}
body:not(.session-started) .home-audience-card small {
  color:var(--studio-muted)!important; font-size:.78rem!important; line-height:1.3!important;
}
body:not(.session-started) .home-audience-card>i {
  display:grid!important; place-items:center!important; width:34px!important; height:34px!important;
  border:1px solid #d9c9e1!important; border-radius:50%!important; color:var(--studio-purple)!important;
  background:#fff!important; font-size:1rem!important; font-style:normal!important;
}

body:not(.session-started) #vitrineAteliers.vitrine-ref-workshops {
  margin-top:0!important; padding:58px 0 68px!important; scroll-margin-top:74px!important;
  background:#fbf8fd!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-card.modern {
  grid-template-columns:88px 190px minmax(0,1fr) 190px!important;
  gap:18px!important; min-height:180px!important; padding:13px!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-date {
  background:#f6effa!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-photo {
  min-height:154px!important; height:100%!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-category {
  display:inline-flex!important; width:auto!important; margin:0 0 7px!important; padding:4px 9px!important;
  border-radius:8px!important; color:var(--studio-purple)!important;
  background:#fff0ad!important; font-size:.64rem!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-body {
  justify-content:center!important; padding:3px 0!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-body h3 {
  font-size:clamp(1.15rem,1.65vw,1.5rem)!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-capacity {
  display:none!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-practical {
  border-left-color:var(--studio-yellow)!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-line i {
  color:#8b45aa!important;
}
body:not(.session-started) #vitrineAteliers .workshop-detail-link {
  min-height:0!important; margin-top:8px!important; padding:2px 0!important;
  border:0!important; border-bottom:1px solid rgba(91,40,104,.25)!important;
  border-radius:0!important; color:var(--studio-purple)!important; background:transparent!important;
  font-size:.72rem!important; font-weight:750!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-action {
  display:flex!important; flex-direction:column!important; align-items:stretch!important;
  justify-content:center!important; gap:9px!important; min-width:0!important; padding:8px 0 8px 18px!important;
  border-left:1px solid var(--studio-line)!important;
}
body:not(.session-started) #vitrineAteliers .planning-places {
  color:var(--studio-muted)!important; font-size:.72rem!important; line-height:1.3!important;
}
body:not(.session-started) #vitrineAteliers .planning-places::before {
  content:none!important; display:none!important;
}
body:not(.session-started) #vitrineAteliers .planning-price {
  color:var(--studio-purple-dark)!important; font-size:1.15rem!important; font-weight:850!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-action .reserve-workshop {
  display:flex!important; align-items:center!important; justify-content:center!important; gap:8px!important;
  width:100%!important; min-height:44px!important; padding:10px 12px!important;
  border:1px solid var(--studio-yellow-strong)!important; border-radius:11px!important;
  color:var(--studio-purple-dark)!important;
  background:linear-gradient(135deg,var(--studio-yellow),var(--studio-yellow-strong))!important;
  box-shadow:none!important; font-size:.75rem!important; font-weight:850!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-action .reserve-workshop:hover {
  background:#ffc328!important; transform:translateY(-1px)!important;
}

body:not(.session-started) .home-bottom-grid {
  display:grid!important; grid-template-columns:1.02fr 1.26fr .72fr!important;
  gap:14px!important; width:min(1180px,calc(100% - 48px))!important;
  margin:28px auto 72px!important;
}
body:not(.session-started):has(#vitrineAteliers:target) .home-bottom-grid,
body:not(.session-started):has(#vitrinePlateforme:target) .home-bottom-grid,
body:not(.session-started):has(#vitrineTarifs:target) .home-bottom-grid,
body:not(.session-started):has(#vitrineApproche:target) .home-bottom-grid,
body:not(.session-started):has(#vitrineContactPage:target) .home-bottom-grid,
body:not(.session-started):has(#connexionSession:target) .home-bottom-grid { display:none!important; }
body:not(.session-started) .home-bottom-grid>article {
  min-width:0!important; min-height:270px!important; padding:24px!important;
  border:1px solid var(--studio-line)!important; border-radius:18px!important;
  background:#fff!important; box-shadow:0 10px 28px rgba(66,28,77,.045)!important;
}
body:not(.session-started) .home-bottom-grid h3 {
  margin:0!important; color:var(--studio-purple-dark)!important; font-family:var(--studio-font)!important;
  font-size:1.35rem!important; font-weight:800!important; line-height:1.15!important; letter-spacing:-.03em!important;
}
body:not(.session-started) .home-bottom-grid .home-first-visit {
  display:block!important; width:auto!important; margin:0!important; padding:24px!important;
  border:1px solid var(--studio-line)!important; background:#f8f1fc!important;
}
body:not(.session-started) .home-bottom-grid .home-first-visit-list {
  margin-top:16px!important; border:0!important;
}
body:not(.session-started) .home-bottom-grid .home-first-visit-list p {
  grid-template-columns:40px 1fr!important; align-items:center!important; gap:12px!important;
  padding:8px 0!important; border:0!important; font-size:.8rem!important;
}
body:not(.session-started) .home-bottom-grid .home-first-visit-list span {
  display:grid!important; place-items:center!important; width:38px!important; height:38px!important;
  border-radius:50%!important; color:var(--studio-purple-dark)!important;
  background:var(--studio-yellow)!important; font-weight:850!important;
}
body:not(.session-started) .home-bottom-grid .home-welcome-person {
  display:grid!important; grid-template-columns:42% minmax(0,1fr)!important; gap:18px!important;
  align-items:center!important; width:auto!important; margin:0!important; padding:14px!important;
}
body:not(.session-started) .home-bottom-grid .home-welcome-person figure {
  width:100%!important; height:100%!important; min-height:236px!important; margin:0!important;
}
body:not(.session-started) .home-bottom-grid .home-welcome-person img {
  width:100%!important; height:100%!important; max-height:none!important; object-fit:cover!important;
  object-position:center 25%!important; border-radius:14px!important; box-shadow:none!important;
}
body:not(.session-started) .home-bottom-grid .home-welcome-person>div>p:first-child {
  margin:0 0 6px!important; color:var(--studio-purple)!important; font-size:.72rem!important; font-weight:760!important;
}
body:not(.session-started) .home-bottom-grid .home-welcome-person>div>p:last-of-type {
  margin:10px 0 0!important; color:var(--studio-muted)!important; font-size:.78rem!important; line-height:1.5!important;
}
body:not(.session-started) .home-bottom-grid .home-welcome-person a,
body:not(.session-started) .home-question-card a {
  display:flex!important; align-items:center!important; justify-content:center!important; gap:7px!important;
  min-height:42px!important; margin-top:15px!important; padding:9px 12px!important;
  border:1px solid rgba(91,40,104,.2)!important; border-radius:11px!important;
  color:var(--studio-purple)!important; background:#fff!important;
  font-size:.72rem!important; font-weight:800!important; text-decoration:none!important;
}
body:not(.session-started) .home-question-card {
  display:flex!important; flex-direction:column!important; justify-content:center!important;
  background:#fffaf0!important;
}
body:not(.session-started) .home-question-icon {
  display:grid!important; place-items:center!important; width:44px!important; height:44px!important;
  margin-bottom:16px!important; border:2px solid var(--studio-purple)!important;
  border-radius:50%!important; color:var(--studio-purple)!important; font-size:1.5rem!important;
}
body:not(.session-started) .home-question-card p {
  margin:10px 0 0!important; color:var(--studio-muted)!important; font-size:.84rem!important; line-height:1.5!important;
}

@media (max-width:940px) {
  body:not(.session-started) .vitrine-ref-orientation,
  body:not(.session-started) .home-bottom-grid { width:min(100% - 34px,720px)!important; }
  body:not(.session-started) .home-audience-grid { grid-template-columns:1fr!important; }
  body:not(.session-started) #vitrineAteliers .planning-workshop-card.modern {
    grid-template-columns:82px 170px minmax(0,1fr)!important;
  }
  body:not(.session-started) #vitrineAteliers .planning-workshop-action {
    grid-column:2/4!important; display:grid!important; grid-template-columns:1fr auto 190px!important;
    align-items:center!important; padding:12px 0 0!important; border-left:0!important; border-top:1px solid var(--studio-line)!important;
  }
  body:not(.session-started) .home-bottom-grid { grid-template-columns:1fr 1fr!important; }
  body:not(.session-started) .home-question-card { grid-column:1/-1!important; min-height:200px!important; }
}
@media (max-width:760px) {
  body:not(.session-started) .home-benefits { grid-template-columns:1fr 1fr!important; }
  body:not(.session-started) #vitrineAteliers .planning-workshop-card.modern {
    grid-template-columns:72px minmax(0,1fr)!important;
  }
  body:not(.session-started) #vitrineAteliers .planning-workshop-action {
    grid-column:1/-1!important; grid-template-columns:1fr auto!important;
  }
  body:not(.session-started) #vitrineAteliers .planning-workshop-action .reserve-workshop {
    grid-column:1/-1!important;
  }
  body:not(.session-started) .home-bottom-grid { grid-template-columns:1fr!important; }
  body:not(.session-started) .home-question-card { grid-column:auto!important; }
}
@media (max-width:520px) {
  body:not(.session-started) .vitrine-ref-orientation,
  body:not(.session-started) .home-bottom-grid { width:calc(100% - 24px)!important; }
  body:not(.session-started) .home-benefits { grid-template-columns:1fr!important; gap:9px!important; }
  body:not(.session-started) .home-audience-card { grid-template-columns:50px minmax(0,1fr) 34px!important; min-height:88px!important; padding:13px!important; }
  body:not(.session-started) .home-audience-icon { width:50px!important; height:50px!important; font-size:1.7rem!important; }
  body:not(.session-started) #vitrineAteliers .planning-workshop-action { grid-template-columns:1fr!important; }
  body:not(.session-started) #vitrineAteliers .planning-workshop-action .reserve-workshop { grid-column:auto!important; }
  body:not(.session-started) .home-bottom-grid .home-welcome-person { grid-template-columns:1fr!important; }
  body:not(.session-started) .home-bottom-grid .home-welcome-person figure { min-height:260px!important; }
}

/* Couche finale : priorité aux finitions premium sur les anciens réglages de maquette. */
body:not(.session-started) .home-audience-card {
  position:relative!important; grid-template-columns:64px minmax(0,1fr) 36px!important;
  gap:16px!important; min-height:116px!important; padding:19px!important;
  border-color:#e8dfeb!important; border-radius:17px!important;
  box-shadow:0 12px 34px rgba(50,16,68,.055)!important; overflow:hidden!important;
}
body:not(.session-started) .home-audience-card::before {
  content:""!important; position:absolute!important; inset:0 auto 0 0!important; width:3px!important;
  background:transparent!important; transition:background 180ms ease!important;
}
body:not(.session-started) .home-audience-card:hover,
body:not(.session-started) .home-audience-card:focus-visible,
body:not(.session-started) .home-audience-card.active {
  border-color:#cda9dc!important; background:#fff!important;
  box-shadow:0 18px 42px rgba(50,16,68,.11)!important; transform:translateY(-3px)!important;
}
body:not(.session-started) .home-audience-card:hover::before,
body:not(.session-started) .home-audience-card:focus-visible::before,
body:not(.session-started) .home-audience-card.active::before { background:var(--studio-yellow)!important; }
body:not(.session-started) .home-audience-icon {
  width:64px!important; height:64px!important; border:1px solid #e4d5eb!important; border-radius:14px!important;
  color:var(--studio-purple)!important; background:linear-gradient(145deg,#fbf8fd,#f1e8f7)!important; font-size:0!important;
}
body:not(.session-started) .home-audience-icon svg { width:29px!important; height:29px!important; stroke-width:1.55!important; }
body:not(.session-started) .home-audience-card>i { font-size:0!important; }

body:not(.session-started) #vitrineAteliers .planning-workshop-card.modern {
  grid-template-columns:90px 202px minmax(0,1fr) 194px!important; gap:19px!important;
  min-height:192px!important; margin-bottom:15px!important; padding:14px!important;
  border:1px solid #e7dfea!important; border-radius:18px!important; background:#fff!important;
  box-shadow:0 13px 38px rgba(50,16,68,.065)!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-card.modern:hover,
body:not(.session-started) #vitrineAteliers .planning-workshop-card.modern:focus-visible {
  border-color:#d1b9dc!important; box-shadow:0 20px 48px rgba(50,16,68,.105)!important; transform:translateY(-2px)!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-photo { min-height:164px!important; border-radius:13px!important; overflow:hidden!important; }
body:not(.session-started) #vitrineAteliers .planning-workshop-line { display:flex!important; flex-wrap:wrap!important; gap:7px 12px!important; margin-top:10px!important; }
body:not(.session-started) #vitrineAteliers .planning-meta-item { display:inline-flex!important; align-items:center!important; gap:5px!important; color:#56475c!important; font-size:.69rem!important; font-weight:680!important; }
body:not(.session-started) #vitrineAteliers .planning-meta-item svg { width:14px!important; height:14px!important; color:#7a309b!important; }
body:not(.session-started) #vitrineAteliers .planning-workshop-action { gap:11px!important; padding-left:19px!important; }
body:not(.session-started) #vitrineAteliers .planning-places { display:flex!important; align-items:center!important; gap:7px!important; }
body:not(.session-started) #vitrineAteliers .planning-places::before { content:none!important; display:none!important; }
body:not(.session-started) #vitrineAteliers .planning-places svg { flex:0 0 auto!important; width:16px!important; height:16px!important; color:#762b9b!important; }
body:not(.session-started) #vitrineAteliers .planning-workshop-action .reserve-workshop {
  min-height:48px!important; border:0!important; border-radius:10px!important;
  box-shadow:0 10px 20px rgba(255,201,61,.22)!important;
}

body:not(.session-started) .home-bottom-grid { gap:17px!important; width:min(1180px,calc(100% - 56px))!important; margin:38px auto 82px!important; }
body:not(.session-started) .home-bottom-grid>article { min-height:282px!important; border-color:#e8e0ea!important; box-shadow:0 14px 38px rgba(50,16,68,.06)!important; }
body:not(.session-started) .home-bottom-grid .home-first-visit { background:linear-gradient(145deg,#f8f2fb,#f4eafa)!important; }
body:not(.session-started) .home-bottom-grid .home-first-visit-list span { border-radius:11px!important; box-shadow:0 6px 16px rgba(255,201,61,.2)!important; }
body:not(.session-started) .home-question-card { background:linear-gradient(150deg,#fff,#fffbef)!important; }
body:not(.session-started) .home-question-icon { border:0!important; border-radius:12px!important; color:var(--studio-purple)!important; background:#f1e8f7!important; font-size:0!important; }

@media (max-width:1040px) {
  body:not(.session-started) #vitrineAteliers .planning-workshop-card.modern { grid-template-columns:84px 170px minmax(0,1fr) 180px!important; }
}
@media (max-width:940px) {
  body:not(.session-started) .home-audience-grid { grid-template-columns:1fr!important; }
  body:not(.session-started) #vitrineAteliers .planning-workshop-card.modern { grid-template-columns:82px 170px minmax(0,1fr)!important; }
  body:not(.session-started) #vitrineAteliers .planning-workshop-action { grid-column:2/4!important; display:grid!important; grid-template-columns:1fr auto 190px!important; padding:12px 0 0!important; border-left:0!important; border-top:1px solid var(--studio-line)!important; }
}
@media (max-width:760px) {
  body:not(.session-started) #vitrineAteliers .planning-workshop-card.modern { grid-template-columns:72px minmax(0,1fr)!important; }
  body:not(.session-started) #vitrineAteliers .planning-workshop-photo { grid-column:1/-1!important; min-height:220px!important; }
  body:not(.session-started) #vitrineAteliers .planning-workshop-body { grid-column:1/-1!important; }
  body:not(.session-started) #vitrineAteliers .planning-workshop-action { grid-column:1/-1!important; grid-template-columns:1fr auto!important; }
}
@media (max-width:520px) {
  body:not(.session-started) .home-audience-card { grid-template-columns:54px minmax(0,1fr) 32px!important; min-height:96px!important; padding:14px!important; }
  body:not(.session-started) .home-audience-icon { width:54px!important; height:54px!important; }
  body:not(.session-started) #vitrineAteliers .planning-workshop-action { grid-template-columns:1fr!important; }
}

/* Version chaleureuse et compacte : moins de vide, davantage de présence humaine. */
body:not(.session-started) #vitrineAccueil.vitrine-ref-hero {
  gap:clamp(30px,4vw,58px)!important;
  padding:clamp(34px,4vw,54px) 0 clamp(38px,4.8vw,62px)!important;
}
body:not(.session-started) #vitrineAccueil.vitrine-ref-hero::before {
  inset:2% 48% 2% -12vw!important;
  background:radial-gradient(circle at 72% 42%,rgba(242,224,250,.9),rgba(255,251,245,.35) 62%,rgba(255,255,255,0) 78%)!important;
}
body:not(.session-started) #vitrineAccueil .vitrine-ref-subtitle { margin-bottom:11px!important; }
body:not(.session-started) #vitrineAccueil .vitrine-ref-content h2 {
  font-size:clamp(2.85rem,4.45vw,4.35rem)!important; line-height:.99!important;
}
body:not(.session-started) #vitrineAccueil .vitrine-ref-description {
  margin-top:16px!important; font-size:1.02rem!important; line-height:1.52!important;
}
body:not(.session-started) .vitrine-ref-home-actions { margin-top:20px!important; }
body:not(.session-started) .home-benefits {
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px 10px!important; margin-top:18px!important;
}
body:not(.session-started) .home-benefits>span {
  min-height:37px!important; padding:3px 7px 3px 4px!important;
  background:rgba(255,255,255,.86)!important; box-shadow:0 5px 14px rgba(50,16,68,.035)!important;
}
body:not(.session-started) .home-benefits i { width:28px!important; height:28px!important; }

body:not(.session-started) .vitrine-editorial-hero-photo {
  max-height:505px!important; aspect-ratio:1.12/1!important;
}
body:not(.session-started) .vitrine-editorial-hero-figure::after { content:none!important; display:none!important; }
body:not(.session-started) .vitrine-editorial-hero-figure .home-hero-human-note {
  position:absolute!important; right:auto!important; left:-22px!important; bottom:22px!important;
  display:grid!important; grid-template-columns:46px minmax(0,1fr)!important; align-items:center!important;
  gap:10px!important; max-width:255px!important; padding:8px 13px 8px 8px!important;
  border:1px solid rgba(50,16,68,.09)!important; border-radius:14px!important;
  color:var(--studio-ink)!important; background:rgba(255,255,255,.96)!important;
  box-shadow:0 15px 32px rgba(50,16,68,.14)!important;
}
body:not(.session-started) .vitrine-editorial-hero-figure .home-hero-human-note img {
  display:block!important; width:46px!important; height:46px!important; border-radius:11px!important;
  object-fit:cover!important; object-position:center 18%!important;
}
body:not(.session-started) .vitrine-editorial-hero-figure .home-hero-human-note span {
  display:flex!important; flex-direction:column!important; gap:2px!important; min-width:0!important;
}
body:not(.session-started) .vitrine-editorial-hero-figure .home-hero-human-note strong {
  color:var(--studio-purple-dark)!important; font-size:.73rem!important; font-weight:800!important; line-height:1.25!important;
}
body:not(.session-started) .vitrine-editorial-hero-figure .home-hero-human-note small {
  color:var(--studio-muted)!important; font-size:.64rem!important; line-height:1.3!important;
}

body:not(.session-started) .vitrine-ref-orientation { padding:2px 0 42px!important; }
body:not(.session-started) .vitrine-ref-orientation>h3 { margin-bottom:14px!important; }
body:not(.session-started) .home-audience-grid { gap:12px!important; }
body:not(.session-started) .home-audience-card {
  grid-template-columns:78px minmax(0,1fr) 34px!important; gap:13px!important;
  min-height:96px!important; padding:10px 14px 10px 10px!important;
}
body:not(.session-started) .home-audience-icon {
  width:78px!important; height:74px!important; border:0!important; border-radius:12px!important;
  color:#fff!important; background-position:center!important; background-size:cover!important;
  box-shadow:inset 0 0 0 999px rgba(50,16,68,.14)!important;
}
body:not(.session-started) .home-audience-card:nth-child(1) .home-audience-icon,
body:not(.session-started) .home-audience-card:nth-child(3) .home-audience-icon { background-image:url("assets/tarifs-pack-famille.png")!important; }
body:not(.session-started) .home-audience-card:nth-child(2) .home-audience-icon { background-image:url("assets/tarifs-atelier-groupe.png")!important; }
body:not(.session-started) .home-audience-icon svg {
  width:25px!important; height:25px!important; padding:4px!important; border-radius:8px!important;
  background:rgba(55,18,73,.58)!important; backdrop-filter:blur(4px)!important;
}

body:not(.session-started) #vitrineAteliers.vitrine-ref-workshops {
  padding:44px 0 54px!important; background:linear-gradient(180deg,#fbf7fd 0%,#fffdfc 100%)!important;
}
body:not(.session-started) #vitrineAteliers .vitrine-ref-workshops-head { margin-bottom:18px!important; }
body:not(.session-started) #vitrineAteliers .vitrine-ref-section-kicker { margin-bottom:7px!important; }
body:not(.session-started) #vitrineAteliers .vitrine-ref-workshops-head h3 { margin-bottom:6px!important; }
body:not(.session-started) #vitrineAteliers .planning-filters { margin:0 0 20px!important; padding-bottom:11px!important; }
body:not(.session-started) #vitrineAteliers .planning-workshop-card.modern {
  min-height:174px!important; margin-bottom:11px!important; padding:11px!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-photo { min-height:150px!important; }
body:not(.session-started) #vitrineAteliers .planning-workshop-body h3 { margin-bottom:3px!important; }
body:not(.session-started) #vitrineAteliers .planning-workshop-line { margin-top:7px!important; }
body:not(.session-started) #vitrineAteliers .planning-workshop-practical { margin-top:6px!important; }
body:not(.session-started) #vitrineAteliers .workshop-detail-link { margin-top:4px!important; }

body:not(.session-started) .home-bottom-grid { margin:20px auto 52px!important; gap:12px!important; }
body:not(.session-started) .home-bottom-grid>article { min-height:240px!important; }
body:not(.session-started) .home-bottom-grid .home-first-visit { padding:20px!important; }
body:not(.session-started) .home-bottom-grid .home-first-visit-list { margin-top:10px!important; }
body:not(.session-started) .home-bottom-grid .home-first-visit-list p { padding:5px 0!important; }
body:not(.session-started) .home-bottom-grid .home-welcome-person figure { min-height:210px!important; }
body:not(.session-started) .home-bottom-grid .home-welcome-person a,
body:not(.session-started) .home-question-card a { margin-top:10px!important; }

@media (max-width:940px) {
  body:not(.session-started) #vitrineAccueil.vitrine-ref-hero { padding-top:30px!important; }
  body:not(.session-started) .vitrine-editorial-hero-figure .home-hero-human-note { left:16px!important; }
}
@media (max-width:520px) {
  body:not(.session-started) #vitrineAccueil.vitrine-ref-hero { gap:22px!important; padding:26px 0 34px!important; }
  body:not(.session-started) .home-benefits { margin-top:14px!important; }
  body:not(.session-started) .home-audience-card { grid-template-columns:66px minmax(0,1fr) 30px!important; min-height:88px!important; }
  body:not(.session-started) .home-audience-icon { width:66px!important; height:66px!important; }
  body:not(.session-started) #vitrineAteliers.vitrine-ref-workshops { padding:34px 0 42px!important; }
}

/* Calendrier dense : les informations secondaires restent accessibles dans le détail. */
body:not(.session-started) #vitrineAteliers .vitrine-ref-workshops-head {
  align-items:end!important; margin-bottom:5px!important;
}
body:not(.session-started) #vitrineAteliers .vitrine-ref-workshops-head h3 {
  font-size:clamp(1.9rem,3vw,2.75rem)!important; line-height:1.02!important;
}
body:not(.session-started) #vitrineAteliers .vitrine-ref-workshops-head p:last-child {
  margin-top:7px!important; line-height:1.4!important;
}
body:not(.session-started) #vitrineAteliers .planning-filters {
  min-height:0!important; height:auto!important; margin:0 0 12px!important; padding:4px 0 8px!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-card.modern {
  min-height:158px!important; gap:15px!important; padding:10px!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-photo {
  min-height:138px!important; max-height:158px!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-body {
  gap:2px!important; justify-content:center!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-body>p:not(.planning-workshop-line):not(.planning-workshop-category):not(.planning-workshop-capacity):not(.planning-workshop-practical) {
  display:-webkit-box!important; overflow:hidden!important; -webkit-box-orient:vertical!important; -webkit-line-clamp:2!important;
  margin:2px 0!important; line-height:1.35!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-practical,
body:not(.session-started) #vitrineAteliers .workshop-detail-link {
  position:absolute!important; width:1px!important; height:1px!important; margin:-1px!important;
  padding:0!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; white-space:nowrap!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-action {
  gap:7px!important; padding-left:15px!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-action .reserve-workshop {
  min-height:44px!important;
}

body:not(.session-started) .vitrine-ref-orientation { padding-bottom:22px!important; }
body:not(.session-started) #vitrineAteliers.vitrine-ref-workshops {
  padding-top:30px!important;
  background:linear-gradient(180deg,#fffaf3 0%,#faf5fc 52%,#fffdfc 100%)!important;
}
body:not(.session-started) #vitrineAteliers #workshopPlanningIntro {
  max-width:72ch!important; margin-top:5px!important; line-height:1.35!important;
}

/* Hero panoramique : une seule image pleine largeur, sans découpage blanc/violet. */
body:not(.session-started) #vitrineAccueil.vitrine-ref-hero {
  position:relative!important; display:block!important;
  width:100%!important; max-width:none!important; min-height:570px!important;
  margin:0!important; padding:64px max(24px,calc((100vw - 1180px)/2)) 58px!important;
  overflow:hidden!important; isolation:isolate!important;
  background:#321044!important;
}
body:not(.session-started) #vitrineAccueil.vitrine-ref-hero::before {
  content:""!important; position:absolute!important; z-index:1!important; inset:0!important;
  display:block!important; border-radius:0!important;
  background:linear-gradient(90deg,rgba(31,8,43,.88) 0%,rgba(40,12,54,.72) 37%,rgba(42,15,55,.22) 66%,rgba(24,8,31,.08) 100%)!important;
  pointer-events:none!important;
}
body:not(.session-started) #vitrineAccueil .vitrine-ref-content.session-intro {
  position:relative!important; z-index:3!important; max-width:570px!important;
}
body:not(.session-started) #vitrineAccueil .vitrine-ref-subtitle {
  color:#ffe06d!important;
}
body:not(.session-started) #vitrineAccueil .vitrine-ref-content h2 {
  max-width:11ch!important; color:#fff!important; text-shadow:0 2px 18px rgba(18,4,24,.2)!important;
}
body:not(.session-started) #vitrineAccueil .vitrine-ref-description {
  color:rgba(255,255,255,.9)!important;
}
body:not(.session-started) #vitrineAccueil .vitrine-ref-btn-secondary {
  border-color:rgba(255,255,255,.64)!important; color:#fff!important;
  background:rgba(255,255,255,.1)!important; backdrop-filter:blur(8px)!important;
}
body:not(.session-started) #vitrineAccueil .vitrine-ref-btn-secondary:hover {
  border-color:#fff!important; color:#fff!important; background:rgba(255,255,255,.18)!important;
}
body:not(.session-started) #vitrineAccueil .home-benefits>span {
  border-color:rgba(255,255,255,.22)!important; color:#fff!important;
  background:rgba(32,9,43,.32)!important; box-shadow:none!important; backdrop-filter:blur(8px)!important;
}
body:not(.session-started) #vitrineAccueil .home-benefits i {
  color:#fff!important; background:rgba(255,255,255,.14)!important;
}

/* Points forts du hero : un seul bandeau, sans effet de quatre boutons. */
body:not(.session-started) #vitrineAccueil .home-benefits {
  display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0!important; max-width:560px!important; margin-top:18px!important; padding:8px 10px!important;
  border:1px solid rgba(255,255,255,.22)!important; border-radius:16px!important;
  background:rgba(27,7,37,.3)!important; box-shadow:0 14px 34px rgba(15,3,20,.12)!important;
  backdrop-filter:blur(12px)!important;
}
body:not(.session-started) #vitrineAccueil .home-benefits>span {
  min-height:42px!important; padding:6px 12px!important; border:0!important; border-radius:0!important;
  color:rgba(255,255,255,.94)!important; background:transparent!important; box-shadow:none!important;
  font-size:.69rem!important; font-weight:700!important; letter-spacing:.005em!important;
}
body:not(.session-started) #vitrineAccueil .home-benefits>span:nth-child(odd) {
  border-right:1px solid rgba(255,255,255,.16)!important;
}
body:not(.session-started) #vitrineAccueil .home-benefits>span:nth-child(-n+2) {
  border-bottom:1px solid rgba(255,255,255,.16)!important;
}
body:not(.session-started) #vitrineAccueil .home-benefits i {
  width:30px!important; height:30px!important; border-radius:50%!important;
  color:#ffe271!important; background:rgba(255,216,78,.11)!important;
}
body:not(.session-started) #vitrineAccueil .home-benefits i svg {
  width:15px!important; height:15px!important; stroke-width:1.8!important;
}
body:not(.session-started) #vitrineAccueil .vitrine-editorial-hero-figure {
  position:absolute!important; z-index:0!important; inset:0!important; width:100%!important; height:100%!important; margin:0!important;
}
body:not(.session-started) #vitrineAccueil .vitrine-editorial-hero-figure::before {
  content:none!important; display:none!important;
}
body:not(.session-started) #vitrineAccueil .vitrine-editorial-hero-photo {
  width:100%!important; height:100%!important; max-height:none!important; aspect-ratio:auto!important;
  object-fit:cover!important; object-position:center 42%!important; border-radius:0!important;
  box-shadow:none!important; filter:saturate(.98) contrast(1.02)!important;
}
body:not(.session-started) #vitrineAccueil .vitrine-editorial-hero-figure .home-hero-human-note {
  z-index:4!important; right:max(190px,calc((100vw - 900px)/2))!important; left:auto!important; bottom:24px!important;
}

@media (max-width:940px) {
  body:not(.session-started) #vitrineAccueil.vitrine-ref-hero {
    width:100%!important; min-height:610px!important; padding:50px 28px 56px!important;
  }
  body:not(.session-started) #vitrineAccueil.vitrine-ref-hero::before {
    background:linear-gradient(90deg,rgba(31,8,43,.9) 0%,rgba(40,12,54,.7) 56%,rgba(30,9,40,.2) 100%)!important;
  }
  body:not(.session-started) #vitrineAccueil .vitrine-editorial-hero-figure .home-hero-human-note {
    right:170px!important; left:auto!important;
  }
}
@media (max-width:620px) {
  body:not(.session-started) #vitrineAccueil.vitrine-ref-hero {
    min-height:650px!important; padding:38px 18px 42px!important;
  }
  body:not(.session-started) #vitrineAccueil.vitrine-ref-hero::before {
    background:linear-gradient(180deg,rgba(31,8,43,.84) 0%,rgba(36,10,48,.72) 58%,rgba(31,8,43,.46) 100%)!important;
  }
  body:not(.session-started) #vitrineAccueil .vitrine-ref-content h2 { max-width:10ch!important; }
  body:not(.session-started) #vitrineAccueil .vitrine-editorial-hero-photo { object-position:58% center!important; }
  body:not(.session-started) #vitrineAccueil .vitrine-editorial-hero-figure .home-hero-human-note {
    right:16px!important; bottom:76px!important;
  }
  body:not(.session-started) #vitrineAccueil .home-benefits {
    grid-template-columns:1fr!important; padding:7px 10px!important;
  }
  body:not(.session-started) #vitrineAccueil .home-benefits>span {
    min-height:38px!important; padding:5px 8px!important;
    border-right:0!important; border-bottom:1px solid rgba(255,255,255,.14)!important;
  }
  body:not(.session-started) #vitrineAccueil .home-benefits>span:last-child { border-bottom:0!important; }
}

/* ================================================================
   PAGES INTERIEURES — DIRECTION STUDIO RFC06
   Espace educatif, tarifs et contact
   ================================================================ */

/* Espace educatif : une entree immersive, puis un recit en images */
body:not(.session-started) #vitrinePlateforme.atelierplus-immersive-page {
  --ap-ink:#321044;
  --ap-purple:#662889;
  --ap-yellow:#ffd64d;
  --ap-lilac:#f5edf8;
  width:100%!important;
  max-width:none!important;
  padding:0 0 64px!important;
  margin:0!important;
  background:#fff!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-immersive-hero {
  position:relative!important;
  min-height:clamp(510px,68vh,700px)!important;
  margin:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:#321044!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-hero-video,
body:not(.session-started) #vitrinePlateforme .atelierplus-hero-fallback {
  position:absolute!important; inset:0!important; width:100%!important; height:100%!important;
  object-fit:cover!important; object-position:center 44%!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-hero-fallback {
  z-index:-2!important; background:url("assets/vitrine-rfc-background.png") center/cover no-repeat!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-hero-overlay {
  position:absolute!important; inset:0!important; z-index:1!important;
  background:linear-gradient(90deg,rgba(38,7,52,.95) 0%,rgba(49,10,66,.82) 34%,rgba(49,10,66,.27) 66%,rgba(49,10,66,.05) 100%)!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-immersive-copy {
  position:relative!important; z-index:2!important; width:min(1180px,calc(100% - 80px))!important;
  min-height:clamp(510px,68vh,700px)!important; margin:auto!important; padding:100px 0 80px!important;
  display:flex!important; flex-direction:column!important; justify-content:center!important; align-items:flex-start!important;
  color:#fff!important; text-align:left!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-immersive-copy>p {
  margin:0 0 18px!important; color:var(--ap-yellow)!important; font-size:.8rem!important;
  font-weight:900!important; letter-spacing:.18em!important; text-transform:uppercase!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-immersive-copy h1 {
  max-width:700px!important; margin:0!important; color:#fff!important;
  font-size:clamp(3.35rem,6.5vw,6.7rem)!important; line-height:.91!important; letter-spacing:-.065em!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-immersive-copy>span {
  display:block!important; max-width:590px!important; margin:24px 0 0!important;
  color:rgba(255,255,255,.86)!important; font-size:clamp(1rem,1.4vw,1.22rem)!important; line-height:1.55!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-immersive-actions {
  display:flex!important; flex-wrap:wrap!important; gap:12px!important; margin-top:30px!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-immersive-actions a {
  min-height:50px!important; padding:0 22px!important; display:inline-flex!important; align-items:center!important; justify-content:center!important;
  border:1px solid rgba(255,255,255,.46)!important; border-radius:14px!important; color:#fff!important;
  background:rgba(255,255,255,.1)!important; backdrop-filter:blur(10px)!important; font-weight:800!important; text-decoration:none!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-immersive-actions a:first-child {
  color:var(--ap-ink)!important; border-color:var(--ap-yellow)!important; background:var(--ap-yellow)!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-editorial {
  width:min(1180px,calc(100% - 48px))!important; margin:-58px auto 0!important; position:relative!important; z-index:3!important;
  padding:0!important; display:flex!important; flex-direction:column!important; gap:28px!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-host {
  display:grid!important; grid-template-columns:108px 1fr!important; gap:24px!important; align-items:center!important;
  padding:22px 30px!important; margin:0!important; border:1px solid #eadfec!important; border-radius:24px!important;
  background:rgba(255,255,255,.97)!important; box-shadow:0 24px 60px rgba(49,12,65,.16)!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-host-avatar {
  width:90px!important; height:90px!important; border:5px solid #fff!important; border-radius:50%!important; overflow:hidden!important;
  box-shadow:0 9px 24px rgba(61,18,78,.18)!important; background:#f3e9f6!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-host-avatar img { width:100%!important; height:100%!important; object-fit:cover!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-host-bubble { padding:0!important; background:none!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-eyebrow {
  margin:0 0 8px!important; color:var(--ap-purple)!important; font-size:.72rem!important; font-weight:900!important;
  letter-spacing:.13em!important; text-transform:uppercase!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-host h2 {
  max-width:900px!important; margin:0!important; color:var(--ap-ink)!important; font-size:clamp(1.18rem,2.2vw,1.7rem)!important; line-height:1.22!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-host-bubble>span { display:block!important; margin-top:8px!important; color:#7a677f!important; font-size:.84rem!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-full-scene {
  position:relative!important; min-height:470px!important; margin:0!important; display:block!important;
  border-radius:28px!important; overflow:hidden!important; background:var(--ap-ink)!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-scene-media { position:absolute!important; inset:0!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-scene-media::after {
  content:""!important; position:absolute!important; inset:0!important;
  background:linear-gradient(90deg,rgba(35,7,47,.9) 0%,rgba(45,10,59,.7) 38%,rgba(45,10,59,.08) 72%)!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-kids-scene .atelierplus-scene-media::after {
  background:linear-gradient(270deg,rgba(35,7,47,.9) 0%,rgba(45,10,59,.68) 42%,rgba(45,10,59,.06) 74%)!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-scene-media img { width:100%!important; height:100%!important; object-fit:cover!important; object-position:center 42%!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-floating-text {
  position:relative!important; z-index:2!important; width:min(500px,50%)!important; min-height:470px!important;
  padding:58px!important; display:flex!important; flex-direction:column!important; justify-content:center!important;
  color:#fff!important; background:none!important; border:0!important; box-shadow:none!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-kids-scene .atelierplus-floating-text { margin-left:auto!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-floating-text .atelierplus-eyebrow { color:var(--ap-yellow)!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-floating-text h2 { margin:0!important; color:#fff!important; font-size:clamp(2.2rem,4.2vw,4.2rem)!important; line-height:.98!important; letter-spacing:-.05em!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-floating-text>p:not(.atelierplus-eyebrow) { margin:18px 0 0!important; color:rgba(255,255,255,.82)!important; line-height:1.55!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-soft-tags { display:flex!important; flex-wrap:wrap!important; gap:8px!important; margin-top:22px!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-soft-tags span { padding:8px 12px!important; border:1px solid rgba(255,255,255,.32)!important; border-radius:999px!important; color:#fff!important; background:rgba(255,255,255,.1)!important; backdrop-filter:blur(7px)!important; font-size:.78rem!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-life-platform {
  min-height:410px!important; display:grid!important; grid-template-columns:1.35fr .8fr!important; gap:0!important;
  border-radius:28px!important; overflow:hidden!important; background:var(--ap-yellow)!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-life-photo { position:relative!important; min-height:410px!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-life-photo img { width:100%!important; height:100%!important; object-fit:cover!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-screen-glimpse { display:none!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-life-copy { padding:42px!important; display:flex!important; flex-direction:column!important; justify-content:center!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-life-copy .atelierplus-eyebrow { color:#5e2180!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-life-copy h2 { margin:0!important; color:var(--ap-ink)!important; font-size:clamp(2.2rem,3.7vw,3.5rem)!important; line-height:1!important; letter-spacing:-.05em!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-life-copy>p:not(.atelierplus-eyebrow) { margin:18px 0 24px!important; color:#543b5d!important; line-height:1.55!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-life-copy a { width:max-content!important; padding:13px 17px!important; border-radius:12px!important; color:#fff!important; background:var(--ap-ink)!important; font-weight:800!important; text-decoration:none!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-path-mosaic,
body:not(.session-started) #vitrinePlateforme .atelierplus-two-ways { padding:32px 0 0!important; margin:0!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-section-intro { max-width:760px!important; margin-bottom:20px!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-section-intro h2 { margin:0!important; color:var(--ap-ink)!important; font-size:clamp(2rem,3.8vw,3.65rem)!important; line-height:1.02!important; letter-spacing:-.05em!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-mosaic-grid { display:grid!important; grid-template-columns:repeat(4,1fr)!important; grid-auto-rows:225px!important; gap:14px!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-mosaic-item { position:relative!important; min-height:0!important; border-radius:20px!important; overflow:hidden!important; border:0!important; box-shadow:none!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-mosaic-item.is-large { grid-column:span 2!important; grid-row:span 2!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-mosaic-item img { position:absolute!important; inset:0!important; width:100%!important; height:100%!important; object-fit:cover!important; transition:transform .5s ease!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-mosaic-item:hover img { transform:scale(1.035)!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-mosaic-item>div { position:absolute!important; inset:auto 0 0!important; z-index:2!important; padding:60px 20px 18px!important; background:linear-gradient(0deg,rgba(34,6,45,.92),transparent)!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-mosaic-item strong { display:block!important; color:#fff!important; font-size:1.35rem!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-mosaic-item span { display:block!important; margin-top:4px!important; color:rgba(255,255,255,.78)!important; font-size:.8rem!important; line-height:1.35!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-two-ways-grid { display:grid!important; grid-template-columns:repeat(2,1fr)!important; gap:16px!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-two-ways-grid>article { position:relative!important; min-height:460px!important; border:0!important; border-radius:24px!important; overflow:hidden!important; background:#321044!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-two-ways-grid>article>img { position:absolute!important; inset:0!important; width:100%!important; height:100%!important; object-fit:cover!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-two-ways-grid>article::after { content:""!important; position:absolute!important; inset:0!important; background:linear-gradient(0deg,rgba(38,7,52,.98) 0%,rgba(38,7,52,.68) 48%,rgba(38,7,52,.02) 90%)!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-two-ways-grid>article>div { position:absolute!important; inset:auto 0 0!important; z-index:2!important; padding:30px!important; color:#fff!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-two-ways-grid h3 { margin:8px 0 14px!important; color:#fff!important; font-size:1.65rem!important; line-height:1.08!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-two-ways-grid span { color:var(--ap-yellow)!important; font-weight:900!important; text-transform:uppercase!important; letter-spacing:.1em!important; font-size:.68rem!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-way-features { margin:0 0 20px!important; padding:0!important; display:flex!important; flex-wrap:wrap!important; gap:7px!important; list-style:none!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-way-features li { padding:6px 9px!important; border:1px solid rgba(255,255,255,.24)!important; border-radius:999px!important; color:rgba(255,255,255,.82)!important; background:rgba(255,255,255,.08)!important; font-size:.72rem!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-two-ways-grid a { display:inline-flex!important; padding:12px 15px!important; border-radius:10px!important; color:var(--ap-ink)!important; background:var(--ap-yellow)!important; font-weight:850!important; text-decoration:none!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-final-cta { margin:18px 0 0!important; padding:56px!important; border-radius:28px!important; background:linear-gradient(135deg,#321044,#712b92)!important; text-align:left!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-final-cta .atelierplus-eyebrow { color:var(--ap-yellow)!important; }
body:not(.session-started) #vitrinePlateforme .atelierplus-final-cta h2 { max-width:800px!important; margin:0!important; color:#fff!important; font-size:clamp(2.2rem,4vw,4rem)!important; line-height:1!important; letter-spacing:-.05em!important; }

/* Tarifs : photos, prix et choix lisibles d'un seul regard */
body:not(.session-started) #vitrineTarifs.pricing-page {
  width:100%!important; max-width:none!important; margin:0!important; padding:0 0 64px!important;
  border:0!important; border-radius:0!important; box-shadow:none!important; background:#fff!important; overflow:hidden!important;
}
body:not(.session-started) #vitrineTarifs .pricing-hero { position:relative!important; min-height:520px!important; display:block!important; margin:0 0 48px!important; border-radius:0!important; overflow:hidden!important; background:#321044!important; }
body:not(.session-started) #vitrineTarifs .pricing-hero-media { position:absolute!important; inset:0!important; width:100%!important; height:100%!important; }
body:not(.session-started) #vitrineTarifs .pricing-hero-media::after { content:""!important; position:absolute!important; inset:0!important; background:linear-gradient(90deg,rgba(39,7,52,.96) 0%,rgba(48,9,64,.79) 40%,rgba(48,9,64,.15) 75%)!important; }
body:not(.session-started) #vitrineTarifs .pricing-hero-media img { width:100%!important; height:100%!important; object-fit:cover!important; object-position:center 44%!important; }
body:not(.session-started) #vitrineTarifs .pricing-hero-copy { position:relative!important; z-index:2!important; width:min(1180px,calc(100% - 80px))!important; min-height:520px!important; margin:auto!important; padding:80px 0!important; display:flex!important; flex-direction:column!important; justify-content:center!important; align-items:flex-start!important; text-align:left!important; }
body:not(.session-started) #vitrineTarifs .pricing-kicker { margin:0 0 16px!important; color:#ffd64d!important; font-weight:900!important; letter-spacing:.17em!important; text-transform:uppercase!important; }
body:not(.session-started) #vitrineTarifs .pricing-hero h2 { max-width:700px!important; margin:0!important; color:#fff!important; font-size:clamp(3.3rem,6.3vw,6.4rem)!important; line-height:.91!important; letter-spacing:-.065em!important; }
body:not(.session-started) #vitrineTarifs .pricing-title-accent { display:block!important; color:#ffd64d!important; }
body:not(.session-started) #vitrineTarifs .pricing-hero-copy>p:last-child { max-width:580px!important; margin:24px 0 0!important; color:rgba(255,255,255,.84)!important; font-size:1.1rem!important; line-height:1.55!important; }
body:not(.session-started) #vitrineTarifs .pricing-section { width:min(1180px,calc(100% - 48px))!important; margin:0 auto 52px!important; padding:0!important; }
body:not(.session-started) #vitrineTarifs .pricing-section-head { display:grid!important; grid-template-columns:1.3fr .7fr!important; gap:40px!important; align-items:end!important; margin:0 0 22px!important; padding:0!important; }
body:not(.session-started) #vitrineTarifs .pricing-section-kicker { margin:0 0 8px!important; color:#742b97!important; font-size:.72rem!important; font-weight:900!important; letter-spacing:.13em!important; text-transform:uppercase!important; }
body:not(.session-started) #vitrineTarifs .pricing-section-head h3 { margin:0!important; color:#321044!important; font-size:clamp(2rem,3.3vw,3.3rem)!important; line-height:1!important; letter-spacing:-.05em!important; }
body:not(.session-started) #vitrineTarifs .pricing-section-head>p { margin:0!important; color:#705e77!important; line-height:1.55!important; }
body:not(.session-started) #vitrineTarifs .pricing-grid { display:grid!important; grid-template-columns:repeat(2,1fr)!important; gap:18px!important; }
body:not(.session-started) #vitrineTarifs .pricing-card { min-height:0!important; display:grid!important; grid-template-columns:43% 57%!important; overflow:hidden!important; border:1px solid #e9ddeb!important; border-radius:24px!important; background:#fff!important; box-shadow:0 16px 42px rgba(49,12,65,.08)!important; }
body:not(.session-started) #vitrineTarifs .pricing-card-media { position:relative!important; min-height:390px!important; border-radius:0!important; overflow:hidden!important; }
body:not(.session-started) #vitrineTarifs .pricing-card-media::after { content:""!important; position:absolute!important; inset:0!important; background:linear-gradient(0deg,rgba(42,8,55,.38),transparent 50%)!important; }
body:not(.session-started) #vitrineTarifs .pricing-card-media img { width:100%!important; height:100%!important; object-fit:cover!important; }
body:not(.session-started) #vitrineTarifs .pricing-price-badge { position:absolute!important; z-index:2!important; left:14px!important; right:auto!important; bottom:14px!important; top:auto!important; padding:10px 13px!important; border:0!important; border-radius:12px!important; color:#321044!important; background:#ffd64d!important; box-shadow:none!important; }
body:not(.session-started) #vitrineTarifs .pricing-price-badge strong { display:block!important; color:#321044!important; font-size:1.15rem!important; line-height:1!important; }
body:not(.session-started) #vitrineTarifs .pricing-price-badge span { display:block!important; margin-top:3px!important; color:#5b3869!important; font-size:.68rem!important; }
body:not(.session-started) #vitrineTarifs .pricing-card-body { min-height:390px!important; padding:28px!important; display:flex!important; flex-direction:column!important; justify-content:space-between!important; gap:20px!important; }
body:not(.session-started) #vitrineTarifs .pricing-offer-label { display:inline-block!important; margin-bottom:8px!important; color:#742b97!important; font-size:.69rem!important; font-weight:900!important; letter-spacing:.11em!important; text-transform:uppercase!important; }
body:not(.session-started) #vitrineTarifs .pricing-card h3 { margin:0!important; color:#321044!important; font-size:1.55rem!important; line-height:1.08!important; }
body:not(.session-started) #vitrineTarifs .pricing-card-body p { margin:10px 0 14px!important; color:#756379!important; font-size:.88rem!important; line-height:1.5!important; }
body:not(.session-started) #vitrineTarifs .pricing-features { margin:0!important; padding:0!important; list-style:none!important; display:grid!important; gap:7px!important; }
body:not(.session-started) #vitrineTarifs .pricing-features li { position:relative!important; padding-left:18px!important; color:#503c57!important; font-size:.82rem!important; }
body:not(.session-started) #vitrineTarifs .pricing-features li { display:block!important; }
body:not(.session-started) #vitrineTarifs .pricing-features li::before { content:""!important; position:absolute!important; left:0!important; top:.45em!important; width:7px!important; height:7px!important; border-radius:50%!important; background:#ffd64d!important; }
body:not(.session-started) #vitrineTarifs .pricing-card-action { width:100%!important; min-height:44px!important; padding:0 12px!important; display:flex!important; align-items:center!important; justify-content:center!important; border:0!important; border-radius:11px!important; color:#fff!important; background:#612180!important; font-weight:850!important; text-decoration:none!important; }
body:not(.session-started) #vitrineTarifs .pricing-reassurance { width:min(1180px,calc(100% - 48px))!important; margin:0 auto 24px!important; padding:0!important; display:grid!important; grid-template-columns:repeat(4,1fr)!important; gap:0!important; overflow:hidden!important; border:0!important; border-radius:24px!important; background:linear-gradient(135deg,#321044,#5c1e78)!important; }
body:not(.session-started) #vitrineTarifs .pricing-reassurance-item { min-height:150px!important; padding:24px!important; display:flex!important; flex-direction:column!important; align-items:flex-start!important; gap:14px!important; border-right:1px solid rgba(255,255,255,.13)!important; background:transparent!important; }
body:not(.session-started) #vitrineTarifs .pricing-reassurance-item:last-child { border-right:0!important; }
body:not(.session-started) #vitrineTarifs .pricing-reassurance-icon { width:38px!important; height:38px!important; display:grid!important; place-items:center!important; border-radius:11px!important; color:#321044!important; background:#ffd64d!important; }
body:not(.session-started) #vitrineTarifs .pricing-reassurance-icon svg { width:21px!important; height:21px!important; fill:none!important; stroke:currentColor!important; stroke-width:1.8!important; stroke-linecap:round!important; stroke-linejoin:round!important; }
body:not(.session-started) #vitrineTarifs .pricing-reassurance-item>span:last-child strong { display:block!important; margin-bottom:4px!important; color:#fff!important; }
body:not(.session-started) #vitrineTarifs .pricing-reassurance-item>span:last-child { color:rgba(255,255,255,.68)!important; font-size:.78rem!important; line-height:1.4!important; }
body:not(.session-started) #vitrineTarifs .pricing-bottom { width:min(1180px,calc(100% - 48px))!important; margin:0 auto!important; padding:34px!important; display:grid!important; grid-template-columns:1fr auto!important; gap:28px!important; align-items:center!important; border:0!important; border-radius:24px!important; background:#ffd64d!important; }
body:not(.session-started) #vitrineTarifs .pricing-bottom h3 { margin:0!important; color:#321044!important; font-size:clamp(1.6rem,2.6vw,2.45rem)!important; }
body:not(.session-started) #vitrineTarifs .pricing-bottom p { margin:6px 0 0!important; color:#61436b!important; }
body:not(.session-started) #vitrineTarifs .pricing-bottom-actions { display:flex!important; flex-wrap:wrap!important; gap:8px!important; justify-content:flex-end!important; }
body:not(.session-started) #vitrineTarifs .pricing-bottom-actions a { padding:12px 15px!important; border:1px solid #321044!important; border-radius:11px!important; color:#fff!important; background:#321044!important; font-weight:800!important; text-decoration:none!important; }
body:not(.session-started) #vitrineTarifs .pricing-bottom-actions a.pricing-link-secondary { color:#321044!important; background:transparent!important; }

/* Contact : une vraie rencontre avant meme l'envoi du message */
body:not(.session-started) #vitrineContactPage.contact-page { width:100%!important; max-width:none!important; margin:0!important; padding:0 0 64px!important; border:0!important; border-radius:0!important; box-shadow:none!important; background:#fff!important; overflow:hidden!important; }
body:not(.session-started) #vitrineContactPage .contact-hero { position:relative!important; min-height:560px!important; display:block!important; margin:0 0 0!important; border-radius:0!important; overflow:hidden!important; isolation:isolate!important; background:#321044!important; }
body:not(.session-started) #vitrineContactPage .contact-hero-visual { position:absolute!important; inset:0!important; z-index:0!important; width:100%!important; height:100%!important; }
body:not(.session-started) #vitrineContactPage .contact-hero-visual::after { content:""!important; position:absolute!important; inset:0!important; background:linear-gradient(90deg,rgba(39,7,52,.96) 0%,rgba(48,9,64,.8) 40%,rgba(48,9,64,.09) 76%)!important; }
body:not(.session-started) #vitrineContactPage .contact-hero-image { position:relative!important; z-index:0!important; width:100%!important; height:100%!important; object-fit:cover!important; object-position:center 44%!important; border-radius:0!important; }
body:not(.session-started) #vitrineContactPage .contact-decor { display:none!important; }
body:not(.session-started) #vitrineContactPage .contact-hero-copy { position:relative!important; z-index:3!important; width:min(1180px,calc(100% - 80px))!important; min-height:560px!important; margin:auto!important; padding:84px 0!important; display:flex!important; flex-direction:column!important; justify-content:center!important; align-items:flex-start!important; }
body:not(.session-started) #vitrineContactPage .contact-kicker,
body:not(.session-started) #vitrineContactPage .contact-section-label { margin:0 0 10px!important; color:#6f2891!important; font-size:.7rem!important; font-weight:900!important; letter-spacing:.14em!important; text-transform:uppercase!important; }
body:not(.session-started) #vitrineContactPage .contact-hero .contact-kicker { color:#ffd64d!important; }
body:not(.session-started) #vitrineContactPage .contact-hero h2 { max-width:760px!important; margin:0!important; color:#fff!important; font-size:clamp(3.4rem,6.7vw,6.8rem)!important; line-height:.9!important; letter-spacing:-.067em!important; }
body:not(.session-started) #vitrineContactPage .contact-hero-intro { max-width:650px!important; margin:24px 0 0!important; color:rgba(255,255,255,.83)!important; font-size:1.08rem!important; line-height:1.58!important; }
body:not(.session-started) #vitrineContactPage .contact-signature { margin:20px 0 0!important; color:rgba(255,255,255,.78)!important; line-height:1.4!important; }
body:not(.session-started) #vitrineContactPage .contact-signature strong { color:#fff!important; }
body:not(.session-started) #vitrineContactPage .contact-reassurance { position:relative!important; z-index:3!important; width:min(1180px,calc(100% - 48px))!important; margin:-45px auto 34px!important; padding:0!important; display:grid!important; grid-template-columns:repeat(3,1fr)!important; gap:0!important; overflow:hidden!important; border:1px solid #e8dbea!important; border-radius:22px!important; background:#fff!important; box-shadow:0 20px 50px rgba(51,13,66,.15)!important; }
body:not(.session-started) #vitrineContactPage .contact-reassurance>div { min-height:112px!important; padding:22px!important; display:flex!important; align-items:center!important; gap:14px!important; border-right:1px solid #eadfec!important; background:#fff!important; }
body:not(.session-started) #vitrineContactPage .contact-reassurance>div:last-child { border-right:0!important; }
body:not(.session-started) #vitrineContactPage .contact-reassurance>div>span { flex:0 0 42px!important; width:42px!important; height:42px!important; display:grid!important; place-items:center!important; border-radius:12px!important; color:#321044!important; background:#ffd64d!important; }
body:not(.session-started) #vitrineContactPage .contact-reassurance svg { width:23px!important; height:23px!important; fill:none!important; stroke:currentColor!important; stroke-width:1.75!important; stroke-linecap:round!important; stroke-linejoin:round!important; }
body:not(.session-started) #vitrineContactPage .contact-reassurance p { margin:0!important; }
body:not(.session-started) #vitrineContactPage .contact-reassurance strong { display:block!important; color:#321044!important; font-size:.92rem!important; line-height:1.18!important; }
body:not(.session-started) #vitrineContactPage .contact-reassurance small { display:block!important; margin-top:4px!important; color:#7a687f!important; font-size:.75rem!important; line-height:1.35!important; }
body:not(.session-started) #vitrineContactPage .contact-layout { width:min(1180px,calc(100% - 48px))!important; margin:0 auto!important; display:grid!important; grid-template-columns:1.25fr .75fr!important; gap:18px!important; align-items:start!important; }
body:not(.session-started) #vitrineContactPage .contact-form { padding:38px!important; border:1px solid #e9ddeb!important; border-radius:26px!important; background:#fff!important; box-shadow:0 18px 50px rgba(49,12,65,.08)!important; }
body:not(.session-started) #vitrineContactPage .contact-form-heading h3 { margin:0!important; color:#321044!important; font-size:clamp(2rem,3.5vw,3.3rem)!important; line-height:1!important; letter-spacing:-.05em!important; }
body:not(.session-started) #vitrineContactPage .contact-form-heading>p:last-child { max-width:680px!important; margin:13px 0 22px!important; color:#756379!important; line-height:1.5!important; }
body:not(.session-started) #vitrineContactPage .contact-form-grid { display:grid!important; grid-template-columns:repeat(2,1fr)!important; gap:14px!important; }
body:not(.session-started) #vitrineContactPage .contact-form label>span:not(.contact-consent span),
body:not(.session-started) #vitrineContactPage .contact-subject-field legend { display:block!important; margin-bottom:6px!important; color:#4e3657!important; font-size:.78rem!important; font-weight:800!important; }
body:not(.session-started) #vitrineContactPage .contact-form input:not([type="radio"]):not([type="checkbox"]),
body:not(.session-started) #vitrineContactPage .contact-form textarea { width:100%!important; border:1px solid #dfd1e3!important; border-radius:11px!important; color:#321044!important; background:#fcf9fd!important; box-shadow:none!important; }
body:not(.session-started) #vitrineContactPage .contact-form input:not([type="radio"]):not([type="checkbox"]) { min-height:48px!important; padding:0 14px!important; }
body:not(.session-started) #vitrineContactPage .contact-form textarea { min-height:132px!important; padding:13px 14px!important; resize:vertical!important; }
body:not(.session-started) #vitrineContactPage .contact-phone-field,
body:not(.session-started) #vitrineContactPage .contact-subject-field,
body:not(.session-started) #vitrineContactPage .contact-message-field { grid-column:1/-1!important; }
body:not(.session-started) #vitrineContactPage .contact-subject-field { margin:2px 0!important; padding:0!important; border:0!important; }
body:not(.session-started) #vitrineContactPage .contact-choice-pills { display:flex!important; flex-wrap:wrap!important; gap:7px!important; }
body:not(.session-started) #vitrineContactPage .contact-choice-pills label { cursor:pointer!important; }
body:not(.session-started) #vitrineContactPage .contact-choice-pills input { position:absolute!important; opacity:0!important; pointer-events:none!important; }
body:not(.session-started) #vitrineContactPage .contact-choice-pills span { min-height:38px!important; margin:0!important; padding:0 12px!important; display:flex!important; align-items:center!important; border:1px solid #dfd0e3!important; border-radius:999px!important; color:#593c65!important; background:#fff!important; font-size:.76rem!important; font-weight:750!important; }
body:not(.session-started) #vitrineContactPage .contact-choice-pills input:checked+span { color:#fff!important; border-color:#632282!important; background:#632282!important; box-shadow:0 5px 14px rgba(94,31,123,.2)!important; }
body:not(.session-started) #vitrineContactPage .contact-consent { display:flex!important; gap:9px!important; align-items:flex-start!important; margin:16px 0 14px!important; color:#705f76!important; font-size:.76rem!important; }
body:not(.session-started) #vitrineContactPage .contact-submit { min-height:50px!important; padding:0 20px!important; border:0!important; border-radius:12px!important; color:#321044!important; background:#ffd64d!important; font-weight:900!important; box-shadow:none!important; }
body:not(.session-started) #vitrineContactPage .contact-personal-reply { display:inline-block!important; margin:0 0 0 12px!important; color:#7c6981!important; font-size:.74rem!important; }
body:not(.session-started) #vitrineContactPage .contact-visit { min-height:0!important; height:auto!important; align-self:start!important; display:flex!important; flex-direction:column!important; overflow:hidden!important; border:0!important; border-radius:26px!important; color:#fff!important; background:#321044!important; box-shadow:none!important; }
body:not(.session-started) #vitrineContactPage .contact-visit-visual { position:relative!important; height:285px!important; overflow:hidden!important; }
body:not(.session-started) #vitrineContactPage .contact-visit-visual::after { content:""!important; position:absolute!important; inset:45% 0 0!important; background:linear-gradient(transparent,#321044)!important; }
body:not(.session-started) #vitrineContactPage .contact-visit-visual img { width:100%!important; height:100%!important; object-fit:cover!important; }
body:not(.session-started) #vitrineContactPage .contact-visit-welcome { position:absolute!important; z-index:2!important; left:20px!important; bottom:16px!important; padding:8px 11px!important; border-radius:999px!important; color:#321044!important; background:#ffd64d!important; font-size:.72rem!important; font-weight:900!important; }
body:not(.session-started) #vitrineContactPage .contact-visit-content { flex:0 0 auto!important; padding:28px!important; display:flex!important; flex-direction:column!important; justify-content:flex-start!important; }
body:not(.session-started) #vitrineContactPage .contact-visit .contact-section-label { color:#ffd64d!important; }
body:not(.session-started) #vitrineContactPage .contact-visit h3 { margin:0!important; color:#fff!important; font-size:2rem!important; line-height:1.03!important; letter-spacing:-.04em!important; }
body:not(.session-started) #vitrineContactPage .contact-visit-intro,
body:not(.session-started) #vitrineContactPage .contact-visit-note { color:rgba(255,255,255,.72)!important; line-height:1.5!important; }
body:not(.session-started) #vitrineContactPage .contact-featured-address { margin:18px 0!important; padding:15px!important; border-left:3px solid #ffd64d!important; border-radius:0 11px 11px 0!important; background:rgba(255,255,255,.08)!important; }
body:not(.session-started) #vitrineContactPage .contact-featured-address strong,
body:not(.session-started) #vitrineContactPage .contact-featured-address span { display:block!important; color:#fff!important; }
body:not(.session-started) #vitrineContactPage .contact-featured-address span { margin-top:4px!important; color:rgba(255,255,255,.7)!important; font-size:.78rem!important; }
body:not(.session-started) #vitrineContactPage .contact-workshops-link { display:inline-flex!important; padding:12px 14px!important; border-radius:10px!important; color:#321044!important; background:#ffd64d!important; font-weight:850!important; text-decoration:none!important; }
body:not(.session-started) #vitrineContactPage .contact-help { width:min(1180px,calc(100% - 48px))!important; margin:18px auto 0!important; padding:24px!important; display:grid!important; grid-template-columns:78px 1fr auto!important; gap:20px!important; align-items:center!important; border:0!important; border-radius:22px!important; background:#ffd64d!important; }
body:not(.session-started) #vitrineContactPage .contact-help-avatar { width:74px!important; height:74px!important; border:4px solid #fff!important; border-radius:50%!important; overflow:hidden!important; }
body:not(.session-started) #vitrineContactPage .contact-help-avatar img { width:100%!important; height:100%!important; object-fit:cover!important; }
body:not(.session-started) #vitrineContactPage .contact-help .contact-section-label { color:#6f2891!important; }
body:not(.session-started) #vitrineContactPage .contact-help h3 { margin:0!important; color:#321044!important; font-size:1.35rem!important; }
body:not(.session-started) #vitrineContactPage .contact-help-copy>p:last-child { margin:5px 0 0!important; color:#61456a!important; }
body:not(.session-started) #vitrineContactPage .contact-help>a { padding:13px 16px!important; border-radius:11px!important; color:#fff!important; background:#321044!important; font-weight:850!important; text-decoration:none!important; white-space:nowrap!important; }

@media (max-width:980px) {
  body:not(.session-started) #vitrinePlateforme .atelierplus-mosaic-grid { grid-template-columns:repeat(2,1fr)!important; }
  body:not(.session-started) #vitrineTarifs .pricing-card { grid-template-columns:1fr!important; }
  body:not(.session-started) #vitrineTarifs .pricing-card-media { min-height:260px!important; }
  body:not(.session-started) #vitrineTarifs .pricing-card-body { min-height:330px!important; }
  body:not(.session-started) #vitrineTarifs .pricing-reassurance { grid-template-columns:repeat(2,1fr)!important; }
  body:not(.session-started) #vitrineTarifs .pricing-reassurance-item:nth-child(2) { border-right:0!important; }
  body:not(.session-started) #vitrineTarifs .pricing-reassurance-item:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.13)!important; }
  body:not(.session-started) #vitrineContactPage .contact-layout { grid-template-columns:1fr!important; }
  body:not(.session-started) #vitrineContactPage .contact-visit { display:grid!important; grid-template-columns:.8fr 1fr!important; }
  body:not(.session-started) #vitrineContactPage .contact-visit-visual { height:100%!important; min-height:360px!important; }
}
@media (max-width:720px) {
  body:not(.session-started) #vitrinePlateforme .atelierplus-immersive-hero,
  body:not(.session-started) #vitrinePlateforme .atelierplus-immersive-copy,
  body:not(.session-started) #vitrineTarifs .pricing-hero,
  body:not(.session-started) #vitrineTarifs .pricing-hero-copy { min-height:680px!important; }
  body:not(.session-started) #vitrineContactPage .contact-hero,
  body:not(.session-started) #vitrineContactPage .contact-hero-copy { min-height:700px!important; }
  body:not(.session-started) #vitrinePlateforme .atelierplus-immersive-copy,
  body:not(.session-started) #vitrineTarifs .pricing-hero-copy,
  body:not(.session-started) #vitrineContactPage .contact-hero-copy { width:calc(100% - 36px)!important; padding:70px 0!important; }
  body:not(.session-started) #vitrinePlateforme .atelierplus-immersive-copy h1,
  body:not(.session-started) #vitrineTarifs .pricing-hero h2,
  body:not(.session-started) #vitrineContactPage .contact-hero h2 { font-size:clamp(3rem,15vw,4.8rem)!important; }
  body:not(.session-started) #vitrinePlateforme .atelierplus-editorial,
  body:not(.session-started) #vitrineTarifs .pricing-section,
  body:not(.session-started) #vitrineTarifs .pricing-reassurance,
  body:not(.session-started) #vitrineTarifs .pricing-bottom,
  body:not(.session-started) #vitrineContactPage .contact-reassurance,
  body:not(.session-started) #vitrineContactPage .contact-layout,
  body:not(.session-started) #vitrineContactPage .contact-help { width:calc(100% - 28px)!important; }
  body:not(.session-started) #vitrinePlateforme .atelierplus-host { grid-template-columns:66px 1fr!important; gap:14px!important; padding:18px!important; }
  body:not(.session-started) #vitrinePlateforme .atelierplus-host-avatar { width:64px!important; height:64px!important; }
  body:not(.session-started) #vitrinePlateforme .atelierplus-full-scene { min-height:500px!important; }
  body:not(.session-started) #vitrinePlateforme .atelierplus-scene-media::after,
  body:not(.session-started) #vitrinePlateforme .atelierplus-kids-scene .atelierplus-scene-media::after { background:linear-gradient(0deg,rgba(35,7,47,.96) 0%,rgba(45,10,59,.6) 55%,rgba(45,10,59,.02) 90%)!important; }
  body:not(.session-started) #vitrinePlateforme .atelierplus-floating-text,
  body:not(.session-started) #vitrinePlateforme .atelierplus-kids-scene .atelierplus-floating-text { width:100%!important; min-height:500px!important; margin:0!important; padding:28px!important; justify-content:flex-end!important; }
  body:not(.session-started) #vitrinePlateforme .atelierplus-life-platform { grid-template-columns:1fr!important; }
  body:not(.session-started) #vitrinePlateforme .atelierplus-life-photo { min-height:280px!important; }
  body:not(.session-started) #vitrinePlateforme .atelierplus-life-copy { padding:28px!important; }
  body:not(.session-started) #vitrinePlateforme .atelierplus-mosaic-grid { grid-template-columns:1fr!important; grid-auto-rows:260px!important; }
  body:not(.session-started) #vitrinePlateforme .atelierplus-mosaic-item.is-large { grid-column:auto!important; grid-row:auto!important; }
  body:not(.session-started) #vitrinePlateforme .atelierplus-two-ways-grid { grid-template-columns:1fr!important; }
  body:not(.session-started) #vitrinePlateforme .atelierplus-final-cta { padding:32px 24px!important; }
  body:not(.session-started) #vitrineTarifs .pricing-section-head { grid-template-columns:1fr!important; gap:12px!important; }
  body:not(.session-started) #vitrineTarifs .pricing-grid { grid-template-columns:1fr!important; }
  body:not(.session-started) #vitrineTarifs .pricing-card { grid-template-columns:42% 58%!important; }
  body:not(.session-started) #vitrineTarifs .pricing-card-media,
  body:not(.session-started) #vitrineTarifs .pricing-card-body { min-height:380px!important; }
  body:not(.session-started) #vitrineTarifs .pricing-bottom { grid-template-columns:1fr!important; padding:26px!important; }
  body:not(.session-started) #vitrineTarifs .pricing-bottom-actions { justify-content:flex-start!important; }
  body:not(.session-started) #vitrineContactPage .contact-reassurance { grid-template-columns:1fr!important; margin-top:-30px!important; }
  body:not(.session-started) #vitrineContactPage .contact-reassurance>div { min-height:90px!important; border-right:0!important; border-bottom:1px solid #eadfec!important; }
  body:not(.session-started) #vitrineContactPage .contact-reassurance>div:last-child { border-bottom:0!important; }
  body:not(.session-started) #vitrineContactPage .contact-form { padding:24px!important; }
  body:not(.session-started) #vitrineContactPage .contact-form-grid { grid-template-columns:1fr!important; }
  body:not(.session-started) #vitrineContactPage .contact-phone-field,
  body:not(.session-started) #vitrineContactPage .contact-subject-field,
  body:not(.session-started) #vitrineContactPage .contact-message-field { grid-column:auto!important; }
  body:not(.session-started) #vitrineContactPage .contact-visit { display:flex!important; }
  body:not(.session-started) #vitrineContactPage .contact-visit-visual { min-height:260px!important; height:260px!important; }
  body:not(.session-started) #vitrineContactPage .contact-help { grid-template-columns:60px 1fr!important; }
  body:not(.session-started) #vitrineContactPage .contact-help-avatar { width:58px!important; height:58px!important; }
  body:not(.session-started) #vitrineContactPage .contact-help>a { grid-column:1/-1!important; text-align:center!important; }
}
@media (max-width:520px) {
  body:not(.session-started) #vitrineTarifs .pricing-card { grid-template-columns:1fr!important; }
  body:not(.session-started) #vitrineTarifs .pricing-card-media { min-height:260px!important; }
  body:not(.session-started) #vitrineTarifs .pricing-card-body { min-height:0!important; }
  body:not(.session-started) #vitrineTarifs .pricing-reassurance { grid-template-columns:1fr!important; }
  body:not(.session-started) #vitrineTarifs .pricing-reassurance-item { min-height:120px!important; border-right:0!important; border-bottom:1px solid rgba(255,255,255,.13)!important; }
  body:not(.session-started) #vitrineTarifs .pricing-reassurance-item:last-child { border-bottom:0!important; }
  body:not(.session-started) #vitrineContactPage .contact-personal-reply { display:block!important; margin:8px 0 0!important; }
}

/* Accueil signature : composition éditoriale spectaculaire et chaleureuse. */
body:not(.session-started) #vitrineAccueil.vitrine-ref-hero {
  min-height:660px!important; padding-bottom:128px!important;
}
body:not(.session-started) #vitrineAccueil.vitrine-ref-hero::before {
  background:linear-gradient(90deg,rgba(28,6,39,.92) 0%,rgba(49,15,64,.72) 38%,rgba(37,10,48,.2) 68%,rgba(20,5,27,.04) 100%)!important;
}
body:not(.session-started) #vitrineAccueil .vitrine-ref-content h2 {
  font-size:clamp(3.35rem,5.25vw,5.15rem)!important; line-height:.92!important; letter-spacing:-.065em!important;
}
body:not(.session-started) #vitrineAccueil .vitrine-ref-description {
  max-width:39ch!important; font-size:1.08rem!important;
}
body:not(.session-started) #vitrineAccueil .home-benefits {
  position:absolute!important; z-index:5!important;
  left:max(24px,calc((100vw - 1180px)/2))!important; right:max(190px,calc((100vw - 900px)/2))!important; bottom:20px!important;
  display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important;
  width:auto!important; max-width:none!important; margin:0!important; padding:8px!important;
  border:1px solid rgba(255,255,255,.58)!important; border-radius:18px!important;
  background:rgba(255,255,255,.92)!important; box-shadow:0 24px 55px rgba(22,5,29,.24)!important;
  backdrop-filter:blur(18px)!important;
}
body:not(.session-started) #vitrineAccueil .home-benefits>span {
  justify-content:center!important; min-height:52px!important; padding:7px 14px!important;
  border:0!important; border-right:1px solid #eadfec!important;
  color:var(--studio-purple-dark)!important; font-size:.71rem!important;
}
body:not(.session-started) #vitrineAccueil .home-benefits>span:last-child { border-right:0!important; }
body:not(.session-started) #vitrineAccueil .home-benefits i {
  width:34px!important; height:34px!important; color:var(--studio-purple)!important;
  background:#fff0a9!important; box-shadow:0 6px 16px rgba(255,201,61,.22)!important;
}
body:not(.session-started) #vitrineAccueil .vitrine-editorial-hero-figure .home-hero-human-note {
  right:max(24px,calc((100vw - 1180px)/2))!important; bottom:96px!important;
}

body:not(.session-started) .vitrine-ref-orientation {
  width:100%!important; margin:0!important; padding:56px max(24px,calc((100vw - 1180px)/2)) 64px!important;
  background:linear-gradient(135deg,#fffdf8 0%,#f8effc 100%)!important;
}
body:not(.session-started) .vitrine-ref-orientation>h3 {
  max-width:760px!important; margin:0 0 24px!important; font-size:clamp(2rem,3.3vw,3.15rem)!important;
  line-height:1!important;
}
body:not(.session-started) .home-audience-grid { gap:18px!important; }
body:not(.session-started) .home-audience-card {
  position:relative!important; display:block!important; min-height:245px!important; padding:0!important;
  border:0!important; border-radius:22px!important; overflow:hidden!important;
  background:#351047!important; box-shadow:0 22px 48px rgba(50,16,68,.14)!important;
}
body:not(.session-started) .home-audience-card::before {
  content:""!important; position:absolute!important; z-index:2!important; inset:0!important; width:auto!important;
  background:linear-gradient(180deg,rgba(28,7,38,.02) 22%,rgba(30,8,40,.82) 100%)!important;
}
body:not(.session-started) .home-audience-card:hover,
body:not(.session-started) .home-audience-card:focus-visible,
body:not(.session-started) .home-audience-card.active {
  border:0!important; background:#351047!important; box-shadow:0 28px 58px rgba(50,16,68,.22)!important;
  transform:translateY(-7px)!important;
}
body:not(.session-started) .home-audience-icon {
  position:absolute!important; z-index:1!important; inset:0!important; display:block!important;
  width:100%!important; height:100%!important; border-radius:0!important; box-shadow:none!important;
  background-position:center!important; transition:transform 500ms cubic-bezier(.2,.8,.2,1)!important;
}
body:not(.session-started) .home-audience-card:hover .home-audience-icon { transform:scale(1.045)!important; }
body:not(.session-started) .home-audience-card:nth-child(1) .home-audience-icon { background-image:url("assets/tarifs-pack-famille.png")!important; background-position:center 42%!important; }
body:not(.session-started) .home-audience-card:nth-child(2) .home-audience-icon { background-image:url("assets/tarifs-atelier-groupe.png")!important; background-position:center 38%!important; }
body:not(.session-started) .home-audience-card:nth-child(3) .home-audience-icon { background-image:url("assets/vitrine-rfc-background.png")!important; background-position:center 42%!important; }
body:not(.session-started) .home-audience-icon svg { display:none!important; }
body:not(.session-started) .home-audience-card>span:nth-child(2) {
  position:absolute!important; z-index:3!important; left:22px!important; right:68px!important; bottom:20px!important;
  display:flex!important; flex-direction:column!important; gap:3px!important;
}
body:not(.session-started) .home-audience-card strong {
  color:#fff!important; font-size:1.45rem!important; font-weight:800!important; letter-spacing:-.035em!important;
}
body:not(.session-started) .home-audience-card small {
  color:rgba(255,255,255,.82)!important; font-size:.78rem!important;
}
body:not(.session-started) .home-audience-card>i {
  position:absolute!important; z-index:3!important; right:20px!important; bottom:20px!important;
  width:40px!important; height:40px!important; border:1px solid rgba(255,255,255,.5)!important;
  color:var(--studio-purple-dark)!important; background:#ffd34e!important;
}

body:not(.session-started) #vitrineAteliers.vitrine-ref-workshops {
  padding-top:52px!important; background:linear-gradient(180deg,#fff 0%,#fbf5fd 100%)!important;
}
body:not(.session-started) #vitrineAteliers .vitrine-ref-section-kicker {
  display:flex!important; align-items:center!important; gap:10px!important;
}
body:not(.session-started) #vitrineAteliers .vitrine-ref-section-kicker::before {
  content:""!important; display:block!important; width:34px!important; height:3px!important; border-radius:3px!important; background:#ffd34e!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-card.modern {
  border-color:#eadfed!important; box-shadow:0 16px 42px rgba(50,16,68,.075)!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-date {
  color:#fff!important; border:0!important; background:linear-gradient(160deg,#692a89,#421452)!important;
}
body:not(.session-started) #vitrineAteliers .planning-workshop-date span,
body:not(.session-started) #vitrineAteliers .planning-workshop-date b,
body:not(.session-started) #vitrineAteliers .planning-workshop-date em { color:#fff!important; }

body:not(.session-started) .home-bottom-grid .home-first-visit {
  color:#fff!important; background:linear-gradient(145deg,#4f1a65,#2e0c3a)!important;
}
body:not(.session-started) .home-bottom-grid .home-first-visit h3 { color:#fff!important; }
body:not(.session-started) .home-bottom-grid .home-first-visit-list p { color:rgba(255,255,255,.84)!important; }
body:not(.session-started) .home-bottom-grid .home-question-card {
  border-color:#f2ce45!important; background:linear-gradient(145deg,#ffdf69,#ffc936)!important;
}
body:not(.session-started) .home-bottom-grid .home-question-icon { background:rgba(255,255,255,.7)!important; }
body:not(.session-started) .home-bottom-grid .home-question-card a { border-color:rgba(50,16,68,.2)!important; background:rgba(255,255,255,.75)!important; }

body:not(.session-started) #vitrineAteliers.vitrine-ref-workshops { padding-bottom:24px!important; }
body:not(.session-started) #vitrineAteliers #workshopPlanningList { padding-bottom:8px!important; }
body:not(.session-started) .home-bottom-grid { margin-top:0!important; }

@media (max-width:940px) {
  body:not(.session-started) #vitrineAccueil .home-benefits { right:160px!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  body:not(.session-started) #vitrineAccueil .home-benefits>span:nth-child(2) { border-right:0!important; }
  body:not(.session-started) #vitrineAccueil .home-benefits>span:nth-child(-n+2) { border-bottom:1px solid #eadfec!important; }
  body:not(.session-started) #vitrineAccueil.vitrine-ref-hero { min-height:720px!important; padding-bottom:180px!important; }
  body:not(.session-started) #vitrineAccueil .vitrine-editorial-hero-figure .home-hero-human-note { bottom:168px!important; }
  body:not(.session-started) .vitrine-ref-orientation { padding-inline:28px!important; }
  body:not(.session-started) .home-audience-grid { grid-template-columns:1fr!important; }
  body:not(.session-started) .home-audience-card { min-height:220px!important; }
}
@media (max-width:620px) {
  body:not(.session-started) #vitrineAccueil.vitrine-ref-hero { min-height:790px!important; padding-bottom:250px!important; }
  body:not(.session-started) #vitrineAccueil .home-benefits {
    grid-template-columns:1fr!important; left:16px!important; right:112px!important; bottom:16px!important;
  }
  body:not(.session-started) #vitrineAccueil .home-benefits>span {
    justify-content:flex-start!important; min-height:42px!important; border-right:0!important; border-bottom:1px solid #eadfec!important;
  }
  body:not(.session-started) #vitrineAccueil .home-benefits>span:last-child { border-bottom:0!important; }
  body:not(.session-started) #vitrineAccueil .vitrine-editorial-hero-figure .home-hero-human-note { display:none!important; }
  body:not(.session-started) .vitrine-ref-orientation { padding:42px 16px 48px!important; }
  body:not(.session-started) .home-audience-card { min-height:205px!important; }
}

/* Priorite finale : palette et formulaire valides apres tous les styles historiques. */
.workshop-booking-modal .is-kids-booking {
  --booking-yellow:#ffd34e;
  --booking-purple:#5f207d;
  --booking-ink:#321044;
}
.workshop-booking-modal .is-kids-booking .booking-world-content {
  background:linear-gradient(145deg,#fff 0%,#fcf8fd 66%,#fffaf0 100%)!important;
}
.workshop-booking-modal .is-kids-booking .booking-form-section {
  border-top-color:#e3d4e7!important;
}
.workshop-booking-modal .is-kids-booking .booking-section-title small {
  display:inline-grid!important;
  place-items:center!important;
  width:30px!important;
  height:30px!important;
  margin:0 0 7px!important;
  border-radius:9px!important;
  color:var(--booking-ink)!important;
  background:var(--booking-yellow)!important;
  font-family:inherit!important;
  font-style:normal!important;
  font-weight:950!important;
}
.workshop-booking-modal .is-kids-booking .booking-child-row {
  padding:16px!important;
  border:1px solid #d8c6de!important;
  border-left:5px solid var(--booking-purple)!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(54,16,70,.06)!important;
}
.workshop-booking-modal .is-kids-booking .booking-child-row-head strong {
  color:var(--booking-ink)!important;
}
.workshop-booking-modal .is-kids-booking .booking-field input,
.workshop-booking-modal .is-kids-booking .booking-optional-section textarea {
  min-height:52px!important;
  border:1.5px solid #d9c8de!important;
  border-radius:13px!important;
  color:var(--booking-ink)!important;
  background:#fff!important;
  box-shadow:none!important;
}
.workshop-booking-modal .is-kids-booking .booking-field input:focus-visible,
.workshop-booking-modal .is-kids-booking .booking-optional-section textarea:focus-visible {
  outline:none!important;
  border-color:var(--booking-purple)!important;
  box-shadow:0 0 0 4px rgba(255,211,78,.38)!important;
}
.workshop-booking-modal .is-kids-booking .booking-add-child {
  border:1.5px solid var(--booking-purple)!important;
  color:var(--booking-purple)!important;
  background:#fff!important;
}
.workshop-booking-modal .is-kids-booking .booking-add-child:hover,
.workshop-booking-modal .is-kids-booking .booking-add-child:focus-visible {
  color:var(--booking-ink)!important;
  border-color:var(--booking-yellow)!important;
  background:var(--booking-yellow)!important;
}
.workshop-booking-modal .is-kids-booking .booking-consent-wrap {
  padding:13px 14px!important;
  border:1px solid #e2d4e5!important;
  border-radius:13px!important;
  background:#f7f0f9!important;
}
.workshop-booking-modal .is-kids-booking .booking-consent input {
  accent-color:var(--booking-purple)!important;
}
.workshop-booking-modal .is-kids-booking .booking-human-help {
  border-left-color:var(--booking-yellow)!important;
}
.workshop-booking-modal .is-kids-booking .booking-submit {
  color:var(--booking-ink)!important;
  background:var(--booking-yellow)!important;
  box-shadow:0 10px 24px rgba(87,56,0,.15)!important;
}
.workshop-booking-modal .is-kids-booking .booking-submit:hover,
.workshop-booking-modal .is-kids-booking .booking-submit:focus-visible {
  color:var(--booking-ink)!important;
  background:#f5c52f!important;
  outline:3px solid var(--booking-purple)!important;
  outline-offset:3px!important;
}
body:not(.session-started) #vitrineTarifs .pricing-card-media::after {
  content:none!important;
  display:none!important;
  background:none!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-immersive-copy {
  width:100%!important; max-width:none!important; margin:0!important;
  padding:100px clamp(34px,5vw,78px) 80px clamp(42px,6.2vw,104px)!important;
}
@media (max-width:720px) {
  body:not(.session-started) #vitrinePlateforme .atelierplus-immersive-copy {
    width:100%!important; padding:70px 20px!important;
  }
}
body:not(.session-started) #vitrinePlateforme,
body:not(.session-started) #vitrineTarifs,
body:not(.session-started) #vitrineContactPage { --rfc-yellow:#ffd34e; --rfc-yellow-hover:#f5c52f; --rfc-ink:#321044; }

body:not(.session-started) #vitrineTarifs .pricing-title-accent,
body:not(.session-started) #vitrineContactPage .contact-hero .contact-kicker,
body:not(.session-started) #vitrineContactPage .contact-visit .contact-section-label { color:var(--rfc-yellow)!important; }

body:not(.session-started) #vitrinePlateforme .atelierplus-immersive-copy>p,
body:not(.session-started) #vitrinePlateforme .atelierplus-floating-text .atelierplus-eyebrow,
body:not(.session-started) #vitrinePlateforme .atelierplus-two-ways-grid>article>div>span,
body:not(.session-started) #vitrinePlateforme .atelierplus-final-cta>.atelierplus-eyebrow,
body:not(.session-started) #vitrineTarifs .pricing-kicker,
body:not(.session-started) #vitrineTarifs .pricing-section-kicker,
body:not(.session-started) #vitrineTarifs .pricing-offer-label {
  display:inline-flex!important; width:max-content!important; align-items:center!important; min-height:30px!important;
  padding:6px 13px!important; border:0!important; border-radius:999px!important;
  color:var(--rfc-ink)!important; background:var(--rfc-yellow)!important;
  box-shadow:none!important; text-shadow:none!important; font-size:.69rem!important; font-weight:900!important;
  line-height:1!important; letter-spacing:.1em!important; text-transform:uppercase!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-life-copy .atelierplus-eyebrow,
body:not(.session-started) #vitrinePlateforme .atelierplus-host .atelierplus-eyebrow,
body:not(.session-started) #vitrinePlateforme .atelierplus-section-intro .atelierplus-eyebrow {
  display:block!important; width:auto!important; min-height:0!important; padding:0!important;
  color:#692789!important; background:transparent!important; border-radius:0!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-life-platform .atelierplus-eyebrow { color:var(--rfc-ink)!important; }
body:not(.session-started) #vitrineTarifs .pricing-price-badge,
body:not(.session-started) #vitrineTarifs .pricing-price-badge strong,
body:not(.session-started) #vitrineTarifs .pricing-price-badge span { color:var(--rfc-ink)!important; }

body:not(.session-started) #vitrinePlateforme .atelierplus-life-platform,
body:not(.session-started) #vitrineTarifs .pricing-price-badge,
body:not(.session-started) #vitrineTarifs .pricing-reassurance-icon,
body:not(.session-started) #vitrineTarifs .pricing-bottom,
body:not(.session-started) #vitrineContactPage .contact-reassurance>div>span,
body:not(.session-started) #vitrineContactPage .contact-visit-welcome,
body:not(.session-started) #vitrineContactPage .contact-help { background:var(--rfc-yellow)!important; }

body:not(.session-started) #vitrinePlateforme .atelierplus-immersive-actions a:first-child,
body:not(.session-started) #vitrinePlateforme .atelierplus-two-ways-grid a,
body:not(.session-started) #vitrineTarifs .pricing-card-action,
body:not(.session-started) #vitrineContactPage .contact-submit,
body:not(.session-started) #vitrineContactPage .contact-workshops-link {
  color:var(--rfc-ink)!important; background:var(--rfc-yellow)!important; border-color:var(--rfc-yellow)!important;
  text-shadow:none!important; box-shadow:0 8px 20px rgba(85,48,0,.13)!important;
}
body:not(.session-started) #vitrinePlateforme .atelierplus-immersive-actions a:first-child:hover,
body:not(.session-started) #vitrinePlateforme .atelierplus-two-ways-grid a:hover,
body:not(.session-started) #vitrineTarifs .pricing-card-action:hover,
body:not(.session-started) #vitrineContactPage .contact-submit:hover,
body:not(.session-started) #vitrineContactPage .contact-workshops-link:hover {
  color:var(--rfc-ink)!important; background:var(--rfc-yellow-hover)!important; border-color:var(--rfc-yellow-hover)!important;
}
body:not(.session-started) #vitrineContactPage .contact-featured-address { border-left-color:var(--rfc-yellow)!important; }

body:not(.session-started) #vitrineContactPage .contact-layout {
  grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr)!important; gap:22px!important; align-items:start!important;
}
body:not(.session-started) #vitrineContactPage .contact-visit { grid-column:1!important; grid-row:1!important; }
body:not(.session-started) #vitrineContactPage .contact-form {
  grid-column:2!important; grid-row:1!important; position:relative!important; overflow:hidden!important;
  padding:42px!important; border:1px solid #e3d4e7!important; border-radius:28px!important;
  background:linear-gradient(145deg,#fff 0%,#fcf8fd 58%,#fffaf0 100%)!important;
  box-shadow:0 20px 54px rgba(49,12,65,.11)!important;
}
body:not(.session-started) #vitrineContactPage .contact-form::before {
  content:""!important; position:absolute!important; inset:0 0 auto!important; height:7px!important; background:var(--rfc-yellow)!important;
}
body:not(.session-started) #vitrineContactPage .contact-form-heading {
  position:relative!important; padding:0 0 24px!important; margin-bottom:22px!important; border-bottom:1px solid #e7dce9!important;
}
body:not(.session-started) #vitrineContactPage .contact-form-heading::after {
  content:""!important; position:absolute!important; left:0!important; bottom:-2px!important; width:86px!important; height:3px!important;
  border-radius:4px!important; background:var(--rfc-yellow)!important;
}
body:not(.session-started) #vitrineContactPage .contact-form-heading h3 { max-width:650px!important; font-size:clamp(2.2rem,3.8vw,3.65rem)!important; }
body:not(.session-started) #vitrineContactPage .contact-form-heading>p:last-child { margin:14px 0 0!important; font-size:.93rem!important; }
body:not(.session-started) #vitrineContactPage .contact-form-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:18px!important; }
body:not(.session-started) #vitrineContactPage .contact-form label>span:not(.contact-consent span),
body:not(.session-started) #vitrineContactPage .contact-subject-field legend { margin-bottom:8px!important; color:#3d2347!important; font-size:.79rem!important; }
body:not(.session-started) #vitrineContactPage .contact-form input:not([type="radio"]):not([type="checkbox"]),
body:not(.session-started) #vitrineContactPage .contact-form textarea {
  border:1.5px solid #d9c8de!important; border-radius:14px!important; color:var(--rfc-ink)!important; background:#fff!important;
  transition:border-color .2s ease,box-shadow .2s ease!important;
}
body:not(.session-started) #vitrineContactPage .contact-form input:not([type="radio"]):not([type="checkbox"]) { min-height:54px!important; padding:0 16px!important; }
body:not(.session-started) #vitrineContactPage .contact-form textarea { min-height:155px!important; padding:15px 16px!important; }
body:not(.session-started) #vitrineContactPage .contact-form input:not([type="radio"]):not([type="checkbox"]):focus,
body:not(.session-started) #vitrineContactPage .contact-form textarea:focus { outline:none!important; border-color:#6a2689!important; box-shadow:0 0 0 4px rgba(255,211,78,.35)!important; }
body:not(.session-started) #vitrineContactPage .contact-phone-field,
body:not(.session-started) #vitrineContactPage .contact-subject-field,
body:not(.session-started) #vitrineContactPage .contact-message-field { grid-column:1/-1!important; }
body:not(.session-started) #vitrineContactPage .contact-subject-field {
  margin:2px 0 0!important; padding:18px!important; border:1px solid #e3d7e6!important; border-radius:18px!important; background:rgba(255,255,255,.76)!important;
}
body:not(.session-started) #vitrineContactPage .contact-choice-pills {
  display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:9px!important;
}
body:not(.session-started) #vitrineContactPage .contact-choice-pills label:last-child { grid-column:1/-1!important; }
body:not(.session-started) #vitrineContactPage .contact-choice-pills span {
  position:relative!important; min-height:50px!important; padding:8px 32px 8px 40px!important; display:flex!important; align-items:center!important;
  border:1px solid #ded0e2!important; border-radius:13px!important; color:#4d3456!important; background:#fff!important;
  font-size:.78rem!important; font-weight:800!important; line-height:1.25!important;
}
body:not(.session-started) #vitrineContactPage .contact-choice-pills span::before {
  content:""!important; position:absolute!important; left:14px!important; top:50%!important; width:14px!important; height:14px!important;
  margin-top:-7px!important; border:2px solid #a98db2!important; border-radius:50%!important; background:#fff!important; box-shadow:inset 0 0 0 3px #fff!important;
}
body:not(.session-started) #vitrineContactPage .contact-choice-pills input:checked+span { color:#fff!important; border-color:#5f207d!important; background:#5f207d!important; }
body:not(.session-started) #vitrineContactPage .contact-choice-pills input:checked+span::before { border-color:var(--rfc-yellow)!important; background:var(--rfc-yellow)!important; }
body:not(.session-started) #vitrineContactPage .contact-consent { margin:19px 0 16px!important; padding:13px 14px!important; border-radius:12px!important; background:#f6eef8!important; }
body:not(.session-started) #vitrineContactPage .contact-consent input { width:18px!important; height:18px!important; accent-color:#61217f!important; }
body:not(.session-started) #vitrineContactPage .contact-submit { width:100%!important; min-height:56px!important; display:flex!important; align-items:center!important; justify-content:center!important; gap:12px!important; border-radius:14px!important; }
body:not(.session-started) #vitrineContactPage .contact-submit span { color:var(--rfc-ink)!important; }
body:not(.session-started) #vitrineContactPage .contact-personal-reply { display:block!important; margin:10px 0 0!important; text-align:center!important; }

@media (max-width:980px) {
  body:not(.session-started) #vitrineContactPage .contact-layout { grid-template-columns:1fr!important; }
  body:not(.session-started) #vitrineContactPage .contact-form { grid-column:1!important; grid-row:1!important; }
  body:not(.session-started) #vitrineContactPage .contact-visit { grid-column:1!important; grid-row:2!important; }
}
@media (max-width:620px) {
  body:not(.session-started) #vitrineContactPage .contact-form { padding:30px 20px!important; }
  body:not(.session-started) #vitrineContactPage .contact-form-grid,
  body:not(.session-started) #vitrineContactPage .contact-choice-pills { grid-template-columns:1fr!important; }
  body:not(.session-started) #vitrineContactPage .contact-phone-field,
  body:not(.session-started) #vitrineContactPage .contact-subject-field,
  body:not(.session-started) #vitrineContactPage .contact-message-field,
  body:not(.session-started) #vitrineContactPage .contact-choice-pills label:last-child { grid-column:auto!important; }
}

/* Priorite absolue : hero Espace educatif bord a bord. */
body:not(.session-started) #vitrinePlateforme .atelierplus-immersive-hero {
  position:relative!important;
  left:50%!important;
  width:100vw!important;
  max-width:100vw!important;
  margin-left:-50vw!important;
  margin-right:0!important;
  border-radius:0!important;
}
