/* ========================================================================== 
   Association Kit Simple 0.33 — consolidation mobile Club Editorial
   Chargé après frontend-builder.css afin d'offrir une seule couche de
   correction mobile, plutôt que plusieurs rustines qui se disputent l'écran.
   ========================================================================== */

@media (max-width: 820px) {
  body.aks-template-club.aks-club-style-editorial {
    --aks-mobile-gutter: 28px;
    --aks-mobile-shell: 720px;
    --aks-mobile-section-gap: 30px;
    overflow-x: clip;
  }

  body.aks-template-club.aks-club-style-editorial
  :is(.aks-builder-mobile-width--compact,
      .aks-builder-mobile-width--balanced,
      .aks-builder-mobile-width--comfortable) {
    --aks-mobile-gutter: 28px;
  }

  /* -----------------------------------------------------------------------
     Conteneurs : fond pleine largeur, contenu réellement plus étroit.
     ----------------------------------------------------------------------- */
  body.aks-template-club.aks-club-style-editorial .aks-builder-page {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    background: #fff;
    overflow-x: clip;
  }

  body.aks-template-club.aks-club-style-editorial .aks-builder-section__inner,
  body.aks-template-club.aks-club-style-editorial .aks-builder-width--full .aks-builder-section__inner,
  body.aks-template-club.aks-club-style-editorial .aks-builder-width--wide .aks-builder-section__inner,
  body.aks-template-club.aks-club-style-editorial .aks-builder-width--normal .aks-builder-section__inner,
  body.aks-template-club.aks-club-style-editorial .aks-builder-width--narrow .aks-builder-section__inner {
    width: min(calc(100% - (2 * var(--aks-mobile-gutter))), var(--aks-mobile-shell)) !important;
    max-width: var(--aks-mobile-shell) !important;
    margin-inline: auto !important;
  }

  /* Les blocs historiques sont décorés directement sur leur racine : aucun
     wrapper géométrique artificiel n'est nécessaire. */
  body.aks-template-club.aks-club-style-editorial .aks-builder-legacy-root {
    width: min(calc(100% - (2 * var(--aks-mobile-gutter))), var(--aks-mobile-shell)) !important;
    max-width: var(--aks-mobile-shell) !important;
    margin-inline: auto !important;
  }

  body.aks-template-club.aks-club-style-editorial .aks-internal-page,
  body.aks-template-club.aks-club-style-editorial .aks-page-content {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
  }

  body.aks-template-club.aks-club-style-editorial .aks-builder-section {
    min-width: 0;
  }

  body.aks-template-club.aks-club-style-editorial .aks-builder-spacing--compact {
    padding-block: 18px;
  }

  body.aks-template-club.aks-club-style-editorial .aks-builder-spacing--normal {
    padding-block: 30px;
  }

  body.aks-template-club.aks-club-style-editorial .aks-builder-spacing--airy {
    padding-block: 44px;
  }

  body.aks-template-club.aks-club-style-editorial
  :is(.aks-builder-section--course_group,
      .aks-builder-section--team_group,
      .aks-builder-section--event_group,
      .aks-builder-section--album_group,
      .aks-builder-section--document_group) {
    padding-block: 22px;
  }

  /* -----------------------------------------------------------------------
     Header : logo réellement à gauche, bouton réellement à droite.
     ----------------------------------------------------------------------- */
  body.aks-template-club.aks-club-style-editorial
  :is(.site-header-row-container-inner, .site-main-header-inner-wrap, .header-inner) {
    position: relative !important;
    display: block !important;
    width: calc(100% - 40px) !important;
    min-height: 68px !important;
    margin-inline: 20px !important;
    padding: 0 !important;
  }

  body.aks-template-club.aks-club-style-editorial
  :is(.site-branding, .site-branding-wrap, .site-header-section-left, .site-header-item-logo) {
    position: absolute !important;
    top: 50% !important;
    left: 0 !important;
    width: auto !important;
    max-width: calc(100% - 60px) !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateY(-50%) !important;
  }

  body.aks-template-club.aks-club-style-editorial :is(.custom-logo-link, .site-branding a) img {
    width: auto !important;
    max-width: 148px !important;
    max-height: 48px !important;
  }

  body.aks-template-club.aks-club-style-editorial .aks-club-mobile-menu-toggle {
    position: absolute !important;
    top: 50% !important;
    right: 0 !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
  }

  body.aks-template-club.aks-club-style-editorial .aks-club-mobile-drawer {
    width: min(88vw, 390px);
    padding: 16px 20px 24px;
  }

  body.aks-template-club.aks-club-style-editorial .aks-club-mobile-drawer a {
    min-height: 54px;
    font-size: 16px;
  }

  /* -----------------------------------------------------------------------
     Heroes : moins larges, moins hauts, texte plus contenu.
     ----------------------------------------------------------------------- */
  body.aks-template-club.aks-club-style-editorial .aks-builder-section--page_hero .aks-page-header,
  body.aks-template-club.aks-club-style-editorial .aks-page-header {
    width: 100% !important;
    min-height: 220px !important;
    margin: 0 !important;
    padding: 28px 20px !important;
    border-radius: 14px !important;
  }

  body.aks-template-club.aks-club-style-editorial:is(.aks-generated-gallery, .aks-generated-team) .aks-page-header {
    min-height: 240px !important;
  }

  body.aks-template-club.aks-club-style-editorial .aks-page-header h1 {
    max-width: 11ch;
    font-size: clamp(2.8rem, 13vw, 3.7rem) !important;
    line-height: .9 !important;
    text-wrap: balance;
  }

  body.aks-template-club.aks-club-style-editorial .aks-page-header > p:last-child {
    max-width: 31ch;
    margin-top: 14px;
    font-size: 15px;
    line-height: 1.55;
  }

  body.aks-template-club.aks-club-style-editorial .aks-page-header .aks-eyebrow {
    margin-bottom: 10px;
    font-size: 11px;
  }

  body.aks-template-club.aks-club-style-editorial
  .aks-builder-page--events .aks-page-header:is(.aks-club-page-hero--graphic_dark, .aks-club-page-hero--photo_dark),
  body.aks-template-club.aks-club-style-editorial
  .aks-builder-section--page_hero .aks-page-header:is(.aks-club-page-hero--graphic_dark, .aks-club-page-hero--photo_dark) {
    color: #fff !important;
    background-color: var(--aks-club-dark) !important;
  }

  body.aks-template-club.aks-club-style-editorial
  .aks-builder-page--events .aks-page-header:is(.aks-club-page-hero--graphic_dark, .aks-club-page-hero--photo_dark) h1,
  body.aks-template-club.aks-club-style-editorial
  .aks-builder-section--page_hero .aks-page-header:is(.aks-club-page-hero--graphic_dark, .aks-club-page-hero--photo_dark) h1 {
    color: #fff !important;
  }

  body.aks-template-club.aks-club-style-editorial
  .aks-builder-page--events .aks-page-header:is(.aks-club-page-hero--graphic_dark, .aks-club-page-hero--photo_dark) > p:last-child,
  body.aks-template-club.aks-club-style-editorial
  .aks-builder-section--page_hero .aks-page-header:is(.aks-club-page-hero--graphic_dark, .aks-club-page-hero--photo_dark) > p:last-child {
    color: rgba(255,255,255,.78) !important;
  }

  /* Hero de l'accueil : même largeur mobile et composition plus courte. */
  body.aks-template-club.aks-club-style-editorial .aks-club-editorial-hero {
    min-height: 510px !important;
    border-radius: 14px !important;
  }

  body.aks-template-club.aks-club-style-editorial .aks-club-editorial-hero__content {
    padding: 30px 22px 36px !important;
  }

  body.aks-template-club.aks-club-style-editorial .aks-club-editorial-hero h1 {
    max-width: 8ch;
    font-size: clamp(3.35rem, 15vw, 4.55rem) !important;
    line-height: .86 !important;
  }

  body.aks-template-club.aks-club-style-editorial .aks-club-editorial-hero__content > p:not(.aks-club-editorial-eyebrow) {
    max-width: 29ch;
    font-size: 15px;
    line-height: 1.55;
  }

  /* -----------------------------------------------------------------------
     Titres éditoriaux : le mot clair reste décoratif sans fabriquer un
     deuxième mot illisible à côté du premier.
     ----------------------------------------------------------------------- */
  body.aks-template-club.aks-club-style-editorial .aks-builder-heading {
    max-width: 100%;
  }

  body.aks-template-club.aks-club-style-editorial .aks-editorial-heading--accent-overlay {
    min-height: 48px !important;
  }

  body.aks-template-club.aks-club-style-editorial .aks-editorial-heading--accent-overlay .aks-editorial-heading__ghost {
    font-size: clamp(2.25rem, 10vw, 2.8rem) !important;
    line-height: .78 !important;
    opacity: .54 !important;
    transform: none !important;
  }

  body.aks-template-club.aks-club-style-editorial .aks-editorial-heading--accent-overlay .aks-editorial-heading__title {
    max-width: 18ch !important;
    padding-bottom: .02em;
    font-size: clamp(1.45rem, 6.3vw, 1.75rem) !important;
    line-height: .88 !important;
    text-shadow: none !important;
  }

  body.aks-template-club.aks-club-style-editorial
  .aks-editorial-heading--accent-overlay.aks-editorial-heading--same-label .aks-editorial-heading__ghost {
    transform: none !important;
  }

  body.aks-template-club.aks-club-style-editorial .aks-editorial-heading--accent-inline {
    gap: 2px;
  }

  body.aks-template-club.aks-club-style-editorial .aks-editorial-heading--accent-inline .aks-editorial-heading__title,
  body.aks-template-club.aks-club-style-editorial .aks-editorial-heading--simple .aks-editorial-heading__title {
    max-width: 18ch;
    font-size: clamp(1.9rem, 8.8vw, 2.35rem) !important;
    line-height: .92;
  }

  body.aks-template-club.aks-club-style-editorial .aks-builder-heading:has(.aks-editorial-heading) .aks-builder-copy {
    max-width: 33ch;
    margin-top: 12px;
    font-size: 15px;
    line-height: 1.6;
  }

  body.aks-template-club.aks-club-style-editorial
  :is(.aks-builder-section--course_group,
      .aks-builder-section--team_group,
      .aks-builder-section--event_group,
      .aks-builder-section--album_group,
      .aks-builder-section--document_group) .aks-builder-collection {
    margin-top: 14px !important;
  }

  /* -----------------------------------------------------------------------
     Carrousels : cartes plus étroites, aperçu clair, commandes contenues.
     ----------------------------------------------------------------------- */
  body.aks-template-club.aks-club-style-editorial .aks-builder-collection--responsive .aks-builder-collection__track {
    gap: 12px !important;
    padding: 2px 34px 10px 0 !important;
    scroll-padding-inline: 0 34px;
  }

  body.aks-template-club.aks-club-style-editorial
  .aks-builder-collection--courses.aks-builder-collection--responsive .aks-builder-collection__track > * {
    flex: 0 0 calc(100% - 38px) !important;
  }

  body.aks-template-club.aks-club-style-editorial
  .aks-builder-section--event_group .aks-builder-collection--responsive .aks-builder-collection__track,
  body.aks-template-club.aks-club-style-editorial
  .aks-builder-section--events .aks-builder-collection--responsive .aks-builder-collection__track {
    padding-right: 0 !important;
  }

  body.aks-template-club.aks-club-style-editorial
  .aks-builder-section--event_group .aks-builder-collection--responsive .aks-builder-collection__track > *,
  body.aks-template-club.aks-club-style-editorial
  .aks-builder-section--events .aks-builder-collection--responsive .aks-builder-collection__track > * {
    flex: 0 0 100% !important;
  }

  body.aks-template-club.aks-club-style-editorial .aks-carousel-controls {
    width: 100%;
    margin-top: 8px !important;
    padding-inline: 2px;
  }

  body.aks-template-club.aks-club-style-editorial .aks-carousel-button {
    width: 42px;
    height: 42px;
  }

  /* -----------------------------------------------------------------------
     Cartes de cours : largeur, densité et lecture mobile.
     ----------------------------------------------------------------------- */
  body.aks-template-club.aks-club-style-editorial .aks-club-editorial-course-card {
    border-radius: 12px;
  }

  body.aks-template-club.aks-club-style-editorial .aks-club-editorial-course-card__body,
  body.aks-template-club.aks-club-style-editorial .aks-club-editorial-course-card--compact .aks-club-editorial-course-card__body,
  body.aks-template-club.aks-club-style-editorial .aks-club-editorial-course-card--density-comfortable .aks-club-editorial-course-card__body {
    padding: 17px 16px 15px !important;
  }

  body.aks-template-club.aks-club-style-editorial .aks-club-editorial-course-card h3 {
    max-width: 15ch !important;
    margin-top: 8px !important;
    font-size: clamp(1.45rem, 6.8vw, 1.7rem) !important;
    line-height: .96 !important;
  }

  body.aks-template-club.aks-club-style-editorial .aks-club-editorial-course-card dl {
    margin-top: 13px !important;
  }

  body.aks-template-club.aks-club-style-editorial .aks-club-editorial-course-card dl div {
    grid-template-columns: minmax(70px, 30%) minmax(0, 1fr) !important;
    gap: 8px !important;
    padding: 8px 0 !important;
  }

  body.aks-template-club.aks-club-style-editorial .aks-club-editorial-course-card dt {
    font-size: 9px !important;
    letter-spacing: .06em;
  }

  body.aks-template-club.aks-club-style-editorial .aks-club-editorial-course-card dd {
    overflow-wrap: anywhere;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  body.aks-template-club.aks-club-style-editorial .aks-club-editorial-course-card__footer {
    margin-top: 12px !important;
  }

  body.aks-template-club.aks-club-style-editorial .aks-club-editorial-course-card__footer a {
    min-height: 42px;
    font-size: 12px;
  }

  /* -----------------------------------------------------------------------
     Équipe : groupes fiables, cartes plus contenues et légendes moins hautes.
     ----------------------------------------------------------------------- */
  body.aks-template-club.aks-club-style-editorial
  .aks-builder-collection--team.aks-builder-collection--responsive .aks-builder-team-slide {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px !important;
    flex-basis: 100% !important;
  }

  body.aks-template-club.aks-club-style-editorial .aks-builder-collection--team .aks-person-card {
    min-width: 0;
    padding-bottom: 12px !important;
    border-radius: 10px;
  }

  body.aks-template-club.aks-club-style-editorial .aks-builder-collection--team .aks-person-photo {
    aspect-ratio: 4 / 5;
    overflow: hidden;
  }

  body.aks-template-club.aks-club-style-editorial .aks-builder-collection--team .aks-person-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
  }

  body.aks-template-club.aks-club-style-editorial .aks-builder-collection--team .aks-person-card h3 {
    min-height: 2.2em !important;
    margin: 9px 8px 0 !important;
    font-size: 11px !important;
    line-height: 1.1 !important;
  }

  body.aks-template-club.aks-club-style-editorial .aks-builder-collection--team .aks-person-card p {
    min-height: 2.35em !important;
    margin: 3px 8px 0 !important;
    font-size: 10px !important;
    line-height: 1.18 !important;
  }

  /* -----------------------------------------------------------------------
     Agenda, états vides, contact, inscriptions et footer.
     ----------------------------------------------------------------------- */
  body.aks-template-club.aks-club-style-editorial .aks-builder-empty-collection {
    width: 100%;
    margin-top: 14px;
    padding: 18px !important;
    border-radius: 12px;
    font-size: 14px;
    line-height: 1.55;
  }

  body.aks-template-club.aks-club-style-editorial .aks-event-row,
  body.aks-template-club.aks-club-style-editorial .aks-page-events .aks-event-card {
    min-width: 0;
    padding: 18px 16px;
  }

  body.aks-template-club.aks-club-style-editorial .aks-builder-contact-primary,
  body.aks-template-club.aks-club-style-editorial .aks-builder-contact-details,
  body.aks-template-club.aks-club-style-editorial .aks-builder-contact-links,
  body.aks-template-club.aks-club-style-editorial .aks-club-editorial-registration-info {
    padding: 22px 18px !important;
    border-radius: 14px !important;
  }

  body.aks-template-club.aks-club-style-editorial .aks-builder-contact-primary h2,
  body.aks-template-club.aks-club-style-editorial .aks-builder-contact-details h2,
  body.aks-template-club.aks-club-style-editorial .aks-club-editorial-registration-info h2 {
    font-size: clamp(2rem, 9.5vw, 2.65rem) !important;
  }

  body.aks-template-club.aks-club-style-editorial .aks-club-editorial-opening-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    margin-bottom: 36px !important;
  }

  body.aks-template-club.aks-club-style-editorial .aks-club-editorial-opening-grid article {
    min-height: 0 !important;
    padding: 22px 18px !important;
  }

  body.aks-template-club.aks-club-style-editorial .aks-club-editorial-registration-process {
    margin-bottom: 36px !important;
  }

  body.aks-template-club.aks-club-style-editorial .aks-process > div {
    padding-left: 58px !important;
  }

  body.aks-template-club.aks-club-style-editorial .aks-process > div > strong {
    width: 42px !important;
    height: 42px !important;
  }

  body.aks-template-club.aks-club-style-editorial .aks-process h3 {
    font-size: 18px;
  }

  body.aks-template-club.aks-club-style-editorial .aks-process p {
    font-size: 14px;
  }

  body.aks-template-club.aks-club-style-editorial .aks-custom-footer-club .aks-custom-footer-inner,
  body.aks-template-club.aks-club-style-editorial .aks-custom-footer-club .aks-custom-footer-bottom {
    width: min(calc(100% - 40px), var(--aks-mobile-shell)) !important;
    max-width: var(--aks-mobile-shell) !important;
    margin-inline: auto !important;
  }

  body.aks-template-club.aks-club-style-editorial .aks-custom-footer-club .aks-custom-footer-inner {
    gap: 24px 18px !important;
    padding-top: 34px !important;
    padding-bottom: 24px !important;
  }

  body.aks-template-club.aks-club-style-editorial .aks-custom-footer-club p,
  body.aks-template-club.aks-club-style-editorial .aks-custom-footer-club a {
    font-size: 13px;
  }

  body.aks-template-club.aks-club-style-editorial .aks-custom-footer-club .aks-custom-footer-brand img {
    max-width: 156px;
  }
}


@media (max-width: 620px) {
  body.aks-template-club.aks-club-style-editorial {
    --aks-mobile-shell: 390px;
  }

  body.aks-template-club.aks-club-style-editorial .aks-builder-mobile-width--compact {
    --aks-mobile-gutter: 16px;
  }

  body.aks-template-club.aks-club-style-editorial .aks-builder-mobile-width--balanced {
    --aks-mobile-gutter: 20px;
  }

  body.aks-template-club.aks-club-style-editorial .aks-builder-mobile-width--comfortable {
    --aks-mobile-gutter: 24px;
  }
}

@media (max-width: 430px) {
  body.aks-template-club.aks-club-style-editorial {
    --aks-mobile-shell: 390px;
  }

  body.aks-template-club.aks-club-style-editorial .aks-builder-mobile-width--compact {
    --aks-mobile-gutter: 16px;
  }

  body.aks-template-club.aks-club-style-editorial .aks-builder-mobile-width--balanced {
    --aks-mobile-gutter: 20px;
  }

  body.aks-template-club.aks-club-style-editorial .aks-builder-mobile-width--comfortable {
    --aks-mobile-gutter: 24px;
  }
}

@media (max-width: 360px) {
  body.aks-template-club.aks-club-style-editorial .aks-builder-mobile-width--comfortable {
    --aks-mobile-gutter: 18px;
  }

  body.aks-template-club.aks-club-style-editorial .aks-builder-mobile-width--balanced {
    --aks-mobile-gutter: 16px;
  }

  body.aks-template-club.aks-club-style-editorial .aks-builder-mobile-width--compact {
    --aks-mobile-gutter: 14px;
  }

  body.aks-template-club.aks-club-style-editorial .aks-editorial-heading--accent-overlay .aks-editorial-heading__ghost {
    font-size: 2.15rem !important;
  }

  body.aks-template-club.aks-club-style-editorial .aks-editorial-heading--accent-overlay .aks-editorial-heading__title {
    font-size: 1.4rem !important;
  }
}


/* ========================================================================== 
   Association Kit Simple 0.33.1 — cohérence des cartes de cours mobiles
   ========================================================================== */
@media (max-width: 820px) {
  /* Un carrousel affiche une carte complète. Les flèches et le compteur
     indiquent déjà la navigation, inutile de découper le titre suivant. */
  body.aks-template-club.aks-club-style-editorial
  .aks-builder-collection--courses.aks-builder-collection--responsive
  .aks-builder-collection__track {
    align-items: stretch !important;
    padding-right: 0 !important;
    scroll-padding-inline: 0 !important;
  }

  body.aks-template-club.aks-club-style-editorial
  .aks-builder-collection--courses.aks-builder-collection--responsive
  .aks-builder-collection__track > .aks-club-editorial-course-card {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    align-self: stretch !important;
  }

  /* Toutes les cartes d'une même catégorie prennent la hauteur de la plus
     complète. Le pied reste aligné sans imposer une hauteur fixe globale. */
  body.aks-template-club.aks-club-style-editorial
  .aks-builder-collection--courses .aks-club-editorial-course-card__body {
    flex: 1 1 auto !important;
  }

  body.aks-template-club.aks-club-style-editorial
  .aks-builder-collection--courses .aks-club-editorial-course-card h3 {
    max-width: none !important;
    min-height: 1.92em;
    overflow: visible !important;
    overflow-wrap: normal;
    word-break: normal;
    text-wrap: balance;
  }

  /* Lorsque le titre et son accent sont identiques, l'accent reprend la même
     taille et devient un écho complet. Plus de suffixe pâle tronqué. */
  body.aks-template-club.aks-club-style-editorial
  .aks-editorial-heading--accent-overlay.aks-editorial-heading--same-label {
    padding-right: 8px;
    overflow: visible;
  }

  body.aks-template-club.aks-club-style-editorial
  .aks-editorial-heading--accent-overlay.aks-editorial-heading--same-label
  .aks-editorial-heading__ghost {
    font-size: clamp(1.45rem, 6.3vw, 1.75rem) !important;
    line-height: .88 !important;
    opacity: .26 !important;
    transform: translate(6px, -5px) !important;
  }
}
