.h-full {
  height: 100%;
}

.w-full {
  width: 100%;
}

.min-h-full {
  min-height: 100%;
}

.min-w-full {
  min-width: 100%;
}

.flex {
  display: flex;
}

.inline-flex {
  display: inline-flex;
}

.grid {
  display: grid;
}

.inline-grid {
  display: inline-grid;
}

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.items-start {
  align-items: flex-start;
}

.items-center {
  align-items: center;
}

.items-end {
  align-items: flex-end;
}

.justify-start {
  justify-content: flex-start;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.content-stretch {
  align-content: stretch;
}

.shrink-0 {
  flex-shrink: 0;
}

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.font-normal {
  font-weight: 400;
}

.font-semibold {
  font-weight: 600;
}

.leading-none {
  line-height: 1;
}

.leading-normal {
  line-height: 1.5;
}

.m-0 {
  margin: 0;
}

.p-0 {
  padding: 0;
}

/* Standard layout helpers */

.dc-container {
  width: min(100% - 3rem, var(--wp--style--global--wide-size, 1280px));
  margin-inline: auto;
}

.dc-stack {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.dc-stack--sm {
  gap: 0.75rem;
}

.dc-stack--lg {
  gap: 2.5rem;
}

.dc-cluster {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

/* ===================================
   HEADER STYLES - CLEAN & SIMPLE
   =================================== */

/* Menu links */

#menu-primary a {
    font-family: var(--wp--preset--font-family--body, system-ui, -apple-system, sans-serif);
    font-size: 0.875rem;
    font-weight: 500;
    text-transform: uppercase;
    color: var(--wp--preset--color--primary);
    text-decoration: none;
    letter-spacing: 0.025em;
}

#menu-primary a:hover {
    color: var(--wp--preset--color--primary-hover);
}

/* Remove focus outlines on menu items */

#menu-primary a:focus-visible,
#offcanvas-menu a:focus-visible {
    outline: none;
    box-shadow: none;
}

/* Social links */

#menu-container .wp-block-social-links.has-large-icon-size {
    font-size: 24px;
}

/* Logo sizing */

.logo-link {
    display: inline-block;
    line-height: 0;
}

.logo-image {
    max-width: 480px;
    height: auto;
    display: block;
}

/* ===================================
   RESPONSIVE NAV — desktop/mobile visibility
   =================================== */

/* Nav desktop : cachée sous 1024px */

.wp-block-navigation:has(.dc26-nav-desktop) {
    display: none !important;
}

@media (min-width: 1024px) {
    .wp-block-navigation:has(.dc26-nav-desktop) {
        display: flex !important;
    }
}

/* Trigger mobile : caché à partir de 1024px */

.dc26-mobile-only {
    display: flex;
}

@media (min-width: 1024px) {
    .dc26-mobile-only {
        display: none;
    }
}

/* ===================================
   SCROLL ANIMATIONS - SEPARATED FOR SMOOTHNESS
   =================================== */

/* WP Admin bar offset */

.logged-in #menu-container {
    top: 32px;
}

#menu-container {
    transition: transform 0.3s ease, height 0.3s ease;
  }

#menu-container.is-shrunk {
    height: 160px; /* Ajustez selon vos besoins */
  }

header.is-style-sticky-header {
    transition: background-color 0.3s ease, backdrop-filter 0.3s ease;
  }

#menu-container.is-hidden {
    transform: translateY(-100%);
  }

#menu-container.is-visible {
    transform: translateY(0);
  }

[data-animate-on-scroll] {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
  }

[data-animate-on-scroll].is-animated {
    opacity: 1;
    transform: translateY(0);
  }

@media (prefers-reduced-motion: reduce) {
    #menu-container,
    [data-animate-on-scroll] {
      transition: none;
    }
  }

.wp-block-navigation-item.alt-navigation {
    border: 1px solid white;
    color: var(--wp--preset--color--white);
    padding: 0.5rem 1rem;
    border-radius: 0.25rem;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.875rem;
    letter-spacing: 0.025em;
  }

.wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link {
    line-height: 1;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
}

.wp-block-button.is-style-dc26-outline-arrow .wp-block-button__link {
    padding: 0.65rem 1.5rem;
    border: 1.5px solid currentColor;
    border-radius: 999px;
    background: transparent;
    color: var(--wp--preset--color--primary, #007582);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
    line-height: 1;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.wp-block-button.is-style-dc26-outline-arrow .wp-block-button__link::before {
    content: '→';
    display: inline-block;
    flex-shrink: 0;
}

.wp-block-button.is-style-dc26-outline-arrow .wp-block-button__link:hover {
    background: var(--wp--preset--color--primary, #007582);
    color: var(--wp--preset--color--white, #ffffff);
    text-decoration: none;
}

.wp-block-button.is-style-dc26-outline-arrow .wp-block-button__link:focus-visible {
    outline: 2px solid var(--wp--preset--color--primary, #007582);
    outline-offset: 2px;
}

.wp-block-buttons.is-style-dc26-buttons-doc-list {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.95rem;
}

.wp-block-buttons.is-style-dc26-buttons-doc-list > .wp-block-button {
    width: 100%;
    margin: 0;
}

.wp-block-button.is-style-dc26-ghost-arrow,
.wp-block-button.is-style-dc26-ghost-download {
    width: 100%;
}

.wp-block-button.is-style-dc26-ghost-arrow .wp-block-button__link,
.wp-block-button.is-style-dc26-ghost-download .wp-block-button__link {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--wp--preset--color--primary, #007582);
    text-transform: none;
    letter-spacing: normal;
    text-decoration: none;
    line-height: 1.3;
}

.wp-block-button.is-style-dc26-ghost-arrow .wp-block-button__link {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 0.65rem;
    width: 100%;
    text-align: left;
    justify-items: start;
}

.wp-block-button.is-style-dc26-ghost-download .wp-block-button__link {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    text-align: left;
}

.wp-block-button.is-style-dc26-ghost-arrow .wp-block-button__link:hover,
.wp-block-button.is-style-dc26-ghost-download .wp-block-button__link:hover {
    color: var(--wp--preset--color--primary-hover, #045660);
    text-decoration: underline;
}

.wp-block-button.is-style-dc26-ghost-arrow .wp-block-button__link:focus-visible,
.wp-block-button.is-style-dc26-ghost-download .wp-block-button__link:focus-visible {
    outline: 2px solid var(--wp--preset--color--primary, #007582);
    outline-offset: 2px;
}

.wp-block-button.is-style-dc26-ghost-arrow .wp-block-button__link::after,
.wp-block-button.is-style-dc26-ghost-download .wp-block-button__link::after {
    content: "";
    width: 1em;
    height: 1em;
    flex-shrink: 0;
    background-color: currentColor;
    justify-self: end;
}

.wp-block-button.is-style-dc26-ghost-arrow .wp-block-button__link::after {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 1em 1em;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 1em 1em;
}

.wp-block-button.is-style-dc26-ghost-download .wp-block-button__link::after {
    content: none;
}

.wp-block-button.is-style-dc26-ghost-download .wp-block-button__link::before {
    content: "";
    width: 0.75em;
    height: 1em;
    flex-shrink: 0;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg width='12' height='16' viewBox='0 0 12 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.88386 0C0.844795 0 0 0.844795 0 1.88386V13.187C0 14.2261 0.844795 15.0709 1.88386 15.0709H9.41931C10.4584 15.0709 11.3032 14.2261 11.3032 13.187V5.01873C11.3032 4.51833 11.106 4.03853 10.7527 3.68531L7.61493 0.550441C7.2617 0.197217 6.78485 0 6.28445 0H1.88386ZM9.58121 5.18062H6.829C6.43751 5.18062 6.12255 4.86566 6.12255 4.47417V1.72197L9.58121 5.18062Z' fill='black'/%3E%3C/svg%3E") no-repeat center / 0.75em 1em;
    mask: url("data:image/svg+xml,%3Csvg width='12' height='16' viewBox='0 0 12 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.88386 0C0.844795 0 0 0.844795 0 1.88386V13.187C0 14.2261 0.844795 15.0709 1.88386 15.0709H9.41931C10.4584 15.0709 11.3032 14.2261 11.3032 13.187V5.01873C11.3032 4.51833 11.106 4.03853 10.7527 3.68531L7.61493 0.550441C7.2617 0.197217 6.78485 0 6.28445 0H1.88386ZM9.58121 5.18062H6.829C6.43751 5.18062 6.12255 4.86566 6.12255 4.47417V1.72197L9.58121 5.18062Z' fill='black'/%3E%3C/svg%3E") no-repeat center / 0.75em 1em;
}

.wp-block-button.is-style-dc26-icon-mail .wp-block-button__link,
.wp-block-button.is-style-dc26-icon-tel .wp-block-button__link,
.wp-block-button.is-style-dc26-icon-pin .wp-block-button__link,
.wp-block-button.is-style-dc26-icon-arrow .wp-block-button__link {
    display: inline-flex;
    align-items: center;
    gap: 0.5em;
}

.wp-block-button.is-style-dc26-icon-mail .wp-block-button__link::before,
.wp-block-button.is-style-dc26-icon-tel .wp-block-button__link::before,
.wp-block-button.is-style-dc26-icon-pin .wp-block-button__link::before,
.wp-block-button.is-style-dc26-icon-arrow .wp-block-button__link::after {
    content: "";
    width: 1em;
    height: 1em;
    flex-shrink: 0;
    background-color: currentColor;
}

.wp-block-button.is-style-dc26-icon-mail .wp-block-button__link::before {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath fill='black' d='M80 128L64 128L64 512L576 512L576 128L80 128zM544 184L544 199.9L320 364.2L96 199.9L96 160L544 160L544 184zM544 239.6L544 480L96 480L96 239.6L310.5 396.9L320 403.8L329.5 396.9L544 239.6z'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath fill='black' d='M80 128L64 128L64 512L576 512L576 128L80 128zM544 184L544 199.9L320 364.2L96 199.9L96 160L544 160L544 184zM544 239.6L544 480L96 480L96 239.6L310.5 396.9L320 403.8L329.5 396.9L544 239.6z'/%3E%3C/svg%3E") no-repeat center / contain;
}

.wp-block-button.is-style-dc26-icon-tel .wp-block-button__link::before {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath fill='black' d='M231.2 280L288 224L192 64L64 128L64 144C64 382.6 257.4 576 496 576L512 576L576 448L416 352L360 408.8C300.8 386 254 339.2 231.2 280zM421.1 392.4L534.1 460.2L492.2 544C274.3 542 98 365.7 96 147.8L179.8 105.9L247.6 218.9C217.7 248.4 199.8 266.1 193.8 272L201.3 291.6C227.3 359.2 280.8 412.7 348.4 438.7L368 446.2C373.9 440.2 391.6 422.3 421 392.4z'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath fill='black' d='M231.2 280L288 224L192 64L64 128L64 144C64 382.6 257.4 576 496 576L512 576L576 448L416 352L360 408.8C300.8 386 254 339.2 231.2 280zM421.1 392.4L534.1 460.2L492.2 544C274.3 542 98 365.7 96 147.8L179.8 105.9L247.6 218.9C217.7 248.4 199.8 266.1 193.8 272L201.3 291.6C227.3 359.2 280.8 412.7 348.4 438.7L368 446.2C373.9 440.2 391.6 422.3 421 392.4z'/%3E%3C/svg%3E") no-repeat center / contain;
}

.wp-block-button.is-style-dc26-icon-pin .wp-block-button__link::before {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath fill='black' d='M320 112C239.7 112 176 175.7 176 252.6C176 298.2 199.8 354.1 234.9 409.7C263.2 454.5 295.9 494.5 320 521.8C344.1 494.5 376.7 454.6 405.1 409.7C440.2 354.2 464 298.2 464 252.6C464 175.8 400.3 112 320 112zM128 252.6C128 148.4 214 64 320 64C426 64 512 148.4 512 252.6C512 371.9 391.8 514.9 341.6 569.4C329.8 582.2 310.1 582.2 298.3 569.4C248.1 514.9 127.9 371.9 127.9 252.6z'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath fill='black' d='M320 112C239.7 112 176 175.7 176 252.6C176 298.2 199.8 354.1 234.9 409.7C263.2 454.5 295.9 494.5 320 521.8C344.1 494.5 376.7 454.6 405.1 409.7C440.2 354.2 464 298.2 464 252.6C464 175.8 400.3 112 320 112zM128 252.6C128 148.4 214 64 320 64C426 64 512 148.4 512 252.6C512 371.9 391.8 514.9 341.6 569.4C329.8 582.2 310.1 582.2 298.3 569.4C248.1 514.9 127.9 371.9 127.9 252.6z'/%3E%3C/svg%3E") no-repeat center / contain;
}

.wp-block-button.is-style-dc26-icon-arrow .wp-block-button__link::after {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath fill='black' d='M569.4 337L586.4 320L569.4 303L401.4 135L384.4 118L350.5 151.9L367.5 168.9L494.5 295.9L64.4 295.9L64.4 343.9L494.5 343.9L367.5 470.9L350.5 487.9L384.4 521.8L401.4 504.8L569.4 336.8z'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath fill='black' d='M569.4 337L586.4 320L569.4 303L401.4 135L384.4 118L350.5 151.9L367.5 168.9L494.5 295.9L64.4 295.9L64.4 343.9L494.5 343.9L367.5 470.9L350.5 487.9L384.4 521.8L401.4 504.8L569.4 336.8z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* ===================================
   NAVIGATION (BLOCK) - BASE STYLES
   =================================== */

/* margin-top (au lieu de padding-top) créait une bande de ~0.75rem entre le
   lien et le panneau qui n'appartient à aucun des deux éléments : au
   passage de la souris dans cette zone, le pointer quitte la <li> (core
   Navigation ferme le sous-menu via pointerleave, Interactivity API —
   data-wp-on--pointerleave="actions.closeMenuOnHover" sur la <li>) avant
   d'atteindre le panneau, qui se referme donc avant que le curseur y
   arrive. Le ::before transparent censé combler ce vide ne peut pas aider
   : il hérite pointer-events:none du panneau tant que celui-ci est fermé,
   donc le survol de cette zone ne "touche" aucun élément réel de la <li>.
   Fix : padding-top au lieu de margin-top — l'espace fait alors partie de
   la boîte du panneau (donc du survol), pas hoveré à côté. */

.wp-block-navigation .has-child > .wp-block-navigation__submenu-container {
    --dc26-nav-submenu-gap: 0.75rem;
    min-width: 220px;
    padding: calc(0.5rem + var(--dc26-nav-submenu-gap)) 0 0.5rem;
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s linear 0.2s;
    pointer-events: none;
    will-change: opacity, transform;
}

.wp-block-navigation .has-child > .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    white-space: nowrap;
}

.wp-block-navigation .has-child:hover > .wp-block-navigation__submenu-container,
.wp-block-navigation .has-child:focus-within > .wp-block-navigation__submenu-container {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s linear 0s;
}

/* Chevron rotation on submenu open */

.wp-block-navigation__submenu-icon svg {
    transition: transform 0.2s ease;
}

.wp-block-navigation-submenu__toggle[aria-expanded="true"] svg {
    transform: rotate(180deg);
}

/* ── Nav links as filled pill buttons (style variations dc26-nav-button-primary/secondary) ──
   Appliquées via register_block_style('core/navigation-link', ...) — sélectionnables
   dans le panneau Styles du bloc, aucune classe tapée à la main.
   Deux sélecteurs par règle : .wp-block-navigation-item pour le rendu desktop
   (core wp:navigation) et .dc26-nav__item pour le drawer mobile (dc26/nav,
   rendu à la main par dc26_nav_render_items() — même className propagée). */

.wp-block-navigation-item.is-style-dc26-nav-button-primary > .wp-block-navigation-item__content,
.dc26-nav__item.is-style-dc26-nav-button-primary > .dc26-nav__link {
    background-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--white);
    border-radius: 999px;
    padding: 0.5em 1.25em;
}

.wp-block-navigation-item.is-style-dc26-nav-button-primary > .wp-block-navigation-item__content:hover,
.dc26-nav__item.is-style-dc26-nav-button-primary > .dc26-nav__link:hover {
    background-color: var(--wp--preset--color--primary-hover);
    color: var(--wp--preset--color--white);
}

.wp-block-navigation-item.is-style-dc26-nav-button-secondary > .wp-block-navigation-item__content,
.dc26-nav__item.is-style-dc26-nav-button-secondary > .dc26-nav__link {
    background-color: var(--wp--preset--color--secondary);
    color: var(--wp--preset--color--white);
    border-radius: 999px;
    padding: 0.5em 1.25em;
}

.wp-block-navigation-item.is-style-dc26-nav-button-secondary > .wp-block-navigation-item__content:hover,
.dc26-nav__item.is-style-dc26-nav-button-secondary > .dc26-nav__link:hover {
    background-color: var(--wp--preset--color--secondary-hover);
    color: var(--wp--preset--color--white);
}

/* Drawer mobile (nav verticale) : les boutons à fond s'ajustent à leur texte
   au lieu de s'étirer sur toute la largeur du tiroir (le lien est en width:100%
   et la liste flex-column étire ses items). */

.dc26-nav--vertical .dc26-nav__item.is-style-dc26-nav-button-primary,
.dc26-nav--vertical .dc26-nav__item.is-style-dc26-nav-button-secondary {
    align-self: flex-start;
    max-width: 100%;
}

.dc26-nav--vertical .dc26-nav__item.is-style-dc26-nav-button-primary > .dc26-nav__link,
.dc26-nav--vertical .dc26-nav__item.is-style-dc26-nav-button-secondary > .dc26-nav__link {
    width: auto;
}

/* ── Nav link with icon, no background (dc26-nav-icon-account) — ex. "Mon compte" ──
   Même technique mask-image que les styles d'icône core/button
   (css/_button-icons.css : dc26-icon-mail/tel/pin/arrow), appliquée au
   lien de nav plutôt qu'au bouton. Pas de fond : juste icône + libellé,
   couleur héritée du lien (currentColor). */

.wp-block-navigation-item.is-style-dc26-nav-icon-account > .wp-block-navigation-item__content,
.dc26-nav__item.is-style-dc26-nav-icon-account > .dc26-nav__link {
    display: inline-flex;
    align-items: center;
    gap: 0.5em;
}

.wp-block-navigation-item.is-style-dc26-nav-icon-account > .wp-block-navigation-item__content::before,
.dc26-nav__item.is-style-dc26-nav-icon-account > .dc26-nav__link::before {
    content: "";
    width: 1em;
    height: 1em;
    flex-shrink: 0;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 672 672'%3E%3Cpath fill='black' d='M468.4 368.7C481.3 377.3 484.7 394.7 476.2 407.5C446.4 452.2 396.1 476 336 476C312.6 476 290.6 472.4 270.5 465.2C255.9 460 248.4 443.9 253.6 429.4C258.8 414.9 274.9 407.3 289.4 412.5C302.7 417.3 318.2 420 335.9 420C380.7 420 411.9 402.9 429.5 376.5C438.1 363.6 455.5 360.2 468.3 368.7zM252 252C252 236.5 239.5 224 224 224C208.5 224 196 236.5 196 252L196 308C196 323.5 208.5 336 224 336C239.5 336 252 323.5 252 308L252 252zM392 252C392 236.5 379.5 224 364 224C348.5 224 336 236.5 336 252L336 308C336 323.5 348.5 336 364 336C379.5 336 392 323.5 392 308L392 252zM132.5 132.5C182.4 82.5 253 56 336 56C419 56 489.6 82.5 539.5 132.5C589.4 182.5 616 253 616 336C616 419 589.5 489.6 539.5 539.5C489.5 589.4 419 616 336 616C253 616 182.4 589.5 132.5 539.5C82.6 489.5 56 419 56 336C56 253 82.5 182.4 132.5 132.5zM172 172C134.4 209.6 112 265 112 336C112 407 134.5 462.4 172 500C209.5 537.6 265 560 336 560C407 560 462.4 537.5 500 500C537.6 462.5 560 407 560 336C560 265 537.5 209.6 500 172C462.5 134.4 407 112 336 112C265 112 209.6 134.5 172 172z'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 672 672'%3E%3Cpath fill='black' d='M468.4 368.7C481.3 377.3 484.7 394.7 476.2 407.5C446.4 452.2 396.1 476 336 476C312.6 476 290.6 472.4 270.5 465.2C255.9 460 248.4 443.9 253.6 429.4C258.8 414.9 274.9 407.3 289.4 412.5C302.7 417.3 318.2 420 335.9 420C380.7 420 411.9 402.9 429.5 376.5C438.1 363.6 455.5 360.2 468.3 368.7zM252 252C252 236.5 239.5 224 224 224C208.5 224 196 236.5 196 252L196 308C196 323.5 208.5 336 224 336C239.5 336 252 323.5 252 308L252 252zM392 252C392 236.5 379.5 224 364 224C348.5 224 336 236.5 336 252L336 308C336 323.5 348.5 336 364 336C379.5 336 392 323.5 392 308L392 252zM132.5 132.5C182.4 82.5 253 56 336 56C419 56 489.6 82.5 539.5 132.5C589.4 182.5 616 253 616 336C616 419 589.5 489.6 539.5 539.5C489.5 589.4 419 616 336 616C253 616 182.4 589.5 132.5 539.5C82.6 489.5 56 419 56 336C56 253 82.5 182.4 132.5 132.5zM172 172C134.4 209.6 112 265 112 336C112 407 134.5 462.4 172 500C209.5 537.6 265 560 336 560C407 560 462.4 537.5 500 500C537.6 462.5 560 407 560 336C560 265 537.5 209.6 500 172C462.5 134.4 407 112 336 112C265 112 209.6 134.5 172 172z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* ===================================
  HEADER STICKY - STATE-BASED
  =================================== */

header.wp-block-template-part.is-style-sticky-header {
	position: sticky;
	top: 0;
	z-index: 1000;
}

.admin-bar header.wp-block-template-part.is-style-sticky-header {
	top: var(--wp-admin--admin-bar--height, 0px);
}

.page-template-page-no-title header.wp-block-template-part.is-style-sticky-header,
.search-results header.wp-block-template-part.is-style-sticky-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
}

.admin-bar.page-template-page-no-title header.wp-block-template-part.is-style-sticky-header,
.admin-bar.search-results header.wp-block-template-part.is-style-sticky-header {
	top: var(--wp-admin--admin-bar--height, 0px);
}

.page-template-page-no-title .wp-site-blocks > :first-child {
	margin-block-start: 0;
}

.page-template-page-no-title .wp-site-blocks > .wp-block-post-content {
	margin-block-start: 0;
}

.is-style-sticky-header > header.wp-block-group,
.is-style-sticky-header > .wp-block-group {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 1rem;
	background-color: transparent;
	box-shadow: none;
	backdrop-filter: none;
	transition:
		background-color 200ms ease,
		box-shadow 200ms ease,
		backdrop-filter 200ms ease;
}

/* Inner group fills the flex container without WP width constraints */

.is-style-sticky-header > .wp-block-group > .wp-block-group {
	flex: 1 1 auto;
	width: 100%;
	max-width: 100% !important;
	margin: 0 !important;
}

.is-style-sticky-header .wp-block-site-logo {
	flex: 0 0 auto;
	opacity: 1;
	transform: translateY(0);
	transition: opacity 200ms ease, transform 200ms ease;
}

.is-style-sticky-header .wp-block-navigation {
	min-width: 0;
	display: flex;
	justify-content: flex-end;
}

.wp-block-navigation .wp-block-navigation-item__content {
	font-size: inherit;
}

.is-style-sticky-header.is-top > header.wp-block-group,
.is-style-sticky-header.is-top > .wp-block-group {
	background-color: rgba(255, 255, 255, 0);
	box-shadow: none;
	backdrop-filter: none;
}

/* Le header transparent est pensé pour chevaucher le hero (comme du temps du
   position:fixed). En position:sticky il reste dans le flux — on retire donc
   la hauteur du header avec une marge négative pour recréer le chevauchement,
   uniquement là où un hero est attendu juste en dessous (home). */

.home .is-style-sticky-header,
.front-page .is-style-sticky-header {
	margin-bottom: calc(-1 * var(--site-header-height, 0px));
}

/* Hide logo only on homepage while header is at top */

.home .is-style-sticky-header.is-top .wp-block-site-logo,
.front-page .is-style-sticky-header.is-top .wp-block-site-logo {
	opacity: 0;
	transform: translateY(0);
	pointer-events: auto;
}

.is-style-sticky-header.is-scrolled .wp-block-site-logo {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

.is-style-sticky-header.is-scrolled > header.wp-block-group,
.is-style-sticky-header.is-scrolled > .wp-block-group {
	background-color: rgba(244, 244, 244, 0.4);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
	backdrop-filter: blur(8px);
}

@media (prefers-reduced-motion: reduce) {
	.is-style-sticky-header > header.wp-block-group,
	.is-style-sticky-header > .wp-block-group,
	.is-style-sticky-header .wp-block-site-logo {
		transition: none;
	}
}

/* ===================================
  HEADER FLOTTANT — variation opt-in
  ===================================
  Barre blanche flottante, coins arrondis en bas, non pleine largeur, identique
  avant/après scroll. Activée UNIQUEMENT si le template-part header porte la
  classe `is-header-floating` (en plus de `is-style-sticky-header`), par ex.
  dans templates/*.html :
    \3c !-- wp:template-part {"slug":"header","className":"is-style-sticky-header is-header-floating"} /-->
  Le rendu par défaut (transparent au top, pilule floutée au scroll) reste
  inchangé pour les sites existants — voir CLAUDE.md "Règles de compatibilité". */

.is-style-sticky-header.is-header-floating > header.wp-block-group,
.is-style-sticky-header.is-header-floating > .wp-block-group {
	width: min(100% - 2rem, var(--wp--style--global--wide-size, 1360px));
	margin-inline: auto;
	background-color: var(--wp--preset--color--white);
	border-radius: 0 0 20px 20px;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
	backdrop-filter: none;
}

/* Pas de variante transparente : on neutralise les états top/scroll. */

.is-style-sticky-header.is-header-floating.is-top > header.wp-block-group,
.is-style-sticky-header.is-header-floating.is-top > .wp-block-group,
.is-style-sticky-header.is-header-floating.is-scrolled > header.wp-block-group,
.is-style-sticky-header.is-header-floating.is-scrolled > .wp-block-group {
	background-color: var(--wp--preset--color--white);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
	backdrop-filter: none;
}

/* Pas de chevauchement du hero ni de logo masqué au top. */

.home .is-style-sticky-header.is-header-floating,
.front-page .is-style-sticky-header.is-header-floating {
	margin-bottom: 0;
}

.home .is-style-sticky-header.is-header-floating.is-top .wp-block-site-logo,
.front-page .is-style-sticky-header.is-header-floating.is-top .wp-block-site-logo {
	opacity: 1;
}

:root {
    --facet-font-size: 14px;
    --facet-color-primary: var(--wp--preset--color--primary, #0b7c87);
    --facet-color-text: var(--wp--preset--color--gray-dark, #1c1c1c);
    --facet-color-muted: var(--wp--preset--color--gray-medium, #8e8e8e);
    --facet-color-bg: var(--wp--preset--color--white, #ffffff);
    --facet-radius-pill: 9999px;
    --facet-radius-sm: 0.125rem;
    --facet-checkbox-size: 20px;
}

.facetwp-facet {
    margin-bottom: 0.5rem;
    font-size: var(--facet-font-size);
}

.facetwp-facet :where(label, select, input, .facetwp-radio) {
    font-size: var(--facet-font-size);
}

.facetwp-facet select {
    position: relative;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

/* Normalize FacetWP native dropdown look across browsers */

.facetwp-type-dropdown .facetwp-dropdown,
.facetwp-facet-tri .facetwp-dropdown,
.facetwp-facet-date_conference .facetwp-dropdown {
    display: block;
    width: 100%;
    min-width: 12rem;
    border: 0;
    background: transparent;
    color: var(--facet-color-primary);
    font-size: var(--facet-font-size);
    line-height: 1.4;
    font-family: var(--wp--preset--font-family--body, system-ui, -apple-system, sans-serif);
    box-shadow: none;
    outline: none;
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
         appearance: none;
}

.facetwp-type-dropdown .facetwp-dropdown:focus,
.facetwp-facet-tri .facetwp-dropdown:focus,
.facetwp-facet-date_conference .facetwp-dropdown:focus {
    outline: none;
}

.facetwp-type-search .facetwp-input-wrap {
    display: flex;
    align-items: center;
    position: relative;
    padding: 8px 16px 10px 16px;
    background: var(--facet-color-bg);
    border-radius: var(--facet-radius-pill);
    box-sizing: border-box;
}

.facetwp-type-search .facetwp-input-wrap i {
    position: absolute;
    right: 12px;
    height: 100%;
    z-index: 10;
    top: 0;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    display: flex;
    align-items: center;
    width: 20px;
    justify-content: center;
    background: none;
}

.facetwp-type-search .facetwp-input-wrap input {
    position: relative;
    order: 1;
    padding: 0;
    padding-left: 0.75rem;
    padding-right: 2.5rem;
    border: 0;
    border-radius: var(--facet-radius-pill);
    background: transparent;
    color: var(--facet-color-primary);
    font-weight: 400;
    font-family: var(--wp--preset--font-family--body, system-ui, -apple-system, sans-serif);
    box-shadow: none;
    outline: none;
}

.facetwp-type-search .facetwp-input-wrap input::-moz-placeholder {
    color: var(--facet-color-primary);
    font-weight: 400;
    font-family: var(--wp--preset--font-family--body, system-ui, -apple-system, sans-serif);
    opacity: 0.8;
}

.facetwp-type-search .facetwp-input-wrap input::placeholder {
    color: var(--facet-color-primary);
    font-weight: 400;
    font-family: var(--wp--preset--font-family--body, system-ui, -apple-system, sans-serif);
    opacity: 0.8;
}

.facetwp-type-search .facetwp-input-wrap .facetwp-icon {
    background-image: none;
    width: 18px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    opacity: 1;
    padding-right: 0;
}

.facetwp-type-search .facetwp-input-wrap .facetwp-icon::before {
    content: none;
    display: none;
}

.facetwp-type-search .facetwp-input-wrap .facetwp-icon::after {
    content: "";
    display: block;
    width: 18px;
    height: 18px;
    background-color: var(--facet-color-primary);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='16.65' y1='16.65' x2='21' y2='21'/%3E%3C/svg%3E") no-repeat center / 18px 18px;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='16.65' y1='16.65' x2='21' y2='21'/%3E%3C/svg%3E") no-repeat center / 18px 18px;
    transform: scaleX(-1);
}

.facetwp-type-dropdown,
.facetwp-facet-tri {
    padding: 12px;
    border-radius: var(--facet-radius-sm);
    padding-right: 0.75rem;
    background-color: var(--facet-color-bg);
    position: relative;
}

/* Date facet rendered as native date input:
   style it like theme dropdowns for visual consistency */

.facetwp-type-date,
.facetwp-facet-date_conference {
    padding: 12px;
    border-radius: var(--facet-radius-sm);
    padding-right: 0.75rem;
    background-color: var(--facet-color-bg);
    position: relative;
}

.facetwp-type-date input,
.facetwp-facet-date_conference input {
    width: 100%;
    border: 0;
    background: transparent;
    color: var(--facet-color-primary);
    font-size: var(--facet-font-size);
    line-height: 1.4;
    box-shadow: none;
    outline: none;
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
         appearance: none;
    font-family: var(--wp--preset--font-family--body, system-ui, -apple-system, sans-serif);
}

.facetwp-type-date input::-webkit-calendar-picker-indicator,
.facetwp-facet-date_conference input::-webkit-calendar-picker-indicator {
    opacity: 0;
    cursor: pointer;
}

.facetwp-type-date::after,
.facetwp-facet-date_conference::after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    z-index: 10;
    background-color: var(--facet-color-bg);
    height: 100%;
    display: flex;
    align-items: center;
    pointer-events: none;
    width: 20px;
    background-color: var(--facet-color-primary);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7l5 5 5-5' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 20px 20px;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7l5 5 5-5' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 20px 20px;
}

.facetwp-type-date input::-webkit-datetime-edit,
.facetwp-facet-date_conference input::-webkit-datetime-edit,
.facetwp-type-date input::-webkit-datetime-edit-fields-wrapper,
.facetwp-facet-date_conference input::-webkit-datetime-edit-fields-wrapper,
.facetwp-type-date input::-webkit-datetime-edit-text,
.facetwp-facet-date_conference input::-webkit-datetime-edit-text,
.facetwp-type-date input::-webkit-datetime-edit-year-field,
.facetwp-facet-date_conference input::-webkit-datetime-edit-year-field,
.facetwp-type-date input::-webkit-datetime-edit-month-field,
.facetwp-facet-date_conference input::-webkit-datetime-edit-month-field,
.facetwp-type-date input::-webkit-datetime-edit-day-field,
.facetwp-facet-date_conference input::-webkit-datetime-edit-day-field {
    color: var(--facet-color-primary);
    padding: 0;
    margin: 0;
    line-height: 1.4;
    font-family: inherit;
}

.facetwp-type-dropdown::after,
.facetwp-facet-tri::after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    z-index: 10;
    background-color: var(--facet-color-bg);
    height: 100%;
    display: flex;
    align-items: center;
    pointer-events: none;
    width: 20px;
    background-color: var(--facet-color-primary);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7l5 5 5-5' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 20px 20px;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7l5 5 5-5' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 20px 20px;
}

.facetwp-radio .facetwp-counter {
    display: none;
}

.facetwp-display-value {
    display: inline-block;
    margin-bottom: 0;
    margin-top: 2px;
}

.facetwp-facet .facetwp-checkbox {
    background: none !important;
    background-image: none !important;
    margin-bottom: 12px;
    padding-left: calc(var(--facet-checkbox-size) + 10px);
    cursor: pointer;
    position: relative;
    line-height: 1.4;
}

.facetwp-facet .facetwp-checkbox::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.15em;
    width: var(--facet-checkbox-size);
    height: var(--facet-checkbox-size);
    border-radius: 3px;
    border: 1px solid var(--facet-color-muted);
    background: var(--facet-color-bg);
    box-sizing: border-box;
}

.facetwp-facet .facetwp-checkbox.checked::before {
    background: var(--facet-color-primary);
    border-color: var(--facet-color-primary);
}

.facetwp-facet .facetwp-checkbox.checked::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 0.35em;
    width: 6px;
    height: 10px;
    border: solid var(--facet-color-bg);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.facetwp-facet .facetwp-checkbox.checked {
    background-image: none !important;
}

.facetwp-facet-categories_news_pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    background: var(--facet-color-bg);
    border-radius: var(--facet-radius-pill);
}

.facetwp-facet-categories_news_pills .facetwp-radio {
    display: inline-flex;
    align-items: center;
    padding: 0.6rem 2.2rem;
    border: 0;
    border-radius: var(--facet-radius-pill);
    color: var(--facet-color-primary);
    background: var(--facet-color-bg);
    margin-bottom: 0;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.facetwp-facet-categories_news_pills .facetwp-radio:hover {
    background: var(--facet-color-bg);
}

.facetwp-facet-categories_news_pills .facetwp-radio.checked {
    background: var(--facet-color-primary);
    color: var(--facet-color-bg);
    border-color: var(--facet-color-primary);
}

.facetwp-facet-partner_type .facetwp-radio {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    background-position: left top 5px;
    padding-left: 1.5rem;
    padding-bottom: 0.75rem;
}

.facetwp-load-more {
    border-radius: var(--facet-radius-pill);
    background-color: var(--facet-color-primary);
    color: var(--facet-color-bg);
    padding: 0.75rem;
    font-size: 0.875rem;
}

.dc26-filters__partner .facetwp-facet-search {
    width: 15rem;
}

.dc-cluster-class {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--facet-color-primary);
    border: 2px solid var(--facet-color-bg);
    color: var(--facet-color-bg);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    width: 2.5rem;
    height: 2.5rem;
    border-radius: var(--facet-radius-pill);
    font-family: var(--wp--preset--font-family--display, system-ui, sans-serif);
    font-weight: 700;
    font-size: 0.875rem;
}

.facetwp-map-filtering {
    display: none;
}

.fs-wrap .fs-arrow {
    border: 0;
    background: none;
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.fs-wrap .fs-arrow::before {
    content: "";
    width: 20px;
    height: 20px;
    background-color: var(--facet-color-primary);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7l5 5 5-5' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 20px 20px;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7l5 5 5-5' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 20px 20px;
}

.facetwp-facet  .fs-wrap {
   
    width: 100%;
    line-height: 1.5;
}

.facetwp-facet  .fs-label-wrap {
  
    border-radius: 4px;
}

.facetwp-facet button.facetwp-reset,
.facetwp-reset[role="button"],
[class*="facet-reset"],
.dc26-doc-listing__reset,
.dc26-member-search__reset {
    border: 0;
    background: transparent;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    padding: 0;
    color: var(--wp--preset--color--gray-text, #808080);
}

.facetwp-facet button.facetwp-reset::before,
.facetwp-facet .facetwp-reset[role="button"]::before,
.facetwp-facet [class*="facet-reset"]::before,
[class*="facet-reset"]::before,
.dc26-doc-listing__reset::before,
.dc26-member-search__reset::before {
    content: "×";
    font-size: 1rem;
    line-height: 1;
}

.facetwp-facet-sort_firm {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.facetwp-facet-sort_firm select {
    display: block;
}

.facetwp-facet-sort_firm.has-sort-toggle select {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.dc26-sort-toggle {
    display: flex;
    align-items: stretch;
    width: 100%;
   
    border-radius: var(--facet-radius-pill);
    overflow: hidden;
    background: var(--facet-color-bg);
}

.dc26-sort-toggle__button {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    border: 0;
    background: transparent;
    flex: 1 1 0;
    padding: 0.5rem 1rem;
    font-size: var(--facet-font-size);
    color: var(--facet-color-primary);
    cursor: pointer;
    line-height: 1.2;
    text-align: center;
    border-radius: var(--facet-radius-pill);
}

.dc26-sort-toggle__button.is-active {
    background: var(--facet-color-primary);
    color: var(--facet-color-bg);
}

.dc26-sort-toggle__button:focus-visible {
    outline: 2px solid var(--facet-color-primary);
    outline-offset: 2px;
}

.wp-block-details.is-style-big-details {
  border-bottom: 1px solid #e5e7eb;
  font-weight: 500;
}

.wp-block-details.is-style-big-details summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  font-size: 35px;
  font-weight: 600;
  padding-bottom: 1.75rem;
}

.wp-block-details.is-style-big-details summary::marker {
  display: none;
}

.wp-block-details.is-style-big-details summary::after {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  background-color: var(--wp--preset--color--primary);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpolyline points='2,5 8,11 14,5' stroke='black' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpolyline points='2,5 8,11 14,5' stroke='black' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  transition: transform 300ms;
  transform: rotate(180deg);
}

.wp-block-details.is-style-big-details[open] summary::after {
  transform: rotate(0deg);
}

/* core/list — style Check */

ul.wp-block-list.is-style-check,
ul.is-style-check {
    list-style: none;
    padding-left: 0;
}

ul.wp-block-list.is-style-check li,
ul.is-style-check li {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    margin-bottom: 0.4rem;
}

ul.wp-block-list.is-style-check li::before,
ul.is-style-check li::before {
    content: "";
    display: inline-block;
    flex-shrink: 0;
    width: 0.9em;
    height: 0.9em;
    margin-top: 0.2em;
    background-color: var(--wp--preset--color--primary, currentColor);
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpolyline points='2,9 6,13 14,3' stroke='black' stroke-width='2.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpolyline points='2,9 6,13 14,3' stroke='black' stroke-width='2.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    mask-size: contain;
    mask-repeat: no-repeat;
}

/* core/list — style Croix */

ul.wp-block-list.is-style-dc26-check-cross {
    list-style: none;
    padding-left: 0;
}

ul.wp-block-list.is-style-dc26-check-cross li {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    margin-bottom: 0.4rem;
}

ul.wp-block-list.is-style-dc26-check-cross li::before {
    content: "";
    display: inline-block;
    flex-shrink: 0;
    width: 0.9em;
    height: 0.9em;
    margin-top: 0.2em;
    background-color: var(--wp--preset--color--primary, currentColor);
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cline x1='3' y1='3' x2='13' y2='13' stroke='black' stroke-width='2.5' stroke-linecap='round'/%3E%3Cline x1='13' y1='3' x2='3' y2='13' stroke='black' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cline x1='3' y1='3' x2='13' y2='13' stroke='black' stroke-width='2.5' stroke-linecap='round'/%3E%3Cline x1='13' y1='3' x2='3' y2='13' stroke='black' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E");
    mask-size: contain;
    mask-repeat: no-repeat;
}

.is-style-badge-title {
  border: 2px solid black;
  border-radius: 9999px;
  aspect-ratio: 1 / 1;
  max-width: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  line-height: 2rem;
  text-transform: uppercase;
}

.wp-block-search__inside-wrapper{
  padding: 6px 12px 7px 16px;
}

.wp-block-search__input {
  color: var(--wp--preset--color--primary, #8e8e8e);
  font-size: 18px;
  font-weight: 400;
}

.wp-block-search__input::-moz-placeholder {
  color: var(--wp--preset--color--primary, #8e8e8e);
  font-size: 18px;
  font-weight: 400;
  opacity: 0.8;
}

.wp-block-search__input::placeholder {
  color: var(--wp--preset--color--primary, #8e8e8e);
  font-size: 18px;
  font-weight: 400;
  opacity: 0.8;
}

.wp-block-search .wp-block-search__button.wp-element-button {
  padding: 0;
}

/* core/page-list — grille boutons */

.wp-block-page-list.is-style-dc26-page-grid-buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

.wp-block-page-list.is-style-dc26-page-grid-buttons .wp-block-pages-list__item {
  margin: 0;
  flex: 0 1 calc(25% - 0.75rem);
  display: flex;
}

@media (max-width: 1024px) {
  .wp-block-page-list.is-style-dc26-page-grid-buttons .wp-block-pages-list__item {
    flex: 0 1 calc(33.333% - 0.667rem);
  }
}

@media (max-width: 600px) {
  .wp-block-page-list.is-style-dc26-page-grid-buttons .wp-block-pages-list__item {
    flex: 0 1 calc(50% - 0.5rem);
  }
}

.wp-block-page-list.is-style-dc26-page-grid-buttons .wp-block-pages-list__item__link {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  padding: 0.75rem 1rem;
  background-color: color-mix(in srgb, var(--wp--preset--color--primary, #a08040) 10%, transparent);
  border: none;
  border-radius: 6px;
  font-weight: 500;
  font-size: 0.9rem;
  text-decoration: none;
  color: var(--wp--preset--color--primary, inherit);
  transition: background-color 0.2s;
}

.wp-block-page-list.is-style-dc26-page-grid-buttons .wp-block-pages-list__item__link:hover {
  background-color: color-mix(in srgb, var(--wp--preset--color--primary, #a08040) 20%, transparent);
}

/* ===================================
   CORE ACCORDION BLOCK
   =================================== */

.wp-block-accordion-heading {
    margin: 0;
}

.wp-block-accordion-heading__toggle {
    width: 100%;
    background: none;
    border: 0;
    padding: 0.25rem 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-align: left;
    font-size: 1.125rem;
    font-weight: 600;
    cursor: pointer;
}

.wp-block-accordion-heading__toggle:focus,
.wp-block-accordion-heading__toggle:focus-visible {
    outline: none;
    box-shadow: none;
}

.wp-block-accordion-heading__toggle-icon {
    display: inline-flex;
    width: 14px;
    height: 14px;
    align-items: center;
    justify-content: center;
    color: transparent;
    font-size: 0;
    background: url("../assets/img/chevrons.svg") center / contain no-repeat;
    transform: rotate(0deg);
    transform-origin: center;
    transition: transform 0.2s ease;
}

.wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle-icon {
    transform: rotate(180deg);
}

.wp-block-accordion-item.is-open > .wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon {
    transform: rotate(180deg);
}

.wp-block-accordion-heading__toggle,
.wp-block-accordion-heading__toggle-title {
    text-decoration: none;
}

.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title {
    text-decoration: none;
}

.wp-block-accordion-panel {
    padding: 0.5rem 0 1rem;
}

.is-style-dc26-tabs-vertical {
    --dc26-tabs-nav-width: 275px;
    --dc26-tabs-gap: 8rem;
    position: relative;
    display: block;
    padding-left: calc(var(--dc26-tabs-nav-width) + var(--dc26-tabs-gap));
}

.is-style-dc26-tabs-vertical > .wp-block-accordion-item {
    display: block;
    border-bottom: 0;
    padding: 0;
}

.is-style-dc26-tabs-vertical > .wp-block-accordion-item > .wp-block-accordion-heading {
    margin: 0 0 0.75rem;
    position: relative;
    left: calc(-1 * (var(--dc26-tabs-nav-width) + var(--dc26-tabs-gap)));
    width: var(--dc26-tabs-nav-width);
}

.is-style-dc26-tabs-vertical > .wp-block-accordion-item > .wp-block-accordion-heading .wp-block-accordion-heading__toggle {
    width: 100%;
    text-align: left;
    padding: 0.75rem 1rem;
    border: 0;
    border-radius: 9999px;
    background: var(--wp--preset--color--white, #ffffff);
    color: var(--wp--preset--color--primary, #0b7c87);
    font-weight: 600;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.is-style-dc26-tabs-vertical > .wp-block-accordion-item.is-active > .wp-block-accordion-heading .wp-block-accordion-heading__toggle,
.is-style-dc26-tabs-vertical > .wp-block-accordion-item > .wp-block-accordion-heading .wp-block-accordion-heading__toggle[aria-expanded="true"] {
    background: var(--wp--preset--color--primary, #0b7c87);
    color: var(--wp--preset--color--white, #ffffff);
}

.is-style-dc26-tabs-vertical > .wp-block-accordion-item > .wp-block-accordion-panel {
    position: absolute;
    top: 0;
    left: calc(var(--dc26-tabs-nav-width) + var(--dc26-tabs-gap));
    right: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    padding: 0;
    transition: opacity 0.2s ease;
}

.is-style-dc26-tabs-vertical > .wp-block-accordion-item > .wp-block-accordion-panel > :where(.is-layout-flow) > * {
    margin-block-start: 0;
}

.is-style-dc26-tabs-vertical > .wp-block-accordion-item > .wp-block-accordion-panel > :where(.is-layout-flow) > * + * {
    margin-block-start: var(--wp--preset--spacing--30, 24px);
}

.is-style-dc26-tabs-vertical > .wp-block-accordion-item.is-open > .wp-block-accordion-panel,
.is-style-dc26-tabs-vertical > .wp-block-accordion-item.is-active > .wp-block-accordion-panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    padding: 0.25rem 0;
}

@media (max-width: 782px) {
    .is-style-dc26-tabs-vertical {
        padding-left: 0;
    }

    .is-style-dc26-tabs-vertical > .wp-block-accordion-item > .wp-block-accordion-heading {
        margin-bottom: 0;
        left: 0;
        width: 100%;
    }

    .is-style-dc26-tabs-vertical > .wp-block-accordion-item > .wp-block-accordion-heading .wp-block-accordion-heading__toggle {
        width: 100%;
        border-radius: 0.5rem;
    }

    .is-style-dc26-tabs-vertical > .wp-block-accordion-item > .wp-block-accordion-panel {
        position: static;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        padding: 0.5rem 0 1rem;
    }
}

.gform_body label.gform-field-label.gform-field-label--type-sub {
  font-weight: 500;
}

h2.gform_title {
  font-size: 1.875rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

.ec-theme--1309 {
  align-items: stretch;
}

.ec-theme--1309 .ec-card {
  width: 30%;
  max-height: 320px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.ec-theme--1309 .ec-card:hover {
  border: 2px solid var(--wp--preset--color--primary);
}

.ec-theme--1309 .ec-card.ec-border-selected.ec-selected {
  border: 2px solid var(--wp--preset--color--primary);
}

.gform_description {
  margin-bottom: 1.5rem;
}

@media (min-width: 1024px) {
  .gform_footer {
    padding-left: 11rem;
    padding-right: 11rem;
  }
}

.gform-theme--foundation .gform_footer {
  justify-content: center;
}

/* GF orbital theme injecte un border inline sur .gform_fields — on l'écrase */

.gform_fields {
  border: none !important;
  padding: 0 !important;
}

.gform_wrapper a {
  color: var(--wp--preset--color--primary);
  text-decoration: underline;
}

.dc26-filters__partner h5 {
  padding: 0;
  margin: 0;
}

p.ec-paragraph {
  font-size: 16px;
}

.dc26-subtotal {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.75rem;
}

.dc26-subtotal .gfield_label {
  margin-bottom: 0;
}

.dc26-section-small .gsection_title {
  font-size: 1.25rem;
}

.wpml-ls-legacy-dropdown a.wpml-ls-item-toggle::after {
    display: none;
}

.wpml-ls-legacy-dropdown a.wpml-ls-item-toggle {
    padding-top: 10px;
    padding-bottom: 6px;
    padding-right: 1rem;
    padding-left: 1rem;
}

.wpml-ls-legacy-dropdown a {
    text-transform: uppercase;
    font-size: 0.75rem;
    color: white;
    text-align: center;
}

.wpml-ls-legacy-dropdown .wpml-ls-current-language > a {
    border: 0;
    background-color: hsla(0, 0%, 68.2%, 0.6);
    opacity: 0.4;
    border-radius: 30px;
}

.wpml-ls-legacy-dropdown {
    width: auto;
}

.wpml-ls-legacy-dropdown .wpml-ls-current-language {
    padding-bottom: 0.5rem;
}

.wpml-ls-legacy-dropdown .wpml-ls-sub-menu {
    border-top: 0;
    background-color: hsla(0, 0%, 68.2%, 0.6);
    border-radius: 20px;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.wpml-ls-legacy-dropdown .wpml-ls-sub-menu a {
    background-color: transparent;
    border: none;
}

/* Polylang language switcher styles */

ul.wp-block-polylang-language-switcher {
	list-style: none;
	display: flex;
	margin: 0;
	padding-left: 0.5rem;
	padding-right: 0.5rem;
	gap: 0.5rem;
}

ul.wp-block-polylang-language-switcher li a {
	padding-top: 0;
	height: 1.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	font-weight: 700;
	color: var(--wp--preset--color--primary);
}

.burger-menu, .burger-menu-close, .burger-menu-mobile { 
    width: 1.5rem;
    height: 1rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background-color: transparent;
    gap: 1px;
    cursor: pointer;
}

.burger-menu span, .burger-menu-close span, .burger-menu-mobile span {
    display: block;
    width: 100%;
    height: 2px;
    transition: all .2s ease-in-out;
}

.burger-menu span:nth-child(2),
.burger-menu-close span:nth-child(2),
.burger-menu-mobile span:nth-child(2) {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

.burger-menu:hover span:last-of-type,
.burger-menu-close:hover span:last-of-type,
.burger-menu-mobile:hover span:last-of-type {
    width: 100%;
}

.burger-menu.close-mode span:nth-of-type(1),
.burger-menu-close.close-mode span:nth-of-type(1),
.burger-menu-mobile.close-mode span:nth-of-type(1) {
    transform: rotate(45deg) translateY(7px);
}

.burger-menu.close-mode span:nth-of-type(2),
.burger-menu-close.close-mode span:nth-of-type(2),
.burger-menu-mobile.close-mode span:nth-of-type(2) {
    width: 0;
}

.burger-menu.close-mode span:last-of-type,
.burger-menu-close.close-mode span:last-of-type,
.burger-menu-mobile.close-mode span:last-of-type {
    transform: rotate(-45deg) translateY(-7px);
    width: 100%;
}

/* Styles pour l'accordéon dans l'off-canvas */

#offcanvas-menu {
    width: 100%;
}

#offcanvas-menu .menu-item {
    position: relative;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--wp--preset--color--primary);
}

#offcanvas-menu .menu-item-has-children {
    position: relative;
}

#offcanvas-menu .menu-item-has-children > a {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#offcanvas-menu .menu-item-has-children > a::after {
    content: '+';
    font-size: 1.5rem;
    font-weight: 300;
    transition: transform 300ms;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 1px;
}

#offcanvas-menu .menu-item-has-children.accordion-open > a::after {
    transform: rotate(225deg);
}

#offcanvas-menu .sub-menu {
    max-height: 0;
    overflow: hidden;
    transition: all 300ms;
}

#offcanvas-menu .sub-menu.accordion-open {
    display: block;
    max-height: 1000px;
    transition: all 300ms;
    margin-top: 1.5rem;
}

#offcanvas-menu .sub-menu .menu-item {
    padding-left: 1rem;
    font-weight: 400;
}

/* =========================================================
   DC26 — Animations utilitaires (GSAP + ScrollTrigger)
   Usage : ajouter la classe dans "CSS additionnel" d'un bloc

   Scroll reveal :
     reveal              fade + monte au scroll
     reveal-delay-1…5   délai 0.1s à 0.5s (combiner avec reveal)

   Parallax :
     parallax-slow       subtil (0.08)
     parallax            standard (0.15)
     parallax-fast       prononcé (0.25)

   Cas image : <div class="parallax-wrap"><img class="parallax"></div>
   Cas cover/group : ajouter la classe sur le bloc directement
   ========================================================= */

/* Wrapper parallax — overflow hidden pour couper le débord */

.parallax-wrap {
    overflow: hidden;
}

/* Images directes dans .parallax-wrap */

.parallax-wrap .parallax,
.parallax-wrap .parallax-slow,
.parallax-wrap .parallax-fast {
    will-change: transform;
    transform: scale(1.2);
    transform-origin: center center;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}

/* Cover/Group block — image de fond */

.wp-block-cover.parallax .wp-block-cover__image-background,
.wp-block-cover.parallax-slow .wp-block-cover__image-background,
.wp-block-cover.parallax-fast .wp-block-cover__image-background {
    will-change: transform;
    transform: scale(1.2);
}

/* Accessibilité — annule toutes les animations */

@media (prefers-reduced-motion: reduce) {
    .parallax-wrap .parallax,
    .parallax-wrap .parallax-slow,
    .parallax-wrap .parallax-fast,
    .wp-block-cover.parallax .wp-block-cover__image-background,
    .wp-block-cover.parallax-slow .wp-block-cover__image-background,
    .wp-block-cover.parallax-fast .wp-block-cover__image-background {
        transform: none;
    }
}

/* Video Modal Block Styles */

.video-modal-trigger {
    cursor: pointer;
    outline: none;
    display: inline-flex;
    align-items: center;
    background: transparent;
    border: 0;
    padding: 0;
}

.video-modal-trigger:focus-visible {
    outline: 2px solid var(--wp--preset--color--primary, #0b7c87);
    outline-offset: 2px;
}

.video-modal-trigger__icon {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.video-modal-trigger__icon-image {
   
    display: block;
}

.video-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background-color: rgba(0, 0, 0, 0.75);
    backdrop-filter: blur(4px);
    animation: fadeIn 0.3s ease-out;
}

.video-modal.hidden {
    display: none;
}

.video-modal-content {
    animation: slideIn 0.3s ease-out;
    max-height: 90vh;
    width: 100%;
    max-width: 64rem;
    background: #ffffff;
    border-radius: 0.5rem;
    overflow: hidden;
}

.video-modal-close {
    padding: 0.5rem;
    border-radius: 9999px;
    background: transparent;
    border: 0;
    cursor: pointer;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.video-modal-close:hover {
    background-color: rgba(0, 0, 0, 0.05);
}

.video-container {
    position: relative;
}

.video-modal-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(0, 0, 0, 0.3);
    transition: background-color 0.3s ease;
}

.video-modal-trigger:hover .video-modal-overlay {
    background-color: rgba(0, 0, 0, 0.5);
}

.video-modal-overlay__icon {
    width: 4rem;
    height: 4rem;
    border-radius: 9999px;
    background: rgba(255, 255, 255, 0.9);
    display: flex;
    align-items: center;
    justify-content: center;
}

.video-modal-overlay__icon-image {
    width: 2rem;
    height: 2rem;
    display: block;
}

/* Animations */

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateY(-20px) scale(0.95);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Responsive */

@media (max-width: 768px) {
    .video-modal-content {
        margin-left: 0.5rem;
        margin-right: 0.5rem;
        max-height: 85vh;
    }
    
    .video-container {
        padding-bottom: 56.25%; /* 16:9 aspect ratio */
    }
}

/* Preview dans l'éditeur */

.video-modal-preview {
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    padding: 1rem;
    background: #f9fafb;
}

.video-modal-preview img {
    border-radius: 0.5rem;
}

/* @import "_woocommerce.css";
@import "_currency.css";
*/

/* Les largeurs full et wide sont gérées nativement par WordPress avec theme.json */

/* Pas besoin de règles CSS supplémentaires */

html {
    scroll-behavior: smooth;
}

/* Décalage pour la barre d'administration WordPress */

.logged-in .header-sticky {
    top: 32px !important;
}

/* Décalage du contenu pour le header sticky */

body {
    padding-top: 0;
    transition: padding-top 0.3s ease;
}

/* Remove global block gap on all root-level blocks */

:where(.wp-site-blocks) > * {
    margin-block-start: 0;
    margin-block-end: 0;
}

.logged-in .dc26-navigation {
    padding-top: 2rem;
}

h1, h2, h3, h4, h5, h6, p, a, summary, li, strong, span, div, label, button, input, select, textarea {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/*
 * Progressive enhancement to reduce widows and orphans
 * https://github.com/WordPress/gutenberg/issues/55190
 */

h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
    text-wrap: pretty;
}

/*
 * Change the position of the more block on the front, by making it a block level element.
 * https://github.com/WordPress/gutenberg/issues/65934
*/

.more-link {
    display: block;
}

/* Annule toute grille sur mobile — tous les blocs s'empilent verticalement */

@media (max-width: 1024px) {
    .wp-block-group.is-layout-grid.wp-block-group-is-layout-grid {
        grid-template-columns: 1fr !important;
        display: block !important;
    }
}


