@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@400;500;600;700&display=swap');
.nv-nav-wrap a, .primary-menu-ul a, .header-menu-sidebar-inner a, #nv-primary-navigation a, ul.menu li a {
font-family: 'Quicksand', 'Avenir Next', system-ui, sans-serif !important;
font-weight: 600 !important;
letter-spacing: 0.2px !important;
}
/* === Items top-level (sauf CTA) en pilule clair === */
.primary-menu-ul > li.menu-item:not(.menu-cta):not(.menu-button):not(.menu-social) > a,
#nv-primary-navigation-main > li.menu-item:not(.menu-cta):not(.menu-button):not(.menu-social) > a,
.header-menu-sidebar-inner > ul > li.menu-item:not(.menu-cta):not(.menu-button):not(.menu-social) > a {
background-color: #f5f8fc !important;
color: #2d3748 !important;
border-radius: 30px !important;
padding: 5px 10px !important;
margin: 0 1px !important;
font-weight: 600 !important;
font-size: 13px !important;
white-space: nowrap !important;
transition: background-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease, transform 0.2s ease !important;
border: 1px solid #e6edf5 !important;
display: inline-flex !important;
align-items: center !important;
line-height: 1.2 !important;
}
.primary-menu-ul > li.menu-item:not(.menu-cta):not(.menu-button):not(.menu-social) > a:hover,
#nv-primary-navigation-main > li.menu-item:not(.menu-cta):not(.menu-button):not(.menu-social) > a:hover,
.header-menu-sidebar-inner > ul > li.menu-item:not(.menu-cta):not(.menu-button):not(.menu-social) > a:hover {
background-color: #e1f0fb !important;
color: #0693e3 !important;
box-shadow: 0 3px 10px rgba(6, 147, 227, 0.15) !important;
transform: translateY(-1px) !important;
border-color: #c8e3f5 !important;
}
/* Item courant */
.primary-menu-ul > li.menu-item:not(.menu-cta):not(.menu-button).current-menu-item > a,
.primary-menu-ul > li.menu-item:not(.menu-cta):not(.menu-button).current-menu-parent > a,
.primary-menu-ul > li.menu-item:not(.menu-cta):not(.menu-button).current-menu-ancestor > a {
background-color: #cfe6f7 !important;
color: #0a3d62 !important;
border-color: #a9d2ed !important;
}
/* Sous-menus */
.sub-menu .menu-item > a {
background: transparent !important;
border: none !important;
border-radius: 0 !important;
padding: 8px 16px !important;
margin: 0 !important;
color: #2d3748 !important;
}
.sub-menu .menu-item > a:hover {
background: #f5f8fc !important;
color: #0693e3 !important;
transform: none !important;
box-shadow: none !important;
}
/* === Bouton CTA Faire un don dans le MENU - haute spécificité, TEXTE BLANC === */
.primary-menu-ul > li.menu-cta > a,
.primary-menu-ul > li.menu-button > a,
#nv-primary-navigation-main > li.menu-cta > a,
#nv-primary-navigation-main > li.menu-button > a,
.header-menu-sidebar-inner > ul > li.menu-cta > a,
.header-menu-sidebar-inner > ul > li.menu-button > a,
.primary-menu-ul > li.menu-cta > a:visited,
.primary-menu-ul > li.menu-button > a:visited,
.primary-menu-ul > li.menu-cta > a:link,
.primary-menu-ul > li.menu-button > a:link,
li.menu-cta > a,
li.menu-button > a,
li.menu-cta > a:visited,
li.menu-button > a:visited,
li.menu-cta > a:link,
li.menu-button > a:link {
background: linear-gradient(135deg, #f78da7 0%, #e85d80 100%) !important;
background-color: #e85d80 !important;
color: #ffffff !important;
border-radius: 30px !important;
padding: 6px 14px !important;
margin: 0 0 0 6px !important;
font-weight: 700 !important;
font-size: 13px !important;
white-space: nowrap !important;
box-shadow: 0 4px 12px rgba(232, 93, 128, 0.28) !important;
transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.3s ease !important;
border: none !important;
text-decoration: none !important;
display: inline-flex !important;
align-items: center !important;
line-height: 1.2 !important;
}
.primary-menu-ul > li.menu-cta > a *,
.primary-menu-ul > li.menu-button > a *,
li.menu-cta > a *,
li.menu-button > a * {
color: #ffffff !important;
}
.primary-menu-ul > li.menu-cta > a:hover,
.primary-menu-ul > li.menu-button > a:hover,
.primary-menu-ul > li.menu-cta > a:focus,
.primary-menu-ul > li.menu-button > a:focus,
.primary-menu-ul > li.menu-cta > a:active,
.primary-menu-ul > li.menu-button > a:active,
li.menu-cta > a:hover,
li.menu-button > a:hover,
li.menu-cta > a:focus,
li.menu-button > a:focus,
li.menu-cta > a:active,
li.menu-button > a:active,
li.menu-cta > a:visited:hover,
li.menu-button > a:visited:hover {
background: linear-gradient(135deg, #e85d80 0%, #d63567 100%) !important;
background-color: #d63567 !important;
color: #ffffff !important;
transform: translateY(-1px) !important;
box-shadow: 0 6px 16px rgba(232, 93, 128, 0.4) !important;
outline: none !important;
}
/* === BOUTONS DON ROSE PARTOUT (.ppdh-cta-pink) === */
.wp-block-button.ppdh-cta-pink .wp-block-button__link,
.wp-block-button.ppdh-cta-pink a,
.wp-block-button.ppdh-cta-pink .wp-block-button__link:visited,
.wp-block-button.ppdh-cta-pink .wp-block-button__link:link,
.ppdh-cta-pink .wp-block-button__link,
.ppdh-cta-pink a {
background: linear-gradient(135deg, #f78da7 0%, #e85d80 100%) !important;
background-color: #e85d80 !important;
color: #ffffff !important;
border: none !important;
border-radius: 30px !important;
font-weight: 700 !important;
box-shadow: 0 4px 12px rgba(232, 93, 128, 0.28) !important;
transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.3s ease, color 0.2s ease !important;
text-decoration: none !important;
}
.wp-block-button.ppdh-cta-pink .wp-block-button__link:hover,
.wp-block-button.ppdh-cta-pink .wp-block-button__link:hover *,
.wp-block-button.ppdh-cta-pink .wp-block-button__link:focus,
.wp-block-button.ppdh-cta-pink .wp-block-button__link:active,
.wp-block-button.ppdh-cta-pink .wp-block-button__link:visited:hover,
.ppdh-cta-pink .wp-block-button__link:hover,
.ppdh-cta-pink .wp-block-button__link:hover *,
.ppdh-cta-pink .wp-block-button__link:focus,
.ppdh-cta-pink .wp-block-button__link:active,
.ppdh-cta-pink a:hover, .ppdh-cta-pink a:hover *,
.ppdh-cta-pink a:focus, .ppdh-cta-pink a:active {
background: linear-gradient(135deg, #e85d80 0%, #d63567 100%) !important;
background-color: #d63567 !important;
color: #ffffff !important;
transform: translateY(-1px) !important;
box-shadow: 0 6px 16px rgba(232, 93, 128, 0.4) !important;
text-decoration: none !important;
outline: none !important;
}
.primary-menu-ul {
gap: 0 !important;
}
/* Mobile sidebar */
@media (max-width: 960px) {
.header-menu-sidebar-inner > ul > li.menu-item:not(.menu-cta):not(.menu-button) > a,
.header-menu-sidebar-inner > ul > li.menu-item:not(.menu-cta):not(.menu-button) > a:hover {
background: transparent !important;
border: none !important;
border-radius: 0 !important;
margin: 0 !important;
padding: 12px 16px !important;
box-shadow: none !important;
transform: none !important;
}
.header-menu-sidebar-inner li.menu-cta > a,
.header-menu-sidebar-inner li.menu-button > a {
margin: 12px 16px !important;
text-align: center !important;
justify-content: center !important;
color: #ffffff !important;
}
}
/* === Micro fanions au-dessus des H2 === */
h2.wp-block-heading::before {
content: "";
display: block;
width: 64px;
height: 14px;
margin: 0 auto 8px;
background: url("data:image/svg+xml;utf8,") no-repeat center / contain;
}
.wp-block-cover h2.wp-block-heading::before { display: none !important; }
/* === ACTUALITÉS - alternance des fonds des cartes === */
body.page-id-26 .wp-block-query .wp-block-post-template > li:nth-child(4n+1) > .wp-block-group {
background-color: #fde2e9 !important;
}
body.page-id-26 .wp-block-query .wp-block-post-template > li:nth-child(4n+2) > .wp-block-group {
background-color: #e8f4fd !important;
}
body.page-id-26 .wp-block-query .wp-block-post-template > li:nth-child(4n+3) > .wp-block-group {
background-color: #fcefb6 !important;
}
body.page-id-26 .wp-block-query .wp-block-post-template > li:nth-child(4n+4) > .wp-block-group {
background-color: #d6ebdf !important;
}
/* === SINGLE POST : titre en hero avec featured image en background === */
.single-post .entry-header {
position: relative !important;
background-color: #0a3d62 !important;
background-size: cover !important;
background-position: center center !important;
background-repeat: no-repeat !important;
min-height: 380px !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
padding: 60px 20px !important;
margin-top: 0 !important;
margin-bottom: 40px !important;
margin-left: calc(50% - 50vw) !important;
margin-right: calc(50% - 50vw) !important;
width: 100vw !important;
max-width: 100vw !important;
overflow: hidden !important;
box-sizing: border-box !important;
text-align: center !important;
}
.single-post .entry-header::before {
content: "" !important;
position: absolute !important;
inset: 0 !important;
background: rgba(10, 61, 98, 0.55) !important;
z-index: 1 !important;
}
.single-post .entry-header > * {
position: relative !important;
z-index: 2 !important;
}
.single-post .entry-header .nv-title-meta-wrap {
text-align: center !important;
width: 100% !important;
max-width: 900px !important;
margin: 0 auto !important;
}
.single-post .entry-header .entry-title,
.single-post h1.entry-title,
.single-post h1.title {
color: #ffffff !important;
font-size: 40px !important;
font-weight: 700 !important;
letter-spacing: -0.5px !important;
line-height: 1.1 !important;
text-align: center !important;
margin: 0 auto !important;
}
.single-post .entry-header .nv-meta-list,
.single-post .entry-header .meta,
.single-post .entry-header .post-meta-wrapper {
color: rgba(255,255,255,0.85) !important;
text-align: center !important;
margin-top: 12px !important;
}
.single-post .entry-header .nv-meta-list a,
.single-post .entry-header .meta a {
color: rgba(255,255,255,0.85) !important;
}
/* Featured image en aperçu : float à gauche du contenu */
.single-post .nv-thumb-wrap {
display: block !important;
float: left !important;
width: 42% !important;
max-width: 360px !important;
margin: 6px 30px 20px 0 !important;
shape-outside: margin-box;
}
.single-post .nv-thumb-wrap img.wp-post-image {
width: 100% !important;
height: auto !important;
border-radius: 12px !important;
display: block !important;
box-shadow: 0 8px 24px rgba(10, 61, 98, 0.12) !important;
}
/* Contenu de l'article centré avec largeur max */
.single-post article.nv-single-post-wrap,
.single-post article[class*="post-"] {
max-width: 880px !important;
margin: 0 auto !important;
}
.single-post .nv-content-wrap.entry-content,
.single-post .entry-content {
max-width: none !important;
margin: 0 !important;
padding: 0 20px !important;
overflow: hidden !important;
}
.single-post .entry-content::after {
content: "" !important;
display: block !important;
clear: both !important;
}
@media (max-width: 768px) {
.single-post .nv-thumb-wrap {
float: none !important;
width: 100% !important;
max-width: 100% !important;
margin: 0 auto 20px auto !important;
}
.single-post .entry-header .entry-title,
.single-post h1.entry-title,
.single-post h1.title {
font-size: 28px !important;
}
}
/* === ACTUALITÉS - liens (titre & lire la suite) - SEULEMENT page actualités === */
body.page-id-26 .wp-block-query .wp-block-post-template .wp-block-post-title,
body.page-id-26 .wp-block-query .wp-block-post-template .wp-block-post-title a,
body.page-id-26 .wp-block-query .wp-block-post-template h2.wp-block-post-title a,
body.page-id-26 .wp-block-query .wp-block-post-template h3.wp-block-post-title a {
color: #2d3748 !important;
text-decoration: none !important;
transition: color 0.2s ease !important;
}
body.page-id-26 .wp-block-query .wp-block-post-template .wp-block-post-title a:hover,
body.page-id-26 .wp-block-query .wp-block-post-template h3.wp-block-post-title a:hover {
color: #e85d80 !important;
text-decoration: none !important;
}
/* "Lire la suite →" dans l'extrait */
body.page-id-26 .wp-block-query .wp-block-post-excerpt__more-link,
body.page-id-26 .wp-block-query .wp-block-post-excerpt__more-text,
body.page-id-26 .wp-block-query .wp-block-post-excerpt a {
color: #e85d80 !important;
font-weight: 600 !important;
text-decoration: none !important;
display: inline-block !important;
margin-top: 8px !important;
transition: color 0.2s ease !important;
}
body.page-id-26 .wp-block-query .wp-block-post-excerpt__more-link:hover,
body.page-id-26 .wp-block-query .wp-block-post-excerpt a:hover {
color: #d63567 !important;
text-decoration: underline !important;
}
/* La photo featured cliquable - pas de bordure bleue au focus */
body.page-id-26 .wp-block-query .wp-block-post-featured-image a {
display: block !important;
outline: none !important;
}
/* === ANIMATION HOVER sur cartes (Nos axes action / Decouvrir univers) === */
body.page-id-1004 .wp-block-columns.alignwide .wp-block-column.has-background {
transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.35s ease !important;
will-change: transform;
}
body.page-id-1004 .wp-block-columns.alignwide .wp-block-column.has-background:hover {
transform: translateY(-8px) !important;
box-shadow: 0 18px 36px rgba(10, 61, 98, 0.14) !important;
}
body.page-id-1004 .wp-block-columns.alignwide .wp-block-column.has-background:hover p:first-child {
transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
transform: scale(1.1);
}
body.page-id-1059 .wp-block-columns.alignwide .wp-block-column.has-background {
transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.35s ease !important;
will-change: transform;
}
body.page-id-1059 .wp-block-columns.alignwide .wp-block-column.has-background:hover {
transform: translateY(-6px) !important;
box-shadow: 0 16px 32px rgba(10, 61, 98, 0.12) !important;
}
/* === Animation hover sur cartes Actualites (page-id-26) === */
body.page-id-26 .wp-block-query .wp-block-post-template > li > .wp-block-group {
transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.35s ease !important;
will-change: transform;
}
body.page-id-26 .wp-block-query .wp-block-post-template > li > .wp-block-group:hover {
transform: translateY(-6px) !important;
box-shadow: 0 16px 32px rgba(10, 61, 98, 0.14) !important;
}
body.page-id-26 .wp-block-query .wp-block-post-template > li > .wp-block-group:hover img {
transform: scale(1.04);
transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
}
body.page-id-26 .wp-block-query .wp-block-post-template > li > .wp-block-group .wp-block-post-featured-image {
overflow: hidden;
}
body.page-id-26 .wp-block-query .wp-block-post-template > li > .wp-block-group .wp-block-post-featured-image img {
transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
}
/* Désactiver les micro-fanions sur certains H2 */
h2.wp-block-heading.no-fanions::before {
display: none !important;
}
/* === Page Nos projets : titres des 4 cartes en noir === */
body.page-id-1004 .wp-block-columns.alignwide .wp-block-column.has-background h3.wp-block-heading,
body.page-id-1004 .wp-block-columns.alignwide .wp-block-column.has-background h3.wp-block-heading a,
body.page-id-1004 .wp-block-columns.alignwide .wp-block-column.has-background h3.wp-block-heading a:visited {
color: #1a1a1a !important;
text-decoration: none !important;
}
body.page-id-1004 .wp-block-columns.alignwide .wp-block-column.has-background h3.wp-block-heading a:hover {
color: #e85d80 !important;
text-decoration: none !important;
}
/* === STATS sur mobile : pas de débordement, centrage propre === */
@media (max-width: 781px) {
/* wp:cover du bloc stats sur la home et autres */
.wp-block-cover.alignfull {
padding-left: 15px !important;
padding-right: 15px !important;
box-sizing: border-box !important;
}
.wp-block-cover.alignfull .wp-block-columns.alignwide {
margin-left: 0 !important;
margin-right: 0 !important;
width: 100% !important;
max-width: 100% !important;
padding: 0 !important;
}
.wp-block-cover.alignfull .wp-block-columns .wp-block-column {
flex-basis: 100% !important;
padding: 0 10px !important;
max-width: 100% !important;
box-sizing: border-box !important;
}
.wp-block-cover.alignfull .wp-block-column p {
word-wrap: break-word !important;
overflow-wrap: break-word !important;
hyphens: auto !important;
max-width: 100% !important;
margin-left: auto !important;
margin-right: auto !important;
}
/* Réduire taille des très grands chiffres pour qu'ils tiennent confortablement */
.wp-block-cover.alignfull .wp-block-column p[style*="font-size:40px"] {
font-size: 36px !important;
}
/* Labels uppercase plus petits sur mobile */
.wp-block-cover.alignfull .wp-block-column p[style*="text-transform:uppercase"] {
font-size: 12px !important;
line-height: 1.4 !important;
padding: 0 5px !important;
}
}
/* === Animation breathe douce sur le titre hero de la home === */
@keyframes pphd-hero-breathe {
0%, 100% {
transform: scale(1);
text-shadow: 0 2px 8px rgba(0,0,0,0.3);
letter-spacing: -1px;
}
50% {
transform: scale(1.07);
text-shadow: 0 6px 22px rgba(0,0,0,0.5);
letter-spacing: -0.6px;
}
}
body.page-id-1059 .wp-block-cover.alignfull h1.wp-block-heading {
animation: pphd-hero-breathe 3.6s ease-in-out infinite;
transform-origin: 50% 50%;
display: inline-block;
width: auto !important;
}
body.page-id-1059 .wp-block-cover.alignfull .wp-block-cover__inner-container {
text-align: center;
}
@media (prefers-reduced-motion: reduce) {
body.page-id-1059 .wp-block-cover.alignfull h1.wp-block-heading {
animation: none;
}
}
/* === Bords arrondis sur toutes les images du contenu === */
.entry-content img,
.wp-block-image img,
.wp-block-media-text__media img,
.wp-block-cover__inner-container img {
border-radius: 12px !important;
}
/* Pas d'arrondi sur les fonds de cover (image de fond) */
.wp-block-cover__image-background,
.wp-block-cover img.wp-block-cover__image-background {
border-radius: 0 !important;
}
/* Pas d'arrondi sur le logo du header */
.brand img,
.builder-item--logo img,
.site-logo img {
border-radius: 0 !important;
}
/* Garder les variations existantes (radius 14px sur top des cartes Actu / 8px gallery / 100px portraits équipe) */
.wp-block-query .wp-block-post-featured-image img {
border-radius: 14px 14px 0 0 !important;
}
.wp-block-gallery .wp-block-image img {
border-radius: 8px !important;
}
/* === Bords arrondis sur tous les cadres colorés === */
/* Blocs media-text avec background (Qui sommes-nous, Notre mission, sous-pages projets, etc.) */
.wp-block-media-text.has-background {
border-radius: 16px !important;
overflow: hidden !important;
}
/* Groupes colorés non pleine largeur */
.wp-block-group.has-background:not(.alignfull) {
border-radius: 16px !important;
overflow: hidden !important;
}
/* Sections colorées pleine largeur : marges latérales + arrondi */
.wp-block-group.alignfull.has-background {
border-radius: 20px !important;
margin-left: 20px !important;
margin-right: 20px !important;
margin-top: 20px !important;
margin-bottom: 20px !important;
width: auto !important;
max-width: calc(100% - 40px) !important;
}
/* Le wp:cover hero NE doit PAS être arrondi (reste pleine largeur edge-to-edge) */
.wp-block-cover.alignfull {
border-radius: 0 !important;
margin-left: auto !important;
margin-right: auto !important;
max-width: 100% !important;
width: 100% !important;
}
/* Sur mobile, marges réduites pour ne pas étouffer */
@media (max-width: 781px) {
.wp-block-group.alignfull.has-background {
margin-left: 12px !important;
margin-right: 12px !important;
max-width: calc(100% - 24px) !important;
border-radius: 14px !important;
}
}
/* === Galerie photos protégée avec zoom hover === */
.ppdh-protected-gallery {
user-select: none !important;
-webkit-user-select: none !important;
-moz-user-select: none !important;
-ms-user-select: none !important;
-webkit-touch-callout: none !important;
}
.ppdh-protected-gallery .wp-block-image {
overflow: hidden !important;
border-radius: 8px !important;
}
.ppdh-protected-gallery .wp-block-image img,
.ppdh-protected-gallery img.ppdh-gallery-img {
transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
pointer-events: auto !important;
-webkit-user-drag: none !important;
-khtml-user-drag: none !important;
-moz-user-drag: none !important;
-o-user-drag: none !important;
user-drag: none !important;
cursor: zoom-in;
}
.ppdh-protected-gallery .wp-block-image:hover img,
.ppdh-protected-gallery img.ppdh-gallery-img:hover {
transform: scale(1.08) !important;
}
30% { opacity: 0.75; }
100% { opacity: 0; transform: var(--rot) scale(0.6); }
}
30% { opacity: 0.5; }
100% { opacity: 0; transform: var(--rot) scale(0.6); }
}
30% { opacity: 0.75; }
100% { opacity: 0; transform: var(--rot) scale(0.6); }
}
.pphd-footprint svg {
width: 100%;
height: 100%;
display: block;
filter: drop-shadow(0 1px 2px rgba(0,0,0,0.25));
}
/* === Lightbox custom pour galerie protégée === */
.pphd-lightbox-overlay {
position: fixed;
inset: 0;
background: rgba(10, 20, 40, 0.92);
z-index: 99999;
display: flex;
align-items: center;
justify-content: center;
opacity: 0;
pointer-events: none;
transition: opacity 0.3s ease;
cursor: zoom-out;
}
.pphd-lightbox-overlay.is-open {
opacity: 1;
pointer-events: auto;
}
.pphd-lightbox-overlay img {
max-width: 92vw;
max-height: 90vh;
border-radius: 8px;
box-shadow: 0 20px 60px rgba(0,0,0,0.5);
user-select: none;
-webkit-user-drag: none;
}
.pphd-lightbox-close,
.pphd-lightbox-prev,
.pphd-lightbox-next {
position: absolute;
background: rgba(255,255,255,0.15);
color: #fff;
border: 1px solid rgba(255,255,255,0.3);
border-radius: 50%;
width: 48px;
height: 48px;
font-size: 20px;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
transition: background 0.2s ease, transform 0.2s ease;
user-select: none;
}
.pphd-lightbox-close:hover,
.pphd-lightbox-prev:hover,
.pphd-lightbox-next:hover {
background: rgba(255,255,255,0.3);
transform: scale(1.05);
}
.pphd-lightbox-close { top: 20px; right: 20px; }
.pphd-lightbox-prev { left: 20px; top: 50%; transform: translateY(-50%); }
.pphd-lightbox-next { right: 20px; top: 50%; transform: translateY(-50%); }
.pphd-lightbox-prev:hover { transform: translateY(-50%) scale(1.05); }
.pphd-lightbox-next:hover { transform: translateY(-50%) scale(1.05); }
.pphd-lightbox-counter {
position: absolute;
bottom: 20px;
left: 50%;
transform: translateX(-50%);
color: rgba(255,255,255,0.7);
font-size: 14px;
user-select: none;
}
.ppdh-protected-gallery .wp-block-image img,
.ppdh-protected-gallery img.ppdh-gallery-img {
cursor: zoom-in;
}
/* === Cartes article (style "actualités") === */
.pphd-article-card {
border-radius: 16px !important;
overflow: hidden !important;
margin-bottom: 24px !important;
box-shadow: 0 8px 24px rgba(10,61,98,0.08) !important;
padding: 0 !important;
}
.pphd-article-card .pphd-article-cover-wrap {
margin: 0 !important;
width: 100% !important;
}
.pphd-article-card .pphd-article-cover-wrap img,
.pphd-article-card img.pphd-article-cover {
width: 100% !important;
height: 280px !important;
object-fit: cover !important;
display: block !important;
border-radius: 16px 16px 0 0 !important;
margin: 0 !important;
}
.pphd-article-card .pphd-article-body {
padding: 28px 32px 24px 32px !important;
}
.pphd-article-card h3.wp-block-heading {
margin-top: 0 !important;
margin-bottom: 14px !important;
font-size: 24px !important;
font-weight: 700 !important;
color: #1a1a1a !important;
}
.pphd-article-card h3.wp-block-heading::before {
display: none !important;
}
.pphd-article-card .pphd-article-body p {
margin: 0 0 12px 0 !important;
line-height: 1.6 !important;
}
.pphd-article-card details {
margin-top: 10px !important;
}
.pphd-article-card details > summary {
cursor: pointer !important;
list-style: none !important;
display: inline-block !important;
color: #e85d80 !important;
font-weight: 600 !important;
font-size: 14px !important;
padding: 7px 18px !important;
border-radius: 20px !important;
border: 1.5px solid #e85d80 !important;
background: rgba(255,255,255,0.5) !important;
transition: background 0.2s ease, color 0.2s ease !important;
user-select: none !important;
}
.pphd-article-card details > summary:hover {
background: #e85d80 !important;
color: #ffffff !important;
}
.pphd-article-card details > summary::-webkit-details-marker { display: none; }
.pphd-article-card details > summary::after {
content: " →";
transition: transform 0.3s ease;
display: inline-block;
}
.pphd-article-card details[open] > summary {
margin-bottom: 16px !important;
}
.pphd-article-card details[open] > summary::after { content: " ↑"; }
.pphd-article-card details > p,
.pphd-article-card details > ul,
.pphd-article-card details > h4 {
animation: pphd-details-in 0.35s ease;
}
.pphd-article-card details > h4 {
margin-top: 18px !important;
margin-bottom: 6px !important;
font-size: 17px !important;
font-weight: 700 !important;
}
@keyframes pphd-details-in {
from { opacity: 0; transform: translateY(-6px); }
to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 781px) {
.pphd-article-card .pphd-article-cover-wrap img,
.pphd-article-card img.pphd-article-cover {
height: 200px !important;
border-radius: 14px 14px 0 0 !important;
}
.pphd-article-card .pphd-article-body { padding: 20px 22px 18px 22px !important; }
.pphd-article-card h3.wp-block-heading { font-size: 20px !important; }
}
/* === Bouton "Lire la suite" rose sur details/summary === */
details.pphd-readmore {
margin-top: 14px !important;
}
details.pphd-readmore > summary {
cursor: pointer !important;
list-style: none !important;
display: inline-block !important;
color: #e85d80 !important;
font-weight: 600 !important;
font-size: 14px !important;
padding: 7px 18px !important;
border-radius: 20px !important;
border: 1.5px solid #e85d80 !important;
background: rgba(255,255,255,0.5) !important;
transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease !important;
user-select: none !important;
font-family: 'Quicksand', sans-serif !important;
}
details.pphd-readmore > summary:hover {
background: #e85d80 !important;
color: #ffffff !important;
transform: translateY(-1px) !important;
}
details.pphd-readmore > summary::-webkit-details-marker { display: none !important; }
details.pphd-readmore > summary::after {
content: " →";
transition: transform 0.3s ease;
display: inline-block;
}
details.pphd-readmore[open] > summary {
margin-bottom: 14px !important;
}
details.pphd-readmore[open] > summary::after { content: " ↑"; }
details.pphd-readmore > p,
details.pphd-readmore > ul,
details.pphd-readmore > h4 {
animation: pphd-details-fadein 0.35s ease;
}
details.pphd-readmore > h4 {
font-size: 17px !important;
font-weight: 700 !important;
margin-top: 14px !important;
margin-bottom: 6px !important;
}
@keyframes pphd-details-fadein {
from { opacity: 0; transform: translateY(-6px); }
to { opacity: 1; transform: translateY(0); }
}
/* === Animation brise légère sur les fanions === */
.ppdh-fanions svg polygon {
transform-box: fill-box;
transform-origin: center top;
animation: pphd-flag-sway 3s ease-in-out infinite;
}
.ppdh-fanions svg polygon:nth-of-type(2n) { animation-delay: -0.4s; animation-duration: 3.4s; }
.ppdh-fanions svg polygon:nth-of-type(3n) { animation-delay: -0.8s; animation-duration: 3.7s; }
.ppdh-fanions svg polygon:nth-of-type(4n) { animation-delay: -1.2s; animation-duration: 3.2s; }
.ppdh-fanions svg polygon:nth-of-type(5n) { animation-delay: -1.6s; animation-duration: 3.5s; }
.ppdh-fanions svg polygon:nth-of-type(7n) { animation-delay: -2s; animation-duration: 3.8s; }
@keyframes pphd-flag-sway {
0%, 100% { transform: rotate(-2deg); }
50% { transform: rotate(4deg); }
}
/* === Media-text : image collée bord-à-bord, titre avec padding === */
.wp-block-media-text {
align-items: stretch !important;
grid-template-rows: 1fr !important;
}
.wp-block-media-text > .wp-block-media-text__media {
padding: 0 !important;
margin: 0 !important;
align-self: stretch !important;
height: 100% !important;
display: flex !important;
overflow: hidden !important;
}
.wp-block-media-text > .wp-block-media-text__media img {
width: 100% !important;
height: 100% !important;
object-fit: cover !important;
display: block !important;
margin: 0 !important;
border-radius: 0 !important;
}
.wp-block-media-text > .wp-block-media-text__content {
padding: 32px 8% 32px 8% !important;
align-self: center !important;
}
.wp-block-media-text__media {
padding-top: 20px !important;
}
.wp-block-media-text__content {
padding: 20px 8% 20px 8% !important;
}
/* === Empreintes de pas qui suivent la souris sur le hero home === */
body.page-id-1059 .wp-block-cover.alignfull:first-of-type {
cursor: default;
}
@keyframes pphd-foot-fade {
0% {
opacity: 0.85;
transform: var(--rot) scale(1);
}
30% {
opacity: 0.75;
}
100% {
opacity: 0;
transform: var(--rot) scale(0.6);
}
}
.pphd-footprint {
position: absolute;
pointer-events: none;
z-index: 10;
width: 22px;
height: 42px;
animation: pphd-foot-fade 2.2s ease-out forwards;
will-change: opacity, transform;
}
.pphd-footprint svg {
width: 100%;
height: 100%;
display: block;
filter: drop-shadow(0 1px 2px rgba(0,0,0,0.25));
}
/* === Items sociaux dans le menu (icon-only) === */
.primary-menu-ul > li.menu-social > a,
#nv-primary-navigation-main > li.menu-social > a,
.header-menu-sidebar-inner > ul > li.menu-social > a {
background-color: #ffffff !important;
border: 1.5px solid #e6edf5 !important;
border-radius: 50% !important;
width: 36px !important;
height: 36px !important;
padding: 0 !important;
margin: 0 3px !important;
font-size: 0 !important;
color: transparent !important;
text-indent: -9999px !important;
overflow: hidden !important;
background-repeat: no-repeat !important;
background-position: center center !important;
background-size: 18px 18px !important;
display: inline-block !important;
transition: all 0.25s ease !important;
}
.primary-menu-ul > li.menu-social > a > span,
.primary-menu-ul > li.menu-social > a .menu-item-title-wrap,
.primary-menu-ul > li.menu-social > a .caret-wrap {
display: none !important;
}
li.menu-social-fb > a {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23e85d80'%3E%3Cpath d='M22.675 0H1.325C.593 0 0 .593 0 1.325v21.351C0 23.407.593 24 1.325 24H12.82v-9.294H9.692v-3.622h3.128V8.413c0-3.1 1.893-4.788 4.659-4.788 1.325 0 2.463.099 2.795.143v3.24h-1.918c-1.504 0-1.795.715-1.795 1.763v2.313h3.587l-.467 3.622h-3.12V24h6.116c.73 0 1.323-.593 1.323-1.325V1.325C24 .593 23.407 0 22.675 0z'/%3E%3C/svg%3E") !important;
}
li.menu-social-ig > a {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23e85d80'%3E%3Cpath d='M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z'/%3E%3C/svg%3E") !important;
}
.primary-menu-ul > li.menu-social > a:hover,
#nv-primary-navigation-main > li.menu-social > a:hover {
background-color: #fde2e9 !important;
border-color: #e85d80 !important;
transform: translateY(-1px) !important;
box-shadow: 0 3px 10px rgba(232,93,128,0.2) !important;
}
/* Pas d'icône FA devant les items sociaux */
li.menu-social > a::before {
display: none !important;
content: none !important;
}
/* === Footer social bar (injecté via JS) === */
.pphd-footer-social {
display: flex;
align-items: center;
justify-content: center;
gap: 14px;
padding: 30px 20px 18px 20px;
margin: 0 auto;
}
.pphd-footer-social a {
display: inline-flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
border-radius: 50%;
background: rgba(232,93,128,0.1);
border: 1.5px solid rgba(232,93,128,0.3);
color: #e85d80;
text-decoration: none;
transition: all 0.25s ease;
}
.pphd-footer-social a:hover {
background: #e85d80;
border-color: #e85d80;
color: #fff;
transform: translateY(-2px);
box-shadow: 0 6px 16px rgba(232,93,128,0.3);
}
.pphd-footer-social a svg {
width: 18px;
height: 18px;
fill: currentColor;
}
/* === Items sociaux dans le menu (icon-only) === */
.primary-menu-ul > li.menu-social > a,
#nv-primary-navigation-main > li.menu-social > a,
.header-menu-sidebar-inner > ul > li.menu-social > a {
background-color: #ffffff !important;
background-repeat: no-repeat !important;
background-position: center center !important;
background-size: 18px 18px !important;
border: 1.5px solid #e6edf5 !important;
border-radius: 50% !important;
width: 36px !important;
height: 36px !important;
padding: 0 !important;
margin: 0 3px !important;
display: inline-block !important;
font-size: 0 !important;
line-height: 0 !important;
color: transparent !important;
text-indent: -9999px !important;
overflow: hidden !important;
text-decoration: none !important;
transition: all 0.25s ease !important;
vertical-align: middle !important;
}
li.menu-social-fb > a {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23e85d80'%3E%3Cpath d='M22.675 0H1.325C.593 0 0 .593 0 1.325v21.351C0 23.407.593 24 1.325 24H12.82v-9.294H9.692v-3.622h3.128V8.413c0-3.1 1.893-4.788 4.659-4.788 1.325 0 2.463.099 2.795.143v3.24h-1.918c-1.504 0-1.795.715-1.795 1.763v2.313h3.587l-.467 3.622h-3.12V24h6.116c.73 0 1.323-.593 1.323-1.325V1.325C24 .593 23.407 0 22.675 0z'/%3E%3C/svg%3E") !important;
}
li.menu-social-ig > a {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23e85d80'%3E%3Cpath d='M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z'/%3E%3C/svg%3E") !important;
}
.primary-menu-ul > li.menu-social > a:hover,
#nv-primary-navigation-main > li.menu-social > a:hover {
background-color: #fde2e9 !important;
border-color: #e85d80 !important;
transform: translateY(-1px) !important;
box-shadow: 0 3px 10px rgba(232,93,128,0.2) !important;
}
/* Exclure menu-social du look pilule générique */
.primary-menu-ul > li.menu-item.menu-social > a {
border-radius: 50% !important;
}
li.menu-social > a::before {
display: none !important;
content: none !important;
}
/* === Forcer puces visibles sur listes du contenu === */
.entry-content ul.wp-block-list,
.wp-block-media-text__content ul,
.wp-block-group ul.wp-block-list,
.pphd-readmore ul {
list-style: disc !important;
padding-left: 24px !important;
margin: 12px 0 !important;
}
.entry-content ul.wp-block-list li,
.wp-block-media-text__content ul li,
.wp-block-group ul.wp-block-list li,
.pphd-readmore ul li {
display: list-item !important;
margin-bottom: 8px !important;
line-height: 1.5 !important;
padding-left: 4px !important;
}
.entry-content ul.wp-block-list li::marker,
.wp-block-media-text__content ul li::marker,
.pphd-readmore ul li::marker {
color: #e85d80;
font-size: 1.1em;
}
(function() {
function applyHero() {
if (!document.body.classList.contains('single-post')) return;
var img = document.querySelector('.nv-thumb-wrap img.wp-post-image, .single-post .post-thumbnail img');
var header = document.querySelector('.single-post .entry-header');
if (img && header) {
var src = img.currentSrc || img.src;
if (src) header.style.backgroundImage = 'url(' + src + ')';
}
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', applyHero);
} else {
applyHero();
}
})();
(function() {
function protectGalleries() {
document.querySelectorAll('.ppdh-protected-gallery img').forEach(function(img) {
img.addEventListener('contextmenu', function(e) { e.preventDefault(); return false; });
img.addEventListener('dragstart', function(e) { e.preventDefault(); return false; });
img.setAttribute('draggable', 'false');
img.style.webkitUserDrag = 'none';
});
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', protectGalleries);
} else {
protectGalleries();
}
})();
(function() {
function initLightbox() {
var galleries = document.querySelectorAll('.ppdh-protected-gallery');
if (!galleries.length) return;
var images = [];
galleries.forEach(function(g) {
g.querySelectorAll('img').forEach(function(img) { images.push(img); });
});
if (!images.length) return;
// Create overlay
var overlay = document.createElement('div');
overlay.className = 'pphd-lightbox-overlay';
overlay.innerHTML = '
× '
+ '
‹ '
+ '
› '
+ '
'
+ '
';
document.body.appendChild(overlay);
var imgEl = overlay.querySelector('img');
imgEl.addEventListener('contextmenu', function(e) { e.preventDefault(); return false; });
imgEl.addEventListener('dragstart', function(e) { e.preventDefault(); return false; });
imgEl.setAttribute('draggable', 'false');
imgEl.style.userSelect = 'none';
imgEl.style.webkitUserDrag = 'none';
overlay.addEventListener('contextmenu', function(e) { e.preventDefault(); return false; });
var counter = overlay.querySelector('.pphd-lightbox-counter');
var current = 0;
function show(i) {
current = (i + images.length) % images.length;
imgEl.src = images[current].src;
imgEl.alt = images[current].alt || '';
counter.textContent = (current + 1) + ' / ' + images.length;
}
function open(i) {
show(i);
overlay.classList.add('is-open');
document.body.style.overflow = 'hidden';
}
function close() {
overlay.classList.remove('is-open');
document.body.style.overflow = '';
}
images.forEach(function(img, i) {
img.addEventListener('click', function(e) {
e.preventDefault();
open(i);
});
});
overlay.querySelector('.pphd-lightbox-close').addEventListener('click', close);
overlay.querySelector('.pphd-lightbox-prev').addEventListener('click', function(e) {
e.stopPropagation();
show(current - 1);
});
overlay.querySelector('.pphd-lightbox-next').addEventListener('click', function(e) {
e.stopPropagation();
show(current + 1);
});
overlay.addEventListener('click', function(e) {
if (e.target === overlay || e.target === imgEl) close();
});
document.addEventListener('keydown', function(e) {
if (!overlay.classList.contains('is-open')) return;
if (e.key === 'Escape') close();
else if (e.key === 'ArrowLeft') show(current - 1);
else if (e.key === 'ArrowRight') show(current + 1);
});
}
if (document.readyState === 'complete' || document.readyState === 'interactive') {
setTimeout(initLightbox, 100);
} else {
document.addEventListener('DOMContentLoaded', function() { setTimeout(initLightbox, 100); });
}
})();
(function() {
function initFootprints() {
if (!document.body.classList.contains('page-id-1059')) return;
var hero = document.querySelector('body.page-id-1059 .wp-block-cover.alignfull');
if (!hero) {
setTimeout(initFootprints, 300);
return;
}
var cs = window.getComputedStyle(hero);
if (cs.position === 'static') hero.style.position = 'relative';
hero.style.overflow = 'hidden';
var lastT = 0, lastX = -999, lastY = -999, idx = 0;
var FOOT_SVG = ''
+ ''
+ ''
+ ''
+ ''
+ ''
+ ''
+ ''
+ '';
hero.addEventListener('mousemove', function(e) {
var now = Date.now();
if (now - lastT < 90) return;
var rect = hero.getBoundingClientRect();
var x = e.clientX - rect.left;
var y = e.clientY - rect.top;
var dist = Math.hypot(x - lastX, y - lastY);
if (dist < 35) return;
lastT = now; lastX = x; lastY = y;
var foot = document.createElement('div');
foot.className = 'pphd-footprint';
var rot = (idx % 2 === 0 ? -18 : 18) + (Math.random() * 6 - 3);
foot.style.cssText = 'left:' + (x - 11) + 'px;top:' + (y - 21) + 'px;--rot:rotate(' + rot + 'deg);transform:rotate(' + rot + 'deg);';
foot.innerHTML = FOOT_SVG;
hero.appendChild(foot);
idx++;
setTimeout(function() { foot.remove(); }, 2200);
});
hero.setAttribute('data-pphd-foot', 'ready');
}
if (document.readyState === 'complete' || document.readyState === 'interactive') {
setTimeout(initFootprints, 50);
} else {
document.addEventListener('DOMContentLoaded', function() { setTimeout(initFootprints, 50); });
window.addEventListener('load', initFootprints);
}
})();
(function() {
function injectFooterSocial() {
var footer = document.querySelector('footer.site-footer, footer#footer, .nv-footer-content');
if (!footer) {
setTimeout(injectFooterSocial, 300);
return;
}
if (footer.querySelector('.pphd-footer-social')) return;
var bar = document.createElement('div');
bar.className = 'pphd-footer-social';
bar.innerHTML = '
'
+ ''
+ ' '
+ '
'
+ ''
+ ' '
+ '
'
+ ''
+ ' ';
// Insert at top of footer (before existing content / copyrights)
footer.insertBefore(bar, footer.firstChild);
}
if (document.readyState === 'complete' || document.readyState === 'interactive') {
setTimeout(injectFooterSocial, 100);
} else {
document.addEventListener('DOMContentLoaded', function() { setTimeout(injectFooterSocial, 100); });
}
})();
Après de longues années de bons et loyaux services, le mythique tapis d'examen marron de la salle de consultation a officiellement pris sa retraite .
Fatigué, discret, un peu vintage sur les bords (certaines diraient même « collector »), il laisse aujourd'hui sa place à un tout nouveau tapis… vert. Et autant dire qu'en entrant dans la salle, impossible désormais de le rater.
Certains parlent déjà d'un « petit air de printemps », d'autres d'une « ambiance prairie », et quelques-uns cherchent encore leurs lunettes de soleil.
Grâce à l'association Petits Pas de Héros, la salle de consultation s'offre donc un vrai coup de pep's. Une touche de couleur qui apporte un peu de fraîcheur et de bonne humeur au quotidien du service.