/* Modernisation légère par-dessus le thème d'origine */
:root{--ovi-green:#68b896;--ovi-blue:#2165a5;--ovi-ink:#1e1f25;--ovi-radius:1rem;--ovi-shadow:0 10px 30px -12px rgba(30,31,37,.28)}
html{background:#fff;color-scheme:light;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{color:var(--ovi-ink);isolation:isolate}
::selection{background:var(--ovi-green);color:#fff}

/* Typographie */
h1,h2,h3{letter-spacing:-.015em;line-height:1.15;text-wrap:balance}
main p{line-height:1.7;text-wrap:pretty}
main a:not(.btn){text-underline-offset:.2em;text-decoration-thickness:1px}

/* En-tête : léger flou et dégradé pour la lisibilité sur l'image */
.header{background:linear-gradient(to bottom,rgba(20,21,26,.55),rgba(20,21,26,0))}
.header a{transition:color .25s,opacity .25s,background-color .25s,border-color .25s}

/* Boutons en pilule, relief et survol */
.btn{border-radius:999px;box-shadow:0 8px 20px -8px rgba(33,101,165,.55);transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,filter .25s}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 26px -10px rgba(33,101,165,.6);filter:brightness(1.06)}
.btn:active{transform:translateY(0)}

/* Images : angles arrondis (hors bannières plein cadre et logos) */
main img.object-cover:not(.parallax-img){border-radius:var(--ovi-radius)}
main .wp-post-image.object-cover{border-radius:0}

/* Cartes de services : lever et zoom doux au survol */
main a.group,main .group:has(> img.wp-post-image){transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
main a.group:hover{transform:translateY(-4px);box-shadow:var(--ovi-shadow)}
main a.group img{transition:transform .6s cubic-bezier(.2,.8,.2,1)}
main a.group:hover img{transform:scale(1.04)}

/* Apparition plus douce */
.animation-target{transform:translateY(24px);transition:opacity .7s ease-out,transform .7s cubic-bezier(.2,.8,.2,1)}
.animation-target.animate{transform:none}

/* Formulaires */
.wpcf7-form input[type=text],.wpcf7-form input[type=email],.wpcf7-form textarea{border-radius:.75rem;transition:border-color .2s,box-shadow .2s}
.wpcf7-form input:focus,.wpcf7-form textarea:focus{outline:none;border-color:var(--ovi-green);box-shadow:0 0 0 4px rgba(104,184,150,.25)}

/* Accessibilité */
:focus-visible{outline:3px solid var(--ovi-green);outline-offset:3px;border-radius:4px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.animation-target{opacity:1;transform:none}}

/* Contraste : gris du thème trop pâle sur fond blanc */
main .text-grey{color:#5f6672}

/* Pages intérieures : entête sombre pour garder le menu lisible */
body:not(.homepage) .header{position:relative;background:var(--ovi-ink)}
