/* =========================================================
   custom.css — UFI Presentations (speakers + layout)
   Portée : uniquement pages .m_archive__members
   ========================================================= */

/* =============== MASQUER LE BLOC RÉSULTAT =============== */
.BlocResultat {
  display: none !important;
}

/* =============== CONTAINER DE PAGE ALIGNÉ AU THÈME =============== */
.m_archive__members .m_archive__wrapper {
  max-width: 1200px; /* ajuste si ton thème utilise 1140/1240 */
  margin-inline: auto;
  padding-inline: 24px;
  box-sizing: border-box;
}

  /* =============== GRILLE PRINCIPALE : FILTRES + CONTENU =============== */
  /* HTML : .m_archive__wrapper > .grid contient .filters_columns + .main-content */
  .m_archive__members .m_archive__wrapper > .grid {
    display: grid !important;
    grid-template-columns: 280px minmax(0,1fr) !important; /* gauche fixe, droite fluide */
    column-gap: 32px !important;
    align-items: start !important;
  }

.m_archive__members .filters_columns {
  min-width: 0;
  position: sticky; /* optionnel : retire si tu ne veux pas le sticky */
  top: 120px;
  z-index: 1;
}

.m_archive__members .main-content {
  min-width: 0 !important;
}

/* =============== CARTE PRÉSENTATION =============== */
.m_archive__members .presentation-card {
  width: 100%;
  background: #fff;
  border-radius: 20px;
  padding: 32px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  border: 1px solid rgba(0,0,0,0.05);
  box-sizing: border-box;
  margin-bottom: 32px;
}

  .m_archive__members .presentation-card:hover {
    box-shadow: 0 4px 20px rgba(0,0,0,0.12);
    transition: box-shadow .2s ease-in-out;
  }

  /* -- Grille interne : speakers (gauche) + détails (droite) -- */
  .m_archive__members .presentation-card .presentation-content-grid {
    display: grid !important;
    grid-template-columns: clamp(260px,26vw,340px) minmax(0,1fr) !important;
    column-gap: 24px !important;
    row-gap: 24px !important;
    align-items: start !important;
  }

  .m_archive__members .presentation-card .presentation-column {
    align-self: start;
    min-width: 0; /* évite que la colonne droite s’écrase */
    overflow: hidden; /* limite les débordements */
  }

  /* =============== TEXTE / TYPO DANS LA COLONNE DROITE =============== */
  .m_archive__members .presentation-card .details-column,
  .m_archive__members .presentation-card .details-column * {
    writing-mode: horizontal-tb !important; /* remet l’horizontal si le thème force vertical */
    text-orientation: mixed !important;
    white-space: normal !important;
    word-break: normal !important; /* stop au break-all */
    overflow-wrap: anywhere !important; /* césures propres */
    hyphens: auto;
  }
    /* Le contrôle ASP.NET est un <span> -> on le force block */
    .m_archive__members .presentation-card .details-column [id*="_TextPresentation"] {
      display: block !important;
    }

  /* =============== SPEAKERS LIST (COLONNE GAUCHE) =============== */
  /* Reset des listes */
  .m_archive__members .presentation-card .speakers,
  .m_archive__members .presentation-card .speakers .persons-list {
    list-style: none;
    margin: 0;
    padding: 0;
  }
    /* Aplatis <ul class="persons-list"> pour remonter ses <li> */
    .m_archive__members .presentation-card .speakers .persons-list {
      display: contents;
    }

  /* Grille verticale simple des pills */
  .m_archive__members .presentation-card .speakers {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 14px;
  }

    /* ====== Speaker pill ====== */
    .m_archive__members .presentation-card .speakers .speaker-pill {
      display: flex !important;
      align-items: center;
      gap: 16px;
      padding: 14px 18px;
      background: #07283C !important;
      color: #fff !important;
      border-radius: 20px;
      box-shadow: 0 2px 10px rgba(0,0,0,.15);
      max-width: 560px;
      box-sizing: border-box;
    }

      .m_archive__members .presentation-card .speakers .speaker-pill * {
        box-sizing: border-box;
      }

      /* Avatar */
      .m_archive__members .presentation-card .speakers .speaker-pill__img,
      .m_archive__members .presentation-card .speakers .speaker-pill > a > .speaker-pill__img {
        width: 57px !important;
        height: 90px !important;
        display: block;
        object-fit: cover;
        border-radius: 12px; /* non circulaire */
        flex-shrink: 0;
        background: transparent !important;
      }
        /* Fallback CLS si width/height absents */
    .m_archive__members .presentation-card .speakers .persons-list .speaker-pill__img:not([width]) {
      inline-size: 64px;
    }

    .m_archive__members .presentation-card .speakers .persons-list .speaker-pill__img:not([height]) {
      block-size: 64px;
    }

    /* Corps texte */
    .m_archive__members .presentation-card .speakers .persons-list .speaker-pill .speaker-pill__body {
      display: flex;
      flex-direction: column;
      min-width: 0; /* permet ellipsis */
    }

    .m_archive__members .presentation-card .speakers .persons-list .speaker-pill__name {
      margin: 0 !important;
      font-size: 1.15rem !important;
      font-weight: 700 !important;
      color: #fff !important;
      line-height: 1.25;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .m_archive__members .presentation-card .speakers .persons-list .speaker-pill__role {
      margin: 0 0 2px 0 !important;
      font-weight: 500;
      font-size: .95rem;
      color: #B8D1E6 !important;
      line-height: 1.2;
    }


    .m_archive__members .presentation-card .speakers .persons-list .speaker-pill__company {
      margin: 0 0 2px 0 !important;
      font-weight: 300;
      font-size: .90rem;
      color: #FFF !important;
      line-height: 1.2;
    }

    .m_archive__members .presentation-card .speakers .persons-list .speaker-pill__country {
      margin: 0 0 2px 0 !important;
      font-weight: 300;
      font-size: .90rem;
      color: #B8D1E6 !important;
      line-height: 1.2;
    }


    .event-details .event-label {
      font-family: halyard-display, sans-serif;
      font-size: 14px;
      font-style: normal;
      font-weight: 300;
      letter-spacing: 1px;
      line-height: 22.5px;
      color: #274D19 !important;
    }

    .NoResult {
      font-family: halyard-display, sans-serif;
      font-size: 16px;
      font-style: normal;
      font-weight: 300;
      letter-spacing: 1px;
      line-height: 22.5px;
      color: color(39, 77, 25);
    }

/* Presentation Text Style */
.presentation-text {
  font-family: halyard-display, sans-serif;
  font-style: normal;
  font-weight: 300;
  letter-spacing: 1px;
  font-size: 15px;
  text-align: justify;
}

/* Media Download Buttons - Uniform Size */
.media-downloads .button_youtube, 
.media-downloads .button_replay, 
.media-downloads .button_docattach {
  display: block;
  width: 100%;
  max-width: 370px;
  padding: 12px 20px 12px 60px;
  text-align: left;
  text-decoration: none;
  border-radius: 8px;
  font-family: halyard-display, sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  transition: all 0.2s ease;
  box-sizing: border-box;
  margin-bottom: 12px;
  position: relative;
  background-repeat: no-repeat;
  background-position: 18px center;
  background-size: 28px 28px;
}

.media-downloads .button_youtube {
  background-color: #003d5c;
  color: white;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath fill='%23ffffff' d='M31.331 8.248c-.368-1.386-1.452-2.477-2.829-2.848-2.496-.673-12.502-.673-12.502-.673s-10.006 0-12.502.673c-1.377.371-2.461 1.462-2.829 2.848C0 10.758 0 16 0 16s0 5.242.669 7.752c.368 1.386 1.452 2.477 2.829 2.848 2.496.673 12.502.673 12.502.673s10.006 0 12.502-.673c1.377-.371 2.461-1.462 2.829-2.848C32 21.242 32 16 32 16s0-5.242-.669-7.752zM12.727 20.758V11.242L21.091 16l-8.364 4.758z'/%3E%3C/svg%3E");
}

.media-downloads .button_youtube:hover {
  background-color: #00527a;
}

.media-downloads .button_docattach {
  background-color: #003d5c;
  color: white;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath fill='%23ffffff' d='M18.667 2.667H8c-1.467 0-2.653 1.2-2.653 2.666L5.333 26.667c0 1.466 1.174 2.666 2.64 2.666h16c1.467 0 2.667-1.2 2.667-2.666V10.667l-8-8zm-1.334 2.666l6.667 6.667h-6.667V5.333zM22.667 25.333H9.333v-2.666h13.334v2.666zm0-5.333H9.333V17.333h13.334V20z'/%3E%3C/svg%3E");
}

.media-downloads .button_docattach:hover {
  background-color: #00527a;
}

.media-downloads .button_replay {
  background-color: #003d5c;
  color: white;
  background-image: url("/ariane_theme-main/dist/images/replay.svg");
}

.media-downloads .button_replay:hover {
  background-color: #00527a;
}

/* =============== RESPONSIVE =============== */
@media (max-width: 992px) {
  .m_archive__members .m_archive__wrapper {
    max-width: 100% !important;
    width: 100% !important;
  }

  .m_archive__members .m_archive__wrapper > .grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px;
    max-width: 100% !important;
    width: 100% !important;
  }

  .m_archive__members .filters_columns {
    position: static;
    width: 100% !important;
    padding: 16px !important;
    margin-bottom: 20px !important;
    background-color: #f5f3ed;
    border-radius: 6px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
  }

  .m_archive__members .main-content {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
  }

  /* Optimiser le bloc de recherche */
  .m_archive__members .filters_columns .inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px;
  }

  .m_archive__members .filters_columns .m_select,
  .m_archive__members .filters_columns .m_input {
    width: 100% !important;
  }

  .m_archive__members .filters_columns .m_select select {
    width: 100% !important;
    padding: 10px 36px 10px 14px !important;
    font-size: 15px !important;
  }

  .m_archive__members .filters_columns .footer {
    display: flex !important;
    flex-direction: row !important;
    gap: 10px;
    margin-top: 8px;
  }

  .m_archive__members .filters_columns .footer .btn {
    flex: 1 !important;
    padding: 10px 12px !important;
    font-size: 14px !important;
    white-space: nowrap;
  }

  /* désactive sticky en mobile */
  .m_archive__members .presentation-card {
    padding: 20px;
    border-radius: 14px;
  }

    .m_archive__members .presentation-card .presentation-content-grid {
      grid-template-columns: 1fr; /* speakers au-dessus des détails */
    }

    .m_archive__members .presentation-card .speakers .speaker-pill__img {
      width: 60px !important;
      height: 60px !important;
      border-radius: 50%;
    }

    .m_archive__members .presentation-card .speakers .speaker-pill__name {
      white-space: normal;
    }
}

/* Ultra-compact mobile */
@media (max-width: 640px) {
  .m_archive__members .filters_columns {
    padding: 12px !important;
    margin-bottom: 16px !important;
    border-radius: 4px;
  }

  .m_archive__members .filters_columns .inner {
    gap: 10px;
  }

  .m_archive__members .filters_columns .m_select select {
    padding: 9px 32px 9px 12px !important;
    font-size: 14px !important;
  }

  .m_archive__members .filters_columns .footer {
    gap: 8px;
  }

  .m_archive__members .filters_columns .footer .btn {
    padding: 9px 10px !important;
    font-size: 13px !important;
  }

  .m_archive__members .m_archive__wrapper {
    padding-inline: 12px !important;
  }

  /* Force full width for presentation cards on mobile */
  .m_archive__members .main-content {
    width: 100% !important;
    max-width: 100% !important;
  }

  .m_archive__members .presentation-card {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 24px 0 !important;
  }

  .m_archive__members .presentation-header {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Tablet (between 641px and 992px) - ensure full width */
@media (max-width: 992px) and (min-width: 641px) {
  .m_archive__members .m_archive__wrapper > .grid {
    max-width: 100% !important;
    width: 100% !important;
  }

  .m_archive__members .presentation-card {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 32px 0 !important;
  }

  .m_archive__members .presentation-header {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Mobile full width override */
@media (max-width: 640px) {
  .m_archive__members .m_archive__wrapper > .grid {
    max-width: 100% !important;
    width: 100% !important;
  }
}


/* ===== FORCE LE LAYOUT 2 COLONNES SUR LA GRILLE (DESKTOP ONLY) ===== */
@media (min-width: 993px) {
  .m_archive__members .m_archive__wrapper > .grid{
    display: grid !important;
    grid-template-columns: 320px minmax(0, 1fr) !important; /* largeur filtres + contenu fluide */
    column-gap: 32px !important;
    align-items: start !important;
  }
}

/* Place explicitement chaque enfant dans sa colonne (DESKTOP ONLY) */
@media (min-width: 993px) {
  .m_archive__members .m_archive__wrapper > .grid #SearchBloc{
    grid-column: 1 !important;
    width: auto !important;          /* annule un éventuel width:100% du thème */
    max-width: none !important;
  }
  .m_archive__members .m_archive__wrapper > .grid .main-content{
    grid-column: 2 !important;
    min-width: 0 !important;         /* permet au texte de s'adapter */
  }

  /* Neutralise des comportements "legacy" qui cassent la grille */
  .m_archive__members .m_archive__wrapper > .grid #SearchBloc,
  .m_archive__members .m_archive__wrapper > .grid .main-content{
    float: none !important;
    clear: none !important;
    display: block !important;
  }
}

/* La carte doit s’étirer sur toute la colonne de droite */
.m_archive__members .presentation-card{
  max-width: none !important;      /* on enlève la limite qui la rendait étroite */
  margin: 0 0 32px 0 !important;   /* plus de centrage interne, c’est la grille qui centre */
}

/* Si le thème impose une grille interne aux filtres, on purifie */
.m_archive__members #SearchBloc .inner{
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
}


/* =====================================================
   FOOTER SPONSORS RESPONSIVE
   ===================================================== */

/* Mobile: Center the sponsor logos */
@media (max-width: 1024px) {
  .bottombar .sponsors {
    text-align: center !important;
  }

  .bottombar .sponsors ul {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 24px !important;
  }

  .bottombar .sponsors ul li {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .bottombar .sponsors ul a {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .bottombar .sponsors ul a img {
    max-height: 60px !important;
    max-width: 180px !important;
  }
}


/* =====================================================
   SOCIAL ICONS CENTERING (Footer)
   ===================================================== */

/* Center the social icons list */
.social {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  list-style: none !important;
  gap: 16px !important;
}

.social li {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.social__link {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}


/* =====================================================
   FOOTER DETAILS__BOTTOM - Keep 2-column layout on mobile
   ===================================================== */

/* Override theme's column layout to keep 2 columns on mobile */
.bottombar .details__bottom {
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 24px 40px !important;
  justify-content: center !important;
}

/* Ensure footer menus are left-aligned */
.bottombar__col .menu {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: left !important;
  display: block !important;
}

.bottombar__col .menu li {
  display: block !important;
  text-align: left !important;
  margin: 0 !important;
  padding: 0 !important;
}

.bottombar__col .menu li a {
  display: block !important;
  text-align: left !important;
}

.bottombar .details__bottom .newsletter_block {
  flex: 1 1 100% !important;
  order: -1 !important;
}

.bottombar__col {
  flex: 1 1 45% !important;
  text-align: left !important;
  min-width: 150px !important;
  display: block !important;
}

/* Desktop: restore original layout */
@media (min-width: 1025px) {
  .bottombar .details__bottom {
    flex-direction: row !important;
    justify-content: space-between !important;
    max-width: none !important;
  }

  .bottombar .details__bottom .newsletter_block {
    flex: 0 1 auto !important;
    order: 0 !important;
  }

  .bottombar__col {
    flex: 0 1 auto !important;
    text-align: left !important;
  }
}

/* Mobile: add max-width constraint for centering */
@media (max-width: 1024px) {
  .bottombar .details__bottom {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 600px !important;
  }
}

/* Mobile: align items under their title */
@media (max-width: 1024px) {
  .bottombar__col-title {
    margin-bottom: 12px !important;
    text-align: left !important;
  }

  .bottombar__col .menu {
    text-align: left !important;
    justify-content: flex-start !important;
  }

  .bottombar__col .menu li {
    text-align: left !important;
    justify-content: flex-start !important;
  }

  .bottombar__col .menu li a {
    justify-content: flex-start !important;
    text-align: left !important;
  }
}


/* =====================================================
   FOOTER SUBFOOTER - Mobile responsive layout
   ===================================================== */

/* Mobile: when needed, split into 2 lines */
@media (max-width: 640px) {
  .bottombar__subfooter {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    margin-top: 24px !important;
  }

  .bottombar__subfooter .legal_nav {
    flex-basis: 100% !important;
    order: 1 !important;
  }

  .bottombar__subfooter .copyright {
    flex-basis: 100% !important;
    order: 2 !important;
    margin: 0 !important;
    text-align: center !important;
    font-size: 12px !important;
  }
}


/* =====================================================
   HEADER MOBILE - Reduce white space
   ===================================================== */

/* Hide the mobile menu navigation */
.topbar__mobile-bottom {
  display: none !important;
}

/* Hide the burger button and menu text */
.burger-wrapper {
  display: none !important;
}

/* Reduce white space in mobile header */
/* Mobile Header - Show desktop layout with reduced spacing */
@media (max-width: 1024px) {
  /* Override xsHidden to show desktop header on mobile */
  .topbar__desktop {
    transform: none !important;
    overflow: visible !important;
    font-size: inherit !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    margin: auto !important;
    padding: 0 !important;
    height: auto !important;
    width: 100% !important;
    display: block !important;
  }

  /* Hide mobile header */
  .topbar__mobile {
    display: none !important;
  }

  /* Reduce padding in wrapper */
  .topbar__desktop .topbar__wrapper {
    padding: 8px 12px !important;
  }

  /* Reduce container spacing */
  .topbar__desktop .topbar__wrapper .container {
    gap: 8px !important;
  }

  /* Hide SVG separator to reduce space */
  .topbar__desktop .topbar__wrapper .container > svg {
    display: none !important;
  }

  /* Reduce left section padding */
  .topbar__desktop .topbar__wrapper .container .left {
    padding: 0 8px !important;
  }

  /* Reduce right section padding */
  .topbar__desktop .topbar__wrapper .container .right {
    padding: 0 8px !important;
    gap: 8px !important;
  }

  /* Reduce logo max-width */
  .topbar__desktop .topbar__logo {
    max-width: 160px !important;
  }

  /* Hide navigation on mobile */
  .topbar__desktop .topbar__nav-main {
    display: none !important;
  }

  /* Hide CTA on mobile */
  .topbar__desktop .topbar__nav-cta {
    display: none !important;
  }
}


/* =====================================================
   HEADER + CONTENT : CONTINUITÉ VISUELLE PARFAITE
   ===================================================== */

/* ----- HEADER ----- */
.m_archive__members .presentation-header {
  background: #ffffff;
  padding: 28px 32px 0 32px;
  box-sizing: border-box;
  border: none;
  position: relative;
  border-radius: var(--radius-lg) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  overflow: hidden; /* fusion des coins arrondis */
}

.m_archive__members .presentation-card {
  background: #ffffff;
  margin: 0 auto 40px auto;
  box-sizing: border-box;
  border: none;
  position: relative;
  border-radius: var(--radius-lg) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  border: 1px solid rgba(0,0,0,0.05);
  overflow: hidden; /* fusion des coins arrondis */
}


/* Titre */
.m_archive__members .presentation-header h2,
.m_archive__members .presentation-header h3 {
  font-family: var(--font-primary);
  margin: 0 0 8px 0;
  font-weight: 600;
  font-size: var(--font-2xl);
  letter-spacing: 0;
  line-height: 0.9;
}

/* Sous-titre éventuel */
.m_archive__members .presentation-header .subtitle {
  margin-top: 4px;
  font-size: 1rem;
  color: #666;
}

/* ----- CONTENU ----- */
.m_archive__members .presentation-card .presentation-content-grid {
  display: grid !important;
  grid-template-columns: clamp(260px, 26vw, 340px) minmax(0, 1fr);
  column-gap: 32px;
  row-gap: 24px;
  align-items: start;
  padding: 24px 32px 32px 32px;
  box-sizing: border-box;
}

/* Les deux blocs partagent le même fond et les bords arrondis extérieurs */
.m_archive__members .presentation-header,
.m_archive__members .presentation-card .presentation-content-grid {
  background-color: #fff;
}

/* ----- Responsive ----- */
@media (max-width: 992px) {
  .m_archive__members .presentation-card .presentation-content-grid {
    grid-template-columns: 1fr;
    column-gap: 0;
  }
}

@media (max-width: 768px) {
  .m_archive__members .presentation-card {
    border-radius: 14px;
  }
  .m_archive__members .presentation-header,
  .m_archive__members .presentation-card .presentation-content-grid {
    padding: 20px;
  }
}
/* =====================================================
   HEADER AU-DESSUS DE .presentation-card — STYLE UNIFIÉ
   ===================================================== */

/* ----- HEADER (bloc supérieur) ----- */
.m_archive__members .presentation-header {
  background: #ffffff;
  border-radius: 20px 20px 0 0;            /* arrondis supérieurs */
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  border: 1px solid rgba(0,0,0,0.05);
  padding: 28px 32px 0px 32px;
  box-sizing: border-box;
  position: relative;
  z-index: 2;                              /* pour recouvrir la bordure du bas de la carte */
}

/* Ligne pointillée de séparation */
  .m_archive__members .presentation-header::after {
    content: "";
    display: block;
    border-bottom: 1px dashed rgba(0, 0, 0, 0.3);
    margin-top: 14px;
  }

/* Titre */
.m_archive__members .presentation-header h2,
.m_archive__members .presentation-header h3 {
  margin: 0 0 8px 0;
  font-weight: 700;
  font-size: 1.8rem;
  color: #111;
  line-height: 1.3;
}

/* Sous-titre */
.m_archive__members .presentation-header .subtitle {
  margin-top: 4px;
  font-size: 1rem;
  color: #666;
}

/* ----- CARTE (bloc inférieur) ----- */
.m_archive__members .presentation-card {
  background-color: #ffffff;
  border-radius: 0 0 20px 20px; /* arrondis inférieurs */
  /*box-shadow: 0 2px 12px rgba(0,0,0,0.08);*/
  border: 1px solid rgba(0,0,0,0.05);
  border-top: none; /* supprime la double bordure entre les deux blocs */
  margin-top: 0;
  margin-bottom: 40px;
  padding: 0;
  box-sizing: border-box;
  overflow: hidden;
}

/* ----- CONTENU (grille interne) ----- */
.m_archive__members .presentation-card .presentation-content-grid {
  display: grid !important;
  grid-template-columns: clamp(260px, 26vw, 340px) minmax(0, 1fr);
  column-gap: 32px;
  row-gap: 24px;
  align-items: start;
  padding: 24px 32px 32px 32px;
  box-sizing: border-box;
}

/* Colonnes internes */
.m_archive__members .presentation-card .presentation-column {
  min-width: 0;
  align-self: start;
}

/* ----- Responsive ----- */
@media (max-width: 992px) {
  .m_archive__members .presentation-card .presentation-content-grid {
    grid-template-columns: 1fr;
    column-gap: 0;
  }
}

@media (max-width: 768px) {
  .m_archive__members .presentation-header {
    border-radius: 14px 14px 0 0;
    padding: 20px;
  }

  .m_archive__members .presentation-card {
    border-radius: 0 0 14px 14px;
  }

  .m_archive__members .presentation-card .presentation-content-grid {
    padding: 20px;
  }
}

/* OLD BUTTON STYLES - DISABLED TO PREVENT DOUBLE ICONS
   These styles are kept for reference but commented out
   The new button styles are defined above (lines 218-259)

.button_docattach,
.button_docson,
.button_youtube,
.button_youku {
    display: inline-block;
    background-color: #0A3D5C;
    color: #FFFFFF !important;
    text-decoration: none;
    padding: 12px 24px 12px 50px;
    border-radius: 8px;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 14px;
    letter-spacing: 0.5px;
    transition: background-color 0.3s ease, transform 0.2s ease;
    border: none;
    cursor: pointer;
    text-align: center;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    margin: 5px;
    position: relative;
}

.button_docattach:hover,
.button_docson:hover,
.button_youtube::hover,
.button_youku::hover {
    background-color: #0B5280;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
    color: #FFFFFF !important;
    text-decoration: none;
}

.button_docattach:active,
.button_docson:active,
.button_youtube::active,
.button_youku::before {
    transform: translateY(0);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.button_docattach::before,
.button_docson::before,
.button_youtube::before,
.button_youku::before {
    content: '';
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.button_youtube::before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path d="M10,15L15.19,12L10,9V15M21.56,7.17C21.69,7.64 21.78,8.27 21.84,9.07C21.91,9.87 21.94,10.56 21.94,11.16L22,12C22,14.19 21.84,15.8 21.56,16.83C21.31,17.73 20.73,18.31 19.83,18.56C19.36,18.69 18.5,18.78 17.18,18.84C15.88,18.91 14.69,18.94 13.59,18.94L12,19C7.81,19 5.2,18.84 4.17,18.56C3.27,18.31 2.69,17.73 2.44,16.83C2.31,16.36 2.22,15.73 2.16,14.93C2.09,14.13 2.06,13.44 2.06,12.84L2,12C2,9.81 2.16,8.2 2.44,7.17C2.69,6.27 3.27,5.69 4.17,5.44C4.64,5.31 5.5,5.22 6.82,5.16C8.12,5.09 9.31,5.06 10.41,5.06L12,5C16.19,5 18.8,5.16 19.83,5.44C20.73,5.69 21.31,6.27 21.56,7.17Z"/></svg>');
}

.button_youku::before {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path d="M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2M10,16L10,8L16,12L10,16Z"/></svg>');
}

.button_docattach.pdf::before {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path d="M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M15.5,15.5C15.5,16.61 14.61,17.5 13.5,17.5H11V19.5H9.5V13.5H13.5C14.61,13.5 15.5,14.39 15.5,15.5M13,9V3.5L18.5,9H13M11,15V16H13A0.5,0.5 0 0,0 13.5,15.5V15.5A0.5,0.5 0 0,0 13,15H11Z"/></svg>');
}

.button_docson.son::before {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path d="M14,3.23V5.29C16.89,6.15 19,8.83 19,12C19,15.17 16.89,17.84 14,18.7V20.77C18,19.86 21,16.28 21,12C21,7.72 18,4.14 14,3.23M16.5,12C16.5,10.23 15.5,8.71 14,7.97V16C15.5,15.29 16.5,13.76 16.5,12M3,9V15H7L12,20V4L7,9H3Z"/></svg>');
}

@media (max-width: 768px) {
    .button_docattach,
    .button_docson,
    .button_youtube,
    .button_youku {
        padding: 10px 20px 10px 45px;
        font-size: 13px;
        width: 100%;
        margin: 5px 0;
    }

    .button_docattach::before,
    .button_docson::before,
    .button_youtube::before,
    .button_youku::before {
        width: 20px;
        height: 20px;
        left: 12px;
    }
}
END OF COMMENTED OUT STYLES */

/* =====================================================
   FOOTER MENU INTERLIGNE - Increase spacing between items
   ===================================================== */

.bottombar .menu {
  gap: 40px !important;
  line-height: 2.5 !important;
}

.bottombar .menu li {
  margin-bottom: 20px !important;
  padding-bottom: 10px !important;
}

.bottombar__col .menu {
  gap: 40px !important;
  line-height: 2.5 !important;
}

.bottombar__col .menu li {
  margin-bottom: 20px !important;
  padding-bottom: 10px !important;
}

.bottombar .details__bottom .menu {
  gap: 40px !important;
}

.bottombar .details__bottom .menu li {
  margin-bottom: 10px !important;
}

