.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);
}

/* ===================================
  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;
	}
}

: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;
    }
}


