.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-6.el-is-editing{--global-sol-color-base-font:#000000;--global-sol-color-heading:#3E3E3E;--global-sol-color-link-button-initial:#1D70DB;--global-sol-color-link-button-hover:#1D70DB;--global-sol-color-button-initial:#1D70DB;--global-sol-color-button-hover:#1D70DB;--global-sol-color-selection-initial:#FF9500;--global-sol-color-selection-high:#FF9500;--global-sol-color-border:#DEDEDE;--global-sol-color-background:#EBEBEB;--global-sol-color-page-title-text:#FFFFFF;--global-sol-color-page-title-background:#000F44;--global-sol-color-bg-menu-dropdown:#DEDEDE;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --mh-primary:#080C39; --mh-primary-hover:#22264E; --mh-primary-active:#04071F; --mh-accent:#D4B589; --mh-accent-hover:#B09672; --mh-accent-deep:#C09353; --mh-bg-cream:#FAF6F0; --mh-bg-ivory:#FFFDF9; --mh-surface:#FFFFFF; --mh-text-strong:#080808; --mh-text-body:#494949; --mh-text-muted:#7A6E62; --mh-text-excerpt:rgba(8,12,57,0.55); --mh-text-on-dark:#FAFAFA; --mh-text-on-dark-soft:#F5F5F5; --mh-border-on-dark:#979797; --mh-divider-on-dark:#434565; --mh-divider-on-cream:rgba(250,246,240,0.2); --mh-border-light:#CCCCCC; --mh-overlay:rgba(8,8,8,0.4); --mh-error:#A83232; --mh-success:#2F6B4F; --mh-font-heading:Cormorant; --mh-font-body:Jost; --mh-fs-display:clamp(44px, 3.2vw + 26px, 72px); --mh-fs-h2:clamp(38px, 2.4vw + 24px, 60px); --mh-fs-h2-sm:clamp(34px, 2vw + 22px, 52px); --mh-fs-h3:clamp(24px, 0.45vw + 21px, 28px); --mh-fs-h4:clamp(26px, 1.1vw + 19px, 36px); --mh-fs-xl:22px; --mh-fs-lg:20px; --mh-fs-md:18px; --mh-fs-base:16px; --mh-fs-sm:14px; --mh-fs-xs:12px; --mh-gutter:clamp(16px, 4.44vw, 64px); --mh-section-y:clamp(64px, 7.8vw, 112px); --mh-container:1312px; --mh-primary-subtle:#F3F3F5; --mh-border-input:#EADBC5; --mh-navy-deep:#112250; }
/* Start custom CSS *//* Maison Harri — règles globales non exposées dans les contrôles V4.
   Les images et couleurs (logo et treillis du chargement, logo circulaire, voile du héro, voile des cartes) se règlent dans l'éditeur, onglet Style de chaque élément ; la couleur marine profonde est la variable globale mh-navy-deep. Ici ne restent que les animations et comportements. */

/* Accueil : animation de chargement (Figma page-reload-animation, Desktop 1, 4, 5) : logo et treillis, barre de chargement de gauche à droite, losange marine qui s'ouvre depuis le centre, puis fondu vers le site entier. Dimensions proportionnelles à l'écran (identiques à la maquette en 1440 x 900) */
@keyframes mh-fade-out { from { opacity: 1; } to { opacity: 0; visibility: hidden; } }
@keyframes mh-lockup { 0% { opacity: 0; transform: translateY(8px); } 100% { opacity: 1; transform: none; } }
@keyframes mh-line { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes mh-diamond { from { transform: scale(0.032, 0.018) rotate(45deg); } to { transform: scale(37, 21) rotate(45deg); } }
/* NB : sur l'accueil, ces durées sont remplacées (animation raccourcie à ~2,1 s, une fois par visite) par le plugin maison-harri-scripts (wp_head, section 4). */
[data-interaction-id="7877c995"] { height: 100dvh !important; pointer-events: none; animation: mh-fade-out 0.8s cubic-bezier(0.4, 0, 0.2, 1) 3.2s both; }
[data-interaction-id="7877c995"]::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse 50vw 57vh at 50% 50%, rgba(17,34,80,0) 0%, rgba(9,13,57,0.75) 100%); }
[data-interaction-id="c0d635c"] { animation: mh-lockup 0.6s ease-out 0.1s both, mh-fade-out 0.4s ease-in 2.2s forwards; }
[data-interaction-id="7eacd87"] { width: min(400px, 72vw) !important; height: auto !important; aspect-ratio: 400 / 412; }
[data-interaction-id="54fe9369"] { width: min(201px, 36vw) !important; margin-block-start: min(46px, 8vw) !important; }
[data-interaction-id="5656422f"] { transform-origin: 0% 50%; animation: mh-line 1.4s cubic-bezier(0.65, 0, 0.35, 1) 0.6s both; }
[data-interaction-id="21317c7f"] { transform-origin: 50% 50%; animation: mh-diamond 0.9s cubic-bezier(0.55, 0, 0.75, 0.25) 2.2s both; }
@media (prefers-reduced-motion: reduce) { [data-interaction-id="7877c995"] { display: none; } }
/* Téléphone : pas d'écran d'intro (il retardait l'affichage de ~2 s pour PageSpeed mobile) ; il reste sur ordinateur et tablette */
@media (max-width: 767px) { [data-interaction-id="7877c995"] { display: none !important; } }

/* Accueil : entrées des éléments (Figma proto). Chaque élément observe sa propre position (view-timeline) et bascule quand son haut est à 250px au-dessus du bas de l'écran (quelle que soit sa hauteur, pour ne jamais laisser de page vide) ; il joue alors son entrée en 0,9 s. Ordinateur : mouvements de la maquette ; tablette : montée de 30px ; téléphone (< 768px) : pas d'animation, tout est visible tout de suite (PageSpeed mobile). Les sections passent en overflow: clip (au lieu de hidden) pour que la page reste le conteneur de défilement observé. Sans prise en charge (Firefox) ou en mouvement réduit, tout reste visible */
@supports (animation-timeline: view()) and (timeline-scope: none) { @media (prefers-reduced-motion: no-preference) and (min-width: 768px) {
html, body { overflow-x: clip; }
[data-interaction-id="325685ea"], [data-interaction-id="538b95fe"], [data-interaction-id="70837540"], [data-interaction-id="2758ab81"], [data-interaction-id="5907c98d"] { overflow: clip !important; }
@keyframes mh-i1 { from { --i1: 0; } to { --i1: 1; } }
@keyframes mh-i2 { from { --i2: 0; } to { --i2: 1; } }
@keyframes mh-i4 { from { --i4: 0; } to { --i4: 1; } }
@keyframes mh-i5 { from { --i5: 0; } to { --i5: 1; } }
@keyframes mh-i6 { from { --i6: 0; } to { --i6: 1; } }
@keyframes mh-i7 { from { --i7: 0; } to { --i7: 1; } }
@keyframes mh-i8 { from { --i8: 0; } to { --i8: 1; } }
@keyframes mh-i9 { from { --i9: 0; } to { --i9: 1; } }
@keyframes mh-i10 { from { --i10: 0; } to { --i10: 1; } }
@keyframes mh-i11 { from { --i11: 0; } to { --i11: 1; } }
@keyframes mh-i12 { from { --i12: 0; } to { --i12: 1; } }
[data-interaction-id="72fb94b1"] { view-timeline: --v1 block; }
[data-interaction-id="5663cd3b"] { view-timeline: --v2 block; }
[data-interaction-id="25203fa1"] { view-timeline: --v4 block; }
[data-interaction-id="12299f78"] { view-timeline: --v5 block; }
[data-interaction-id="1a161ece"] { view-timeline: --v6 block; }
[data-interaction-id="661b20f0"] { view-timeline: --v7 block; }
[data-interaction-id="4377d276"] { view-timeline: --v8 block; }
[data-interaction-id="75854318"] { view-timeline: --v9 block; }
[data-interaction-id="2af806a9"] { view-timeline: --v10 block; }
[data-interaction-id="661ede1c"] { view-timeline: --v11 block; }
[data-interaction-id="66eb5384"] { view-timeline: --v12 block; }
[data-interaction-id="516bc5e2"] { timeline-scope: --v1, --v2; animation: mh-i1 linear both, mh-i2 linear both; animation-timeline: --v1, --v2; animation-range: entry 0px entry 500px; }
[data-interaction-id="538b95fe"] { timeline-scope: --v4, --v5, --v6; animation: mh-i4 linear both, mh-i5 linear both, mh-i6 linear both; animation-timeline: --v4, --v5, --v6; animation-range: entry 0px entry 500px; }
[data-interaction-id="383f02a0"] { timeline-scope: --v7, --v8; animation: mh-i7 linear both, mh-i8 linear both; animation-timeline: --v7, --v8; animation-range: entry 0px entry 500px; }
[data-interaction-id="768c7072"] { timeline-scope: --v9, --v10; animation: mh-i9 linear both, mh-i10 linear both; animation-timeline: --v9, --v10; animation-range: entry 0px entry 500px; }
[data-interaction-id="337c02df"] { timeline-scope: --v11, --v12; animation: mh-i11 linear both, mh-i12 linear both; animation-timeline: --v11, --v12; animation-range: entry 0px entry 500px; }
[data-interaction-id="72fb94b1"], [data-interaction-id="5663cd3b"], [data-interaction-id="6662aa1f"], [data-interaction-id="25203fa1"], [data-interaction-id="12299f78"], [data-interaction-id="661b20f0"], [data-interaction-id="4377d276"], [data-interaction-id="75854318"], [data-interaction-id="2af806a9"], [data-interaction-id="661ede1c"], [data-interaction-id="66eb5384"], [data-interaction-id="6bfd237c"] { opacity: 0; translate: 0 30px; transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1), translate 0.9s linear(0, 0.120 2%, 0.230 4%, 0.329 6%, 0.417 8%, 0.494 10%, 0.592 13%, 0.671 16%, 0.752 20%, 0.813 24%, 0.859 28%, 0.901 33%, 0.930 38%, 0.955 44%, 0.972 50%, 0.993 65.6%, 1 65.6%, 1); }
/* Glissement : même courbe que cubic-bezier(0.16, 1, 0.3, 1) (écart < 0,3px sur 90px), mais l'élément se pose exactement à 65,6 % du temps au lieu de ramper sur les derniers pixels pendant ~0,4 s. Pendant cette fin, le texte était rendu à une position fractionnaire (flou, il paraissait plus gras), puis redevenait net d'un coup. L'image de 560px (72fb94b1) garde la courbe d'origine : à cette distance le saut se verrait */
[data-interaction-id="72fb94b1"] { transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1), translate 0.9s cubic-bezier(0.16, 1, 0.3, 1); }
[data-interaction-id="1a161ece"] { filter: opacity(0); translate: 0 30px; transition: filter 0.9s cubic-bezier(0.16, 1, 0.3, 1), translate 0.9s cubic-bezier(0.16, 1, 0.3, 1); }
[data-interaction-id="66eb5384"] { translate: 60px 0; }
@media (min-width: 1025px) {
[data-interaction-id="72fb94b1"] { translate: 560px 0; }
[data-interaction-id="5663cd3b"], [data-interaction-id="6662aa1f"] { translate: -90px 0; }
[data-interaction-id="12299f78"] { translate: 20px 0; }
[data-interaction-id="1a161ece"] { translate: 20px 40px; }
[data-interaction-id="66eb5384"] { translate: 225px 0; }
[data-interaction-id="5663cd3b"], [data-interaction-id="12299f78"], [data-interaction-id="4377d276"], [data-interaction-id="2af806a9"], [data-interaction-id="66eb5384"] { transition-delay: 0.1s; }
[data-interaction-id="6662aa1f"], [data-interaction-id="6bfd237c"] { transition-delay: 0.2s; }
}
@container style(--i1: 1) { [data-interaction-id="72fb94b1"], [data-interaction-id="6662aa1f"] { opacity: 1; translate: none; } }
@container style(--i2: 1) { [data-interaction-id="5663cd3b"] { opacity: 1; translate: none; } }
@container style(--i4: 1) { [data-interaction-id="25203fa1"] { opacity: 1; translate: none; } }
@container style(--i5: 1) { [data-interaction-id="12299f78"] { opacity: 1; translate: none; } }
@container style(--i6: 1) { [data-interaction-id="1a161ece"] { filter: none; translate: none; } }
@container style(--i7: 1) { [data-interaction-id="661b20f0"] { opacity: 1; translate: none; } }
@container style(--i8: 1) { [data-interaction-id="4377d276"] { opacity: 1; translate: none; } }
@container style(--i9: 1) { [data-interaction-id="75854318"] { opacity: 1; translate: none; } }
@container style(--i10: 1) { [data-interaction-id="2af806a9"] { opacity: 1; translate: none; } }
@container style(--i11: 1) { [data-interaction-id="661ede1c"] { opacity: 1; translate: none; } }
/* Flèches + « Voir les propriétés » (6bfd237c) : entrent avec les cartes, pas quand leur propre haut atteint l'écran (elles arrivaient après la section, note H2 du designer) */
@container style(--i12: 1) { [data-interaction-id="66eb5384"], [data-interaction-id="6bfd237c"] { opacity: 1; translate: none; } }
} }

/* Navigation collante (Figma sticky-navbar, déclencheur « On drag » du proto) : liée au défilement de 0 à 300px. L'en-tête complet reste en place (il glisse de +106px et compense le défilement) et disparaît dans les ~70 premiers pixels ; ensuite seulement la pilule arrive (90 → 210px) et le logo circulaire remonte de sous le logo, pour ne jamais superposer les deux menus ; son texte tourne */
@keyframes mh-spin { to { transform: rotate(360deg); } }
@keyframes mh-hd-out { 0% { opacity: 1; transform: none; pointer-events: auto; } 23% { opacity: 0; pointer-events: none; visibility: hidden; } 100% { opacity: 0; transform: translate(106px, 325px); pointer-events: none; visibility: hidden; } }
@keyframes mh-sn-pill { 0%, 30% { opacity: 0; transform: translate(-106px, -25px); pointer-events: none; animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); } 70%, 100% { opacity: 1; transform: none; pointer-events: auto; } }
@keyframes mh-sn-logo { 0%, 30% { opacity: 0; transform: translate(-122px, 114px); pointer-events: none; animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); } 70%, 100% { opacity: 1; transform: none; pointer-events: auto; } }
[data-interaction-id="270e8614"] { visibility: hidden; pointer-events: none; }
@supports (animation-timeline: scroll()) { @media (min-width: 1280px) {
[data-interaction-id="270e8614"] { visibility: visible; }
[data-interaction-id="3cca62e1"] { background-color: transparent; }
[data-interaction-id="7006342b"], [data-interaction-id="7d7474c6"] { animation: mh-hd-out linear both; animation-timeline: scroll(root); animation-range: 0px 300px; }
[data-interaction-id="3015f8d"] { animation: mh-sn-pill linear both; animation-timeline: scroll(root); animation-range: 0px 300px; }
[data-interaction-id="6534040a"] { animation: mh-sn-logo linear both; animation-timeline: scroll(root); animation-range: 0px 300px; }
} }
[data-interaction-id="1dbf5e9a"] { animation: mh-spin 20s linear infinite; }
.elementor-89 .elementor-element.elementor-element-18f0f27a .elementor-nav-menu--main > .elementor-nav-menu > li:not(:last-child) { margin-inline-end: 31px !important; }
.elementor-89 .elementor-element.elementor-element-18f0f27a .elementor-nav-menu--main > .elementor-nav-menu > li:nth-child(4) { margin-inline-end: 190px !important; }
.elementor-89 .elementor-element.elementor-element-18f0f27a .elementor-nav-menu--main .elementor-item { letter-spacing: -0.1px !important; }
@media (max-width: 1279px) { [data-interaction-id="270e8614"] { display: none; } }
@media (prefers-reduced-motion: reduce) { [data-interaction-id="1dbf5e9a"] { animation: none; } }
/* En-tête entre 1025 et 1279px : menu complet resserré pour tenir sur une ligne avec le sélecteur de langue */
@media (min-width: 1025px) and (max-width: 1279px) {
.elementor-89 .elementor-element.elementor-element-52ea5d37 .elementor-nav-menu--main > .elementor-nav-menu > li:not(:last-child) { margin-inline-end: 22px !important; }
.elementor-89 .elementor-element.elementor-element-52ea5d37 .elementor-nav-menu--main .elementor-item { font-size: 13px !important; }
[data-interaction-id="7d7474c6"] { gap: 24px !important; padding-inline: 24px !important; }
}
/* Menus de l'en-tête et de la pilule : toujours sur une ligne (l'entrée active, plus grasse, faisait passer « Contact » à la ligne, masqué dans la pilule) */
.elementor-89 .elementor-nav-menu--main > .elementor-nav-menu { flex-wrap: nowrap !important; }
.elementor-89 .elementor-nav-menu--main .elementor-item { white-space: nowrap; }
/* Menus de l'en-tête et de la pilule : le souligné or grandit de gauche à droite au survol (la page active reste soulignée) */
.elementor-89 .elementor-nav-menu--main .elementor-item:after { opacity: 1 !important; left: 0 !important; width: 100% !important; transform: scaleX(0); transform-origin: 0% 50%; transition: transform 0.35s cubic-bezier(0.65, 0, 0.35, 1) !important; }
.elementor-89 .elementor-nav-menu--main .elementor-item:hover:after, .elementor-89 .elementor-nav-menu--main .elementor-item:focus-visible:after, .elementor-89 .elementor-nav-menu--main .elementor-item.highlighted:after, .elementor-89 .elementor-nav-menu--main .elementor-item.elementor-item-active:after { transform: scaleX(1); }
/* Articles, catégories et étiquettes de La Revue : « Patrimoine & Art de vivre » (entrée 79, page des articles) affichée comme page courante, comme sur la maquette. WordPress lui donne current_page_parent, mais aussi sur les fiches propriété (bizarrerie des types personnalisés) : on cible donc la classe du body, pas cette classe */
body:is(.single-post, .category, .tag) .elementor-89 .elementor-nav-menu--main .menu-item-79 > a.elementor-item { color: var(--mh-accent) !important; font-weight: 600 !important; }
body:is(.single-post, .category, .tag) .elementor-89 .elementor-nav-menu--main .menu-item-79 > a.elementor-item:after { transform: scaleX(1); }

/* Recherche du héro (Figma proto) : listes déroulantes = accordéon « un seul ouvert » (classes globales mh-dd-*). Les options Localisation, Type de bien et Chambre min sont les mêmes composants que la sidebar de /proprietes/ (« Filtre — … (options) ») : une seule source. Ici : cases cochées or, pastille rouge (#E51717, liseré blanc qui coupe le trait de l'icône) quand un filtre est choisi. Le comportement (sous-zones, recherche, fermeture au clic extérieur) est dans l'extension maison-harri-scripts (js/mh-1-filtres.js) */
[data-interaction-id="2591cec6"] { position: relative; z-index: 5; }
[data-interaction-id="2591cec6"] summary { list-style: none; }
[data-interaction-id="2591cec6"] summary::-webkit-details-marker { display: none; }
[data-interaction-id="2591cec6"] input[type="checkbox"]:checked, body .elementor [data-interaction-id="1e5698f4"] input[type="checkbox"]:checked { background-color: var(--mh-accent) !important; border-color: var(--mh-accent) !important; }
[data-interaction-id="2591cec6"] details.has-value .mh-dd-title-row .mh-dd-icon::after { content: ""; position: absolute; inset-block-start: 0px; inset-inline-end: -1px; width: 7px; height: 7px; border-radius: 50%; background-color: #E51717; box-shadow: 0 0 0 1.5px var(--mh-surface); }
/* Localisation (héro et sidebar) : le chevron n'apparaît que sur les zones qui ont des sous-zones avec des biens. Masqué d'emblée (dès l'affichage, sans attendre le script que Seraphinite diffère) pour les zones qui n'en ont pas aujourd'hui (Val-de-Marne, Yvelines, Monaco, Genève, France : Lille n'a pas encore de bien). mh-1-filtres.js corrige ensuite d'après WordPress : mh-has-sub l'affiche, mh-no-sub le masque. Si une zone gagne ou perd ses sous-zones, mettre cette liste à jour. visibility et non display : les libellés restent alignés */
body .elementor div:has(> input[name="localisation"]:is([value="val-de-marne"], [value="yvelines"], [value="monaco"], [value="geneve"], [value="france"])) > .e-svg-base:not(.mh-has-sub), body .elementor .e-svg-base.mh-no-sub { visibility: hidden; }
/* Champs min / max (héro et sidebar de /proprietes/, classes mh-dd-field*) : étiquette flottante et bordure or une fois remplis, sans flèches numériques */
.mh-dd-field:has(input:not(:placeholder-shown)), .mh-dd-field:focus-within { border-color: var(--mh-accent); }
.mh-dd-field:has(input:not(:placeholder-shown)) .mh-dd-field-label { opacity: 1; }
.mh-dd-field:has(input:not(:placeholder-shown)) .mh-dd-field-input { padding-block-start: 14px; }
.mh-dd-field-input { outline: none; -moz-appearance: textfield; }
.mh-dd-field-input::-webkit-outer-spin-button, .mh-dd-field-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Catalogue /proprietes/ : pagination (Figma nos-biens). Les numéros de page sont ajoutés par mh-1-filtres.js (div.mh-pages) au centre ; page active = carré or ; « Précédent » / « Suivant » grisés et sans trait quand indisponibles ; flèche après « Suivant » */
[data-interaction-id="5f571a5"] { position: relative; }
/* Filet au-dessus de la pagination : gris #D1D5DB de la maquette, comme Sélection privée et La Revue (il était beige #EADBC5) */
body .elementor [data-interaction-id="5f571a5"] { border-top-color: #D1D5DB; }
[data-interaction-id="5f571a5"] .mh-pages { position: absolute; inset-inline-start: 50%; translate: -50% 0; display: flex; gap: 12px; align-items: center; }
[data-interaction-id="5f571a5"] .mh-page { display: inline-flex; width: 36px; height: 36px; align-items: center; justify-content: center; font-family: var(--mh-font-body); font-size: 14px; line-height: 1; color: var(--mh-primary); text-decoration: none; transition: background-color 0.25s, color 0.25s; }
[data-interaction-id="5f571a5"] a.mh-page:hover { background-color: var(--mh-bg-cream); }
[data-interaction-id="5f571a5"] .mh-page.is-current { background-color: var(--mh-accent); color: var(--mh-surface); font-weight: 500; }
[data-interaction-id="5f571a5"] .e--disabled { border-color: transparent !important; pointer-events: none; }
[data-interaction-id="5f571a5"] .e--disabled span { color: #D1D5DB !important; }
[data-interaction-id="70351dc"]::after { content: ""; flex: 0 0 16px; width: 16px; height: 16px; background-color: currentColor; color: var(--mh-primary); -webkit-mask: url("/wp-content/uploads/2026/10/icon-arrow-right-white.svg") center / 16px 16px no-repeat; mask: url("/wp-content/uploads/2026/10/icon-arrow-right-white.svg") center / 16px 16px no-repeat; }
[data-interaction-id="70351dc"].e--disabled::after { color: #D1D5DB; }
@media (max-width: 767px) { [data-interaction-id="5f571a5"] .mh-pages { gap: 4px; } [data-interaction-id="5f571a5"] .mh-page { width: 30px; height: 30px; } }

/* Composant "Carrousel propriétés" : défilement horizontal sans barre, avec aimantation (les éléments de la boucle ont des id générés : cibler leurs classes de style) */
[data-interaction-id="66eb5384"] { scrollbar-width: none; scroll-snap-type: x mandatory; scroll-padding-inline: var(--mh-gutter); }
[data-interaction-id="66eb5384"]::-webkit-scrollbar { display: none; }
[data-interaction-id="66eb5384"] .e-598c03eb-bd25 { scroll-snap-align: start; }
/* Carte propriété : survol (Figma proto) : voile marine en produit sur la photo et bouton « Voir les détails » (couleur du voile : onglet Style de l'élément hc-tint) */
.e-465a6db2-fa2b { mix-blend-mode: multiply; pointer-events: none; }
.e-47b04882-b759 { pointer-events: none; }
.e-7ca0ebd5-5408:hover .e-465a6db2-fa2b, .e-7ca0ebd5-5408:focus-visible .e-465a6db2-fa2b { opacity: 0.65; }
.e-7ca0ebd5-5408:hover .e-47b04882-b759, .e-7ca0ebd5-5408:focus-visible .e-47b04882-b759 { opacity: 1; }
/* Boutons « Voir les détails » (carte propriété et carte article) : largeur ajustée au texte, centrés */
.e-6055d035-9c9e, .e-18d52826-63f0 { width: max-content !important; }

/* Composant "Carte article" : extrait limité à 3 lignes avec points de suspension (Figma) */
[data-interaction-id="1204f4fb"] { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; max-height: none !important; }

/* Formulaires sur fond clair : couleur des placeholders (Figma #6B7280) */
body .elementor .e-form-input-base::placeholder, body .elementor .e-form-textarea-base::placeholder { color: #6B7280; opacity: 1; }
/* Formulaire newsletter (footer, fond marine) */
body .elementor footer .e-form-input-base::placeholder { color: var(--mh-text-on-dark-soft); opacity: 1; }
/* Newsletter : chevron sur Civilité, flèche sur Confirmer (Figma) */
footer select { appearance: none !important; -webkit-appearance: none !important; background-image: url("/wp-content/uploads/2026/10/chevron-white.svg") !important; background-repeat: no-repeat !important; background-position: right 14px center !important; background-size: 20px 20px !important; }
footer select option { color: var(--mh-text-strong); }
footer button[type="submit"]::after { content: ""; flex: 0 0 24px; width: 24px; height: 24px; margin-inline-start: 8px; background: url("/wp-content/uploads/2026/10/icon-arrow-right-white.svg") center / 24px 24px no-repeat; }

/* Contact (accueil) : cases à cocher sur fond clair, cochée = or ; astérisque obligatoire en rouge */
#contact .e-form-checkbox-base:checked { background-color: var(--mh-accent); border-color: var(--mh-accent-hover); }
#contact label strong { color: var(--mh-error); font-weight: inherit; }
#contact .e-form-textarea-base { resize: none; }

/* Cartes de choix (radio invisible couvrant la carte) : Votre projet, Consultation privée, Fiche propriété */
.e-con:has(> input[type="radio"]:checked) { border-color: var(--mh-accent) !important; background-color: var(--mh-bg-cream) !important; }
.e-con:has(> input[type="radio"]:focus-visible) { outline: 2px solid var(--mh-accent); outline-offset: 2px; }

/* Icônes Tabler (contour) : le widget SVG force fill=currentColor */
svg.icon-tabler { fill: none; }
/* Réseaux sociaux du pied de page (icônes Figma au trait) : même correction */
[data-interaction-id="7e56ff06"] svg { fill: none; }

/* Liens dans les textes (paragraphes, titres) : gardent la couleur du texte au survol (le thème Solace les passait en bleu) */
body .elementor .e-paragraph-base a:hover, body .elementor .e-paragraph-base a:focus, body .elementor .e-paragraph-base a:visited, body .elementor .e-heading-base a:hover, body .elementor .e-heading-base a:focus, body .elementor .e-heading-base a:visited { color: inherit; }

/* Ancres internes : défilement doux */
html { scroll-behavior: smooth; }

/* Fiche propriété : contenu (description) issu de l'éditeur WordPress */
.elementor-widget-theme-post-content p { margin: 0 0 16px; font-family: var(--mh-font-body); font-size: 16px; line-height: 1.6; color: var(--mh-text-body); }
.elementor-widget-theme-post-content p:first-child { font-family: var(--mh-font-heading); font-style: italic; font-weight: 500; font-size: clamp(26px, 0.8vw + 20px, 34px); line-height: 1.2; color: var(--mh-primary); }

/* Thème Solace : masquer les « Related Posts » ajoutés sous les fiches propriété */
.single-propriete .related-posts { display: none !important; }

/* Bilingue FR / EN (TranslatePress) : les sélecteurs de l'en-tête et du pied de page suffisent, masquer le sélecteur flottant (id en 2.x, classe en 3.x) */
#trp-floater-ls, .trp-floating-switcher { display: none !important; }
/* En-tête : langue active en clair, l'autre atténuée (FR actif par défaut dans les styles du widget) */
html[lang^="en"] [data-interaction-id="6eb9656a"] { color: var(--mh-border-on-dark); }
html[lang^="en"] [data-interaction-id="41622dc6"] { color: var(--mh-text-on-dark); }
html[lang^="en"] [data-interaction-id="6eb9656a"]:hover, html[lang^="en"] [data-interaction-id="41622dc6"]:hover { color: var(--mh-accent); }
/* Pied de page : soulignement doré sur la langue active */
html[lang^="en"] [data-interaction-id="88e5d21"] { border-block-end-width: 0px; }
html[lang^="en"] [data-interaction-id="74e882d1"] { border-block-end: 1px solid var(--mh-accent); }

/* Contraste (PageSpeed / WCAG AA, choix validé le 2026-10-22). L'or #D4B589 et les gris clairs n'atteignent pas 4,5:1 sur fond clair :
   textes or petits → #86663A, grands titres or → #A07E4A, gris → #6A6C80 / #6B6E83 / #6F6F6F,
   DPE/GES classe D → #916320 (boutons or : texte blanc de la maquette depuis le 2026-10-31, voir plus bas). Classes relevées sur les pages en ligne.
   Liens adresse / téléphones / e-mail des bandeaux contact (Estimation, Contact, Votre projet, demande d'accès) : retirés de la liste #86663A le 2026-11-01, or #D4B589 de la maquette (choix de l'utilisateur, comme les boutons or).
   Sans !important pour les textes (les états survol / choisi des cartes, plus spécifiques, gardent la main) ; avec pour les boutons. */
body .elementor .e-29ba8b35-9613,
body .elementor .e-2c10dea8-6034,
body .elementor .e-33acdaaa-434b,
body .elementor .e-3481f73e-d01c,
body .elementor .e-384c6b70-e63e,
body .elementor .e-3a02ca0d-9700,
body .elementor .e-3d04d8a8-b73d,
body .elementor .e-3f504a46-c37a,
body .elementor .e-4068efa1-4dec,
body .elementor .e-41d1741a-eced,
body .elementor .e-4272bf09-8603,
body .elementor .e-42cd13ed-d666,
body .elementor .e-48987260-b656,
body .elementor .e-49538ce0-ddab,
body .elementor .e-49ca4210-e895,
body .elementor .e-4ab3ad36-3f02,
body .elementor .e-4b7f9302-de36,
body .elementor .e-4ca814d0-1b6d,
body .elementor .e-5709557f-6a15,
body .elementor .e-5940d6b-fa9d,
body .elementor .e-6523e834-f060,
body .elementor .e-688f048a-30a0,
body .elementor .e-6d1b3699-3236,
body .elementor .e-6ec3cbca-c452,
body .elementor .e-703ae93-9814,
body .elementor .e-7136200a-161e,
body .elementor .e-72f77f51-8eca,
body .elementor .e-763bab45-87b7,
body .elementor .e-847b32f-ca6e,
body .elementor .e-8fce52d-3392,
body .elementor .e-a45a69b-4271,
body .elementor .e-aaf811e-eda2,
body .elementor .e-ac06166-21a4,
body .elementor .e-c36e2de-c9f5 { color: #86663A; }
body .elementor .e-10a41353-214d,
body .elementor .e-112b9e81-8c51,
body .elementor .e-2d3211f7-b6a2,
body .elementor .e-4188a2b9-1ab1,
body .elementor .e-5df7d286-8cc7,
body .elementor .e-60e195f1-9034,
body .elementor .e-61d0f130-39e3,
body .elementor .e-f0287b3-b471 { color: #A07E4A; }
body .elementor .e-12f4d10a-6c02,
body .elementor .e-1a9500ca-584b,
body .elementor .e-20b48842-f8a4,
body .elementor .e-26bdc704-5ec2,
body .elementor .e-31617169-dae2,
body .elementor .e-33747440-60ab,
body .elementor .e-345a9615-9cab,
body .elementor .e-3a944531-797e,
body .elementor .e-3ba36988-5d78,
body .elementor .e-3d501bde-1bc4,
body .elementor .e-406d3868-5664,
body .elementor .e-414ad68-dd53,
body .elementor .e-43f031a1-8b02,
body .elementor .e-446562ba-8393,
body .elementor .e-464a100d-8ee7,
body .elementor .e-469e4982-b520,
body .elementor .e-488ebaee-b9c8,
body .elementor .e-48fc7016-4535,
body .elementor .e-4ed42bbb-ed6e,
body .elementor .e-50afa2b3-c046,
body .elementor .e-5932ba91-5681,
body .elementor .e-5adbb55c-b940,
body .elementor .e-5e5722ad-9999,
body .elementor .e-5ffc2db9-b654,
body .elementor .e-60d37060-eea9,
body .elementor .e-642f83d3-79da,
body .elementor .e-6699e3d2-1ac3,
body .elementor .e-6b0b2e84-28ea,
body .elementor .e-6b52f3d0-747e,
body .elementor .e-6b6704a6-678b,
body .elementor .e-736b2034-992c,
body .elementor .e-73f7cdfc-8d93,
body .elementor .e-75cb03eb-1c9e,
body .elementor .e-7c6d721b-65b9,
body .elementor .e-e5d8b35-333c { color: #6A6C80; }
body .elementor .e-3debf40d-11b4,
body .elementor .e-6c241305-9e52,
body .elementor .e-c835f4c-52f2 { color: #6B6E83; }
body .elementor .e-13710f2-a81e,
body .elementor .e-1454d7cb-6d4e,
body .elementor .e-18d43422-2f95,
body .elementor .e-1bc21f36-6c6d,
body .elementor .e-258bd3e8-7d57,
body .elementor .e-27459db1-487b,
body .elementor .e-2aaa3a87-7c9d,
body .elementor .e-32c29729-9c6f,
body .elementor .e-35b23ccc-48ef,
body .elementor .e-3754dd53-9d12,
body .elementor .e-3b993284-7216,
body .elementor .e-3fe90dd2-7c78,
body .elementor .e-413b3890-b6f2,
body .elementor .e-41b47884-9784,
body .elementor .e-44110a83-d9b7,
body .elementor .e-45a7e77b-967a,
body .elementor .e-48d3ca6c-4cd6,
body .elementor .e-4a52fc52-4d22,
body .elementor .e-51d66cd3-5ca6,
body .elementor .e-525c0ab9-ab26,
body .elementor .e-555bfca1-7edd,
body .elementor .e-585fc8df-ef93,
body .elementor .e-5ef4c178-a3f6,
body .elementor .e-5f53bdd2-52ba,
body .elementor .e-601223b1-b78d,
body .elementor .e-68386ef2-e666,
body .elementor .e-6b0fcc40-fd78,
body .elementor .e-70e52de9-ff0b,
body .elementor .e-78499c78-31b0,
body .elementor .e-7a4e9e2b-2816,
body .elementor .e-7d0002b1-f64a,
body .elementor .e-939ded1-7521,
body .elementor .e-bb1bf44-b8aa,
body .elementor .e-f840ef3-7a71 { color: #6F6F6F; }
/* Boutons or : texte blanc de la maquette (choix du 2026-10-31, à la demande du designer, notes H3/H4/P3/P6/M5) — la surcharge en marine du 2026-10-22 est retirée ; contraste blanc sur or ≈ 2:1 accepté.
   Boutons contour « Réinitialiser » (e-7d71a580-d3b3) et « Présenter mon projet » (e-6b08a6f3-bf46) : retirés de la liste #86663A ci-dessus, texte or #D4B589 de la maquette */
#mh-est-stepper > a.is-current span, #mh-est-stepper > a.is-current p { color: var(--mh-primary) !important; }
/* Pagination : numéro de la page courante en blanc sur le carré or, comme la maquette (choix du 2026-11-01, même décision que les boutons or) — partout : /proprietes/, Sélection privée, La Revue */
body .elementor .mh-page.is-current { color: var(--mh-surface) !important; }

/* Logo du pied de page (4f352811) : dessiné en fond (SVG optimisé, mis en cache une fois pour tout le site) ; l'élément pointe vers un SVG vide titré (média 759).
   Le logo de l'en-tête reste dans le HTML (version optimisée de 54 Ko, média 778) pour s'afficher en même temps que la page. */
body .elementor [data-interaction-id="4f352811"] { background: url("/wp-content/uploads/2026/10/logo-maison-harri-seal-gold-opt.svg") center / contain no-repeat; }
/* Même principe : chevaux en filigrane de /proprietes/ (modèle 260, 234cb3a5). */
body .elementor [data-interaction-id="234cb3a5"] { background: url("/wp-content/uploads/2026/10/horses-illustration-opt.svg") center / contain no-repeat; }/* End custom CSS */