/* Navigation compacte + corrections espacement */

.nav__dropdown {
  position: relative;
}

.nav {
  gap: 0;
}

/* Réduire le vide après bannière page */
.page-hero--photo {
  margin-bottom: 0;
}

/* S'engager — bannière image seule : têtes + logos t-shirts visibles */
.engage-page .page-hero--photo {
  height: clamp(440px, 58vh, 640px);
  align-items: stretch;
}

.engage-page .page-hero--photo img {
  object-fit: cover;
  object-position: center 48%;
}

.engage-page .page-hero--photo .container {
  display: none;
}

.engage-hero-copy {
  padding-top: 2rem;
  padding-bottom: 0.5rem;
}

.engage-hero-copy .section-title {
  margin-bottom: 0.75rem;
  color: var(--gray-900, #1a2420);
}

.engage-hero-copy .section-intro {
  max-width: 52ch;
  margin-left: auto;
  margin-right: auto;
  color: var(--gray-600, #4a5c54);
}

@media (max-width: 700px) {
  .engage-page .page-hero--photo {
    height: min(78vw, 460px);
  }
  .engage-page .page-hero--photo img {
    object-position: center 46%;
  }
}

.page-hero--photo + .section,
main > .section:first-of-type {
  padding-top: 1.75rem;
}

.section.president {
  padding-top: 1.75rem;
}

/* Contenu visible immédiatement sous la bannière (pas d'attente scroll) */
.page-hero--photo + .section .reveal,
.page-hero--photo + .section .section-title,
.page-hero--photo + .section .section-label,
.page-hero--photo + .section h2,
.page-hero--photo + .section h3,
.page-hero--photo + .section p,
.page-hero + .section .reveal,
.section.president .president__card,
.section.president .president__block {
  opacity: 1;
  transform: none;
}

.page-hero--photo + .section .reveal.is-visible {
  opacity: 1;
  transform: none;
}

/* Blocs présidente — texte officiel */
.president__blocks {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin: 1rem 0 1.5rem;
}

.president__block h3 {
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--green-dark, #0f5c3d);
  margin-bottom: 0.4rem;
}

.president__block p {
  font-size: 0.95rem;
  line-height: 1.7;
  color: var(--gray-700, #3d4f47);
  margin: 0;
}

/* Photo présidente — page À propos (agrandie) */
.section.president .president__card {
  grid-template-columns: minmax(400px, 460px) 1fr;
  align-items: start;
  gap: 2.5rem;
}

.section.president .president__photo {
  min-height: 540px;
  aspect-ratio: 3 / 4;
  max-height: none;
}

.section.president .president__photo img {
  object-position: center 15%;
}

/* Footer réseaux sociaux */
.footer__social-title {
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  opacity: 0.7;
  margin-bottom: 0.65rem;
}

/* Partenaires footer — logos plus visibles */
.footer__partners-grid .partner-logo {
  min-width: 100px;
  min-height: 72px;
  height: auto;
  padding: 0.65rem 1rem;
}

.footer__partners-grid .partner-logo img {
  max-height: 52px;
  max-width: 150px;
}

@media (max-width: 992px) {
  .section.president .president__card {
    grid-template-columns: 1fr;
  }

  .section.president .president__photo {
    min-height: 420px;
    max-height: 480px;
    width: 100%;
  }
}

/* Galerie événements */
.events-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1rem;
}

.events-gallery__item {
  border-radius: var(--radius-lg, 16px);
  overflow: hidden;
  border: 1px solid var(--gray-200);
  background: white;
}

.events-gallery__item img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
}

.events-gallery__item figcaption {
  padding: 0.65rem 0.85rem;
  font-size: 0.82rem;
  color: var(--gray-500);
}

.media-guide {
  background: var(--gray-100);
  border-radius: var(--radius-lg);
  padding: 1.5rem;
  margin-top: 2rem;
  font-size: 0.9rem;
}

.media-guide code {
  background: white;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
  font-size: 0.8rem;
}

/* ——— Présentation unifiée (toutes pages) ——— */

:root {
  --header-h: 88px;
}

/* Hero texte (FAQ…) — décalage sous header fixe */
.page-hero:not(.page-hero--photo) {
  margin-top: var(--header-h);
  padding: 4rem 0 3rem;
}

.text-center .section-intro,
.section-intro.is-centered {
  margin-left: auto;
  margin-right: auto;
}

.section-intro.is-centered.mb-2,
.section-intro.is-centered--spaced {
  margin-bottom: 2rem;
}

.container--narrow {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.container--form {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

/* Espace pro */
.pro-page {
  margin-top: var(--header-h);
  padding-top: 2.5rem;
  padding-bottom: 3rem;
}

/* Boutons pleine largeur (login…) */
.btn--block {
  width: 100%;
}

.auth-card .section-title {
  font-size: 1.5rem;
}

/* Espacement propre après le header */
body > .header + main,
body > .header + .carousel {
  scroll-margin-top: var(--header-h);
}

/* Pillars + trust bar (accueil) */
.pillars {
  padding: 2.5rem 0 1.5rem;
}

.trust-bar {
  margin-bottom: 0;
}

/* Cartes & grilles — alignement cohérent */
.cards-grid {
  align-items: stretch;
}

.card__text {
  line-height: 1.65;
}

/* Formulaires contact / pro */
.contact-form .form-group,
.auth-card .form-group {
  margin-bottom: 1.1rem;
}

/* PWA bar au-dessus du footer */
.pwa-install-bar {
  z-index: 900;
}

/* ——— RTL (arabe) ——— */
[dir="rtl"] .header__inner,
[dir="rtl"] .nav,
[dir="rtl"] .footer__inner {
  flex-direction: row-reverse;
}

[dir="rtl"] .nav__dropdown-menu {
  left: auto;
  right: 0;
  text-align: right;
}

[dir="rtl"] .two-col,
[dir="rtl"] .contact-grid,
[dir="rtl"] .president__card {
  direction: rtl;
}

[dir="rtl"] .carousel__overlay {
  background: linear-gradient(
    270deg,
    rgba(15, 92, 56, 0.88) 0%,
    rgba(19, 64, 102, 0.55) 55%,
    rgba(0, 0, 0, 0.25) 100%
  );
}

[dir="rtl"] .section-label,
[dir="rtl"] .section-title,
[dir="rtl"] .section-intro,
[dir="rtl"] .card__text,
[dir="rtl"] p {
  text-align: right;
}

[dir="rtl"] .text-center .section-label,
[dir="rtl"] .text-center .section-title,
[dir="rtl"] .text-center .section-intro,
[dir="rtl"] .text-center p {
  text-align: center;
}

@media (max-width: 768px) {
  .page-hero:not(.page-hero--photo) {
    padding: 3rem 0 2rem;
  }

  .pro-page {
    padding-top: 1.75rem;
  }

  .engage-page .page-hero--photo {
    height: clamp(360px, 72vw, 480px);
  }

  .engage-page .page-hero--photo img {
    object-position: center 48%;
  }

  .engage-hero-copy {
    padding-top: 1.5rem;
  }

  .engage-path__img {
    height: min(48vw, 200px);
  }

  .engage-grid {
    gap: 1.25rem;
  }
}

@media (max-width: 480px) {
  .engage-hero-copy .section-title {
    font-size: 1.45rem;
  }

  .engage-hero-copy .section-intro {
    font-size: 0.95rem;
  }
}

/* Images fluides sur tous appareils */
img,
picture,
video {
  max-width: 100%;
}

.page-hero--photo img,
.engage-card__img img,
.engage-path__img img {
  width: 100%;
}
