/* ==========================================================================
   Boutons, badges et pastilles.
   Fichier chargé en dernier : il reprend la main sur les styles de bouton
   d'Astra, qui ciblent « .wp-block-button .wp-block-button__link ».
   ========================================================================== */

.wp-block-buttons { gap: 14px; margin-bottom: 0; }
.wp-block-buttons.is-content-justification-center { justify-content: center; }

/* --- Bouton principal (par défaut) -------------------------------------- */
.wp-block-button .wp-block-button__link,
.wp-block-button .wp-block-button__link.wp-element-button,
.wp-block-button.is-style-outline .wp-block-button__link.wp-element-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-family: var(--ff-title);
  font-weight: 700;
  font-size: .97rem;
  line-height: 1.2;
  padding: 15px 30px;
  border: 0;
  border-radius: var(--r-pill);
  text-decoration: none;
  background: var(--grad-accent);
  background-color: var(--accent);
  color: #fff;
  box-shadow: var(--sh-blue);
  transition: transform .25s var(--ease), box-shadow .25s var(--ease),
              background .25s var(--ease), color .25s var(--ease);
}
.wp-block-button .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:focus,
.wp-block-button .wp-block-button__link.wp-element-button:hover,
.wp-block-button .wp-block-button__link.wp-element-button:focus {
  background: var(--grad-accent);
  background-color: var(--deep);
  border-color: transparent;
  color: #fff;
  transform: translateY(-3px);
  box-shadow: 0 24px 48px rgba(14, 111, 184, .32);
}

/* --- Bouton secondaire, contour discret --------------------------------- */
.wp-block-button.btn--ghost .wp-block-button__link,
.wp-block-button.btn--ghost .wp-block-button__link.wp-element-button {
  background: #fff;
  background-color: #fff;
  color: var(--deep);
  box-shadow: inset 0 0 0 2px var(--line);
}
.wp-block-button.btn--ghost .wp-block-button__link:hover,
.wp-block-button.btn--ghost .wp-block-button__link:focus,
.wp-block-button.btn--ghost .wp-block-button__link.wp-element-button:hover {
  background: #fff;
  background-color: #fff;
  color: var(--deep);
  box-shadow: inset 0 0 0 2px var(--accent);
  transform: translateY(-3px);
}

/* --- Bouton blanc, sur fond bleu ---------------------------------------- */
.wp-block-button.btn--light .wp-block-button__link,
.wp-block-button.btn--light .wp-block-button__link.wp-element-button {
  background: #fff;
  background-color: #fff;
  color: var(--deep);
  box-shadow: none;
}
.wp-block-button.btn--light .wp-block-button__link:hover,
.wp-block-button.btn--light .wp-block-button__link.wp-element-button:hover {
  background: #fff;
  background-color: #fff;
  color: var(--deep);
  box-shadow: var(--sh-lg);
}

/* --- Bouton transparent bordé de blanc, sur fond bleu ------------------- */
.wp-block-button.btn--outline-light .wp-block-button__link,
.wp-block-button.btn--outline-light .wp-block-button__link.wp-element-button {
  background: transparent;
  background-color: transparent;
  color: #fff;
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .45);
}
.wp-block-button.btn--outline-light .wp-block-button__link:hover,
.wp-block-button.btn--outline-light .wp-block-button__link.wp-element-button:hover {
  background: #fff;
  background-color: #fff;
  color: var(--deep);
  box-shadow: inset 0 0 0 2px #fff;
}

/* --- Remise à zéro des bordures héritées d'Astra et du coeur de WordPress -
   Astra et WordPress dessinent chacun une bordure et un rayon de 4 px sur les
   boutons. Comme nos boutons sont des pastilles dessinées à l'ombre portée,
   ces bordures apparaissaient en rectangle autour du bouton. On les neutralise
   ici, en gardant un contour visible au clavier pour l'accessibilité. */
.wp-block-button,
.wp-block-buttons > .wp-block-button {
  border: 0;
  outline: 0;
  box-shadow: none;
  background: none;
}
.wp-block-button .wp-block-button__link,
.wp-block-button .wp-block-button__link.wp-element-button,
.wp-block-button .wp-block-button__link.is-style-outline,
.wp-block-button.is-style-outline > .wp-block-button__link {
  border-width: 0;
  border-style: none;
  outline: 0;
  border-radius: var(--r-pill);
}
.wp-block-button .wp-block-button__link:focus-visible {
  outline: 3px solid var(--accent2);
  outline-offset: 3px;
}

/* --- Variantes de taille ------------------------------------------------- */
.wp-block-button.btn--sm .wp-block-button__link { padding: 11px 22px; font-size: .88rem; }
.wp-block-button.btn--block, .wp-block-button.btn--block .wp-block-button__link { width: 100%; }

/* ==========================================================================
   Icônes de bouton.

   L'icône est un masque, pas une image coloriée : elle prend automatiquement
   la couleur du texte du bouton. Blanche sur un bouton bleu, bleu foncé sur
   un bouton blanc, sans avoir à créer deux versions.

   Les SVG sont encodés au format standard (%3C au lieu de <), lisible par
   tous les navigateurs. C'est ce qui manquait : quand le navigateur refusait
   l'adresse, l'icône disparaissait mais sa place restait réservée — c'était
   le petit carré vide.

   Pour ajouter une icône à un bouton : dans l'éditeur, panneau du bouton →
   Avancé → Classe(s) CSS supplémentaire(s) → taper par exemple « ico--tel ».
   ========================================================================== */

.wp-block-button[class*="ico--"] .wp-block-button__link::before {
  content: "";
  width: 18px;
  height: 18px;
  flex: none;
  background-color: currentColor;
  /* Icône de repli : si le nom de classe est inconnu, on affiche une flèche
     plutôt qu'un carré plein. */
  --dp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  -webkit-mask: var(--dp-ico) center / contain no-repeat;
          mask: var(--dp-ico) center / contain no-repeat;
}

.wp-block-button.ico--agenda .wp-block-button__link::before {
  --dp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='3'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");
}
.wp-block-button.ico--tel .wp-block-button__link::before {
  --dp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.9.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}
.wp-block-button.ico--mail .wp-block-button__link::before {
  --dp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m2 7 10 6 10-6'/%3E%3C/svg%3E");
}
.wp-block-button.ico--pin .wp-block-button__link::before {
  --dp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 12-9 12s-9-5-9-12a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}
.wp-block-button.ico--horloge .wp-block-button__link::before {
  --dp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 3'/%3E%3C/svg%3E");
}
.wp-block-button.ico--check .wp-block-button__link::before {
  --dp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}
.wp-block-button.ico--goutte .wp-block-button__link::before {
  --dp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.7S6 9.5 6 13.4a6 6 0 0 0 12 0C18 9.5 12 2.7 12 2.7z'/%3E%3C/svg%3E");
}
.wp-block-button.ico--ciseaux .wp-block-button__link::before {
  --dp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='6' r='3'/%3E%3Ccircle cx='6' cy='18' r='3'/%3E%3Cpath d='M20 4 8.12 15.88M14.47 14.48 20 20M8.12 8.12 12 12'/%3E%3C/svg%3E");
}
.wp-block-button.ico--colis .wp-block-button__link::before {
  --dp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='20' height='13' rx='2'/%3E%3Cpath d='M2 12h20M12 7v13'/%3E%3C/svg%3E");
}
.wp-block-button.ico--fleche .wp-block-button__link::before {
  --dp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
}

/* --- Badges du hero : petites pastilles avec icône ---------------------- */
.wp-block-list.badges { list-style: none; display: flex; flex-wrap: wrap; gap: 10px; padding: 0; margin: 0; }
.wp-block-list.badges li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  box-shadow: var(--sh-sm);
  border: 1px solid var(--line-soft);
  padding: 9px 16px;
  border-radius: var(--r-pill);
  font-size: .85rem;
  font-weight: 600;
  color: var(--ink);
}
.wp-block-list.badges li::before {
  content: "";
  width: 15px;
  height: 15px;
  flex: none;
  background-color: var(--accent2);
  --dp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
  -webkit-mask: var(--dp-ico) center / contain no-repeat;
          mask: var(--dp-ico) center / contain no-repeat;
}
.wp-block-list.badges li:nth-child(1)::before {
  --dp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E");
}
.wp-block-list.badges li:nth-child(2)::before {
  --dp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 3'/%3E%3C/svg%3E");
}

/* --- Indicateur ouvert / fermé ------------------------------------------ */
[data-open-status] { font-weight: 700; }
[data-open-status]:empty { display: none; }


/* --- Icônes supplémentaires (voir la bibliothèque dans blocks.css) ------ */
.wp-block-button.ico--maison .wp-block-button__link::before{--dp-ico:var(--ico-maison)}
.wp-block-button.ico--cintre .wp-block-button__link::before{--dp-ico:var(--ico-cintre)}
.wp-block-button.ico--fer .wp-block-button__link::before{--dp-ico:var(--ico-fer)}
.wp-block-button.ico--machine .wp-block-button__link::before{--dp-ico:var(--ico-machine)}
.wp-block-button.ico--vetement .wp-block-button__link::before{--dp-ico:var(--ico-vetement)}
.wp-block-button.ico--sac .wp-block-button__link::before{--dp-ico:var(--ico-sac)}
.wp-block-button.ico--etoile .wp-block-button__link::before{--dp-ico:var(--ico-etoile)}
.wp-block-button.ico--euro .wp-block-button__link::before{--dp-ico:var(--ico-euro)}
.wp-block-button.ico--camion .wp-block-button__link::before{--dp-ico:var(--ico-camion)}
.wp-block-button.ico--feuille .wp-block-button__link::before{--dp-ico:var(--ico-feuille)}

/* --- Badges : icone choisie par classe ico--<nom> sur la puce ----------- */
.wp-block-list.badges li.ico--maison::before{--dp-ico:var(--ico-maison)}
.wp-block-list.badges li.ico--cintre::before{--dp-ico:var(--ico-cintre)}
.wp-block-list.badges li.ico--fer::before{--dp-ico:var(--ico-fer)}
.wp-block-list.badges li.ico--machine::before{--dp-ico:var(--ico-machine)}
.wp-block-list.badges li.ico--vetement::before{--dp-ico:var(--ico-vetement)}
.wp-block-list.badges li.ico--sac::before{--dp-ico:var(--ico-sac)}
.wp-block-list.badges li.ico--etoile::before{--dp-ico:var(--ico-etoile)}
.wp-block-list.badges li.ico--euro::before{--dp-ico:var(--ico-euro)}
.wp-block-list.badges li.ico--camion::before{--dp-ico:var(--ico-camion)}
.wp-block-list.badges li.ico--feuille::before{--dp-ico:var(--ico-feuille)}
.wp-block-list.badges li.ico--agenda::before{--dp-ico:var(--ico-agenda)}
.wp-block-list.badges li.ico--tel::before{--dp-ico:var(--ico-tel)}
.wp-block-list.badges li.ico--mail::before{--dp-ico:var(--ico-mail)}
.wp-block-list.badges li.ico--pin::before{--dp-ico:var(--ico-pin)}
.wp-block-list.badges li.ico--horloge::before{--dp-ico:var(--ico-horloge)}
.wp-block-list.badges li.ico--check::before{--dp-ico:var(--ico-check)}
.wp-block-list.badges li.ico--goutte::before{--dp-ico:var(--ico-goutte)}
.wp-block-list.badges li.ico--ciseaux::before{--dp-ico:var(--ico-ciseaux)}
.wp-block-list.badges li.ico--colis::before{--dp-ico:var(--ico-colis)}
.wp-block-list.badges li.ico--fleche::before{--dp-ico:var(--ico-fleche)}

/* --- Icones supplementaires : boutons et badges ------------------------- */
.wp-block-button.ico--parking .wp-block-button__link::before{--dp-ico:var(--ico-parking)}
.wp-block-list.badges li.ico--parking::before{--dp-ico:var(--ico-parking)}
.wp-block-button.ico--voiture .wp-block-button__link::before{--dp-ico:var(--ico-voiture)}
.wp-block-list.badges li.ico--voiture::before{--dp-ico:var(--ico-voiture)}
.wp-block-button.ico--bus .wp-block-button__link::before{--dp-ico:var(--ico-bus)}
.wp-block-list.badges li.ico--bus::before{--dp-ico:var(--ico-bus)}
.wp-block-button.ico--cb .wp-block-button__link::before{--dp-ico:var(--ico-cb)}
.wp-block-list.badges li.ico--cb::before{--dp-ico:var(--ico-cb)}
.wp-block-button.ico--bouclier .wp-block-button__link::before{--dp-ico:var(--ico-bouclier)}
.wp-block-list.badges li.ico--bouclier::before{--dp-ico:var(--ico-bouclier)}
.wp-block-button.ico--chrono .wp-block-button__link::before{--dp-ico:var(--ico-chrono)}
.wp-block-list.badges li.ico--chrono::before{--dp-ico:var(--ico-chrono)}
.wp-block-button.ico--aiguille .wp-block-button__link::before{--dp-ico:var(--ico-aiguille)}
.wp-block-list.badges li.ico--aiguille::before{--dp-ico:var(--ico-aiguille)}
.wp-block-button.ico--bouton .wp-block-button__link::before{--dp-ico:var(--ico-bouton)}
.wp-block-list.badges li.ico--bouton::before{--dp-ico:var(--ico-bouton)}
.wp-block-button.ico--metre .wp-block-button__link::before{--dp-ico:var(--ico-metre)}
.wp-block-list.badges li.ico--metre::before{--dp-ico:var(--ico-metre)}
.wp-block-button.ico--lit .wp-block-button__link::before{--dp-ico:var(--ico-lit)}
.wp-block-list.badges li.ico--lit::before{--dp-ico:var(--ico-lit)}
.wp-block-button.ico--etiquette .wp-block-button__link::before{--dp-ico:var(--ico-etiquette)}
.wp-block-list.badges li.ico--etiquette::before{--dp-ico:var(--ico-etiquette)}
.wp-block-button.ico--thermometre .wp-block-button__link::before{--dp-ico:var(--ico-thermometre)}
.wp-block-list.badges li.ico--thermometre::before{--dp-ico:var(--ico-thermometre)}
.wp-block-button.ico--info .wp-block-button__link::before{--dp-ico:var(--ico-info)}
.wp-block-list.badges li.ico--info::before{--dp-ico:var(--ico-info)}
.wp-block-button.ico--question .wp-block-button__link::before{--dp-ico:var(--ico-question)}
.wp-block-list.badges li.ico--question::before{--dp-ico:var(--ico-question)}
.wp-block-button.ico--cadeau .wp-block-button__link::before{--dp-ico:var(--ico-cadeau)}
.wp-block-list.badges li.ico--cadeau::before{--dp-ico:var(--ico-cadeau)}
.wp-block-button.ico--equipe .wp-block-button__link::before{--dp-ico:var(--ico-equipe)}
.wp-block-list.badges li.ico--equipe::before{--dp-ico:var(--ico-equipe)}
.wp-block-button.ico--acces .wp-block-button__link::before{--dp-ico:var(--ico-acces)}
.wp-block-list.badges li.ico--acces::before{--dp-ico:var(--ico-acces)}
.wp-block-button.ico--instagram .wp-block-button__link::before{--dp-ico:var(--ico-instagram)}
.wp-block-list.badges li.ico--instagram::before{--dp-ico:var(--ico-instagram)}
.wp-block-button.ico--facebook .wp-block-button__link::before{--dp-ico:var(--ico-facebook)}
.wp-block-list.badges li.ico--facebook::before{--dp-ico:var(--ico-facebook)}
