/* Comm'une Couleur Landing Page - Resets */

*, *:before, *:after {
    box-sizing: border-box;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, blockquote, th, td {
    margin: 0;
    padding: 0;
    direction: ltr;
}

body {
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
    /* Empêche un scroll horizontal pendant les animations fadeInLeft/Right
       (translate3d ±100% temporaires) et le calque #floating-squares.
       overflow: clip est plus performant que hidden (pas de scroll container
       créé) ; fallback hidden pour Safari < 16. */
    overflow-x: hidden;
    overflow-x: clip;
}

p {
    line-height: 25px;
}



a {
    text-decoration: none;
    line-height: inherit;
    transition: opacity 0.3s ease-out;
}

iframe {
    border: 0 !important;
}


figure {
    margin: 0;
}

input, textarea {
    border: 1px solid #e1e1e1;
    padding: 10px;
    transition: border-color .3s linear, box-shadow .3s linear;
    border-radius: 3px;
}

input {
    height: 40px;
    margin: 3px 0;
    outline: none;
    line-height: normal;
    font-size: 14px;
}

input[type="submit"] {
    cursor: pointer;
    border-style: solid;
    border-width: 2px;
    padding-top: 0;
    padding-bottom: 0;
}

select {
    border: 1px solid #e1e1e1;
    height: 40px;
    padding: 5px;
}

input:focus, textarea:focus {
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* Indicateur de focus visible pour la navigation clavier (WCAG 2.4.7).
   :focus-visible évite l'outline au clic souris tout en le gardant au Tab. */
:focus {
    outline: none;
}

:focus-visible {
    outline: 2px solid #c0ae7e;
    outline-offset: 2px;
}

/* Respect des préférences utilisateur : désactive animations et transitions
   pour les personnes sensibles au mouvement (vestibulaires, migraines, …). */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

section {
    clear: both;
    overflow: hidden;
}


img {
    vertical-align: top;
}


a img {
    border: none;
    transition: opacity 0.3s ease-out;
    -webkit-backface-visibility: hidden;
}

a img:hover {
    opacity: 0.7;
}


/* Les paddings par défaut des titres sont scopés à #wrapper dans style.css.
   Ainsi un <h*> utilisé hors du flux principal (widget, page tierce…)
   ne reçoit pas de padding implicite. */
