/* PASIVITE 2.8.47.7 — mascottes légères, non intrusives */
:root{
  --psv-mascot-soft:#e8fbf8;
  --psv-mascot-line:#bfeae4;
}

/* Homepage classique : mascotte principale seulement dans le hero */
.psv-home-hero-mascot{
  position:relative;
  min-height:430px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  isolation:isolate;
}
.psv-home-hero-mascot::before{
  content:"";
  position:absolute;
  inset:4% 7% 9%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(109,230,201,.18) 0%,rgba(109,230,201,.04) 58%,transparent 72%);
  z-index:-2;
}
.psv-home-hero-mascot>img{
  display:block;
  width:min(330px,84%);
  max-height:430px;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 24px 34px rgba(1,18,45,.34));
}
.psv-mascot-note{
  position:absolute;
  top:9%;right:-4%;
  max-width:210px;
  padding:13px 15px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:17px;
  background:rgba(255,255,255,.94);
  box-shadow:0 14px 32px rgba(1,18,45,.18);
  color:#12355b;
}
.psv-mascot-note strong,.psv-mascot-note span{display:block}
.psv-mascot-note strong{font-size:.98rem}
.psv-mascot-note span{margin-top:3px;font-size:.79rem;line-height:1.35;color:#5a7082}
.psv-home-method-mini{
  position:absolute;
  left:1%;bottom:5%;
  display:flex;gap:6px;flex-wrap:wrap;
  max-width:360px;
}
.psv-home-method-mini span{
  padding:7px 9px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(4,35,72,.82);
  color:#fff;
  font-size:.73rem;
  font-weight:750;
  backdrop-filter:blur(7px);
}
.psv-home-method-mini b{color:#6de6c9;margin-right:3px}

/* Signature Décodeur de la home : mascotte secondaire discrète */
.pv-signature-mascot{grid-template-columns:minmax(0,1fr) 88px auto!important;align-items:center!important}
.pv-signature-character{width:78px;height:78px;object-fit:contain;align-self:end;filter:drop-shadow(0 8px 12px rgba(18,53,91,.12))}

/* PWA Personnel */
body.mobile-mode .mobile-dashboard-with-mascot{
  position:relative!important;
  overflow:hidden!important;
  padding-right:102px!important;
}
body.mobile-mode .mobile-dashboard-with-mascot .mobile-dashboard-mascot{
  position:absolute;
  right:10px;
  bottom:0;
  width:88px;
  height:112px;
  object-fit:contain;
  object-position:center bottom;
  pointer-events:none;
  filter:drop-shadow(0 8px 12px rgba(18,53,91,.12));
}
body.mobile-mode .mobile-dashboard-with-mascot .mobile-mode-switcher{
  position:relative;
  z-index:2;
}

/* PWA Pro : un seul personnage dans la zone Parcours métier */
body.mobile-mode .pv-section-head-character{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:10px!important}
body.mobile-mode .pv-section-head-character>img{width:66px;height:78px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 7px 10px rgba(18,53,91,.1))}

/* Décodeur de promesse */
.promise-hero-mascot{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:24px;align-items:end}
.promise-hero-mascot>img{width:170px;max-height:190px;object-fit:contain;justify-self:end;filter:drop-shadow(0 12px 18px rgba(18,53,91,.12))}

/* Boussole métier */
.professional-guidance-hero-mascot{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:18px;align-items:end}
.professional-guidance-hero-mascot>img{width:145px;max-height:170px;object-fit:contain;justify-self:end;filter:drop-shadow(0 12px 18px rgba(18,53,91,.12))}

/* Alertes */
.alerts-app-title-mascot{display:flex!important;align-items:flex-end!important;gap:14px!important}
.alerts-app-title-mascot>div{min-width:0;flex:1 1 auto}
.alerts-app-title-mascot>img{width:72px;height:78px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 8px 12px rgba(18,53,91,.1))}

@media(max-width:1050px){
  .psv-home-hero-mascot{max-width:620px;min-height:350px;justify-content:flex-start}
  .psv-home-hero-mascot>img{width:285px;max-height:350px;margin-left:28px}
  .psv-mascot-note{right:auto;left:310px;top:12%}
  .psv-home-method-mini{left:300px;bottom:12%}
}
@media(max-width:760px){
  .psv-home-hero-mascot{min-height:280px;justify-content:center}
  .psv-home-hero-mascot>img{width:230px;max-height:280px;margin:0}
  .psv-mascot-note{right:0;left:auto;top:8%;max-width:170px;padding:10px 12px}
  .psv-home-method-mini{left:0;right:0;bottom:0;justify-content:center;max-width:none}
  .pv-signature-mascot{grid-template-columns:minmax(0,1fr) 64px!important}
  .pv-signature-character{width:58px;height:64px}
  .pv-signature-mascot .primary-button{grid-column:1/-1}
  .promise-hero-mascot{grid-template-columns:minmax(0,1fr) 90px;gap:8px;align-items:start}
  .promise-hero-mascot>img{width:88px;max-height:106px;margin-top:8px}
  .professional-guidance-hero-mascot{grid-template-columns:minmax(0,1fr) 88px;gap:8px;align-items:start}
  .professional-guidance-hero-mascot>img{width:84px;max-height:104px}
  .alerts-app-title-mascot>img{width:58px;height:64px}
}
@media(max-width:560px){
  body.mobile-mode .mobile-dashboard-with-mascot{
    padding-right:13px!important;
    padding-bottom:92px!important;
  }
  body.mobile-mode .mobile-dashboard-with-mascot .mobile-dashboard-mascot{
    right:14px;
    width:72px;
    height:92px;
  }
  body.mobile-mode .mobile-dashboard-with-mascot .mobile-mode-switcher{width:100%!important;max-width:none!important}
  body.mobile-mode .pv-section-head-character>img{width:58px;height:68px}
  .psv-mascot-note{display:none}
  .psv-home-method-mini span{font-size:.68rem;padding:6px 8px}
  .promise-hero-mascot,.professional-guidance-hero-mascot{grid-template-columns:1fr}
  .promise-hero-mascot>img,.professional-guidance-hero-mascot>img{display:none}
}
@media(prefers-reduced-motion:reduce){
  .psv-home-hero-mascot>img,.pv-signature-character,.mobile-dashboard-mascot,.pv-section-head-character>img,.promise-hero-mascot>img,.professional-guidance-hero-mascot>img,.alerts-app-title-mascot>img{animation:none!important;transition:none!important}
}
