/* ══════════════════════════════════════════════════════
   RESPONSIVE.CSS — règles @media / @container regroupées
   Généré automatiquement à partir des fichiers sources
   ══════════════════════════════════════════════════════ */


/* ─────────── depuis article-page.css ─────────── */

@media (max-width: 640px) {
  .node--type-article.node--view-mode-full {
    padding: 0 0 32px;
  }
  .art-hero-wrap img {
  height: auto;
  aspect-ratio: 16 / 9;
  max-height: 420px;
}
  .art-title {
    font-size: 1.15rem;
  }
}

/* (règles /news déplacées en fin de fichier : section « PAGE NEWS ») */

@media (max-width: 900px) {
  #partenariats-privilegies .pp-item--haut {
    flex: 1 1 160px;
    max-width: 220px;
  }
}

@media (max-width: 600px) {
  #partenariats-privilegies .content-img-haut {
    flex-direction: column;
    align-items: center;
  }

  #partenariats-privilegies .pp-item--haut {
    max-width: 100%;
    width: 100%;
  }

  #partenariats-privilegies .pp-item--gauche {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  #partenariats-privilegies .pp-item--gauche .pp-item__logo-wrapper {
    width: 100%;
    justify-content: center;
  }

  #partenariats-privilegies .pp-item--gauche .pp-item__texte {
    text-align: center;
  }
}

@media (max-width: 900px) {
  .valeurs__grille {
    gap: 16px;
  }

  .valeurs__carte {
    padding: 24px 20px;
    gap: 16px;
  }

  .valeurs__nom {
    min-width: 80px;
    max-width: 110px;
    font-size: 0.9rem;
  }
}

@media (max-width: 600px) {
  .valeurs__grille {
    grid-template-columns: 1fr;
  }

  .valeurs__carte {
    flex-direction: column;
    gap: 12px;
    padding: 20px 16px;
  }

  .valeurs__nom {
    max-width: 100%;
    font-size: 1rem;
  }

  .valeurs__titre {
    font-size: 1.25rem;
    margin-bottom: 32px;
  }
}


/* ─────────── depuis custom.css ─────────── */

@media (max-width: 991px) {
  .use-case {
    width: 100%;
  }
}

@media (min-width: 992px) {
  header[role="banner"] .navbar-collapse {
    display: flex !important;
  }
}

@media (max-width: 991px) {
  header[role="banner"] .navbar-brand img{
        padding-top: 9px;
  }
  .user-logged-in .member-hero-user-menu {
    display: none !important;
  }
.extranet header[role="banner"]::after, .page-route-view-events-page-1 header[role="banner"]::after, .page-route-view-documents-page-1 header[role="banner"]::after {top:5px;}
  /* La navbar-brand ne doit pas dépasser la hauteur var(--top-h) */
   .user-logged-in .extranet header[role="banner"] .navbar-brand {
    height: var(--top-h) !important;
    overflow: hidden;
  }

  /* Le logo reste aligné correctement */
   .user-logged-in .extranet header[role="banner"] .region-nav-branding {
    height: var(--top-h) !important;
    overflow: hidden;
  }

  /* Le container de la navbar reste sur une seule ligne */
   .user-logged-in .extranet header[role="banner"] .navbar > .container {
    height: var(--top-h) !important;
    overflow: visible;
  }
  .view-events .node--type-evenement .ev-img-wrap{
    display: none;
  }
 .view-events .views-row .node--type-evenement {    border: 1px solid #eee;}
}

@media (max-width: 991px) {

  /* Retire le positionnement absolu des boutons compte */
  #block-sakyran-bootstrap5-account-menu {
    position: static !important;
    height: auto !important;
    order: 5 !important;
    width: 100% !important;
    margin-left: 0 !important;
    display: none !important; /* cachés hors menu */
  }

  /* Quand le collapse est ouvert, on affiche les boutons */
  .navbar-collapse.show #block-sakyran-bootstrap5-account-menu,
  .navbar-collapse.collapsing #block-sakyran-bootstrap5-account-menu {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
  }

  #block-sakyran-bootstrap5-account-menu ul.nav.navbar-nav {
    flex-direction: row !important;
    width: 100% !important;
    gap: 0 !important;
  }

  #block-sakyran-bootstrap5-account-menu li.nav-item {
    flex: 1 !important;
    border-left: none !important;
  }

  #block-sakyran-bootstrap5-account-menu li.nav-item + li.nav-item {
    border-left: 2px solid rgba(255,255,255,0.3) !important;
  }

  #block-sakyran-bootstrap5-account-menu a.nav-link {
    width: 100% !important;
    height: 52px !important;
    padding: 0 8px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-align: center !important;
    justify-content: center !important;
    white-space: normal !important;
    line-height: 1.2 !important;
    letter-spacing: 0.3px !important;
  }

  /* Icônes cachées sur mobile pour gagner de la place */
  #block-sakyran-bootstrap5-account-menu a::before {
    display: none !important;
  }

  /* Couleurs des boutons */
  /* BECOME A MEMBER → rouge */
  #block-sakyran-bootstrap5-account-menu li:first-child a {
    background: var(--color-red) !important;
  }

 

  /* LOGIN → bleu foncé */
  #block-sakyran-bootstrap5-account-menu li:last-child a {
    background: var(--color-blue) !important;
            width: 109px !important;
  }
}

@media (max-width: 991px) {

  /* ── Ligne 1 : flex row, logo + boutons + hamburger ── */
  header[role="banner"] .navbar > .container {
    padding: 0 12px;
    flex-wrap: wrap;
    position: relative;
    align-items: center;
    height: var(--top-h);
  }

  /* S'assurer que le language switcher est visible dans le menu ouvert */
  .language-switcher-language-url,
  #block-languageswitcher,
  .block-language {
    position: relative !important;
    z-index: 9999 !important;
  }

  /* Si le switcher est dans la navbar hors du collapse */
  .navbar-collapse .language-switcher-language-url {
    display: block !important;
    padding: 0.5rem 1rem;
  }

  /* Éviter que le menu ouvert couvre le switcher */
  .navbar-nav {
    overflow-y: auto;
    max-height: 80vh;
  }

  /* Logo à gauche */
  header[role="banner"] .region-nav-branding {
    flex: 0 0 auto;
    height: var(--top-h);
    order: 1;
  }

  /* Boutons compte : après le logo, poussés par margin-left auto */
  #block-sakyran-bootstrap5-account-menu {
    position: static !important;
    height: 36px !important;
    display: flex !important;
    align-items: stretch !important;
    order: 2;
    margin-left: auto;
    flex-shrink: 0;
  }
/**** pour les btn sois cote à cote****/
 #block-sakyran-bootstrap5-account-menu ul.nav.navbar-nav {
    gap: 0 !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
  }
.para-col-gauche, .para-col-droite{
  width: 100%!important;
  padding-left: 0px !important;

}
.para-col-droite{margin-top:25px;}
  #block-sakyran-bootstrap5-account-menu li.nav-item {
    margin: 0 !important;
    border-left: none !important;
  }

  #block-sakyran-bootstrap5-account-menu li.nav-item + li.nav-item {
    border-left: 2px solid rgba(255,255,255,0.3) !important;
  }

  #block-sakyran-bootstrap5-account-menu a.nav-link {
    padding: 0 10px !important;
    font-size: 10px !important;
    height: 36px !important;
    white-space: nowrap;
  }
/****fin***/
  #block-sakyran-bootstrap5-account-menu ul {
    display: flex;
    flex-direction: row;
    height: 100%;
    gap: 4px;
    align-items: stretch;
    list-style: none;
    margin: 0;
    padding: 0;
  }

  #block-sakyran-bootstrap5-account-menu li {
    display: flex;
    border-left: none;
    flex: none;
  }

  #block-sakyran-bootstrap5-account-menu a {
    height: 36px;
    padding: 0 10px;
    font-size: 9px;
    letter-spacing: 0.2px;
    border-radius: 2px;
    white-space: nowrap;
    align-self: auto;
    display: flex;
    align-items: center;
  }

  /* Icônes Bootstrap Icons cachées sur mobile */
  #block-sakyran-bootstrap5-account-menu a::before {
    display: none !important;
  }

  /* Hamburger tout à droite, après les boutons */
  header[role="banner"] .navbar-toggler {
    display: flex !important;
    order: 3;
    margin-left: 8px;
    margin-right: 0;
    align-self: center;
    flex-shrink: 0;
    z-index: 200;
    background: #1A4FB3;
  }

  /* ── Collapse sous la ligne logo — pleine largeur ── */
  header[role="banner"] .navbar-collapse {
    order: 100;
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    background: #fff;
    border-top: 1px solid #e8edf5;
    min-height: 0;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  }

  /* Menu principal en colonne */
  header[role="banner"] .region-nav-main {
    width: 100%;
    padding-left: 0;
    min-height: 0;
  }

  .navbar-nav {
    flex-direction: column !important;
    width: 100%;
    gap: 0;
  }
  header[role="banner"]{
    border-bottom: 2px solid var(--color-blue) !important;
  }
/* Cache l'icône burger par défaut */
  .navbar-toggler-icon {
    display: none !important;
  }
.orderF{
      order: 10;
}
  /* Ajoute un X ou un burger via Bootstrap Icons */
  .navbar-toggler::after {
    font-family: "bootstrap-icons";
    font-size: 22px;
    color: #fff;
    line-height: 1;
  }

  /* Burger quand le menu est fermé */
  .navbar-toggler.collapsed::after {
    content: "\F479"; /* bi-list */
  }

  /* X quand le menu est ouvert */
  .navbar-toggler:not(.collapsed)::after {
    content: "\F62A"; /* bi-x-lg */
  }
  .navbar-nav .nav-item .nav-link,
  .navbar-nav .nav-item span.nav-link {
    padding: 12px 16px;
    border-bottom: none !important; /* supprime l'ancienne bordure */
    font-size: 13px;
  }
.navbar-nav .nav-item {
    border-bottom: 1px solid #f0f2f7;
    width: 100%;
  }
  /* ── Zone langue + recherche : sur UNE ligne, même hauteur ── */
  header[role="banner"] .region-nav-additional {
       order: 10 !important;
    width: 100%;
    height: 44px;
    border-radius: 0;
    flex-wrap: nowrap;
    flex-direction: row;
    border-top: 1px solid #e8edf5;
    display: flex !important;
    align-items: stretch;
  }

  /* Sélecteur langue : largeur fixe, pleine hauteur */
  #block-sakyran-bootstrap5-selecteurdelangue {
    height: 44px;
    flex: 0 0 72px;
    min-width: 0;
    display: flex !important;
    align-items: center;
  }

  /* Barre recherche : prend le reste, même hauteur */
  #block-sakyran-bootstrap5-search-form {
    height: 44px;
    flex: 1;
    min-width: 0;
    display: flex !important;
    align-items: center;
  }

  #block-sakyran-bootstrap5-search-form form {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
  }

  #block-sakyran-bootstrap5-search-form .js-form-item {
    flex: 1;
    height: 100%;
    display: flex;
    align-items: center;
  }

  /* Champ texte recherche pleine largeur */
  #block-sakyran-bootstrap5-search-form .form-search {
    width: 100%;
    height: 100%;
    max-width: 100%;
  }

  .paragraph--type--bloc-bandeau .proavia-slide-img { height: 300px; }
  .paragraph--type--bloc-bandeau .proavia-slide-caption {
    width: 80%;
    max-width: none;
    padding-left: 56px;
    padding-right: 16px;
  }
  .proavia-slide-titre { font-size: 22px; }
  .proavia-slide-texte, .proavia-slide-texte p { font-size: 13px; }
}

@media (max-width: 1100px) {
  .paragraph--type--presentation-proavia {
    gap: 48px;
    padding: 60px 24px;
  }
  .para-pres-texte {
    width: auto;
    flex: 1;
  }
}

@media (max-width: 767px) {
  
  header[role="banner"]::after{
    display: none;
  }
  .tch-member-image{
        object-fit: contain!important;
    background: black;
  }
  .image-text-container.gauche, .image-text-container.droite{
        flex-direction: column!important;
  }
  .paragraph--type--presentation-proavia {
    flex-direction: column;
    gap: 36px;
    padding: 48px 20px;
  }
  .para-pres-photo {
    display: none;
    flex: none;
    width: 100%;
    max-width: 420px;
    align-self: center;
    padding-right: 40px;
    padding-bottom: 48px;
  }
  .pres-overlay-bloc {
    width: 330px;
    height: 310px;
    font-size: 32px;
  }
  .para-pres-texte {
    width: 100%;
    flex: none;
  }
   }

@media (max-width: 992px) {
  .images-about {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  .paragraph--type--about-proavia-fullwidth{
        padding: 35px 20px 40px;
  }
  .paragraph--type--about-proavia-fullwidth p, .about-proavia-container p{
        margin: 0 auto 24px;
  }
  .images-about {
    grid-template-columns: 1fr;
    gap:65px;
  }
}

@media (max-width: 992px) {
  .paragraph--type--evenements-publiques-fullwidth .item-list ul {
    flex-wrap: wrap;
  }
  .paragraph--type--evenements-publiques-fullwidth .item-list li {
    flex: 0 0 calc(50% - 10px);
  }
}

@media (max-width: 576px) {
  .paragraph--type--evenements-publiques-fullwidth .item-list li {
    flex: 0 0 100%;
  }
}

@media (max-width: 992px) {
  .paragraph--type--testimonials .para-testimonials-item-inner {
    flex-direction: column;
    padding: 20px;
  }
  .paragraph--type--testimonials .para-testimonials-item-photo{
    width: 100PX;
    height: 100PX;
  }
.paragraph--type--testimonials .para-testimonials-item::after{
      width: 75px;
}
.marginB85{
      margin-bottom: 52px!important;
}
.paragraph--type--raisons-devenir-membre > strong{
  margin-bottom: 2px!important;
}
  .paragraph--type--testimonials .para-testimonials-item-photo {
    margin: 0 auto 20px;
  }
  .paragraph--type--testimonials .para-testimonials-item{
        max-width: 280PX;
  }
  .paragraph--type--testimonials .para-testimonials-item-texte{
        padding-top: 5px;
  }

  .paragraph--type--testimonials .testimonial-nav {
    right: 10px;
    flex-direction: row;
    top: auto;
    bottom: -60px;
    transform: none;
  }
}

@media (max-width: 992px) {
  .views-element-container.block-views-blocknos-membres-block-logos-membres .view-content {
    padding: 0 56px;
  }
  .views-element-container.block-views-blocknos-membres-block-logos-membres .item-list ul {
    gap: 32px;
  }
  .views-element-container.block-views-blocknos-membres-block-logos-membres .item-list img {
    max-width: 130px;
    max-height: 60px;
  }
}

@media (max-width: 576px) {
  .views-element-container.block-views-blocknos-membres-block-logos-membres {
    padding: 48px 0;
  }
  .views-element-container.block-views-blocknos-membres-block-logos-membres .view-content {
    padding: 0 48px;
  }
  .views-element-container.block-views-blocknos-membres-block-logos-membres .members-nav button {
    width: 36px;
    height: 36px;
    font-size: 15px;
  }
  .views-element-container.block-views-blocknos-membres-block-logos-membres .item-list img {
    max-width: 110px;
    max-height: 50px;
  }
}

@media (max-width: 1024px) {
  .paragraph--type--nos-actualites .view-content {
    flex-direction: column;
    overflow: visible;
    padding: 0 24px;
    gap: 20px;
  }
  .paragraph--type--nos-actualites .views-row {
    flex: 0 0 auto;
    width: 100%;
    height: auto;
  }
}

@media (max-width: 600px) {
  .paragraph--type--nos-actualites .view-content {
    padding: 0 16px;
  }
  .paragraph--type--nos-actualites .views-row {
    width: 100%;
    height: auto;
  }
  .paragraph--type--nos-actualites .news-nav {
    display: none;
  }
}

@media (max-width: 1100px) {
  .paragraph--type--raisons-devenir-membre .para-raison-texte,
  .paragraph--type--raisons-devenir-membre .field__item {
    padding: 20px 12px;
    min-height: 160px;
  }
  .paragraph--type--raisons-devenir-membre .para-raison-texte p,
  .paragraph--type--raisons-devenir-membre .field__item p {
    font-size: 11px;
  }
}

@media (max-width: 768px) {
  #block-sakyran-bootstrap5-account-menu .extra{
  display: block!important;
 
}
  #block-sakyran-bootstrap5-account-menu .extra a{

  background: #56B7B9 !important;
}
  .paragraph--type--raisons-devenir-membre .para-raison-container,
  .paragraph--type--raisons-devenir-membre .field__items,
  .paragraph--type--raisons-deveni.marginB85r-membre > .field {
    flex-wrap: nowrap !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 15px;
    justify-content: flex-start !important;
  }
  .paragraph--type--raisons-devenir-membre .para-raison-texte,
  .paragraph--type--raisons-devenir-membre .field__item {
    flex: 0 0 180px !important;
    min-width: 235px !important;
  }
}

@media (max-width: 992px) {
  .images-commitmentS { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 576px) {
  .images-commitmentS { grid-template-columns: 1fr;gap: 55px; }
  .paragraph--type--our-commitments { padding: 40px 16px; }
  
}

@media (max-width: 992px) {
  .images-expertises {
    grid-template-columns: repeat(2, 1fr);
    padding-top: 56px;
  }
}

@media (max-width: 576px) {
  .contentFlex{
        display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 40px;
    align-content: center;
    align-items: center;
    margin: 0 auto;
    width: 100%;
    justify-content: center;
    align-items: center;
    align-content: flex-start;
  }
  .views-field.views-field-field-image{
    display: none;
  }
  .item-list li{
    margin: 0;
  }
  .images-expertises {
    grid-template-columns: 1fr;
    gap:95px;
  }
  .block-views-blocknos-membres-block-logos-membres{
    display: none;
  }
  .paragraph--type--members-expertise {
    padding: 48px 16px 56px;
  }
}

@media (max-width: 600px) {
  .paragraph--type--fiches-membres .fiches-membres__grid {
    grid-template-columns: 1fr;
    border-radius: 0px;
  }
}

@media (max-width: 767px) {

  /* Hauteur du slide */
  .paragraph--type--bloc-bandeau .proavia-slide-img {
    height: 360px;
    object-position: center;
  }

  /* Calque bleu uniforme sur toute l'image (écrase le dégradé posé par le JS)
     -> pour changer l'opacité, modifier le 0.7 */
  .paragraph--type--bloc-bandeau .proavia-slide-overlay {
    background: rgba(26, 79, 179, 0.7) !important;
  }

  /* Décor en pointillés masqué sur mobile */
  .paragraph--type--bloc-bandeau .proavia-slide-decor {
    display: none;
  }

  /* Contenu centré au-dessus de l'image */
  .paragraph--type--bloc-bandeau .proavia-slide-caption {
    width: 100%;
    max-width: 100%;
    padding: 24px 24px 40px;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .paragraph--type--bloc-bandeau .proavia-slide-surtitre {
    color: #fff;
    margin-bottom: 8px;
  }

  .paragraph--type--bloc-bandeau .proavia-slide-titre {
    font-size: 24px;
    line-height: 1.2;
    color: #fff;
    margin: 0 0 12px;
  }

  .paragraph--type--bloc-bandeau .proavia-slide-texte,
  .paragraph--type--bloc-bandeau .proavia-slide-texte p {
    font-size: 14px;
    color: #fff;
    letter-spacing: normal;
  }
  .paragraph--type--bloc-bandeau .proavia-slide-texte {
    margin-bottom: 20px;
  }

  /* Bouton rouge centré */
  .paragraph--type--bloc-bandeau .proavia-slide-btn {
    align-self: center;
    background: #d64545;
    border-color: #d64545;
    color: #fff !important;
    padding: 14px 40px;
    font-size: 14px;
    border-radius: 0;
  }
  .paragraph--type--bloc-bandeau .proavia-slide-btn:hover {
    background: #b93636;
    border-color: #b93636;
    color: #fff !important;
  }

  /* Flèches masquées (le glissement au doigt et les points suffisent) */
  .paragraph--type--bloc-bandeau .carousel-control-prev,
  .paragraph--type--bloc-bandeau .carousel-control-next {
    display: none;
  }
}

@media (max-width: 991px) {
  .proavia-anchor-nav ul {
    gap: 2px 6px;
    padding: 8px 16px;
  }
  .proavia-anchor-nav a {
    padding: 8px 12px;
    font-size: 13px;
  }
}

@media (max-width: 575px) {
  .proavia-anchor-nav a {
    padding: 7px 10px;
    font-size: 12.5px;
  }
}


/* ─────────── depuis events.css ─────────── */

@media (max-width: 768px) {

  .node--type-use-case {
    width: 100%!important;
  }
  .block-anakrys-lien-retour{
        margin-top: 15px;
    margin-bottom: 15px;
  }
  .page-route-view-events-page-event .views-exposed-form.bef-exposed-form,
  .page-route-view-events-page-event .view-filters .form--inline.clearfix {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }
.view-events .node--type-evenement .ev-date-badge{
  margin-bottom: 0px;
}
  .page-route-view-events-page-event .form-item-title {
    width: 100% !important;
    flex: 1 1 100% !important;
  }

  .page-route-view-events-page-event input#edit-title.form-text.form-control {
    width: 100% !important;
  }

  .page-route-view-events-page-event .view-filters .form-control {
    width: 160px !important;
  }
  .view-events .node--type-evenement .ev-footer{
    padding: 0px 14px 3px;
  }
}

@media (max-width: 480px) {
  .page-route-view-events-page-event .views-exposed-form.bef-exposed-form,
  .page-route-view-events-page-event .view-filters .form--inline.clearfix {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .page-route-view-events-page-event .view-filters #edit-date-wrapper .fieldset-wrapper {
   /* flex-direction: column !important;*/
  }

  .page-route-view-events-page-event .view-filters .form-control,
  .page-route-view-events-page-event input#edit-title.form-text.form-control {
    width: 100% !important;
  }

  .page-route-view-events-page-event .view-filters #edit-actions .btn {
    width: 100% !important;
    height: 40px !important;
  }
}

@media (max-width: 1200px) {
  .view-events .views-row {
    flex: 0 0 calc(50% - 10px);
  }
}

@media (max-width: 640px) {
  .view-events .views-row {
    flex: 0 0 100%;
  }
  .view-events .view-content {
    padding: 0 16px;
  }
}

@media (max-width: 768px) {
   .node--type-evenement-page-des .ev-page-header {
    width: 100%;
  }
  .node--type-evenement-page-des .ev-page-header img {
    width: 100% !important;
    height: 240px !important;   /* identique aux articles en mobile */
  }
  .node--type-evenement-page-des .ev-page-header .ev-badge-proavia {
    top: 10px;
    right: 10px;
  }

  .node--type-evenement-page-des .ev-page-title {
    font-size: 1.8rem;
  }

  .node--type-evenement-page-des .ev-page-dates {
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }

  .node--type-evenement-page-des .ev-page-body {
    padding: 0 10px;
  }
}


/* ─────────── depuis extranet.css ─────────── */

@media (max-width: 600px) {
  .page-node-type-contact {
    flex-direction: column;
  }

  .page-node-type-contact .node__content {
    grid-template-columns: 1fr;
    padding: 1.25rem;
  }

  .page-node-type-contact .contact-col-left,
  .page-node-type-contact .contact-col-right {
    grid-column: 1;
  }

  .page-node-type-contact .contact-col-left {
    flex-direction: row;
    align-items: flex-start;
    gap: 1rem;
    margin: 0 auto;
  }

  .page-node-type-contact .field--name-field-image img {
    width: 80px;
    height: 80px;
  }
}

@media (max-width: 768px) {
  .contact-container {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .contact-image-column {
    flex: none;
    margin-bottom: 20px;
  }

  .contact-data-column {
    width: 100%;
  }

  .contact-field {
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
  }

  .field-label {
    min-width: auto;
  }
}

@media (max-width: 768px) {
  .extranet .node--type-page {
    padding: 1rem;
  }

  .extranet .node--type-page h2 {
    font-size: 1.7rem;
  }

  .extranet .node--type-page h3 {
    font-size: 1.3rem;
  }
}

@media (max-width: 991.98px) {
.page-route-proavia-user-espace-membre .py-5{
padding-top: 0rem !important;
}
  /* Les h2 deviennent des triggers cliquables */
  .espace-membre-dashboard .dashboard-block > h2 {
    cursor: pointer;
    user-select: none;
    position: relative;
    margin-bottom: 0 !important;
    padding-right: 3rem !important;
  }

  /* Flèche via ::after */
  .espace-membre-dashboard .dashboard-block > h2::after {
    content: "\F282"; /* bi-chevron-down */
    font-family: "bootstrap-icons";
    font-size: 1.1rem;
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%) rotate(0deg);
    transition: transform 0.3s ease;
  }

  /* Flèche inversée quand ouvert */
  .espace-membre-dashboard .dashboard-block > h2.accordion-open::after {
    transform: translateY(-50%) rotate(180deg);
  }

  /* Corps masqué par défaut */
  .espace-membre-dashboard .dashboard-block .accordion-body {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.4s ease;
  }
.accordion-body a.infoprojet-card-link{
      flex-direction: column;
}
  /* Corps visible */
  .espace-membre-dashboard .dashboard-block .accordion-body.accordion-open {
    max-height: 2000px; /* valeur suffisamment grande */
    margin-top: 15px;
  }
}

@media (max-width: 767px) {
 
  .uc-header-banner {
    padding: 12px 16px;
    gap: 12px;
  }
 
  .logo-img,
  .uc-logo-img { max-width: 80px; max-height: 40px; }
 
  .uc-how-to-badge { font-size: 12px; }
 
  .uc-location-banner { padding: 7px 16px; font-size: 10px; }
 
  /* Layout vertical : photos au-dessus, blocs en dessous */
  .uc-main-container {
    flex-direction: column;
    padding: 14px 16px;
    gap: 14px;
  }
 
  /* La sidebar devient une ligne horizontale de photos */
  .uc-images-sidebar {
    flex-direction: row;
    width: 100% !important;
    gap: 8px;
  }
 
  .uc-sidebar-photo {
    flex: 1;
  }
 
  /* Hauteur fixe uniforme en mode tablette */
  .uc-photos-1 .uc-sidebar-photo,
  .uc-photos-2 .uc-sidebar-photo,
  .uc-photos-3 .uc-sidebar-photo { height: 160px; }
 
  .uc-footer-bar {
    padding: 10px 16px;
    justify-content: center;
  }
 
  .uc-export { padding: 1rem 1rem; }
}

@media (max-width: 479px) {
 
  .uc-header-banner {
    flex-wrap: wrap;
    padding: 10px 12px;
    gap: 10px;
  }
 
  .uc-header-cell-left { width: auto; }
 
  .logo-img,
  .uc-logo-img { max-width: 70px; max-height: 34px; }
 
  .uc-header-cell-right {
    flex-basis: 100%;
    gap: 8px;
  }
 
  .uc-header-title { font-size: 13px; }
 
  .uc-location-banner {
    padding: 6px 12px;
    font-size: 10px;
    flex-wrap: wrap;
  }
 
  .uc-main-container { padding: 12px; gap: 12px; }
 
  /* En mobile, photos empilées verticalement, pleine largeur */
  .uc-images-sidebar {
    flex-direction: column;
  }
 
  .uc-photos-1 .uc-sidebar-photo,
  .uc-photos-2 .uc-sidebar-photo,
  .uc-photos-3 .uc-sidebar-photo { height: 180px; }
 
  .uc-step-text { font-size: 13px; }
 
  .uc-footer-bar {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 10px 12px;
  }
 
  .uc-footer-contacts { gap: 12px; }
 
  .uc-export {
    flex-direction: column;
    align-items: flex-start;
    padding: 1rem 0.875rem;
  }
 
  .uc-btn { width: 100%; justify-content: center; }
}

@media (max-width: 768px) {
  .page-route-view-events-page-1 .views-exposed-form .form--inline {
    flex-wrap: wrap;
  }

  .page-route-view-events-page-1 .form-item-title {
    flex: 1 1 100%;
  }

  .page-route-view-events-page-1 #edit-date-wrapper {
    flex: 1 1 auto;
  }
}

@media (max-width: 480px) {
  .page-route-view-events-page-1 .views-exposed-form .form--inline {
    flex-direction: column;
    align-items: stretch;
  }

  .page-route-view-events-page-1 #edit-date-wrapper .fieldset-wrapper {
    flex-direction: column;
  }

  .page-route-view-events-page-1 #edit-submit-events {
    width: 100%;
    height: 40px;
  }
}


/* ─────────── depuis tables_design.css ─────────── */

@media (max-width: 768px) {
.ev-page-header img{
      width: 90%!important;
}
  /* Formulaire */
  #views-exposed-form-documents-page-1 .form--inline {
    flex-direction: column;
    align-items: stretch;
  }
  #views-exposed-form-documents-page-1 .form-item,
  #views-exposed-form-documents-page-1 fieldset {
    min-width: unset;
    width: 100%;
  }
  #views-exposed-form-documents-page-1 fieldset .fieldset-wrapper {
    flex-direction: column;
  }
  #views-exposed-form-documents-page-1 .form-actions {
    width: 100%;
  }
  #views-exposed-form-documents-page-1 .form-submit {
    width: 100%;
    text-align: center;
  }

  /* ── TABLEAU → CARDS ── */
  .view-documents .views-table {
    display: block;
  }

  .view-documents .views-table thead {
    display: none;
  }

  .view-documents .views-table tbody {
    display: flex;
    flex-direction: column;
    gap: 8px;           /* espace entre cards, pas de border-bottom */
    padding: 10px;
    background: var(--grey-bg);
  }

  .view-documents .views-table tbody tr {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    gap: 2px 8px;
    padding: 10px 12px;
    border: none !important;          /* pas de bordure */
    border-left: 3px solid var(--teal) !important; /* seul accent */
    border-radius: 0px;
    background: var(--ev-white);
    box-shadow: 0 1px 4px rgba(5, 16, 64, 0.06);
    margin-bottom: 0;
  }

  /* Type — petit label en haut à gauche */
  .view-documents .views-table tbody td.views-field-field-type-de-documentation {
    grid-column: 1;
    grid-row: 1;
    display: block;
    padding: 0;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--teal);
    border: none;
  }

  /* Titre — grande zone centrale */
  .view-documents .views-table tbody td.views-field-title {
    grid-column: 1;
    grid-row: 2;
    display: block;
    padding: 2px 0 4px;
    font-size: 13px;
    font-weight: 500;
    color: var(--dark);
    line-height: 1.4;
    border: none;
  }
.info-projet .views-field-title a{
  display: block;
    margin-left: 13px;
}
  .view-documents .views-table tbody td.views-field-title a {
    color: var(--dark);
    text-decoration: none;
  }

  /* Fichier — bouton à droite sur 2 lignes */
  .view-documents .views-table tbody td.views-field-field-fichier {
    grid-column: 2;
    grid-row: 1 / 3;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0;
    border: none;
            justify-content: normal;
  }

  .view-documents .views-table tbody td.views-field-field-fichier a {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background-color: var(--teal);
    color: var(--ev-white) !important;
    padding: 6px 10px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-radius: 4px;
    white-space: nowrap;
  }

  /* Ajoute une icône PDF via ::before */
  .view-documents .views-table tbody td.views-field-field-fichier a::before {
    content: "\F3D3"; /* bi-file-earmark-pdf */
    font-family: "bootstrap-icons";
    font-size: 13px;
  }

  /* Date — masquée en mobile pour alléger */
  .view-documents .views-table tbody td.views-field-created {
    display: none;
  }

  /* Pas de bouton si pas de fichier — cellule vide invisible */
  .view-documents .views-table tbody td.views-field-field-fichier:empty {
    display: none;
  }

  /* Hover card */
  .view-documents .views-table tbody tr:hover {
    background-color: var(--teal-light) !important;
    border-left-color: var(--teal-hover) !important;
  }

  .view-documents .views-table tbody tr:hover td,
  .view-documents .views-table tbody tr:hover a {
    color: var(--dark) !important;
    background: transparent !important;
  }

  .view-documents .views-table tbody tr:hover .views-field-field-type-de-documentation {
    color: var(--teal-hover) !important;
  }

  .view-documents .views-table tbody tr:hover .views-field-field-fichier a {
    background-color: var(--teal-hover) !important;
    color: var(--ev-white) !important;
  }
}

@media (max-width: 768px) {
.view_type_info_projet{display: none;}
  #views-exposed-form-projects-page-1 .form--inline {
    flex-direction: column;
    align-items: stretch;
  }
.info-projet .views-field-field-type-d-info-projet-1{
  display: none;
}
  #views-exposed-form-projects-page-1 .form-item {
    min-width: unset;
    width: 100%;
  }

  #views-exposed-form-projects-page-1 fieldset .fieldset-wrapper {
    flex-direction: column;
    align-items: stretch;
    display: none;
  }

  #views-exposed-form-projects-page-1 .form-actions {
    width: 100%;
  }

  #views-exposed-form-projects-page-1 .form-submit {
    width: 100%;
    text-align: center;
  }

  /* Tableau → cards empilées */
  .info-projet .views-table,
  .projects-table {
    display: block;
    overflow-x: auto;
  }

  .info-projet .views-table thead,
  .projects-table thead {
    display: none;
  }

  .info-projet .views-table tbody tr,
  .projects-table tbody tr {
    display: block;
    margin-bottom: 1rem;
    border: 1px solid rgba(26, 79, 179, 0.12);
   
    background: var(--ev-white);
  }

  .info-projet .views-table tbody td,
  .projects-table tbody td {
    display: flex;
    justify-content: left;
    align-items: flex-start;
    padding: 1px 12px;
    /*border-bottom: 1px solid rgba(26, 79, 179, 0.07);*/
    font-size: 13px;
  }

  .info-projet .views-table tbody td::before,
  .projects-table tbody td::before {
    content: attr(data-label);
    font-size: 11px;
    font-weight: 500;
    color: var(--blue);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-right: 12px;
    white-space: nowrap;
    flex-shrink: 0;
    display: none;
  }
.path-projects .views-field-title a{
margin-left: 0px!important;
}
.path-projects #edit-created-wrapper--2 legend .fieldset-legend{
  display: none;
}
  .info-projet .views-table tbody td:last-child,
  .projects-table tbody td:last-child {
    border-bottom: none;
  }
}

@media (max-width: 768px) {
  /* --- Structure générale --- */
  .view-contacts-utiles .view-content .views-table {
    display: block;
  }

  .view-contacts-utiles .view-content .views-table thead {
    display: none; /* Masque les en-têtes en mobile */
  }

  .view-contacts-utiles .view-content .views-table tbody {
    display: flex;
    flex-direction: column;
    gap: 8px; /* Espace entre les cartes */
    padding: 10px;
    background: #f8f9fa; /* Fond gris très clair */
  }

  /* --- Style des cartes (anciennes lignes du tableau) --- */
  .view-contacts-utiles .view-content .views-table tbody tr {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto auto auto auto;
    gap: 2px 8px;
    padding: 10px 12px;
    border: none !important;
    border-left: 3px solid #f15e00 !important; /* Bordure orange */
    border-radius: 0;
    background: white;
    box-shadow: 0 1px 4px rgba(5, 16, 64, 0.06);
    margin-bottom: 0;
  }

  /* --- Pays (1ère ligne, gauche) --- */
  .view-contacts-utiles .view-content .views-table tbody td.views-field.views-field-field-pays {
    grid-column: 1;
    grid-row: 1;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #f15e00;
    border: none;
                  padding: 0;
  }

  /* --- Organisme (2ème ligne, gauche) --- */
  .view-contacts-utiles .view-content .views-table tbody td.views-field.views-field-field-organisme {
    grid-column: 1;
    grid-row: 2;
    font-size: 13px;
    font-weight: 500;
    color: #333;
    line-height: 1.4;
    border: none;
            padding: 0;
  }
  .view-contacts-utiles .view-content .views-table tbody td.views-field.views-field-field-organisme a {
    color: #333;
    text-decoration: none;
  }
.views-field-field-is-adherent{
  display: NONE;
}
  /* --- Membre Proavia (3ème ligne, gauche) --- */
  .view-contacts-utiles .view-content .views-table tbody td.views-field.views-field-field-is-adherent {
    grid-column: 1;
    grid-row: 3;
    font-size: 12px;
    font-weight: 600;
    color: #f15e00;
    border: none;
    display: none;
           padding: 0;
  }

  /* --- Nom (4ème ligne, gauche) --- */
  .view-contacts-utiles .view-content .views-table tbody td.views-field.views-field-title {
    grid-column: 1;
    grid-row: 4;
    font-size: 13px;
    font-weight: 500;
    color: #333;
    line-height: 1.4;
    border: none;
             padding: 0;
  }
  .view-contacts-utiles .view-content .views-table tbody td.views-field.views-field-title a {
    color: #333;
    text-decoration: none;
  }

  /* --- Prénom (5ème ligne, gauche) --- */
  .view-contacts-utiles .view-content .views-table tbody td.views-field.views-field-field-prenom {
    grid-column: 1;
    grid-row: 5;
    font-size: 13px;
    color: #666;
    border: none;
             padding: 0;
  }
  .view-contacts-utiles .view-content .views-table tbody td.views-field.views-field-field-prenom a {
    color: #666;
    text-decoration: none;
  }

  /* --- Fonction (masquée en mobile pour alléger) --- */
  .view-contacts-utiles .view-content .views-table tbody td.views-field.views-field-field-fonction {
    display: none;
  }

  /* --- Hover sur les cartes --- */
  .view-contacts-utiles .view-content .views-table tbody tr:hover {
    background-color: #fdecea !important; /* Fond orange très clair */
    border-left-color: #d65f2a !important; /* Orange plus foncé */
  }

  .view-contacts-utiles .view-content .views-table tbody tr:hover td {
    color: #333 !important;
  }

  .view-contacts-utiles .view-content .views-table tbody tr:hover .views-field.views-field-field-pays,
  .view-contacts-utiles .view-content .views-table tbody tr:hover .views-field.views-field-field-is-adherent {
    color: #d65f2a !important; /* Orange foncé au survol */
  }

  /* --- Suppression des commentaires de debug --- */
  .view-contacts-utiles .view-content .views-table tbody td .views-field {
    display: block;
  }
}

@media (max-width: 992px) {
  #views-exposed-form-contacts-utiles-page-1 .form--inline {
    flex-wrap: wrap !important;
  }

  #views-exposed-form-contacts-utiles-page-1 .form-item {
    flex: 1 1 calc(50% - 6px) !important;
  }
}

@media (max-width: 576px) {
  #views-exposed-form-contacts-utiles-page-1 .form--inline {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  #views-exposed-form-contacts-utiles-page-1 .form-item,
  #views-exposed-form-contacts-utiles-page-1 .form-actions {
    width: 100% !important;
    flex: none !important;
  }

  #views-exposed-form-contacts-utiles-page-1 .form-submit {
    width: 100% !important;
    text-align: center !important;
  }

  .view-contacts-utiles .views-table {
    display: block;
    overflow-x: auto;
  }

  .view-contacts-utiles .views-table thead {
    display: none;
  }

  .view-contacts-utiles .views-table tbody tr {
    display: block;
    margin-bottom: 1rem;
    border: 1px solid rgba(237, 117, 61, 0.15);
    border-radius: 8px;
    background: #ffffff;
  }

  .view-contacts-utiles .views-table tbody td {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 10px 14px;
    border-bottom: 1px solid rgba(237, 117, 61, 0.07);
    font-size: 13px;
  }

  .view-contacts-utiles .views-table tbody td:last-child {
    border-bottom: none;
  }
}

@media (max-width: 768px) {
  #views-exposed-form-documents-page-1 .form--inline {
    flex-direction: column;
    align-items: stretch;
  }

  #views-exposed-form-documents-page-1 .form-item,
  #views-exposed-form-documents-page-1 fieldset {
    min-width: unset;
    width: 100%;
  }

  #views-exposed-form-documents-page-1 fieldset .fieldset-wrapper {
    flex-direction: column;
  }

  #views-exposed-form-documents-page-1 .form-actions {
    width: 100%;
  }

  #views-exposed-form-documents-page-1 .form-submit {
    width: 100%;
    text-align: center;
  }

  .view-documents .views-table {
    display: block;
    overflow-x: auto;
  }

  .view-documents .views-table thead {
    display: none;
  }
  .view-documents  .file{
    padding-left: 0px;
  }
.view-documents .views-table tbody tr:nth-child(even) {
  background-color: #fff;
}
  .view-documents .views-table tbody tr {
    display: block;
    margin-bottom: 1rem;
    border: 1px solid rgba(26, 138, 122, 0.15);
    border-radius: var(--radius-md);
    background: var(--ev-white);
  }

  .view-documents .views-table tbody td {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 10px 14px;
    border-bottom: 1px solid rgba(26, 138, 122, 0.07);
    font-size: 13px;
  }

  .view-documents .views-table tbody td:last-child {
    border-bottom: none;
  }
}

@media (max-width: 768px) {

  /* Formulaire — inchangé */
  .view_type_info_projet { display: none; }
  .info-projet .views-field-field-type-d-info-projet-1 { display: none; }

  #views-exposed-form-projects-page-1 .form--inline {
    flex-direction: column;
    align-items: stretch;
  }
  #views-exposed-form-projects-page-1 .form-item {
    min-width: unset;
    width: 100%;
  }
  #views-exposed-form-projects-page-1 fieldset .fieldset-wrapper {
    flex-direction: column;
    align-items: stretch;
    display: none;
  }
  #views-exposed-form-projects-page-1 .form-actions { width: 100%; }
  #views-exposed-form-projects-page-1 .form-submit {
    width: 100%;
    text-align: center;
  }

  /* ── TABLEAU → CARDS ── */
  .info-projet .views-table { display: block; }

  .info-projet .views-table thead { display: none; }

  .info-projet .views-table tbody {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 10px;
    background: var(--grey-bg);
  }

  .info-projet .views-table tbody tr {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto auto;
    gap: 2px 8px;
    padding: 10px 12px;
    border: none !important;
    border-left: 3px solid var(--blue) !important;
    background: var(--ev-white);
    box-shadow: 0 1px 4px rgba(5, 16, 64, 0.06);
    margin-bottom: 0;
    transition: background var(--transition);
  }

  /* Pays — micro-label bleu en haut */
  .info-projet .views-table tbody td.views-field-field-pays {
    grid-column: 1;
    grid-row: 1;
    display: block;
    padding: 0;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--blue);
    border: none;
  }

  /* Aéroport — ligne intermédiaire, gris discret */
  .info-projet .views-table tbody td.views-field-field-aeroport {
    grid-column: 1;
    grid-row: 2;
    display: block;
    padding: 1px 0 3px;
    font-size: 14px;
    font-weight: 500;
    color: #6b7fa3;
    border: none;
  }

  /* Titre — zone principale */
  .info-projet .views-table tbody td.views-field-title {
    grid-column: 1;
    grid-row: 3;
    display: block;
    padding: 2px 0 0;
    font-size: 13px;
    font-weight: 600;
    color: var(--dark);
    line-height: 1.4;
    border: none;
  }

  .info-projet .views-table tbody td.views-field-title a {
    color: var(--dark);
    text-decoration: none;
  }

  /* Badge type — colonne droite sur 3 lignes */
  .info-projet .views-table tbody td.views-field-field-type-d-info-projet-1 {
    display: flex !important;
    grid-column: 2;
    grid-row: 1 / 4;
    align-items: center;
    justify-content: flex-end;
    padding: 0;
    border: none;
  }

  /* Réaffiche les badges en mobile dans ce contexte */
  .info-projet .views-table tbody td.views-field-field-type-d-info-projet-1 .view_type_info_projet,
  .info-projet .views-table tbody td.views-field-field-type-d-info-projet-1 .view_type_ao {
    display: none !important;
  }
.info-projet .views-table tbody tr:nth-child(even){
  background: #fff;
}
  /* Date — masquée */
  .info-projet .views-table tbody td.views-field-created {
    display: none;
  }

  /* Hover card — bleu très léger */
  .info-projet .views-table tbody tr:hover {
    background-color: var(--blue-light, #e8effe) !important;
    border-left-color: var(--blue-hover, #153e9a) !important;
  }

  .info-projet .views-table tbody tr:hover td,
  .info-projet .views-table tbody tr:hover a {
    color: var(--dark) !important;
    background: transparent !important;
    font-weight: inherit;
  }

  .info-projet .views-table tbody tr:hover td.views-field-field-pays {
    color: var(--blue-hover, #153e9a) !important;
  }

  .info-projet .views-table tbody tr:hover td.views-field-title a {
    color: var(--blue) !important;
    text-decoration: underline;
  }

  /* Badge AO — reste visible au hover */
  .info-projet .views-table tbody tr:hover .view_type_ao {
    background: rgba(26, 79, 179, 0.15) !important;
    color: var(--blue) !important;
  }

  .info-projet .views-table tbody tr:hover .view_type_info_projet {
    background: rgba(26, 79, 179, 0.15) !important;
    color: var(--blue) !important;
  }
}


/* ─────────── depuis annuaire-contacts.css ─────────── */

@media (max-width: 900px) { .extranet .ac-grid { grid-template-columns: repeat(3, 1fr); } }

@media (max-width: 580px) { .extranet .ac-grid { grid-template-columns: repeat(2, 1fr); } }


/* ─────────── depuis membres.css ─────────── */

@media (max-width: 900px) {
  .member-body { flex-direction: column; }
  .member-sidebar { width: 100%; }
}

@media (max-width: 600px) {
  .member-hero { height:auto; }
  .member-hero-content { padding: 16px; gap: 14px; }
  .member-logo-box { width: 72px; height: 48px; }
  .member-logo-box img { max-width: 60px; max-height: 38px; }
  .member-hero-name { font-size: 1.3rem; }
  .member-page { padding: 0 0 32px; }
  .member-body { padding: 16px 0 0; gap: 16px; }
  .kpi-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 480px) {
  .slider-btn { width: 28px; height: 28px; font-size: 0.9rem; }
  .slider-btn.prev { left: 6px; }
  .slider-btn.next { right: 6px; }
}


/* ─────────── depuis page.css ─────────── */

@media (max-width: 700px) {
  #block-sakyran-bootstrap5-content {
    flex-direction: column;
  }
  .form-filters {
    width: 100% !important;
    min-width: unset;
  }
  #annuaire-entreprises-col-right {
    width: 100% !important;
  }
}


/* ─────────── depuis proavia-pdf-list.css ─────────── */

@media (max-width: 680px) {
  .proavia-pdf-list__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }

  .proavia-pdf-list__controls {
    width: 100%;
    flex-wrap: wrap;
  }

  #proavia-pdf-list-filter {
    width: 100%;
  }

  .proavia-pdf-list__table thead th:nth-child(2) {
    display: none;
  }

  .proavia-pdf-list__table tbody td:nth-child(2) {
    display: none;
  }

  .proavia-pdf-list__action-bar {
    flex-wrap: wrap;
  }

  #proavia-pdf-export-button {
    margin-left: 0;
    width: 100%;
    justify-content: center;
  }
}
/* ══════════════════════════════════════════════════════
   RESPONSIVE-FIXES.CSS
   À coller TOUT À LA FIN de responsive.css
   (ou à charger après custom.css et responsive.css)
   ══════════════════════════════════════════════════════ */

/* 1. Évite le scroll horizontal causé par les blocs en 100vw */
html, body { overflow-x: clip; }

/* 2. Images et tableaux du contenu éditorial (CKEditor) */
.field--name-body img,
.ck-content img { max-width: 100%; height: auto; }
.field--name-body table,
.ck-content table { display: block; max-width: 100%; overflow-x: auto; }

/* 3. Header desktop étroit (992–1199px) : menu + langue + recherche
      ne tiennent pas sur une ligne en 16px / nowrap */
@media (min-width: 992px) and (max-width: 1199px) {
  .navbar-nav .nav-item .nav-link,
  .navbar-nav .nav-item span.nav-link { font-size: 14px; padding: 14px 8px; }
  header[role="banner"] .region-nav-main { padding-left: 12px; }
  #block-sakyran-bootstrap5-search-form .form-search { width: 110px; }
  #block-sakyran-bootstrap5-search-form .form-search:focus { width: 140px; }
  #block-sakyran-bootstrap5-account-menu a { font-size: 13px; padding: 0 10px; }

  /* Bandeau : le texte déborde de la hauteur de 380px */
  .proavia-slide-titre { font-size: 26px; }
  .paragraph--type--bloc-bandeau .proavia-slide-texte p {
    font-size: 14px !important;
    letter-spacing: .3px;
  }
  .paragraph--type--bloc-bandeau .proavia-slide-caption { max-width: 55%; }
}

/* 4. Header mobile : logo + 3 boutons + burger ne tiennent pas sur 1 ligne
      (les libellés anglais sont plus longs) → boutons sur leur propre ligne */
@media (max-width: 575px) {
  header[role="banner"] .navbar > .container {
    height: auto;
    row-gap: 0;
  }
  header[role="banner"] .navbar-brand img { width: 100px; }

  #block-sakyran-bootstrap5-account-menu {
    order: 5 !important;
    width: 100% !important;
    height: 40px !important;
    margin-left: 0 !important;
  }
  #block-sakyran-bootstrap5-account-menu ul.nav.navbar-nav { width: 100% !important; }
  #block-sakyran-bootstrap5-account-menu li.nav-item { flex: 1 1 0 !important; }
  #block-sakyran-bootstrap5-account-menu li.nav-item a.nav-link,
  #block-sakyran-bootstrap5-account-menu li.nav-item:last-child a.nav-link {
    width: 100% !important;
    height: 40px !important;
    padding: 0 4px !important;
    justify-content: center;
    text-align: center;
    white-space: normal !important;
    line-height: 1.15;
    letter-spacing: 0 !important;
  }
}

/* 5. Témoignages : les flèches (bottom:-60px) étaient coupées par overflow:hidden */
@media (max-width: 992px) {
  .paragraph--type--testimonials { padding-bottom: 72px; }
  .paragraph--type--testimonials .testimonial-nav {
    bottom: 12px;
    right: 50%;
    transform: translateX(50%);
  }
}

/* 6. Actualités accueil : hauteur fixe 480px → texte coupé sur écrans moyens */
.paragraph--type--nos-actualites .views-row { height: auto!important; min-height:0;}

/* 7. Image habillée par le texte (float) : aucune règle mobile n'existait */
@media (max-width: 767px) {
  .image-text-container.texte_contour_image .positionned-image {
    float: none;
    display: block;
    margin: 0 0 1rem;
    width: 100%!important;
  }
  .image-text-container.texte_contour_image .positionned-image img {
    max-width: 100%;
    height: auto;
  }
}

/* 8. Texte justifié : trous disgracieux sur petits écrans */
@media (max-width: 767px) {
  p { text-align: left; }
}

/* 9. Page de recherche : marges 3rem trop grandes + numéro qui chevauche le titre */
@media (max-width: 767px) {
  .path-recherche-solr .view-recherche-sol-r { padding: 1.25rem 1rem; }
  .path-recherche-solr .views-row::before { display: none; }
  .path-recherche-solr .views-row:hover { margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0; }
}


/* ══════════════════════════════════════════════════════
   PAGE NEWS — /en/news  (template node--article--teaser)
   Le markup n'a plus .node--view-mode-teaser / h2 / .field--name-body :
   les anciennes règles d'article-page.css ne s'appliquent plus.
   Cartes : article.node--type-article > .field--name-field-image
            + .nw-body (.field--name-title, .field--name-field-summary)
            + .nw-footer > .nw-arrow
   ══════════════════════════════════════════════════════ */

/* ── Carte ── */
.view-actualites .views-row { display: flex; }

.view-actualites .views-row article.node--type-article {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  min-height: 420px;
  background: #fff;
  border-radius: 4px;
  overflow: hidden;
  cursor: pointer;
  position: relative;
  transition: box-shadow .25s, transform .25s;
}
.view-actualites .views-row article.node--type-article:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,.13);
  transform: translateY(-4px);
}

/* Image */
.view-actualites article.node--type-article .field--name-field-image {
  width: 100%;
  height: 200px;
  overflow: hidden;
  flex-shrink: 0;
}
.view-actualites article.node--type-article .field--name-field-image img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover;
  display: block;
  transition: transform .45s ease;
}
.view-actualites article.node--type-article:hover .field--name-field-image img {
  transform: scale(1.05);
}

/* Texte */
.view-actualites article.node--type-article .nw-body {
  flex: 1 1 auto;
  min-width: 0;
  padding: 14px 14px 0;
}
.view-actualites article.node--type-article .field--name-title {
  margin: 0 0 8px;
  letter-spacing: .2px;           /* écrase le 1.5px global de .field--name-title */
}
.view-actualites article.node--type-article .field--name-title a {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--color-blue, #1A4FB3);
  text-decoration: none;
  overflow-wrap: anywhere;
}
.view-actualites article.node--type-article .field--name-field-summary {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 13px;
  line-height: 1.55;
  color: var(--color-dark, #051040);
  overflow-wrap: anywhere;
}

/* Flèche */
.view-actualites article.node--type-article .nw-footer {
  display: flex;
  justify-content: center;
  padding: 14px 14px 18px;
}
.view-actualites article.node--type-article .nw-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  background: var(--color-blue, #1A4FB3);
  border-radius: 2px;
  transition: background-color .2s;
}
.view-actualites article.node--type-article .nw-arrow svg {
  width: 15px;
  height: 15px;
  fill: #fff;
}
.view-actualites article.node--type-article:hover .nw-arrow {
  background: var(--color-blue-dk, #1f4177);
}

/* ── Pagination : n'avait aucune marge latérale (collée au bord sur mobile) ── */
.view-actualites .pager {
  max-width: 1320px;
  margin: 32px auto 0;
  padding: 0 24px;
}
.view-actualites .pager .pagination {
  justify-content: center;
  flex-wrap: wrap;
  gap: 4px;
}

/* ── Grille : 4 col. (défaut) → 3 → 2 → 1 ── */
@media (max-width: 1199px) {
  .view-actualites .views-row { flex: 0 0 calc((100% - 40px) / 3); }
}

@media (max-width: 899px) {
  .view-actualites { padding: 36px 0 44px; }
  .view-actualites .views-row { flex: 0 0 calc((100% - 20px) / 2); }
  .view-actualites article.node--type-article .field--name-field-image { height: 170px; }
  .view-actualites article.node--type-article .field--name-title a { font-size: 17px; }
}

@media (max-width: 767px) {
  /* Filtres empilés, pleine largeur */
  .view-actualites .view-filters { padding: 0 16px; margin-bottom: 24px; }
  .view-actualites .views-exposed-form .form--inline {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  .view-actualites .views-exposed-form .js-form-item-year,
  .view-actualites .views-exposed-form .js-form-item-title,
  .view-actualites .views-exposed-form .form-actions {
    flex: 0 0 auto !important;
    width: 100%;
  }
  .view-actualites .views-exposed-form input[type="submit"] { width: 100%; }
}

@media (max-width: 599px) {
  .view-actualites { padding: 28px 0 36px; }
  .view-actualites .view-content { padding: 0 16px; gap: 16px; }
  .view-actualites .views-row { flex: 0 0 100%; }
  .view-actualites .views-row article.node--type-article { min-height: 0; }
  .view-actualites article.node--type-article .field--name-field-image { height: 190px; }
  .view-actualites .pager { padding: 0 16px; }
}

/* Écrans tactiles : pas d'effet de survol « collant » */
@media (hover: none) {
  .view-actualites .views-row article.node--type-article:hover { transform: none; box-shadow: none; }
  .view-actualites article.node--type-article:hover .field--name-field-image img { transform: none; }
}


/* ══════════════════════════════════════════════════════
   HOME — le slider remontait de 18px (top:-18px, prévu pour la
   bande bleue desktop) et mordait sur le bas du logo en mobile/tablette
   ══════════════════════════════════════════════════════ */
@media (max-width: 991px) {
  .paragraph--type--bloc-bandeau { top: 0; }
  header[role="banner"] .region-nav-branding { padding-bottom: 0; }
}
/* Menu burger : les pictos restent sur une ligne, zones tactiles de 44px */
@media (max-width: 991px) {
  .navbar-nav .nav-item.nav-social {
    width: 100%;
    margin-left: 0;
    padding: 6px 16px;
    gap: 8px;
    justify-content: flex-start;
  }
  .navbar-nav .nav-social a {
    width: 44px;
    height: 44px;
  }
}

/* Écrans desktop étroits (992–1199px) : on resserre pour ne pas faire déborder la ligne */
@media (min-width: 992px) and (max-width: 1199px) {
  .navbar-nav .nav-item.nav-social { margin-left: 2px; }
  .navbar-nav .nav-social a { width: 30px; height: 30px; }
}

/* ══ PHOTO PRINCIPALE DES ARTICLES : même largeur ET même hauteur ══ */
.node--type-article-page-des .ev-page-header img {
  display: block !important;
  /*width: 700px !important; */      /* largeur identique pour toutes */
  /*height: 420px !important; */     /* hauteur identique pour toutes */
  /*max-width: 100% !important;*/
  object-fit: cover;             /* recadre sans déformer */
  object-position: center;       /* "center 30%" si le sujet est coupé */
  margin: 0 auto !important;

}

@media (max-width: 768px) {
  .node--type-article-page-des .ev-page-header img {
    width: 100% !important;
    height: 240px !important;    /* hauteur identique sur mobile */
  }
}
/* ══ /en/news — correctif débordement du formulaire de filtres (mobile) ══ */
@media (max-width: 767px) {

  /* Le bandeau beige : on garde le plein écran, mais sans risque de décalage */
  .view-actualites {
    width: 100%;
    max-width: 100vw;
    margin-left: 0;
    left: 50%;
    transform: translateX(-50%);
    box-sizing: border-box;
    overflow-x: clip;
  }

  /* Tout le formulaire reste dans la largeur de l'écran */
  .view-actualites .view-filters,
  .view-actualites .views-exposed-form,
  .view-actualites .views-exposed-form .form--inline {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin-left: 0;
    margin-right: 0;
  }

  .view-actualites .views-exposed-form .form--inline {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 12px;
  }

  /* Chaque champ : pleine largeur, pas de largeur/flex hérités du desktop */
  .view-actualites .views-exposed-form .form--inline > *,
  .view-actualites .views-exposed-form .js-form-item,
  .view-actualites .views-exposed-form .form-actions {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    box-sizing: border-box;
  }

  .view-actualites .views-exposed-form select.form-select,
  .view-actualites .views-exposed-form input.form-text,
  .view-actualites .views-exposed-form input[type="submit"],
  .view-actualites .views-exposed-form .form-control {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }
}
/* ══ FIX centrage mobile — events + blocs texte ══ */

/* Events : marge latérale sur tablette + cartes centrées */
@media (min-width: 641px) and (max-width: 1360px) {
  .view-events .view-content { padding: 0 20px; box-sizing: border-box; }
}
@media (max-width: 1200px) {
  .view-events .view-content { justify-content: center; }
}

/* Events : filtres centrés et jamais plus larges que l'écran */
@media (max-width: 768px) {
  .page-route-view-events-page-event .views-exposed-form.bef-exposed-form,
  .page-route-view-events-page-event .view-filters .form--inline.clearfix {
    justify-content: center !important;
    padding: 0 16px;
    box-sizing: border-box;
    max-width: 100%;
  }
  .page-route-view-events-page-event .view-filters .form-control {
    width: 100% !important;
    max-width: 100%;
  }
  .page-route-view-events-page-event .view-filters #edit-date-wrapper,
  .page-route-view-events-page-event .view-filters #edit-actions {
    flex: 1 1 40px;
    min-width: 0;
  }
}
@media (max-width: 480px) {
  .page-route-view-events-page-event .view-filters #edit-date-wrapper .fieldset-wrapper {
    flex-direction: column !important;
    width: 100%;
  }
}

/* Bloc texte simple : titres lisibles et bloc centré en mobile */
@media (max-width: 767px) {
  .bloc-text--simple { width: 100%; max-width: 100%; margin-inline: auto; }
  .bloc-text--simple .bloc-text__flex { width: 100%; padding: 0; }
  .bloc-text--simple .bloc-text__text h2,
  .bloc-text--simple .bloc-text__text h3 {
    font-size: clamp(1.15rem, 5.5vw, 1.6rem);
    overflow-wrap: break-word;
    hyphens: auto;
  }
  .bloc-text--simple .bloc-text__text h2 [class^="text-"],
  .bloc-text--simple .bloc-text__text h3 [class^="text-"] {
    font-size: inherit !important;
  }
  .bloc-text--simple .bloc-text__media { margin-inline: auto !important; }
}
/* ══ Page détail événement (node--type-evenement-page-des) : contenu responsive ══ */

/* Le conteneur ne dépasse jamais l'écran */
.node--type-evenement-page-des {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
}
.node--type-evenement-page-des * { box-sizing: border-box; }

/* Les longues URL (lien Teams) et mots longs passent à la ligne */
.node--type-evenement-page-des .ev-page-body,
.node--type-evenement-page-des .ev-page-body p,
.node--type-evenement-page-des .ev-page-body li,
.node--type-evenement-page-des .ev-page-body a {
  overflow-wrap: anywhere;
  word-break: break-word;
  min-width: 0;
}

/* Images / tableaux saisis dans CKEditor */
.node--type-evenement-page-des .ev-page-body img { max-width: 100%; height: auto; }
.node--type-evenement-page-des .ev-page-body table { display: block; max-width: 100%; overflow-x: auto; }

/* Formulaire d'inscription : fieldsets et champs ne s'élargissent pas */
.node--type-evenement-page-des form,
.node--type-evenement-page-des fieldset {
  min-width: 0;
  max-width: 100%;
}
.node--type-evenement-page-des .form-control,
.node--type-evenement-page-des .form-textarea-wrapper { max-width: 100%; width: 100%; }

@media (max-width: 767px) {
  .node--type-evenement-page-des {
    margin: 20px auto;
    padding: 0 16px;
  }

  /* Image : annule le 90% de tables_design.css, centrée sur toute la largeur */
  .node--type-evenement-page-des .ev-page-header { max-width: 100%; }
  .node--type-evenement-page-des .ev-page-header img { width: 100% !important; }

  .node--type-evenement-page-des .ev-page-title { font-size: 1.35rem; }

  /* Dates : côte à côte si possible, sinon empilées, toujours centrées */
  .node--type-evenement-page-des .ev-page-dates {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    font-size: 1rem;
  }
  .node--type-evenement-page-des .ev-page-date { text-align: center; }

  .node--type-evenement-page-des .ev-page-location { flex-wrap: wrap; text-align: center; }

  /* Texte : pas de justification (trous énormes) + marges propres */
  .node--type-evenement-page-des .ev-page-body {
    padding: 0;
    text-align: left;
    hyphens: auto;
  }
  .node--type-evenement-page-des .ev-page-body ol,
  .node--type-evenement-page-des .ev-page-body ul { padding-left: 1.25rem; }
  /* ══ /en/events — filtres centrés (≤768px) ══ */

}
@media (max-width: 768px) {

  /* Le formulaire : colonne unique centrée */
  .page-route-view-events-page-event .views-exposed-form.bef-exposed-form,
  .page-route-view-events-page-event .view-filters .form--inline.clearfix {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 420px !important;
    margin: 0 auto 30px !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
  }

  /* Chaque groupe (Search, Dates, Apply) : pleine largeur de la colonne */
  .page-route-view-events-page-event .view-filters .form--inline.clearfix > * {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    align-items: stretch !important;
    box-sizing: border-box !important;
  }

  /* Tous les champs remplissent leur groupe */
  .page-route-view-events-page-event .view-filters .form-control,
  .page-route-view-events-page-event input#edit-title.form-text.form-control {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Dates Min / Max : deux colonnes égales */
}
/* ══ Blocs texte (page type "page") : aucun décalage, aucun débordement en mobile ══ */
@media (max-width: 991px) {
  .node--type-page .node__content,
  .node--type-page .field--name-field-paragraphes,
  .node--type-page .field--name-field-paragraphes > .field__item:has(> .bloc-text, > .bloc-text-colonnes, > .bloc-text-accordeon) {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    left: auto !important;
    transform: none !important;
    box-sizing: border-box;
  }

  .bloc-text,
  .bloc-text-colonnes,
  .bloc-text-accordeon {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    left: auto !important;
    transform: none !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box;
  }

  .bloc-text__header,
  .bloc-text__flex,
  .bloc-text__media,
  .bloc-text__text,
  .bloc-text-colonnes__grid {
    width: auto;
    max-width: 100%;
    min-width: 0;
  }
  .bloc-text__media { width: 100%; }
  .bloc-text__media img { width: 100%; max-width: 100%; height: auto; }

  .bloc-text__title,
  .bloc-text__subtitle,
  .bloc-text__text p,
  .bloc-text__text li { overflow-wrap: anywhere; }

  /* la grille en colonnes : minmax(280px) déborde sur petits écrans */
  .bloc-text-colonnes__grid { grid-template-columns: 1fr; }
} 

/* ══════════════════════════════════════════════════════
   /en/news — CORRECTIF RESPONSIVE
   À coller TOUT À LA FIN de responsive.css
   (après le bloc « /en/news — correctif débordement du formulaire »)
   ══════════════════════════════════════════════════════ */

/* 0. Garde-fou : le conteneur de la vue doit occuper toute la largeur de son
      parent. Si #block-sakyran-bootstrap5-content est en display:flex (page.css),
      il rétrécit au contenu et le calcul « plein écran » (100vw) se décale. */
.views-element-container:has(> .view-actualites) {
  flex: 1 1 100%;
  width: 100%;
  min-width: 0;
}

/* 1. Filtres — toutes tailles : mêmes hauteurs (input/select 38px vs bouton 42px
      = décalage de 4px) et select assez large pour « - Any - » */
form#views-exposed-form-actualites-page-news .js-form-item-year {
  flex: 0 0 auto;
}
form#views-exposed-form-actualites-page-news .js-form-item-year .form-select {
  width: 110px !important;
}
form#views-exposed-form-actualites-page-news .js-form-item-year .form-select,
form#views-exposed-form-actualites-page-news .js-form-item-title .form-control,
form#views-exposed-form-actualites-page-news .form-actions input[type="submit"] {
  height: 42px !important;
}

/* 2. Filtres — ≤ 899px : empilés, pleine largeur.
      events.css fixe en !important (sélecteur #id) : input 480px, bouton 150px,
      select 90px. Ces règles gagnent contre tous les correctifs mobiles écrits
      avec des classes seules ; on les neutralise donc avec le même #id. */
@media (max-width: 899px) {
  form#views-exposed-form-actualites-page-news.views-exposed-form {
    display: block;
    width: 100%;
    margin: 0;
  }

  form#views-exposed-form-actualites-page-news .form--inline {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  form#views-exposed-form-actualites-page-news .form--inline > .js-form-item,
  form#views-exposed-form-actualites-page-news .form--inline > .form-actions {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
  }

  form#views-exposed-form-actualites-page-news .js-form-item-year .form-select,
  form#views-exposed-form-actualites-page-news .js-form-item-title .form-control,
  form#views-exposed-form-actualites-page-news .form-actions input[type="submit"] {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* 3. Bandeau beige — mobile : le correctif précédent (width:100% + translateX)
      ne donnait PAS le plein écran (il restait 12px blancs de chaque côté, la
      marge du .container). On reprend la technique desktop. */
@media (max-width: 767px) {
  .view-actualites {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    left: auto;
    transform: none;
  }
}

/* 4. Alignement latéral : filtres à 16px mais cartes à 24px entre 600 et 767px */
@media (max-width: 767px) {
  .view-actualites .view-filters { padding: 0 24px; }
}
@media (max-width: 599px) {
  .view-actualites .view-filters { padding: 0 16px; }
}

/* 5. Pagination : 12 éléments → passe sur 2 lignes en 375px, on la resserre */
@media (max-width: 599px) {
  .view-actualites .pager .pagination { gap: 2px; }
  .view-actualites .pager .page-link {
    padding: .4rem .6rem;
    font-size: .85rem;
  }
}

/* FIX : les hashtags des cartes membres ne passent pas à la ligne */

/* 1. Les cartes (enfants de la grid) doivent pouvoir rétrécir */
.fiches-membres__grid {
  grid-template-columns: repeat(auto-fill, minmax(0, 1fr));
}
.fiches-membres__card {
  min-width: 0;
}

/* 2. Forcer le retour à la ligne du texte des hashtags */
.fiches-membres__desc {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}
@media (max-width: 600px) {
  .paragraph--type--fiches-membres .fiches-membres__grid {
    grid-template-columns: 1fr;
    min-width: 0;          /* ← au cas où la grid est elle-même dans le flex du bloc contenu */
  }
  .fiches-membres__card {
    min-width: 0;
    max-width: 100%;
  }
  .fiches-membres__desc {
    white-space: normal !important;
    overflow-wrap: anywhere;
  }
}