@import "https://fonts.googleapis.com/css2?family=Alkatra:wght@600&family=Pirata+One:wght@400&family=Poppins:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap')";
@import "https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=block";
/* ===========================================================
  THEME PAR DEFAUT
=========================================================== */
:root {
  --c-shiraz:   #872437;
  --c-shiraz-h: #af6d7a;   /* hover */
  --c-tan:      #cbaa79;
  --c-tan-light:#dcc6a6;   /* hover */
  --c-foret:    #272c27;
  --c-silk:     #f0e9e3;
  --c-tan-ivory:#eee3d2;   /* secondaire theme-tan */
  --c-deer:     #95847b;   /* background theme-deer */
  --c-texte:    #272020;

  /*  Tokens sémantiques (thème par défaut = forest)  */
  --heading-color:          var(--c-texte);
  --text-color:             var(--c-texte);
  --link-color:             var(--c-shiraz);
  --icon-color:             var(--c-shiraz);
  --icon-hover:             var(--c-tan);
  --icon-text-color:        var(--c-silk);

  --color-primary:          var(--c-shiraz);
  --color-primary-hover:    var(--c-shiraz-h);
  --btn-text-color:         var(--c-silk);

  --color-secondary:        var(--c-tan);
  --color-secondary-hover:  var(--c-tan-light);
  --btn-text-color-secondary: var(--c-texte);

  --background-color:       var(--c-silk);

    --category-color: var(--c-shiraz) !important;
  --border-radius-leaf:     60px 0;
  --form-field-radius:20px;
  --desktop-zoneheader-margintop:0;
  --desktop-zoneheader-padding:0 0 0 20px;
  --mobile-logo-maxheight:unset;
--author-margin:0;
}

#view_detailorganization_50,
#view_detailorganization_50 td {
    border:none;
}

#module_directory_google_result {
    background:var(--table-zebra-background);
}

#site-wrapper .search_input {
    background:transparent !important;
}

#site-wrapper .line-header >div >div{
    display:flex;
    align-items:center;
}

#site-wrapper .line-header .col-sm-6.zone-25.zone-header {
    max-width:275px;
}

#site-wrapper #mainMenu {
    background:#cbaa79;
}

#site-wrapper .zone-news_flash .item {
margin: 0 !important;
padding-bottom: 0!important;}

/* ===========================================================
   THEMES
=========================================================== */

.material-symbols-rounded {
  font-family: "Material Symbols Rounded", sans-serif;
  font-weight: normal;
  font-style: normal;
  font-size: 20px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: "liga";
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 20;
  vertical-align: middle;
  flex-shrink: 0;
  user-select: none;
}
/* Fond coloré commun */
.theme-tan, .theme-shiraz, .theme-forest, .theme-deer {
  background-color: var(--background-color) !important;
}

/* Tan : fond doré, secondaire plus clair  */
.theme-tan {
  --color-secondary:  var(--c-tan-ivory);
  --icon-hover:       var(--c-shiraz-h);
  --background-color: var(--c-tan);
}

/* Shiraz : fond bordeaux, tout inversé  */
.theme-shiraz {
  --heading-color:            var(--c-silk);
  --text-color:               var(--c-silk);
  --link-color:               var(--c-tan);
  --icon-color:               var(--c-tan);
  --icon-hover:               var(--c-silk);
  --icon-text-color:          var(--c-tan-light);
  --color-primary:            var(--c-silk);
  --btn-text-color:           var(--c-shiraz);
  --btn-text-color-secondary: var(--c-shiraz);
  --background-color:         var(--c-shiraz);
}

/*  Forest : fond vert foncé, texte clair  */
.theme-forest {
  --heading-color:   var(--c-silk);
  --text-color:      var(--c-silk);
  --link-color:      var(--c-tan);
  --icon-hover:      var(--c-tan);
  --btn-text-color:  #ffffff;
  --background-color: var(--c-foret);
}

/* Deer : fond terre, texte clair  */
.theme-deer {
 --text-color:      var(--c-silk);
  --btn-text-color:  #ffffff;
  --background-color: var(--c-deer);
}

.theme-deer h1 {
  color: #272020 !important;
}
.theme-deer h2,
.theme-deer h3,
.theme-deer h4,
.theme-deer p {
  color: var(--c-silk) !important;
}
.theme-deer h5,
.theme-deer h6 {
  color: var(--c-shiraz) !important;
}

/* ===========================================================
 STRUCTURE
=========================================================== */
body {
  background-color: #f0e9e3 !important;
}

h1, h2, h5 {
 font-family: "Alkatra", system-ui, serif !important;
 letter-spacing: 1px;
  line-height: 1.05;
font-weight: 500 !important;
}

h1 {
    font-size: 48px;
  margin-bottom: 0.4em;
    color: var(--heading-color) !important;
}

h1.MABP {
    font-family: "Pirata One", system-ui !important;
 letter-spacing: 1px;
  line-height: 1.05;
font-weight: 400;
  font-style: normal;
    font-size: 52px;
  margin-bottom: 0.4em;
    color: var(--heading-color) !important;
}

h1.MABP i.fa-solid,
h1.MABP i.fa-feather-pointed {
  font-family: "Font Awesome 6 Pro" !important;
  font-weight: 600 !important;
  font-size: 0.9em;
  margin-left: 0.1em;
  position: relative;
      top: -0.10em;
}

h2 {
   font-size: 32px;
    color: var(--heading-color) !important;
  text-transform: uppercase;
  display: inline-flex !important;
  align-items: flex-end;
  width: fit-content !important;
  position: relative;
  padding-bottom: 8px;
}

h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 3px;
  background-color: var(--link-color) !important;
  border-radius: 3px;
}

.mod-article__content h1, .mod-article__wrapper h1, .news-content h1, .zone-article h1 { font-size: 48px !important; font-family: "Alkatra", system-ui, serif !important; font-weight: 500 !important; color: var(--heading-color) !important; }
.mod-article__content h2, .mod-article__wrapper h2, .news-content h2, .zone-article h2 { font-size: 32px !important; font-family: "Alkatra", system-ui, serif !important; text-transform: uppercase !important; color: var(--heading-color) !important; }
.mod-article__content h3, .mod-article__wrapper h3, .news-content h3, .zone-article h3 { font-size: 26px !important; font-family: "Poppins", sans-serif !important; font-weight: 500 !important; color: var(--heading-color) !important; }
.mod-article__content h4, .mod-article__wrapper h4, .news-content h4, .zone-article h4 { font-size: 24px !important; font-family: "Poppins", sans-serif !important; font-style: italic !important; color: var(--heading-color) !important; }
.mod-article__content h5, .mod-article__wrapper h5, .news-content h5, .zone-article h5 { font-size: 24px !important; font-family: "Alkatra", system-ui, serif !important; color: var(--link-color) !important; }
.mod-article__content h6, .mod-article__wrapper h6, .news-content h6, .zone-article h6 { font-size: 20px !important; font-family: "Poppins", sans-serif !important; color: var(--link-color) !important; }

h5 {
  font-size: 24px;
  color: var(--link-color) !important;
}

h3.MABP
{
    font-family: "Pirata One", system-ui !important;
 letter-spacing: 1px;
  line-height: 1.05;
font-weight: 400;
  font-style: normal;
    font-size: 48px;
  margin-bottom: 0.4em;
    color: var(--heading-color) !important;
}

h3.MABP i.fa-solid,
h3.MABP i.fa-feather-pointed {
  font-family: "Font Awesome 6 Pro" !important;
  font-weight: 600 !important;
  font-size: 0.9em;
  margin-left: 0.1em;
  position: relative;
      top: -0.10em;
}

h3, h4, h6 {
 font-family: "Poppins", "Helvetica Neue", Arial, sans-serif !important;
  letter-spacing: 0.3px;
  margin-bottom: 0.5em;
}

h3 {
  font-size: 26px;
  font-weight: 500;
    color: var(--heading-color) !important;
}

h4 {
  font-size: 24px;
  font-style: italic;
  font-weight: 500;
    color: var(--heading-color) !important;
}

h6 {
  font-size: 20px;
  font-weight: 500;
  color: var(--link-color) !important;
}

/* Liens dans les titres */
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  color: inherit !important;
  font-weight: inherit !important;
  text-decoration: none !important;
}

/* -------------------- TEXTES ----------------------- */
p, ul, li, label {
  font-family: "Poppins", "Helvetica Neue", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: var(--text-color) !important;
  line-height: 1.6;
}

a, button, input {
   font-family: "Poppins", "Helvetica Neue", Arial, sans-serif !important;
  font-size: 16px;
}
a {
  color: var(--link-color) !important;
  font-weight: 500 !important;
  text-decoration: underline !important;
}
span:not(.fa):not(.fa-solid):not(.fa-brands):not(.material-symbols-rounded):not(.ev-hour-output):not(.ev-date-output) :not(.news-blog__tag){
  font-size: 16px;
  font-weight: 400;
  color: var(--text-color) !important;
}
em, i:not(.fa):not(.fa-solid):not(.fa-brands) {
  font-style: italic !important;
  font-weight: 400 !important;
}
strong em, strong i, b em, b i {
  font-weight: 700 !important;
}
strong, b {
  font-weight: 700 !important;
}
/* Liens dans le contenu */
main a {
  color: var(--link-color) !important;
  font-weight: 500 !important;
  text-decoration: underline !important;
}

ul {
  list-style: none;
  margin: 0;
  padding: 0 !important;
}

li {
  margin: 0;
  padding: 0;
}
ol {
  margin: 0;
  padding: 0;
  padding-left: 20px;
}
ol li::marker {
  color: var(--c-texte);
}
 
/* ===========================================================
   LISTES ZONES ÉDITORIALES AUTORISÉES
   =========================================================== */

/* ── UL : retrait + marge verticale ── */
.news-content ul,
.activity-description ul,
.activity-bio ul,
.directory-member-detail-wrapper ul,
.content ul {
  padding-left: 12px !important;
  margin: 0.5em 0;
}

/* ── OL : même alignement texte que UL (12 + 28 = 40px) ── */
.news-content ol,
.activity-description ol,
.activity-bio ol,
.directory-member-detail-wrapper ol,
.content ol {
  padding-left: 40px !important;
  margin: 0.5em 0;
  list-style-position: outside;
}

/* ── LI commun (ul + ol) : espacement vertical + font-weight ── */
.news-content li,
.activity-description li,
.activity-bio li,
.directory-member-detail-wrapper li,
.content li {
  padding-bottom: 5px;
  font-weight: 400 !important;
  line-height: 1.6;
}

/* ── UL > LI : retrait suspendu (hanging indent) ── */
.news-content ul > li,
.activity-description ul > li,
.activity-bio ul > li,
.directory-member-detail-wrapper ul > li,
.content ul > li {
  padding-left: 28px;
  position: relative;
}

/* ── Icône niveau 1 : positionnée dans la marge ── */
.news-content ul > li::before,
.activity-description ul > li::before,
.activity-bio ul > li::before,
.directory-member-detail-wrapper ul > li::before,
.content ul > li::before {
  content: "eco";
  font-family: "Material Symbols Rounded";
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
  font-style: normal !important;
  font-size: 18px;
  color: var(--c-shiraz);
  position: absolute;
  left: 0;
    top: -2px;
}

/* ── Icône niveau 2 ── */
.news-content ul ul > li::before,
.activity-description ul ul > li::before,
.activity-bio ul ul > li::before,
.directory-member-detail-wrapper ul ul > li::before,
.content ul ul > li::before {
  content: "psychiatry";
  font-size: 16px;
  color: var(--c-tan);
     top: -1px;
}

/* ── Icône niveau 3 ── */
.news-content ul ul ul > li::before,
.activity-description ul ul ul > li::before,
.activity-bio ul ul ul > li::before,
.directory-member-detail-wrapper ul ul ul > li::before,
.content ul ul ul > li::before {
  content: "nature";
  font-size: 14px;
  color: var(--c-deer);
     top: 0px;
}

/* ── Sous-listes UL imbriquées ── */
.news-content ul ul,
.activity-description ul ul,
.activity-bio ul ul,
.directory-member-detail-wrapper ul ul,
.content ul ul {
  padding-left: 8px !important;
}

/* ── Sous-listes OL imbriquées ── */
.news-content ol ol,
.activity-description ol ol,
.activity-bio ol ol,
.directory-member-detail-wrapper ol ol,
.content ol ol {
  padding-left: 28px !important;
}

.mod-article__category,
.mod-article__category a,
.news-category,
.news-article__category,
.news-article__category a,
p.news-category,
p.news-article__category {
  color: var(--c-shiraz) !important;
    font-weight : 500 !important;
}
/* -------------------- BOUTONS ----------------------- */
.btn,
a.btn,
button.btn,
input.btn {
  font-family: "Poppins", "Helvetica Neue", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  padding: 15px 25px !important;
  border-radius: 50px !important;
  border: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
  box-shadow: 3px 3px 6px rgba(0,0,0,0.18) !important;
  transition: all 0.25s ease !important;
}

.btn-primary {
  background-color: var(--color-primary) !important;
  color: var(--btn-text-color) !important;
}
.btn-primary:hover {
  background-color: var(--color-primary-hover) !important;
  box-shadow: none !important;
  transform: translate(1px, 1px);
}
.btn-secondary {
  background-color: var(--color-secondary) !important;
  color: var(--btn-text-color-secondary) !important;
}
.btn-secondary:hover {
  background-color: var(--color-secondary-hover) !important;
  box-shadow: none !important;
  transform: translate(1px, 1px);
}
.btn-explore {
  background-color: var(--color-primary);
  color: var(--btn-text-color) !important;
}
.btn-explore:hover {
  background-color: var(--c-shiraz-h);
  box-shadow: none !important;
  transform: translate(1px, 1px);
}

/* ============================================================
   BOUTON RETOUR EN HAUT
   ============================================================ */
#btn-top {
  position: fixed;
  bottom: 2.5rem;
  right: 2.5rem;
  width: 46px;
  height: 46px;
  background: var(--icon-color);
  color: #fff;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 3px 10px rgba(25, 37, 69, 0.35);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease, background 0.2s ease;
  z-index: 999;
}
#btn-top.visible { opacity: 1; visibility: visible; }
#btn-top:hover,
#btn-top:focus {
  background: var(--icon-hover);
  color: var(--c-texte);
  outline: 2px solid var(--color-secondary-hover);
}
#btn-top svg { width: 22px; height: 22px; }

@media (max-width: 900px) {
  .btn,
  a.btn,
  button.btn,
  input.btn {
    font-size: 18px !important;
    padding: 14px 28px !important;
    line-height: 1.3 !important;
    width: auto !important;
    min-width: 0 !important;
    border-radius: 40px !important;
  }

  .navbar-default {
      padding:0 !important;
  }
}
@media (max-width: 500px) {
  .btn,
  a.btn,
  button.btn,
  input.btn {
    font-size: 17px !important;
    padding: 12px 24px !important;
    line-height: 1.3 !important;
  }
}

/* -------------------- ICONES ----------------------- */
i.fa-solid {
  font-family: "Font Awesome 6 Pro" !important;
  font-weight: 900 !important;
}
i.fa-brands {
  font-family: "Font Awesome 6 Brands" !important;
  font-weight: 400 !important;
}
a i.fa-solid,
a i.fa-brands {
  font-family: inherit !important;
  color: inherit !important;
}

.line-header {
  background-color: #f0e9e3 !important;
    gap: 5px !important;
}

.line-header .btn,
.line-header a.btn {
  margin: 5px 0 !important;
  width: auto !important;
}

/* IcÃ´nes sociales du header */
.header-ext-social-links {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  padding: 0;
  min-height: 100px;
  /* transform: translateY(30px); */
}

.social-link {
  border-radius: 50% !important;
    background-color: var(--icon-color);
    color: var(--icon-text-color);
  width: 40px !important;
  height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 73ms ease-in-out !important;
  text-decoration: none !important;
  cursor: pointer !important;
  box-shadow: 2px 2px 4px rgba(0,0,0,0.18) !important;
}

.social-link:hover {
  background-color: var(--icon-hover);
  box-shadow: none !important;
  transform: translate(1px, 1px);
}

.social-link i.fa-solid,
.social-link i.fa-brands,
.social-link span.fa,
.social-link span.fa-solid,
.social-link span.fa-brands {
      color: var(--icon-text-color);
  font-size: 20px !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Header mobile */
@media (max-width: 900px) {
  .line-header {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
  }

  .line-header img {
    margin: 0 auto !important;
    display: block !important;
  }

  .header-ext-social-links {
    justify-content: center !important;
    transform: translateY(0) !important;
    margin-top: 10px !important;
  }
}
@media (min-width: 992px) {
    .navbar-default {
      padding: 10px 50px !important; 
    }
}
/* ===========================================================
   MENU
=========================================================== */

/* — Typographie des liens de navigation — */
.header-ext-menu a,
.menu a,
nav a {
  font-family: "Poppins", "Helvetica Neue", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  color: #272020 !important;
}
.header-ext-menu a:hover,
.menu a:hover,
nav a:hover {
  color: #872437 !important;
}

/* — Barre de navigation — */
.navbar-default {
  background-color: #cbaa79 !important;
  border: none !important;
}

/* — Conteneur flex : étirement uniforme des onglets — */
.navbar-nav {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
}

/* — Onglets — */
.navbar-nav > li {
  flex: 1 1 auto !important;
  float: none !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 5px !important;
  background-color: #cbaa79 !important;
  border-radius: 6px 6px 0 0;
}
.navbar-nav > li:hover,
.navbar-nav > li.open {
  background-color: #872438 !important;
  position: relative !important;
  z-index: 10000 !important;
}

/* — Lien texte : ne s'étire pas (caret reste collé) — */
.navbar-nav > li > a:not(.dropdown-toggle) {
  flex: 0 0 auto !important;
  width: auto !important;
}

/* — Liens + toggle : style commun — */
.navbar-nav > li > a,
.navbar-nav > li > .dropdown-toggle {
  color: #272020 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.navbar-nav > li > a.dropdown-toggle {
  width: auto !important;
  padding-left: 0 !important;
}

/* — Hover / ouvert : texte blanc — */
.navbar-nav > li:hover > a,
.navbar-nav > li:hover > .dropdown-toggle,
.navbar-nav > li.open > a,
.navbar-nav > li.open > .dropdown-toggle {
  color: #ffffff !important;
}

/* — Caret — */
.navbar-nav > li > .dropdown-toggle .caret {
  transition: transform 0.28s ease;
  position: static !important;
  margin-left: 0 !important;
}
.navbar-nav > li:hover > .dropdown-toggle .caret,
.navbar-nav > li.open > .dropdown-toggle .caret {
  border-top-color: #ffffff !important;
  border-bottom-color: #ffffff !important;
  color: #ffffff !important;
  transform: rotate(180deg) scaleX(1.25);
}

/* — Sous-menu (dropdown) — */
.dropdown-menu {
  background-color: #872438 !important;
  border: none;
  padding: 0;
  margin-top: 0 !important;
  border-radius: 0 0 6px 6px !important;
  min-width: 100% !important;
}
.dropdown-menu > li > a {
  color: #ffffff !important;
  padding: 5px 15px !important;
  text-decoration: none !important;
  white-space: normal !important;
  word-break: break-word !important;
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  text-align: left !important;
}
.dropdown-menu > li > a:hover {
  background-color: #cbaa79 !important;
  color: #000000 !important;
}
.dropdown-menu > li:last-child > a {
  border-radius: 0 0 6px 6px !important;
}

/* — Dernier onglet : sous-menu ancré à droite — */
.navbar-nav > li:last-child .dropdown-menu {
  left: auto !important;
  right: 0 !important;
}

/* ===========================================================
   BANNER
=========================================================== */
.line-banner {
  border-bottom: none;
}
.line-banner {
  padding: 60px 0 !important;
  text-align: center;
}

.pageid-129725 .line-banner {
  padding: 0 !important;
}

/* Apparition douce et fondue */
.line-banner h1,
.line-banner h2,
.line-banner p,
.line-banner .btn {
  opacity: 0;
  animation: fadeInSoftDown 1.4s cubic-bezier(0.25, 0.10, 0.10, 1.00) forwards;
}

/* Délais progressifs très subtils */
.line-banner h1 { animation-delay: 0.05s; }
.line-banner h2 { animation-delay: 0.15s; }
.line-banner p  { animation-delay: 0.25s; }
.line-banner .btn { animation-delay: 0.35s; }

/* Animation : fondu + micro mouvement depuis le haut */
@keyframes fadeInSoftDown {
  from {
    opacity: 0;
    transform: translateY(-1px); /* ultra léger */
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ===========================================================
   FOOTER
=========================================================== */
.line-footer {
  padding: 30px 0 !important;
}
.line.site_line__item .line-footer {
  padding-top: 5px;
  padding-bottom: 15px;
} 
.line-footer .container-fluid {
  padding-left: 40px;
  padding-right: 40px;
  margin: 0 auto;
}

.line-footer .container-fluid > .row-fluid > div:first-child,
.line-footer .container-fluid > .row-fluid > div:last-child {
    padding-right: 15px !important;
    padding-left: 15px !important;
}

.theme-tan .social-link {
  background-color: var(--icon-color);
  color: var(--icon-text-color);
}

.theme-tan .social-link:hover {
  background-color: #af6d7a;
    color: #f0e9e3;
}

#site-wrapper .line-footer p {
    color: var(--text-color);
}

#site-wrapper .line-footer p a {
    color: #872437;
}

/* 3) Neutraliser le padding interne Yapla */
.line-footer .row-fluid,
.line-footer .zone-html,
.line-footer .content {
  padding: 0;
  margin: 0;
}

.footer-coords {
  list-style: none;
  padding: 0;
  margin: 8px 0 0 0;
}

.footer-coords li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 8px;
}

.footer-coords .material-symbols-rounded {
  font-size: 20px !important;
  color: var(--icon-color) !important;
  flex-shrink: 0 !important;
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24 !important;
}

.footer-coords a {
  word-break: break-all !important;
  color: #872437 !important;
}

/*  Responsive footer mobile  */
@media (max-width: 640px) {

  .line-footer .container-fluid {
    padding-left: 20px !important;
    padding-right: 20px !important;
    text-align: center !important;
  }

  .line-footer .mod-article__intro img[alt="Logo SNG"] {
    float: none !important;
    display: block !important;
    margin: 0 auto 16px auto !important;
    width: 160px !important;
    height: auto !important;
  }

  .line-footer .mod-article__intro > div:last-child {
    float: none !important;
    clear: both !important;
    width: 100% !important;
  }

  .footer-coords {
    display: inline-block !important;
    text-align: left !important;
  }

  .line-footer .zone-50,
  .line-footer .zone-25 {
    width: 100% !important;
    float: none !important;
    margin-bottom: 24px !important;
  }

  .line-footer .zone-article[data-zone-alias="Partenaires"] img {
    width: auto !important;
    max-width: 160px !important;
    height: auto !important;
    margin: 8px 5px !important;
    display: inline-block !important;
  }
}

/* ===========================================================
Répertoire
=========================================================== */

.repertory-activities { padding-top: 0 !important; }

.line.site_line__item.repertory-activities {
  overflow-x: hidden !important;
}

.repertory-activities .js-directory-search-box,
.repertory-activities .search-object-form {
  background-color: #272c27;
  padding-left: 15px !important;
  padding-right: 15px !important;
  border-radius: 0 0 200px 200px;
}

.repertory-activities .mod_directory__result_bloc {
  background-color: #272c27;
  padding: 15px !important;
  border-radius: 20px;
  max-width: 1400px !important;
  width: calc(100% - 40px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

.repertory-activities .search-object-result {
  padding: 15px !important;
  border-radius: 20px;
  max-width: 1400px !important;
  width: calc(100% - 40px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.js-directory-search-box,
.search-object-form { margin-top: 0 !important; }

.repertory-activities .js-directory-search-box .search-form,
.repertory-activities .search-object-form .search-form {
    margin-left: 20% !important;
  margin-right: 20% !important;
     box-sizing: border-box !important;
  overflow: visible !important;
}

.repertory-activities .js-directory-search-box .search-form .control-label,
.repertory-activities .search-object-form .control-label {
  color: #cbaa79 !important;
 font-family: "Poppins", "Helvetica Neue", Arial, sans-serif !important;
  font-size: 18px;
  font-weight: 600;
}
.repertory-activities .search_input.col-md-12 {
  width: 100%;
}

/*  Inputs & selects (visuel commun)  */
.search_input input,
.search_input textarea,
.search_input .form-control[type="text"],
.search_input .form-control[type="search"] {
  background-color: #f0e9e3 !important;
  background-clip: padding-box !important;
  border-radius: 20px !important;
  width: 100% !important;
  color: #272020 !important;
 font-family: "Poppins", "Helvetica Neue", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  box-shadow: none !important;
  border: 2px solid #cbaa79 !important;
box-sizing: border-box !important;
}

/* Wrapper Yapla */
.yapla-select-wrapper,
.search_input > .yapla-select-wrapper,
.search_input .yapla-select-wrapper,
.search_input .yapla-select-wrapper *,
.search_input .yapla-select-wrapper::before,
.search_input .yapla-select-wrapper::after {
  background: transparent !important;
  background-color: transparent !important;
  overflow: visible !important;
  border-radius: 20px !important;
  box-shadow: none !important;
}

/* Parent ne doit PAS couper le drop chosen */
.search_input { overflow: visible !important; }

/* Neutraliser la flèche blanche injectée par Yapla sur le select */
.search_input::after {
  display: none !important;
  content: none !important;
}

/*   Focus commun  */
.search_input input:focus,
.search_input textarea:focus {
  border: 2px solid #cbaa79 !important;
  outline: none !important;
  box-shadow: none !important;
}

/*   Select natif  */
#member-region_administrative,
.search_input select.form-control {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background-color: #f0e9e3 !important;
  border: 2px solid #cbaa79 !important;
  border-radius: 20px !important;
  color: #272020 !important;
 font-family: "Poppins", "Helvetica Neue", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  padding: 8px 36px 8px 12px !important;
  height: auto !important;
  width: 100% !important;
  box-shadow: none !important;
  cursor: pointer !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23272c27' d='M8 11L2 5h12z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 12px 12px !important;
}

#member-region_administrative:focus,
.search_input select.form-control:focus {
  border: 2px solid #cbaa79 !important;
  outline: none !important;
  box-shadow: none !important;
}

/*  Options du select natif  */
#member-region_administrative option,
.search_input select.form-control option {
  background-color: #f0e9e3 !important;
  color: #272020 !important;
 font-family: "Poppins", "Helvetica Neue", Arial, sans-serif !important;
  font-size: 16px !important;
}

#member-region_administrative option:hover,
#member-region_administrative option:checked,
.search_input select.form-control option:hover,
.search_input select.form-control option:checked {
  background-color: #872437 !important;
  color: #f0e9e3 !important;
}

/*  Chosen   */
.search_input .chosen-container.form-control {
  padding: 0 !important;
  height: auto !important;
  box-shadow: none !important;
}

.chosen-container {
  position: relative !important;
  background-color: #f0e9e3 !important;
  border-radius: 20px !important;
  border: 2px solid #cbaa79 !important;
 font-family: "Poppins", "Helvetica Neue", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #272020 !important;
  overflow: visible !important;
  box-shadow: none !important;
  outline: none !important;
  z-index: 10 !important;
}

.search_input .chosen-container {
  border: 2px solid #cbaa79 !important;
}

.chosen-container,
.chosen-container * {
  box-shadow: none !important;
  outline: none !important;
}

.chosen-container .chosen-choices,
.chosen-container .chosen-single {
  background: transparent !important;
  border: none !important;
  border-radius: 20px !important;
  box-shadow: none !important;
  padding: 8px 40px 8px 12px !important;
  color: #272020 !important;
  min-height: 38px !important;
}

.chosen-container .chosen-single div {
  display: none !important;
}

.chosen-container::after {
  content: "" !important;
  position: absolute !important;
  right: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 16px !important;
  height: 16px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23272c27' d='M8 11L2 5h12z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  pointer-events: none !important;
  transition: transform 0.2s ease !important;
}

.chosen-container.chosen-with-drop::after {
  transform: translateY(-50%) rotate(180deg) !important;
}

.chosen-container.chosen-with-drop {
  border-radius: 20px 20px 0 0 !important;
  border: 2px solid #cbaa79 !important;
  border-bottom: none !important;
}

.chosen-container.chosen-with-drop .chosen-choices,
.chosen-container.chosen-with-drop .chosen-single {
  border-radius: 20px 20px 0 0 !important;
}

.chosen-container .chosen-drop {
  position: absolute !important;
  top: 100% !important;
  background-color: #f0e9e3 !important;
  border: 2px solid #cbaa79 !important;
  border-top: none !important;
  border-radius: 0 0 20px 20px !important;
  padding: 4px 12px !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
  z-index: 11 !important;
}

.chosen-container.chosen-with-drop .chosen-drop {
  left: -2px !important;
  width: calc(100% + 4px) !important;
}

/* Options */
.chosen-container .chosen-results li {
  color: #272020 !important;
 font-family: "Poppins", "Helvetica Neue", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  background: transparent !important;
  padding: 6px 4px !important;
}

.chosen-container .chosen-results li.highlighted,
.chosen-container .chosen-results li.result-selected {
  background-color: #872437 !important;
  color: #f0e9e3 !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

.chosen-container .chosen-results li.active-result {
  background: transparent !important;
  color: #272020 !important;
}

/* Tags */
.chosen-container .chosen-choices .search-choice {
  background-color: #e8ddd4 !important;
  color: #272020 !important;
  border: 1px solid #872437 !important;
  box-shadow: none !important;
  border-radius: 10px !important;
}

.chosen-container .chosen-choices .search-choice-close {
  opacity: 0.6 !important;
}

.chosen-action {
  color: #cbaa79 !important;
 font-family: "Poppins", "Helvetica Neue", Arial, sans-serif !important;
  font-size: 14px !important;
}

/*  Vue Multiselect  */
.search_input [data-component="form-multi-select-input"] {
  width: 100% !important;
}

.search_input .multiselect.cms {
  position: relative !important;
  width: 100% !important;
  background-color: #f0e9e3 !important;
  border-radius: 20px !important;
  border: 2px solid #cbaa79 !important;
  font-family: "Poppins", sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #272020 !important;
  overflow: visible !important;
  box-shadow: none !important;
  outline: none !important;
  z-index: 10 !important;
}

.search_input .multiselect.cms.is-open {
  border-radius: 20px 20px 0 0 !important;
  border-bottom: none !important;
}

/* Wrapper = conteneur principal interne, pas de padding ici */
.search_input .multiselect.cms .multiselect-wrapper {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  min-height: 42px !important;
  display: flex !important;
  align-items: center !important;
  cursor: pointer !important;
  position: relative !important;
}

/* Tags = lÃ  oÃ¹ vit le vrai contenu, padding ici */
.search_input .multiselect.cms .multiselect-tags {
  background: transparent !important;
  padding: 6px 44px 6px 12px !important;
  min-height: 42px !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Placeholder */
.search_input .multiselect.cms .multiselect-placeholder {
  position: absolute !important;
  left: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: #272020 !important;
  font-family: "Poppins", sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  padding: 0 !important;
  margin: 0 !important;
  opacity: 1 !important;
  pointer-events: none !important;
  white-space: nowrap !important;
}

/* Caret natif masqué */
.search_input .multiselect.cms .multiselect-caret {
  display: none !important;
}

/* flèche */
.multiselect.cms::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  right: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 16px !important;
  height: 16px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23272c27' d='M8 11L2 5h12z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  pointer-events: none !important;
  transition: transform 0.2s ease !important;
  z-index: 2 !important;
}

.multiselect.cms.is-open::after {
  transform: translateY(-50%) rotate(180deg) !important;
}

/* Champ de recherche dans les tags */
.search_input .multiselect.cms .multiselect-tags-search {
  background: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  font-family: "Poppins", sans-serif !important;
  font-size: 16px !important;
  color: #272020 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  min-width: 60px !important;
  height: auto !important;
}

/* Tag sélectionné */
.search_input .multiselect.cms .multiselect-tag {
  background-color: #e8ddd4 !important;
  color: #272020 !important;
  border: 1px solid #872437 !important;
  border-radius: 10px !important;
  font-family: "Poppins", sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 4px 10px !important;
  line-height: 1.4 !important;
  display: inline-flex !important;
  align-items: center !important;
    white-space: nowrap !important;
}

.search_input .multiselect.cms .multiselect-tag-remove {
  opacity: 0.6 !important;
}

/* Dropdown */
.search_input .multiselect.cms .multiselect-dropdown {
  background-color: #f0e9e3 !important;
  border: 2px solid #cbaa79 !important;
  border-top: none !important;
  border-radius: 0 0 20px 20px !important;
padding: 2px 0 !important;
     max-height: 240px !important;
  overflow-y: auto !important;
    box-shadow: none !important;
  z-index: 11 !important;
  left: -2px !important;
  width: calc(100% + 4px) !important;
  box-sizing: border-box !important;
}

/* Options */
.search_input .multiselect.cms .multiselect-option {
  font-family: "Poppins", sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #272020 !important;
  background: transparent !important;
  padding: 8px 12px !important;
  border-radius: 0 !important;
  cursor: pointer !important;
}

.search_input .multiselect.cms .multiselect-option.is-pointed,
.search_input .multiselect.cms .multiselect-option.is-selected {
  background-color: #872437 !important;
  color: #f0e9e3 !important;
}

.search_input .multiselect.cms .multiselect-option span {
  color: inherit !important;
  font-size: inherit !important;
  font-family: inherit !important;
  font-weight: inherit !important;
}

/* Liens Tout sélectionner / Réinitialiser */
.search_input .multiselect.cms ~ div a,
.search_input .y-flex a {
  color: #cbaa79 !important;
  font-family: "Poppins", sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}

/*  Autofill Chrome */
.search_input input:-webkit-autofill,
.search_input input:-webkit-autofill:hover,
.search_input input:-webkit-autofill:focus,
.search_input input:-webkit-autofill:active,
.search_input input:-webkit-autofill:valid,
.search_input input:-webkit-autofill:not(:focus),
.search_input textarea:-webkit-autofill,
.search_input textarea:-webkit-autofill:hover,
.search_input textarea:-webkit-autofill:focus,
.search_input textarea:-webkit-autofill:not(:focus) {
  -webkit-box-shadow: 0 0 0 1000px #f0e9e3 inset !important;
  box-shadow: 0 0 0 1000px #f0e9e3 inset !important;
  -webkit-text-fill-color: #272020 !important;
  color: #272020 !important;
  border-radius: 20px !important;
}

/*   Focus global  */
.form-control:focus {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/*  Section footer recherche */
#section-footer-search {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 24px !important;
  padding: 10px 0 30px 0 !important;
}

#search_simple,
#search_advanced {
 font-family: "Poppins", "Helvetica Neue", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  padding: 15px 25px !important;
  border-radius: 50px !important;
  border: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
  box-shadow: 3px 3px 6px rgba(0,0,0,0.18) !important;
  transition: all 0.25s ease !important;
  background-color: var(--color-secondary) !important;
  color: var(--btn-text-color-secondary) !important;
}

#search_simple:hover,
#search_advanced:hover {
  background-color: var(--color-secondary-hover) !important;
  box-shadow: none !important;
  transform: translate(1px, 1px) !important;
}

#search_simple.hide,
#search_advanced.hide {
  display: none !important;
}

/*  Bouton Rechercher (input submit)  */
#search_member {
  font-family: 'Poppins', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  padding: 15px 25px !important;
  border-radius: 50px !important;
  border: none !important;
  cursor: pointer !important;
  box-shadow: 3px 3px 6px rgba(0,0,0,0.18) !important;
  transition: all 0.25s ease !important;
  background-color: var(--color-primary) !important;
  color: #f0e9e3 !important;
}

#search_member:hover {
  background-color: var(--color-primary-hover) !important;
  box-shadow: none !important;
  transform: translate(1px, 1px) !important;
}

/* ----------- NAV TABS â€” Sliding pill ------------- */
/*  La piste dorée  */
.repertory-activities .search-object-result >ul.nav-tabs,
#directory-tabs {
  display: inline-flex !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  border: none !important;
  border-bottom: none !important;
  list-style: none !important;
  margin: 10px 0 !important;
  padding: 10px !important;           /* â† zéro padding : les li couvrent exactement 50% chacun */
  background-color: #cbaa79 !important;
  border-radius: 50px !important;
  position: relative !important;
  overflow: hidden !important;
}

/*  Pill rouge : inset de 4px tous cÃ´tés, 50% de la largeur totale  */
.repertory-activities .search-object-result >ul.nav-tabs::before,
#directory-tabs::before {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  top: 5px !important;
  bottom: 5px !important;
  left: 5px !important;
  width: 50% !important;
  background-color: #872437 !important;
  border-radius: 50px !important;
  transition: left 0.32s cubic-bezier(0.4, 0, 0.2, 1) !important;
  z-index: 0 !important;
  pointer-events: none !important;
  box-shadow: 2px 2px 6px rgba(0,0,0,0.18) !important;
}

/*  Onglet 2 actif : pill glisse Ã  droite avec même marge  */
.repertory-activities .search-object-result >ul.nav-tabs:has(li:nth-child(2) a.active)::before,
#directory-tabs:has(li:nth-child(2) a.active)::before {
  left: calc(50% + 5px) !important;
  width: calc(50% - 10px) !important;
}

/*  Items  */
.repertory-activities .search-object-result >ul.nav-tabs >li,
.repertory-activities .search-object-result >ul.nav-tabs >li.nav-item,
#directory-tabs > li,
#directory-tabs > li.nav-item {
  flex: 0 0 50% !important;
  min-width:50%;  
  border: none !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  z-index: 1 !important;
}

/*  Liens  */
.repertory-activities .search-object-result >ul.nav-tabs  > li > a,
.repertory-activities .search-object-result >ul.nav-tabs  > li.nav-item > a,
.repertory-activities .search-object-result >ul.nav-tabs  > li.nav-item > a.nav-link,
#directory-tabs > li > a,
#directory-tabs > li.nav-item > a,
#directory-tabs > li.nav-item > a.nav-link {
  font-family: 'Poppins', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  padding: 13px 24px !important;       /* â† breathing room du texte */
  border-radius: 50px !important;
  border: none !important;
  display: flex !important;
  width: 100% !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #272c27 !important;
  position: relative !important;
  z-index: 1 !important;
  transition: color 0.20s ease !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
}

/*  Actif : texte clair  */
.repertory-activities .search-object-result >ul.nav-tabs > li > a.active,
.repertory-activities .search-object-result >ul.nav-tabs > li > a.active.nav-link,
.repertory-activities .search-object-result >ul.nav-tabs > li.nav-item > a.active,
.repertory-activities .search-object-result >ul.nav-tabs > li.nav-item > a.nav-link.active,
.repertory-activities .search-object-result >ul.nav-tabs > li.active > a,
.repertory-activities .search-object-result >ul.nav-tabs > li.active > a.nav-link,
#directory-tabs > li > a.active,
#directory-tabs > li > a.active.nav-link,
#directory-tabs > li.nav-item > a.active,
#directory-tabs > li.nav-item > a.nav-link.active,
#directory-tabs > li.active > a,
#directory-tabs > li.active > a.nav-link {
  color: #f0e9e3 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/*  Hover inactif : force le texte foncé contre la règle globale a:hover  */
.repertory-activities .search-object-result >ul.nav-tabs > li > a:not(.active):hover,
.repertory-activities .search-object-result >ul.nav-tabs > li.nav-item > a.nav-link:not(.active):hover,
.repertory-activities .search-object-result >ul.nav-tabs > li > a:not(.active):focus,
.repertory-activities .search-object-result >ul.nav-tabs > li.nav-item > a.nav-link:not(.active):focus,

#directory-tabs > li > a:not(.active):hover,
#directory-tabs > li.nav-item > a.nav-link:not(.active):hover,
#directory-tabs > li > a:not(.active):focus,
#directory-tabs > li.nav-item > a.nav-link:not(.active):focus {
  color: #272c27 !important;
  background: transparent !important;
  transform: none !important;
  text-decoration: none !important;
}

/*  Hover actif  */
.repertory-activities .search-object-result >ul.nav-tabs > li > a.active:hover,
.repertory-activities .search-object-result >ul.nav-tabs > li.nav-item > a.nav-link.active:hover,
.repertory-activities .search-object-result >ul.nav-tabs > li > a.active:focus,
.repertory-activities .search-object-result >ul.nav-tabs > li.nav-item > a.nav-link.active:focus,

#directory-tabs > li > a.active:hover,
#directory-tabs > li.nav-item > a.nav-link.active:hover,
#directory-tabs > li > a.active:focus,
#directory-tabs > li.nav-item > a.nav-link.active:focus {
  color: #f0e9e3 !important;
  background: transparent !important;
  transform: none !important;
  text-decoration: none !important;
}

/*  Neutralise Bootstrap  */
.nav-tabs { border-bottom: none !important; }
.nav-tabs .nav-link { border: none !important; background: transparent !important; }
.nav-tabs .nav-item.show .nav-link,
.nav-tabs .nav-link.active { border: none !important; background: transparent !important; color: #f0e9e3 !important; }
.nav-tabs .nav-link:hover,
.nav-tabs .nav-link:focus { border-color: transparent !important; }

/*  ------------ TUILES ORGANISATIONS ------------- */
/* Cache le thead */
#module_directory_organization_result thead {
  display: none !important;
}

/* Wrapper */
.list-result-wrapper {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  width: 100% !important;
  max-width: 100% !important;
}

.list-result-wrapper .card-body {
  padding: 0 !important;
}

.list-result-wrapper .wrapper {
  padding: 0 !important;
  max-width: 100% !important;
}

.list-result-wrapper .table-responsive {
  overflow: visible !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}

.repertory-activities .click_to_edit {
  border: none !important;
}

/* Table en grille */
#module_directory_organization_result {
  gap: 16px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  border: none !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

/* tbody en 3 colonnes */
#module_directory_organization_result tbody {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

#module_directory_organization_result tbody tr {
  display: grid !important;
  grid-template-columns: 110px 1fr !important;
  grid-template-rows: auto !important;
  box-sizing: border-box !important;

  text-align: left !important;
  width: 100% !important;
  min-width: 0 !important;
  align-items: start !important;
  background-color: #f0e9e3 !important;
  background-image: none !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
  box-shadow: 2px 2px 8px rgba(0,0,0,0.08) !important;

  border: 2px solid #cbaa79 !important;
  border-radius: 15px !important;
  padding: 10px 10px 50px 10px !important;
  gap: 0 12px !important;

  position: relative !important;
  pointer-events: none !important;
  cursor: default !important;
  text-decoration: none !important;
}

/*  Hover : déclenché uniquement par la classe ajoutée en JS via le chevron  */
#module_directory_organization_result tbody tr.org-card-hover {
  transform: translateY(-3px) !important;
  box-shadow: 4px 6px 16px rgba(0,0,0,0.15) !important;
  border-color: #cbaa79 !important;
  background-color: #e8d9c5 !important;
}

/* Cellules communes */
#module_directory_organization_result tbody td {
  display: block !important;
  border: none !important;
  padding: 2px 0 !important;
  background: transparent !important;
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  grid-column: 2 !important;
  text-decoration: none !important;
  pointer-events: none !important;
}

/*  Logo : colonne 1  */
#module_directory_organization_result tbody td:first-child {
  grid-column: 1 !important;
  grid-row: 1 / 8 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  align-self: center !important;
  padding: 0 !important;
  height: 100% !important;
}

#module_directory_organization_result .table__field-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  border-radius: 0px 50px !important;
  background-color: white !important;
  padding: 5px;
  border: 1px solid #e0d4c8 !important;
  flex-shrink: 0 !important;
  box-shadow: 1px 2px 8px rgba(0, 0, 0, 0.12) !important;
}

/* Nom société */
#module_directory_organization_result tbody td:nth-child(2) {
  font-family: "Alkatra", system-ui !important;
  font-size: 22px !important;
  font-weight: 300;
  letter-spacing: 0.5px;
  color: var(--heading-color) !important;
  line-height: 1.2;
  border-bottom: 1px solid #cbaa79 !important;
  padding-bottom: 6px !important;
  margin-bottom: 4px !important;
  padding-top: 0 !important;
}

/* Région */
#module_directory_organization_result tbody td:nth-child(3) {
  font-family: 'Poppins', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  color: #872437 !important;
  letter-spacing: 0.3px;
  padding-top: 4px !important;
}

/* Ville */
#module_directory_organization_result tbody td:nth-child(4) {
  font-family: 'Poppins', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--heading-color) !important;
}

/* Téléphone */
#module_directory_organization_result tbody td:nth-child(5) {
  font-family: 'Poppins', sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: var(--text-color) !important;
  padding-top: 10px !important;
}

/* Site web : seul ce <td> se comporte comme un lien */
#module_directory_organization_result tbody td:nth-child(6),
#module_directory_organization_result tbody td[data-label="Site Web"] {
  font-family: 'Poppins', sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: var(--text-color) !important;
  text-decoration: underline !important;
  display: block !important;
  max-width: 100% !important;
  overflow-wrap: break-word !important;
  word-break: break-all !important;
  white-space: normal !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}

#module_directory_organization_result tbody td:nth-child(6):hover,
#module_directory_organization_result tbody td[data-label="Site Web"]:hover {
  color: var(--link-color) !important;
}

/* Neutralise les règles <a> (Yapla ne génère pas de <a> dans ce <td>) */
#module_directory_organization_result tbody td:nth-child(6) a,
#module_directory_organization_result tbody td[data-label="Site Web"] a {
  color: var(--link-color) !important;
  text-decoration: inherit !important;
  pointer-events: none !important;
}

#module_directory_organization_result tbody td:nth-child(6) a::after {
  content: none !important;
  display: none !important;
}

/*  Bouton chevron  */
.org-chevron-btn {
  position: absolute !important;
  bottom: 10px !important;
  right: 10px !important;
  width: 50px !important;
  height: 35px !important;
  background-color: var(--color-primary) !important;
  color: var(--btn-text-color) !important;
  border: none !important;
  border-radius: 20px !important;
  font-size: 28px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 0 1px 2px !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  transition: background-color 0.2s ease, transform 0.15s ease !important;
  text-decoration: none !important;
  box-shadow: 1px 2px 8px rgba(0, 0, 0, 0.25) !important;
  z-index: 2 !important;
}
.btn-primary:hover {
  background-color: var(--color-primary-hover) !important;
  box-shadow: none !important;
  transform: translate(1px, 1px);
}

.org-chevron-btn:hover {
  background-color: var(--color-primary-hover) !important;
transform: translate(1px, 1px);
  text-decoration: none !important;
  box-shadow: none !important;
}

/*  1. Masquer le nombre d'entrées et le style oddLine du tfoot  */
.tfoot tr td {
  border: none !important;
}

#module_directory_organization_result .paginatorNbRow {
  display: none;
}

/*  2. Pagination  */
#module_directory_organization_result .paginationControl {
  display: flex;
  justify-content: center;
  gap: 8px;
  padding: 12px 0;
}

/* Bouton inactif : secondary */
#module_directory_organization_result .paginationControl a.page {
  font-size: 16px;
  line-height: 1;
  padding: 10px 16px;
  border-radius: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none !important;
  cursor: pointer;
  min-width: 42px;
  transition: all 0.25s ease;
  background-color: var(--color-secondary) !important;;
  color: var(--btn-text-color-secondary) !important;;
}

/* Hover inactif â†’ primary */
#module_directory_organization_result .paginationControl a.page:not(.active):hover {
  background-color: var(--color-primary) !important;;
  color: var(--btn-text-color) !important;;
  box-shadow: none;
  text-decoration: none !important;;
}

/* Bouton actif : primary */
#module_directory_organization_result .paginationControl a.page.active {
  background-color: var(--color-primary) !important;
  color: var(--btn-text-color) !important;
  box-shadow: none;
  cursor: default;
  pointer-events: none;
  text-decoration: none !important;
}

/*  Ligne recherche archives  */
.line-recherche-archives {
  padding-top: 0 !important;
  padding-bottom: 50px !important;
}

/* Réordonnancement : auteur avant catégorie */
.line-recherche-archives .col-sm-8 {
  display: flex;
  flex-direction: column;
}
.line-recherche-archives .col-sm-8 a:first-of-type { order: 0; } /* lien image */
.line-recherche-archives .news-title               { order: 1; }
.line-recherche-archives .news-author              { order: 2; }
.line-recherche-archives .news-category            { order: 3; }
.line-recherche-archives .news-tags.news-tags-container { order: 4; }
.line-recherche-archives .news-intro { order: 45; }

.line-recherche-archives .news-article__content { margin-top: 5px; }

.line-recherche-archives .news-thumbnail {
  width: 100% !important;
  height: 260px !important;
  object-fit: cover !important;
  border-radius: 60px 0px !important;
  border: 2px solid #cbaa79 !important;
  display: block !important;
  margin-bottom: 6px !important;
  box-shadow: 1px 3px 10px rgba(0, 0, 0, 0.12) !important;
}
.line-recherche-archives img {
    vertical-align: middle;
    max-width: 100%;}

    /*  Ligne recherche archives  */
.line-recherche-archives .news-title,
.line-recherche-archives .news-title a {
  font-size: 24px !important;
  font-family: "Alkatra", system-ui, serif !important;
}
.line-recherche-archives .news-detail h1.news-title,
.line-recherche-archives .news-detail h1.news-article__title {
  font-size: 48px !important;
  font-family: "Alkatra", system-ui, serif !important;
  font-weight: 500 !important;
  color: var(--heading-color) !important;
  margin-bottom: 0.4em;
}

/* ═══════════════════════════════════════════════════════════
   FICHE ARTICLE — Auteur, organisme, temps de lecture, citations
═══════════════════════════════════════════════════════════ */
..news-detail .sng-meta-line {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 5px !important;
  order: 1 !important;
  margin: 0 0 5px 0 !important;
}
.news-detail .news-title,
.news-detail .news-article__title          { order: 0; }
.news-detail .sng-meta-line                { order: 2; }  /* catégorie + tags */
.news-detail .sng-reading-time             { order: 1; }
.news-detail .news-author                  { order: 3; }
.news-detail .author-org                   { order: 4; }
.news-detail .news-content                 { order: 5; }
.news-detail .news-blog_tags               { order: 6; }  /* fallback si JS ne s'exécute pas */
.news-detail .back-to-list                 { order: 99; }

/* Palette locale : texte méta + fond blockquote */
.news-detail {
  --news-meta-color: var(--c-shiraz);
  --news-quote-bg:   #e5d5c5;                /* éclairci depuis #cbbaa7 */
}
.line-recherche-archives .news-detail {
  --news-meta-color: var(--c-deer);
  --news-quote-bg:   #d3cbc6;                /* éclairci depuis #b8ada7 */
}

/* ── Auteur ── */
.news-detail .news-author {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: "Poppins", sans-serif !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  color: var(--c-texte) !important;
  margin: 0 0 4px 0 !important;
  padding: 0 !important;
  text-indent: 0 !important;
}
.news-detail .news-author::before {
  content: "person";
  font-family: "Material Symbols Rounded";
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
  font-style: normal !important;
  font-size: 22px;
  color: var(--c-shiraz);
  line-height: 1;
}

/* ── Organisme ── */
.news-detail .author-org {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: "Poppins", sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  color: var(--c-texte) !important;
  margin: 0 0 1.5rem 0 !important;
  padding: 0 !important;
  text-indent: 0 !important;
}
.news-detail .author-org::before {
  content: "park";
  font-family: "Material Symbols Rounded";
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
  font-style: normal !important;
  font-size: 20px;
  color: var(--c-shiraz);
  line-height: 1;
  transform: translateY(-2px);
}

/* ── Temps de lecture ── */
.news-detail .sng-reading-time {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-family: "Poppins", sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--news-meta-color) !important;
  margin-top: 2px !important;
  margin-bottom: 12px !important;
}
.news-detail .sng-reading-time .material-symbols-rounded {
  font-size: 16px !important;
  color: var(--c-shiraz) !important;
}

.news-detail blockquote,
.news-text blockquote {
  position: relative !important;
  background-color: var(--news-quote-bg) !important;
  border-radius: 20px 0 20px 0 !important;
  padding: 1.5rem 5rem 1.5rem 2.5rem !important;
  margin: 1.5rem 40px !important;
  overflow: hidden;
  width: fit-content !important;
  max-width: calc(100% - 80px) !important;
  font-family: "Poppins", "Helvetica Neue", Arial, sans-serif !important;
  font-style: italic !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  color: var(--c-texte) !important;
  text-align: left !important;
  text-indent: 0 !important;
}
.news-detail blockquote::before,
.news-text blockquote::before {
  content: "";
  position: absolute;
  left: 0;
  top: 14px;
  bottom: 14px;
  width: 4px;
  background-color: var(--c-shiraz);
  border-radius: 2px;
}
.news-detail blockquote::after,
.news-text blockquote::after {
  content: "format_quote";
  font-family: "Material Symbols Rounded";
  font-variation-settings: 'FILL' 1;
  font-style: normal;
  position: absolute;
  top: 12px;
  right: 18px;
  font-size: 32px;
  color: var(--c-shiraz);
  opacity: 0.35;
  line-height: 1;
  pointer-events: none;
}
.news-detail blockquote p,
.news-detail blockquote div,
.news-text blockquote p,
.news-text blockquote div {
  margin: 0 !important;
  text-indent: 0 !important;
}
.news-detail blockquote footer,
.news-text blockquote footer {
  margin-top: 12px !important;
  font-size: 13px !important;
  font-style: normal !important;
}
.news-detail blockquote footer::before,
.news-text blockquote footer::before {
  content: "— ";
  color: var(--c-shiraz);
}
.news-detail blockquote cite,
.news-text blockquote cite {
  font-family: "Poppins", sans-serif !important;
  font-style: italic !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--c-shiraz) !important;
}

/* ── Responsive < 768px ── */
@media (max-width: 768px) {
  .news-detail .news-author,
  .news-detail .news-author::before {
    font-size: 18px !important;
  }
  .news-detail blockquote,
.news-text blockquote {
  margin: 1.5rem 0 !important;
  padding: 1.25rem 3rem 1.25rem 1.75rem !important;
  max-width: 100% !important;   /* ← ajouter ceci */
}
  .news-detail blockquote::after,
  .news-text blockquote::after {
    font-size: 26px;
    top: 10px;
    right: 12px;
  }
}

/*  Ligne recherche archives  */
.line-recherche-archives .news-category {
  text-decoration: none !important;
}

/*  Ligne recherche archives  */
.line-recherche-archives a.news-tags {
  background-color: #e8ddd4 !important;
  border-radius: 10px !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 4px 10px !important;
  align-items: center !important;
  border: 1px solid var(--tag-border);
  box-shadow: none !important;
  color: var(--tag-color);
  display: inline-block;
  font-size: var(--font-size-linksmall-desktop);
  font-weight: 500 !important;
  line-height: var(--tag-line-height);
  margin-bottom: var(--tag-margin-left);
  margin-right: var(--tag-margin-right);
  text-decoration: none !important;
  text-transform: none;
}

/*  Ligne recherche archives  */
.line-recherche-archives .paginationControl {
  display: flex;
  justify-content: center;
  gap: 8px;
  padding: 12px 0;
}

/* Bouton inactif : secondary */
.line-recherche-archives .paginationControl a.page {
  font-size: 16px;
  line-height: 1;
  padding: 10px 16px;
  border-radius: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none !important;
  cursor: pointer;
  min-width: 42px;
  transition: all 0.25s ease;
  background-color: var(--color-secondary) !important;
  color: var(--btn-text-color-secondary) !important;
}

/* Hover inactif â†’ primary */
.line-recherche-archives .paginationControl a.page:not(.active):hover {
  background-color: var(--color-primary) !important;
  color: var(--btn-text-color) !important;
  box-shadow: none;
  text-decoration: none !important;
}

/* Bouton actif : primary */
.line-recherche-archives .paginationControl a.page.active {
  background-color: var(--color-primary) !important;
  color: var(--btn-text-color) !important;
  box-shadow: none;
  cursor: default;
  pointer-events: none;
  text-decoration: none !important;
}

/* -----------------------------------------------------------
   Détail textes archives â€” .line-recherche-archives .news-detail
----------------------------------------------------------- */

/*  Conteneur : flex column pour réordonner les blocs  */
/* !important requis : Yapla peut forcer display:block sur .news-detail */
.line-recherche-archives .news-detail {
  display: flex !important;
  flex-direction: column !important;
  padding: 50px 0px;
}

/*  1. Bouton retour  */
.line-recherche-archives .back-to-list {
  font-family: "Poppins", "Helvetica Neue", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  padding: 15px 25px !important;
  border-radius: 50px !important;
  border: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  text-align: center;
  cursor: pointer !important;
  box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.18) !important;
  transition: all 0.25s ease !important;
  background-color: var(--color-secondary) !important;
  color: var(--btn-text-color-secondary) !important;
  margin: 15px 0px 5px !important;
  width: fit-content !important;}

.line-recherche-archives .back-to-list:hover {
  background-color: var(--color-secondary-hover) !important;
  box-shadow: none !important;
  text-decoration: none !important;
  transform: translate(1px, 1px);
}

/*  2. Catégorie  */
.line-recherche-archives .news-article__category {
  order: 1;
  color: var(--link-color) !important;
  text-decoration: none !important;
  display: block;
  margin-bottom: 0 !important;
  margin-top: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: inherit !important;
  font-weight: 500 !important;
}

.news-detail .news-article__category {
  order: 1;
}
/* Mots-clés*/
.news-detail .news-blog__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
    margin-bottom: 10px;
  padding: 0;
  order: 1;
}

/* Mots-clés — pastille identique aux vues listing */
.news-detail .news-blog__tag {
    background-color: #e8ddd4 !important;
  border-radius: 10px !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 4px 10px !important;
  border: 1px solid var(--link-color) !important;
  box-shadow: none !important;
  color: var(--link-color) !important;
  font-family: "Poppins", "Helvetica Neue", Arial, sans-serif !important;
  font-size: var(--font-size-tag-desktop) !important;
  font-weight: 500 !important;
  line-height: var(--tag-line-height) !important;
  letter-spacing: var(--letterspacing-tag, normal) !important;
  display: inline-block !important;
  text-decoration: none !important;
  text-transform: none !important;
    margin: 5px 0 6px;
}

/*  3. Date de publication â€” cachée  */
.line-recherche-archives .news-published-date {
  display: none !important;
}

/*  4. Contenu principal (image + texte)  */
.line-recherche-archives .news-article__content {
  order: 2;
}

/* Image principale */
.line-recherche-archives .news-image.e-thumbnail {
  float: none !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 50vw !important;
  object-fit: contain !important;
  border-radius: 60px 0px !important;
  border: 2px solid #cbaa79 !important;
  box-shadow: 1px 3px 10px rgba(0, 0, 0, 0.12) !important;
  margin: 0 auto 1.5rem !important;
}

/*  5. Corps de texte  */
/* margin sur le wrapper ET sur les <p> : Yapla peut forcer margin:0 sur l'un ou l'autre */
.line-recherche-archives .news-detail .news-content {
  box-sizing: border-box !important;
}
.news-text > p {
  text-align: justify;
  text-indent: 1.5em;
}
.news-text > p[tabindex="-1"] {
  text-align: left;
  text-indent: 0 !important;
}
.news-text .img-cadre p,
.news-text .img-bloc p {
  text-align: auto;
}
/* Liens dans les légendes d'images : hériter de la taille du parent */
.news-text .img-cadre a,
.news-text .img-cadre p a,
.news-text .img-bloc a,
.news-text .img-bloc p a {
  font-size: inherit !important;
  line-height: inherit !important;
}
.news-text .credit p {
  text-align: center !important;
}

.news-text p.citation {
  padding-left: 40px !important;
  padding-right: 40px !important;
  text-indent: 0 !important;
}
.line-recherche-archives hr {
  border: none !important;
  border-top: 2px solid var(--c-deer) !important;
  opacity: 1 !important;
}

/* Cadres image avec légende dans .news-text */

/* Base commune aux deux variantes */
/* width: fit-content : le cadre épouse la taille naturelle de l'image */
.news-text .img-cadre {
  display: block !important;
  max-width: 48% !important;
  padding: 20px !important;
  box-sizing: border-box !important;
  border-radius: 20px !important;
  overflow: hidden;
}
.news-text .img-cadre img {
  display: block !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  border-radius: 10px !important;
  margin: 0 0 12px 0 !important;
}
/* La légende hérite de la largeur du cadre (= largeur image) */
.news-text .img-cadre p {
  width: 0 !important;
  min-width: 100% !important;
  box-sizing: border-box !important;
  font-size: 14px !important;
  margin: 0 !important;
  word-wrap: break-word !important;
  white-space: normal !important;
}
/* Flottant gauche â€” couleur #cbbaa7 */
.news-text .img-cadre--gauche {
  float: left !important;
  margin: 0px 20px 20px 0px !important;
  background-color: #cbbaa7 !important;
}

/* Flottant droite â€” couleur #b8ada7 */
.news-text .img-cadre--droite {
  float: right !important;
  margin: 0px 0px 20px 20px !important;
  background-color: #b8ada7 !important;
  clear: right !important;
}

.news-text .credit {
  margin-bottom: 40px !important;
  text-align: center !important;
}
.news-text .credit p em,
.news-text .credit p em a {
  font-size: 14px !important;
}

/* Rangée d'images en ligne */
.news-text .img-row {
  display: flex !important;
  gap: 20px;
  justify-content: center;
  align-items: flex-start;
  clear: both;
  margin: 1.5rem 0;
}
.news-text .img-row .img-cadre {
  float: none !important;
  margin: 0 !important;
  max-width: calc(50% - 10px) !important;
  flex: 1 1 0;
}
.news-text .img-row .img-cadre img {
  width: 100% !important;
}

/* Image centrée pleine largeur — même look que les img-cadre, mais sans float */
.news-text .img-bloc {
  display: block !important;
  width: fit-content !important;
  max-width: 70% !important;
  margin: 1.5rem auto !important;
  padding: 20px !important;
  box-sizing: border-box !important;
  border-radius: 20px !important;
  overflow: hidden;
  clear: both;
  text-align: center;
}
.news-text .img-bloc img {
  display: block !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  border-radius: 10px !important;
  margin: 0 auto 12px auto !important;
}
.news-text .img-bloc p {
  width: 100% !important;
  box-sizing: border-box !important;
  font-size: 14px !important;
  font-style: italic !important;
  margin: 0 !important;
  color: #3a3030 !important;
}
/* Alternance de couleur, mêmes teintes que gauche/droite */
.news-text .img-bloc--beige {
  background-color: #cbbaa7 !important;
}
.news-text .img-bloc--gris {
  background-color: #b8ada7 !important;
}
/* Duo d'images groupées à l'intérieur d'un même img-bloc */
.news-text .img-bloc .img-duo {
  display: flex !important;
  gap: 20px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.news-text .img-bloc .img-duo img {
  margin: 0 !important;
  max-width: 45% !important;
  width: auto !important;
  height: auto !important;
}

/* Responsive < 768px : flottants et rangées redeviennent blocs pleine largeur */
@media (max-width: 768px) {
  .news-text .img-cadre--gauche,
  .news-text .img-cadre--droite,
.news-text .img-bloc,
   .news-text .img-bloc .img-duo img {
    float: none !important;
    max-width: 100% !important;
    width: 100% !important;
    margin: 1rem 0 !important;
  }
  .news-text .img-row {
    flex-direction: column !important;
    align-items: center;
  }
  .news-text .img-row .img-cadre {
    max-width: 100% !important;
    width: 100% !important;
  }
}

/* -----------------------------------------------------------
   Fiche répertoire membres
----------------------------------------------------------- */
.repertory-activities .zone-directory .directory-member-detail-wrapper {
    padding-top: 60px;
    padding-left: 15px;
    padding-right: 15px;
    margin: 0 20% 0 20%;
    align-content: center;
}

.repertory-activities .zone-directory .directory-member-detail-wrapper .p {
    margin: none;
}
.image-box { 
    float: right; 
    width: 320px; /* ajustez la largeur souhaitée */ 
    margin-left: 40px; 
    box-sizing: border-box; }

.image-box img { 
    width: 100%; 
    height: auto; 
    display: block; 
    float: none !important; 
    margin: 0 !important; }

.rep-org-contact {
 float: right; 
    clear: right; 
    width: 320px; /* même largeur que .image-box pour l'alignement */ 
    box-sizing: border-box; 
    text-align: left; 
    padding: 10px 15px; 
border-radius: 60px; 
    border: 2px solid #cbaa79; 
    background: #dcc6a6 !important; 
     box-shadow: 0 6px 18px rgba(0,0,0,0.08);
    margin: 20px 0 20px 40px;
}

.rep-org-contact.theme-tan p {
  display: flex;
  align-items: flex-start;
  gap: 10px;
    word-break: break-word; /* clé pour les longs liens */
  overflow-wrap: break-word;
    min-width: 0;
}

.rep-org-contact.theme-tan p a {
  min-width: 0; /* permet au lien de rétrécir dans le flex */
  overflow-wrap: break-word;
  word-break: break-all;
}

.rep-org-contact.theme-tan p .material-symbols-rounded {
  margin-top: 3px !important;
  flex-shrink: 0 !important;
  width: 20px !important;
  text-align: center !important;
  color: var(--c-texte) !important;
  font-size: 20px !important;
}

/* Aligner aussi le FA facebook */
.rep-org-contact.theme-tan p i.fa-solid,
.rep-org-contact.theme-tan p i.fa-brands {
  margin-top: 3px;
 margin-right: 5px;
  flex-shrink: 0;
  width: 16px;
  text-align: center;
  color: var(--c-texte);
}

/*  IcÃ´ne Facebook via pseudo-élément  */
.rep-org-contact.theme-tan p[data-type="facebook"] {
  display: flex;
  align-items: flex-start;
}

.rep-org-contact.theme-tan p[data-type="facebook"]::before {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-top: 3px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='%23272020'%3E%3Cpath d='M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z'/%3E%3C/svg%3E") !important;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.rep-org-contact.theme-tan p[data-type="facebook"][style*="display: none"]::before {
  display: none;
}

.rep-org-contact-h3 {
    font-family: 'Poppins', sans-serif;
  font-size: 20px;
  font-weight: 500;
  text-transform: uppercase ;
    color: var(--c-shiraz) !important;
   letter-spacing: 0.3px;
    padding-top: 4px;
}

/*  TABLETTE (max 1024px)  */
@media (max-width: 1024px) {
  .repertory-activities .zone-directory .directory-member-detail-wrapper {
    margin: 0 10% 0 10%;
    padding-top: 40px;
  }
  .image-box,
  .rep-org-contact {
    width: 280px;
  }
}

/*  MOBILE ET TABLETTE PORTRAIT (max 720px)  */
@media (max-width: 720px) {
  .repertory-activities .zone-directory .directory-member-detail-wrapper {
    display: flex;
    flex-direction: column;
    margin: 0 4% 0 4%;
    padding-top: 20px;
    padding-left: 10px;
    padding-right: 10px;
  }

  h1 {
    font-size: 36px;
  }

   /* Ordre par défaut pour tout le contenu après contact */
  .directory-member-detail-wrapper > * {
    order: 6;
  }

  /* Bouton retour */
  .directory-member-detail-wrapper > p:first-child {
    order: 1;
  }

  /* Nom de l'organisme */
  .directory-member-detail-wrapper > h1 {
    order: 2;
    margin-bottom: 4px;
  }

  /* Région */
  .directory-member-detail-wrapper > h3 {
    order: 3;
    margin-bottom: 16px;
  }

/* Logo */
  .image-box {
    order: 4;
    float: none;
    clear: both;
    width: 80%;
    height: 80%;
    margin: 0 auto 20px auto; /* espace réduit sous le logo */
  }

  /* Spacer &nbsp; â€” inutile sur mobile */
  .directory-member-detail-wrapper > p:nth-child(3) {
    display: none;
  }

  /* Carte contact */
  .rep-org-contact {
    order: 5;
    float: none;
    clear: both;
    width: 100%;
    max-width: 100%;
    margin: 0 0 20px 0;
    border-radius: 30px;
  }
}

/*  PETIT MOBILE (max 420px)  */
@media (max-width: 420px) {
  .repertory-activities .zone-directory .directory-member-detail-wrapper {
    margin: 0;
    padding-left: 8px;
    padding-right: 8px;
  }

  .image-box {
    max-width: 60%;
    max-height: 60%;
  }

  .rep-org-contact {
    border-radius: 20px;
    padding: 10px 12px;
  }
}
@media (prefers-reduced-motion: reduce) { .rep-org-contact { transition: none; } }

/* -----------------------------------------------------------
   Recherche Catégorie et mot clé
----------------------------------------------------------- */
/* Full-bleed propre â€” une seule règle, pas de doublon */
#newsFilterForm {
  background-color: #95847b !important;
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
  padding-bottom: 15px !important;
  padding-left: calc(50vw - 50%) !important;
  padding-right: calc(50vw - 50%) !important;
  border-radius: 0 0 60px 60px !important;
  margin-bottom: 30px !important;
  box-sizing: border-box !important;
}

/* Labels */
#newsFilterForm .control-label {
  color: #f0e9e3 !important;
  font-family: "Poppins", sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
}

/* Champs */
#newsFilterForm .search_input input,
#newsFilterForm .search_input .form-control,
#newsFilterForm .chosen-container,
#newsFilterForm .multiselect.cms {
  background-color: #f0e9e3 !important;
  border: 2px solid #cbaa79 !important;
}

/* ========================================================
   Contact - Encart
====================================================== */
/*  Zone 2503184 â€“ thème Deer  */
.encart-deer {
padding-bottom: 20px !important;
padding-top: 20px !important; }

.encart-deer #Zp3YWJ21gYSqlI3BYKz01HkW {
  --text-color:       var(--c-silk);
  --btn-text-color:   #ffffff;
  --background-color: var(--c-deer);

  background-color: var(--c-deer) !important;
  color:            var(--c-silk);
  padding-bottom: 15px !important;
  padding-top: 15px !important;
  border-radius: 50px;
}
.encart-deer #Zp3YWJ21gYSqlI3BYKz01HkW .content { 
  padding:15px;
}

.encart-deer #Zp3YWJ21gYSqlI3BYKz01HkW h1 {
  color: #272020 !important;
}

.encart-deer #Zp3YWJ21gYSqlI3BYKz01HkW h2,
.encart-deer #Zp3YWJ21gYSqlI3BYKz01HkW h3,
.encart-deer #Zp3YWJ21gYSqlI3BYKz01HkW h4,
.encart-deer #Zp3YWJ21gYSqlI3BYKz01HkW p {
  color: var(--c-silk) !important;
}

.encart-deer #Zp3YWJ21gYSqlI3BYKz01HkW h5,
.encart-deer #Zp3YWJ21gYSqlI3BYKz01HkW h6 {
  color: var(--c-shiraz) !important;
}

/* Listes Ã  l'intérieur de la zone */
.encart-deer #Zp3YWJ21gYSqlI3BYKz01HkW ul,
.encart-deer #Zp3YWJ21gYSqlI3BYKz01HkW li {
  color: var(--c-silk) !important;
  margin-bottom: 0 !important;
}

/* ========================================================
   404
====================================================== */
.page-404 {
--c-shiraz:  #872437;
  --c-tan:        #cbaa79;
  --c-tan-light:  #dcc6a6;
  --c-foret:     #272c27;
  --c-silk:     #f0e9e3;
  --c-tan-ivory:      #eee3d2;
  --c-texte:     #272020;

  position: relative;
  overflow: hidden;
  padding: 130px 0 70px !important;
  min-height: 85vh;
  font-family: 'Raleway', sans-serif;
  background: radial-gradient(ellipse 65% 100% at 50% 50%,
    #ffffff     0%,
    var(--c-silk) 55%,
    var(--c-tan-ivory)  100%
  );
}
/* Image décorative collée aux bords */
.page-404::before {
  content: "";
  position: absolute;
    width: 100% ;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
     width: 100vw;
  height: 100vh; 

  background-image: url("https://cdn.ca.yapla.com/company/CPYzTMIWcEgoOw4JBCqrGZfhP/asset/files/SNG/fond%20404%20sapins.png");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;

  pointer-events: none;
  z-index: 1;
}

/*   PLUMES  */
.feather {
  position: absolute;
  top: -60px;
  opacity: 0;
  z-index: 4;
  animation: featherFall linear infinite;
}

@keyframes featherFall {
  0%   { transform: translateY(0)     rotate(-20deg) translateX(0px);   opacity: 0;   }
  7%   {                                                                  opacity: 0.9; }
  25%  { transform: translateY(25vh)  rotate( 14deg) translateX(20px);  opacity: 0.9; }
  50%  { transform: translateY(50vh)  rotate(-16deg) translateX(-18px); opacity: 0.8; }
  75%  { transform: translateY(75vh)  rotate( 10deg) translateX(16px);  opacity: 0.55;}
  93%  {                                                                  opacity: 0.2; }
  100% { transform: translateY(115vh) rotate( -8deg) translateX(-10px); opacity: 0;   }
}

.f1 { left:  8%; font-size: 20px; color: var(--c-tan);       animation-duration:  9s; animation-delay:  -1s; }
.f2 { left: 22%; font-size: 15px; color: var(--c-shiraz); animation-duration: 12s; animation-delay:  -6s; }
.f3 { left: 38%; font-size: 24px; color: var(--c-tan-light); animation-duration:  8s; animation-delay:  -3s; }
.f4 { left: 53%; font-size: 17px; color: var(--c-tan);       animation-duration: 14s; animation-delay: -10s; }
.f5 { left: 67%; font-size: 21px; color: var(--c-shiraz); animation-duration: 10s; animation-delay:  -5s; }
.f6 { left: 80%; font-size: 14px; color: var(--c-tan-light); animation-duration: 11s; animation-delay:  -8s; }
.f7 { left: 30%; font-size: 18px; color: var(--c-tan);       animation-duration: 16s; animation-delay: -13s; }
.f8 { left: 72%; font-size: 13px; color: var(--c-shiraz); animation-duration: 13s; animation-delay:  -2s; }

/*    CONTENU 404   */
.content-404 {
  position: relative;
  z-index: 10;
  text-align: center;
}

.code-404 {
  font-size: 200px;
    color: var(--c-foret);
  letter-spacing: 15px;
  line-height: 1;
  text-shadow:
    0 2px 0 rgba(240,233,227,0.7),
    0 8px 24px rgba(39,44,39,0.18);
    margin: 4px;
}

.line-404 {
  width: 300px;
  border: none;
  border-top: 4px solid var(--c-tan);
    margin: 0 auto 40px;
  position: relative;
  opacity: 0.85;
}

.title-404 {
  font-size: 38px;
  font-weight: 500;
    letter-spacing: 10px;
  text-transform: uppercase;
  line-height: 1;
  color: var(--c-foret);
}

.subtitle-404 {
    font-size: 18px;
     font-weight: 500;
    text-transform: uppercase;
  letter-spacing: 2px;
  color: #95847b;
  margin-top: 10px;
  margin-bottom: 35px;
}

/* ====================================================
   RESPONSIVE GLOBAL
================================================== */
/* ------ 1280px ------ */
@media (max-width: 1280px) {
  .repertory-activities .js-directory-search-box .search-form,
  .repertory-activities .search-object-form .search-form {
    margin-left: 80px !important;
    margin-right: 80px !important;
  }

  .repertory-activities .js-directory-search-box,
  .repertory-activities .search-object-form {
    border-radius: 0 0 80px 80px !important;
  }

  .repertory-activities .mod_directory__result_bloc {
    width: calc(100% - 30px) !important;
  }
}

@media (max-width: 900px) {
  .repertory-activities .mod_directory__result_bloc {
    width: calc(100% - 20px) !important;
  }
  #module_directory_organization_result tbody {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  /* Carte : marges latérales identiques */
  #map-extension-directory {
    margin: 10px 10px 10px 10px !important;
    width: calc(100% - 20px) !important;
  }
}

/* ------ 768px ------ */
@media (max-width: 768px) {
 

  .line-header .btn,
  .line-header a.btn {
    margin: 8px 0 !important;
    width: auto !important;
  }

  .line-header {
    gap: 10px !important;
  }
  
  .banner-content h3 {
    opacity: 1 !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
  }

  .banner-content .btn {
    opacity: 1 !important;
    transform: none !important;
    padding: 12px 24px !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    width: auto !important;
    margin-top: 20px !important;
    border-radius: 40px !important;
  }

  .repertory-activities .js-directory-search-box .search-form,
  .repertory-activities .search-object-form .search-form {
    margin-left: 15px !important;
    margin-right: 15px !important;
  }

  .repertory-activities .js-directory-search-box,
  .repertory-activities .search-object-form {
    border-radius: 0 0 40px 40px !important;
  }

 #section-footer-search {
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 16px 15px !important;
  }

  #search_simple,
  #search_advanced,
  #search_member {
    width: 100% !important;
    max-width: 360px !important;
  }
    #module_directory_member [class*="col-"],
  .repertory-activities .search-object-form [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }
  #module_directory_global_search {
    overflow: hidden !important;
  }
.col-md-12 {
    width: 100%;
}
.table-responsive { border: none;}

}

@media (max-width: 640px) {

  .repertory-activities .js-directory-search-box .search-form, 
  .repertory-activities .search-object-form .search-form {
        width: 90% !important;
        margin-left: 15px !important;
        margin-right: 0 !important;
    }

  .repertory-activities .mod_directory__result_bloc {
    width: calc(100% - 12px) !important;
    border-radius: 14px !important;
  }

  #module_directory_organization_result {
    border: none !important;
    box-shadow: none !important;
  }

  #module_directory_organization_result tbody {
    grid-template-columns: 1fr !important;
  }

  #module_directory_organization_result .table__field-image {
    display: block !important;
    border-radius: 0 !important;
  }

    #module_directory_organization_result tbody tr {
    /* display: grid !important; */
    /* grid-template-columns: 1fr !important; */
    display:flex !important;
    gap:15px !important;
    flex-direction:column;
    position: relative !important; /* nécessaire pour le chevron absolu */
    overflow: visible !important;  /* laisse le chevron déborder */
    padding-bottom: 50px !important; /* espace pour le bouton */

  }

  #module_directory_organization_result td {
    white-space: normal !important;
    word-break: break-word !important;
    overflow: visible !important;
    text-overflow: unset !important;
    max-width: 100% !important;
  }

.org-chevron-btn {
    position: absolute !important;
    bottom: 10px !important;
    right: 10px !important;
    width: auto !important;        /* taille au contenu */
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 8px 16px !important;
    border-radius: 20px !important;
    background-color: #872437 !important;
    color: #f0e9e3 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    font-family: 'Poppins', sans-serif !important;
    min-height: 44px !important;   /* zone tactile suffisante */
    letter-spacing: 0.5px !important;
  }

    /* Texte + chevron plus gros */
  .org-chevron-btn::before {
    content: 'Voir la fiche' !important;
     font-size: 14px !important;
  }

  /* Agrandir le â€º existant */
  .org-chevron-btn {
    font-size: 20px !important;
  }


  #map-extension-directory {
    margin: 8px !important;
    width: calc(100% - 16px) !important;
  }

  .repertory-activities .js-directory-search-box .search-form,
  .repertory-activities .search-object-form .search-form {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /*  Tabs empilés  */
    .repertory-activities .search-object-result >ul.nav-tabs,
  #directory-tabs {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    border-radius: 30px !important;
  }

    .repertory-activities .search-object-result >ul.nav-tabs > li.nav-item > a.nav-link ,
  #directory-tabs > li.nav-item > a.nav-link {
    white-space: normal !important;
    text-align: center !important;
  }

   .repertory-activities .search-object-result >ul.nav-tabs::before,
  #directory-tabs::before {
    top: 5px !important;
    left: 5px !important;
    right: 5px !important;
    width: calc(100% - 10px) !important;
    height: calc(50% - 10px) !important;
    transition: top 0.32s cubic-bezier(0.4, 0, 0.2, 1) !important;
  }
    
  .repertory-activities .search-object-result >ul.nav-tabs:has(li:nth-child(2) a.active)::before,
  #directory-tabs:has(li:nth-child(2) a.active)::before {
    top: calc(50% + 5px) !important;
    left: 5px !important;
    width: calc(100% - 10px) !important;
  }
}
/* ------ 500px ------ */
@media (max-width: 500px) {
  .repertory-activities .js-directory-search-box,
  .repertory-activities .search-object-form {
    border-radius: 0 0 20px 20px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  #search_simple,
  #search_advanced,
  #search_member {
    max-width: 100% !important; /* vraiment pleine largeur sur petit mobile */
  }
}

/* ------ 480px ------ */
@media (max-width: 480px) {
  /* Annuler le grid-template-columns du 480px existant puisqu'on cache les images */
  #module_directory_organization_result tbody tr {
    grid-template-columns: 1fr !important;
  }

  #module_directory_organization_result .table__field-image {
    display: block !important;
    border-radius:0 !important;
  }
}

@media (max-width: 991px) {

  /* Barre en colonne (empilement hamburger) */
  .navbar-nav {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    margin: 0 !important;
  }

  /* Chaque onglet : bloc pleine largeur, repère pour le caret absolu */
  .navbar-nav > li {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    float: none !important;
    border-radius: 0 !important;
    border-bottom: 1px solid rgba(0,0,0,0.15) !important;
  }

  /* Lien texte : pleine largeur, à gauche, avec de la place à droite pour le caret */
  .navbar-nav > li > a:not(.dropdown-toggle) {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    padding: 16px 64px 16px 22px !important;
    float: none !important;
  }
  .navbar-nav > li > a:not(.dropdown-toggle) + a:not(.dropdown-toggle) {
    display: none !important;
  }

  /* Caret : TOUJOURS à droite, pleine hauteur, centré verticalement */
  .navbar-nav > li > a.dropdown-toggle {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 56px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 2 !important;
  }
  .navbar-nav > li > a.dropdown-toggle .caret {
    margin: 0 !important;
    position: static !important;
    top: 0 !important;
  }

  /* Sous-menu : masqué par défaut, révélé à l'ouverture, en dessous */
  .navbar-nav > li > .dropdown-menu {
    position: static !important;
    display: none !important;
    width: 100% !important;
    background: #872438 !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
  }
  .navbar-nav > li.open > .dropdown-menu,
  .dropdown-toggle[aria-expanded="true"] + .dropdown-menu {
    display: block !important;
  }

  .dropdown-menu > li > a {
    color: #ffffff !important;
    white-space: normal !important;
    word-break: break-word !important;
  }
  .dropdown-menu > li > a:hover {
    background: #cbaa79 !important;
    color: #000000 !important;
  }

  /* Onglet ouvert / survolé : bordeaux + texte blanc */
  .navbar-nav > li.open,
  .navbar-nav > li:hover {
    background: #872438 !important;
  }
  .navbar-nav > li.open > a,
  .navbar-nav > li.open > .dropdown-toggle,
  .navbar-nav > li:hover > a,
  .navbar-nav > li:hover > .dropdown-toggle {
    color: #ffffff !important;
  }

  /* Caret blanc + retourné quand ouvert */
  .navbar-nav > li:hover > .dropdown-toggle .caret,
  .navbar-nav > li.open > .dropdown-toggle .caret,
  .dropdown-toggle[aria-expanded="true"] .caret {
    color: #ffffff !important;
    border-top-color: #ffffff !important;
  }
  .navbar-nav > li.open > .dropdown-toggle .caret,
  .dropdown-toggle[aria-expanded="true"] .caret {
    transform: rotate(180deg) !important;
  }
}

/* ===========================================================
   ACTIVITÉS SNG â€” Vue 1 : Carte de résultat de recherche
   Classe racine : .search-result-item
   Template : Résultats - Répertoire des activités.html
=========================================================== */

.search-object-result {
  display: block; /* conteneur neutre â€” le grid est sur .tab-pane */
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Le grid réel : les cartes sont enfants directs de .tab-pane dans Yapla */
.search-object-result .tab-content {
  width: 100% !important;
  box-sizing: border-box !important;
}


.search-object-result .tab-pane:not(#search-object-tab-google) {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 15px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  align-items: stretch !important; /* hauteur uniforme sur toute la rangée */
}

/* === Alternance TAN / SABLE â€” structure Yapla === */
.search-object-result .tab-pane > div[data-item-id]:nth-of-type(odd) .search-result-item {
  background-color: #cbaa79 !important;
}

.search-object-result .tab-pane > div[data-item-id]:nth-of-type(even) .search-result-item {
  background-color: #dcc6a6 !important;
}

/* Hover (optionnel) */
.search-object-result .tab-pane > div[data-item-id]:nth-of-type(even) .search-result-item:hover {
  background-color: #cdb899 !important;
}

/*  Carte : structure flex verticale, fond tan/sable  */
.search-result-item {
  display: flex;
  flex-direction: column;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  min-height: 280px;
  height: 100%;
}

.search-result-item:hover {
  transform: translateY(-3px);
  box-shadow: 4px 6px 16px rgba(0,0,0,0.18);
  background-color: #c09a6a;
}

/*  Ligne 1 : badges (catégorie gauche / lieu droite)  */
.search-result-item .card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 8px 10px 4px 10px;
  gap: 8px;
  flex-shrink: 0;
}

/* Badge catégorie â€” italic, fond semi-transparent sur tan */
.search-result-item .card-header h5 {
  padding: 2px 10px !important;
  margin: 0 !important;
  line-height: 1.3 !important;
  white-space: nowrap;
}

/* Badge lieu / région : région d'abord, icÃ´ne(s) Ã  droite, aligné en haut */
.search-result-item .event-type {
  display: flex;
  align-items: flex-start;
  gap: 4px;
  flex-shrink: 0;
}

/* Région administrative */
.search-result-item .event-type h6 {
  font-size: 15px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  color: #872437 !important;
  letter-spacing: 0.3px !important;
  margin: 0 !important;
  padding-top: 8px;
}

/* Conteneur icÃ´ne(s) : toujours en ligne horizontale */
.search-result-item .act-type-icon {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 3px !important;
  flex-shrink: 0 !important;
  padding-top: 5px;
}

/* Chaque icÃ´ne : rond bordeaux, symbole doré â€” centrage précis */
.search-result-item .act-type-icon .material-symbols-rounded {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  background-color: var(--c-shiraz) !important;
  color: #cbaa79 !important;
  border-radius: 50% !important;
  font-size: 13px !important;
  line-height: 1 !important;  /* ne pas laisser line-height interférer avec le flexbox */
  font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 20 !important;
  flex-shrink: 0 !important;
  overflow: hidden !important;
  font-feature-settings: "liga" !important;
  -webkit-font-smoothing: antialiased !important;
}

/*  Corps : image (gauche â‰ˆ 42%) + infos (droite)  */
.search-result-item .card-body {
  display: grid;
  grid-template-columns: 42% 1fr;
  flex: 1;
  min-height: 0;
}

/* Image : background-image, pleine hauteur, radius diagonal comme les logos organismes */
.search-result-item .item-image {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  border-radius: 0px 50px; /* = 0 50px 0 50px : top-right + bottom-left arrondis */
  min-height: 200px;
  align-self: stretch;
}

/* Infos : colonne droite, centré */
.search-result-item .item-info {
  padding: 8px 12px 12px 12px;
  display: flex;
  flex-direction: column;
  min-width: 0;
  text-align: center;
}

/* Titre : hérite du h3 global (Poppins 26px 500) â€” on ajoute centrage + marge */
.search-result-item .item-info h3 {
  text-align: center !important;
  margin: 4px 0 6px 0 !important;
  line-height: 1.2 !important;
}

.search-result-item .event-infos {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 3px;
}

/* Conteneurs de données lus par JS â€” masqués visuellement */
.search-result-item .event-dates-data,
.search-result-item .event-hours-data {
  display: none !important;
}

/* Date + heure : colonne centrée */
.search-result-item .event-time {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding-top: 5px;
  padding-bottom: 10px;
  border-bottom: 1px solid #872437 !important;
}

/* Ligne date / heure : icÃ´ne + texte cÃ´te Ã  cÃ´te
   Même pattern que le site congrès : display flex, align-items flex-start, gap fixe */
.search-result-item .event-date-display,
.search-result-item .event-hour-display {
  display: block !important;       /* flux inline â€” text-align center suffit */
  text-align: center !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--c-shiraz) !important;
  line-height: 1.5 !important;
}

/* IcÃ´ne calendrier / horloge : inline-block pour vertical-align */
.search-result-item .event-date-display .material-symbols-rounded,
.search-result-item .event-hour-display .material-symbols-rounded {
  display: inline-block !important;
  vertical-align: text-top !important;
  font-size: 16px !important;
  color: var(--c-shiraz) !important;
  margin-right: 3px !important;
  line-height: 1.5 !important;
}

/* Texte date/heure généré par JS */
.search-result-item .ev-date-output,
.search-result-item .ev-hour-output {
  display: inline !important;
  color: var(--c-shiraz) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
}

/* Description courte : centrée, 3 lignes max */
.search-result-item .event-infos > p {
  margin: 10px 0 0 0 !important;
  text-align: center !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Bouton > : petit cercle bordeaux, poussé au bas, centré */
.search-result-item .event-action {
  margin-top: auto;
  padding-top: 10px;
  display: flex;
  justify-content: center;
}

.search-result-item .event-action .btn {
  width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
}

.search-result-item .event-action .btn .material-symbols-rounded {
  font-size: 20px !important;
  font-variation-settings: 'FILL' 0, 'wght' 600, 'GRAD' 0, 'opsz' 20 !important;
  color: inherit !important;
}

/* Champs vides détectés par JS â†’ cachés par CSS */
[data-empty] { display: none !important; }
/* Spécificité renforcée pour battre .activity-block p { display:flex !important } (0,1,1) */
.activity-block [data-empty],
.search-result-details [data-empty] { display: none !important; }

/* ===========================================================
   ACTIVITÉS SNG â€” Vue 2 : Fiche détaillée
   Classe racine : .search-result-details
   Container parent : .search-object-detail-bloc
   Template : Fiche activité SNG.html
=========================================================== */

/*  Container parent  */
.search-object-detail-bloc {
  max-width: 1100px;
  margin: 0 auto;
  padding: 20px 20px 60px 20px;
  box-sizing: border-box;
  position: relative;
}

/*  Bouton retour : petit cercle bordeaux style social-link  */
.search-object-detail-bloc > p:first-child {
  margin-bottom: 14px !important;
}

.search-object-detail-bloc > p:first-child .btn {
  width: 44px !important;
  height: 44px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  min-width: 0 !important;
  font-size: 0 !important;      /* masque le texte éventuel */
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 2px 2px 6px rgba(0,0,0,0.22) !important;
}

.search-object-detail-bloc > p:first-child .btn .material-symbols-rounded {
  font-size: 22px !important;
  color: inherit !important;
  font-variation-settings: 'FILL' 0, 'wght' 600, 'GRAD' 0, 'opsz' 24 !important;
}

/*  Image bannière  */
.search-result-details .item-image a img,
.search-result-details .item-image img {
  width: 100% !important;
  height: 260px !important;
  object-fit: cover !important;
  border-radius: 60px 0px !important;
  border: 3px solid #cbaa79 !important;
  display: block !important;
  margin-bottom: 6px !important;
  box-shadow: 2px 4px 16px rgba(0,0,0,0.12) !important;
}

/*  Crédit image â€” 13px italique, aligné Ã  droite  */
.search-result-details .item-image > p:nth-child(2) span,
.search-result-details .item-image > p:nth-child(3) span {
  font-size: 13px !important;
  font-style: italic !important;
  color: var(--c-deer) !important;
}

/*  Nom organisateur + partenaires â€” style h3 sobre  */
.search-result-details .item-image > h1 {
  font-family: 'Poppins', sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  font-style: normal !important;
  text-transform: none !important;
  color: var(--c-texte) !important;
  letter-spacing: 0 !important;
  margin: 10px 0 20px 0 !important;
  line-height: 1.3 !important;
}

.search-result-details .item-image > h1 span {
  font-size: inherit !important;
  color: inherit !important;
  font-weight: inherit !important;
}

/*  Layout 2 colonnes  */
.activity-layout {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 24px;
  align-items: start;
}

/*  Colonne gauche  */
.activity-left {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/*  Blocs : base commune  */
.activity-block {
  border-radius: 18px;
  padding: 16px 18px;
  box-shadow: 1px 2px 8px rgba(0,0,0,0.07);
}
.activity-block h5 {
  margin: 0 0 10px 0 !important;
}
.activity-block p {
  margin: 4px 0 !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  word-break: break-word;
  overflow-wrap: break-word;
  font-family: 'Poppins', sans-serif !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
}

.activity-block a {
  font-family: 'Poppins', sans-serif !important;
  font-size: 16px !important;
}


/* La description est du texte libre â€” annule le flex du bloc générique */
.activity-description p {
  display: block !important;
  margin: 0 0 8px 0 !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}

.activity-block p .material-symbols-rounded {
  font-size: 17px !important;
  color: var(--c-texte) !important;
  flex-shrink: 0 !important;
  margin-top: 2px !important;
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 20 !important;
}

.activity-block p i.fa-brands,
.activity-block p i.fa-solid {
  font-size: 16px !important;
  color: var(--c-texte) !important;
  flex-shrink: 0;
  margin-top: 3px;
  width: 17px;
  text-align: center;
}

/*  Fonds par bloc  */
.activity-block--details  { background-color: #cbaa79; }

/* Données dates/heures â€” masquées, lues par JS (même pattern que Vue 1) */
.activity-block--details .event-dates-data,
.activity-block--details .event-hours-data {
  display: none !important;
}

/* Dans la fiche, event-date-display et event-hour-display héritent du style
   .activity-block p (flex, gap 8px, align-items flex-start) â€” on annule
   les overrides spécifiques aux cartes Vue 1 */
.activity-block--details .event-date-display,
.activity-block--details .event-hour-display {
  display: flex !important;
  text-align: left !important;
  width: auto !important;
  margin: 4px 0 !important;
}
.activity-block--contact  { background-color: #dcc6a6; }
.activity-block--location { background-color: #cabaa7; }
.activity-block--partners { background-color: #b8ada7; }

/* Nom organisme dans le bloc Contact */
.activity-block--contact .org-name {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  display: block !important;
  color: var(--c-texte) !important;
  margin: 0 0 8px 0 !important;
  line-height: 1.4 !important;
}

/*  Bloc Lieu : titre h5 + icÃ´ne(s) sur la même ligne  */
.activity-block--location .location-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}

.activity-block--location .location-header h5 {
  margin: 0 !important;
}

.activity-block--location .location-icons {
  display: flex;
  gap: 2px;
}

/* IcÃ´nes lieu : même style rond bordeaux/doré que Vue 1 */
.activity-block--location .location-icons .act-type-icon {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 3px !important;
}

.activity-block--location .location-icons .act-type-icon .material-symbols-rounded {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 26px !important;
  height: 26px !important;
  background-color: var(--c-shiraz) !important;
  color: #cbaa79 !important;
  border-radius: 50% !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 20 !important;
  overflow: hidden !important;
}

/* Région administrative : gras italique */
.activity-block--location p strong em,
.activity-block--location p em strong {
  font-style: italic !important;
  font-weight: 500 !important;
}

.activity-block--location p em {
  font-style: italic !important;
  font-weight: 500 !important;
}

/*  Bloc Partenaires  */
.activity-block--partners .partners-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.activity-block--partners .partner-item {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

.activity-block--partners .partner-name {
  font-family: 'Poppins', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--c-texte) !important;
  line-height: 1.4 !important;
  display: block !important;
  margin: 0 0 5px 0 !important;
}

/* Lien site web partenaire : globe + url (https masqué par JS) */
.activity-block--partners .partner-site {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  font-size: 13px !important;
  color: var(--c-texte) !important;
  text-decoration: none !important;
  word-break: break-all !important;
  margin-bottom: 10px !important;
}

.activity-block--partners .partner-site .material-symbols-rounded {
  font-size: 15px !important;
  color: var(--c-texte) !important;
  flex-shrink: 0 !important;
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 20 !important;
}

/* Spécificité 0,3,0 â€” bat les règles display flex/inline-flex des blocs partenaires */
.activity-block--partners .partner-item[data-empty],
.activity-block--partners .partner-site[data-empty] { display: none !important; }

/*  Colonne droite  */
.activity-right {
  min-width: 0;
}

/* Label IntervenantÂ·eÂ·s (h6) : bordeaux â€” sélecteur sur classe pour couvrir h6 et p */
.activity-right .speakers-label {
  font-family: 'Poppins', sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--c-shiraz) !important;
  margin: 0 0 4px 0 !important;
  padding: 0 !important;
  display: block !important;
  line-height: 1.3 !important;
}

/* Nom intervenant (div pour accepter les ul>li générés par Yapla) */
.activity-right .activity-speakers .speakers-name {
  display: block !important;
  margin: 2px 0 8px 0 !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--c-texte) !important;
  line-height: 1.4 !important;
}

.activity-right .activity-speakers .speakers-name li,
.activity-right .activity-speakers .speakers-name ul {
  font-weight: 700 !important;
  font-size: 16px !important;
  color: var(--c-texte) !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Bio texte : même rendu qu'un paragraphe normal */
.activity-right .activity-bio .bio-text,
.activity-right .activity-bio .bio-text p,
.activity-right .activity-bio .bio-text li {
  font-family: 'Poppins', sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: var(--c-texte) !important;
  line-height: 1.6 !important;
  margin: 0 0 8px 0 !important;
}

.activity-right .activity-bio .bio-text[data-empty] { display: none !important; }

/* Masquage si vide */
.activity-right .activity-speakers .speakers-name[data-empty] { display: none !important; }

/* Photo intervenant : ronde, bordure dorée, flottante droite â€” avant activity-speakers dans le HTML */
.activity-right .activity-bio img {
  width: 180px !important;
  height: 180px !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  border: 3px solid #cbaa79 !important;
  float: right !important;
  margin: 0 0 14px 18px !important;
  box-shadow: 1px 2px 8px rgba(0,0,0,0.12) !important;
}

/* Séparateur doré */
.activity-right hr {
  border: none !important;
  border-top: 2px solid #cbaa79 !important;
  margin: 22px 0 !important;
  opacity: 0.8;
}

/* Label Biographies (h6) : bordeaux */
.activity-right .bio-label {
  font-family: 'Poppins', sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--c-shiraz) !important;
  margin: 0 0 10px 0 !important;
  display: inline !important;
}

/* Pièce jointe : icÃ´ne + lien */
.activity-right .files a,
.activity-right .activity-attachment {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  color: var(--c-shiraz) !important;
}

.activity-right .files a .material-symbols-rounded,
.activity-right .activity-attachment .material-symbols-rounded {
  font-size: 20px !important;
  color: var(--c-shiraz) !important;
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24 !important;
}

/* Neutralise les couleurs inline de l'ancien template */
.search-result-details p span[style*="color:#1a3663"],
.search-result-details p span[style*="color: #1a3663"] {
  color: var(--c-texte) !important;
}

/*  Responsive Vue 1 + Vue 2  */
@media (max-width: 1024px) {
  .activity-layout {
    grid-template-columns: 240px 1fr !important;
    gap: 16px !important;
  }
}

@media (max-width: 900px) {
  /* Grille résultats : 2 colonnes */
  .search-object-result .tab-pane {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .activity-layout {
    grid-template-columns: 1fr !important;
  }

  .activity-right { order: 1; }
  .activity-left  { order: 2; }

  .search-result-details .item-image a img,
  .search-result-details .item-image img {
    height: 200px !important;
    border-radius: 40px 10px 40px 10px !important;
  }

  .activity-right h1 {
    font-size: 30px !important;
  }
}

@media (max-width: 640px) {
  /* Grille résultats : 1 colonne */
  .search-object-result .tab-pane {
    grid-template-columns: 1fr !important;
  }

  .search-result-item .card-body {
    grid-template-columns: 38% 1fr !important;
  }

  .search-result-item .item-image {
    min-height: 160px !important;
  }

  .search-result-item .item-info h3 {
    font-size: 16px !important;
  }

  .search-object-detail-bloc {
    padding: 12px 12px 40px 12px !important;
  }

  .search-result-details .item-image a img,
  .search-result-details .item-image img {
    height: 160px !important;
    border-radius: 30px 8px 30px 8px !important;
  }

  .activity-block {
    border-radius: 14px !important;
    padding: 12px 14px !important;
  }
}

/*  Override image fiche activité â€” uniforme tous breakpoints  */
.search-result-details .item-image a img,
.search-result-details .item-image img {
  height: 400px !important;
  border-radius: 50px 0 50px 0 !important;
  object-fit: cover !important;
}

@media (max-width: 900px) {
  .search-result-details .item-image a img,
  .search-result-details .item-image img {
    height: 400px !important;
    border-radius: 50px 0 50px 0 !important;
    object-fit: cover !important;
  }
}

@media (max-width: 640px) {
  .search-result-details .item-image a img,
  .search-result-details .item-image img {
    height: 400px !important;
    border-radius: 50px 0 50px 0 !important;
    object-fit: cover !important;
  }
}

@media (max-width: 480px) {
  .search-result-item .card-body {
    grid-template-columns: 35% 1fr !important;
  }

  .search-result-item .item-image {
    min-height: 140px !important;
  }

  .activity-right h1 {
    font-size: 24px !important;
  }
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   Forme feuille â€” images site SNG
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/*  Groupe 1 : Feuille simple  */
.mod-article__img,
.news-blog__image,
.zone-image .content img {
  border-radius: var(--border-radius-leaf) !important;
  overflow: hidden !important;
}

/* .item-image = <div> background-image */
.item-image {
  border-radius: var(--border-radius-leaf) !important;
  overflow: hidden !important;
}

/*  Groupe 2 : Feuille + bordure dorée  */
.news-mosaic .news-thumbnail,
.itemImage img,
.e-thumbnail {
  border-radius: var(--border-radius-leaf) !important;
  overflow: hidden !important;
  border: 2px solid var(--c-tan) !important;
}

/*  Exceptions â€” aucun style feuille  */
.line-header img,
.line-footer img,
.table__field-image,
.image-box img,
.img-cadre img,
.img-bloc img {
  border-radius: 0 !important;
  overflow: visible !important;
  border: none !important;
}
/* ── Bouton "Lire la suite" : style btn-primary + chevron Material ── */
.content.js-news-blog-items .news-blog__readmore {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  padding: 0 !important;
  background-color: var(--c-shiraz) !important;
  color: var(--c-silk) !important;
  border-radius: 50% !important;
  text-decoration: none !important;
  transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease !important;
  box-shadow: 3px 3px 6px rgba(0,0,0,0.18) !important;
  margin-top: 12px !important;
}

.content.js-news-blog-items .news-blog__readmore:hover {
  background-color: var(--c-shiraz-h) !important;
  color: var(--c-silk) !important;
  box-shadow: none !important;
  transform: translate(1px, 1px) !important;
}

/* Masquer le texte "Lire la suite" et l'icône FA existante */
.content.js-news-blog-items .news-blog__readmore i,
.content.js-news-blog-items .news-blog__readmore .sr-only {
  display: none !important;
}

/* Injecter le chevron Material Symbols via ::after */
.content.js-news-blog-items .news-blog__readmore::after {
  content: "chevron_right" !important;
  font-family: "Material Symbols Rounded" !important;
  font-size: 26px !important;
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24 !important;
  line-height: 1 !important;
  color: var(--c-silk) !important;
}
/* ==================================
   Carrousel natif Yapla â€” zone-carousel
  ================================== */

/* Supprimer les fonds blancs */
.zone-carousel,
.zone-carousel .carousel,
.zone-carousel .carousel-inner,
.zone-carousel .item {
  background: transparent !important;
}

/* Hauteur â€” cascade sur tous les conteneurs */
.zone-carousel,
.zone-carousel .carousel,
.zone-carousel .carousel-inner {
  min-height: 550px !important;
  height: auto !important;
}
/* item : hauteur fixe â€” permet Ã  height:100% sur l'image de se résoudre en desktop */
.zone-carousel .item {
  min-height: 550px !important;
  height: 550px !important;
}

/* Hauteur des images */
.zone-carousel .item img {
  width: 100% !important;
  height: 100% !important;
  min-height: 540px !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

/*  Titre de la leÃ§on  */
.zone-carousel .caption-title {
  font-family: 'Alkatra', serif !important;
  color: var(--c-texte) !important;
  font-size: 26px !important;
  margin-bottom: 12px !important;
}

/*  Bouton "Lire la suite"  */
.zone-carousel .carousel-link-detail {
  font-family: "Poppins", "Helvetica Neue", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  padding: 15px 25px !important;
  border-radius: 50px !important;
  border: none !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
  box-shadow: 3px 3px 6px rgba(0,0,0,0.18) !important;
  transition: all 0.25s ease !important;
  display: inline-block !important;
  background: var(--c-shiraz) !important;
 color: var(--btn-text-color) !important;
 margin-top: 10px !important;
}
.zone-carousel .carousel-link-detail:hover {
 background-color: var(--color-primary-hover) !important;
  box-shadow: none !important;
  transform: translate(1px, 1px);
}

/*  Arrondi + ombre sur .carousel-inner, overflow visible pour les indicateurs  */
.zone-carousel .carousel {
  overflow: visible !important;
  margin-bottom: 64px !important; /* espace sous le carousel pour les indicateurs */
}
.zone-carousel .carousel-inner {
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: 4px 8px 28px rgba(0,0,0,0.18) !important;
}

/*  Masquer les flèches gauche/droite natives  */
.zone-carousel .carousel-control {
  display: none !important;
}

/*  Indicateurs numérotés â€” même style que la pagination organismes/archives  */
.zone-carousel .carousel-indicators {
  position: absolute !important;
  bottom: -56px !important;
  left: 0 !important;
  right: 0 !important;
  width: auto !important;
  margin: 0 !important;
  padding: 8px 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 8px !important;
  list-style: none !important;
  counter-reset: slide-num !important;
  z-index: 5 !important;
}

.zone-carousel .carousel-indicators li {
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  width: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  text-indent: 0 !important;
  background: var(--c-tan, #C4A460) !important;
  color: var(--c-texte) !important;
  transition: all 0.2s ease !important;
}

/* Supprimer tout contenu généré â€” les chiffres sont insérés par JS */
.zone-carousel .carousel-indicators li::before,
.zone-carousel .carousel-indicators li::after {
  content: none !important;
}

.zone-carousel .carousel-indicators li.active {
  background: var(--c-shiraz, #7A2535) !important;
  color: var(--c-tan-ivory) !important;
  cursor: default !important;
  pointer-events: none !important;
}

.zone-carousel .carousel-indicators li:not(.active):hover {
  background: var(--c-shiraz, #7A2535) !important;
  color: var(--c-silk) !important;
}

/*  Caption  */
.zone-carousel .carousel-caption {
  text-shadow: none !important;
  border-radius: 0 !important;
  padding: 25px 30px !important;
}

.zone-carousel .carousel-caption * {
  text-shadow: none !important;
}

.zone-carousel .item:nth-child(odd) .carousel-caption {
  background: rgba(220, 198, 166, 0.92) !important; /* #dcc6a6 */
}

.zone-carousel .item:nth-child(even) .carousel-caption {
  background: rgba(202, 186, 167, 0.92) !important; /* #cabaa7 */
}

.zone-carousel .carousel:not(.vertical-mode) .carousel-indicators li {
    opacity: 1.0 !important;}

/*  Responsive carrousel  */

/* Tablette (768â€“1024 px) : même hauteur fixe, indicateurs centrés */
@media (min-width: 768px) and (max-width: 1024px) {
  .zone-carousel .caption-title {
    font-size: 22px !important;
  }
  .zone-carousel .carousel-indicators {
    width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    margin-left: 0 !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
  }
  .zone-carousel .carousel-indicators li {
    width: 34px !important;
    height: 34px !important;
    font-size: 14px !important;
  }
.img-responsive, .thumbnail > img, .thumbnail a > img, .carousel-inner > .item > img, .carousel-inner > .item > a > img {
    display: block;
    width: 100% \9;
    max-width: 100%;
    height: auto !important;
}
/* carousel-inner : hauteur auto â€” s'adapte au contenu du slide actif */
.zone-carousel .carousel-inner {
  height: auto !important;
  min-height: 220px !important;
}
/* item : padding-top réserve la zone image, la caption coule en dessous */
/* NB : pas de "position" ici â€” Bootstrap gère position:relative/absolute pour l'animation */
.zone-carousel .carousel-inner .item {
  height: auto !important;
  min-height: 0 !important;
  padding-top: 220px !important;
}
/* image : absolue en haut (220 px) */
.zone-carousel .item img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: 220px !important;
  min-height: auto !important;
  object-fit: cover !important;
  object-position: center !important;
}
/* caption : dans le flux sous l'image, hauteur dictée par le contenu */
.zone-carousel .carousel-inner .item .carousel-caption {
  position: relative !important;
  left: 0 !important;
  right: 0 !important;
  top: auto !important;
  bottom: auto !important;
  width: 100% !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  padding: 20px 25px !important;
}
}

/* Mobile (< 768 px) : même hauteur fixe 480 px, caption resserrée, indicateurs centrés */
@media (max-width: 767px) {

  /* Mobile : image 180 px en haut, caption dans le flux en dessous */
  .zone-carousel,
  .zone-carousel .carousel,
  .zone-carousel .carousel-inner {
    min-height: 180px !important;
    height: auto !important;
  }
  /* NB : pas de "position" sur .item â€” Bootstrap gère position:relative/absolute */
  .zone-carousel .item {
    height: auto !important;
    min-height: 0 !important;
    padding-top: 180px !important;
  }
  .zone-carousel .item img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: 180px !important;
    min-height: auto !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
  }
  /* Caption : dans le flux sous l'image, hauteur dictée par le contenu */
  .zone-carousel .carousel-caption {
    position: relative !important;
    left: 0 !important;
    right: 0 !important;
    top: auto !important;
    bottom: auto !important;
    width: 100% !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    padding: 15px 20px !important;
    border-radius: 0 !important;
  }
  .zone-carousel .caption-title {
    font-size: 20px !important;
  }

  /* Indicateurs : taille réduite + centrage forcé + retour Ã  la ligne */
  .zone-carousel .carousel-indicators {
    width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    margin-left: 0 !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 5px !important;
    bottom: -46px !important;
    padding: 4px 0 !important;
  }
  .zone-carousel .carousel-indicators li {
    width: 30px !important;
    height: 30px !important;
    font-size: 13px !important;
  }

  .zone-carousel .carousel {
    margin-bottom: 54px !important;
  }


}

/*  Tablette + mobile (â‰¤ 991px) : indicateurs dans le flux, centrés  */
@media (max-width: 991px) {

  /* Carousel devient flex colonne â€” indicators sortent du positionnement absolu */
  .zone-carousel .carousel {
    display: flex !important;
    flex-direction: column !important;
    margin-bottom: 0 !important;  /* plus besoin de marge pour les indicators absolus */
  }

  /* carousel-inner : flex child pleine largeur, ordre naturel */
  .zone-carousel .carousel-inner {
    width: 100% !important;
    flex-shrink: 0 !important;
  }

  /* indicators : dans le flux, visuellement avant carousel-inner */
  .zone-carousel .carousel-indicators {
    position: relative !important;
    order: -1 !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    margin: 8px 0 !important;
    transform: none !important;
  }
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   Bloc atelier â€” carte deux colonnes
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/*  Reset local â€” n'affecte que ce bloc  */
.sng-atelier * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/*  Carte principale  */
.sng-atelier-card {
  display: flex;
  flex-direction: row;
  width: 100%;
  min-height: 420px;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 4px 8px 28px rgba(0, 0, 0, 0.18);
}

/*  Colonne image (gauche ~50 %)  */
.sng-atelier-image {
  flex: 0 0 50%;
  overflow: hidden;
  display: flex;
}

.sng-atelier-image img {
  width: 100%;
  flex: 1 1 auto;
  min-height: 380px;
  object-fit: cover;
  object-position: center center;
  display: block;
}

/*  Colonne texte (droite ~50 %)  */
.sng-atelier-content {
  flex: 1;
  background: var(--c-foret);
  padding: 25px 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/*  Titre â€” couleur dorée Forest  */
.sng-atelier-content h3 {
  color: var(--c-silk) !important;
}

/*  Paragraphes â€” texte blanc  */
.sng-atelier-content p {
  color: var(--c-silk) !important;
}

.sng-atelier-content p:last-child {
  margin-bottom: 0;
}

/*  Responsive : colonne unique sur mobile (â‰¤ 767 px)  */
@media (max-width: 767px) {
  .sng-atelier-card {
    flex-direction: column;
    min-height: auto;
  }

  .sng-atelier-image {
    flex: none;
    height: 260px;
    min-height: unset;
  }

  .sng-atelier-content {
    padding: 28px 24px;
  }

  .sng-atelier-content h3 {
    font-size: 1.3rem;
  }
}

@media (min-width: 768px) {
    .line-header .col-sm-12 {
        width: 100%;
    }
    .line-header #CXBgLNI7DFnGFyclsS6R1qUl .col-sm-6 {
        width: 100% !important;}
    .line-header #iuqzeHWUpEUondsR2gTJU3Ex .col-sm-6 {
        width: 25%;
    }
}
@media (max-width: 991px) {
    #site-wrapper .line-header .mod-header-part__right {
        display: var(--mobile-header-mod-header-part__right-display);
        height: 0 !important;
        padding: 0 !important;
    }
}
@media (min-width: 768px) {
    .line-header .col-sm-6 {
        width: 50% !important;
    }
}

@media (max-width: 900px) {
    .line-header .header-ext-social-links {
      justify-content: left !important;
        transform: translateY(0) !important;
        margin-top: 0 !important; 
    }
     .navbar-toggle {
    position: relative;
    float: middle;
    margin-right: 0;
    padding: 9px 0px;
    margin-top: 8px;
    margin-bottom: 8px;
    background-color: var(--c-tan);
    background-image: none;
    border-radius: 50%;
    padding: 15px;
}}

.formulaire p.help-block {
  color: var(--c-shiraz) !important;
  font-size: 13px !important;
}
.formulaire .form-group p.help-block {
 display: block !important;}

/* ---------------------------------------
   SNG 2026 - Carrousel "Articles du même genre"
   Cible : .zone-news__moreNews-wrapper
---------------------------------------*/

/*  Conteneur principal  */
.zone-news__moreNews-wrapper {
  position: relative;
}

/* Focus clavier — outline visible quand l'utilisateur tabule dans le carrousel */
.zone-news__moreNews-wrapper:focus {
  outline: 2px solid var(--c-tan, #cbaa79);
  outline-offset: 8px;
  border-radius: 8px;
}
.zone-news__moreNews-wrapper:focus:not(:focus-visible) {
  outline: none;  /* masque l'outline au clic souris, visible au clavier uniquement */
}

/* Masque du flux de rows  */
.news-list-pics {
  overflow: visible;
}

/* Les .row sont les slides — JS ajoute .sng-slide--active sur le slide actif */
.news-list-pics .row {
  display: none;
  gap: 1.5rem;
}

.news-list-pics .row.sng-slide--active {
  display: flex;
  flex-wrap: nowrap;
  animation: sng-fadein 0.35s ease;
}

@keyframes sng-fadein {
  from { opacity: 0; transform: translateX(10px); }
  to   { opacity: 1; transform: translateX(0); }
}

/*  Items dans le slide actif  */
.news-list-pics .row.sng-slide--active .news-item {
  flex: 1 1 0;
  min-width: 0;
}

/* Conteneur du lien image : clippe la forme feuille, supprime le vide aux coins */
.news-list-pics .news-thumb-link {
  display: block;
  border-radius: 60px 0 !important;
  overflow: hidden;
  line-height: 0;
}

/* Image : dimensions, forme, bordure dorée, ombre */
.news-list-pics .news-thumbnail,
.news-list-pics .news-image {
  width: 100% !important;
  height: 260px !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  border-radius: 60px 0 !important;
  border: 2px solid var(--c-tan, #cbaa79) !important;
  box-shadow: 1px 3px 10px rgba(0, 0, 0, 0.12) !important;
  aspect-ratio: unset !important;
}

/* Ordre et mise en page — identique à la vue mosaïque */
.news-list-pics .news-item {
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
  border-radius: 12px;
  padding: 20px 20px 10px;
}
.news-list-pics .news-item__info-wrapper p.news-category:nth-of-type(2) {
  color: var(--c-texte) !important;
}
/* Auteur — harmonisation vue mosaïque + widget "Une autre lecture" */
.line-recherche-archives .col-sm-8 > .news-author,
.news-list-pics .news-item__info-wrapper p.news-category:nth-of-type(2) {
  font-family: "Poppins", "Helvetica Neue", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  color: var(--c-texte) !important;
  margin: 0 0 4px 0 !important;
  padding: 0 !important;
  text-indent: 0 !important;
  display: block !important;
}
.news-list-pics .news-item__info-wrapper {
  display: flex;
  flex-direction: column;
}
.news-list-pics .news-item__info-wrapper p.news-category {
  margin-top: 0 !important;
  margin-bottom: 1rem !important;
}
.news-list-pics .news-item__info-wrapper .news-tags.news-tags-container {
  margin-top: 8px !important;
}
.news-list-pics .news-item__info-wrapper .news-title                    { order: 1; }
.news-list-pics .news-item__info-wrapper p.news-category:nth-of-type(2) { order: 2; }
.news-list-pics .news-item__info-wrapper p.news-category:nth-of-type(1) { order: 3; }
.news-list-pics .news-item__info-wrapper .news-tags.news-tags-container { order: 4; }
.news-list-pics .news-item__info-wrapper .news-intro                    { order: 5; }
.news-list-pics .news-item:hover {
  box-shadow: 4px 8px 28px rgba(0, 0, 0, 0.18);
  transform: translateY(-3px);
}

/* Titre — identique à la vue mosaïque */
.news-list-pics .news-title,
.news-list-pics .news-title a {
  font-size: 24px !important;
  font-family: "Alkatra", system-ui, serif !important;
}

/* Catégorie — identique à la vue mosaïque */
.news-list-pics .news-category {
  text-decoration: none !important;
  order: 1;
  color: var(--link-color) !important;
  display: block;
  margin-bottom: 4px;
  margin-top: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: inherit !important;
  font-weight: 500 !important;
}

/* Tags — identique à la vue mosaïque */
#site-wrapper .news-item .news-tags .news-tags, 
#site-wrapper .news-item .news-tags span:not(.event-detail__category),
#site-wrapper .news-item .news-tags-container .news-tags, 
#site-wrapper .news-item .news-tags-container span:not(.event-detail__category) {
  background-color: #e8ddd4 !important;
  border-radius: 10px !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 4px 10px !important;
  align-items: center !important;
  border: var(--tag-border);
  box-shadow: none !important;
  color: var(--link-color) !important;
  letter-spacing: var(--letterspacing-tag, normal);
  display: inline-block;
  font-size: var(--font-size-tag-desktop);
  font-family: "Poppins", "Helvetica Neue", Arial, sans-serif !important;
  line-height: var(--tag-line-height);
  margin-bottom: var(--tag-margin-left);
  margin-right: var(--tag-margin-right);
  text-decoration: none !important;
  text-transform: none;
}

/* ══════════════════════════════════════
   Flèches de navigation
   ══════════════════════════════════════ */
.sng-carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  background: var(--c-shiraz, #7A2535);
  border: 2px solid var(--c-shiraz, #7A2535);
  color: var(--c-silk, #f0e9e3);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.25s ease;
  box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.18);
}

.sng-carousel-btn:hover {
  background: var(--c-shiraz-h, #af6d7a);
  color: var(--c-silk, #f0e9e3);
  box-shadow: none;
  transform: translateY(-50%) translate(1px, 1px);
}

.sng-carousel-btn:disabled {
  opacity: 0.3;
  cursor: default;
  pointer-events: none;
}

.sng-carousel-btn--prev { left: -56px; }
.sng-carousel-btn--next { right: -56px; }

/* ── Tablette (768–991px) : flèches discrètes, visibles au survol du carrousel ── */
@media (min-width: 768px) and (max-width: 991px) {
  .sng-carousel-btn--prev { left: -10px; }
  .sng-carousel-btn--next { right: -10px; }

  .sng-carousel-btn {
    opacity: 0.25;
    transition: opacity 0.3s ease, background 0.25s ease, box-shadow 0.25s ease;
  }

  /* Au survol ou au focus du carrousel → flèches apparaissent */
  .zone-news__moreNews-wrapper:hover .sng-carousel-btn,
  .zone-news__moreNews-wrapper:focus-within .sng-carousel-btn {
    opacity: 1;
  }

  .sng-carousel-btn:hover {
    transform: translateY(-50%) translate(1px, 1px);
  }

  /* Images légèrement réduites à 2 colonnes */
  .news-list-pics .news-thumbnail,
  .news-list-pics .news-image {
    height: 220px !important;
  }
}

/* ── Mobile (< 768px) : flèches masquées, swipe + dots suffisent ── */
@media (max-width: 767px) {
  .sng-carousel-btn {
    display: none !important;
  }

  .zone-news__moreNews-wrapper {
    padding-bottom: 0;
  }

  /* Image plus généreuse en colonne unique */
  .news-list-pics .news-thumbnail,
  .news-list-pics .news-image {
    height: 240px !important;
  }

  /* Titre légèrement réduit */
  .news-list-pics .news-title,
  .news-list-pics .news-title a {
    font-size: 20px !important;
  }
}

/* ══════════════════════════════════════
   Points de navigation (dots)
   ══════════════════════════════════════ */
.sng-carousel-dots {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 1.25rem;
  max-width: 360px;
  margin-left: auto;
  margin-right: auto;
}

.sng-carousel-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--c-tan, #C4A460);
  cursor: pointer;
  transition: all 0.25s ease;
  border: none;
  padding: 0;
  flex-shrink: 0;
}

.sng-carousel-dot.sng-dot--active {
  background: var(--c-shiraz, #7A2535);
  transform: scale(1.3);
}

/* Focus visible pour la navigation clavier */
.sng-carousel-dot:focus-visible {
  outline: 2px solid var(--c-shiraz, #7A2535);
  outline-offset: 3px;
}

/* Tablette : dots un peu plus petits */
@media (max-width: 991px) {
  .sng-carousel-dots {
    gap: 6px;
    max-width: 320px;
  }

  .sng-carousel-dot {
    width: 8px;
    height: 8px;
  }
}

/* Mobile : encore plus compacts, s'enroulent sur plusieurs lignes */
@media (max-width: 767px) {
  .sng-carousel-dots {
    gap: 5px;
    max-width: 280px;
    row-gap: 8px;
  }

  .sng-carousel-dot {
    width: 7px;
    height: 7px;
  }
}