/*
 * GPAT — Garde-fou contre les styles du thème WordPress.
 *
 * Ionic donne à ses composants des classes très génériques : <ion-button> porte
 * littéralement `class="button"`, que presque tous les thèmes stylent
 * (`.button { background; padding; border-radius }`). Le thème peint alors la
 * boîte hôte pendant que le vrai bouton, rendu dans le shadow DOM d'Ionic et
 * donc hors de portée du thème, reste encastré à l'intérieur.
 *
 * On neutralise la peinture du thème sur ces hôtes. Sans risque : Ionic ne
 * dessine rien sur l'hôte, tout est peint sur `.button-native` à l'intérieur.
 *
 * Volontairement NON réinitialisés, parce que l'app ou Ionic s'en servent :
 *   - height / min-height : _gpat-components.scss fixe --gpat-btn-height
 *   - margin              : posé par les écrans (admin.shared.scss, etc.)
 *   - width / display     : pilotés par Ionic pour expand="block"
 *   - font-* / text-transform / letter-spacing : hérités dans le shadow DOM
 *
 * L'ID #gpat-app-root suffit à battre n'importe quel sélecteur de classe du
 * thème, y compris ses états :hover ou :focus déclarés en !important.
 */
#gpat-app-root ion-button,
#gpat-app-root ion-back-button,
#gpat-app-root ion-menu-button,
#gpat-app-root ion-fab-button {
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  outline: none !important;
  text-decoration: none !important;
  filter: none !important;
}

/*
 * Couleur du texte et des icônes.
 *
 * Cas à part : `color` est la SEULE propriété qu'Ionic pose sur l'hôte plutôt
 * que sur `.button-native` (`:host { color: var(--color) }`), et `.button-native`
 * la reprend en `color: inherit`. Or une règle de la page l'emporte toujours sur
 * une règle `:host` du shadow DOM : un `.button { color: … }` du thème teint donc
 * le libellé ET les icônes de TOUS les boutons Ionic — la couleur d'accent du
 * thème sur l'oeil des champs de mot de passe, par exemple.
 *
 * On ne fige pas une couleur : on redéclare la valeur d'Ionic elle-même, état par
 * état, pour que `--color` et ses variantes restent la seule API de couleur des
 * boutons (survol de l'oeil, boutons `fill="clear"`, etc.).
 */
#gpat-app-root ion-button,
#gpat-app-root ion-back-button,
#gpat-app-root ion-menu-button,
#gpat-app-root ion-fab-button {
  color: var(--color) !important;
}

#gpat-app-root ion-button:hover,
#gpat-app-root ion-fab-button:hover {
  color: var(--color-hover) !important;
}

#gpat-app-root ion-button.ion-focused,
#gpat-app-root ion-fab-button.ion-focused {
  color: var(--color-focused) !important;
}

#gpat-app-root ion-button.ion-activated,
#gpat-app-root ion-fab-button.ion-activated {
  color: var(--color-activated) !important;
}
