/* Fiche projet — le texte reste en place, les photos défilent.
   Même habillage sur chaque article qui porte le gabarit. */

html body.ah-fiche {
  background: #ffffff;
}

html body.ah-fiche .et-l--header,
html body.ah-fiche .et_pb_section_0_tb_header {
  background: #ffffff !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

html body.ah-fiche .et_pb_section_0_tb_header .et_pb_menu__logo-wrap {
  transform: none !important;
}

html body.ah-fiche #sidebar,
html body.ah-fiche .et_post_meta_wrapper {
  display: none !important;
}

html body.ah-fiche.ah-fiche-a-titre h1.entry-title {
  display: none !important;
}

html body.ah-fiche #left-area,
html body.ah-fiche #content-area,
html body.ah-fiche article,
html body.ah-fiche .et_pb_post_content {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  padding: 0 !important;
  overflow: visible !important;
}

html body.ah-fiche .ah-fiche-scene {
  overflow: visible !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #ffffff !important;
}

html body.ah-fiche .ah-fiche__rangee {
  display: grid !important;
  position: relative !important;
  grid-template-columns: minmax(300px, 36%) minmax(0, 1fr);
  align-items: start;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #ffffff;
}

html body.ah-fiche .ah-fiche__rangee::before,
html body.ah-fiche .ah-fiche__rangee::after,
html body.ah-fiche .ah-fiche__texte::before,
html body.ah-fiche .ah-fiche__texte::after,
html body.ah-fiche .ah-fiche__photos::before,
html body.ah-fiche .ah-fiche__photos::after {
  content: none !important;
  display: none !important;
}

html body.ah-fiche .ah-fiche__texte,
html body.ah-fiche .ah-fiche__photos {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  float: none !important;
}

html body.ah-fiche #page-container,
html body.ah-fiche #et-boc,
html body.ah-fiche .et-l--body,
html body.ah-fiche .et_builder_inner_content,
html body.ah-fiche .ah-fiche-scene,
html body.ah-fiche .ah-fiche__rangee,
html body.ah-fiche .ah-fiche-scene .et_pb_row,
html body.ah-fiche .ah-fiche__photos {
  overflow: visible !important;
}

/* Colonne de gauche : elle reste dans la rangée, jamais collée à la fenêtre
   (ce collage peignait le texte deux fois et le faisait passer sur les photos). */
html body.ah-fiche .ah-fiche__texte {
  position: absolute !important;
  box-sizing: border-box !important;
  top: 0;
  left: 0 !important;
  right: auto !important;
  align-self: start;
  width: 36% !important;
  max-width: 36% !important;
  height: calc(100dvh - var(--ah-fiche-top, 0px));
  max-height: calc(100dvh - var(--ah-fiche-top, 0px));
  overflow: hidden !important;
  overflow-anchor: none;
  padding: clamp(28px, 4vh, 48px) clamp(28px, 3vw, 48px) 40px;
  background: #f7f0ea;
  text-align: left !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  z-index: 2 !important;
}

body.ah-fiche:not(.et-fb) .ah-fiche__texte .et_pb_sticky_placeholder,
body.ah-fiche:not(.et-fb) .ah-fiche__glisse .et_pb_text:not(.ah-fiche__contenu) {
  display: none !important;
}

body.ah-fiche:not(.et-fb) .ah-fiche__texte > :not(.ah-fiche__glisse) {
  display: none !important;
}

html body.ah-fiche .ah-fiche__glisse h1,
html body.ah-fiche .ah-fiche__glisse h2,
html body.ah-fiche .ah-fiche__glisse h3,
html body.ah-fiche .ah-fiche__glisse .ah-fiche__nom,
html body.ah-fiche .ah-fiche__glisse .ah-fiche__entete {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  z-index: auto !important;
  transform: none !important;
}

/* Titre et paragraphes dans le même bloc : ils avancent ensemble. */
html body.ah-fiche .ah-fiche__glisse,
html body.ah-fiche .ah-fiche__glisse * {
  position: relative !important;
  white-space: normal !important;
  max-width: 100% !important;
}

body.ah-fiche:not(.et-fb) .ah-fiche__glisse {
  display: block !important;
  position: relative !important;
  height: auto !important;
  top: 0 !important;
  margin-top: 0 !important;
  transform: translate3d(0, var(--ah-fiche-texte-y, 0px), 0) !important;
  will-change: transform;
}

html body.ah-fiche .ah-fiche__texte .ah-fiche__entete,
html body.ah-fiche .ah-fiche__texte .et_pb_row,
html body.ah-fiche .ah-fiche__texte .et_pb_column,
html body.ah-fiche .ah-fiche__texte .et_pb_module:not(.et_pb_divider),
html body.ah-fiche .ah-fiche__texte .et_pb_text,
html body.ah-fiche .ah-fiche__texte .et_pb_text_inner {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  inset: auto !important;
  float: none !important;
  clear: none !important;
  transform: none !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  margin-top: 0 !important;
  overflow: visible !important;
  z-index: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
}

html body.ah-fiche .ah-fiche__texte,
html body.ah-fiche .ah-fiche__texte * {
  text-align: left !important;
  overflow-anchor: none;
}

html body.ah-fiche .ah-fiche__texte::-webkit-scrollbar {
  display: none;
}

html body.ah-fiche .ah-fiche__surtitre {
  margin: 0 0 14px !important;
  color: #a87d43 !important;
  -webkit-text-fill-color: #a87d43 !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.01em;
}

html body.ah-fiche .ah-fiche__suite::before {
  content: "" !important;
  display: block !important;
  width: 100% !important;
  height: 4px !important;
  margin: 0 0 16px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  background-image: url("../img/separateur-logo-ocre-isotype.svg") !important;
  background-repeat: repeat-x !important;
  background-position: left center !important;
  background-size: auto 4px !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

html body.ah-fiche .ah-fiche__texte h1,
html body.ah-fiche .ah-fiche__texte h2,
html body.ah-fiche .ah-fiche__texte h3,
html body.ah-fiche .ah-fiche__texte p {
  text-align: left !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
}

html body.ah-fiche .ah-fiche__texte h1:not(.ah-fiche__nom) {
  margin: 0 0 18px !important;
  color: #4c250a !important;
  -webkit-text-fill-color: #4c250a !important;
  font-size: clamp(26px, 2.1vw, 34px) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em;
}

html body.ah-fiche .ah-fiche__texte h1.ah-fiche__surtitre,
html body.ah-fiche .ah-fiche__texte h2.ah-fiche__surtitre,
html body.ah-fiche .ah-fiche__texte h3.ah-fiche__surtitre,
html body.ah-fiche .ah-fiche__texte p.ah-fiche__surtitre {
  margin: 0 0 16px !important;
  color: #a87d43 !important;
  -webkit-text-fill-color: #a87d43 !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.01em;
}

html body.ah-fiche .ah-fiche__texte h1.ah-fiche__nom::before,
html body.ah-fiche .ah-fiche__texte h2.ah-fiche__nom::before,
html body.ah-fiche .ah-fiche__texte h3.ah-fiche__nom::before {
  content: "" !important;
  display: block !important;
  width: 21px !important;
  height: 21px !important;
  margin: 0 0 18px !important;
  border-radius: 50% !important;
  background: #b07030 !important;
}

html body.ah-fiche .ah-fiche__texte h1.ah-fiche__nom,
html body.ah-fiche .ah-fiche__texte h2.ah-fiche__nom,
html body.ah-fiche .ah-fiche__texte h3.ah-fiche__nom {
  margin: 0 0 10px !important;
  color: #4c250a !important;
  -webkit-text-fill-color: #4c250a !important;
  font-size: clamp(36px, 3.2vw, 52px) !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.03em;
  text-align: left !important;
}

html body.ah-fiche .ah-fiche__chapo {
  margin: 0 0 18px !important;
  color: #4c250a !important;
  -webkit-text-fill-color: #4c250a !important;
  font-size: clamp(20px, 1.6vw, 26px) !important;
  font-weight: 700 !important;
  line-height: 1.28 !important;
}

html body.ah-fiche .ah-fiche__suite {
  margin: 36px 0 14px !important;
  color: #4c250a !important;
  -webkit-text-fill-color: #4c250a !important;
  font-size: clamp(22px, 1.8vw, 30px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

html body.ah-fiche .ah-fiche__texte p {
  margin: 0 0 16px !important;
  color: #3e2716;
  font-size: 15.5px;
  line-height: 1.65;
}

html body.ah-fiche .ah-fiche__texte p:last-child {
  margin-bottom: 0 !important;
}

html body.ah-fiche .ah-fiche__texte strong {
  font-weight: 700;
}

/* Description projet — même rendu que Cartalat (titres + filets ocre). */
html body.ah-fiche .project-description {
  display: block;
  max-width: 100%;
}

html body.ah-fiche .project-description > h1 {
  margin: 0 0 18px !important;
  color: #4c250a !important;
  -webkit-text-fill-color: #4c250a !important;
  font-size: clamp(22px, 1.85vw, 34px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em;
}

html body.ah-fiche .project-description > h2,
html body.ah-fiche .project-description > h2.ah-fiche__suite {
  margin: 36px 0 14px !important;
  color: #4c250a !important;
  -webkit-text-fill-color: #4c250a !important;
  font-size: clamp(20px, 1.7vw, 28px) !important;
  font-weight: 700 !important;
  line-height: 1.22 !important;
}

html body.ah-fiche .project-description > h2::before,
html body.ah-fiche .ah-fiche__texte .project-description > h2.ah-fiche__suite::before {
  content: "" !important;
  display: block !important;
  width: 100% !important;
  height: 4px !important;
  margin: 0 0 16px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  background-image: url("../img/separateur-logo-ocre-isotype.svg") !important;
  background-repeat: repeat-x !important;
  background-position: left center !important;
  background-size: auto 4px !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

html body.ah-fiche .project-description > p {
  margin: 0 0 14px !important;
  color: #3e2716;
  font-size: 15.5px;
  line-height: 1.65;
}

html body.ah-fiche .project-description > p:last-child {
  margin-bottom: 0 !important;
}

html body.ah-fiche .project-description > hr {
  display: block !important;
  width: 100% !important;
  height: 4px !important;
  min-height: 4px !important;
  margin: 28px 0 20px !important;
  padding: 0 !important;
  border: 0 !important;
  background-color: transparent !important;
  background-image: url("../img/separateur-logo-ocre-isotype.svg") !important;
  background-repeat: repeat-x !important;
  background-position: left center !important;
  background-size: auto 4px !important;
}

html body.ah-fiche .project-description br {
  display: block;
  content: "";
  margin-top: 0.35em;
}

@media (max-width: 980px) {
  html body.ah-fiche .project-description > h1 {
    font-size: clamp(22px, 5.6vw, 30px) !important;
  }

  html body.ah-fiche .project-description > h2 {
    margin-top: 28px !important;
    font-size: clamp(18px, 4.8vw, 24px) !important;
  }

  html body.ah-fiche .project-description > p {
    font-size: 16px;
    line-height: 1.7;
  }
}

/* Colonne de droite : chaque photo entière, avec de l'air entre elles. */
html body.ah-fiche .ah-fiche__photos {
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  min-width: 0;
  background: #ffffff;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 16px 0 !important;
}

html body.ah-fiche .ah-fiche__photos .et_pb_gallery_item,
html body.ah-fiche .ah-fiche__photos .et_pb_gallery_image {
  background-image: none !important;
}
html body.ah-fiche .ah-fiche__photos .et_pb_divider,
html body.ah-fiche .ah-fiche-scene > .et_pb_divider,
html body.ah-fiche .ah-fiche__rangee > .et_pb_divider {
  display: none !important;
}

html body.ah-fiche .ah-fiche__grille {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  align-items: start;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #ffffff;
}

/* Deux colonnes indépendantes : la photo suivante monte dans le vide,
   la galerie reste un seul bloc, avec 16 px d'air. */
html body.ah-fiche .ah-fiche__col {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body.ah-fiche .ah-fiche__col > .et_pb_module,
html body.ah-fiche .ah-fiche__col > .et_pb_gallery_item,
html body.ah-fiche .ah-fiche__col > .et_pb_image {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

/* La vue gardée du salon occupe toute la colonne photo. */
html body.ah-fiche .ah-fiche__grille > .ah-fiche__pleine {
  grid-column: 1 / -1;
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  margin: 0 !important;
}

html body.ah-fiche .ah-fiche__texte,
html body.ah-fiche .ah-fiche__texte .et_pb_module,
html body.ah-fiche .ah-fiche__texte .et_pb_text,
html body.ah-fiche .ah-fiche__texte .et_pb_text_inner {
  border-left-width: 0 !important;
  border-right-width: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
}

html body.ah-fiche .ah-fiche__texte .et_pb_divider_position_vertical {
  display: none !important;
}

html body.ah-fiche .ah-fiche__photos .et_pb_module,
html body.ah-fiche .ah-fiche__photos .et_pb_gallery_item,
html body.ah-fiche .ah-fiche__photos .et_pb_image,
html body.ah-fiche .ah-fiche__photos .et_pb_image_wrap,
html body.ah-fiche .ah-fiche__photos .et_pb_gallery_image,
html body.ah-fiche .ah-fiche__photos a {
  position: relative !important;
  display: block !important;
  float: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: none !important;
  overflow: visible !important;
}

html body.ah-fiche .ah-fiche__photos .et_pb_image.ah-fiche__absente,
html body.ah-fiche .ah-fiche__photos .et_pb_gallery_item.ah-fiche__absente {
  display: none !important;
}

html body.ah-fiche .ah-fiche__photos img {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  left: auto !important;
  display: block;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  max-width: none !important;
  margin: 0 !important;
  object-fit: contain !important;
}

/* La vue pleine largeur est raccourcie : même largeur de colonne,
   le cadre montre le salon et pas seulement le lustre. */
html body.ah-fiche .ah-fiche__photos .et_pb_image.ah-fiche__pleine {
  position: relative !important;
  height: clamp(380px, 64vh, 680px) !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

html body.ah-fiche .ah-fiche__photos .ah-fiche__pleine .et_pb_image_wrap {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

html body.ah-fiche .ah-fiche__photos .ah-fiche__pleine img {
  position: absolute !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center 66% !important;
}

html body.ah-fiche .ah-fiche__texte hr,
html body.ah-fiche .ah-fiche__texte .et_pb_module.et_pb_divider {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  height: 4px !important;
  min-height: 4px !important;
  max-height: 4px !important;
  margin: 14px 0 18px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background-color: transparent !important;
  background-image: url("../img/separateur-logo-ocre-isotype.svg") !important;
  background-repeat: repeat-x !important;
  background-position: left center !important;
  background-size: auto 4px !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  overflow: hidden !important;
}

html body.ah-fiche .ah-fiche__texte .et_pb_divider .et_pb_divider_internal,
html body.ah-fiche .ah-fiche__texte .et_pb_module.et_pb_divider::before,
html body.ah-fiche .ah-fiche__texte .et_pb_module.et_pb_divider::after {
  display: none !important;
  content: none !important;
  border: 0 !important;
  background: none !important;
  height: 0 !important;
}

@media (max-width: 980px) {
  html body.ah-fiche .ah-fiche__rangee {
    grid-template-columns: 1fr;
  }

  html body.ah-fiche .ah-fiche__texte {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    grid-column: 1;
    grid-row: 1;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 32px 22px 28px;
  }

  body.ah-fiche:not(.et-fb) .ah-fiche__glisse {
    top: 0 !important;
    margin-top: 0 !important;
    transform: none !important;
  }

  html body.ah-fiche .ah-fiche__photos {
    grid-column: 1;
    grid-row: 2;
    margin-top: 0 !important;
  }

  html body.ah-fiche .ah-fiche__grille {
    grid-template-columns: 1fr;
  }

  html body.ah-fiche .ah-fiche__col {
    display: contents;
  }

  html body.ah-fiche .ah-fiche-real__cartes {
    grid-template-columns: 1fr !important;
  }

  html body.ah-fiche .ah-deco-disque.est-flotte {
    display: none !important;
  }
}

/* Dernières sections : réalisations, puis bandeau chocolat. */
html body.ah-fiche .ah-fiche-real {
  position: relative;
  z-index: 3;
  background: #f7f0ea !important;
  box-sizing: border-box !important;
  padding: 22px clamp(28px, 4vw, 72px) 0 !important;
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  clear: both !important;
  overflow: visible !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

html body.ah-fiche .ah-fiche-scene.et_pb_section {
  margin-bottom: 0 !important;
  padding-bottom: clamp(36px, 5vh, 64px) !important;
}

html body.ah-fiche .ah-fiche-scene .et_pb_row,
html body.ah-fiche .ah-fiche-scene .et_pb_module,
html body.ah-fiche .ah-fiche__photos .et_pb_image,
html body.ah-fiche .ah-fiche__photos img {
  margin-bottom: 0 !important;
}

html body.ah-fiche .et_pb_section,
html body.ah-fiche .et_builder_inner_content,
html body.ah-fiche #et-main-area,
html body.ah-fiche #main-content,
html body.ah-fiche article,
html body.ah-fiche .et_pb_post_content,
html body.ah-fiche #left-area,
html body.ah-fiche #content-area {
  margin-bottom: 0 !important;
}

html body.ah-fiche .et_builder_inner_content {
  padding-bottom: 0 !important;
}

/* Filet dans la largeur du contenu, avec de l'air sous la galerie. */
html body.ah-fiche .ah-fiche-real::before {
  content: "" !important;
  position: absolute;
  top: 0;
  left: clamp(28px, 4vw, 72px) !important;
  right: clamp(28px, 4vw, 72px) !important;
  width: auto !important;
  max-width: none !important;
  height: 4px !important;
  margin: 0 !important;
  transform: none !important;
  z-index: 4;
  background-color: transparent !important;
  background-image: url("../img/separateur-logo-ocre-isotype.svg") !important;
  background-repeat: repeat-x !important;
  background-position: left center !important;
  background-size: auto 4px !important;
  pointer-events: none;
}

html body.ah-fiche .ah-fiche-real__intro {
  max-width: 920px;
  margin: 0 auto clamp(28px, 4vh, 48px) !important;
  text-align: center !important;
}

html body.ah-fiche .ah-fiche-real__surtitre,
html body.ah-fiche .ah-fiche-real__titre {
  position: relative;
}

html body.ah-fiche .ah-fiche-real__surtitre::before {
  content: "" !important;
  display: block !important;
  width: 12px !important;
  height: 12px !important;
  margin: 0 auto 16px !important;
  border-radius: 50% !important;
  background: #b07030 !important;
}

html body.ah-fiche .ah-fiche-real__titre::before {
  content: none !important;
  display: none !important;
}

html body.ah-fiche .ah-fiche-real__surtitre,
html body.ah-fiche .ah-fiche-real__intro h1.ah-fiche-real__surtitre,
html body.ah-fiche .ah-fiche-real__intro h2.ah-fiche-real__surtitre,
html body.ah-fiche .ah-fiche-real__intro h3.ah-fiche-real__surtitre {
  margin: 0 0 8px !important;
  padding: 0 !important;
  color: #4c250a !important;
  -webkit-text-fill-color: #4c250a !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.16em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  text-align: center !important;
}

html body.ah-fiche .ah-fiche-real__intro h1,
html body.ah-fiche .ah-fiche-real__intro h2,
html body.ah-fiche .ah-fiche-real__intro h3,
html body.ah-fiche .ah-fiche-real__titre {
  margin: 0 !important;
  padding: 0 !important;
  color: #4c250a !important;
  -webkit-text-fill-color: #4c250a !important;
  font-size: clamp(36px, 4.2vw, 58px) !important;
  font-weight: 700 !important;
  line-height: 0.95 !important;
  letter-spacing: -0.03em !important;
  text-transform: uppercase !important;
  text-align: center !important;
}

html body.ah-fiche .ah-fiche-real .et_pb_row,
html body.ah-fiche .ah-fiche-real .et_pb_row_inner,
html body.ah-fiche .ah-fiche-real .et_pb_column {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  background-color: transparent !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

html body.ah-fiche .ah-fiche-real .et_pb_divider {
  display: none !important;
}

html body.ah-fiche .ah-fiche-real__cartes {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 clamp(28px, 4vh, 48px) !important;
  float: none !important;
  clear: both !important;
  position: relative !important;
}

html body.ah-fiche .ah-fiche-real__cartes > .et_pb_column,
html body.ah-fiche .ah-fiche-real__cartes > .et_pb_gallery_item,
html body.ah-fiche .ah-fiche-real__cartes > .et_pb_image,
html body.ah-fiche .ah-fiche-real__cartes > .et_pb_module,
html body.ah-fiche .ah-fiche-real__cartes > article {
  display: flex !important;
  flex-direction: column !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #ffffff !important;
  float: none !important;
  position: relative !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

html body.ah-fiche .ah-fiche-real__cartes img,
html body.ah-fiche .ah-fiche-real__cartes .et_pb_image_wrap,
html body.ah-fiche .ah-fiche-real__cartes .et_pb_gallery_image,
html body.ah-fiche .ah-fiche-real__cartes a {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  left: auto !important;
  height: auto !important;
  max-height: none !important;
  padding: 0 !important;
}

html body.ah-fiche .ah-fiche-real__cartes img {
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 10;
  object-fit: cover !important;
  margin: 0 !important;
}

html body.ah-fiche .ah-fiche-real__cartes .et_pb_image,
html body.ah-fiche .ah-fiche-real__cartes .et_pb_image_wrap {
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
}

html body.ah-fiche .ah-fiche-real__cartes .et_pb_text {
  margin: 0 !important;
  padding: 18px 18px 22px !important;
  background: #ffffff !important;
}

html body.ah-fiche .ah-fiche-real__cartes h1,
html body.ah-fiche .ah-fiche-real__cartes h2,
html body.ah-fiche .ah-fiche-real__cartes h3,
html body.ah-fiche .ah-fiche-real__cartes h4,
html body.ah-fiche .ah-fiche-real__cartes strong {
  margin: 0 0 6px !important;
  color: #4c250a !important;
  -webkit-text-fill-color: #4c250a !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  text-align: left !important;
}

html body.ah-fiche .ah-fiche-real__cartes .entry-title,
html body.ah-fiche .ah-fiche-real__cartes .entry-title a {
  color: #a15c1d !important;
  -webkit-text-fill-color: #a15c1d !important;
  text-decoration: none !important;
}

html body.ah-fiche .ah-fiche-real__cartes .post-meta,
html body.ah-fiche .ah-fiche-real .et_pb_blog .pagination {
  display: none !important;
}

html body.ah-fiche .ah-fiche-real__cartes .entry-featured-image-url,
html body.ah-fiche .ah-fiche-real__cartes .et_pb_image_container {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

html body.ah-fiche .ah-fiche-real__cartes .entry-featured-image-url::after {
  content: "" !important;
  position: absolute;
  inset: 0;
  z-index: 2;
  background: rgba(76, 37, 10, 0.4);
  opacity: 0;
  transition: opacity 0.45s ease;
  pointer-events: none;
}

html body.ah-fiche .ah-fiche-real__cartes img {
  transition: transform 1.4s cubic-bezier(.22, 1, .36, 1);
}

@media (hover: hover) {
  html body.ah-fiche .ah-fiche-real__cartes article:hover .entry-featured-image-url::after {
    opacity: 1;
  }

  html body.ah-fiche .ah-fiche-real__cartes article:hover img {
    transform: scale(1.03) !important;
  }
}

@media (max-width: 980px) {
  html body.ah-fiche .ah-fiche-real {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  html body.ah-fiche .ah-fiche-real::before {
    left: 22px !important;
    right: 22px !important;
  }

  html body.ah-fiche .ah-fiche-scene.et_pb_section {
    padding-bottom: 32px !important;
  }

  html body.ah-fiche .ah-fiche-real__cartes article.est-milieu .entry-featured-image-url::after {
    opacity: 1;
  }
}

html body.ah-fiche .ah-fiche-real__cartes .entry-title {
  padding: 16px 18px 0 !important;
}

html body.ah-fiche .ah-fiche-real__cartes .post-content {
  padding: 0 18px 22px !important;
}

html body.ah-fiche .ah-fiche-plus .et_pb_button_module_wrapper,
html body.ah-fiche .ah-fiche-plus .ah-deco-bouton-source,
html body.ah-fiche .ah-fiche-plus .et_pb_button {
  display: none !important;
}

html body.ah-fiche.ah-fiche .ah-fiche-real .et_pb_blog_grid_wrapper,
html body.ah-fiche.ah-fiche .ah-fiche-real .et_pb_blog_grid {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  width: 100% !important;
  max-width: none !important;
}

html body.ah-fiche.ah-fiche .ah-fiche-real__cartes {
  height: auto !important;
}

html body.ah-fiche.ah-fiche .ah-fiche-real .et_pb_blog_grid .et_pb_salvattore_content.ah-fiche-real__cartes > .column.size-1of3,
html body.ah-fiche.ah-fiche .ah-fiche-real__cartes > .column {
  position: static !important;
  top: auto !important;
  left: auto !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  float: none !important;
}

html body.ah-fiche.ah-fiche .ah-fiche-real .et_pb_blog_grid article.et_pb_post {
  display: flex !important;
  flex-direction: column !important;
  border: 0 !important;
  border-width: 0 !important;
  border-style: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #ffffff !important;
  width: 100% !important;
  float: none !important;
  overflow: hidden !important;
}

html body.ah-fiche.ah-fiche .ah-fiche-real .ah-fiche-real__intro h3.ah-fiche-real__surtitre {
  font-size: 12px !important;
  color: #4c250a !important;
  -webkit-text-fill-color: #4c250a !important;
}

html body.ah-fiche.ah-fiche .ah-fiche-real .ah-fiche-real__intro h1.ah-fiche-real__titre,
html body.ah-fiche.ah-fiche .ah-fiche-real .ah-fiche-real__intro h2.ah-fiche-real__titre {
  font-size: clamp(36px, 4.2vw, 58px) !important;
  color: #4c250a !important;
  -webkit-text-fill-color: #4c250a !important;
}

html body.ah-fiche .ah-fiche-real__cartes p {
  margin: 0 !important;
  color: #a15c1d !important;
  -webkit-text-fill-color: #a15c1d !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  text-align: left !important;
}

html body.ah-fiche .ah-fiche-plus {
  position: relative !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  box-sizing: border-box !important;
  background: #4c250a !important;
  padding: clamp(72px, 10vh, 120px) 24px clamp(160px, 18vh, 210px) !important;
  text-align: center !important;
  float: none !important;
  clear: both !important;
}

html body.ah-fiche .ah-fiche-real > .ah-fiche-plus {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  float: none !important;
  clear: both !important;
  grid-column: 1 / -1;
}

html body.ah-fiche .ah-fiche-plus,
html body.ah-fiche .ah-fiche-plus h1,
html body.ah-fiche .ah-fiche-plus h2,
html body.ah-fiche .ah-fiche-plus h3,
html body.ah-fiche .ah-fiche-plus p,
html body.ah-fiche .ah-fiche-plus span {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-align: center !important;
}

html body.ah-fiche .ah-fiche-plus p,
html body.ah-fiche .ah-fiche-plus h1,
html body.ah-fiche .ah-fiche-plus h2,
html body.ah-fiche .ah-fiche-plus h3,
html body.ah-fiche .ah-fiche-plus > div {
  max-width: 720px;
  margin: 0 auto clamp(36px, 5vh, 64px) !important;
  font-size: clamp(26px, 3vw, 40px) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-align: center !important;
}

html body.ah-fiche .ah-fiche-plus.ah-fiche-plus--nu {
  padding-bottom: clamp(64px, 8vh, 96px) !important;
}

html body.ah-fiche .ah-fiche-plus::before {
  content: "" !important;
  display: block !important;
  width: 12px !important;
  height: 12px !important;
  margin: 0 auto 22px !important;
  border-radius: 50% !important;
  background: #c8943a !important;
}

html body.ah-fiche .ah-fiche-plus h1::before,
html body.ah-fiche .ah-fiche-plus h2::before,
html body.ah-fiche .ah-fiche-plus h3::before {
  content: none !important;
  display: none !important;
}

html body.ah-fiche .ah-fiche-plus .ah-deco-bouton-source {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

html body.ah-fiche a.ah-deco-disque,
html body.ah-fiche button.ah-deco-disque {
  text-decoration: none;
  color: inherit;
}

html body.ah-fiche .ah-deco-disque {
  --ah-disque: clamp(104px, 9.5vw, 148px);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 40;
  display: block;
  width: var(--ah-disque);
  height: var(--ah-disque);
  margin: calc(var(--ah-disque) / -2) 0 0 calc(var(--ah-disque) / -2);
  padding: 0;
  border: 0;
  background: transparent;
  overflow: visible;
  opacity: 0;
  pointer-events: none;
  cursor: pointer;
  appearance: none;
}

html body.ah-fiche .ah-deco-disque.est-visible {
  opacity: 1;
  pointer-events: auto;
}

html body.ah-fiche .ah-deco-disque.est-pose {
  position: absolute !important;
  top: auto !important;
  right: auto !important;
  left: 50% !important;
  bottom: clamp(64px, 8vh, 96px) !important;
  z-index: 5;
  margin: 0 !important;
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) !important;
}

/* Frise du pied : plus basse, exactement la hauteur de l'écart. */
html body.ah-fiche.ah-pied .ah-foot.ah-foot {
  --ah-fr-jonction: clamp(22px, 2.8vw, 36px);
  margin: var(--ah-fr-jonction) 0 0 !important;
  overflow: visible !important;
}

html body.ah-fiche.ah-pied .ah-foot.ah-foot::after {
  content: "" !important;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 100%;
  z-index: 0;
  height: var(--ah-fr-jonction);
  background: #4c250a;
  pointer-events: none;
}

html body.ah-fiche.ah-pied .ah-foot.ah-foot::before {
  top: auto !important;
  bottom: 100% !important;
  height: var(--ah-fr-jonction) !important;
  margin: 0 !important;
  transform: none !important;
  z-index: 1;
}

html body.ah-fiche.ah-deco-disque-suit .ah-rond {
  opacity: 0 !important;
}

@media (max-width: 980px) {
  html body.ah-fiche.ah-pied .ah-foot.ah-foot {
    --ah-fr-jonction: clamp(16px, 4.5vw, 22px);
  }

  html body.ah-fiche .ah-fiche-plus {
    padding: 48px 22px 168px !important;
  }

  html body.ah-fiche .ah-deco-disque {
    --ah-disque: 112px;
  }

  html body.ah-fiche .ah-deco-disque.est-pose {
    bottom: 32px !important;
  }

  html body.ah-fiche .ah-fiche__photos .et_pb_image.ah-fiche__pleine {
    height: auto !important;
    aspect-ratio: 4 / 5 !important;
  }
}

html body.ah-fiche .ah-deco-disque__corps,
html body.ah-fiche .ah-deco-disque__spin,
html body.ah-fiche .ah-deco-disque__fond {
  position: absolute;
  inset: 0;
  display: block;
}

html body.ah-fiche .ah-deco-disque__spin {
  transform-origin: 50% 50%;
}

html body.ah-fiche .ah-deco-disque__fond {
  background: #f7f0ea;
  -webkit-mask: url("../img/selecteur-hero-ah.svg") center / contain no-repeat;
  mask: url("../img/selecteur-hero-ah.svg") center / contain no-repeat;
}

html body.ah-fiche .ah-deco-disque__anneau {
  width: 100%;
  height: 100%;
  overflow: visible;
  fill: #f7f0ea;
}

html body.ah-fiche .ah-deco-disque__anneau text {
  font-size: 7.2px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  fill: #f7f0ea;
}
