/* =========================================================
   OFFCANVAS — FOOTER FADE (indique qu’il y a du contenu à scroller)
   ========================================================= */
.region--offcanva-menu .offcanva_footer {
  position: relative; /* requis pour le ::before */
}
.region--offcanva-menu .offcanva_footer::before {
  content: "";
  position: absolute;
  top: -100px; left: 0; right: 0; height: 100px;
  pointer-events: none;
  /* dégradé vers le haut, couleur alignée sur le thème */
  background: linear-gradient(to top, rgba(131, 41, 66, 1), rgba(131, 41, 66, 0));
}

/* =========================================================
   OFFCANVAS — MAIN MENU: LIEN ACTIF (gras + icône)
   ========================================================= */
.region--offcanva-menu #block-cnam-main-menu a.is-active {
  font-weight: 700;
  position: relative;
}
/* Icône en masque SVG (compatible WebKit) */
.region--offcanva-menu #block-cnam-main-menu a.is-active::before {
  content: "";
  display: inline-block;
  width: .9em; height: .9em;
  margin-right: .5em;
  vertical-align: -.1em;
  background-color: currentColor;
  /* Version détaillée plutôt que le shorthand -webkit-mask/mask */
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M3 9l3 3 7-7" stroke="black" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M3 9l3 3 7-7" stroke="black" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}

/* =========================================================
   HEADER — BASE
   ========================================================= */
#header {
  position: fixed;
  top: calc(var(--drupal-displace-offset-top) + var(--drupal-local-tasks-offset-top));
  left: 0;
  z-index: 1000;
  width: 100%; height: 80px;
  background-color: #fff;
  font-family: 'raleway';
}
.path-frontpage #header {
  top: calc(var(--drupal-displace-offset-top) + var(--drupal-local-tasks-offset-top) + 2.5rem);
}
@media (min-width: 1120px) {
  .path-frontpage #header {
    top: calc(var(--drupal-displace-offset-top) + var(--drupal-local-tasks-offset-top));
  }
}
#header .header-wrapper {
  position: relative;
  max-width: 1440px;
  margin: auto;
  display: flex;
  height: 80px;
  box-shadow: rgba(149, 157, 165, .2) 0 8px 24px;
}

/* =========================================================
   HEADER — TOGGLE (HAMBURGER)
   ========================================================= */
.header-toggle-menu {
  position: relative;
  z-index: 10;
  width: 80px; min-width: 80px; height: 80px;
  background-color: var(--medium-blue);
  border: none; cursor: pointer;
  padding-block-start: .8rem;
  transition: .2s cubic-bezier(.4,0,.2,1);
}
.header-toggle-menu .header-toggle-menu__icon span {
  display: block;
  width: 40px; height: 3px;
  background-color: #fff; border-radius: 3px;
  margin: 5px auto;
  transition: .2s cubic-bezier(.4,0,.2,1);
}
.header-toggle-menu:hover { background-color: var(--dark-red); }
.header-toggle-menu[aria-checked='true'] .header-toggle-menu__icon span:nth-child(1) { transform: translateY(5px) rotate(45deg); }
.header-toggle-menu[aria-checked='true'] .header-toggle-menu__icon span:nth-child(2) { opacity: 0; }
.header-toggle-menu[aria-checked='true'] .header-toggle-menu__icon span:nth-child(3) { transform: translateY(-10.5px) rotate(-45deg); }
.header-toggle-menu .header-toggle-menu__text {
  text-transform: uppercase; font-size: .8rem; color: #fff;
  font-weight: 600; letter-spacing: 1px; line-height: 1rem;
}
/* body:has(.header-toggle-menu[aria-checked='true']) { overflow: hidden; } */

/* =========================================================
   HEADER — BRANDING
   ========================================================= */
#block-cnam-site-branding {
  position: relative; z-index: 1;
  width: 400px; min-width: 400px; height: 160px;
  background-color: var(--red);
  display: flex; justify-content: flex-end;
  padding: 2rem; padding-top: 1em;
  transition: .2s cubic-bezier(.4,0,.2,1);
}
body:has(.header-toggle-menu[aria-checked='true']) #block-cnam-site-branding,
body.scrolled #block-cnam-site-branding { height: 80px; }

/* =========================================================
   HEADER — NAV & SECONDARY MENU
   ========================================================= */
#header-nav { width: 100%; display: flex; }
#header-nav .region--secondary-menu { width: 300px; display: flex; }
#header-nav .region--secondary-menu > .search-block-form,
#header-nav .region--secondary-menu > #block-cnam-contact,
#header-nav .region--secondary-menu > #block-cnam-formsapi-tout { width: 80px; height: 80px; }
#header-nav .region--secondary-menu .search-block-form,
#header-nav .region--secondary-menu > #block-cnam-formsapi-tout { border-inline: 1px solid var(--medium-blue); }

#header-nav .region--secondary-menu #block-cnam-account-menu {
  position: relative; width: 140px; height: 80px;
  background-color: var(--red); color: #fff;
  display: flex; justify-content: center; align-items: center;
}
#header-nav .region--secondary-menu #block-cnam-account-menu .header__secondary_menu__link span {
  font-size: .75rem; text-transform: uppercase; font-weight: 600;
  display: flex; flex-direction: column; align-items: center;
}
#header-nav .region--secondary-menu #block-cnam-account-menu .header__secondary_menu__link::before {
  content: ''; display: block;
  background-image: url(/themes/custom/cnam/img/icons/lock-w.png);
  width: 21px; height: 30px; float: left; margin-right: .5rem; margin-block-start: .2rem;
}
.user-logged-in #header-nav .region--secondary-menu #block-cnam-account-menu .header__secondary_menu__link::before {
  background-image: url(/themes/custom/cnam/img/icons/unlock-w.png);
}
#header-nav .region--secondary-menu #block-cnam-account-menu .header__secondary_menu__link img { width: 87px; }

/* =========================================================
   TOP NAV — MENU D’ENTÊTE
   ========================================================= */
#block-cnam-menudentete { width: 100%; }
#block-cnam-menudentete > ul {
  display: flex; justify-content: space-between; align-items: center;
  height: 80px; width: 100%; max-width: 660px; margin-inline: auto;
}
#block-cnam-menudentete > ul > li {
  display: flex; width: fit-content; height: 100%;
  align-items: center; justify-content: center;
  padding-inline: clamp(.7rem, 1vw, 1rem);
  transition: .2s cubic-bezier(.4,0,.2,1);
}
#block-cnam-menudentete > ul > li a {
  font-size: .9rem; font-weight: 650; text-transform: uppercase;
  color: var(--medium-blue); white-space: nowrap;
  transition: .2s cubic-bezier(.4,0,.2,1);
}
#block-cnam-menudentete > ul > li a:hover { color: #fff; }
#block-cnam-menudentete > ul > li:has(a:hover) { background-color: var(--medium-blue); }

/* =========================================================
   SEARCH / SAPI TOGGLE
   ========================================================= */
#block-cnam-formulairederecherche-header .header__secondary_menu__link,
#block-cnam-formsapi-tout .header__secondary_menu__link {
  width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;
}
#block-cnam-formulairederecherche-header .header__secondary_menu__link img,
#block-cnam-formsapi-tout .header__secondary_menu__link img { width: 25px; }

#block-cnam-formulairederecherche-header [id^='search-block-form'],
#block-cnam-formsapi-tout #views-exposed-form-sapi-tout-page-res {
  position: absolute; top: 0; left: 0;
  transform: translateX(-100%);
  opacity: 0; pointer-events: none; visibility: hidden;
  transition: opacity .3s cubic-bezier(.4,0,.2,1);
  width: calc(100vw - calc(100vw - 1440px) - 300px - 80px - 399px);
  height: 80px; padding: .755rem 2rem; background-color: var(--dark-blue); z-index: 10;
}
#block-cnam-formulairederecherche-header [id^='search-block-form'] .form-item,
#block-cnam-formsapi-tout #views-exposed-form-sapi-tout-page-res .form-item {
  width: 100%; height: 100%; background-color: #fff; border: 3px solid var(--medium-blue);
}
#block-cnam-formulairederecherche-header [id^='search-block-form'] .form-item .form-search,
#block-cnam-formsapi-tout #views-exposed-form-sapi-tout-page-res .form-item .form-text {
  width: 100%; height: 100%;
  padding-inline: calc(50px + 2rem) 1rem;
  font-size: 1rem; font-weight: 700; color: var(--dark-blue);
  border: none; background-color: transparent; outline: none;
}
#block-cnam-formulairederecherche-header [id^='search-block-form'] .form-item .form-search::placeholder,
#block-cnam-formsapi-tout #views-exposed-form-sapi-tout-page-res .form-item .form-search::placeholder {
  color: var(--dark-blue); font-weight: 500;
}
#block-cnam-formulairederecherche-header [id^='search-block-form'] .form-submit,
#block-cnam-formsapi-tout #views-exposed-form-sapi-tout-page-res .form-submit {
  position: absolute; left: 3rem; top: 0; font-size: 0;
  width: 44px; height: 80px; display: block; outline: none; border: none; background-color: transparent;
  background-image: url('/themes/custom/cnam/img/icons/search.svg'); background-size: 50%; background-repeat: no-repeat; background-position: center;
}
#block-cnam-formulairederecherche-header [id^='search-block-form']:hover,
#block-cnam-formulairederecherche-header:has(.header__secondary_menu__link:hover) [id^='search-block-form'],
#block-cnam-formsapi-tout #views-exposed-form-sapi-tout-page-res:hover,
#block-cnam-formsapi-tout:has(.header__secondary_menu__link:hover) #views-exposed-form-sapi-tout-page-res {
  opacity: 1; pointer-events: auto; visibility: visible;
}

/* =========================================================
   CONTACT (ICÔNE)
   ========================================================= */
#block-cnam-contact a {
  display: flex; align-items: center; justify-content: center;
  font-size: 0; width: 80px; height: 80px;
}
#block-cnam-contact a::before {
  content: ''; display: block; width: 30px; height: 19px;
  background-image: url('/themes/custom/cnam/img/icons/contact.svg');
  background-size: contain; background-repeat: no-repeat;
}

/* =========================================================
   ACCOUNT MENU — LOGGED OUT (overlay cliquable)
   ========================================================= */
body:not(.user-logged-in) #block-cnam-account-menu a[href^='/user/login'] {
  position: absolute; top: 0; left: 0; opacity: 0;
  display: block; width: 100%; height: 100%;
}

/* =========================================================
   ACCOUNT MENU — DROPDOWN (LOGGED IN)
   ========================================================= */
#block-cnam-account-menu:has(a[href^='/user/logout'], a[href^='/en/user/logout']) > ul {
  position: absolute;
  top: clamp(3.5rem, 8vw - 1.5rem, 80px); right: 0; z-index: 1000;

  display: flex; flex-direction: column; align-items: flex-start;

  /* dégradé + coins bas arrondis (unifie les règles précédentes) */
  background: linear-gradient(to bottom, var(--red) 0%, var(--dark-red) 100%);
  border-radius: 0 0 1rem 1rem;
  overflow: hidden;

  padding: 1rem 1.25rem;
  padding-top: 2.5rem; /* espace pour le lien logout en haut à droite */

  white-space: nowrap;       /* remplace text-wrap: nowrap */
  opacity: 0; pointer-events: none;
  transition: .2s cubic-bezier(.4,0,.2,1);
}
/* ouverture au survol (desktop) */
#block-cnam-account-menu:has(a[href^='/user/logout'], a[href^='/en/user/logout']):hover > ul {
  opacity: 1; pointer-events: all;
}
/* ouverture accessible pour touch/clavier */
#block-cnam-account-menu:focus-within > ul {
  opacity: 1; pointer-events: auto;
}

/* Lien logout (FR et EN) stylé et épinglé en haut à droite */
#block-cnam-account-menu:has(a[href^="/user/logout"], a[href^="/en/user/logout"]) > ul a[href^="/user/logout"],
#block-cnam-account-menu:has(a[href^="/user/logout"], a[href^="/en/user/logout"]) > ul a[href^="/en/user/logout"] {
  position: absolute; top: .5rem; right: .75rem;
  color: #fff; font-weight: 700; line-height: 1;
  padding: .35rem .5rem .35rem 1.6rem;  /* place pour l’icône */
  border-radius: .4rem; text-decoration: none;
}
/* Icône logout en masque SVG */
#block-cnam-account-menu a[href^="/user/logout"]::before,
#block-cnam-account-menu a[href^="/en/user/logout"]::before {
  content: "";
  position: absolute; left: .5rem; top: 50%; transform: translateY(-50%);
  width: 1rem; height: 1rem; background-color: currentColor; opacity: .95;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M8 3h6a2 2 0 0 1 2 2v3h-2V5H8v10h6v-3h2v3a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z"/><path d="M11 10H3v-2h8V6l4 4-4 4v-2z"/></svg>');
  -webkit-mask-repeat: no-repeat; -webkit-mask-position: center; -webkit-mask-size: contain;
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M8 3h6a2 2 0 0 1 2 2v3h-2V5H8v10h6v-3h2v3a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z"/><path d="M11 10H3v-2h8V6l4 4-4 4v-2z"/></svg>');
  mask-repeat: no-repeat; mask-position: center; mask-size: contain;
}

/* Items du dropdown (espacement) */
#block-cnam-account-menu:has(a[href^='/user/logout'], a[href^='/en/user/logout']) > ul > li:not(:last-of-type) {
  margin-bottom: .5rem;
}
#block-cnam-account-menu:has(a[href^='/user/logout'], a[href^='/en/user/logout']) > ul > li a {
  color: #fff; text-decoration: none; font-weight: 600;
  transition: .2s cubic-bezier(.4,0,.2,1);
}
#block-cnam-account-menu:has(a[href^='/user/logout'], a[href^='/en/user/logout']) > ul > li a:hover {
  text-decoration: underline;
}

/* =========================================================
   HEADER MENU PANEL
   ========================================================= */
#header-menu {
  position: absolute; top: 0; left: 80px;
  width: 100%; max-width: 1360px; height: fit-content;
  max-height: calc(100vh - 80px);
  padding-block-start: 80px;
  background-color: var(--red);
  opacity: 0; pointer-events: none;
  transition: .25s cubic-bezier(.4,0,.2,1);
}
/* ouverture via :has (desktop) */
body:has(.header-toggle-menu[aria-checked='true']) #header-menu {
  opacity: 1; pointer-events: all;
}
/* fallback JS simple (mobile/iOS) : body.menu-open */
body.menu-open #header-menu {
  opacity: 1; pointer-events: auto;
}

/* =========================================================
   OFFCANVAS REGION — MAIN MENU LAYOUT (desktop/base)
   ========================================================= */
.region--offcanva-menu {
  display: flex; flex-direction: column; z-index: 1000;
  max-height: calc(100vh - 80px - var(--drupal-displace-offset-top) - var(--drupal-local-tasks-offset-top));
}
.region--offcanva-menu .offcanva_footer,
.region--offcanva-menu #block-cnam-main-menu {
  background-color: var(--dark-red);
  padding: 3.5rem;
}
.region--offcanva-menu #block-cnam-main-menu {
  width: 100%; display: flex; flex-direction: column; gap: 1rem;
  overflow-y: scroll;           /* base; sera overridé en mobile */
  -webkit-overflow-scrolling: touch;
}
.region--offcanva-menu #block-cnam-main-menu > ul { column-count: 4; }
.region--offcanva-menu #block-cnam-main-menu > ul > li { break-inside: avoid-column; }
.region--offcanva-menu #block-cnam-main-menu > ul a {
  font-size: 1.2rem; color: #fff; font-weight: 500;
}
.region--offcanva-menu #block-cnam-main-menu > ul > li > :is(a, span) {
  color: #fff; text-transform: uppercase; font-size: 1.25rem; font-weight: 700;
  display: block; margin-block-end: .5rem;
}
.region--offcanva-menu #block-cnam-main-menu > ul > li > span { border-bottom: 1px solid var(--red); }
.region--offcanva-menu #block-cnam-main-menu > ul > li > :is(a, span)::before {
  content: ''; display: inline-block; width: 1rem; height: 1.5rem;
  background-color: var(--red);
  margin-inline-end: .5rem; vertical-align: sub; margin-block-end: -.25rem;
}
.region--offcanva-menu #block-cnam-main-menu ul.niv-2 {
  margin-block-end: 0; border-left: 1px solid #fff; margin-inline-start: .5rem;
}
.region--offcanva-menu #block-cnam-main-menu ul.niv-2 li { margin-inline-start: 1rem; }
.region--offcanva-menu #block-cnam-main-menu ul.niv-2 li :is(a, span) { font-size: 1rem; }
.formlinks ul li{text-transform: uppercase;}
.formlinks ul li a::before {
    content: "";
    display: inline-block;
    width: 1rem;
    height: .7rem;
    margin-inline-end: 1rem;
    background-image: url(/themes/custom/cnam/img/icons/arrow-red.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
/* =========================================================
   OFFCANVAS — VOUS ÊTES
   ========================================================= */
.region--offcanva-menu #block-cnam-vousetes {
  width: 100%; background-color: var(--red);
  padding: 3.5rem;
  display: none;
  align-items: center; flex-wrap: wrap;
}
.region--offcanva-menu #block-cnam-vousetes > a {
  display: flex; align-items: center; gap: .5rem;
  font-size: 1rem; font-weight: 600; text-decoration: none; color: #fff;
  transition: .2s cubic-bezier(.4,0,.2,1);
}
.region--offcanva-menu #block-cnam-vousetes > a:hover { text-decoration: underline; }
.region--offcanva-menu #block-cnam-vousetes > a::before {
  content: ''; display: block; width: 1.5rem; height: 1rem;
  background-image: url('/themes/custom/cnam/img/icons/arrow-back-white.svg');
  background-size: contain; background-repeat: no-repeat;
}
.region--offcanva-menu #block-cnam-vousetes > h2 {
  margin-inline: auto 1rem; margin-block: 0;
  text-transform: uppercase; font-size: 1.25rem; color: #fff;
}
.region--offcanva-menu #block-cnam-vousetes > ul {
  display: flex; align-items: center; gap: 1rem; margin-block: 0;
}
.region--offcanva-menu #block-cnam-vousetes > ul a {
  text-transform: uppercase; color: #fff; font-weight: 600;
  padding: .75rem 1.5rem; border: #fff 2.5px solid; border-radius: 1.5rem; font-size: .9rem;
  transition: .2s cubic-bezier(.4,0,.2,1);
}
.region--offcanva-menu #block-cnam-vousetes > ul a:hover { background-color: #fff; color: var(--red); }

/* =========================================================
   OFFCANVAS — FOOTER LAYOUT (styles principaux)
   ========================================================= */
.region--offcanva-menu .offcanva_footer {
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: 2rem;
  width: 100%;
  background-color: #762338;
  padding: 1.2rem;
}
.region--offcanva-menu .offcanva_footer * { margin: 0; }
.region--offcanva-menu .offcanva_footer #block-cnam-menumentionsobligatoires {
  flex-basis: fit-content; display: flex; align-items: center;
}
.region--offcanva-menu .offcanva_footer #block-cnam-menumentionsobligatoires > ul {
  display: flex; align-items: center; gap: .25rem;
}
.region--offcanva-menu .offcanva_footer #block-cnam-menumentionsobligatoires > ul a {
  color: #fff; font-size: .9rem; transition: .2s cubic-bezier(.4,0,.2,1);
}
.region--offcanva-menu .offcanva_footer #block-cnam-menumentionsobligatoires > ul li {
  display: flex; gap: .25rem;
}
.region--offcanva-menu .offcanva_footer #block-cnam-menumentionsobligatoires > ul li:not(:last-of-type)::after {
  content: ' / '; color: #fff;
}
.region--offcanva-menu .offcanva_footer #block-cnam-menumentionsobligatoires > ul a:hover { text-decoration: underline; }

.region--offcanva-menu .offcanva_footer #block-cnam-navigationsecondaire {
  flex-basis: 1; display: flex; align-items: center;
}
.region--offcanva-menu .offcanva_footer #block-cnam-navigationsecondaire > ul {
  display: flex; align-items: center; gap: 1rem; margin-block: 0;
}
.region--offcanva-menu .offcanva_footer #block-cnam-navigationsecondaire > ul a {
  text-transform: uppercase; color: #fff; font-weight: 600;
  padding: .75rem 1.5rem; background-color: var(--red); border-radius: 1.5rem; font-size: .8rem;
  transition: .2s cubic-bezier(.4,0,.2,1);
}
.region--offcanva-menu .offcanva_footer #block-cnam-navigationsecondaire > ul a:hover {
  background-color: #fff; color: var(--red);
}

/* =========================================================
   MEDIA QUERIES
   ========================================================= */
@media screen and (max-width: 1370px) {
  #header #block-cnam-menudentete {
    position: absolute; top: 80px; left: 0; width: 100%; height: 80px;
    background-color: #fff; z-index: 998; display: flex; align-items: center;
    opacity: 0; pointer-events: none; transition: .25s cubic-bezier(.4,0,.2,1);
    box-shadow: rgba(0,0,0,.06) 0 2px 4px 0 inset;
  }
  body:has(.header-toggle-menu[aria-checked='true']) #header #block-cnam-menudentete {
    opacity: 1; pointer-events: all;
  }
  #header #block-cnam-menudentete > ul { margin: 0; padding: 0 2rem; max-width: none; }
  #header-menu { width: 100%; left: 0; max-width: unset; top: 80px; }
  #header-nav { justify-content: flex-end; }
}

@media screen and (max-width: 900px) {
  /* panneau scrollable (iOS) */
  #header-menu,
  .region--offcanva-menu #block-cnam-main-menu {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    /*padding: 2em 0 3em 0;  espace avant et après la navigation */
  }
  /* UL racine en pile (remplace column-count: 4) */
  .region--offcanva-menu #block-cnam-main-menu > ul {
    display: flex; flex-direction: column;
    gap: 1.25rem;
    column-count: 1; column-gap: 0;
  }
  .region--offcanva-menu #block-cnam-main-menu > ul > li {
    break-inside: auto; width: 100%;
  }
  .region--offcanva-menu #block-cnam-main-menu > ul a {
      line-height: 2em;
  }
  /* .region--offcanva-menu #block-cnam-main-menu > ul > li > :is(a, span) {
    display: block; padding: .5rem 0;
    border-bottom: 1px solid rgba(255,255,255,.25);
  } */
  .region--offcanva-menu #block-cnam-main-menu ul.niv-1,
  .region--offcanva-menu #block-cnam-main-menu ul.niv-2 {
    border: 0; margin: .5rem 0 0 0;
    padding-left: 2.5rem;
  }
  .region--offcanva-menu #block-cnam-main-menu ul.niv-2 li { margin-left: 0; }
  /* icône barre colorée plus grande en mobile */
  .region--offcanva-menu #block-cnam-main-menu > ul > li > :is(a, span)::before {
    width: 2rem; height: 2.1rem;
  }

  /* panneau : contrainte de hauteur et scroll */
  #header-menu {
    overflow-x: hidden;
    max-height: calc(100vh - 80px - var(--drupal-displace-offset-top) - var(--drupal-local-tasks-offset-top));
  }
  .region--offcanva-menu { height: 100%; }

  /* "Vous êtes" : layout colonne */
  .region--offcanva-menu #block-cnam-vousetes {
    flex-direction: column; align-items: flex-start; gap: 2rem; padding-block: 2.5rem;
  }
  .region--offcanva-menu #block-cnam-vousetes > h2 { margin: 0; }
  .region--offcanva-menu #block-cnam-vousetes > ul { flex-wrap: wrap; width: 100%; gap: 1rem; }
  .region--offcanva-menu #block-cnam-vousetes > ul li { width: 100%; }
  .region--offcanva-menu #block-cnam-vousetes > ul a { display: block; text-align: center; }

  /* footer nav secondaire : en pile */
  .region--offcanva-menu .offcanva_footer { flex-direction: column; gap: 2rem;
  display: none;
   }
  .region--offcanva-menu .offcanva_footer #block-cnam-navigationsecondaire { width: 100%; }
  .region--offcanva-menu .offcanva_footer #block-cnam-navigationsecondaire > ul { flex-wrap: wrap; width: 100%; }
  .region--offcanva-menu .offcanva_footer #block-cnam-navigationsecondaire > ul li { width: 100%; }
  .region--offcanva-menu .offcanva_footer #block-cnam-navigationsecondaire > ul a { display: block; text-align: center; }
}

@media screen and (max-width: 800px) {
  #header-menu {
    top: 160px; padding-block-start: 0;
    height: calc(100vh - 160px - var(--drupal-displace-offset-top) - var(--drupal-local-tasks-offset-top));
  }
  #header #header-nav {
    position: absolute; top: 80px; left: 0; width: 100%;
    display: flex; background-color: #fff;
    opacity: 0; pointer-events: none; transition: .25s cubic-bezier(.4,0,.2,1);
  }
  .region--offcanva-menu #block-cnam-main-menu a.is-active {
      font-weight: 600;
      background-color: var(--red);
      padding: .3rem;
  }
  body:has(.header-toggle-menu[aria-checked='true']) #header #header-nav {
    opacity: 1; pointer-events: all;
  }
  #header #header-nav .region--secondary-menu { width: 100%; height: 80px; background-color: #fff; z-index: 999; }
  #header #header-nav .header__secondary_menu__link,
  #header #header-nav .region--secondary-menu > *:not(#block-cnam-formsapi-tout),
  #header #block-cnam-menudentete { display: none; pointer-events: none; }
  #block-cnam-site-branding { min-width: unset; width: 100%; height: 80px; }
  #header-nav .region--secondary-menu > #block-cnam-formsapi-tout { width: 100%; }
  #block-cnam-formulairederecherche-header [id^='search-block-form'],
  #block-cnam-formsapi-tout #views-exposed-form-sapi-tout-page-res {
    transform: unset; visibility: visible; width: 100%; opacity: 1; pointer-events: all;
  }
  .region--offcanva-menu .offcanva_footer, .region--offcanva-menu #block-cnam-main-menu {
      padding-inline: 1rem;
  }
}

/* =========================================================
   DIVERS — iOS inertie de scroll
   ========================================================= */
#header-menu,
.region--offcanva-menu #block-cnam-main-menu { -webkit-overflow-scrolling: touch; }
