/* Pasivite 2.8.50.1 — Charte visuelle publique/PWA.
   Source palette: app.css : navy #12355b, navy-dark #09233f, green #1f7a68,
   turquoise #55c2a3, surfaces #fff/#f4f7f9. Aucun violet. */
:root{
  --psv-brand-navy:#12355b;
  --psv-brand-navy-dark:#09233f;
  --psv-brand-teal:#1f7a68;
  --psv-brand-mint:#55c2a3;
  --psv-brand-soft:#e7f6f1;
  --psv-brand-blue-soft:#e9f2fb;
  --psv-brand-ink:#18242f;
  --psv-brand-muted:#526473;
  --psv-brand-line:#ccd7df;
  --psv-brand-bg:#f4f7f9;
}

/* Nouveautés: empêcher le relooking JS historique en bouton service. */
.public-body .main-content .psv-home-news-entry,
.public-body .main-content .psv-home-news-entry:link,
.public-body .main-content .psv-home-news-entry:visited,
.public-body .main-content .psv-home-news-entry.psv-action-button,
.public-body .main-content .psv-home-news-entry.psv-action-button--service,
.public-body .main-content .pv-news-card>a,
.public-body .main-content .pv-news-card>a:visited{
  background:#fff!important;
  color:var(--psv-brand-navy)!important;
  border-color:#dce7ed!important;
  box-shadow:none!important;
}
.public-body .main-content .psv-home-news-entry strong,
.public-body .main-content .psv-home-news-entry.psv-action-button strong,
.public-body .main-content .pv-news-card h2{color:var(--psv-brand-navy-dark)!important}
.public-body .main-content .psv-home-news-entry small,
.public-body .main-content .pv-news-card p{color:var(--psv-brand-muted)!important}
.public-body .main-content .psv-home-news-entry em,
.public-body .main-content .pv-news-card em{color:var(--psv-brand-teal)!important}
.public-body .main-content .psv-home-news-entry:hover,
.public-body .main-content .psv-home-news-entry:focus-visible,
.public-body .main-content .pv-news-card>a:hover,
.public-body .main-content .pv-news-card>a:focus-visible{
  background:#f2fbf8!important;
  border-color:#8bcfc0!important;
}

/* Trois fenêtres de la home: même charte, identité par nuance et jamais par violet. */
.psv-home-news-window.is-product .psv-home-news-window-head{background:linear-gradient(135deg,#09233f,#12355b)!important}
.psv-home-news-window.is-barometer .psv-home-news-window-head{background:linear-gradient(135deg,#0d3b57,#146876)!important}
.psv-home-news-window.is-alert .psv-home-news-window-head{background:linear-gradient(135deg,#12355b,#174a63)!important}
.psv-home-news-window-head h3{color:#fff!important}
.psv-home-news-window-head span{color:#9cf0da!important}
.psv-home-news-window.is-barometer .psv-home-news-window-head span{color:#c7eef0!important}
.psv-home-news-window.is-alert .psv-home-news-window-head span{color:#ffe6a4!important}

/* Actions publiques historiques: plus aucun accent violet. */
.public-body .main-content a.psv-action-button{
  --psv-action-bg:#fff;
  --psv-action-fg:var(--psv-brand-navy);
  --psv-action-border:var(--psv-brand-line);
  --psv-action-shadow:0 7px 18px rgba(18,53,91,.08);
}
.public-body .main-content a.psv-action-button--primary,
.public-body .main-content a.psv-action-button--service{
  --psv-action-bg:var(--psv-brand-navy);
  --psv-action-fg:#fff;
  --psv-action-border:var(--psv-brand-navy);
  --psv-action-shadow:0 9px 22px rgba(18,53,91,.18);
}
.public-body .main-content a.psv-action-button--source{
  --psv-action-bg:#f4f7f9;
  --psv-action-fg:var(--psv-brand-navy);
  --psv-action-border:#9fb0bc;
}

/* PWA: règle absolue de contraste. */
body.mobile-mode.pwa-app-shell :is(.mobile-dashboard-head,.mobile-push-status,.mobile-pro-hero,.mobile-pro-cta,.pwa-dark-card,[class*="-dark"]){color:#fff}
body.mobile-mode.pwa-app-shell :is(.mobile-dashboard-head,.mobile-push-status,.mobile-pro-hero,.mobile-pro-cta,.pwa-dark-card,[class*="-dark"]) :is(h1,h2,h3,strong,p,small,span,label){color:inherit}
body.mobile-mode.pwa-app-shell .pv-list>a{background:#fff!important;color:var(--psv-brand-navy)!important}
body.mobile-mode.pwa-app-shell .pv-list>a :is(strong,h2,h3){color:var(--psv-brand-navy)!important}
body.mobile-mode.pwa-app-shell .pv-list>a small{color:#617487!important}

/* Dossier: mascotte visible et contextualisée par un dossier graphique CSS. */
.psv-dossier-hero{margin-bottom:18px}
.psv-context-mascot{position:relative;display:grid;place-items:end center;min-width:132px;align-self:end}
.psv-context-mascot .pv-theme-hero-mascot{position:relative;z-index:1;margin:0!important}
.psv-context-mascot--dossier .psv-context-mark{
  position:absolute;z-index:2;right:-2px;bottom:8px;width:52px;height:40px;
  border-radius:8px;background:var(--psv-brand-mint);border:4px solid #fff;
  box-shadow:0 8px 18px rgba(18,53,91,.16);transform:rotate(-5deg)
}
.psv-context-mascot--dossier .psv-context-mark:before{
  content:"";position:absolute;left:6px;top:-10px;width:24px;height:12px;
  border-radius:6px 6px 0 0;background:var(--psv-brand-mint)
}
.psv-context-mascot--dossier .psv-context-mark i:before,
.psv-context-mascot--dossier .psv-context-mark i:after{
  content:"";position:absolute;background:#fff;border-radius:99px
}
.psv-context-mascot--dossier .psv-context-mark i:before{width:19px;height:4px;left:15px;top:17px;transform:rotate(42deg)}
.psv-context-mascot--dossier .psv-context-mark i:after{width:28px;height:4px;left:22px;top:13px;transform:rotate(-48deg);transform-origin:left center}

/* Les pages partageant un dessin de base gardent une identité visuelle distincte. */
:is(.psv-mascot-page-alertes,.psv-mascot-page-observatoire,.psv-mascot-page-aide,.psv-mascot-page-reflexes,.psv-mascot-page-kits,.psv-mascot-page-actualites,.psv-mascot-page-sitecheck,.psv-mascot-page-email,.psv-mascot-page-pro) img[class*="mascot"],
:is(.psv-mascot-page-alertes,.psv-mascot-page-observatoire,.psv-mascot-page-aide,.psv-mascot-page-reflexes,.psv-mascot-page-kits,.psv-mascot-page-actualites,.psv-mascot-page-sitecheck,.psv-mascot-page-email,.psv-mascot-page-pro)>img{
  filter:drop-shadow(0 10px 18px rgba(18,53,91,.14))!important
}
.psv-mascot-page-kits>img,.psv-mascot-page-kits img[class*="mascot"]{transform:scaleX(-1)}
.psv-mascot-page-email>img,.psv-mascot-page-email img[class*="mascot"]{transform:rotate(-2deg)}
.psv-mascot-page-actualites img[class*="mascot"]{transform:translateY(2px) scale(.96)}
.psv-mascot-page-sitecheck img[class*="mascot"]{transform:scale(1.04)}

@media(max-width:760px){
  .psv-context-mascot{min-width:76px}
  .psv-context-mascot--dossier .psv-context-mark{width:39px;height:31px;right:-2px;bottom:3px;border-width:3px}
  .psv-context-mascot--dossier .psv-context-mark:before{width:18px;height:9px;top:-7px}
  .psv-context-mascot--dossier .psv-context-mark i:before{width:14px;left:11px;top:13px}
  .psv-context-mascot--dossier .psv-context-mark i:after{width:20px;left:17px;top:11px}
}


/* Identité de mascotte par page : badge contextuel distinct, sans nouvelle couleur hors charte. */
:is(.psv-mascot-page-alertes,.psv-mascot-page-observatoire,.psv-mascot-page-aide,.psv-mascot-page-reflexes,.psv-mascot-page-kits,.psv-mascot-page-actualites,.psv-mascot-page-sitecheck,.psv-mascot-page-email,.psv-mascot-page-pro,.psv-mascot-page-urgence,.psv-mascot-page-verifier,.psv-mascot-page-promesse,.psv-mascot-page-maturite){position:relative}
:is(.psv-mascot-page-alertes,.psv-mascot-page-observatoire,.psv-mascot-page-aide,.psv-mascot-page-reflexes,.psv-mascot-page-kits,.psv-mascot-page-actualites,.psv-mascot-page-sitecheck,.psv-mascot-page-email,.psv-mascot-page-pro,.psv-mascot-page-urgence,.psv-mascot-page-verifier,.psv-mascot-page-promesse,.psv-mascot-page-maturite)::after{
  position:absolute;z-index:5;right:8px;top:8px;min-width:34px;height:34px;padding:0 9px;
  display:grid;place-items:center;border-radius:999px;background:#e7f6f1;color:#12355b;
  border:2px solid #fff;box-shadow:0 7px 18px rgba(18,53,91,.14);font-size:.72rem;font-weight:950;letter-spacing:.02em
}
.psv-mascot-page-alertes::after{content:"!";background:#fff4df;color:#8a4b00}
.psv-mascot-page-observatoire::after{content:"OBS"}
.psv-mascot-page-aide::after{content:"?"}
.psv-mascot-page-reflexes::after{content:"✓"}
.psv-mascot-page-kits::after{content:"KIT"}
.psv-mascot-page-actualites::after{content:"ACTU"}
.psv-mascot-page-sitecheck::after{content:"WEB"}
.psv-mascot-page-email::after{content:"MAIL"}
.psv-mascot-page-pro::after{content:"PRO"}
.psv-mascot-page-urgence::after{content:"!";background:#fff0ee;color:#b42318}
.psv-mascot-page-verifier::after{content:"VÉR"}
.psv-mascot-page-promesse::after{content:"PREUVE";font-size:.62rem}
.psv-mascot-page-maturite::after{content:"CAP"}
@media(max-width:760px){
  :is(.psv-mascot-page-alertes,.psv-mascot-page-observatoire,.psv-mascot-page-aide,.psv-mascot-page-reflexes,.psv-mascot-page-kits,.psv-mascot-page-actualites,.psv-mascot-page-sitecheck,.psv-mascot-page-email,.psv-mascot-page-pro,.psv-mascot-page-urgence,.psv-mascot-page-verifier,.psv-mascot-page-promesse,.psv-mascot-page-maturite)::after{
    right:2px;top:2px;min-width:28px;height:28px;padding:0 6px;font-size:.6rem
  }
}
