/* Caramhello — Couche photographique contextuelle du vrai bandeau Kadence.
   Le CSS additionnel V3/V4.1 et le logo animé d'origine restent inchangés.
   Actif pour les 3 pages principales et les 3 pages Notre approche. */
body.chb-has-banner #masthead .site-main-header-wrap .site-header-row-container-inner,
body.chb-has-banner #masthead .site-mobile-header-wrap .site-header-row-container-inner {
  position:relative !important;
  isolation:isolate;
  min-height:536px !important;
  overflow:visible !important;
}
body.chb-has-banner #masthead .site-main-header-wrap .site-header-row-container-inner .site-header-row,
body.chb-has-banner #masthead .site-mobile-header-wrap .site-header-row-container-inner .site-header-row {
  min-height:529px !important;
  position:relative;
  z-index:4;
}
body.chb-has-banner #masthead .chb-visual {
  position:absolute;
  inset:0;
  z-index:2;
  overflow:hidden;
  pointer-events:none;
}
body.chb-has-banner #masthead .chb-photo {
  position:absolute;
  inset:-8px;
  background-image:var(--chb-photo-desktop);
  background-position: center center;
  background-repeat:no-repeat;
  background-size:cover;
  opacity:0.79;
  transform:scale(1.055);
  animation:chb-photo-open 8s cubic-bezier(.2,.6,.2,1) both;
}
body.chb-has-banner #masthead .chb-photo::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(92deg,rgba(255,249,215,.96) 0%,rgba(255,249,215,.87) 27%,rgba(255,247,211,.56) 53%,rgba(253,234,142,.26) 76%,rgba(239,204,85,.07) 100%);
}
body.chb-has-banner #masthead .chb-light {
  position:absolute;
  inset:-90px;
  opacity:.38;
  transform:translateX(-35%);
  background:radial-gradient(ellipse 18% 70% at 38% 15%,rgba(255,255,255,.82),transparent 88%);
  mix-blend-mode:screen;
  animation:chb-light-sweep 7s ease-in-out infinite alternate;
}
body.chb-has-banner #masthead .chb-copy {
  position:absolute;
  left:clamp(360px,35vw,630px);
  right:clamp(210px,19vw,330px);
  top:51%;
  transform:translateY(-41%);
  max-width:780px;
  padding:11px 18px 14px 20px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.6);
  background:linear-gradient(110deg,rgba(255,252,242,.52),rgba(255,251,234,.25));
  box-shadow:0 9px 35px rgba(102,71,33,.07);
  -webkit-backdrop-filter:blur(4px);
  backdrop-filter:blur(4px);
}
body.chb-has-banner #masthead .chb-copy p {margin:0 !important;max-width:100%;overflow-wrap:break-word;}
body.chb-has-banner #masthead .chb-kicker {
  font:700 11px/1.4 Arial,Helvetica,sans-serif !important;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:#87523f !important;
  opacity:0;
  animation:chb-show .7s ease-out .1s forwards;
}
body.chb-has-banner #masthead .chb-title {
  margin-top:9px !important;
  font:400 clamp(26px,3.15vw,46px)/1.09 Georgia,'Times New Roman',serif !important;
  letter-spacing:-.035em;
  color:#33231c !important;
  opacity:0;
  animation:chb-show .8s cubic-bezier(.2,.6,.2,1) .22s forwards;
}
body.chb-has-banner #masthead .chb-subtitle {
  margin-top:8px !important;
  font:500 clamp(15px,1.55vw,20px)/1.42 Arial,Helvetica,sans-serif !important;
  color:#674339 !important;
  opacity:0;
  animation:chb-show .85s ease-out .5s forwards;
}
@keyframes chb-show {from{opacity:0;transform:translateY(17px)}to{opacity:1;transform:translateY(0)}}
@keyframes chb-photo-open {from{opacity:0;transform:scale(1.055)}to{opacity:.79;transform:scale(1)}}
@keyframes chb-light-sweep {from{transform:translateX(-35%);opacity:.2}to{transform:translateX(21%);opacity:.4}}
/* Entre 1025 et 1200 px, dégager le menu à droite et laisser du texte plus compact. */
@media (min-width:1025px) and (max-width:1250px) {
  body.chb-has-banner #masthead .chb-copy{left:clamp(360px,35vw,440px);right:220px;padding:10px 14px}
  body.chb-has-banner #masthead .chb-title{font-size:clamp(25px,2.9vw,37px)!important}
}
/* Kadence possède une véritable en-tête mobile distincte. */
@media (max-width:1024px) {
  body.chb-has-banner #masthead .site-mobile-header-wrap .site-header-row-container-inner{min-height:456px!important}
  body.chb-has-banner #masthead .site-mobile-header-wrap .site-header-row-container-inner .site-header-row{min-height:170px!important}
  body.chb-has-banner #masthead .chb-copy{top:auto;bottom:12px;left:clamp(16px,4vw,30px);right:clamp(16px,4vw,30px);width:auto;max-width:none;transform:none;padding:8px 15px 12px;border-radius:12px}
  body.chb-has-banner #masthead .chb-kicker{font-size:9px!important}
  body.chb-has-banner #masthead .chb-title{font-size:clamp(23px,3.5vw,34px)!important;margin-top:3px!important}
  body.chb-has-banner #masthead .chb-subtitle{font-size:14px!important;margin-top:3px!important}
  body.chb-has-banner #masthead .chb-photo{background-image:var(--chb-photo-mobile);background-position:center center}
}
@media(max-width:520px){
  body.chb-has-banner #masthead .site-mobile-header-wrap .site-header-row-container-inner{min-height:470px!important}
  body.chb-has-banner #masthead .chb-title{font-size:clamp(21px,5vw,27px)!important;line-height:1.08!important}
  body.chb-has-banner #masthead .chb-subtitle{font-size:13px!important}
}
@media(prefers-reduced-motion:reduce){
  body.chb-has-banner #masthead .chb-photo,
  body.chb-has-banner #masthead .chb-light,
  body.chb-has-banner #masthead .chb-kicker,
  body.chb-has-banner #masthead .chb-title,
  body.chb-has-banner #masthead .chb-subtitle{animation:none!important;opacity:1!important;transform:none!important}
}

/* V2.0 — Le panneau débute loin du logo et n’intercepte jamais les clics du menu. */
@media (min-width:1025px) {body.chb-has-banner #masthead .chb-copy{top:53%;}}
@media (min-width:1025px) and (max-width:1120px){body.chb-has-banner #masthead .chb-title{font-size:30px!important;}body.chb-has-banner #masthead .chb-subtitle{font-size:16px!important;}}
@media (max-width:1024px){body.chb-has-banner #masthead .chb-copy{top:auto;bottom:14px;}body.chb-has-banner #masthead .chb-photo{opacity:.72}}
@media (max-width:480px){body.chb-has-banner #masthead .chb-copy{bottom:12px;left:12px;right:12px;}body.chb-has-banner #masthead .chb-title{font-size:clamp(20px,5vw,25px)!important;}}

/* V2.1 — +70 % minimum de hauteur par rapport aux bandeaux V1.
   Original V1 : 304 px bureau, 250 px tablette, 263 px mobile.
   Version actuelle : 536 px bureau (+76%), 456 px tablette (+82%), 470 px mobile (+79%).
   Libérer l’espace photographique tout en éloignant le titre du logo. */
@media (min-width:1025px){
  body.chb-has-banner #masthead .site-main-header-wrap .site-header-row-container-inner{min-height:536px!important;}
  body.chb-has-banner #masthead .site-main-header-wrap .site-header-row-container-inner .site-header-row{min-height:529px!important;}
  body.chb-has-banner #masthead .chb-copy{left:clamp(370px,35vw,630px);top:52%;transform:translateY(-36%)}
}
@media (max-width:1024px){
  body.chb-has-banner #masthead .site-mobile-header-wrap .site-header-row-container-inner{min-height:456px!important;}
  body.chb-has-banner #masthead .chb-copy{bottom:25px;}
}
@media (max-width:520px){
  body.chb-has-banner #masthead .site-mobile-header-wrap .site-header-row-container-inner{min-height:470px!important;}
  body.chb-has-banner #masthead .chb-copy{bottom:20px;}
}

/* V2.2 — Typographie agrandie + verre dépoli sur les 7 bandeaux réels Kadence.
   Les anciennes feuilles CSS V3/V4.1 du personnalisateur ne sont pas modifiées.
   Ce bloc, chargé dans l’extension, ne s’applique pas à l’accueil ni aux pages légales. */
body.chb-has-banner #masthead .chb-copy {
  box-sizing:border-box;
  max-width:min(850px, calc(100% - 460px));
  left:clamp(375px,36vw,630px);
  right:clamp(24px,3.5vw,58px);
  top:53%;
  transform:translateY(-39%);
  padding:24px clamp(22px,3vw,42px) 26px;
  border:1.5px solid rgba(255,255,255,.74);
  border-top-color:rgba(255,255,255,.92);
  border-radius:25px;
  background:linear-gradient(145deg,
    rgba(255,255,255,.69) 0%,
    rgba(255,253,244,.53) 34%,
    rgba(255,248,231,.28) 100%);
  -webkit-backdrop-filter:blur(13px) saturate(120%);
  backdrop-filter:blur(13px) saturate(120%);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.95),
     inset 0 -2px 14px rgba(255,255,255,.16),
     0 20px 48px rgba(69,42,22,.18),
     0 2px 9px rgba(99,55,28,.07);
  overflow:hidden;
}
body.chb-has-banner #masthead .chb-copy::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:linear-gradient(125deg,
     rgba(255,255,255,.33) 0%,
     rgba(255,255,255,.08) 35%,
     transparent 48%,
     rgba(255,255,255,.10) 77%,
     transparent 100%);
}
body.chb-has-banner #masthead .chb-copy::after {
  content:"";
  position:absolute;
  left:5%;right:5%;top:0;
  height:1px;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.92),transparent);
}
body.chb-has-banner #masthead .chb-copy p {position:relative;z-index:1;}
body.chb-has-banner #masthead .chb-kicker {
  font-size:clamp(12px,1.02vw,15px)!important;
  letter-spacing:.19em;
  color:#81503b!important;
  text-shadow:0 1px 0 rgba(255,255,255,.68);
}
body.chb-has-banner #masthead .chb-title {
  font-size:clamp(43px,4.35vw,67px)!important;
  line-height:1.06!important;
  font-weight:400!important;
  letter-spacing:-.033em;
  color:#35251d!important;
  text-wrap:balance;
  -webkit-text-stroke:.28px rgba(255,255,255,.38);
  text-shadow:0 1px 0 rgba(255,255,255,.86),
    0 3px 12px rgba(80,48,28,.22);
  margin-top:12px!important;
}
body.chb-has-banner #masthead .chb-subtitle {
  font-size:clamp(22px,2.1vw,31px)!important;
  line-height:1.23!important;
  font-weight:500!important;
  color:#49352b!important;
  text-wrap:pretty;
  text-shadow:0 1px 0 rgba(255,255,255,.85),
    0 2px 7px rgba(82,48,29,.13);
  margin-top:13px!important;
}
@media(min-width:1025px) and (max-width:1260px){
 body.chb-has-banner #masthead .chb-copy {
   left:clamp(360px,34vw,450px);right:28px;
   max-width:none;padding:20px 23px 24px;
 }
 body.chb-has-banner #masthead .chb-title{font-size:clamp(41px,4.2vw,55px)!important;}
 body.chb-has-banner #masthead .chb-subtitle{font-size:clamp(21px,2.1vw,26px)!important;}
}
@media(max-width:1024px){
 body.chb-has-banner #masthead .chb-copy {
   left:clamp(18px,3.5vw,32px);right:clamp(18px,3.5vw,32px);
   width:auto;max-width:none;top:auto;bottom:20px;transform:none;
   padding:17px 23px 19px;border-radius:19px;
 }
 body.chb-has-banner #masthead .chb-kicker{font-size:12px!important;}
 body.chb-has-banner #masthead .chb-title{font-size:clamp(36px,5.6vw,49px)!important;line-height:1.06!important;margin-top:7px!important;}
 body.chb-has-banner #masthead .chb-subtitle{font-size:clamp(20px,3.1vw,26px)!important;line-height:1.27!important;margin-top:10px!important;}
}
@media(max-width:520px){
 body.chb-has-banner #masthead .chb-copy{
    left:12px;right:12px;bottom:16px;
    padding:13px 17px 16px;border-radius:17px;
 }
 body.chb-has-banner #masthead .chb-kicker{font-size:11px!important;letter-spacing:.12em;}
 body.chb-has-banner #masthead .chb-title{font-size:clamp(30px,8.1vw,40px)!important;line-height:1.055!important;margin-top:6px!important;}
 body.chb-has-banner #masthead .chb-subtitle{font-size:clamp(18px,4.8vw,23px)!important;line-height:1.24!important;margin-top:8px!important;}
}
@media(prefers-reduced-transparency:reduce){
 body.chb-has-banner #masthead .chb-copy{background:rgba(255,250,233,.97)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
}

/* V2.3 — Accueil : privilégier la lecture de toutes les lettres LEARN sur
   mobile sans toucher à l'en-tête Kadence ni aux autres pages. */
body.chb-has-banner.home #masthead .chb-photo {background-position:center center;}
@media(max-width:1024px){
 body.chb-has-banner.home #masthead .chb-photo {background-position:center center;}
}


/* V2.5 — CORRECTIF MINIMAL. Pas de végétation dans les bandeaux.
   Les photos, l'animation de la montgolfière et la typographie vitrée V2.3
   restent rigoureusement inchangées.
   La rangée Kadence doit rester en HAUT du bandeau, tandis que le panneau
   de titres est en BAS. Cette séparation ne modifie pas les menus WordPress. */
@media (min-width:1025px) {
  body.chb-has-banner #masthead .site-main-header-wrap .site-header-row-container-inner .site-header-row {
    min-height:238px !important;
    height:auto !important;
    position:relative;
    z-index:12 !important;
    align-items:flex-start !important;
  }
  body.chb-has-banner #masthead .site-main-header-wrap .site-header-section-right {
    align-self:flex-start !important;
    padding-top:18px !important;
  }
  body.chb-has-banner #masthead .site-main-header-wrap .header-navigation {
    position:relative;
    z-index:20;
  }
  body.chb-has-banner #masthead .chb-copy {
    top:auto !important;
    bottom:24px !important;
    transform:none !important;
    pointer-events:none !important;
  }
}
@media(max-width:1024px) {
  body.chb-has-banner #masthead .site-mobile-header-wrap .site-header-row-container-inner .site-header-row {
    min-height:170px !important;
    height:auto !important;
    z-index:12 !important;
    align-items:flex-start !important;
  }
  body.chb-has-banner #masthead .chb-copy {
    top:auto !important;
    bottom:20px !important;
    transform:none !important;
    pointer-events:none !important;
  }
}
/* Capitales demandées pour le MENU CLASSIQUE, sans modifier les libellés,
   les polices ou la place des cinq liens et des trois sous-menus. */
#masthead .header-navigation a,
#masthead .mobile-navigation a,
#masthead .mobile-header-navigation a {
  text-transform:uppercase !important;
}
