/* Modifications 2026 : CTA et sections du contenu flexible (devis DEV-20260715-04549) */

.cta_wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 24px 0 10px;
}
.cta_wrapper--slide {
  margin-top: 20px;
}
.cta_wrapper--colonne {
  margin-top: 20px;
  margin-bottom: 30px;
}

a.cta {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 234px;
  min-height: 54px;
  padding: 12px 24px;
  border: 2px solid;
  font-size: 14px;
  line-height: 16px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none !important;
  transition: background 0.2s ease, color 0.2s ease;
}
a.cta:hover, a.cta:focus-visible {
  text-decoration: none !important;
}
a.cta span {
  text-decoration: none !important;
}
@media (max-width: 575px) {
  a.cta {
    width: 100%;
  }
}
a.cta {
  border-color: #496c87;
  background: transparent;
  color: #496c87 !important;
}
a.cta span {
  color: #496c87 !important;
}
a.cta:hover, a.cta:focus-visible {
  background: #496c87;
  color: #FFFFFF !important;
}
a.cta:hover span, a.cta:focus-visible span {
  color: #FFFFFF !important;
}
a.cta.cta--plein-main {
  border-color: #496c87;
  background: #496c87;
  color: #FFFFFF !important;
}
a.cta.cta--plein-main span {
  color: #FFFFFF !important;
}
a.cta.cta--plein-main:hover, a.cta.cta--plein-main:focus-visible {
  background: transparent;
  color: #496c87 !important;
}
a.cta.cta--plein-main:hover span, a.cta.cta--plein-main:focus-visible span {
  color: #496c87 !important;
}
a.cta.cta--contour-snd {
  border-color: #68121e;
  background: transparent;
  color: #68121e !important;
}
a.cta.cta--contour-snd span {
  color: #68121e !important;
}
a.cta.cta--contour-snd:hover, a.cta.cta--contour-snd:focus-visible {
  background: #68121e;
  color: #FFFFFF !important;
}
a.cta.cta--contour-snd:hover span, a.cta.cta--contour-snd:focus-visible span {
  color: #FFFFFF !important;
}
a.cta.cta--plein-snd {
  border-color: #68121e;
  background: #68121e;
  color: #FFFFFF !important;
}
a.cta.cta--plein-snd span {
  color: #FFFFFF !important;
}
a.cta.cta--plein-snd:hover, a.cta.cta--plein-snd:focus-visible {
  background: transparent;
  color: #68121e !important;
}
a.cta.cta--plein-snd:hover span, a.cta.cta--plein-snd:focus-visible span {
  color: #68121e !important;
}

.flexible_section {
  scroll-margin-top: 120px;
}
.flexible_section h3 {
  color: #68121e;
  font-size: 20px;
}
.flexible_section--h3 {
  margin-top: -10px;
}
.flexible_section--h3 hr {
  display: none;
}
.flexible_section .image_pleine {
  margin: 20px 0 0;
}
.flexible_section .image_pleine img {
  width: 100%;
  height: auto;
  display: block;
}
.flexible_section .image_pleine figcaption {
  font-size: 13px;
  color: #aaadaf;
  margin-top: 8px;
}

.consultations_page .consultations_container {
  padding-top: 40px;
  padding-bottom: 60px;
}

.home_banner .flash_info p {
    margin-left: 40px;
    font-size: 19px;
    color: #496c87;
  line-height:40px;
}

.navigation_bar .bottom_right_navigation ul .bottom_right_links>a{
        margin: 15px 25px 0 25px;
}
.flexible_section--image_texte{
  padding-block:65px;
}

/* ------------------------------------------------------------------
   Accueil : module Actualités en cartes verticales avec image à la une
   (devis DEV-20260715-04549, point "images de mise en avant")
   ------------------------------------------------------------------ */

.home_actualites .container_actus .actus .actus_grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  padding: 30px 30px 0 0;
}

.home_actualites .container_actus .actus .actualite_link {
  display: block;
  text-decoration: none;
}

/* Reset du bloc horizontal historique */
.home_actualites .container_actus .actus .actualite.actualite--card {
  display: flex;
  flex-direction: column;
  height: 100%;
  margin: 0;
  align-items: stretch;
  background: #496c87;
  overflow: hidden;
}
.home_actualites .container_actus .actus .actualite.actualite--card:first-of-type,
.home_actualites .container_actus .actus .actualite.actualite--card:last-of-type {
  margin: 0;
}

/* Image + date en surimpression */
.home_actualites .container_actus .actus .actualite--card .actualite_image {
  position: relative;
  aspect-ratio: 525 / 337;
  overflow: hidden;
}
.home_actualites .container_actus .actus .actualite--card .actualite_image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}
.home_actualites .container_actus .actus .actualite--card:hover .actualite_image img {
  transform: scale(1.04);
}
.home_actualites .container_actus .actus .actualite--card .actualite_image .date {
	display:none;
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  padding: 12px 18px 14px;
  background: rgba(73, 108, 135, 0.85);
}
.home_actualites .container_actus .actus .actualite--card .actualite_image .date p {
  font-size: 15px;
  line-height: 18px;
}
.home_actualites .container_actus .actus .actualite--card .actualite_image .date p span {
  font-size: 36px;
  line-height: 40px;
}

/* Cartouche bleu */
.home_actualites .container_actus .actus .actualite--card .actualite_body {
  position: relative;
  display: flex;
  align-items: flex-start;
  flex: 1 1 auto;
  padding: 22px 70px 26px 25px;
}
.home_actualites .container_actus .actus .actualite--card.actualite--no-image .actualite_body {
  align-items: center;
  min-height: 160px;
}
.home_actualites .container_actus .actus .actualite--card.actualite--no-image .actualite_body .date {
  margin: 0 25px 0 0;
}
.home_actualites .container_actus .actus .actualite--card .actualite_content {
  width: 100%;
}
.home_actualites .container_actus .actus .actualite--card .actualite_content .category {
  margin-bottom: 6px;
}
.home_actualites .container_actus .actus .actualite--card .actualite_content .actu_title {
  font-size: 24px;
  line-height: 29px;
  max-width: none;
}
.home_actualites .container_actus .actus .actualite--card .btn_actu {
  top: auto;
  bottom: 22px;
  right: 25px;
  transform: none;
}

/* Responsive */
@media (max-width: 991px) {
  .home_actualites .container_actus .actus .actualite--card .actualite_content .actu_title {
    font-size: 21px;
    line-height: 25px;
  }
}
@media (max-width: 767px) {
  .home_actualites .container_actus .actus .actus_grid {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 10px 10px 0;
  }
  .home_actualites .container_actus .actus .actualite.actualite--card {
    min-height: 0;
    padding-bottom: 0;
  }
  .home_actualites .container_actus .actus .actualite--card .actualite_body {
    padding: 18px 60px 22px 20px;
  }
  .home_actualites .container_actus .actus .actualite--card .btn_actu {
    right: 20px;
    bottom: 18px;
  }
	.home_introduction .container_intro .intro_actu img{
    width: 100%;
    height: auto;
    min-width: 100%;
  }
	.home_actualites .container_actus .actus::after{
		display:none;
	}
}
/* Accueil : boutons sous le paragraphe de présentation */
.home_introduction .intro_ctas {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px;
    margin-top: 20px;
}

.home_introduction .intro_ctas .btn_decouvrir {
    margin: 0; /* le gap gère l'espacement */
}

/* En-tête : liens réseaux sociaux */
.header_social {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
    vertical-align: middle;
}

.header_social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;  /* zone cliquable confortable */
    height: 36px;
    transition: color .2s ease;
}

.header_social svg {
    width: 20px;
    height: 20px;
}

/* Desktop : barre bleue */
.header_social--desktop {
    margin: 0 0 0 12px;
}

.header_social--desktop a {
    color: #fff;
}

.header_social--desktop a:hover,
.header_social--desktop a:focus-visible {
    color: #b39a6e; /* beige de la charte, à caler sur la variable du thème */
}

.header_social a:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

/* Mobile : bas du menu burger */
.responsive_menu .menu_social {
    padding: 15px 20px;
}

.header_social--mobile a {
    color: #6d1a24; /* bordeaux, à ajuster selon la couleur des liens du menu */
}




/* ==================================================================
   Retours recette cliente du 06/10/2026
   ================================================================== */

/* ---------- CTA : style unique « Découvrir » + flèche losange ----------
   Remplace les 4 variantes (contour/plein, bleu/bordeaux) par le style
   des liens « Découvrir » de la charte. Les classes cta--xxx sont conservées
   pour pouvoir réintroduire des variantes plus tard.
   Préfixe html body : passe devant les règles de variantes ci-dessus. */
.cta_wrapper {
  align-items: center;
  gap: 8px 40px;
}
html body a.cta.cta {
  justify-content: flex-start;
  gap: 10px;
  min-width: 0;
  min-height: 44px; /* zone cliquable confortable */
  padding: 0;
  border: 0;
  background: transparent;
  color: #b19672 !important;
  font-size: 15px;
  line-height: 20px;
  letter-spacing: 1px;
  text-align: left;
}
html body a.cta.cta span {
  color: inherit !important;
  text-decoration: underline !important;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}
html body a.cta.cta .cta_arrow {
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  fill: #68121e;
  transition: transform .2s ease;
}
html body a.cta.cta:hover,
html body a.cta.cta:focus-visible {
  background: transparent;
  color: #68121e !important;
}
html body a.cta.cta:hover span,
html body a.cta.cta:focus-visible span {
  color: inherit !important;
}
html body a.cta.cta:hover .cta_arrow,
html body a.cta.cta:focus-visible .cta_arrow {
  transform: translateX(4px);
}
html body a.cta.cta:focus-visible {
  outline: 2px solid #68121e;
  outline-offset: 4px;
}
@media (max-width: 575px) {
  html body a.cta.cta {
    width: auto;
  }
}

/* CTA des colonnes Hospitalisation / EHPAD regroupés sur une ligne sous les deux colonnes */
.cta_wrapper--colonnes {
  margin: 10px 0 50px;
}

/* ---------- En-tête des pages Consultations / Index égalité ---------- */
.bandeau_page.consultations .banner_content {
  min-height: 300px;
}
.bandeau_page.consultations .banner_content::before {
  content: '';
  position: absolute;
  top: 0;
  left: -500px;
  width: 500px;
  height: 100%;
  background: #496c87;
}
@media (max-width: 991px) {
  .bandeau_page.consultations .banner_content::after {
    content: '';
    position: absolute;
    top: 0;
    right: -500px;
    width: 500px;
    height: 100%;
    background: #496c87;
  }
}
.bandeau_page.consultations .banner_content svg {
  display: block;
  width: 45px;
  height: 44px;
  margin-top: 10px;
}
/* h1 global en bleu (#496c87) : le titre était invisible sur le fond bleu */
.bandeau_page.consultations .banner_content .title {
  color: #fff;
  font-size: 40px;
  line-height: 45px;
  padding-right: 40px;
  margin: 30px 0 60px;
}
@media (max-width: 767px) {
  .bandeau_page.consultations .banner_content .title {
    font-size: 28px;
    line-height: 33px;
    padding-right: 20px;
  }
}

/* Paragraphe d'introduction (contenu de l'éditeur principal) */
.consultations_intro {
  text-align: left; /* retour cliente 09/10 : texte aligné à gauche, plus lisible */
  padding-bottom: 30px;
}
.consultations_intro p {
  font-size: 18px;
  line-height: 28px;
}
.consultations_intro strong {
  color: #68121e;
}
.consultations_intro img {
  max-width: 100%;
  height: auto;
}

/* ---------- Flash Info : ne plus passer sous la barre latérale fixe (8rem) ---------- */
.home_banner .flash_info {
  padding-right: calc(8rem + 20px);
}
/* Sur 2 lignes, interligne resserré (même hauteur qu'avant sur 1 ligne) */
.home_banner .flash_info p {
  line-height: 26px;
  padding: 7px 0;
}

/* ---------- Icônes Facebook / LinkedIn plus visibles ---------- */
.header_social a {
  width: 44px;
  height: 44px;
}
.header_social svg {
  width: 26px;
  height: 26px;
}
.header_social--desktop {
  margin-left: 16px;
}

/* ---------- Tableaux saisis dans l'éditeur (contenu flexible, intro) ----------
   S'applique à tout <table> du WYSIWYG, y compris collé depuis Word :
   on neutralise les largeurs/bordures/couleurs inline que Word injecte. */
.flexible_section .content table,
.consultations_intro table {
  width: 100% !important;
  max-width: 100%;
  margin: 20px 0 30px;
  border-collapse: collapse;
  border: 0 !important;
  font-size: 16px;
  line-height: 22px;
  text-align: left;
}
.flexible_section .content table caption,
.consultations_intro table caption {
  caption-side: top;
  padding: 0 0 12px;
  color: #68121e;
  font-weight: 700;
  font-size: 18px;
  text-align: left;
}
.flexible_section .content table th,
.flexible_section .content table td,
.consultations_intro table th,
.consultations_intro table td {
  padding: 14px 18px !important;
  border: 0 !important;
  border-bottom: 2px solid #fff !important;
  vertical-align: middle;
  width: auto !important;
  height: auto !important;
  background: #eeefef;
  color: #4d4e4d;
}
.flexible_section .content table td p,
.flexible_section .content table th p {
  margin: 0;
}
/* En-tête : bleu de la charte */
.flexible_section .content table thead th,
.flexible_section .content table thead td,
.consultations_intro table thead th {
  background: #496c87 !important;
  color: #fff !important;
  font-weight: 700;
}
.flexible_section .content table thead tr:first-child th[colspan] {
  font-size: 18px;
}
/* Lignes alternées */
.flexible_section .content table tbody tr:nth-child(even) td,
.flexible_section .content table tbody tr:nth-child(even) th {
  background: #f6f6f6;
}
/* Colonne de valeurs (dernière colonne) : centrée, en gras */
.flexible_section .content table td:last-child:not(:first-child),
.flexible_section .content table th:last-child:not(:first-child) {
  text-align: center;
  white-space: nowrap;
  width: 140px !important;
  font-weight: 700;
}
/* Ligne de total */
.flexible_section .content table tfoot th,
.flexible_section .content table tfoot td {
  background: #68121e !important;
  color: #fff !important;
  font-weight: 700;
}
@media (max-width: 575px) {
  .flexible_section .content table th,
  .flexible_section .content table td {
    padding: 10px 12px !important;
    font-size: 14px;
  }
  .flexible_section .content table td:last-child:not(:first-child) {
    width: 90px !important;
  }
}

/* Boutons sous le texte d'introduction de la page Présentation */
.cta_wrapper--accroche {
  justify-content: center;
  margin: 0 0 30px;
}
