/* Fondus adaptés au contenu : les photos gardent leurs détails et leurs cadrages.
   L’horloge n’est pas concernée ; le carrousel conserve son traitement approuvé. */
:where(.bp-office,.ns-image,.np-office,.aw-photo) img,
.ar-slide .wp-block-cover__image-background {
  --ar-image-edge:linear-gradient(to right,transparent 0%,#000 18%,#000 96%,transparent 100%);
  --ar-image-height:linear-gradient(to bottom,transparent 0%,#000 7%,#000 90%,transparent 100%);
  -webkit-mask-image:var(--ar-image-edge),var(--ar-image-height);
  mask-image:var(--ar-image-edge),var(--ar-image-height);
  -webkit-mask-composite:source-in;
  mask-composite:intersect;
  border-radius:0;
}
/* Ouvertures : images de pleine hauteur, raccordées au blanc du texte.
   Les compositions déjà retenues de Chrononutrition et Ateliers restent intactes. */
:is(.bp-bio,.np-page,.ns-page)>:is(.bp-hero,.np-hero,.ns-hero){
  position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;
  width:100%;max-width:none;min-height:540px;margin-inline:0!important;
  gap:0;padding-block:64px;padding-inline:max(56px,calc((100% - 1180px)/2));background:white;
}
.bp-hero>.bp-hero-copy,.np-hero>.np-lead,.ns-hero>.wp-block-group{
  position:relative;z-index:1;width:50%;max-width:590px;
}
.bp-hero .bp-office,.np-hero .np-heart,.ns-hero .ns-image{
  position:absolute;inset:0 0 0 auto;width:55%;height:100%;max-width:none;margin:0;
}
.bp-hero .bp-office img,.np-hero .np-heart img,.ns-hero .ns-image img{
  display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;border-radius:0;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 30%);
  mask-image:linear-gradient(to right,transparent,#000 30%);
  -webkit-mask-composite:source-over;mask-composite:add;
}
.bp-hero .bp-office img{object-position:55% center}
.ns-hero .ns-image img{object-position:55% center}
.np-hero .np-heart img{
  object-fit:contain;object-position:center;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 16%);
  mask-image:linear-gradient(to right,transparent,#000 16%);
}
/* Le carrousel garde sa composition et ses contrôles ; seul le cadre de l'image disparaît. */
.ar-carousel{background:white}
.ar-carousel .ar-slide .wp-block-cover__image-background{
  inset:0 0 0 auto;width:55%;max-width:none;height:100%;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 28%);
  mask-image:linear-gradient(to right,transparent,#000 28%);
  -webkit-mask-composite:source-over;mask-composite:add;
}
@media(max-width:1100px) and (min-width:1001px){
  :is(.bp-bio,.np-page,.ns-page)>:is(.bp-hero,.np-hero,.ns-hero){min-height:510px;padding-block:48px}
}
@media(max-width:1000px){
  :is(.bp-bio,.np-page,.ns-page)>:is(.bp-hero,.np-hero,.ns-hero){display:block;min-height:0;padding:38px 0 0}
  .bp-hero>.bp-hero-copy,.np-hero>.np-lead,.ns-hero>.wp-block-group{width:calc(100% - 72px);max-width:none;margin-inline:auto}
  .bp-hero .bp-office,.np-hero .np-heart,.ns-hero .ns-image{position:relative;inset:auto;width:100%;height:300px;margin:24px 0 0}
  .bp-hero .bp-office img,.np-hero .np-heart img,.ns-hero .ns-image img{
    -webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%);
    mask-image:linear-gradient(to bottom,transparent,#000 18%);
  }
  .bp-hero .bp-office img{object-position:center 54%}
  .ns-hero .ns-image img{object-position:center 55%}
  .np-hero .np-heart{height:310px}
  .np-hero .np-heart img{
    -webkit-mask-image:linear-gradient(to bottom,transparent,#000 8%);
    mask-image:linear-gradient(to bottom,transparent,#000 8%);
  }
}
@media(max-width:650px){
  .ar-carousel .ar-slide .wp-block-cover__image-background{
    position:relative;inset:auto;width:100%;height:300px;
    -webkit-mask-image:linear-gradient(to bottom,#000 82%,transparent);
    mask-image:linear-gradient(to bottom,#000 82%,transparent);
  }
}
@media(max-width:620px){
  :is(.bp-bio,.np-page,.ns-page)>:is(.bp-hero,.np-hero,.ns-hero){padding-top:32px}
  .bp-hero>.bp-hero-copy,.np-hero>.np-lead,.ns-hero>.wp-block-group{width:calc(100% - 44px)}
  .bp-hero .bp-office,.np-hero .np-heart,.ns-hero .ns-image{height:240px;margin-top:20px}
  .np-hero .np-heart{height:260px}
}
/* Vues alimentaires : transition plus courte du côté du texte. */
.ns-image img {
  --ar-image-edge:linear-gradient(to right,transparent 0%,#000 12%,#000 98%,transparent 100%);
  --ar-image-height:linear-gradient(to bottom,transparent 0%,#000 3%,#000 97%,transparent 100%);
}
.aw-photo img {
  --ar-image-edge:linear-gradient(to left,transparent 0%,#000 10%,#000 98%,transparent 100%);
  --ar-image-height:linear-gradient(to bottom,transparent 0%,#000 3%,#000 97%,transparent 100%);
}
/* Cabinet : préserver la fenêtre, le mobilier et les lignes de la pièce.
   Seul le bord voisin du texte reçoit une transition plus perceptible. */
:where(.bp-office,.np-office) img {
  --ar-image-edge:linear-gradient(to right,transparent 0%,#000 7%,#000 98%,transparent 100%);
  --ar-image-height:linear-gradient(to bottom,transparent 0%,#000 2%,#000 98%,transparent 100%);
}
.np-office img {
  --ar-image-edge:linear-gradient(to left,transparent 0%,#000 7%,#000 98%,transparent 100%);
}
@media(max-width:650px) {
  .ar-slide .wp-block-cover__image-background {
    --ar-image-edge:linear-gradient(to right,transparent 0%,#000 5%,#000 95%,transparent 100%);
    --ar-image-height:linear-gradient(to bottom,transparent 0%,#000 5%,#000 92%,transparent 100%);
  }
  :is(.ns-image,.aw-photo) img {
    --ar-image-edge:linear-gradient(to right,transparent 0%,#000 3%,#000 97%,transparent 100%);
    --ar-image-height:linear-gradient(to bottom,transparent 0%,#000 3%,#000 96%,transparent 100%);
  }
  :is(.bp-office,.np-office) img {
    --ar-image-edge:linear-gradient(to right,transparent 0%,#000 2%,#000 98%,transparent 100%);
    --ar-image-height:linear-gradient(to bottom,transparent 0%,#000 1%,#000 99%,transparent 100%);
  }
}

/* Conclusion Nutrithérapeute validée : le texte conduit, le cabinet accompagne.
   Même composant dans le site et Gutenberg ; aucun média modifié. */
.np-page .np-close.np-wrap{
  width:100%;max-width:none;margin:0!important;display:flex;flex-wrap:wrap;
  align-items:stretch;gap:0;padding:0;border-top:0;background:var(--np-surface);
}
.np-page .np-close .np-close-copy{
  flex:62 1 580px;display:flex;flex-direction:column;justify-content:center;
  padding:52px 64px 54px max(56px,calc((100vw - 1180px)/2));
}
.np-page .np-close .np-office{
  flex:38 1 350px;position:relative;min-height:430px;margin:0;overflow:hidden;
  -webkit-mask-image:none;mask-image:none;
}
.np-page .np-close .np-office img{
  position:absolute;inset:0;width:100%;height:100%;max-width:none;
  aspect-ratio:auto;object-fit:cover;object-position:58% center;border-radius:0;
  -webkit-mask-image:none;mask-image:none;
}
.np-page .np-close .np-office::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,var(--np-surface),rgba(250,245,247,0) 17%);
}
:is(.ar-page,.editor-styles-wrapper) .ar-approved.np-page .np-close h2{font-size:46px;line-height:1.25;margin-bottom:22px}
.np-close-copy>p{max-width:58ch}
@media(max-width:1000px){
  .np-page .np-close .np-close-copy{flex-basis:100%;padding:36px 32px}
  .np-page .np-close .np-office{flex-basis:100%;min-height:0;height:250px}
  .np-page .np-close .np-office::after{background:linear-gradient(180deg,var(--np-surface),rgba(250,245,247,0) 12%)}
  .np-page .np-close .np-office img{object-position:center 54%}
  :is(.ar-page,.editor-styles-wrapper) .ar-approved.np-page .np-close h2{font-size:38px}
}
@media(max-width:620px){
  .np-page .np-close .np-close-copy{padding:31px 22px 24px}
  .np-page .np-close .np-office{height:195px}
  :is(.ar-page,.editor-styles-wrapper) .ar-approved.np-page .np-close h2{font-size:34px}
}
