/* www.optimimmo.fr : les règles propres à la page, reprises de l’ancien site
   (12/10/2026) sans dépendance tierce. Le reste vient de tailwind.css, calculé
   une fois pour cette page. Polices servies par le site lui-même. */
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-latin.woff2) format('woff2')}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400 500;font-display:swap;src:url(/assets/playfair-italique.ttf) format('truetype')}

html{scroll-padding-top:112px;touch-action:manipulation;background:#fff}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:#fff}
a,button{-webkit-tap-highlight-color:rgba(37,99,235,.2)}
:focus-visible{outline:2px solid #2563EB;outline-offset:3px}
main:focus{outline:none}

/* Le lien d'évitement : invisible jusqu'au premier Tab. */
.evitement{position:absolute;left:16px;top:8px;z-index:10010;transform:translateY(-200%);background:#111;color:#fff;
 padding:10px 16px;border-radius:9999px;font:600 15px/1.2 'Inter',sans-serif;text-decoration:none}
.evitement:focus{transform:none}

/* Les icônes (Font Awesome Free 6.4.0, CC BY 4.0) : une ligne de haut, la couleur du texte. */
.ico{display:inline-block;height:1em;width:auto;vertical-align:-.125em;fill:currentColor;overflow:visible;flex-shrink:0}

#site{position:relative;width:100%;background-color:#fff;font-family:'Inter',sans-serif;overflow-x:hidden;z-index:1}
#site *{box-sizing:border-box}

.serif-italic{font-family:'Playfair Display',serif;font-style:italic;font-weight:400}
h1,h2,h3{letter-spacing:-.02em}
@media (prefers-reduced-motion:no-preference){
 .btn-hover{transition:transform .2s ease,box-shadow .2s ease}
 .btn-hover:hover{transform:translateY(-2px);box-shadow:0 10px 20px -10px rgba(37,99,235,.3)}
}

/* L'en-tête flottant. */
.header-container{position:fixed;top:1rem;left:0;right:0;z-index:10000;display:flex;justify-content:center;padding:0 1rem;pointer-events:none}
#main-nav{pointer-events:auto;width:100%;max-width:80rem;transition:background-color .4s ease,box-shadow .4s ease,border-color .4s ease}

/* Le menu mobile. */
#menu-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.6);backdrop-filter:blur(5px);
 -webkit-backdrop-filter:blur(5px);z-index:9998;display:none}
#mobile-menu-container{display:none;position:fixed;top:100px;left:20px;right:20px;background-color:#fff!important;z-index:10002;
 border-radius:20px;box-shadow:0 20px 50px rgba(0,0,0,.2);padding:30px;flex-direction:column;align-items:center;gap:20px;
 border:1px solid #e5e7eb;overscroll-behavior:contain}
.mobile-link{font-size:1.125rem;font-weight:600;color:#111827!important;width:100%;text-align:center;padding:10px 0;text-decoration:none;display:block}
.mobile-link:hover{color:#2563EB!important}

/* Les partenaires, fixes : le défilement automatique sans pause est retiré. */
.partenaires{list-style:none;margin:0;padding:0 1rem;display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}
@media (min-width:768px){.partenaires{gap:1.5rem}}

/* Les halos du titre : immobiles si la personne demande moins de mouvement. */
.blob{position:absolute;filter:blur(80px);z-index:0;opacity:.5;pointer-events:none}
.blob-1{top:-10%;left:-10%;width:300px;height:300px;background:rgba(37,99,235,.15)}
.blob-2{top:20%;right:-10%;width:300px;height:300px;background:rgba(254,249,195,.6)}
@media (min-width:768px){.blob-1{width:600px;height:600px}.blob-2{width:500px;height:500px}}
@media (prefers-reduced-motion:no-preference){
 .blob{animation:float 10s infinite ease-in-out}
 .blob-2{animation-delay:5s}
}
@keyframes float{0%{transform:translate(0,0) rotate(0)}33%{transform:translate(30px,-50px) rotate(10deg)}
 66%{transform:translate(-20px,20px) rotate(-5deg)}100%{transform:translate(0,0) rotate(0)}}

@media (max-width:768px){
 .section-padding{padding-left:1.5rem!important;padding-right:1.5rem!important}
 .text-balance{text-wrap:balance}
 .mobile-center{text-align:center}
}

/* Les pages de texte (mentions légales, page introuvable). */
.doc-tete{max-width:46rem;margin:0 auto;padding:28px 24px 0}
.doc-tete img{display:block;height:28px;width:auto}
.doc{max-width:46rem;margin:0 auto;padding:40px 24px 64px;color:#111;font:400 17px/1.7 'Inter',sans-serif}
.doc h1{font-size:40px;line-height:1.1;font-weight:800;margin:0 0 8px}
.doc h2{font-size:22px;line-height:1.3;font-weight:700;margin:36px 0 8px}
.doc p{margin:0 0 12px;color:#374151}
.doc a{color:#2563EB;text-underline-offset:3px}
.doc .maj{color:#4B5563;font-size:15px;margin-bottom:24px}
.doc-bouton{display:inline-flex;align-items:center;min-height:48px;padding:12px 24px;border-radius:9999px;background:#2563EB;
 color:#fff!important;font-weight:700;text-decoration:none;margin-top:16px}
.doc-bouton:hover{background:#1D4ED8}
.doc-pied{max-width:46rem;margin:0 auto;padding:24px;border-top:1px solid #E5E7EB;color:#4B5563;font:400 14px/1.6 'Inter',sans-serif}
.doc-pied a{color:#4B5563;display:inline-flex;align-items:center;min-height:44px}

/* Contrastes calculés le 12/10/2026 : le vert WhatsApp du design (#25D366, 1,98:1
   sur blanc comme sous du texte blanc) passe au vert foncé #0E7C66 (5,13:1). */
.text-whatsapp{color:#0E7C66}
.bg-whatsapp{background-color:#0E7C66}
.hover\:bg-green-600:hover{background-color:#0B5E4E}
/* Jamais « transition: all » : les seules propriétés qui bougent. */
.transition-all{transition-property:color,background-color,border-color,box-shadow,transform,opacity}
