/* =========================================================================
   Les Aventuriers en Herbe — theme.css
   Architecture pleine largeur sans max-width sur le wrap. Override du reset
   parent (overflow: clip). Header fixe + transition au scroll via
   `html[data-scroll]` (attribut posé par parent/script.js).
   ========================================================================= */

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src:
    url("../fonts/inter.woff2") format("woff2-variations"),
    url("../fonts/inter.woff2") format("woff2");
}

html,
body {
  overflow-x: clip !important;
}
body {
  overflow-y: visible !important;
}

/* ---- Tokens ---- */
:root {
  --aeh-dark: #041608;
  --aeh-light: #ffffff;
  --aeh-primary: #ee7202;
  --aeh-primary-hover: #fd8f2b;
  --aeh-primary-deep: #c05c02;
  --aeh-primary-soft: #fff2e6;
  --aeh-secondary: #136726;
  --aeh-secondary-hover: #0f521e;
  --aeh-secondary-deep: #082b10;
  --aeh-secondary-soft: #ecf0d1;
  --aeh-tertiary-100: #f6f7e8;
  --aeh-tertiary-500: #d0d98b;
  --aeh-quaternary: #fdfbf7;
  --aeh-quaternary-sand: #e3d4af;
  --aeh-menu-item: #111111;
  --aeh-hero-orange: #e36c00;

  --aeh-font:
    "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --aeh-fs-xs: 14px;
  --aeh-fs-body: 16px;
  --aeh-fs-body-lg: 18px;
  --aeh-fs-m: 20px;
  --aeh-fs-l: 28px;
  --aeh-fs-xl: 36px;
  --aeh-fs-xxl: 52px;
  --aeh-fs-display: 56px;

  --aeh-sp-xxs: 8px;
  --aeh-sp-xs: 16px;
  --aeh-sp-s: 20px;
  --aeh-sp-m: 32px;
  --aeh-sp-l: 40px;
  --aeh-sp-xl: 60px;
  --aeh-sp-xxl: 80px;
  --aeh-sp-3xl: 100px;
  --aeh-sp-4xl: 120px;

  --aeh-gutter: clamp(16px, 4vw, 100px);

  --aeh-radius-card: 24px;
  --aeh-radius-pill: 1000px;
  --aeh-radius-input: 12px;

  --aeh-shadow-card: 0 4px 24px rgba(4, 22, 8, 0.08);
  --aeh-shadow-header: 0 6px 24px rgba(4, 22, 8, 0.08);

  --aeh-header-h: 110px;

  --aeh-trans-fast: all 0.18s ease;
  --aeh-trans-color:
    background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

/* ---- Reset / base ---- */
*,
*::before,
*::after {
  box-sizing: border-box;
}
body {
  margin: 0;
  background: var(--aeh-quaternary);
  color: var(--aeh-dark);
  font-family: var(--aeh-font);
  font-size: var(--aeh-fs-body);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
img,
svg,
video {
  max-width: 100%;
  height: auto;
  display: block;
}
a {
  color: inherit;
  text-decoration: none;
  transition: var(--aeh-trans-color);
}
a:hover {
  color: var(--aeh-primary);
}
a.underline,
.underline {
  text-decoration: underline;
  text-underline-offset: 2px;
}
a:focus-visible {
  outline: 2px solid var(--aeh-secondary);
  outline-offset: 2px;
  border-radius: 4px;
}
button {
  font-family: inherit;
  cursor: pointer;
}
ul,
ol {
  padding: 0;
  margin: 0;
  list-style: none;
}

/* ---- Container / layout helpers ---- */
.aeh-page {
  width: 100%;
  overflow-x: clip;
  padding-top: var(--aeh-header-h);
}
.aeh-container {
  width: 100%;
  margin-inline: auto;
  padding-inline: var(--aeh-gutter);
}
.aeh-section {
  width: 100%;
  padding-block: var(--aeh-sp-xl);
  position: relative;
}
.aeh-section--soft {
  background: var(--aeh-primary-soft);
}
.aeh-section--green {
  background: var(--aeh-secondary-soft);
}
.aeh-section--lime {
  background: var(--aeh-tertiary-100);
}
.aeh-section--sand {
  background: var(--aeh-quaternary-sand);
}
.aeh-section--dark {
  background: var(--aeh-secondary);
  color: var(--aeh-light);
}

/* ---- Typography (Figma 1512/H1 + 1512/H2) ---- */
h1,
.aeh-h1 {
  font-family: var(--aeh-font);
  font-size: 52px !important;
  font-style: normal;
  font-weight: 800 !important;
  line-height: 64px; /* 123.077% */
  color: var(--aeh-secondary);
  margin: 0;
}
h1 .is-green {
  color: var(--aeh-secondary);
}
h1 .is-orange {
  color: var(--aeh-hero-orange);
}

h2,
.aeh-h2 {
  font-family: var(--aeh-font);
  font-size: 36px !important;
  font-style: normal;
  font-weight: 700 !important;
  line-height: normal;
  color: var(--aeh-secondary);
  margin: 0;
}
h3,
.aeh-site-footer__title,
.aeh-h3 {
  font-size: var(--aeh-fs-l) !important;
  font-weight: 700 !important;
  line-height: 1.15;
  color: var(--aeh-secondary);
  margin: 0;
}
h4,
.aeh-h4 {
  font-size: var(--aeh-fs-m) !important;
  font-weight: 700 !important;
  line-height: 1.2;
  color: var(--aeh-secondary-deep);
  margin: 0;
}
p {
  margin: 0;
}
.aeh-lead {
  font-size: var(--aeh-fs-body-lg) !important;
  line-height: 1.5 !important;
}

/* ---- Boutons (composant Figma 6148:1331 — CTA, 24/12 padding, pill 1000px) ---- */
.aeh-btn {
  --bg: var(--aeh-primary);
  --fg: var(--aeh-menu-item);
  --bg-hover: var(--aeh-primary-hover);
  --fg-hover: var(--aeh-menu-item);
  --bd: var(--bg);
  --bd-hover: var(--bg-hover);
  display: inline-flex;
  align-items: center;
  gap: var(--aeh-sp-xs);
  padding: 12px 24px;
  border: 1px solid var(--bd);
  border-radius: var(--aeh-radius-pill);
  background: var(--bg);
  color: var(--fg);
  font-family: inherit;
  font-size: var(--aeh-fs-body);
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition: var(--aeh-trans-color);
}
.aeh-btn:hover:not(.aeh-btn--with-arrow) {
  background: var(--bg-hover);
  border-color: var(--bd-hover);
  color: var(--fg-hover);
}
.aeh-btn:focus-visible {
  background: var(--bg-hover);
  border-color: var(--bd-hover);
  color: var(--fg-hover);
}

/* Variantes */
.aeh-btn--primary {
  --bg: var(--aeh-primary);
  --fg: var(--aeh-menu-item);
  --bg-hover: var(--aeh-primary-hover);
  --bd: var(--aeh-primary);
  --bd-hover: var(--aeh-primary-hover);
}
.aeh-btn--secondary,
.aeh-btn--green {
  --bg: var(--aeh-secondary);
  --fg: var(--aeh-light);
  --bg-hover: var(--aeh-secondary-hover);
  --fg-hover: var(--aeh-light);
  --bd: var(--aeh-secondary);
  --bd-hover: var(--aeh-secondary-hover);
}
/* Outlined vert : transparent → fond vert + label blanc au hover (composant 6148:1415) */
.aeh-btn--outline {
  --bg: transparent;
  --fg: var(--aeh-secondary);
  --bg-hover: var(--aeh-secondary);
  --fg-hover: var(--aeh-light);
  --bd: var(--aeh-secondary);
  --bd-hover: var(--aeh-secondary);
}
.aeh-btn svg {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
}
/* Composant Figma 6148:1332 : pastille flèche dans la même couleur que le bouton */
.aeh-btn__arrow {
  width: 43px;
  height: 43px;
  border-radius: 999px;
  border: 1px solid var(--bd);
  background: var(--bg);
  color: var(--fg);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: var(--aeh-trans-color);
}
.aeh-btn:hover .aeh-btn__arrow,
.aeh-btn:focus-visible .aeh-btn__arrow {
  background: var(--bg-hover);
  border-color: var(--bd-hover);
  color: var(--fg-hover);
}
.aeh-btn__arrow svg {
  width: 24px;
  height: 24px;
}

/* Bouton deux spans distincts (Figma 6180:1535) :
   outer = flex container sans bg/border ; chaque span = pill ou cercle indépendant */
.aeh-btn--with-arrow {
  border: none;
  background: transparent;
  padding: 0;
  gap: 0;
}
.aeh-btn--with-arrow .aeh-btn__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  border: 1px solid var(--bd);
  border-radius: var(--aeh-radius-pill);
  background: var(--bg);
  color: var(--fg);
  font-weight: 700;
  line-height: 1;
  transition: var(--aeh-trans-color);
}
.aeh-btn--with-arrow:hover .aeh-btn__label,
.aeh-btn--with-arrow:focus-visible .aeh-btn__label,
.aeh-btn--with-arrow:hover .aeh-btn__arrow,
.aeh-btn--with-arrow:focus-visible .aeh-btn__arrow {
  background: var(--bg-hover);
  border-color: var(--bd-hover);
  color: var(--fg-hover);
}

/* ---- Header / navigation ---- */
.aeh-site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: var(--aeh-header-h);
  background: var(--aeh-quaternary);
  z-index: 100;
  transition:
    box-shadow 0.25s ease,
    background-color 0.25s ease;
}
/* Petite ombre dès qu'on a un peu scrollé (data-scroll > 0, posé par parent/script.js) */
html:not([data-scroll="0"]):not([data-scroll=""]) .aeh-site-header,
html[data-scroll="0"] body.error404 .aeh-site-header {
  box-shadow: var(--aeh-shadow-header);
}

.aeh-site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--aeh-sp-l);
  height: 100%;
  padding-block: var(--aeh-sp-xs);
}

/* Logo : hover = légère opacité + scale */
.aeh-site-header__logo {
  display: inline-flex;
  align-items: center;
  transition:
    transform 0.25s ease,
    opacity 0.25s ease;
}
.aeh-site-header__logo:hover {
  transform: scale(1.04);
  opacity: 0.92;
}
.aeh-site-header__logo svg,
.aeh-site-header__logo img {
  width: 98px;
  height: auto;
  display: block;
}

/* Nav desktop — menu items style composant 6148:1364 */
.aeh-nav {
  display: flex;
}
.aeh-nav__list {
  display: flex;
  align-items: center;
  gap: var(--aeh-sp-s); /* 20px (consigne) */
  margin: 0;
  padding: 0;
  list-style: none;
}
.aeh-nav__list a,
.menu-item a {
  color: var(--aeh-menu-item);
  font-weight: 700;
  font-size: var(--aeh-fs-body);
  line-height: 1;
  padding: 10px 12px;
  border-radius: 999px;
  white-space: nowrap;
  max-width: 220px;
  transition: var(--aeh-trans-color);
  position: relative;
}
.aeh-nav__list a:hover,
.menu-item a:hover {
  color: var(--aeh-secondary);
}
.aeh-nav .current-menu-item > a,
.aeh-nav .current_page_item > a {
  color: var(--aeh-secondary);
}
.aeh-nav .current_page_item > a::after,
.aeh-nav .current-menu-item > a::after,
.aeh-nav .menu-item > a::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 2px;
  height: 3px;
  background: var(--aeh-secondary);
  border-radius: 2px;
}

.aeh-nav .menu-item > a::after {
  opacity: 0;
  transition: opacity 0.25s ease;
}
.aeh-nav .menu-item > a:hover::after {
  opacity: 1;
}

.aeh-nav .current-menu-item > a::after {
  opacity: 1;
}

/* CTA cluster à droite : Contact (outline) + Pré-inscription (orange filled) + burger */
.aeh-site-header__cta {
  display: flex;
  align-items: center;
  gap: var(--aeh-sp-xs);
}

/* Burger : div avec 3 spans + label texte */
.aeh-menu-toggle {
  display: none;
  align-items: center;
  gap: 12px;
  background: var(--aeh-secondary);
  color: var(--aeh-light);
  border: 0;
  padding: 10px 16px;
  border-radius: var(--aeh-radius-pill);
  font-weight: 700;
  font-size: var(--aeh-fs-body);
  line-height: 1;
  cursor: pointer;
  transition: var(--aeh-trans-color);
}
.aeh-menu-toggle__icon {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  width: 22px;
  height: 16px;
  gap: 4px;
  position: relative;
}
.aeh-menu-toggle__icon span {
  display: block;
  width: 100%;
  height: 2px;
  background: var(--aeh-light);
  border-radius: 2px;
  transform-origin: center;
  transition:
    transform 0.3s ease,
    opacity 0.3s ease,
    top 0.3s ease;
}
/* État ouvert : 3 traits deviennent une croix */
body.aeh-menu-open .aeh-menu-toggle__icon span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}
body.aeh-menu-open .aeh-menu-toggle__icon span:nth-child(2) {
  opacity: 0;
}
body.aeh-menu-open .aeh-menu-toggle__icon span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

/* Label "Menu" devient "Fermer" via CSS pseudo-elements + data-state */
.aeh-menu-toggle__label[data-open]::before {
  content: attr(data-open);
}
.aeh-menu-toggle__label[data-closed]::before {
  content: attr(data-closed);
}
.aeh-menu-toggle__label::before {
  content: "Menu";
}
body.aeh-menu-open .aeh-menu-toggle__label::before {
  content: "Fermer";
}

/* Drawer / panneau qui glisse depuis la droite, calqué sur le composant Figma 6319:1566 */
.aeh-mobile-menu {
  position: fixed;
  top: var(--aeh-header-h);
  right: 0;
  width: 100%;
  height: calc(100svh - var(--aeh-header-h));
  transform: translateX(100%);
  transition: transform 0.35s ease;
  background: var(--aeh-quaternary);
  z-index: 99;
  overflow-y: auto;
  /* Scrollbar stylé thème (Firefox + WebKit) */
  scrollbar-width: thin;
  scrollbar-color: var(--aeh-secondary) transparent;
}
.aeh-mobile-menu::-webkit-scrollbar {
  width: 8px;
}
.aeh-mobile-menu::-webkit-scrollbar-track {
  background: transparent;
}
.aeh-mobile-menu::-webkit-scrollbar-thumb {
  background: var(--aeh-secondary);
  border-radius: 4px;
}
.aeh-mobile-menu::-webkit-scrollbar-thumb:hover {
  background: var(--aeh-secondary-hover);
}
body.aeh-menu-open .aeh-mobile-menu {
  transform: translateX(0);
}

.aeh-mobile-menu__inner {
  width: 100%;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-block: var(--aeh-sp-xl);
}
.aeh-mobile-menu__content {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  padding: var(--aeh-sp-xl) clamp(20px, 6vw, 100px);
  padding-block: var(--aeh-sp-xxl);
  background: var(--aeh-primary-soft);
}

/* La nav dans le drawer reprend la liste WP (wp_nav_menu) mais affichée en column centrée */
.aeh-mobile-menu__nav {
  width: 100%;
  display: flex;
  justify-content: center;
}
.aeh-mobile-menu__nav .aeh-nav__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 32px; /* Figma frame/gap/m (6319:1566) */
}
.aeh-mobile-menu__nav .aeh-nav__list li {
  width: 100%;
  display: flex;
  justify-content: center;
}
.aeh-mobile-menu__nav .aeh-nav__list a {
  display: inline-flex;
  padding: 0;
  font-family: var(--aeh-font);
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  color: var(--aeh-menu-item);
  background: transparent;
  border-radius: 0;
  max-width: none;
  white-space: normal;
  text-align: center;
  border-bottom: none;
  transition: var(--aeh-trans-color);
}
.aeh-mobile-menu__nav .aeh-nav__list a:hover,
.aeh-mobile-menu__nav .aeh-nav__list .current-menu-item > a,
.aeh-mobile-menu__nav .aeh-nav__list .current_page_item > a {
  color: var(--aeh-secondary);
}
.aeh-mobile-menu__nav .aeh-nav__list a::after {
  display: none; /* pas d'underline dans le drawer (consigne composant 6319:1566) */
}
.aeh-mobile-menu__cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
}
.aeh-site-menu__contact {
  display: none !important;
}

/* ---- Footer ---- */
.aeh-site-footer-wrap {
  background: var(--aeh-quaternary);
  position: relative;
}
.aeh-site-footer-top {
  position: relative;
  width: 100%;
  height: 132px;
}
.aeh-site-footer-wrap__decor {
  position: absolute;
  right: 60px;
  width: 70px;
  pointer-events: none;
  user-select: none;
  z-index: 3;
}
.aeh-site-footer-wrap__decor svg,
.aeh-site-footer-wrap__decor img {
  width: 100%;
  height: auto;
}
.aeh-site-footer-wrap__wave {
  position: absolute;
  right: 100px;
  bottom: -15px;
  width: 160px;
  pointer-events: none;
  user-select: none;
  z-index: 2;
}
.aeh-site-footer-wrap__wave svg {
  width: 100%;
  height: auto;
}
.aeh-site-footer-wrap__wave path {
  stroke: #ee7202;
}

.aeh-site-footer {
  display: flex;
  flex-direction: column;
  gap: 32px;
  background: var(--aeh-secondary);
  color: var(--aeh-light);
  padding: var(--aeh-sp-xl) 0 0 0;
  border-bottom: 1px solid var(--aeh-light);
  position: relative;
}
.aeh-site-footer a {
  color: var(--aeh-light);
  transition: var(--aeh-trans-color);
}
.aeh-site-footer a:hover {
  color: var(--aeh-quaternary-sand);
}
.aeh-site-footer__list li a span {
  transition: var(--aeh-trans-color);
}
.aeh-site-footer__list li a:hover svg,
.aeh-site-footer__list li a:hover span,
.aeh-site-footer__hours:hover svg {
  color: var(--aeh-quaternary-sand);
}
.aeh-site-footer h3,
.aeh-site-footer p,
.aeh-site-footer span,
.aeh-site-footer li {
  color: var(--aeh-light);
}

.aeh-site-footer__missillier svg,
.aeh-site-footer__missillier img {
  width: 340px;
  height: auto;
}
.aeh-site-footer__missillier a {
  display: inline-block;
  transition: opacity 0.25s ease;
}
.aeh-site-footer__missillier a:hover {
  opacity: 0.85;
}

.aeh-site-footer__grid {
  display: flex;
  gap: var(--aeh-sp-xl);
  align-items: start;
  justify-content: space-between;
  padding-bottom: var(--aeh-sp-s);
}

.aeh-site-footer__col p {
  font-size: var(--aeh-fs-body);
  line-height: 1.5;
}
.aeh-site-footer__title {
  font-size: var(--aeh-fs-body);
  font-weight: 600;
  color: var(--aeh-light);
  line-height: 1.3;
}
.aeh-site-footer__col--hours {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 330px;
}
.aeh-site-footer__col--brand {
  display: flex;
  flex-direction: column;
  gap: 40px;
  max-width: 425px;
}
.aeh-site-footer__col--links {
  display: flex;
  flex-direction: column;
  gap: 28px;
  min-width: 156px;
}

.aeh-site-footer__list {
  display: flex;
  flex-direction: column;
  gap: var(--aeh-sp-xxs);
  margin: 0;
  padding: 0;
  list-style: none;
}
.aeh-site-footer__list li a {
  display: inline-flex;
  align-items: flex-start;
  gap: var(--aeh-sp-xxs);
  transition: var(--aeh-trans-color);
}
.aeh-site-footer__list svg {
  width: 24px;
  height: 24px;
  color: var(--aeh-light);
  flex: 0 0 24px;
}

.aeh-site-footer__social-label {
  font-weight: 600;
}
.aeh-site-footer__social-link {
  transform: scale(1);
  transition: transform 0.25s ease !important;
}
.aeh-site-footer__social-link:hover {
  transform: scale(0.95);
}
.aeh-site-footer__socials {
  display: flex;
  gap: var(--aeh-sp-s);
  margin: 0;
  padding: 0;
  list-style: none;
}
.aeh-site-footer__socials a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--aeh-light);
  transition: var(--aeh-trans-color);
}
.aeh-site-footer__socials a:hover {
  color: var(--aeh-quaternary-sand);
}
.aeh-site-footer__socials svg {
  width: 24px;
  height: 24px;
  color: var(--aeh-light);
}
.aeh-site-footer__socials a:hover svg {
  color: var(--aeh-quaternary-sand);
}

.aeh-site-footer__hours {
  display: inline-flex;
  align-items: start;
  gap: var(--aeh-sp-xxs);
}
.aeh-site-footer__hours svg {
  padding-top: 8px;
}

.aeh-site-footer__hours-text {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* netdev-footer plugin : on récupère son rendu et on le restyle pour matcher la maquette */
#netdev-footer,
.netdev-footer {
  background: var(--aeh-secondary) !important;
  color: var(--aeh-light) !important;
  padding: var(--aeh-sp-s) var(--aeh-gutter) !important;
  text-align: center;
  font-size: var(--aeh-fs-xs);
  font-weight: 700;
  text-transform: none;
}
#netdev-footer a,
.netdev-footer a {
  color: var(--aeh-light) !important;
  text-decoration: underline;
}
#netdev-footer a:hover,
.netdev-footer a:hover {
  color: var(--aeh-quaternary-sand) !important;
}

/* ---- Decor ---- */
.aeh-decor {
  position: absolute;
  pointer-events: none;
  user-select: none;
}
.aeh-decor svg,
.aeh-decor img {
  width: 100%;
  height: auto;
  display: block;
}

/* ---- Cards ---- */
.aeh-card {
  background: var(--aeh-light);
  border-radius: var(--aeh-radius-card);
  padding: var(--aeh-sp-m);
  box-shadow: var(--aeh-shadow-card);
}

/* ---- HERO ---- */
.aeh-hero {
  position: relative;
  min-height: 100svh;
  padding-block: var(--aeh-sp-xl);
  background: var(--aeh-quaternary);
  overflow: hidden;
  display: flex;
  align-items: center;
}
.aeh-hero__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--aeh-sp-xxl);
  align-items: center;
  width: 100%;
}
.aeh-hero__text {
  display: flex;
  flex-direction: column;
  gap: var(--aeh-sp-xl); /* 60px (consigne) */
}
.aeh-hero__content {
  display: flex;
  flex-direction: column;
  gap: 20px; /* 40px (consigne) */
}
.aeh-hero__text p {
  color: var(--aeh-dark);
  font-size: var(--aeh-fs-body-lg);
}
.aeh-hero__cta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--aeh-sp-xs);
}

.aeh-hero__visual {
  position: relative;
  padding-right: var(--aeh-sp-xl);
  padding-bottom: var(--aeh-sp-xl);
}
.aeh-hero__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--aeh-radius-card);
  transform: rotate(4deg);
}
.aeh-hero__leaves {
  width: 200px;
  right: 0;
  bottom: -10px;
  z-index: 2;
}

/* ---- COLLAGE (3 photos rotates + vecteur path en arrière-plan) ---- */
.aeh-collage {
  padding-bottom: var(--aeh-sp-xxl);
  background: var(--aeh-quaternary);
  position: relative;
}
.aeh-collage__path {
  position: absolute;
  inset: auto 0 auto 0;
  width: 100%;
  height: auto;
  z-index: 1;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}
.aeh-collage__path svg {
  width: 100%;
  height: auto;
  fill: var(--aeh-quaternary);
}
.aeh-collage__inner {
  display: flex;
  fill: var(--aeh-secondary-soft);
  justify-content: space-between;
  gap: 80px; /* 40px (consigne) */
  position: relative;
  z-index: 2;
}
.aeh-collage__photo {
  margin: 0;
  border-radius: var(--aeh-radius-card);
  overflow: hidden;
  box-shadow: var(--aeh-shadow-card);
  background: var(--aeh-light);
  flex: 1 1 auto;
  min-width: 0;
}
.aeh-collage__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: var(--aeh-radius-card);
}
/* Aspect ratios et tailles max issus de la maquette Figma 6148:1479 */
.aeh-collage__photo--left {
  aspect-ratio: 205 / 302;
  max-width: 205px;
  transform: rotate(5deg);
}
.aeh-collage__photo--center {
  aspect-ratio: 463 / 302;
  max-width: 464px;
  flex: 2.25 1 auto;
  transform: rotate(-4deg);
  z-index: 3;
}
.aeh-collage__photo--right {
  aspect-ratio: 207 / 302;
  max-width: 207px;
  transform: rotate(8deg);
}

/* ---- Splits image+text ---- */
.aeh-split.aeh-section {
  padding-block: var(--aeh-sp-xl);
  position: relative;
}
.aeh-feature {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--aeh-sp-xxl);
  align-items: center;
}
.aeh-feature__text {
  display: flex;
  flex-direction: column;
  gap: var(--aeh-sp-l); /* 40px (consigne) */
}
.aeh-feature__text > .aeh-feature__paragraphs {
  display: flex;
  flex-direction: column;
  gap: var(--aeh-sp-s); /* 20px (consigne) */
}
.aeh-feature__text p {
  font-size: var(--aeh-fs-body);
  line-height: 1.5;
}
.aeh-feature__media {
  display: flex;
  align-items: center;
  aspect-ratio: 606 / 437;
  overflow: hidden;
  border-radius: var(--aeh-radius-card);
  transform: rotate(-6deg);
  max-height: 460px;
}
.aeh-feature__media img {
  width: 100%;
  height: 100%;
  max-height: 400px;
  max-width: 600px;
  object-fit: cover;
  border-radius: var(--aeh-radius-card);
}
.aeh-feature--media-right .aeh-feature__media {
  justify-content: end;
  transform: rotate(6deg);
}

/* ---- Section projet ---- */
.aeh-projet {
  position: relative;
  padding-block: 0;
}
.aeh-projet__wave {
  width: 100%;
  line-height: 0;
}
.aeh-projet__wave svg {
  width: 100%;
  height: auto;
  display: block;
}
.aeh-projet__wave--bottom {
  transform: rotate(180deg);
}
.aeh-projet__inner {
  padding-block: var(--aeh-sp-xxl);
  position: relative;
  background: var(--aeh-primary-soft);
}
.aeh-projet__intro {
  max-width: 760px;
  margin: 0 auto var(--aeh-sp-l);
  text-align: center;
}
.aeh-projet__intro h2 {
  color: var(--aeh-primary-deep);
  margin-bottom: var(--aeh-sp-s);
}
.aeh-projet__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--aeh-sp-l);
  margin: 0 auto var(--aeh-sp-l);
  max-width: 1090px;
  position: relative;
}
.aeh-projet__card {
  background: var(--aeh-light);
  border-radius: var(--aeh-radius-card);
  padding: var(--aeh-sp-l);
  box-shadow: var(--aeh-shadow-card);
  display: flex;
  flex-direction: column;
  gap: var(--aeh-sp-s); /* 20px (consigne) */
  position: relative;
}
.aeh-projet__card h3 {
  color: var(--aeh-primary-deep);
  font-size: var(--aeh-fs-l);
  font-weight: 700;
}
.aeh-projet__card p {
  color: var(--aeh-dark);
  font-size: var(--aeh-fs-body);
}
.aeh-projet__cta {
  text-align: center;
}
/* Leaves positionnés en absolute par rapport aux articles (consigne) */
.aeh-projet__card .aeh-projet__leaves-1 {
  position: absolute;
  top: -88px;
  left: -96px;
  width: 164px;
  color: var(--aeh-secondary-soft);
  z-index: 1;
}
.aeh-projet__card .aeh-projet__leaves-2 {
  position: absolute;
  bottom: -32px;
  right: -32px;
  width: 100px;
  color: var(--aeh-secondary-soft);
  z-index: 1;
}

.aeh-projet__card > * {
  position: relative;
  z-index: 2;
}

/* ---- CTA band (vert pâle, centré) ---- */
.aeh-cta-band {
  background: var(--aeh-secondary-soft);
  color: var(--aeh-dark);
  text-align: center;
  padding: var(--aeh-sp-xxl);
  border-radius: var(--aeh-radius-card);
  position: relative;
}
.aeh-cta-band__inner {
  display: flex;
  flex-direction: column;
  gap: var(--aeh-sp-l); /* 40px (consigne) */
  align-items: center;
  position: relative;
  z-index: 2;
}
.aeh-cta-band__inner > .aeh-cta-band__paragraphs {
  display: flex;
  flex-direction: column;
  gap: var(--aeh-sp-s); /* 20px (consigne) */
  max-width: 700px;
}
.aeh-cta-band__title {
  color: var(--aeh-secondary);
  margin: 0;
}
.aeh-cta-band__footprints {
  position: absolute;
  right: -40px;
  bottom: -20px;
  width: 320px;
  opacity: 0.6;
  pointer-events: none;
  z-index: 1;
}
.aeh-cta-band__footprints svg {
  width: 100%;
  height: auto;
}

/* ---- Forms (WPForms host) ---- */
.aeh-form-host {
  background: var(--aeh-quaternary);
  border-radius: var(--aeh-radius-card);
  padding: var(--aeh-sp-l);
}
.aeh-form-host .wpforms-field {
  width: 100% !important;
  padding: 0 0 var(--aeh-sp-s) 0;
}
.aeh-form-host .wpforms-field-medium,
.aeh-form-host .wpforms-field-small,
.aeh-form-host .wpforms-field-large {
  max-width: 100% !important;
}
.aeh-form-host input[type="text"],
.aeh-form-host input[type="email"],
.aeh-form-host input[type="tel"],
.aeh-form-host input[type="url"],
.aeh-form-host input[type="number"],
.aeh-form-host textarea,
.aeh-form-host select {
  width: 100%;
  background: var(--aeh-light);
  border: 1px solid rgba(4, 22, 8, 0.18);
  border-radius: var(--aeh-radius-input);
  padding: 12px 16px;
  font: inherit;
  color: var(--aeh-dark);
}
.aeh-form-host textarea {
  min-height: 140px;
  resize: vertical;
}
.aeh-form-host label,
.aeh-form-host .wpforms-field-label {
  font-weight: 700;
  color: var(--aeh-secondary-deep);
}
.aeh-form-host .wpforms-submit {
  background: var(--aeh-secondary);
  color: var(--aeh-light);
  border: 1px solid var(--aeh-secondary);
  border-radius: var(--aeh-radius-pill);
  padding: 14px 32px;
  font-weight: 700;
  cursor: pointer;
  transition: var(--aeh-trans-color);
}
.aeh-form-host .wpforms-submit:hover {
  background: var(--aeh-secondary-hover);
}

/* ---- Reveal helpers ---- */
[data-reveal] {
  opacity: 1;
  transform: none;
}
[data-reveal].is-armed {
  opacity: 0;
  transform: translateY(20px);
}
[data-reveal].is-visible {
  opacity: 1;
  transform: none;
  transition:
    opacity 0.6s ease,
    transform 0.6s ease;
}

/* Fade uniquement — pour les éléments qui ont déjà un transform CSS.
   On ne les déplace pas en Y pour éviter le conflit de composition. */
[data-reveal="fade"].is-armed {
  transform: none;
}
[data-reveal="fade"].is-visible {
  transition: opacity 0.6s ease;
}

/* ---- Pages intérieures ---- */
.aeh-hero--interior {
  min-height: calc(100svh - var(--aeh-header-h));
  padding-block: var(--aeh-sp-xl);
}
.aeh-hero--interior .aeh-hero__visual {
  aspect-ratio: 16/10;
}

/* ---- Contact list (page contact) ---- */
.aeh-contact-list {
  display: flex;
  flex-direction: column;
  gap: var(--aeh-sp-s);
  margin: 0 0 var(--aeh-sp-m);
  padding: 0;
  list-style: none;
}
.aeh-contact-list__link {
  display: inline-flex;
  align-items: center;
  gap: var(--aeh-sp-xs);
  color: var(--aeh-dark);
  font-weight: 600;
}
.aeh-contact-list__link svg {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  color: var(--aeh-secondary);
}
.aeh-contact-list__link:hover {
  color: var(--aeh-primary);
}
.aeh-contact-map {
  border-radius: var(--aeh-radius-card);
  overflow: hidden;
  min-height: 360px;
  aspect-ratio: 4/3;
  background: var(--aeh-tertiary-100);
}

/* ---- FAQ ---- */
.aeh-faq-group {
  display: flex;
  flex-direction: column;
  gap: var(--aeh-sp-m);
  max-width: 646px;
  width: 100%;
  margin-inline: auto;
  margin-bottom: var(--aeh-sp-4xl);
}
.aeh-faq-group:last-child {
  margin-bottom: 0;
}
.aeh-faq-group__title {
  color: var(--aeh-secondary);
  text-align: center;
  margin: 0;
}
.aeh-faq-list {
  display: flex;
  flex-direction: column;
  gap: var(--aeh-sp-xs);
}
.aeh-faq-item {
  background: var(--aeh-light);
  border-radius: var(--aeh-radius-card);
  padding: var(--aeh-sp-s) var(--aeh-sp-m);
  box-shadow: var(--aeh-shadow-card);
  border: 1px solid rgba(4, 22, 8, 0.04);
}
.aeh-faq-item__q {
  list-style: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--aeh-sp-s);
}
.aeh-faq-item__q::-webkit-details-marker {
  display: none;
}
.aeh-faq-item__q h3 {
  margin: 0;
  font-size: var(--aeh-fs-body-lg);
  color: var(--aeh-secondary-deep);
  font-weight: 700;
}
.aeh-faq-item__icon {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  border-radius: 999px;
  background: var(--aeh-primary);
  color: var(--aeh-light);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 20px;
  transition:
    transform 0.18s ease,
    background 0.18s ease;
}
.aeh-faq-item[open] .aeh-faq-item__icon {
  transform: rotate(45deg);
  background: var(--aeh-secondary);
}
.aeh-faq-item__a {
  padding-top: var(--aeh-sp-xs);
  color: var(--aeh-dark);
}

/* ---- Legal ---- */
.aeh-legal-content h2 {
  color: var(--aeh-primary-deep);
  margin-top: var(--aeh-sp-l);
  margin-bottom: var(--aeh-sp-xs);
}
.aeh-legal-content p {
  margin-bottom: var(--aeh-sp-s);
}
.netdev-mentions-legales a {
	font-weight: 700;
}

/* ---- Cache l'admin bar et le wp-img-auto-sizes glitch ---- */
#wpadminbar {
  display: none !important;
}
html {
  margin-top: 0 !important;
}

/* =========================================================================
   Responsive (breakpoints 1536 / 1024 / 640)
   ========================================================================= */

/* Cache la nav desktop sous 1536px + montre le burger (consigne client) */
@media (max-width: 1535.98px) {
  .aeh-nav {
    display: none;
  }
  .aeh-menu-toggle {
    display: inline-flex;
  }
}
/* Au-dessus du 1536 : on cache le mobile menu, pré-inscription visible en desktop */
@media (min-width: 1536px) {
  .aeh-mobile-menu {
    display: none;
  }
}

@media (max-width: 1024px) {
  :root {
    --aeh-fs-xxl: 44px;
    --aeh-fs-xl: 30px;
    --aeh-sp-3xl: 72px;
    --aeh-sp-xxl: 56px;
    --aeh-header-h: 88px;
  }
  h1,
  .aeh-h1 {
    font-size: 44px !important;
    line-height: 1.15 !important;
  }
  h2,
  .aeh-h2 {
    font-size: 30px !important;
  }
  .aeh-site-header__preinscription {
    display: none !important;
  }
  .aeh-hero,
  .aeh-collage {
    min-height: 0;
  }
  .aeh-hero__layout,
  .aeh-feature {
    grid-template-columns: 1fr;
  }
  /* Collage responsive : flex en colonne, rotations conservées */
  .aeh-collage__inner {
    flex-direction: column;
    align-items: center;
  }
  .aeh-collage__photo--center {
    aspect-ratio: 512 / 325;
    max-width: 512px;
    max-height: 325px;
    width: 100%;
  }
  .aeh-collage__photo--right,
  .aeh-collage__photo--left {
    aspect-ratio: 282 / 416;
    max-width: 282px;
    max-height: 416px;
    width: 100%;
  }
  .aeh-collage__path {
    display: none;
  }
  .aeh-projet__cards {
    grid-template-columns: 1fr;
  }
  .aeh-site-footer__grid {
    flex-direction: column;
    align-items: start;
  }
  .aeh-site-footer__col--brand {
    max-width: 100% !important;
  }
  .aeh-site-footer__col--hours,
  .aeh-site-footer__col--links {
    min-width: 100% !important;
  }

  /* Au breakpoint 1024, la section micro-crèche garde son rotate mais l'image passe APRÈS le texte */
  .aeh-split--img-left .aeh-feature {
    grid-template-columns: 1fr;
  }
  .aeh-split--img-left .aeh-feature__media {
    order: 2;
    transform: rotate(-6deg);
  }
  .aeh-split--img-left .aeh-feature__text {
    order: 1;
  }
  /* Section offre-entreprise : ordre image-après-texte conservé */
  .aeh-split--img-right .aeh-feature__media {
    order: 2;
    transform: rotate(6deg);
  }
  .aeh-feature__media {
    justify-content: center !important;
    aspect-ratio: unset !important;
  }
}

@media (max-width: 720px) {
  .aeh-hero__visual {
    padding-right: var(--aeh-sp-s);
    padding-bottom: var(--aeh-sp-s);
  }
  .aeh-site-footer__grid {
    grid-template-columns: 1fr;
  }
  :root {
    --aeh-fs-xxl: 32px;
    --aeh-fs-xl: 26px;
    --aeh-fs-l: 22px;
    --aeh-sp-3xl: 56px;
    --aeh-sp-xxl: 48px;
    --aeh-sp-l: 28px;
  }
  .aeh-cta-band {
    padding: var(--aeh-sp-l);
  }
  .aeh-cta-band__footprints {
    width: 200px;
    right: -32px;
    bottom: -16px;
  }
}

@media (max-width: 640px) {
  h1,
  .aeh-h1 {
    font-size: 34px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
  }
  h2,
  .aeh-h2 {
    font-size: 28px !important;
    font-weight: 700 !important;
  }
  .aeh-hero__visual {
    padding-right: var(--aeh-sp-s);
    padding-bottom: var(--aeh-sp-s);
  }
  .aeh-site-header__contact {
    display: none !important;
  }
  .aeh-site-menu__contact {
    display: inline-block !important;
  }
}

/* =========================================================================
   Composants spécifiques aux pages secondaires
   ========================================================================= */

/* ---- CTA band variantes ---- */
.aeh-cta-band--peach {
  background: var(--aeh-primary-soft);
}
.aeh-cta-band--peach .aeh-cta-band__title {
  color: var(--aeh-primary-deep);
}
.aeh-cta-band__leaves {
  position: absolute;
  left: 20px;
  top: -90px;
  width: 165px;
  pointer-events: none;
  z-index: 1;
}
.aeh-cta-band__leaves svg {
  width: 100%;
  height: auto;
}

/* ---- Checklist card (bg tertiary-100) ---- */
.aeh-checklist-card {
  background: var(--aeh-tertiary-100);
  border-radius: var(--aeh-radius-card);
  padding: var(--aeh-sp-l);
  display: flex;
  flex-direction: column;
  gap: var(--aeh-sp-m);
}
.aeh-checklist__items {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.aeh-checklist__item {
  display: flex;
  gap: 8px;
  align-items: flex-start;
}
.aeh-checklist__item svg {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
}
.aeh-checklist__item path {
  fill: #d0d98b;
}

/* ---- Section espaces (2 photos empilées + checklist) ---- */
.aeh-espaces.aeh-section {
  padding-block: var(--aeh-sp-xl);
}
.aeh-espaces__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--aeh-sp-xxl);
  align-items: center;
}
.aeh-espaces__photos {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: visible;
}
.aeh-espaces__photo {
  border-radius: var(--aeh-radius-card);
  overflow: hidden;
  box-shadow: var(--aeh-shadow-card);
  aspect-ratio: 442 / 294;
  max-width: 92%;
}
.aeh-espaces__photo {
  width: 100%;
  height: 100%;
  max-width: 442px;
  max-height: 294px;
  display: block;
  border-radius: var(--aeh-radius-card);
}
.aeh-espaces__photo img {
  object-fit: cover;
}
.aeh-espaces__photo--top {
  transform: rotate(-8deg);
  align-self: flex-start;
}
.aeh-espaces__photo--bottom {
  transform: rotate(8deg);
  align-self: flex-end;
  margin-top: -120px;
}
.aeh-espaces__content {
  display: flex;
  flex-direction: column;
  gap: var(--aeh-sp-l);
}

/* ---- Section équipe (4 photos staggerées) ---- */
.aeh-equipe.aeh-section {
  padding-block: var(--aeh-sp-xl);
}
.aeh-equipe__layout {
  /* display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--aeh-sp-xxl);
  align-items: start; */
}
.aeh-equipe__photo-wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
}
.aeh-equipe__photo {
  border-radius: var(--aeh-radius-card);
  overflow: hidden;
  box-shadow: var(--aeh-shadow-card);
  aspect-ratio: 276 / 373;
  width: 100%;
}
.aeh-equipe__photo {
  width: 100%;
  height: 100%;
  max-width: 276px;
  max-height: 373px;
  border-radius: var(--aeh-radius-card);
}
.aeh-equipe__photo img {
  object-fit: cover;
  height: 100% !important;
  width: 100%;
}
.aeh-equipe__photo-wrap:nth-child(1) .aeh-equipe__photo {
  transform: rotate(6deg);
}
.aeh-equipe__photo-wrap:nth-child(1) .aeh-equipe__name {
  transform: translateX(-60%) rotate(6deg);
}
.aeh-equipe__photo-wrap:nth-child(2) .aeh-equipe__photo {
  transform: rotate(-3deg);
}
.aeh-equipe__photo-wrap:nth-child(2) .aeh-equipe__name {
  transform: translateX(-50%) rotate(-3deg);
}
.aeh-equipe__photo-wrap:nth-child(3) .aeh-equipe__photo {
  transform: rotate(8deg);
}
.aeh-equipe__photo-wrap:nth-child(3) .aeh-equipe__name {
  transform: translateX(-60%) rotate(8deg);
}
.aeh-equipe__photo-wrap:nth-child(4) .aeh-equipe__photo {
  transform: rotate(-11deg);
}
.aeh-equipe__photo-wrap:nth-child(4) .aeh-equipe__name {
  transform: translateX(-40%) rotate(-11deg);
}
.aeh-equipe__name {
  position: absolute;
  padding: 20px 36px;
  font-size: 20px;
  font-weight: 700;
  color: var(--aeh-primary-deep);
  bottom: 20px;
  left: 50%;
}
.aeh-equipe__name::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
  background-image: url("/wp-content/uploads/2026/06/bg-name.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  z-index: -1;
  transform: rotate(-7deg);
}
.aeh-equipe__content {
  display: flex;
  flex-direction: column;
  gap: var(--aeh-sp-l);
}

/* ---- Section valeurs (image + labels pill flottants) ---- */
.aeh-valeurs.aeh-section {
  padding-block: var(--aeh-sp-xl);
}
.aeh-valeurs__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--aeh-sp-xxl);
  align-items: center;
}
.aeh-valeurs__media {
  position: relative;
  max-width: 494px;
}
.aeh-valeurs__photo {
  aspect-ratio: 494 / 646;
  border-radius: var(--aeh-radius-card);
  overflow: hidden;
  box-shadow: var(--aeh-shadow-card);
  transform: rotate(-6deg);
}
.aeh-valeurs__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--aeh-radius-card);
}
.aeh-valeurs__label {
  position: absolute;
  z-index: 3;
  display: grid;
  place-items: center;
}
.aeh-valeurs__label img {
  display: block;
  width: 220px;
  height: auto;
}
.aeh-valeurs__label span {
  position: absolute;
  font-size: clamp(14px, 1.6vw, 22px);
  font-weight: 700;
  color: var(--aeh-primary-deep);
  white-space: nowrap;
  line-height: 1;
}
.aeh-valeurs__label--bienveillance {
  bottom: 12%;
  left: -40px;
  transform: rotate(-8deg);
}
.aeh-valeurs__label--autonomie {
  top: -2%;
  right: -30px;
  transform: rotate(6deg);
}
.aeh-valeurs__label--coeducation {
  bottom: -4%;
  right: -40px;
  transform: rotate(6deg);
}
.aeh-valeurs__content {
  display: flex;
  flex-direction: column;
  gap: var(--aeh-sp-l);
}

/* ---- Section "Comment réserver" (orange wave, centré) ---- */
.aeh-reserver {
  position: relative;
  padding-block: 0;
}
.aeh-reserver__wave {
  width: 100%;
  line-height: 0;
}
.aeh-reserver__wave svg {
  width: 100%;
  height: auto;
  display: block;
}
.aeh-reserver__wave--top {
  transform: rotate(180deg);
}
.aeh-reserver__inner {
  background: var(--aeh-primary-soft);
  padding-block: var(--aeh-sp-xxl);
  padding-inline: var(--aeh-sp-3xl);
  text-align: center;
  position: relative;
  overflow: hidden;
}
.aeh-reserver__inner h2 {
  color: var(--aeh-primary-deep) !important;
  margin-bottom: var(--aeh-sp-l);
}
.aeh-reserver__inner p {
  font-size: var(--aeh-fs-body-lg);
  max-width: 780px;
  margin-inline: auto;
  margin-bottom: var(--aeh-sp-l);
}
.aeh-reserver__cta {
  display: flex;
  gap: var(--aeh-sp-s);
  justify-content: center;
  flex-wrap: wrap;
}
.aeh-reserver__footprints {
  position: absolute;
  right: 40px;
  bottom: 0;
  width: 280px;
  opacity: 0.5;
  pointer-events: none;
}
.aeh-reserver__footprints svg {
  width: 100%;
  height: auto;
}

/* ---- Section avantages entreprise ---- */
.aeh-avantages.aeh-section {
  padding-block: var(--aeh-sp-xl);
}
.aeh-avantages__title {
  margin-bottom: var(--aeh-sp-l);
}
.aeh-avantages__split {
  margin-bottom: var(--aeh-sp-l);
}
.aeh-avantages__media {
  max-width: 570px;
  aspect-ratio: 570 / 380;
  border-radius: var(--aeh-radius-card);
  overflow: hidden;
  box-shadow: var(--aeh-shadow-card);
  transform: rotate(6deg);
}
.aeh-avantages__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--aeh-radius-card);
}
.aeh-avantages__cta {
  display: flex;
  gap: var(--aeh-sp-s);
  justify-content: center;
  flex-wrap: wrap;
}

/* ---- Hero contact (spécifique) ---- */
.aeh-hero--contact {
  min-height: 100svh;
  padding-top: calc(var(--aeh-header-h) + var(--aeh-sp-xl));
  padding-bottom: var(--aeh-sp-xl);
}
.aeh-contact-right {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}
.aeh-contact-building {
  aspect-ratio: 510 / 340;
  border-radius: var(--aeh-radius-card);
  overflow: hidden;
  box-shadow: var(--aeh-shadow-card);
  position: relative;
  z-index: 2;
  transform: rotate(-6deg);
  margin-bottom: -50px;
  width: 80%;
  max-width: 510px;
}
.aeh-contact-building img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: rotate(0) !important;
  border-radius: var(--aeh-radius-card);
}
.aeh-contact-info-card {
  background: var(--aeh-secondary-soft);
  border-radius: var(--aeh-radius-card);
  padding: var(--aeh-sp-l);
  transform: rotate(2deg);
  position: relative;
  z-index: 2;
  width: 100%;
}
.aeh-contact-info-card h2 {
  text-align: center;
  margin-bottom: var(--aeh-sp-m) !important;
  font-size: var(--aeh-fs-xl) !important;
}
.aeh-contact-info-card .aeh-contact-list {
  margin-bottom: var(--aeh-sp-s);
}
.aeh-contact-info-card .aeh-contact-list__link {
  font-weight: 400;
}

/* ---- Section rencontre (contact — image + texte sans bouton) ---- */
.aeh-rencontre.aeh-section {
  padding-block: var(--aeh-sp-xl);
}
.aeh-rencontre__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--aeh-sp-xxl);
  align-items: center;
}
.aeh-rencontre__media {
  aspect-ratio: 570 / 380;
  border-radius: var(--aeh-radius-card);
  overflow: hidden;
  box-shadow: var(--aeh-shadow-card);
  transform: rotate(-6deg);
}
.aeh-rencontre__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--aeh-radius-card);
}
.aeh-rencontre__content {
  display: flex;
  flex-direction: column;
  gap: var(--aeh-sp-l);
}
.aeh-rencontre__content h2 {
  font-size: 32px !important;
}

/* ---- Formulaire contact (bg orange) ---- */
.wpforms-field-label {
  font-weight: 400 !important;
}

.aeh-section--contact-form {
  background: var(--aeh-primary-soft);
}
.aeh-form-center {
  max-width: 626px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--aeh-sp-xl);
}
.aeh-form-center h2 {
  text-align: center;
}

/* Libellés alignés sur le composant Figma 6148:1851 (Inter Regular 16/24, #041608) */
.aeh-section--contact-form .wpforms-field-label,
.aeh-section--contact-form .wpforms-field-label-inline {
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  color: var(--aeh-dark);
}

/* Bouton envoi : aligné à droite. Le style deux-pastilles vient de
   .aeh-btn--with-arrow injecté en JS (cf. theme.js wrap WPForms submit). */
.aeh-section--contact-form .wpforms-submit-container {
  display: flex;
  justify-content: flex-end;
}

.btn-envoi-form {
  background: none !important;
}
.btn-envoi-form:focus::after {
  border: 0px !important;
}
.btn-envoi-form .aeh-btn__arrow {
  width: 43px !important;
  height: 43px !important;
  border-radius: 999px !important;
  border: 1px solid var(--bd) !important;
  background: var(--bg) !important;
}

/* ---- Popup de confirmation contact (Figma 6148:1953) ----
   La confirmation inline de WPForms est masquée : la popup la remplace
   (déclenchée par theme.js sur wpformsAjaxSubmitSuccess). */
.aeh-section--contact-form .wpforms-confirmation-container {
  display: none !important;
}
.aeh-popup[hidden] {
  display: none;
}
.aeh-popup {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--aeh-sp-s);
}
.aeh-popup__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(4, 22, 8, 0.55);
}
.aeh-popup__card {
  position: relative;
  width: min(600px, 100%);
  max-height: calc(100vh - 2 * var(--aeh-sp-s));
  overflow-y: auto;
  background: var(--aeh-primary-soft);
  border-radius: var(--aeh-radius-card);
  padding: var(--aeh-sp-l);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--aeh-sp-m);
  text-align: center;
  box-shadow: var(--aeh-shadow-card);
}
.aeh-popup__close-icon {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 36px;
  height: 36px;
  border: none;
  background: transparent;
  font-size: 28px;
  line-height: 1;
  color: var(--aeh-dark);
  cursor: pointer;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: var(--aeh-trans-color);
}
.aeh-popup__close-icon:hover,
.aeh-popup__close-icon:focus-visible {
  background: rgba(4, 22, 8, 0.06);
}
.aeh-popup__illu {
  width: 230px;
  max-width: 100%;
}
.aeh-popup__illu svg {
  width: 100%;
  height: auto;
}
.aeh-popup__title {
  font-size: 32px !important;
  line-height: 1.21;
  font-weight: 700 !important;
  color: var(--aeh-secondary);
  margin: 0;
}
.aeh-popup__text {
  font-size: 16px;
  line-height: 24px;
  color: var(--aeh-dark);
  max-width: 320px;
  margin: 0;
}
.aeh-popup__cta {
  margin-top: var(--aeh-sp-xs);
}
body.aeh-popup-open {
  overflow: hidden;
}

@media (max-width: 600px) {
  .aeh-popup__card {
    padding: var(--aeh-sp-m);
    gap: var(--aeh-sp-s);
  }
  .aeh-popup__title {
    font-size: 24px !important;
  }
}
.btn-envoi-form:hover .aeh-btn__arrow {
  background: var(--bg-hover) !important;
  border-color: var(--bg-hover) !important;
}

/* ---- Collage FAQ ---- */
.aeh-collage--faq .aeh-collage__inner {
  background: transparent;
}

/* ---- FAQ cartes (non-accordion) ---- */
.aeh-faq-cards {
  display: flex;
  flex-direction: column;
  gap: var(--aeh-sp-m);
  background: var(--aeh-tertiary-100);
  border-radius: var(--aeh-radius-card);
  padding: var(--aeh-sp-m);
}
.aeh-faq-card {
  display: flex;
  flex-direction: column;
  gap: var(--aeh-sp-xs);
}
.aeh-faq-card__q {
  font-weight: 600;
  font-size: var(--aeh-fs-body);
  line-height: 1.3;
  color: var(--aeh-secondary-deep);
  margin: 0;
}
.aeh-faq-card__a {
  font-size: var(--aeh-fs-body);
  line-height: 1.5;
  color: var(--aeh-dark);
  margin: 0;
}

/* Responsive — nouveaux composants */
@media (max-width: 1024px) {
  .aeh-espaces__layout,
  .aeh-equipe__layout,
  .aeh-valeurs__layout,
  .aeh-rencontre__layout {
    grid-template-columns: 1fr;
  }
  .aeh-hero--contact .aeh-hero__layout {
    grid-template-columns: 1fr;
  }
  .aeh-valeurs__layout {
    justify-items: center;
  }
  .aeh-reserver__inner {
    padding-inline: var(--aeh-sp-l);
  }
  .aeh-contact-building {
    width: 100%;
    margin-bottom: 0;
  }
}
@media (max-width: 640px) {
  :root {
    --aeh-sp-xl: 32px !important;
  }
  .aeh-equipe__photos {
    grid-template-columns: 1fr 1fr;
  }
  .aeh-reserver__inner {
    padding-inline: var(--aeh-sp-m);
  }
  .aeh-espaces__photo--bottom {
    margin-top: 0 !important;
  }
}

/* ---- Couleurs inline (H1 bicolore contact, etc.) ---- */
.aeh-color--green {
  color: var(--aeh-secondary-deep);
}
.aeh-color--orange {
  color: var(--aeh-primary-deep);
}

/* ---- CTA band — variante multi-boutons ---- */
.aeh-cta-band__actions {
  display: flex;
  gap: var(--aeh-sp-s);
  flex-wrap: wrap;
  justify-content: center;
}

/* ---- 404 ---- */
.aeh-404 {
  padding-block: var(--aeh-sp-3xl);
}
.aeh-404__inner {
  max-width: 640px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--aeh-sp-m);
  text-align: center;
}
.aeh-404__code {
  font-size: clamp(120px, 18vw, 200px);
  font-weight: 800;
  line-height: 1;
  color: var(--aeh-primary);
  margin: 0;
  letter-spacing: -0.02em;
}
.aeh-404__title {
  font-size: 36px !important;
  font-weight: 700 !important;
  color: var(--aeh-secondary);
  margin: 0;
}
.aeh-404__text {
  font-size: var(--aeh-fs-body-lg);
  line-height: 1.5;
  color: var(--aeh-dark);
  max-width: 480px;
  margin: 0;
}

@media (max-width: 600px) {
  .aeh-404__title {
    font-size: 28px !important;
  }
}
