.brand {
  gap: 10px;
}

.brand-apple {
  display: block;
  width: 43px;
  height: 43px;
  flex: 0 0 43px;
}

.brand-mark {
  padding-right: 0;
  line-height: .9;
}

.brand-name {
  display: block;
}

@media (max-width: 560px) {
  .brand {
    gap: 8px;
  }

  .brand-apple {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
  }
}

/* Logo fédéral actuel. */
.federation-identities { padding-block: 20px 28px; }
.federation-current-logo { display: block; width: 560px; max-width: 100%; height: auto; background: #fff; border-radius: 8px; }

/* Photographies fournies pour les rubriques. */
.activity-main-photo, .editorial-photo { margin-top: 0; margin-bottom: 28px; }
.activity-main-photo img, .editorial-photo img { display: block; width: 100%; height: auto; max-height: 540px; object-fit: cover; border-radius: 18px; }
.activity-photo-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-block: 40px 55px; }
.activity-photo-gallery figure { margin: 0; }
.activity-photo-gallery img { display: block; width: 100%; height: auto; border-radius: 14px; }
.activity-card > img { display: block; width: 100%; height: auto; max-height: none; aspect-ratio: 3 / 2; object-fit: cover; object-position: center top; border-radius: 9px; margin: 0 0 20px; }
.hero-photo:after { display: none; }
@media (max-width: 600px) {
  .activity-photo-gallery { grid-template-columns: 1fr; gap: 18px; }
  .activity-main-photo img, .editorial-photo img { max-height: none; }
}

/* Les cartes d’accueil donnent accès aux fiches pratiques. */
.home-activity-link { display: block; color: var(--ink); text-decoration: none; }
.home-activity-link:hover { border-color: #587f25; }
.home-activity-link:focus-visible { outline: 3px solid #587f25; outline-offset: 4px; }
.home-activity-action { display: block; margin-top: 20px; font-size: 14px; font-weight: 700; }

/* Photo de gymnastique : conserver le cadre entier et les visages. */
.home-hero > .hero-photo { height: auto; align-self: center; border-radius: 18px; }
.hero-photo > img[src$="iStock-1336540739.jpeg"],
.activity-main-photo > img[src$="iStock-1336540739.jpeg"] {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  aspect-ratio: auto;
  object-fit: contain;
}

.admin-access { font-size: 12px; opacity: .85; white-space: nowrap; }
.admin-access:hover, .admin-access:focus-visible { opacity: 1; }
