/* Phar overrides — le CSS du parent (dc26-base) est chargé automatiquement par WordPress */
/* ===================================
   HEADER STYLES
   =================================== */
/* Frosted glass on scroll (override base transition) */
header.is-style-sticky-header.is-scrolled {
  background-color: rgba(255, 255, 255, 0.02);
  backdrop-filter: blur(4px);
}
/* Hamburger aligné à droite indépendamment du justify du bloc navigation */
@media (max-width: 768px) {
    header .wp-block-navigation {
        margin-inline-start: auto;
        justify-content: flex-end;
    }
    header .wp-block-navigation__responsive-container-open {
        margin-inline-start: auto;
    }

}
/* Burger icon visible sur fond clair quand le header est scrollé */
header.is-style-sticky-header.is-scrolled .wp-block-navigation__responsive-container-open,
header.is-style-sticky-header.is-scrolled .wp-block-navigation__responsive-container-open svg {
    color: var(--wp--preset--color--primary);
    fill: var(--wp--preset--color--primary);
}
/* ── Mobile nav overlay ─────────────────────────────────────────────────── */
/* Overlay couvre tout le viewport quel que soit le scroll */
.wp-block-navigation__responsive-container.is-menu-open {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 100dvh !important;
    overflow-y: auto !important;
    z-index: 9998 !important;
}
/* Couleurs forcées en primary */
.wp-block-navigation__responsive-container.is-menu-open,
.wp-block-navigation__responsive-container.is-menu-open a,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    color: var(--wp--preset--color--primary) !important;
}
/* Reset submenu : notre animation desktop (opacity:0) ne doit pas s'appliquer dans l'overlay */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
    opacity: 1 !important;
    transform: none !important;
    position: static !important;
    box-shadow: none !important;
    background: transparent !important;
    pointer-events: auto !important;
    padding: 0.25rem 0 0.25rem 1rem;
    margin-top: 0;
    min-width: 0;
}
/* Bouton fermeture aligné avec le burger */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
    height: var(--site-header-height, 4rem) !important;
    min-height: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    padding: 0 var(--wp--preset--spacing--50) !important;
}
/* Espacement serré entre les items */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    gap: 0 !important;
    padding: var(--wp--preset--spacing--50);
    align-items: flex-start;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    padding-block: 0.4rem;
    width: 100%;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item {
    padding-block: 0.2rem;
    font-size: 0.9em;
}
/* Overflow : cache le parallax bg derrière l'overlay */
body:has(.wp-block-navigation__responsive-container.is-menu-open) #bg-pattern-layer {
    visibility: hidden;
}
.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;
}
/* ===================================
  HEADER STICKY - STATE-BASED
  =================================== */
header.wp-block-template-part.is-style-sticky-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 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%;
	background-color: transparent;
	box-shadow: none;
	backdrop-filter: none;
	transition:
		background-color 200ms ease,
		box-shadow 200ms ease,
		backdrop-filter 200ms ease;
}
.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.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;
}
/* 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.25);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
	backdrop-filter: blur(8px);
}
/* Navigation : couleur primary au scroll */
.is-style-sticky-header .wp-block-navigation a,
.is-style-sticky-header .wp-block-navigation-item__content,
.is-style-sticky-header .wp-block-navigation__submenu-icon svg {
    transition: color 200ms ease;
}
.is-style-sticky-header .wp-block-navigation__submenu-icon svg {
    transition: stroke 200ms ease;
}
.is-style-sticky-header.is-scrolled .wp-block-navigation a,
.is-style-sticky-header.is-scrolled .wp-block-navigation-item__content {
    color: var(--wp--preset--color--primary);
}
.is-style-sticky-header.is-scrolled .wp-block-navigation__submenu-icon svg {
    stroke: var(--wp--preset--color--primary);
}
@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;
	}
}
.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 {
  color: var(--wp--preset--color--primary);
  transition: all 300ms;
  transform: rotate(180deg);
  font-size: 1.5rem;
  content: "\f078";
  font: var(--fa-font-light);
}
.wp-block-details.is-style-big-details[open] summary::after {
  transition: all 300ms;
  transform: rotate(0deg);
}
div.is-list-small ul.is-style-check li {
  font-size: 15px;
  line-height: 1.375;
  margin-bottom: 0;
  padding-bottom: 0;
}
ul.is-style-check {
  list-style: none;
  font-size: 18px;
  font-weight: 500;
}
ul.is-style-check li {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
  padding-top: 0.5rem;
}
ul.is-style-check li::before {
  content: "\f00c";
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 2px;
  font: var(--fa-font-regular);
}
/* WP List block style variation: Check */
ul.wp-block-list.is-style-list-check {
    list-style: none;
    padding-left: 0;
}
ul.wp-block-list.is-style-list-check li {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    margin-bottom: 0.5rem;
    padding-top: 0.1rem;
}
ul.wp-block-list.is-style-list-check li::before {
    content: "\f00c";
    font: var(--fa-font-regular);
    color: var(--wp--preset--color--primary);
    flex-shrink: 0;
    padding-top: 0.2em;
}
/* WP List block style variation: Hexagone check */
ul.wp-block-list.is-style-dc26-hex-check {
  list-style: none;
  padding-left: 0;
}
ul.wp-block-list.is-style-dc26-hex-check li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding-left: 0;
  margin-bottom: 0.6rem;
}
ul.wp-block-list.is-style-dc26-hex-check li::before {
  content: "";
  flex-shrink: 0;
  width: calc(1em + 4px);
  height: calc(1em + 4px);
  background: url("../assets/img/hexagon-check-light-full.svg") no-repeat center / contain;
}
.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;
}
/* Media-text : clip au border-radius du wrapper grid */
.wp-block-media-text {
    overflow: hidden;
}
@media (max-width: 600px) {
    .wp-block-media-text__content {
        padding: var(--wp--preset--spacing--50) !important;
    }
    .wp-block-media-text {
        margin-block: var(--wp--preset--spacing--50) !important;
    }
}
.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;
}
#bg-pattern-layer {
    position: fixed;
    top: 0;
    left: 50%;
    width: max(100vw, 4000px);
    min-height: 100vh;
    z-index: -1;
    pointer-events: none;
    overflow: hidden;
    will-change: transform;
    /* --bg-opacity injected by PHP as inline CSS variable */
    opacity: var(--bg-opacity, 0.1);
}
/* --tile-w / --tile-h are set as inline CSS variables by PHP */
#bg-pattern-layer[data-mode="pattern"] {
    display: grid;
    grid-template-columns: repeat(auto-fill, var(--tile-w, 400px));
    grid-auto-rows: var(--tile-h, 400px);
}
.pattern-tile {
    width: var(--tile-w, 400px);
    height: var(--tile-h, 400px);
    overflow: hidden;
}
.pattern-tile img,
.pattern-tile svg {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.bg-full-svg {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.bg-full-svg img,
.bg-full-svg svg {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
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 before footer only */
:where(.wp-site-blocks) > footer {
    margin-block-start: 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;
}
h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
    text-wrap: pretty;
}
.more-link {
    display: block;
}
.wp-block-page-list a,
.wp-block-navigation .wp-block-page-list a {
    text-decoration: none !important;
}
/* Espacement proportionnel après paragraphes et listes */
.wp-block-paragraph,
.wp-block-list {
    margin-bottom: 1em;
}
.wp-block-list ul,
.wp-block-list ol {
    margin-bottom: 0;
}
