/* ==========================================================================
   Refonte HP / HP Pro de santé / header / footer (2026)
   Préfixe : rhp-
   ========================================================================== */

:root{
  --rhp-bleu: #00a7c9;
  --rhp-noir: #003359;
  --rhp-bleu-clair: #ebfcff;
  --rhp-gris: #87a6be;
  --rhp-radius: 32px;
  --rhp-header-h: 90px;
}

.screen-reader-text{
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}

body.home,
body.page-template-template-fds-hp{background: #fff}

/* ---------- Base ---------- */
.rhp-container{
  width: calc(100% - 40px);
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.rhp-section{
  position: relative;
  padding: 60px 0;
  background: #fff;
  color: var(--rhp-noir);
  font-family: "Rubik-Regular";
}
.rhp-section *,
.rhp-header-wrap *,
.rhp-footer *,
.rhp-nl-bar *{box-sizing: border-box}
.rhp-dark{background: var(--rhp-noir); color: #fff}

.rhp-head{margin-bottom: 40px}
.rhp-title{
  font-family: "Rubik-Medium";
  font-size: 32px;
  line-height: 1.2;
  color: var(--rhp-bleu);
  margin: 0;
}
.rhp-subtitle{
  font-family: "Rubik-Medium";
  font-size: 20px;
  line-height: 1.2;
  color: var(--rhp-noir);
  margin: 12px 0 0;
}
.rhp-text,
.rhp-wysiwyg p,
.rhp-wysiwyg li{
  font-family: "Rubik-Regular";
  font-size: 16px;
  line-height: 22px;
  color: var(--rhp-noir);
}
.rhp-head .rhp-text{margin-top: 16px; line-height: 24px}
.rhp-dark .rhp-title,
.rhp-dark .rhp-subtitle,
.rhp-dark .rhp-text{color: #fff}

.rhp-wysiwyg p{margin: 0 0 12px}
.rhp-wysiwyg p:last-child{margin-bottom: 0}
.rhp-wysiwyg b,
.rhp-wysiwyg strong{font-family: "Rubik-Bold"}
.rhp-wysiwyg a{color: var(--rhp-bleu); text-decoration: underline}
.rhp-wysiwyg ul,
.rhp-wysiwyg ol{margin: 0 0 12px; padding-left: 30px}
.rhp-wysiwyg ul li{list-style: disc; font-size: 16px; line-height: normal}
.rhp-wysiwyg ol li{list-style: decimal; font-size: 16px; line-height: normal}

/* ---------- Boutons ---------- */
.rhp-btns{display: flex; flex-wrap: wrap; gap: 16px 32px}
.rhp-btns--center{justify-content: center; margin-top: 40px}
.rhp-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 49px;
  padding: 12px 35px;
  border-radius: 100px;
  border: 1px solid var(--rhp-bleu);
  font-family: "Rubik-Regular";
  font-size: 16px;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background .3s, color .3s, border-color .3s;
}
.rhp-btn--plein{background: var(--rhp-bleu); color: #fff}
.rhp-btn--plein:hover,
.rhp-btn--plein:focus-visible{background: var(--rhp-noir); border-color: var(--rhp-noir); color: #fff}
.rhp-btn--contour{background: transparent; color: var(--rhp-bleu)}
.rhp-btn--contour:hover,
.rhp-btn--contour:focus-visible{background: var(--rhp-bleu); color: #fff}
.rhp-dark .rhp-btn--plein:hover{background: #fff; border-color: #fff; color: var(--rhp-noir)}
.rhp-dark .rhp-btn--contour,
.rhp-nl-bar .rhp-btn--contour{border-color: #fff; color: #fff}
.rhp-dark .rhp-btn--contour:hover,
.rhp-nl-bar .rhp-btn--contour:hover{background: #fff; color: var(--rhp-noir)}

.rhp-badge{
  display: inline-block;
  padding: 11px 15px;
  border-radius: 18px;
  background: var(--rhp-bleu-clair);
  font-family: "Rubik-Medium";
  font-size: 14px;
  line-height: 1;
  color: var(--rhp-noir);
}

.rhp-mascotte{position: absolute; pointer-events: none; z-index: 3; height: auto}

/* ---------- Slider (slick) ---------- */
.rhp-slider .slick-track{display: flex}
.rhp-slider .slick-slide{height: auto; float: none}
.rhp-slider .slick-slide > div{height: 100%}
.rhp-arrow{
  position: absolute;
  top: 50%;
  z-index: 2;
  width: 43px;
  height: 43px;
  margin-top: -21px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.rhp-arrow img{width: 11px; height: 20px}
.rhp-arrow--prev{left: 0}
.rhp-arrow--next{right: 0}
.rhp-arrow--next img{transform: rotate(180deg)}
.rhp-arrow.slick-disabled{opacity: .3; cursor: default}
.rhp-dark .rhp-arrow img{filter: brightness(0) invert(1)}
.rhp-dots{
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin: 40px 0 0;
  padding: 0;
  list-style: none;
}
.rhp-dots li{width: 12px; height: 12px; display: flex; align-items: center; justify-content: center}
.rhp-dots button{
  width: 8px; height: 8px;
  padding: 0; border: 0;
  border-radius: 50%;
  background: var(--rhp-noir);
  font-size: 0;
  cursor: pointer;
  transition: all .3s;
}
.rhp-dots .slick-active button{width: 12px; height: 12px; background: var(--rhp-bleu)}
.rhp-dark .rhp-dots button{background: #fff}
.rhp-dark .rhp-dots .slick-active button{background: var(--rhp-bleu)}

/* ---------- A. Bannière HP ---------- */
.rhp-hero{position: relative; background: #fff}
.rhp-hero__bg,
.rhp-hero__bg img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.rhp-hero__bg img{object-fit: cover}
.rhp-hero__inner{
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  min-height: 615px;
  padding: 120px 0 32px;
}
.rhp-hero__card{
  width: 600px;
  max-width: 100%;
  padding: 40px;
  border-radius: var(--rhp-radius);
  background: #00335940;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.rhp-hero__title{
  font-family: "Rubik-Medium";
  font-size: 40px;
  line-height: 1.2;
  color: var(--rhp-bleu);
	color: white;
  margin: 0;
}
.rhp-hero__text{
color: white!important;
}

.rhp-hero__text{
  font-family: "Rubik-Regular";
  font-size: 20px;
  line-height: 28px;
  color: var(--rhp-noir);
  margin: 35px 0;
  max-width: 482px;
}
.rhp-hero__mascotte{width: 169px; right: -21px; bottom: -38px; transform: scaleX(-1);}
.rhp-hero__video{object-fit: cover; z-index: 0}
.rhp-hero__inner{z-index: 1}

/* ---------- G. Intro HP Pro ---------- */
.rhp-intro{padding: 60px 0 30px}
.rhp-intro__title{
  font-family: "Rubik-Medium";
  font-size: 40px;
  line-height: 1.2;
  color: var(--rhp-noir);
  margin: 0;
}
.rhp-intro__subtitle{
  font-family: "Rubik-Bold";
  font-size: 20px;
  line-height: 24px;
  color: var(--rhp-noir);
  margin: 20px 0 0;
}
.rhp-intro__text{
  font-family: "Rubik-Regular";
  font-size: 16px;
  line-height: 24px;
  color: var(--rhp-noir);
  margin: 20px 0 0;
}

/* ---------- B. Slider à la une ---------- */
.rhp-une__slide{
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
}
.rhp-une__media{
  position: relative;
  height: 480px;
  border-radius: var(--rhp-radius);
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  padding: 20px;
}
.rhp-une__media:after{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,51,89,.15);
}
.rhp-une__img{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover}
.rhp-une__speaker{
  position: relative;
  z-index: 1;
  width: 360px;
  max-width: 100%;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px;
  border-radius: 12px;
  background: rgba(235,252,255,.7);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  color: var(--rhp-noir);
}
.rhp-une__speaker-photo{width: 56px; height: 56px; border-radius: 50%; object-fit: cover; flex-shrink: 0}
.rhp-une__speaker-txt p{font-family: "Rubik-Regular"; font-size: 12px; line-height: 1.3; margin: 0}
.rhp-une__speaker-txt p + p{margin-top: 6px}
.rhp-une__speaker-txt .rhp-une__speaker-name{font-family: "Rubik-Bold"; font-size: 14px}
.rhp-une__content{
  padding-top: 40px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
}
.rhp-une__content .rhp-badge{margin-bottom: 10px}
.rhp-une__title{
  font-family: "Rubik-Medium";
  font-size: 32px;
  line-height: 1.2;
  color: var(--rhp-bleu);
  margin: 0;
}
.rhp-une__content .rhp-btn{margin-top: 10px}
.rhp-une__mascotte{width: 143px; left: calc(50% - 672px); bottom: 25px}

/* ---------- C. Image + texte ---------- */
.rhp-imgtxt__inner{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}
.rhp-imgtxt--img-gauche .rhp-imgtxt__media{order: -1}
.rhp-imgtxt__content{display: flex; flex-direction: column; align-items: flex-start; gap: 40px}
.rhp-imgtxt__head .rhp-subtitle{margin-top: 16px}
.rhp-imgtxt__media{
  position: relative;
  border-radius: var(--rhp-radius);
  overflow: hidden;
  aspect-ratio: 580 / 387;
}
.rhp-imgtxt__media img{width: 100%; height: 100%; object-fit: cover; display: block}
.rhp-imgtxt__media.has-voile:after{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,51,89,.15);
}
.rhp-imgtxt__media.no-voile{background: #dbf3f6}
.rhp-imgtxt__mascotte{
    width: 135px;
    right: -20px;
    bottom: -40px;
    transform: scaleX(-1);
}
.rhp-imgtxt--img-gauche .rhp-imgtxt__mascotte{right: auto; left: -40px}

/* ---------- E. Bandeau CTA ---------- */
.rhp-cta--sombre{padding: 120px 0}
.rhp-cta__inner{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  text-align: center;
}
.rhp-cta--sombre .rhp-title{color: #fff}
.rhp-cta--clair .rhp-title{color: var(--rhp-noir)}
.rhp-cta__head .rhp-text{margin: 24px 0 0}
.rhp-cta .rhp-btns{justify-content: center}

/* ---------- Cartes (actus / guides / études) ---------- */
.rhp-cards{position: relative; padding: 0 43px}
.rhp-cards:not(.slick-initialized){display: flex; gap: 32px; overflow: hidden}
.rhp-cards:not(.slick-initialized) .rhp-cards__item{flex: 0 0 calc((100% - 64px) / 3)}
.rhp-cards .slick-list{margin: 0 -16px}
.rhp-cards .slick-slide{padding: 0 16px}
.rhp-cards__item{height: 100%}
.rhp-card{
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  border-radius: var(--rhp-radius) var(--rhp-radius) var(--rhp-radius) 0;
  background: rgba(148,208,222,.1);
  overflow: hidden;
}
.rhp-card__thumb{
  position: relative;
  height: 252px;
  padding: 20px;
  flex-shrink: 0;
}
.rhp-card--actu .rhp-card__thumb img{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover}
.rhp-card__cat{
  position: relative;
  z-index: 1;
  display: inline-block;
  padding: 8px 14px;
  border-radius: 18px;
  background: #fff;
  font-family: "Rubik-Regular";
  font-size: 14px;
  line-height: 1;
  color: var(--rhp-bleu);
}
.rhp-card__body{
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding: 20px 20px 24px;
}
.rhp-card__meta{display: flex; gap: 50px; font-family: "Rubik-Regular"; font-size: 14px; line-height: 1; color: var(--rhp-gris); color: var(--rhp-noir);}
.rhp-card__meta span{display: inline-flex; align-items: center; gap: 10px}

.rhp-card__meta img{filter: brightness(0) saturate(100%) invert(12%) sepia(41%) saturate(5477%) hue-rotate(190deg) brightness(88%) contrast(101%);
}

.rhp-card__title{
  font-family: "Rubik-Medium";
  font-size: 20px;
  line-height: 1.2;
  color: var(--rhp-noir);
  margin: 6px 0 0;
}
.rhp-card__text{font-family: "Rubik-Regular"; font-size: 16px; line-height: 24px; color: var(--rhp-noir); margin: 0}
.rhp-card__text--clamp{
  display: -webkit-box;
  -webkit-line-clamp: 4;
	  line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.rhp-card__link{
  margin-top: auto;
  font-family: "Rubik-Regular";
  font-size: 16px;
  line-height: 18px;
  color: var(--rhp-bleu);
  text-decoration: none;
}
.rhp-card__link:hover{text-decoration: underline}
.rhp-card__link.stretched:after{content: ""; position: absolute; inset: 0; z-index: 2}
.rhp-card--actu .rhp-card__thumb img{transition: transform .5s}
.rhp-card--actu:hover .rhp-card__thumb img{transform: scale(1.05)}

.rhp-card--guide .rhp-card__thumb{display: flex; align-items: center; justify-content: center}
.rhp-card--guide .rhp-card__thumb img{height: 100%; width: auto; aspect-ratio: 210 / 297; object-fit: cover; border-radius: 8px}
.rhp-card--guide .rhp-card__body{gap: 16px}

.rhp-card--etude{background: #fff; box-shadow: 0 0 10px rgba(0,51,89,.1)}
.rhp-card--etude .rhp-card__body{padding: 32px 32px 40px; gap: 20px}
.rhp-card__row{display: flex; align-items: center; gap: 12px; width: 100%}
.rhp-card--etude .rhp-card__title{flex: 1; margin: 0}
.rhp-card__year{
  padding: 5px 10px;
  border-radius: 100px;
  background: var(--rhp-bleu-clair);
  font-family: "Rubik-Regular";
  font-size: 14px;
  line-height: 1;
  color: var(--rhp-noir);
}
.rhp-card--etude .rhp-card__text{margin-top: -12px}
.rhp-card__results{display: flex; flex-direction: column; gap: 4px}
.rhp-card__label{font-family: "Rubik-Medium"; font-size: 16px; color: var(--rhp-noir); margin: 0}
.rhp-etudes{padding: 120px 0}

/* ---------- J. Cartes outils ---------- */
.rhp-outils__grid{display: grid; grid-template-columns: repeat(2, 1fr); gap: 60px}
.rhp-outils__card{
  position: relative;
  aspect-ratio: 1;
  border-radius: var(--rhp-radius);
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  padding: 20px;
}
.rhp-outils__img{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover}
.rhp-outils__glass{
  position: relative;
  z-index: 1;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  padding: 20px;
  border-radius: 12px;
  background: rgba(255,255,255,.75);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
}
.rhp-outils__title{font-family: "Rubik-Medium"; font-size: 20px; line-height: 1.2; color: var(--rhp-noir); margin: 0 0 12px}

/* ---------- D. Tuiles (block_image_texte_33 / 1_3 / 2_3) ---------- */
.block-mini-1-3,
.block-mini-2-3,
.block-mini-3-3{margin: 0 0 32px; background: #fff}
.block-mini-1-3 .container,
.block-mini-2-3 .container,
.block-mini-3-3 .container{
  display: flex;
  gap: 32px;
  width: calc(100% - 40px);
  max-width: 1200px;
  padding: 0;
}
.block-mini-1-3 .container:before, .block-mini-1-3 .container:after,
.block-mini-2-3 .container:before, .block-mini-2-3 .container:after,
.block-mini-3-3 .container:before, .block-mini-3-3 .container:after{display: none}
.mini-block-content{
  float: none;
  height: auto;
  min-height: 1px;
  padding: 0;
  width: auto;
  flex: 1 1 0;
  aspect-ratio: 1;
}
.block-mini-1-3 .mini-block-content.col-md-8,
.block-mini-2-3 .mini-block-content.col-md-8{flex: 2 1 0; aspect-ratio: auto; margin: 0 !important}
.mini-block-content .inner,
.mini-block-content .inner picture,
.mini-block-content .inner picture img,
.mini-block-content.has-img .inner:before,
.mini-block-content.has-img .inner:after{border-radius: var(--rhp-radius)}
.mini-block-content.has-img .inner:before{display: none}
.mini-block-content.has-img .inner:after,
.page-template-template-fds-hp .mini-block-content.has-img .inner:after{background: #006b81; opacity: .5; z-index: 1}
.mini-block-content .inner picture{z-index: 0}
.title-mini-block{
  position: relative;
  z-index: 2 !important;
  font-size: 28px !important;
  line-height: 1.2 !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.title-mini-block b,
.title-mini-block strong{font-family: "Rubik-Bold"; font-size: 32px; text-transform: uppercase; display: block}
.mini-block-content .inner a{
  z-index: 3;
  right: 63px;
  bottom: 37px;
  font-family: "Rubik-Regular";
  font-size: 18px;
  line-height: 22px;
}
.mini-block-content .inner a:after{bottom: -2px}
.center-mini-block .mini-block-content{flex: 0 0 calc((100% - 64px) / 3)}
/* tuile dissociée */
.mini-block-content.split{display: flex; padding: 0}
.mini-block-content.split .inner{width: 50%; float: none; padding: 0 20px}
.block-mini-1-3 .split .left-block,
.block-mini-2-3 .split .right-block{border-radius: var(--rhp-radius) 0 0 var(--rhp-radius)}
.block-mini-1-3 .split .right-block,
.block-mini-1-3 .split .right-block picture,
.block-mini-1-3 .split .right-block picture img,
.block-mini-1-3 .mini-block-content.has-img.split .inner.right-block:after{border-radius: 0 var(--rhp-radius) var(--rhp-radius) 0}
.mini-block-content.has-img.split .inner.right-block:after{background: rgba(0,51,89,.2); opacity: 1}
.mini-block-content.has-img.split .inner.left-block:after{display: none}

/* ---------- Header ---------- */
.rhp-header-wrap{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 99999;
}
.admin-bar .rhp-header-wrap{top: 32px}
.rhp-pro-sticky{display: none}
.rhp-header-wrap .top-bar{
  position: relative !important;
  float: none;
  width: 100%;
  height: 36px;
  min-height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3px 15px;
  background: var(--rhp-bleu);
}
.rhp-header-wrap .top-bar p{
  position: absolute;
  left: 15px;
  right: 15px;
  top: 50%;
  display: block !important;
  margin: 0;
  font-family: "Rubik-Regular";
  font-size: 14px;
  line-height: 1.2;
  color: #fff;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-50%);
  transition: opacity .35s ease, visibility .35s ease;
}
.rhp-header-wrap .top-bar:not(.is-rotating) p:first-child,
.rhp-header-wrap .top-bar p.is-active{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.rhp-header-wrap .top-bar p b,
.rhp-header-wrap .top-bar p strong{font-family: "Rubik-Regular"; font-size: 14px; line-height: 1.2; color: #fff}
.rhp-header-wrap .top-bar a{color: #fff; text-decoration: underline}
@media (prefers-reduced-motion: reduce){
  .rhp-header-wrap .top-bar p{transition: none}
}
.rhp-header-spacer{height: var(--rhp-header-h); float: left; width: 100%}
.rhp-header{
  position: relative;
  height: 90px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px;
  background: #fff;
  border-bottom: 1px solid #d5f0f6;
  font-family: "Rubik-Regular";
}
.rhp-header__logo img{width: 114px; height: auto; display: block}
.rhp-nav{align-self: stretch; display: flex; align-items: stretch}
.rhp-nav__list{display: flex; gap: 60px; height: 100%; margin: 0; padding: 0}
.rhp-nav__item{position: relative; display: flex; align-items: center}
.rhp-nav__link{
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
  font-family: "Rubik-Medium";
  font-size: 14px;
  line-height: 1.4;
  text-transform: uppercase;
  color: #003b5c;
  text-decoration: none;
  transition: color .25s;
}
.rhp-nav__link:after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 1px;
  height: 3px;
  border-radius: 999px;
  background: var(--rhp-bleu);
  opacity: 0;
  transform: translateX(-50%);
  transition: width .3s, opacity .3s;
}
.rhp-nav__item:hover > .rhp-nav__link,
.rhp-nav__item.is-open > .rhp-nav__link,
.rhp-nav__item.is-active > .rhp-nav__link,
.rhp-nav__link:focus-visible{color: var(--rhp-bleu)}
.rhp-nav__item:hover > .rhp-nav__link:after,
.rhp-nav__item.is-open > .rhp-nav__link:after,
.rhp-nav__item.is-active > .rhp-nav__link:after{width: 100%; opacity: 1}
.rhp-nav__toggle,
.rhp-nav__mobile-top,
.rhp-nav__mobile-bottom,
.rhp-burger{display: none}

.rhp-dropdown{
  position: absolute;
  top: 100%;
  left: -32px;
  transform: translateY(8px);
  opacity: 0;
  visibility: hidden;
  transition: opacity .25s, transform .25s, visibility .25s;
  z-index: 10;
}
.rhp-nav__item.is-open > .rhp-dropdown{opacity: 1; visibility: visible; transform: none}
.rhp-dropdown__card{
  display: flex;
  gap: 20px;
  padding: 24px;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 0 26px rgba(0,51,89,.25);
}
.rhp-dropdown__visual{
  width: 209px;
  height: 157px;
  object-fit: contain;
  flex-shrink: 0;
  align-self: stretch;
  border-radius: 8px;
  overflow: hidden;
  background: var(--rhp-bleu-clair);
}
.rhp-dropdown__visual img{width: 100%; height: 100%; object-fit: cover; display: block}
.rhp-dropdown__col{
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 150px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.rhp-dropdown__col + .rhp-dropdown__col{border-left: 1px solid rgba(0,51,89,.1); padding-left: 20px}
.rhp-dropdown__item{
  display: flex;
  flex-direction: column;
  padding: 6px 12px;
  border-radius: 8px;
  text-decoration: none;
  transition: background .2s;
}
.rhp-dropdown__item:hover,
.rhp-dropdown__item:focus-visible{background: var(--rhp-bleu-clair)}
.rhp-dropdown__title{font-family: "Rubik-Regular"; font-size: 14px; line-height: 1.4; color: var(--rhp-noir); white-space: nowrap}
.rhp-dropdown__sub{
  /* largeur calée sur le titre : le sous-titre est tronqué comme dans la maquette */
  width: 0;
  min-width: 100%;
  font-family: "Rubik-Regular";
  font-size: 11px;
  line-height: 1.4;
  color: rgba(0,51,89,.5);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.rhp-header__right{display: flex; align-items: center; gap: 42px}
.rhp-search{width: 285px; position: relative}
.rhp-live-search{position: relative; width: 100%; font-family: "Rubik-Regular"}
.rhp-live-search__form{
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 50px;
  border: 1px solid transparent;
  border-radius: 50px;
  background: var(--rhp-bleu-clair);
  transition: border-color .2s, box-shadow .2s;
}
.rhp-live-search__form:focus-within{border-color: var(--rhp-bleu); box-shadow: 0 0 0 3px rgba(0,167,201,.13)}
.rhp-live-search__input{
  width: 100%;
  height: 48px;
  padding: 0 78px 0 24px;
  border: 0;
  outline: 0;
  border-radius: 50px;
  background: transparent;
  font-family: "Rubik-Medium";
  font-size: 14px;
  line-height: 1;
  color: var(--rhp-noir);
  appearance: none;
  -webkit-appearance: none;
}
.rhp-live-search__input::-webkit-search-cancel-button{display: none}
.rhp-live-search__input::placeholder{color: var(--rhp-noir); opacity: 1}
.rhp-live-search__submit,
.rhp-live-search__clear{
  position: absolute;
  top: 50%;
  width: 38px;
  height: 38px;
  margin-top: -19px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
}
.rhp-live-search__submit{right: 10px; display: flex; align-items: center; justify-content: center}
.rhp-live-search__submit:hover,
.rhp-live-search__submit:focus-visible{background: rgba(0,167,201,.1)}
.rhp-live-search__submit img{width: 20px; height: 20px}
.rhp-live-search__clear{right: 46px}
.rhp-live-search__clear:before,
.rhp-live-search__clear:after{
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  width: 12px; height: 1px;
  margin-left: -6px;
  background: var(--rhp-noir);
  transform: rotate(45deg);
}
.rhp-live-search__clear:after{transform: rotate(-45deg)}
.rhp-live-search__panel{
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 100;
  width: min(680px, calc(100vw - 40px));
  max-height: min(680px, calc(100vh - 150px));
  padding: 16px;
  border: 1px solid rgba(0,51,89,.08);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 40px rgba(0,51,89,.22);
  overflow-y: auto;
}
.rhp-live-search__panel[hidden]{display: none}
.rhp-live-search__results{display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px}
.rhp-live-result{
  min-width: 0;
  display: grid;
  grid-template-columns: 96px minmax(0,1fr);
  gap: 14px;
  padding: 10px;
  border-radius: 14px;
  color: var(--rhp-noir);
  text-decoration: none;
  transition: background .2s, transform .2s;
}
.rhp-live-result:hover,
.rhp-live-result:focus-visible{background: var(--rhp-bleu-clair); outline: 0; transform: translateY(-1px)}
.rhp-live-result__media{
  position: relative;
  width: 96px;
  height: 82px;
  border-radius: 10px;
  overflow: hidden;
  background: #e7f6f9;
}
.rhp-live-result__media > img{width: 100%; height: 100%; object-fit: cover; display: block}
.rhp-live-result__media.no-image{display: flex; align-items: center; justify-content: center; font-family: "Rubik-Bold"; font-size: 28px; color: rgba(0,51,89,.25)}
.rhp-live-result__type{
  position: absolute;
  left: 6px; bottom: 6px;
  max-width: calc(100% - 12px);
  padding: 4px 7px;
  border-radius: 100px;
  background: rgba(255,255,255,.9);
  font-family: "Rubik-Medium";
  font-size: 10px;
  line-height: 1;
  color: var(--rhp-bleu);
  white-space: nowrap;
}
.rhp-live-result__content{min-width: 0; display: flex; flex-direction: column; gap: 7px; padding: 4px 0}
.rhp-live-result__title{
  display: -webkit-box;
  -webkit-line-clamp: 2;
	  line-clamp: 2;

  -webkit-box-orient: vertical;
  overflow: hidden;
  font-family: "Rubik-Medium";
  font-size: 15px;
  line-height: 19px;
  color: var(--rhp-noir);
}
.rhp-live-result__excerpt{
  display: -webkit-box;
  -webkit-line-clamp: 2;
	  line-clamp: 2;

  -webkit-box-orient: vertical;
  overflow: hidden;
  font-family: "Rubik-Regular";
  font-size: 12px;
  line-height: 16px;
  color: rgba(0,51,89,.68);
}
.rhp-live-search__all{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  margin-top: 12px;
  padding: 10px 20px;
  border-radius: 100px;
  background: var(--rhp-bleu);
  font-family: "Rubik-Regular";
  font-size: 14px;
  color: #fff;
  text-decoration: none;
	display: none;
}
.rhp-live-search__all:hover,
.rhp-live-search__all:focus-visible{background: var(--rhp-noir); color: #fff}
.rhp-live-search__empty{grid-column: 1/-1; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 36px; text-align: center; color: var(--rhp-noir)}
.rhp-live-search__empty strong{font-family: "Rubik-Medium"; font-size: 18px}
.rhp-live-search__empty span{font-size: 14px; color: rgba(0,51,89,.65)}
.rhp-live-search__loading{grid-column: 1/-1; display: grid; grid-template-columns: 1fr 1fr; gap: 8px}
.rhp-live-search__skeleton{height: 102px; border-radius: 14px; background: linear-gradient(90deg,#f0f8fa 25%,#e1f3f6 50%,#f0f8fa 75%); background-size: 200% 100%; animation: rhp-search-loading 1.2s infinite}
@keyframes rhp-search-loading{to{background-position: -200% 0}}
.rhp-pro-link{
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 12px 24px 12px 19px;
  border-radius: 41px;
  background: rgba(255,255,255,.75);
  border: 1px solid var(--rhp-bleu-clair);
  font-family: "Rubik-Medium";
  font-size: 12px;
  line-height: 1.2;
  text-transform: uppercase;
  color: var(--rhp-noir);
  text-decoration: none;
  transition: background .3s;
}
.rhp-pro-link span{display: block; max-width: 120px}
.rhp-pro-link svg{width: 39px; height: 33px; flex-shrink: 0}

.home .rhp-pro-link{background: var(--rhp-bleu-clair)}
.rhp-pro-link:hover{background: var(--rhp-bleu-clair)}
.rhp-logout{display: flex; margin-left: -26px}

@media screen and (max-width: 1450px){
  .rhp-nav__list{gap: 36px}
  .rhp-header__right{gap: 20px}
  .rhp-search{width: 220px}
  .rhp-logout{margin-left: 0}
}

@media screen and (min-width: 1200px){
  .rhp-header-wrap{transition: transform .25s ease, visibility .25s}
  body.rhp-header-collapsed .rhp-header-wrap{transform: translateY(-100%); visibility: hidden; pointer-events: none}
  .rhp-pro-sticky{
    display: block;
    position: fixed;
    top: 16px;
    right: 20px;
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .25s ease, visibility .25s;
  }
  .admin-bar .rhp-pro-sticky{top: 48px}
  .rhp-pro-sticky .rhp-pro-link{background: #fff; box-shadow: 0 4px 18px rgba(0,51,89,.12)}
  .home .rhp-pro-sticky .rhp-pro-link{background: var(--rhp-bleu-clair)}
  body.rhp-header-collapsed .rhp-pro-sticky{opacity: 1; visibility: visible; pointer-events: auto}
}
@media screen and (min-width: 1200px) and (prefers-reduced-motion: reduce){
  .rhp-header-wrap,
  .rhp-pro-sticky{transition: none}
}

/* Header mobile / tablette */
@media screen and (max-width: 1199px){
  .rhp-header{padding: 15px 20px; height: 70px}
  :root{--rhp-header-h: 70px}
  .rhp-search--desktop,
  .rhp-header__right > .rhp-pro-link{display: none}
  .rhp-burger{
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    width: 40px;
    height: 40px;
    padding: 8px;
    border: 0;
    background: none;
    cursor: pointer;
  }
  .rhp-burger > span:not(.screen-reader-text){display: block; height: 2px; border-radius: 2px; background: var(--rhp-noir); transition: transform .3s, opacity .3s}
  .rhp-burger[aria-expanded="true"] > span:nth-child(1){transform: translateY(8px) rotate(45deg)}
  .rhp-burger[aria-expanded="true"] > span:nth-child(2){opacity: 0}
  .rhp-burger[aria-expanded="true"] > span:nth-child(3){transform: translateY(-8px) rotate(-45deg)}

  .rhp-nav{
    position: fixed;
    top: var(--rhp-header-top, 70px);
    left: 0;
    right: 0;
    bottom: 0;
    flex-direction: column;
    gap: 24px;
    padding: 24px 20px 40px;
    background: #fff;
    overflow-y: auto;
    transform: translateX(100%);
    visibility: hidden;
    transition: transform .35s, visibility .35s;
  }
  body.rhp-menu-open{overflow: hidden}
  body.rhp-menu-open .rhp-nav{transform: none; visibility: visible}
  .rhp-nav__mobile-top{display: flex; flex-direction: column; align-items: flex-start; gap: 16px}
  .rhp-nav__mobile-top .rhp-search{width: 100%}
  .rhp-nav__list{flex-direction: column; gap: 0; height: auto}
  .rhp-nav__item{flex-wrap: wrap; border-bottom: 1px solid #d5f0f6}
  .rhp-nav__link{flex: 1; height: auto; padding: 18px 0; font-size: 16px}
  .rhp-nav__link:after{display: none}
  .rhp-nav__item.is-active > .rhp-nav__link{color: var(--rhp-bleu)}
  .rhp-nav__toggle{
    display: block;
    position: relative;
    width: 44px;
    height: 44px;
    border: 0;
    background: none;
    cursor: pointer;
  }
  .rhp-nav__toggle:before{
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    border-right: 2px solid var(--rhp-noir);
    border-bottom: 2px solid var(--rhp-noir);
    transform: translate(-50%, -75%) rotate(45deg);
    transition: transform .3s;
  }
  .rhp-nav__item.is-open > .rhp-nav__toggle:before{transform: translate(-50%, -25%) rotate(-135deg)}
  .rhp-dropdown{
    position: static;
    width: 100%;
    transform: none;
    opacity: 1;
    visibility: visible;
    display: none;
  }
  .rhp-dropdown:before{display: none}
  .rhp-nav__item.is-open > .rhp-dropdown{display: block; transform: none}
  .rhp-dropdown__card{flex-direction: column; gap: 0; padding: 0 0 16px; box-shadow: none; border-radius: 0}
  .rhp-dropdown__visual{display: none}
  .rhp-dropdown__col{max-width: none; gap: 4px}
  .rhp-dropdown__col + .rhp-dropdown__col{border-left: 0; padding-left: 0; margin-top: 4px}
  .rhp-dropdown__title,
  .rhp-dropdown__sub{white-space: normal}
  .rhp-nav__mobile-bottom{display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: auto}
  .rhp-nav__rs{display: flex; gap: 16px; margin: 0; padding: 0}
  .rhp-nav__rs img{width: 28px; height: 28px}
  .rhp-nav__lang{display: flex; gap: 12px; margin: 0; padding: 0}
  .rhp-nav__lang a{font-family: "Rubik-Medium"; font-size: 14px; color: var(--rhp-bleu); text-transform: uppercase}
}
@media screen and (max-width: 782px){
  .admin-bar .rhp-header-wrap{top: 46px}
}

/* ---------- Footer ---------- */
.rhp-nl-bar{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  padding: 35px 15px;
  margin-top: 100px;
  background: var(--rhp-bleu);
  border-bottom: 1px solid #fff;
}
.rhp-nl-bar__text{font-family: "Rubik-Medium"; font-size: 20px; line-height: 1.2; color: #fff; margin: 0}
.rhp-nl-bar__mascotte{
  width: 290px;
  right: calc(50% - 580px);
  bottom: -111px;
  transform: scaleX(-1);
}
.rhp-nl-bar .cta-open-nl{background: transparent}
footer.rhp-footer{padding: 50px 20px 40px !important; background: var(--rhp-bleu)}
.rhp-footer__inner{display: flex; justify-content: center; gap: 100px}
.rhp-footer__brand{min-width: 200px}
.rhp-footer__logo img{width: 150px; height: auto; display: block; margin-bottom: 12px}
.rhp-footer__links,
.rhp-footer__rs,
.rhp-footer__lang,
.rhp-footer__menu{margin: 0; padding: 0; list-style: none}
.rhp-footer__links,
.rhp-footer__rs,
.rhp-footer__lang{padding-left: 30px}
.rhp-footer__links li,
.rhp-footer__links a,
.rhp-footer__menu li,
.rhp-footer__menu a{font-family: "Rubik-Regular"; font-size: 16px; line-height: 28px; color: #fff; text-decoration: none}
.rhp-footer__links a:hover,
.rhp-footer__menu a:hover{text-decoration: underline}
.rhp-footer__menu{margin-top: 78px}
.rhp-footer__rs,
.rhp-footer__lang{display: flex; align-items: center; gap: 16px; min-height: 28px}
.rhp-footer__lang{padding-top: 8px}
.rhp-footer__rs img{width: 23px; height: 20px; object-fit: contain}
.rhp-footer__lang img{width: 23px; height: 23px; border-radius: 50%; object-fit: cover}
.rhp-footer__lang a{color: #fff; font-family: "Rubik-Medium"; font-size: 13px; text-transform: uppercase}

/* ---------- Page complète de recherche ---------- */
.rhp-search-page{min-height: 60vh; background: #fff; color: var(--rhp-noir); font-family: "Rubik-Regular"}
.rhp-search-page__header{padding: 72px 0 60px; background: var(--rhp-bleu-clair)}
.rhp-search-page__eyebrow{margin: 0 0 12px; font-family: "Rubik-Medium"; font-size: 15px; text-transform: uppercase; color: var(--rhp-bleu)}
.rhp-search-page__title{margin: 0; font-family: "Rubik-Medium"; font-size: 40px; line-height: 1.2; color: var(--rhp-noir)}
.rhp-search-page__form{width: min(600px,100%); margin-top: 32px}
.rhp-search-page__form .rhp-live-search__form{background: #fff; box-shadow: 0 8px 25px rgba(0,51,89,.08)}
.rhp-search-page__content{padding-top: 60px; padding-bottom: 100px}
.rhp-search-page__count{margin: 0 0 24px; font-family: "Rubik-Medium"; font-size: 16px; color: rgba(0,51,89,.7)}
.rhp-search-page__grid{display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px}
.rhp-search-card{min-width: 0; border-radius: 24px 24px 24px 0; background: rgba(148,208,222,.1); overflow: hidden; transition: transform .25s, box-shadow .25s}
.rhp-search-card:hover{transform: translateY(-4px); box-shadow: 0 12px 30px rgba(0,51,89,.12)}
.rhp-search-card__link{height: 100%; display: flex; flex-direction: column; color: var(--rhp-noir); text-decoration: none}
.rhp-search-card__media{position: relative; height: 220px; overflow: hidden; background: #e7f6f9}
.rhp-search-card__media > img{width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s}
.rhp-search-card:hover .rhp-search-card__media > img{transform: scale(1.04)}
.rhp-search-card__media.no-image{display: flex; align-items: center; justify-content: center; font-family: "Rubik-Bold"; font-size: 64px; color: rgba(0,51,89,.18)}
.rhp-search-card__type{position: absolute; left: 16px; top: 16px; padding: 7px 12px; border-radius: 100px; background: rgba(255,255,255,.92); font-family: "Rubik-Medium"; font-size: 12px; color: var(--rhp-bleu)}
.rhp-search-card__body{flex: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding: 24px}
.rhp-search-card__title{margin: 0; font-family: "Rubik-Medium"; font-size: 20px; line-height: 1.3; color: var(--rhp-noir)}
.rhp-search-card__excerpt{margin: 0; font-size: 15px; line-height: 22px; color: rgba(0,51,89,.75)}
.rhp-search-card__more{margin-top: auto; font-size: 15px; color: var(--rhp-bleu)}
.rhp-search-page__empty{padding: 70px 20px; border-radius: 24px; background: var(--rhp-bleu-clair); text-align: center}
.rhp-search-page__empty h2{margin: 0 0 12px; font-family: "Rubik-Medium"; font-size: 28px; color: var(--rhp-noir)}
.rhp-search-page__empty p{margin: 0; font-size: 16px; line-height: 24px; color: rgba(0,51,89,.7)}
.rhp-pagination{margin-top: 50px}
.rhp-pagination .page-numbers{display: flex; justify-content: center; align-items: center; gap: 8px; margin: 0; padding: 0; list-style: none}
.rhp-pagination a,
.rhp-pagination span{min-width: 42px; min-height: 42px; display: flex; align-items: center; justify-content: center; padding: 8px 13px; border-radius: 100px; font-family: "Rubik-Medium"; font-size: 14px; color: var(--rhp-noir); text-decoration: none}
.rhp-pagination a:hover,
.rhp-pagination .current{background: var(--rhp-bleu); color: #fff}

/* ---------- Admin (previews ACFE) ---------- */
.rhp-preview .rhp-section{padding: 30px 0}
.rhp-preview .rhp-mascotte{display: none}
.rhp-preview .rhp-une__slider:not(.slick-initialized) .rhp-une__slide ~ .rhp-une__slide{display: none !important}

.block-mini-1-3 .split .right-block picture img{
    background: #00a7c9;
}

/* ---------- Responsive ---------- */
@media screen and (max-width: 1500px){
  .rhp-imgtxt__mascotte{right: -20px}
  .rhp-imgtxt--img-gauche .rhp-imgtxt__mascotte{left: -20px}
}
@media screen and (max-width: 1250px){
  .rhp-nl-bar__mascotte{width: 140px; right: 20px}
  .rhp-footer__inner{gap: 50px}
  .rhp-une__mascotte{display: none}

}
@media screen and (max-width: 991px){
  .rhp-title,
  .rhp-une__title{font-size: 28px}
  .rhp-hero__title,
  .rhp-intro__title{font-size: 32px}
  .rhp-une__slide,
  .rhp-imgtxt__inner{grid-template-columns: 1fr; gap: 32px}
  .rhp-imgtxt--img-gauche .rhp-imgtxt__media{order: 0}
  .rhp-imgtxt__media{order: -1}
  .rhp-une__media{height: 400px}
  .rhp-une__content{padding-top: 0; gap: 24px}
  .rhp-imgtxt__mascotte{display: none}
  .rhp-outils__grid{gap: 32px}
  .rhp-footer__inner{flex-wrap: wrap; justify-content: flex-start; gap: 20px 60px}
  .rhp-footer__brand{flex-basis: 100%}
  .rhp-footer__menu{margin-top: 0}
  .rhp-search-page__grid{grid-template-columns: repeat(2,minmax(0,1fr))}
}
@media screen and (max-width: 767px){
  .rhp-section{padding: 40px 0}
  .rhp-cta--sombre,
  .rhp-etudes{padding: 60px 0}
  .rhp-title,
  .rhp-une__title{font-size: 24px}
  .rhp-subtitle{font-size: 18px}
  .rhp-hero__inner{min-height: 0; padding: 280px 0 20px}
  .rhp-hero__card{padding: 24px}
  .rhp-hero__title,
  .rhp-intro__title{font-size: 28px}
  .rhp-hero__text{font-size: 16px; line-height: 24px; margin: 20px 0 24px}
  .rhp-hero__mascotte{display: none}
  .rhp-intro{padding: 40px 0 10px}
  .rhp-une__media{height: 320px}
  .rhp-cards{padding: 0}
  .rhp-arrow{display: none !important}
  .rhp-outils__grid{grid-template-columns: 1fr}
  .rhp-btns{gap: 16px}
  .rhp-wysiwyg ul li,
  .rhp-wysiwyg ol li{font-size: 16px}
  .rhp-live-search__panel{width: 100%; max-height: 62vh; padding: 10px}
  .rhp-live-search__results,
  .rhp-live-search__loading{grid-template-columns: 1fr}
  .rhp-live-result{grid-template-columns: 82px minmax(0,1fr); padding: 8px}
  .rhp-live-result__media{width: 82px; height: 72px}
  .rhp-search-page__header{padding: 45px 0}
  .rhp-search-page__title{font-size: 28px}
  .rhp-search-page__content{padding-top: 40px; padding-bottom: 70px}
  .rhp-search-page__grid{grid-template-columns: 1fr; gap: 20px}
  .rhp-search-card__media{height: 200px}
  /* tuiles */
  .block-mini-1-3 .container,
  .block-mini-2-3 .container{flex-direction: column}
  .block-mini-3-3 .container{display: block}
  .mini-block-content{aspect-ratio: auto; height: 347px; margin-bottom: 20px}
	  .block-mini-3-3 .mini-block-content.slick-slide{float: left}
	
  .block-mini-1-3 .mini-block-content,
  .block-mini-2-3 .mini-block-content,
  .block-mini-1-3 .mini-block-content.col-md-8,
  .block-mini-2-3 .mini-block-content.col-md-8{flex: 0 0 auto}

  .block-mini-1-3 .mini-block-content.col-md-8,
  .block-mini-2-3 .mini-block-content.col-md-8{height: auto; flex-direction: column}
  .mini-block-content.split .inner{width: 100%; height: 347px}
  .block-mini-1-3 .split .left-block,
  .block-mini-2-3 .split .left-block{border-radius: var(--rhp-radius) var(--rhp-radius) 0 0}
  .block-mini-1-3 .split .right-block,
  .block-mini-1-3 .split .right-block picture,
  .block-mini-1-3 .split .right-block picture img,
  .block-mini-1-3 .mini-block-content.has-img.split .inner.right-block:after{border-radius: 0 0 var(--rhp-radius) var(--rhp-radius)}
  .title-mini-block{font-size: 24px !important}
  .title-mini-block b,
  .title-mini-block strong{font-size: 26px}
  /* footer */
  .rhp-nl-bar{flex-direction: column; gap: 20px; text-align: center; margin-top: 60px}
  .rhp-nl-bar__mascotte{display: none}
  .rhp-footer__inner{flex-direction: column; gap: 20px}
  .rhp-footer__links,
  .rhp-footer__rs,
  .rhp-footer__lang{padding-left: 0}
	
	.rhp-header-wrap .top-bar p{
		font-size: 12px;
	}
	.mini-block-content.split .inner{padding-right: 0px;padding-left: 0px;}
	.rhp-nl-bar__text {
    font-size: 16px;
}
	.rhp-footer__links li, .rhp-footer__links a, .rhp-footer__menu li, .rhp-footer__menu a {

    text-align: left;
}
	footer.rhp-footer {
    padding: 35px 20px 70px !important;
}
	.rhp-footer__rs li:last-child img{
        width: auto;
        height: 25px;
	}

}
