/* Accessibilité : règles communes du front (chargées sur toutes les pages). */

/* Texte lu par les lecteurs d'écran, invisible à l'écran. */
.screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Focus clavier toujours visible sur les composants ADN. */
[class*="adncomm"] :focus-visible,
[class*="adn-"] :focus-visible,
[class*="adnsg"]:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

/*
 * Boutons ADN et style « Boutons » du kit Elementor.
 * Le kit cible `.elementor-kit-N button` (0,1,1) et ses états :hover/:focus (0,2,1).
 * D'où `body button.…` (0,1,2) et (0,2,2) ci-dessous : ces règles passent devant le kit,
 * mais restent sous les règles des widgets (un id ou deux classes).
 */

/* Bouton d'accordéon : garde l'apparence du titre qu'il remplace. */
body button.adn-accordion-trigger,
.adn-accordion-trigger {
    all: unset;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5em;
    width: 100%;
    box-sizing: border-box;
    cursor: pointer;
    font: inherit;
    color: inherit;
    text-align: inherit;
}

.adn-accordion-trigger:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

/* Boutons sans style propre (remplacent d'anciens div/span cliquables). */
body button.adn-button-reset,
.adn-button-reset {
    appearance: none;
    background: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
    margin: 0;
    font: inherit;
    text-transform: inherit;
    letter-spacing: inherit;
    word-spacing: inherit;
    text-decoration: inherit;
    text-shadow: inherit;
    color: inherit;
    text-align: inherit;
    cursor: pointer;
}

/* Survol et focus : neutralise seulement ce que le kit change à ces états. */
body button.adn-accordion-trigger:hover,
body button.adn-accordion-trigger:focus,
body button.adn-button-reset:hover,
body button.adn-button-reset:focus {
    background: none;
    border-color: transparent;
    box-shadow: none;
    color: inherit;
    text-decoration: inherit;
}

@media (prefers-reduced-motion: reduce) {
    [class*="adncomm"] *,
    [class*="adn-"] * {
        scroll-behavior: auto !important;
    }
}

/* Carte ou vidéo tierce chargée au clic. */
.adn-embed {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .5em;
    min-height: 200px;
    padding: 1em;
    background: #f2f2f2;
    color: #1a1a1a;
    text-align: center;
}

.adn-embed iframe {
    display: block;
    width: 100%;
}

.adn-embed:has(iframe) {
    padding: 0;
    background: none;
    min-height: 0;
}

.adn-embed-button {
    padding: .6em 1.2em;
    border: 2px solid currentColor;
    background: #fff;
    color: #1a1a1a;
    font: inherit;
    cursor: pointer;
}

.adn-embed-note {
    margin: 0;
    font-size: .875em;
}
