/* =========================
   BOUTONS GÉNÉRAUX
========================= */

.wp-block-button.bouton-primaire,
.wp-block-button.bouton-secondaire {
  width: clamp(200px, 22vw, 280px);
  max-width: 100%;
}

.wp-block-button.bouton-primaire .wp-block-button__link,
.wp-block-button.bouton-secondaire .wp-block-button__link {
  width: 100%;
  min-height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  text-align: center;
  padding: 0 24px;
  white-space: normal;
}

/* =========================
   BOUTON TERTIAIRE
========================= */

.wp-block-button.bouton-tertiaire .wp-block-button__link {
  background: #f2f2f2;
  border: 1.5px solid #6e6e6e;
  color: #f36a36;
  border-radius: 999px;
  padding: 10px 20px;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all 0.2s ease;
}

.wp-block-button.bouton-tertiaire .wp-block-button__link:hover {
  background: #ffffff;
  border-color: #f36a36;
}

/* =========================
   FLÈCHES BOUTONS
========================= */

.wp-block-button.bouton-primaire .wp-block-button__link,
.wp-block-button.bouton-secondaire .wp-block-button__link,
.wp-block-button.bouton-tertiaire .wp-block-button__link,
.wp-block-button.bouton-asso-contact .wp-block-button__link,
.wp-block-button.bouton-asso-soutien .wp-block-button__link,
.wp-block-button.bouton-asso-membre .wp-block-button__link {
  display: inline-flex;
  align-items: center;
}

.wp-block-button.bouton-tertiaire .wp-block-button__link::after,
.wp-block-button.bouton-primaire .wp-block-button__link::after,
.wp-block-button.bouton-secondaire .wp-block-button__link::after,
.wp-block-button[class*="bouton-asso-"] .wp-block-button__link::after {
  content: "➜";
  margin-left: auto;
  font-size: 20px;
  line-height: 1;
}

/* =========================
   DOCUMENTATION — BOUTONS TERTIAIRES
========================= */

.doc-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px 22px !important;
  align-items: center !important;
  justify-content: center !important;
}

.doc-buttons .wp-block-button {
  width: auto !important;
  flex: 0 0 auto !important;
}

.doc-buttons .wp-block-button__link {
  width: auto !important;
  min-width: 125px;
  white-space: nowrap;
  flex-wrap: nowrap;
  padding: 10px 20px;
}

.doc-buttons .wp-block-button__link::after {
  margin-left: 12px;
  flex-shrink: 0;
}

.doc-buttons .doc-btn-large .wp-block-button__link,
.wp-block-button.doc-btn-large .wp-block-button__link {
  min-width: 220px;
}

@media (max-width: 1320px) {
  .doc-buttons {
    gap: 14px !important;
  }

  .doc-buttons .wp-block-button__link {
    min-width: 118px;
    padding: 10px 18px;
    font-size: 15px;
  }

  .doc-buttons .doc-btn-large .wp-block-button__link,
  .wp-block-button.doc-btn-large .wp-block-button__link {
    min-width: 210px;
  }
}

/* =========================
   BOUTON ÉQUIPE LINKEDIN
========================= */

.wp-block-button.Bouton-equipe .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
}

.wp-block-button.Bouton-equipe .wp-block-button__link::after {
  content: "";
  display: inline-block;
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  background-image: url('/wp-content/uploads/2026/04/icons8-linkedin-96.png');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* =========================
   CTA BADGE
========================= */

.cta-box {
  position: relative;
  overflow: visible;
}

.cta-info-badge {
  position: absolute;
  right: -16px;
  bottom: -16px;
  width: 70px;
  height: 70px;
  background: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
}

.cta-info-badge span {
  width: 50px;
  height: 50px;
  background: #f36a36;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 26px;
  font-weight: 700;
}

/* =========================
   CARTES HOME
========================= */

.cartes-home-row {
  align-items: stretch;
}

.cartes-home-row > .wp-block-kadence-column {
  display: flex;
}

.carte-home {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.carte-home > .kt-inside-inner-col {
  display: flex;
  flex-direction: column;
  flex: 1;
  height: 100%;
}

.carte-home__content {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.carte-home__content > .kt-inside-inner-col {
  display: flex;
  flex-direction: column;
  flex: 1;
  height: 100%;
}

.carte-home__content p {
  margin-top: 0;
}

.carte-home__buttons {
  margin-top: auto;
}

/* =========================
   PAGE ASSOCIATION — BOUTONS
========================= */

.wp-block-buttons.bouton-asso {
  justify-content: center;
}

.wp-block-buttons.bouton-asso .wp-block-button {
  width: clamp(240px, 28vw, 340px);
  max-width: 100%;
}

.wp-block-buttons.bouton-asso .wp-block-button .wp-block-button__link {
  width: 100%;
  min-height: 60px;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  box-sizing: border-box;
  text-align: left;
  padding: 0 22px;
  white-space: normal;
  gap: 14px;
}

.wp-block-button[class*="bouton-asso-"] .wp-block-button__link::before {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  min-width: 24px;
  font-size: 24px;
  line-height: 1;
  flex-shrink: 0;
}

.wp-block-button.bouton-asso-contact .wp-block-button__link::before {
  content: "✉";
}

.wp-block-button.bouton-asso-soutien .wp-block-button__link::before {
  content: "♥";
}

.wp-block-button.bouton-asso-membre .wp-block-button__link::before {
  content: "✓";
}

/* =========================
   PAGE ÉQUIPE — GRILLE
========================= */

.equipe-grid > .kt-row-column-wrap {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 32px;
}

.equipe-grid > .kt-row-column-wrap > * {
  max-width: none;
  width: 100%;
}

.equipe-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 10px;
}

.equipe-card > .kt-inside-inner-col {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.equipe-card__media img {
  border-radius: 6px;
}

.equipe-card__content {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.equipe-card__content > .kt-inside-inner-col {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.equipe-card .wp-block-buttons {
  margin-top: auto;
  padding-top: 32px;
}

.equipe-card .wp-block-button {
  margin-top: auto;
}

.equipe-card .wp-block-group:last-of-type {
  margin-bottom: 24px;
}

/* Header image + titre des cartes équipe */
@media (max-width: 1440px) {
  .equipe-card__top > .kt-row-column-wrap,
  .equipe-card__top .kt-row-column-wrap {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    text-align: center !important;
  }

  .equipe-card__top .wp-block-image,
  .equipe-card__top figure {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .equipe-card__top h2,
  .equipe-card__top h3,
  .equipe-card__top p {
    text-align: center !important;
  }
}

/* =========================
   RESPONSIVE 1024
========================= */

@media (max-width: 1024px) {

  .cartes-home-row > .kt-row-column-wrap {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }

  .cartes-home-row > .kt-row-column-wrap > .wp-block-kadence-column {
    width: 100% !important;
    max-width: 560px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .cartes-home-row > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col,
  .cartes-home-row .wp-block-cover,
  .cartes-home-row .kt-inside-inner-col {
    width: 100% !important;
    min-height: auto !important;
  }

  .quisommesnous-row > .kt-row-column-wrap {
    grid-template-columns: 1fr !important;
    gap: 48px !important;
  }

  .quisommesnous-row > .kt-row-column-wrap > .wp-block-kadence-column {
    width: 100% !important;
    max-width: 680px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .footer-grid > .kt-row-column-wrap {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 42px 64px !important;
  }

  .footer-grid > .kt-row-column-wrap > .wp-block-kadence-column {
    width: 100% !important;
    max-width: none !important;
  }

  .prestations-grid > .kt-row-column-wrap {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }

  .prestations-grid > .kt-row-column-wrap > .wp-block-kadence-column {
    width: 100% !important;
    max-width: 560px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .prestations-grid .kt-inside-inner-col {
    min-height: auto !important;
  }

  .prestation-single-layout > .kt-row-column-wrap {
    grid-template-columns: 1fr !important;
    gap: 42px !important;
  }

  .prestation-single-layout > .kt-row-column-wrap > .wp-block-kadence-column {
    width: 100% !important;
    max-width: 760px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .prestation-single-layout h2,
  .prestation-single-layout h3 {
    text-align: left;
  }

  .prestation-single-layout .kt-inside-inner-col {
    min-height: auto !important;
  }

  .contact-layout > .kt-row-column-wrap {
    grid-template-columns: 1fr !important;
    gap: 42px !important;
  }

  .contact-layout > .kt-row-column-wrap > .wp-block-kadence-column {
    width: 100% !important;
    max-width: 680px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .equipe-grid > .kt-row-column-wrap {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 32px !important;
  }

  .equipe-grid > .kt-row-column-wrap > .wp-block-kadence-column {
    width: 100% !important;
    max-width: none !important;
  }

  .equipe-card .wp-block-button__link {
    min-width: 190px;
  }

  .equipe-card__top > .kt-row-column-wrap,
  .equipe-card__top .kt-row-column-wrap {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
}

/* =========================
   RESPONSIVE MOBILE
========================= */

@media (max-width: 640px) {

  .equipe-grid > .kt-row-column-wrap {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .equipe-grid > .kt-row-column-wrap > .wp-block-kadence-column {
    max-width: 520px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
/* =========================
   FOOTER — MOBILE
========================= */

@media (max-width: 640px) {

  .footer-grid > .kt-row-column-wrap {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }

  .footer-grid > .kt-row-column-wrap > .wp-block-kadence-column {
    width: 100% !important;
    max-width: none !important;
    text-align: left !important;
  }

  .footer-grid .wp-block-navigation,
  .footer-grid .wp-block-navigation__container {
    align-items: flex-start !important;
  }

  .footer-grid .kt-row-column-wrap {
    row-gap: 34px !important;
  }
}