/**
 * Icon cards — CSS Grid (hauteur égale) + rangée incomplète centrée
 */

.olympus-icon-cards {
  --icon-primary: var(--wp--preset--color--primary, #2e2f85);
  --icon-primary-contrast: var(--wp--preset--color--primary-contrast, #ffffff);
  --icon-secondary: var(--wp--preset--color--secondary, #64748b);
  --icon-secondary-contrast: var(--wp--preset--color--secondary-contrast, #ffffff);
  --icon-accent: var(--icon-secondary);
  --icon-muted: #64748b;
  --icon-surface: #ffffff;
  --icon-border: rgba(15, 23, 42, 0.08);
  --icon-gap: clamp(1.25rem, 2.5vw, 2rem);

  width: 100%;
  position: relative;
}

.olympus-icon-cards > .acf-innerblocks-container,
.olympus-icon-cards
  > .block-editor-inner-blocks
  > .block-editor-block-list__layout {
  display: grid;
  gap: var(--icon-gap);
  width: 100%;
  align-items: stretch;
}

.olympus-icon-cards > .acf-innerblocks-container > .olympus-icon-card,
.olympus-icon-cards
  > .block-editor-inner-blocks
  > .block-editor-block-list__layout
  > .olympus-icon-card {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  height: auto;
  min-width: 0;
}

/* col1 */
.olympus-icon-cards.col1 > .acf-innerblocks-container,
.olympus-icon-cards.col1
  > .block-editor-inner-blocks
  > .block-editor-block-list__layout {
  grid-template-columns: minmax(0, 1fr);
}

/* col2 — desktop */
.olympus-icon-cards.col2 > .acf-innerblocks-container,
.olympus-icon-cards.col2
  > .block-editor-inner-blocks
  > .block-editor-block-list__layout {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* 1 carte seule sur la dernière rangée (col2) */
.olympus-icon-cards.col2
  > .acf-innerblocks-container
  > .olympus-icon-card:last-child:nth-child(2n + 1),
.olympus-icon-cards.col2
  > .block-editor-inner-blocks
  > .block-editor-block-list__layout
  > .olympus-icon-card:last-child:nth-child(2n + 1) {
  grid-column: 1 / -1;
  justify-self: center;
  width: calc((100% - var(--icon-gap)) / 2);
  max-width: calc((100% - var(--icon-gap)) / 2);
}

/* col3 — desktop */
.olympus-icon-cards.col3 > .acf-innerblocks-container,
.olympus-icon-cards.col3
  > .block-editor-inner-blocks
  > .block-editor-block-list__layout {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* 1 carte orpheline (col3) */
.olympus-icon-cards.col3
  > .acf-innerblocks-container
  > .olympus-icon-card:last-child:nth-child(3n - 2),
.olympus-icon-cards.col3
  > .block-editor-inner-blocks
  > .block-editor-block-list__layout
  > .olympus-icon-card:last-child:nth-child(3n - 2) {
  grid-column-end: -2;
}

/* 2 cartes orphelines (col3) */
.olympus-icon-cards.col3
  > .acf-innerblocks-container
  > .olympus-icon-card:nth-last-child(2):nth-child(3n + 1),
.olympus-icon-cards.col3
  > .block-editor-inner-blocks
  > .block-editor-block-list__layout
  > .olympus-icon-card:nth-last-child(2):nth-child(3n + 1) {
  grid-column-end: -4;
}

.olympus-icon-cards.col3
  > .acf-innerblocks-container
  > .olympus-icon-card:last-child:nth-child(3n - 1),
.olympus-icon-cards.col3
  > .block-editor-inner-blocks
  > .block-editor-block-list__layout
  > .olympus-icon-card:last-child:nth-child(3n - 1) {
  grid-column-end: -2;
}

/* col4 — desktop */
.olympus-icon-cards.col4 > .acf-innerblocks-container,
.olympus-icon-cards.col4
  > .block-editor-inner-blocks
  > .block-editor-block-list__layout {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* col4 — 1 orphelin */
.olympus-icon-cards.col4
  > .acf-innerblocks-container
  > .olympus-icon-card:last-child:nth-child(4n + 1),
.olympus-icon-cards.col4
  > .block-editor-inner-blocks
  > .block-editor-block-list__layout
  > .olympus-icon-card:last-child:nth-child(4n + 1) {
  grid-column: 2 / span 2;
}

/* col4 — 2 orphelins */
.olympus-icon-cards.col4
  > .acf-innerblocks-container
  > .olympus-icon-card:nth-last-child(2):nth-child(4n + 1),
.olympus-icon-cards.col4
  > .block-editor-inner-blocks
  > .block-editor-block-list__layout
  > .olympus-icon-card:nth-last-child(2):nth-child(4n + 1) {
  grid-column: 2;
}

.olympus-icon-cards.col4
  > .acf-innerblocks-container
  > .olympus-icon-card:last-child:nth-child(4n + 2),
.olympus-icon-cards.col4
  > .block-editor-inner-blocks
  > .block-editor-block-list__layout
  > .olympus-icon-card:last-child:nth-child(4n + 2) {
  grid-column: 3;
}

/* col4 — 3 orphelins */
.olympus-icon-cards.col4
  > .acf-innerblocks-container
  > .olympus-icon-card:nth-last-child(3):nth-child(4n + 1),
.olympus-icon-cards.col4
  > .block-editor-inner-blocks
  > .block-editor-block-list__layout
  > .olympus-icon-card:nth-last-child(3):nth-child(4n + 1) {
  grid-column: 1;
}

.olympus-icon-cards.col4
  > .acf-innerblocks-container
  > .olympus-icon-card:nth-last-child(2):nth-child(4n + 2),
.olympus-icon-cards.col4
  > .block-editor-inner-blocks
  > .block-editor-block-list__layout
  > .olympus-icon-card:nth-last-child(2):nth-child(4n + 2) {
  grid-column: 2;
}

.olympus-icon-cards.col4
  > .acf-innerblocks-container
  > .olympus-icon-card:last-child:nth-child(4n + 3),
.olympus-icon-cards.col4
  > .block-editor-inner-blocks
  > .block-editor-block-list__layout
  > .olympus-icon-card:last-child:nth-child(4n + 3) {
  grid-column: 3;
}

/* ==========================================================================
   Ace
   ========================================================================== */

.olympus-icon-cards.ace .olympus-icon-card {
  text-align: center;
}

/* ==========================================================================
   Triumph
   ========================================================================== */

.olympus-icon-cards.triumph {
  --icon-accent: var(--icon-secondary);
}

/* ==========================================================================
   Accelerator
   ========================================================================== */

.olympus-icon-cards.accelerator .olympus-icon-card {
  text-align: left;
}

/* Tablet — 2 colonnes */
@media (max-width: 880px) {
  .olympus-icon-cards.col3 > .acf-innerblocks-container,
  .olympus-icon-cards.col3
    > .block-editor-inner-blocks
    > .block-editor-block-list__layout,
  .olympus-icon-cards.col4 > .acf-innerblocks-container,
  .olympus-icon-cards.col4
    > .block-editor-inner-blocks
    > .block-editor-block-list__layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  /* Reset orphan rules desktop col3/col4 */
  .olympus-icon-cards.col3
    > .acf-innerblocks-container
    > .olympus-icon-card:last-child:nth-child(3n - 2),
  .olympus-icon-cards.col3
    > .block-editor-inner-blocks
    > .block-editor-block-list__layout
    > .olympus-icon-card:last-child:nth-child(3n - 2),
  .olympus-icon-cards.col3
    > .acf-innerblocks-container
    > .olympus-icon-card:nth-last-child(2):nth-child(3n + 1),
  .olympus-icon-cards.col3
    > .block-editor-inner-blocks
    > .block-editor-block-list__layout
    > .olympus-icon-card:nth-last-child(2):nth-child(3n + 1),
  .olympus-icon-cards.col3
    > .acf-innerblocks-container
    > .olympus-icon-card:last-child:nth-child(3n - 1),
  .olympus-icon-cards.col3
    > .block-editor-inner-blocks
    > .block-editor-block-list__layout
    > .olympus-icon-card:last-child:nth-child(3n - 1),
  .olympus-icon-cards.col4
    > .acf-innerblocks-container
    > .olympus-icon-card:last-child:nth-child(4n + 1),
  .olympus-icon-cards.col4
    > .block-editor-inner-blocks
    > .block-editor-block-list__layout
    > .olympus-icon-card:last-child:nth-child(4n + 1),
  .olympus-icon-cards.col4
    > .acf-innerblocks-container
    > .olympus-icon-card:nth-last-child(2):nth-child(4n + 1),
  .olympus-icon-cards.col4
    > .block-editor-inner-blocks
    > .block-editor-block-list__layout
    > .olympus-icon-card:nth-last-child(2):nth-child(4n + 1),
  .olympus-icon-cards.col4
    > .acf-innerblocks-container
    > .olympus-icon-card:last-child:nth-child(4n + 2),
  .olympus-icon-cards.col4
    > .block-editor-inner-blocks
    > .block-editor-block-list__layout
    > .olympus-icon-card:last-child:nth-child(4n + 2),
  .olympus-icon-cards.col4
    > .acf-innerblocks-container
    > .olympus-icon-card:nth-last-child(3):nth-child(4n + 1),
  .olympus-icon-cards.col4
    > .block-editor-inner-blocks
    > .block-editor-block-list__layout
    > .olympus-icon-card:nth-last-child(3):nth-child(4n + 1),
  .olympus-icon-cards.col4
    > .acf-innerblocks-container
    > .olympus-icon-card:nth-last-child(2):nth-child(4n + 2),
  .olympus-icon-cards.col4
    > .block-editor-inner-blocks
    > .block-editor-block-list__layout
    > .olympus-icon-card:nth-last-child(2):nth-child(4n + 2),
  .olympus-icon-cards.col4
    > .acf-innerblocks-container
    > .olympus-icon-card:last-child:nth-child(4n + 3),
  .olympus-icon-cards.col4
    > .block-editor-inner-blocks
    > .block-editor-block-list__layout
    > .olympus-icon-card:last-child:nth-child(4n + 3) {
    grid-column: auto;
    grid-column-end: auto;
    justify-self: stretch;
    width: auto;
    max-width: none;
  }

  /* col3/col4 tablette : 1 orphelin sur 2 cols */
  .olympus-icon-cards.col3
    > .acf-innerblocks-container
    > .olympus-icon-card:last-child:nth-child(2n + 1),
  .olympus-icon-cards.col3
    > .block-editor-inner-blocks
    > .block-editor-block-list__layout
    > .olympus-icon-card:last-child:nth-child(2n + 1),
  .olympus-icon-cards.col4
    > .acf-innerblocks-container
    > .olympus-icon-card:last-child:nth-child(2n + 1),
  .olympus-icon-cards.col4
    > .block-editor-inner-blocks
    > .block-editor-block-list__layout
    > .olympus-icon-card:last-child:nth-child(2n + 1) {
    grid-column: 1 / -1;
    justify-self: center;
    width: calc((100% - var(--icon-gap)) / 2);
    max-width: calc((100% - var(--icon-gap)) / 2);
  }
}

@media (max-width: 1050px) {
  .olympus-icon-cards.col4 > .acf-innerblocks-container,
  .olympus-icon-cards.col4
    > .block-editor-inner-blocks
    > .block-editor-block-list__layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Mobile — 1 colonne */
@media (max-width: 600px) {
  .olympus-icon-cards.col2 > .acf-innerblocks-container,
  .olympus-icon-cards.col2
    > .block-editor-inner-blocks
    > .block-editor-block-list__layout,
  .olympus-icon-cards.col3 > .acf-innerblocks-container,
  .olympus-icon-cards.col3
    > .block-editor-inner-blocks
    > .block-editor-block-list__layout,
  .olympus-icon-cards.col4 > .acf-innerblocks-container,
  .olympus-icon-cards.col4
    > .block-editor-inner-blocks
    > .block-editor-block-list__layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .olympus-icon-cards.col2
    > .acf-innerblocks-container
    > .olympus-icon-card:last-child:nth-child(2n + 1),
  .olympus-icon-cards.col2
    > .block-editor-inner-blocks
    > .block-editor-block-list__layout
    > .olympus-icon-card:last-child:nth-child(2n + 1),
  .olympus-icon-cards.col3
    > .acf-innerblocks-container
    > .olympus-icon-card:last-child:nth-child(2n + 1),
  .olympus-icon-cards.col3
    > .block-editor-inner-blocks
    > .block-editor-block-list__layout
    > .olympus-icon-card:last-child:nth-child(2n + 1),
  .olympus-icon-cards.col4
    > .acf-innerblocks-container
    > .olympus-icon-card:last-child:nth-child(2n + 1),
  .olympus-icon-cards.col4
    > .block-editor-inner-blocks
    > .block-editor-block-list__layout
    > .olympus-icon-card:last-child:nth-child(2n + 1) {
    grid-column: auto;
    grid-column-end: auto;
    justify-self: stretch;
    width: auto;
    max-width: none;
  }
}
