/* =========================================================
   ACTIVITÉS — SINGLE
   ========================================================= */

body.single-activite {
  background-color: rgba(8, 86, 4, 0.04) !important;
}

/* =========================================================
   ANIMATION D'ENTRÉE (fondu + montée) — sections basses
   ========================================================= */

.fiadanana-activite-about,
.fiadanana-activite-accordions {
  opacity: 0 !important;
  transform: translateY(60px) !important;
  transition:
    opacity 1.2s cubic-bezier(0.4, 0, 0.2, 1),
    transform 1.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
  will-change: opacity, transform;
}

.fiadanana-activite-about.is-visible,
.fiadanana-activite-accordions.is-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Média — animation CSS pure (montée + fondu au chargement) */
.fiadanana-activite-media {
  opacity: 0;
  animation: fiadanana-media-fade-up 1.2s cubic-bezier(0.4, 0, 0.2, 1) 0.8s forwards;
  will-change: opacity, transform;
}

@keyframes fiadanana-media-fade-up {
  from {
    opacity: 0;
    transform: translateY(60px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* =========================================================
   HERO — Animation "agrandissement + fondu"
   ========================================================= */

.fiadanana-activite-hero {
  opacity: 0 !important;
  transform: scale(1.06) !important;
  transition:
    opacity 1.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    transform 1.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  will-change: opacity, transform;
}

.fiadanana-activite-hero.is-visible {
  opacity: 1 !important;
  transform: scale(1) !important;
}

.fiadanana-activite-hero .fiadanana-breadcrumb,
.fiadanana-activite-hero .fiadanana-activite-title,
.fiadanana-activite-hero .fiadanana-activite-meta {
  opacity: 0 !important;
  transform: scale(0.92) !important;
  transition:
    opacity 1s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    transform 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  will-change: opacity, transform;
}

.fiadanana-activite-hero .fiadanana-breadcrumb.is-visible,
.fiadanana-activite-hero .fiadanana-activite-title.is-visible,
.fiadanana-activite-hero .fiadanana-activite-meta.is-visible {
  opacity: 1 !important;
  transform: scale(1) !important;
}

/* =========================================================
   HERO PLEINE LARGEUR
   ========================================================= */

.fiadanana-activite-hero {
  position: relative !important;
  width: 100% !important;
  min-height: 500px !important;

  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;

  display: flex !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;

  padding: 60px 20px 60px !important;

  box-sizing: border-box !important;
  overflow: hidden !important;
}

.fiadanana-activite-hero.no-image {
  background-color: var(--fiadanana-vert) !important;
}

.fiadanana-activite-hero-overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: linear-gradient(
    to bottom,
    rgba(8, 40, 4, 0.35) 0%,
    rgba(8, 40, 4, 0.65) 60%,
    rgba(8, 40, 4, 0.85) 100%
  ) !important;
  pointer-events: none !important;
}

.fiadanana-activite-hero-content {
  position: relative !important;
  z-index: 2 !important;

  max-width: 1150px !important;
  margin: 0 auto !important;
  width: 100% !important;

  display: flex !important;
  flex-direction: column !important;
  gap: 35px !important;
}

/* =========================================================
   FIL D'ARIANE DANS LE HERO
   ========================================================= */

.fiadanana-activite-hero .fiadanana-breadcrumb {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;

  font-size: 1.05rem !important;
  color: rgba(255, 255, 255, 0.85) !important;

  margin: 0 !important;
}

.fiadanana-activite-hero .fiadanana-breadcrumb a {
  color: var(--fiadanana-vert-clair) !important;
  text-decoration: none !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.55) !important;
  transition: color 0.2s ease !important;
}

.fiadanana-activite-hero .fiadanana-breadcrumb a:hover {
  color: var(--fiadanana-bleu) !important;
}

.fiadanana-activite-hero .fiadanana-breadcrumb .sep {
  color: rgba(255, 255, 255, 0.55) !important;
  margin: 0 6px !important;
}

.fiadanana-activite-hero .fiadanana-breadcrumb .current {
  color: #ffffff !important;
  font-weight: 400 !important;
}

/* =========================================================
   TITRE DANS LE HERO — 1er mot en vert clair
   ========================================================= */

.fiadanana-activite-hero .fiadanana-activite-title {
  font-family: var(--font-title) !important;
  color: #ffffff !important;
  font-weight: var(--fw-extrabold) !important;
  font-size: var(--fs-page-title) !important;
  line-height: var(--lh-tight) !important;
  letter-spacing: -0.6px !important;
  margin: 0 !important;
  max-width: 900px !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.3) !important;
}

.fiadanana-activite-title-first {
  color: var(--fiadanana-vert-clair) !important;
  font-family: var(--font-title) !important;
}

/* =========================================================
   MÉTADONNÉES DANS LE HERO — icônes vertes
   ========================================================= */

.fiadanana-activite-hero .fiadanana-activite-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px 28px !important;
}

.fiadanana-activite-hero .fiadanana-activite-meta-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;

  font-size: 1rem !important;
  color: rgba(255, 255, 255, 0.95) !important;
}

.fiadanana-activite-hero .fiadanana-activite-meta-item .fiadanana-icon-svg {
  width: 20px !important;
  height: 20px !important;
  color: var(--fiadanana-vert-clair) !important;
  fill: var(--fiadanana-vert-clair) !important;
  flex-shrink: 0 !important;
}

/* =========================================================
   CONTENEUR PRINCIPAL — 1 SEULE COLONNE
   ========================================================= */

.fiadanana-activite-single {
  position: relative !important;
  isolation: isolate !important;
}
.fiadanana-activite-single.site-container {
  padding: 0 !important;
}

.fiadanana-activite-container {
  max-width: 1150px !important;
  margin: 0 auto !important;
  padding: clamp(40px, 6vw, 70px) 20px 80px !important;

  display: flex !important;
  flex-direction: column !important;
  gap: 50px !important;
}

/* =========================================================
   À PROPOS DE CETTE ACTIVITÉ
   ========================================================= */

.fiadanana-activite-about {
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.fiadanana-activite-about-title {
  font-family: var(--font-title) !important;
  font-size: var(--fs-page-title) !important;
  font-weight: var(--fw-extrabold) !important;
  color: #000000 !important;
  margin: 0 0 20px 0 !important;
  line-height: var(--lh-tight) !important;
  letter-spacing: -0.6px !important;
}

.fiadanana-activite-about-title span {
  font-family: var(--font-title) !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
}

.fiadanana-activite-about-title .fiadanana-activite-about-green,
.fiadanana-activite-about-green {
  color: var(--fiadanana-vert-clair) !important;
  display: inline !important;
  font-family: var(--font-title) !important;
}

.fiadanana-activite-about-title .fiadanana-activite-about-dark,
.fiadanana-activite-about-dark {
  color: #000000 !important;
  display: inline !important;
  font-family: var(--font-title) !important;
}

.fiadanana-activite-about p {
  font-family: var(--font-main) !important;
  font-size: var(--fs-body-min) !important;
  line-height: 1.8 !important;
  color: #333 !important;
  margin: 0 !important;
  font-style: normal !important;
}

/* =========================================================
   MÉDIA — Vidéo OU Image mise en avant
   ========================================================= */

.fiadanana-activite-media {
  width: 100% !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background: #f0f0f0 !important;
}

.fiadanana-activite-featured-image {
  position: relative !important;
  aspect-ratio: 16 / 9 !important;
}

.fiadanana-activite-featured-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.fiadanana-activite-video-wrap {
  position: relative !important;
  aspect-ratio: 16 / 9 !important;
}

.fiadanana-activite-video-wrap iframe {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
}

/* =========================================================
   SECTIONS DÉTAILLÉES
   ========================================================= */

.fiadanana-activite-accordions {
  margin: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  overflow: visible !important;
  box-shadow: none !important;

  display: flex !important;
  flex-direction: column !important;
  gap: 40px !important;
}

.fiadanana-activite-accordion {
  border: none !important;
}

/* --- DESKTOP --- */

.fiadanana-activite-accordion-header {
  margin: 0 0 16px 0 !important;
  padding: 0 0 12px 0 !important;
  border-bottom: 1px solid rgba(8, 86, 4, 0.25) !important;
}

.fiadanana-activite-accordion-trigger {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;

  background: transparent !important;
  border: none !important;
  cursor: default !important;
  text-align: left !important;

  font-family: var(--font-title) !important;
  font-size: var(--fs-accordion-title) !important;
  font-weight: var(--fw-bold) !important;
  color: #000000 !important;

  pointer-events: none !important;
}

.fiadanana-activite-accordion-chevron {
  display: none !important;
}

.fiadanana-activite-accordion-label {
  font-family: var(--font-title) !important;
  display: inline-block !important;
  color: inherit !important;
}

.fiadanana-activite-accordion-panel {
  overflow: visible !important;
  max-height: none !important;
  opacity: 1 !important;
  transition: none !important;
}

.fiadanana-activite-accordion-content {
  padding: 0 !important;

  font-size: var(--fs-body-min) !important;
  line-height: 1.75 !important;
  color: #444 !important;
}

.fiadanana-activite-accordion-content p {
  margin: 0 0 14px 0 !important;
}

.fiadanana-activite-accordion-content p:last-child {
  margin-bottom: 0 !important;
}

/* --- MOBILE --- */

@media (max-width: 768px) {
  .fiadanana-activite-accordions {
    gap: 0 !important;
  }

  .fiadanana-activite-accordion {
    border-bottom: 1px solid rgba(8, 86, 4, 0.25) !important;
  }

  .fiadanana-activite-accordion:last-child {
    border-bottom: none !important;
  }

  .fiadanana-activite-accordion-header {
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: none !important;
  }

  .fiadanana-activite-accordion-trigger {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;

    padding: 22px 0 !important;

    cursor: pointer !important;
    pointer-events: auto !important;

    color: #000000 !important;
    transition: color 0.25s ease !important;
  }

  .fiadanana-activite-accordion-trigger:hover,
  .fiadanana-activite-accordion-trigger:focus {
    background: transparent !important;
    box-shadow: none !important;
    color: #000000 !important;
  }

  .fiadanana-activite-accordion-trigger:focus-visible {
    outline: 2px solid #000000 !important;
    outline-offset: 2px !important;
  }

  .fiadanana-activite-accordion-chevron {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;

    color: #000000 !important;

    transition: transform 0.3s ease !important;
    flex-shrink: 0 !important;
  }

  .fiadanana-activite-accordion-chevron svg {
    transform: rotate(0deg) !important;
    color: #000000 !important;
    stroke: #000000 !important;
  }

  .fiadanana-activite-accordion-trigger[aria-expanded="true"]
    .fiadanana-activite-accordion-chevron
    svg {
    transform: rotate(180deg) !important;
  }

  .fiadanana-activite-accordion-trigger[aria-expanded="true"] {
    color: #000000 !important;
  }

  .fiadanana-activite-accordion-panel {
    overflow: hidden !important;
    max-height: 0 !important;
    opacity: 0 !important;
    transition:
      max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1),
      opacity 0.4s ease !important;
  }

  .fiadanana-activite-accordion-panel.is-open {
    max-height: 3000px !important;
    opacity: 1 !important;
  }

  .fiadanana-activite-accordion-content {
    padding: 0 0 20px 36px !important;
  }
}

/* =========================================================
   GALERIE PHOTOS — 2 colonnes
   ========================================================= */

.fiadanana-activite-galerie {
  margin: 0 !important;
}

.fiadanana-activite-galerie-title {
  font-family: var(--font-title) !important;
  font-size: var(--fs-accordion-title) !important;
  font-weight: var(--fw-bold) !important;
  color: #000000 !important;
  margin: 0 0 24px 0 !important;
  line-height: 1.3 !important;
}

.fiadanana-activite-galerie-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 20px !important;
}

.fiadanana-activite-galerie-item {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  margin: 0 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #f0f0f0 !important;
}

.fiadanana-activite-galerie-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* =========================================================
   NAVIGATION : ACTIVITÉ PRÉCÉDENTE / SUIVANTE
   ========================================================= */

.fiadanana-activite-nav {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 20px !important;

  padding-top: 0 !important;
  border-top: none !important;
}

.fiadanana-activite-nav-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;

  padding: 0 !important;

  background: transparent !important;
  color: #000000 !important;
  border-radius: 0 !important;

  font-family: var(--font-main) !important;
  font-size: 1rem !important;
  font-weight: var(--fw-regular) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;

  text-decoration: none !important;
  cursor: pointer !important;
  border: none !important;

  box-shadow: none !important;
  transition: color 0.25s ease !important;
}

.fiadanana-activite-nav-link:hover,
.fiadanana-activite-nav-link:focus-visible {
  color: var(--fiadanana-vert-clair) !important;
  outline: none !important;
}

.fiadanana-activite-nav-arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 20px !important;
  height: 20px !important;

  color: inherit !important;

  flex-shrink: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
}

.fiadanana-activite-nav-arrow svg {
  width: 20px !important;
  height: 20px !important;
  fill: currentColor !important;
  stroke: none !important;
  color: inherit !important;
}

.fiadanana-activite-nav-text {
  display: inline-block !important;
  color: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  text-transform: inherit !important;
  letter-spacing: inherit !important;
  line-height: inherit !important;
}

.fiadanana-activite-nav-next {
  margin-left: auto !important;
  flex-direction: row !important;
}

.fiadanana-activite-nav-prev .fiadanana-activite-nav-arrow {
  transform: scaleX(-1) !important;
}

.fiadanana-activite-nav-prev:hover .fiadanana-activite-nav-arrow,
.fiadanana-activite-nav-prev:focus-visible .fiadanana-activite-nav-arrow {
  transform: translateX(-6px) scaleX(-1) !important;
}

.fiadanana-activite-nav-next:hover .fiadanana-activite-nav-arrow,
.fiadanana-activite-nav-next:focus-visible .fiadanana-activite-nav-arrow {
  transform: translateX(6px) !important;
}

.fiadanana-activite-nav-arrow {
  transition: transform 0.3s ease !important;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1024px) {
  .fiadanana-activite-hero {
    min-height: 460px;
    padding: 60px 20px 50px;
  }
}

@media (max-width: 768px) {
  .fiadanana-activite-hero {
    min-height: 400px;
    padding: 60px 16px 40px;
  }

  .fiadanana-activite-hero .fiadanana-breadcrumb {
    font-size: 0.9rem;
  }

  .fiadanana-activite-hero .fiadanana-activite-meta {
    flex-direction: column;
    gap: 10px;
  }

  .fiadanana-activite-hero .fiadanana-activite-meta-item {
    font-size: 0.95rem;
  }

  .fiadanana-activite-container {
    padding: 30px 20px 60px;
    gap: 40px;
  }

  .fiadanana-activite-galerie-grid {
    gap: 16px !important;
  }

  .fiadanana-activite-nav {
    flex-direction: row !important;
    justify-content: space-between !important;
    gap: 12px !important;
  }

  .fiadanana-activite-nav-link {
    width: auto !important;
    height: auto !important;
    max-width: 48% !important;
  }

  .fiadanana-activite-nav-arrow {
    width: 24px !important;
    height: 24px !important;
  }

  .fiadanana-activite-nav-arrow svg {
    width: 24px !important;
    height: 24px !important;
  }

  .fiadanana-activite-nav-next {
    margin-left: auto !important;
  }
}

@media (max-width: 600px) {
  .fiadanana-activite-galerie-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 480px) {
  .fiadanana-activite-hero {
    min-height: 360px;
    padding: 60px 14px 35px;
  }
}