/* CB Production · V30.193 · Crédits XXL, fond clair et abonnements en grand */

/* Le fond clair est volontairement forcé sur les deux occurrences du barème. */
body #home-page #credit-matrix.cb-credit-surface,
body #services-page #services-credit-grid.cb-credit-surface{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  padding:clamp(88px,8vw,148px) max(24px,7vw) clamp(108px,9vw,168px)!important;
  background:
    radial-gradient(circle at 86% 8%,rgba(184,119,68,.34),transparent 32%),
    radial-gradient(circle at 5% 96%,rgba(255,255,255,.78),transparent 35%),
    linear-gradient(128deg,#f8f2ea 0%,#eadcca 51%,#d9bea4 100%)!important;
  color:#17100c!important;
}
body #home-page #credit-matrix.cb-credit-surface::before,
body #services-page #services-credit-grid.cb-credit-surface::before{
  content:""!important;
  position:absolute!important;
  z-index:-1!important;
  inset:0!important;
  pointer-events:none!important;
  opacity:.52!important;
  background:
    linear-gradient(105deg,transparent 0 56%,rgba(255,255,255,.22) 56% 71%,transparent 71%),
    repeating-linear-gradient(96deg,transparent 0 210px,rgba(70,42,24,.035) 211px,transparent 212px 420px)!important;
}
body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .matrix-head,
body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .cb-service-catalog{
  position:relative!important;
  z-index:1!important;
  width:min(1460px,100%)!important;
  max-width:none!important;
  margin-inline:auto!important;
}
body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .matrix-head{
  display:block!important;
  margin:0 auto clamp(70px,7vw,116px)!important;
  text-align:left!important;
}
body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .matrix-head h2{
  max-width:1180px!important;
  margin:0!important;
  color:#15100c!important;
  font-size:clamp(78px,9vw,156px)!important;
  font-weight:950!important;
  line-height:.82!important;
  letter-spacing:-.08em!important;
  text-wrap:balance!important;
}
body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .matrix-head>p,
body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .cb-credit-kicker,
body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .services-credit-kicker,
body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .services-credit-annual{
  display:none!important;
}

/* Une vraie liste pleine largeur : pas de petites cartes et pas de tableau compact. */
body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .cb-credit-board{
  display:block!important;
}
body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .cb-credit-group{
  min-width:0!important;
  margin:0 0 clamp(74px,7vw,116px)!important;
  border:0!important;
}
body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .cb-credit-group:last-child{
  margin-bottom:0!important;
}
body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .cb-credit-group>header{
  display:block!important;
  padding:0 0 clamp(24px,2.8vw,42px)!important;
  border-bottom:4px solid #6e472e!important;
}
body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .cb-credit-group>header>span{
  display:none!important;
}
body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .cb-credit-group h3{
  max-width:1000px!important;
  margin:0!important;
  color:#21150e!important;
  font-size:clamp(42px,4.7vw,76px)!important;
  font-weight:950!important;
  line-height:.92!important;
  letter-spacing:-.065em!important;
}
body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .cb-credit-tracklist{
  display:block!important;
}
body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .cb-credit-track{
  all:unset!important;
  box-sizing:border-box!important;
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:20px 42px!important;
  width:100%!important;
  min-height:132px!important;
  padding:29px 0!important;
  border-bottom:1px solid rgba(51,31,19,.24)!important;
  color:#1a120d!important;
  cursor:pointer!important;
  transition:padding .32s cubic-bezier(.22,1,.36,1),background .32s ease,border-color .32s ease,transform .55s cubic-bezier(.22,1,.36,1),opacity .55s ease!important;
}
body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .cb-credit-track:hover,
body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .cb-credit-track:focus-visible,
body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .cb-credit-track.is-open{
  padding-left:28px!important;
  padding-right:28px!important;
  border-color:rgba(69,40,23,.56)!important;
  background:rgba(255,255,255,.42)!important;
  outline:none!important;
}
body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .cb-credit-name{
  min-width:0!important;
  color:inherit!important;
  font:inherit!important;
  white-space:normal!important;
}
body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .cb-credit-name strong{
  display:block!important;
  color:#21150f!important;
  font-size:clamp(31px,2.7vw,48px)!important;
  font-weight:900!important;
  line-height:1.02!important;
  letter-spacing:-.05em!important;
}
body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .cb-credit-cost{
  color:#7a4828!important;
  font-family:Arial,sans-serif!important;
  font-size:clamp(30px,2.5vw,46px)!important;
  font-weight:950!important;
  line-height:1!important;
  letter-spacing:-.055em!important;
  text-align:right!important;
  white-space:nowrap!important;
}
body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .cb-credit-description{
  grid-column:1/-1!important;
  display:block!important;
  max-width:930px!important;
  max-height:0!important;
  margin:0!important;
  overflow:hidden!important;
  color:rgba(30,20,13,.67)!important;
  font-family:Arial,sans-serif!important;
  font-size:clamp(18px,1.35vw,23px)!important;
  font-weight:600!important;
  line-height:1.48!important;
  letter-spacing:-.018em!important;
  white-space:normal!important;
  opacity:0!important;
  transform:translateY(-8px)!important;
  transition:max-height .38s ease,opacity .3s ease,transform .38s cubic-bezier(.22,1,.36,1),margin .38s ease!important;
}
body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .cb-credit-track:hover .cb-credit-description,
body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .cb-credit-track:focus-visible .cb-credit-description,
body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .cb-credit-track.is-open .cb-credit-description{
  max-height:180px!important;
  margin-top:4px!important;
  opacity:1!important;
  transform:none!important;
}
body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .cb-credit-track.cb-row-pending{
  opacity:0!important;
  transform:translateY(24px)!important;
}
body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .cb-credit-track.cb-row-visible{
  opacity:1!important;
  transform:none!important;
  transition-delay:var(--cb-row-delay,0ms)!important;
}

/* Le calcul sous les exemples annuels disparaît : on garde seulement l'exemple concret. */
#year-proof .year-example small{
  display:none!important;
}

/* Fenêtre d'abonnement : une seule grande surface, sans empilement de cartes. */
.m-card .m-cta{
  display:grid!important;
  gap:10px!important;
}
.m-card .cb-plan-more{
  appearance:none!important;
  width:100%!important;
  min-height:48px!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:850!important;
  letter-spacing:-.01em!important;
  cursor:pointer!important;
  transition:background .2s ease,transform .2s ease!important;
}
.m-card .cb-plan-more:hover{
  background:rgba(255,255,255,.18)!important;
  transform:scale(1.015)!important;
}
.cb-plan-modal-overlay{
  position:fixed!important;
  z-index:100000!important;
  inset:0!important;
  display:grid!important;
  place-items:center!important;
  padding:24px!important;
  background:rgba(20,14,10,.52)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  backdrop-filter:blur(18px)!important;
  opacity:0!important;
  visibility:hidden!important;
  transition:opacity .28s ease,visibility .28s ease!important;
}
.cb-plan-modal-overlay.is-open{
  opacity:1!important;
  visibility:visible!important;
}
.cb-plan-modal-panel{
  --cb-modal-a:#c18a57;
  --cb-modal-b:#553621;
  position:relative!important;
  width:min(1120px,100%)!important;
  max-height:min(900px,calc(100vh - 48px))!important;
  overflow:auto!important;
  border:0!important;
  border-radius:34px!important;
  background:
    radial-gradient(circle at 86% 6%,rgba(255,255,255,.22),transparent 30%),
    linear-gradient(138deg,var(--cb-modal-a) 0%,var(--cb-modal-b) 66%,#241912 100%)!important;
  color:#fff!important;
  box-shadow:0 36px 120px rgba(25,14,8,.42)!important;
  opacity:0!important;
  transform:translateY(34px) scale(.975)!important;
  transition:opacity .32s ease,transform .42s cubic-bezier(.22,1,.36,1)!important;
}
.cb-plan-modal-overlay.is-open .cb-plan-modal-panel{
  opacity:1!important;
  transform:none!important;
}
.cb-plan-modal-panel[data-plan="creator"]{--cb-modal-a:#ad7b49;--cb-modal-b:#3e553b;}
.cb-plan-modal-panel[data-plan="signature"]{--cb-modal-a:#b46a46;--cb-modal-b:#503337;}
.cb-plan-modal-panel[data-plan="insider"]{--cb-modal-a:#6b5a49;--cb-modal-b:#22201d;}
.cb-plan-modal-close{
  position:absolute!important;
  z-index:2!important;
  top:24px!important;
  right:24px!important;
  display:grid!important;
  place-items:center!important;
  width:48px!important;
  height:48px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.16)!important;
  color:#fff!important;
  font-size:31px!important;
  line-height:1!important;
  cursor:pointer!important;
}
.cb-plan-modal-content{
  padding:clamp(52px,6vw,82px)!important;
}
.cb-plan-modal-eyebrow{
  margin:0 0 20px!important;
  color:rgba(255,255,255,.72)!important;
  font-size:14px!important;
  font-weight:900!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}
.cb-plan-modal-title{
  max-width:900px!important;
  margin:0!important;
  color:#fff!important;
  font-size:clamp(58px,8.5vw,116px)!important;
  font-weight:950!important;
  line-height:.82!important;
  letter-spacing:-.08em!important;
}
.cb-plan-modal-lead{
  max-width:790px!important;
  margin:30px 0 0!important;
  color:rgba(255,255,255,.82)!important;
  font-size:clamp(20px,2vw,29px)!important;
  font-weight:650!important;
  line-height:1.38!important;
  letter-spacing:-.025em!important;
}
.cb-plan-modal-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:22px 56px!important;
  margin:clamp(42px,5vw,68px) 0 0!important;
  padding:30px 0!important;
  border-top:1px solid rgba(255,255,255,.28)!important;
  border-bottom:1px solid rgba(255,255,255,.28)!important;
}
.cb-plan-modal-meta>div{
  min-width:210px!important;
}
.cb-plan-modal-meta strong,
.cb-plan-modal-meta span{
  display:block!important;
}
.cb-plan-modal-meta strong{
  color:#fff!important;
  font-size:clamp(34px,3.6vw,58px)!important;
  font-weight:950!important;
  line-height:.95!important;
  letter-spacing:-.06em!important;
}
.cb-plan-modal-meta span{
  margin-top:8px!important;
  color:rgba(255,255,255,.64)!important;
  font-size:14px!important;
  font-weight:750!important;
}
.cb-plan-modal-benefits{
  margin-top:clamp(42px,5vw,66px)!important;
}
.cb-plan-modal-benefits h3{
  margin:0 0 20px!important;
  color:#fff!important;
  font-size:clamp(30px,3vw,48px)!important;
  font-weight:900!important;
  letter-spacing:-.05em!important;
}
.cb-plan-modal-benefits ul{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:0 48px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.cb-plan-modal-benefits li{
  position:relative!important;
  padding:19px 0 19px 34px!important;
  border-top:1px solid rgba(255,255,255,.22)!important;
  color:#fff!important;
  font-size:clamp(17px,1.5vw,22px)!important;
  font-weight:700!important;
  line-height:1.35!important;
}
.cb-plan-modal-benefits li::before{
  content:"✓"!important;
  position:absolute!important;
  left:0!important;
  top:19px!important;
  color:#fff3cf!important;
  font-weight:950!important;
}
.cb-plan-modal-example{
  max-width:780px!important;
  margin:36px 0 0!important;
  color:rgba(255,255,255,.78)!important;
  font-size:clamp(18px,1.6vw,24px)!important;
  font-weight:650!important;
  line-height:1.45!important;
}
.cb-plan-modal-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:14px!important;
  margin-top:44px!important;
}
.cb-plan-modal-primary,
.cb-plan-modal-secondary{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:58px!important;
  padding:0 28px!important;
  border:0!important;
  border-radius:999px!important;
  font-size:16px!important;
  font-weight:900!important;
  text-decoration:none!important;
  cursor:pointer!important;
}
.cb-plan-modal-primary{
  background:#fff!important;
  color:#1c130e!important;
}
.cb-plan-modal-secondary{
  background:rgba(255,255,255,.14)!important;
  color:#fff!important;
}
body.cb-plan-modal-lock{
  overflow:hidden!important;
}

/* Le CTA en double dans le contenu disparaît : l'accès Compte reste dans le header. */
#home-page .hero-main-cta,
#home-page .intro-cta{
  display:none!important;
}

/* Instagram devient un vrai bouton de marque dans les différentes versions du header. */
.cb-stream-instagram,
.cb-top-instagram-link,
.cb-instagram-link{
  border:0!important;
  background:
    radial-gradient(circle at 30% 105%,#feda75 0 19%,#fa7e1e 20% 36%,transparent 37%),
    linear-gradient(135deg,#feda75 0%,#fa7e1e 24%,#d62976 52%,#962fbf 76%,#4f5bd5 100%)!important;
  color:#fff!important;
  opacity:1!important;
  box-shadow:0 9px 24px rgba(214,41,118,.28)!important;
}
.cb-stream-instagram{
  min-height:40px!important;
  padding:0 16px!important;
  border-radius:999px!important;
}
.cb-stream-instagram:hover,
.cb-top-instagram-link:hover,
.cb-instagram-link:hover{
  color:#fff!important;
  filter:saturate(1.08) brightness(1.05)!important;
  transform:translateY(-2px)!important;
}
.cb-stream-instagram svg,
.cb-top-instagram-link svg,
.cb-instagram-link svg{
  color:#fff!important;
  stroke:#fff!important;
}

@media(max-width:760px){
  body #home-page #credit-matrix.cb-credit-surface,
  body #services-page #services-credit-grid.cb-credit-surface{
    padding:76px 20px 96px!important;
  }
  body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .matrix-head{
    margin-bottom:64px!important;
  }
  body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .matrix-head h2{
    font-size:clamp(64px,19vw,96px)!important;
  }
  body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .cb-credit-group{
    margin-bottom:70px!important;
  }
  body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .cb-credit-group h3{
    font-size:clamp(38px,12vw,58px)!important;
  }
  body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .cb-credit-track{
    grid-template-columns:1fr!important;
    gap:12px!important;
    min-height:128px!important;
    padding:26px 0!important;
  }
  body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .cb-credit-track:hover,
  body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .cb-credit-track:focus-visible,
  body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .cb-credit-track.is-open{
    padding-left:16px!important;
    padding-right:16px!important;
  }
  body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .cb-credit-name strong{
    font-size:clamp(27px,8vw,36px)!important;
  }
  body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .cb-credit-cost{
    font-size:clamp(25px,7.5vw,34px)!important;
    text-align:left!important;
  }
  body :is(#home-page #credit-matrix,#services-page #services-credit-grid) .cb-credit-description{
    font-size:18px!important;
  }
  .cb-plan-modal-overlay{
    align-items:end!important;
    padding:0!important;
  }
  .cb-plan-modal-panel{
    width:100%!important;
    max-height:92dvh!important;
    border-radius:28px 28px 0 0!important;
  }
  .cb-plan-modal-content{
    padding:58px 22px 34px!important;
  }
  .cb-plan-modal-close{
    top:14px!important;
    right:14px!important;
    width:44px!important;
    height:44px!important;
  }
  .cb-plan-modal-title{
    font-size:clamp(52px,17vw,78px)!important;
  }
  .cb-plan-modal-lead{
    margin-top:22px!important;
    font-size:20px!important;
  }
  .cb-plan-modal-meta{
    gap:26px!important;
  }
  .cb-plan-modal-meta>div{
    min-width:calc(50% - 13px)!important;
  }
  .cb-plan-modal-benefits ul{
    grid-template-columns:1fr!important;
  }
  .cb-plan-modal-actions,
  .cb-plan-modal-primary,
  .cb-plan-modal-secondary{
    width:100%!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .cb-credit-track,
  .cb-credit-description,
  .cb-plan-modal-overlay,
  .cb-plan-modal-panel{
    transition:none!important;
  }
}
