.custom-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  background-color: var(--ast-global-color-1);
  color: #eee;
  padding: 40px 20px;
  box-sizing: border-box;
  font-size: 0.9em;
  align-items: stretch;
  margin-top:15px;
}

.footer-zone {
  flex: 1 1 100px;
  margin: 0 10px;
}
.footer-zone.zone3 {
  flex: 2 1 250px; 
}

.footer-separator {
  width: 1px;
  background-color: #FFFFFF;
  margin: 0 5px;
  align-self: stretch;
}

.zone1 .custom-logo-link img,
.zone1 .site-title {
  max-width: 150px;
  display: block;
  margin: 0px auto 10px auto;
}

.zone1 .footer-text {
  margin: 0;
  text-transform: uppercase;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
}

.custom-footer h4 {
  margin-top: 0;
  color: #fff;
  font-size: 1em;
  margin-bottom: 8px;
}

.zone2 address {
  font-style: normal;
  line-height: 1.5;
  margin: 0;
}

.zone3 p {
  line-height: 1.5;
  margin: 0;
}

.cfp-footer-menu-list {
  list-style: none;
  padding: 0;
  margin: 0;
  text-transform: uppercase;
}

.cfp-footer-menu-list li {
  margin-bottom: 6px;
}

.cfp-footer-menu-list li a {
  color: #ffffff;
  text-decoration: none;
}

.cfp-footer-menu-list li a:hover {
  color: #fff;
}

.cfp-horaires-list {
    margin: 1em 0 1.2em 2em;
}
.address-card, .address-card-contact  {
  padding: 1.2rem 0rem;
  line-height: 1.5;
}

/* Chaque ligne d’adresse */
.address-card span, .address-card-contact span {
  display: block;
  margin-bottom: 0.5rem;
}

/* Suppression du soulignement des abbr */
.address-card abbr, .address-card-contact abbr {
  text-decoration: none;
  cursor: help;
  border-bottom: none;
}

.address-card .phone a, .address-card-contact .phone a {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  font-weight: bold;
}

.address-card .phone a {
  color: #FFFFFF;
}

.address-card-contact .phone a {
  color: var(--ast-global-color-3);
}

/* Espacement entre l’icône et le numéro */
.address-card .phone a i, .address-card-contact .phone a i{
  font-size: 1.2em;    /* ajustez si besoin */
  margin-right: 0.5rem;
  /* FontAwesome doit être chargé dans votre <head> */
}

.address-card .phone a:hover, .address-card-contact .phone a:hover {
  text-decoration: none;
}

.cfp-socials--under-address { margin-top: 8px; }

.cfp-socials-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
.cfp-socials-item a {
    display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;             /* cercle */
  border: 2px solid #FFFFFF;         /* couleur de la bordure */
  color: #FFFFFF;                    /* couleur de l’icône */
  text-decoration: none;
  transition: all .2s ease-in-out;
}
.cfp-socials-item i { font-size: 18px; line-height: 1; }
.cfp-socials-item a:hover { transform: translateY(-1px); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; }


@media (max-width: 768px) {
  /* → Empile toutes les zones verticalement */
  .custom-footer {
    flex-direction: column !important;
    align-items: center;       /* centre horizontalement si besoin */
  }

  /* → Chaque zone prend 100% */
  .footer-zone {
    flex: none !important;
    width: 100% !important;
    max-width: 400px;          /* ou retirez si vous voulez full‑bleed */
    margin: 10px 0 !important;
  }

  /* Vos autres ajustements existants… */
  .cfp-footer-menu-list,
  .cfp-footer-menu-list ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .footer-zone.zone1 {
    text-align: center;
  }
  .footer-zone.zone1 .custom-logo-link img,
  .footer-zone.zone1 .site-title {
    display: block;
    margin: 0 auto 10px;
  }

  .footer-zone.zone3 {
    padding-top: 0;
    padding-bottom: 0;
  }
  .cfp-horaires-list li {
    margin-bottom: 5px;
    line-height: 1.3;
  }

  .footer-separator {
    display: none;
  }
}

/* Contenant du shortcode */
.cfp-infos {
  color: var(--ast-global-color-3);
  padding: 24px 20px;
  box-sizing: border-box;
  margin: 15px 0;
  border-radius: 6px; /* optionnel */
}

/* On empile : adresse PUIS horaires */
.cfp-infos--stack {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

/* Blocs internes (adresse / horaires) */
.cfp-infos__block {
  width: 100%;
}

/* Titres dans le shortcode, cohérents avec le footer */
.cfp-infos h4 {
  margin: 0 0 8px 0;
  color: var(--ast-global-color-3);
  font-size: 1em;
}

/* On réutilise tes styles existants : address-card, address-card-contact, cfp-horaires-list, cfp-socials... */
.cfp-infos .address-card,
.cfp-infos .address-card-contact {
  padding: 0rem 0rem;
  line-height: 1.5;
  margin: 0;
}

/* Option : resserrer un peu la liste des horaires dans ce bloc */
.cfp-infos .cfp-horaires-list {
  margin: 0.5em 0 0.8em 1.2em;
}

.cfp-infos .cfp-socials-item a {
  color: var(--ast-global-color-3);
  border: 2px solid var(--ast-global-color-3);
}
/* Responsive : rien à faire de spécial, on est déjà en colonne */
@media (max-width: 768px) {
  .cfp-infos { display:none; }
}


