/* =====================================================
   Homewell — Accueil Biens
   Toutes les regles sont scopees sous .hw-home pour ne pas
   toucher l'en-tete / le pied de page Houzez de la page.
===================================================== */

.hw-home {
  --bg: #FFFFFF; --bg-2: #F4F6F8; --bg-3: #FAFBFC;
  --ink: #182B39; --ink-deep: #0F2029;
  --muted: #6E727A; --muted-2: #A1A1A6;
  --line: rgba(24, 43, 57, 0.08); --line-strong: rgba(24, 43, 57, 0.18);
  --accent: #4FA8DA; --accent-hover: #3E94C9; --accent-soft: rgba(79, 168, 218, 0.12);
  --shadow-sm: 0 1px 2px rgba(24,43,57,0.04), 0 2px 8px rgba(24,43,57,0.05);
  --shadow-md: 0 6px 18px rgba(24,43,57,0.07), 0 16px 40px rgba(24,43,57,0.10);
  --shadow-lg: 0 14px 30px rgba(24,43,57,0.10), 0 30px 60px rgba(24,43,57,0.16);
  --radius-sm: 8px; --radius-md: 16px; --radius-lg: 24px; --radius-pill: 999px;
  --container: 1400px; --gutter: clamp(20px, 4vw, 48px);
  --section-y: clamp(80px, 11vw, 144px); --ease: cubic-bezier(0.22, 1, 0.36, 1);
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  background: var(--bg); color: var(--ink); line-height: 1.5; font-size: 17px;
  font-feature-settings: 'ss01','cv11'; overflow-x: hidden;
}
.hw-home *, .hw-home *::before, .hw-home *::after { box-sizing: border-box; }
.hw-home img, .hw-home svg { display: block; max-width: 100%; }
.hw-home a { color: inherit; text-decoration: none; }
.hw-home button { font: inherit; cursor: pointer; border: none; background: none; color: inherit; }
.hw-home input, .hw-home select, .hw-home textarea { font: inherit; color: inherit; }
.hw-home :focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; border-radius: 4px; }
@media (prefers-reduced-motion: reduce) {
  .hw-home *, .hw-home *::before, .hw-home *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

.hw-home .display { font-weight: 700; font-size: clamp(40px, 6vw, 84px); line-height: 1.03; letter-spacing: -0.04em; }
.hw-home .h1 { font-weight: 700; font-size: clamp(32px, 4.5vw, 60px); line-height: 1.05; letter-spacing: -0.03em; }
.hw-home .h2 { font-weight: 600; font-size: clamp(24px, 3vw, 40px); line-height: 1.1; letter-spacing: -0.02em; }
.hw-home .eyebrow-pill { display: inline-flex; align-items: center; gap: 8px; background: var(--accent-soft); color: var(--ink); padding: 8px 16px; border-radius: var(--radius-pill); font-size: 13px; font-weight: 600; }
.hw-home .eyebrow-pill .dot { width: 8px; height: 8px; background: var(--accent); border-radius: 50%; }
.hw-home .lead { font-size: clamp(18px, 1.5vw, 22px); line-height: 1.45; font-weight: 400; color: var(--muted); letter-spacing: -0.005em; }
.hw-home .accent { color: var(--accent); }
.hw-home .tnum { font-variant-numeric: tabular-nums; }
.hw-home .container { max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); position: relative; z-index: 2; }
.hw-home section { padding: var(--section-y) 0; position: relative; }

/* Buttons */
.hw-home .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 16px 30px; min-height: 54px; font-size: 16px; font-weight: 500; letter-spacing: -0.01em; border-radius: var(--radius-pill); transition: all 0.25s var(--ease); cursor: pointer; white-space: nowrap; }
.hw-home .btn svg { width: 16px; height: 16px; transition: transform 0.25s var(--ease); }
.hw-home .btn:hover svg { transform: translateX(3px); }
.hw-home .btn-accent { background: var(--accent); color: var(--ink); }
.hw-home .btn-accent:hover { background: var(--ink); color: #fff; transform: translateY(-2px); box-shadow: var(--shadow-md); }
.hw-home .btn-dark { background: var(--ink); color: #fff; }
.hw-home .btn-dark:hover { background: var(--ink-deep); transform: translateY(-2px); box-shadow: var(--shadow-md); }

/* =====================================================
   HERO LISTING
===================================================== */
.hw-home .listing-hero { position: relative; min-height: 78vh; display: flex; align-items: center; justify-content: center; text-align: center; overflow: hidden; color: #fff; padding: 140px 0 200px; }
/* Photo de fond du hero (image d'origine de la page d'accueil). */
.hw-home .listing-hero-photo { position: absolute; inset: 0; z-index: 0; background-color: #143D52; background-image: url('https://homewell.ch/immobilier/wp-content/uploads/2025/08/AdobeStock_904943778-scaled-1.jpg'); background-size: cover; background-position: center; }
.hw-home .listing-hero-photo::after { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(180deg, transparent 0 7px, rgba(255,255,255,0.012) 7px 8px); }
.hw-home .listing-hero-overlay { position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(15,32,41,0.45) 0%, rgba(15,32,41,0.2) 35%, rgba(15,32,41,0.3) 65%, rgba(15,32,41,0.6) 100%); }
.hw-home .listing-hero-content { position: relative; z-index: 3; max-width: 900px; padding: 0 var(--gutter); }
.hw-home .listing-hero .eyebrow-pill { background: rgba(255,255,255,0.12); color: #fff; border: 1px solid rgba(255,255,255,0.2); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); margin-bottom: 28px; }
.hw-home .listing-hero h1 { color: #fff; margin-bottom: 20px; text-shadow: 0 2px 30px rgba(0,0,0,0.3); }
.hw-home .listing-hero p { font-size: clamp(17px, 1.4vw, 20px); color: rgba(255,255,255,0.9); max-width: 600px; margin: 0 auto; text-shadow: 0 1px 20px rgba(0,0,0,0.3); }

/* =====================================================
   EN-TETE TRANSPARENT (uniquement sur cette page d'accueil)
   L'en-tete Elementor est superpose au hero, fond transparent,
   logo et menu en blanc. Cible par la classe de body de la page,
   donc sans effet sur le reste du site.
===================================================== */
body.page-template-template-accueil-biens .elementor-location-header { position: absolute; top: 0; left: 0; right: 0; z-index: 50; background: transparent !important; }
/* Barre d'en-tete transparente. On ne touche PAS a background-image, sinon
   les photos du sous-menu deroulant disparaissent. */
body.page-template-template-accueil-biens .elementor-location-header .e-con,
body.page-template-template-accueil-biens .elementor-location-header .e-con-inner,
body.page-template-template-accueil-biens .elementor-location-header .e-con-full { background-color: transparent !important; }
/* La barre d'en-tete a une image de fond claire qui masquerait le hero :
   on l'enleve UNIQUEMENT sur le conteneur de tete (enfant direct), pas sur
   le sous-menu deroulant imbrique, pour garder ses photos. */
body.page-template-template-accueil-biens .elementor-location-header > .e-con { background-image: none !important; }
/* Logo en blanc */
body.page-template-template-accueil-biens .elementor-location-header img { filter: brightness(0) invert(1); }
/* Liens du menu en blanc. Le menu est le widget Elementor imbrique (classes
   e-n-menu-*) ; on cible le texte et le conteneur, plus les classes du menu
   classique en repli. */
body.page-template-template-accueil-biens .elementor-location-header .e-n-menu-title-text,
body.page-template-template-accueil-biens .elementor-location-header a.e-n-menu-title-container,
body.page-template-template-accueil-biens .elementor-location-header a.e-n-menu-title-container .e-n-menu-title-text,
body.page-template-template-accueil-biens .elementor-location-header .elementor-nav-menu a,
body.page-template-template-accueil-biens .elementor-location-header .elementor-item { color: #fff !important; }
/* admin-bar : on tient compte du decalage de 32px pour l'apercu connecte */
.admin-bar.page-template-template-accueil-biens .elementor-location-header { top: 32px; }

/* Le sous-menu deroulant (.e-n-menu-content) garde son design Elementor d'origine
   (photos en fond + texte clair), il n'est pas touche par l'en-tete transparent. */

/* SEARCH CARD */
.hw-home .search-wrap { position: relative; z-index: 10; margin-top: -110px; padding: 0 var(--gutter); }
.hw-home .search-card { max-width: 1080px; margin: 0 auto; background: var(--bg); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); padding: 14px; }
.hw-home .search-tabs { display: inline-flex; gap: 4px; background: var(--bg-2); border-radius: var(--radius-pill); padding: 5px; margin: 8px 8px 14px; }
.hw-home .search-tab { padding: 9px 22px; border: none !important; border-radius: var(--radius-pill); font-size: 14px; font-weight: 600; color: var(--muted); background: transparent; transform: none !important; transition: color 0.2s var(--ease), background-color 0.2s var(--ease); }
/* Survol et focus : on neutralise le jaune et le rebond herites du theme. */
.hw-home .search-tab:hover, .hw-home .search-tab:focus, .hw-home .search-tab:focus-visible { color: var(--ink) !important; background: rgba(24,43,57,0.06) !important; box-shadow: none !important; border: none !important; outline: none !important; transform: none !important; }
.hw-home .search-tab.active { background: var(--ink) !important; color: #fff !important; box-shadow: var(--shadow-sm); }
.hw-home .search-tab.active:hover, .hw-home .search-tab.active:focus { background: var(--ink) !important; color: #fff !important; }
.hw-home .search-filters { display: grid; grid-template-columns: 1.2fr 1.2fr 1fr auto; gap: 12px; align-items: end; padding: 0 8px 8px; }
@media (max-width: 860px) { .hw-home .search-filters { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .hw-home .search-filters { grid-template-columns: 1fr; } }
.hw-home .search-field { display: flex; flex-direction: column; gap: 7px; }
.hw-home .search-field label { font-size: 11px; font-weight: 600; color: var(--muted); letter-spacing: 0.04em; text-transform: uppercase; padding-left: 4px; }
.hw-home .search-select { width: 100%; appearance: none; -webkit-appearance: none; cursor: pointer; background: var(--bg-2); border: 1px solid var(--line); color: var(--ink); padding: 15px 40px 15px 16px; font-size: 15px; font-weight: 500; border-radius: var(--radius-md); outline: none; transition: all 0.2s var(--ease); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%23182B39' stroke-width='2' opacity='0.5'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; }
.hw-home .search-select:focus { border-color: var(--accent); box-shadow: 0 0 0 4px var(--accent-soft); background-color: #fff; }
/* Variante champ texte (commune saisie au clavier, sans la fleche du select) */
.hw-home .search-text { cursor: text; background-image: none; padding-right: 16px; }
.hw-home .search-text::placeholder { color: var(--muted); opacity: 1; }
.hw-home .search-text::-webkit-calendar-picker-indicator { display: none; }

/* Autocompletion communes : menu sur mesure (remplace la liste native) */
.hw-home .hw-autocomplete { position: relative; }
.hw-home .hw-suggest { position: absolute; top: calc(100% + 6px); left: 0; right: 0; z-index: 40; margin: 0; padding: 6px; list-style: none; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-md); box-shadow: var(--shadow-md); max-height: 264px; overflow-y: auto; }
.hw-home .hw-suggest[hidden] { display: none; }
.hw-home .hw-suggest li { padding: 10px 14px; border-radius: 10px; font-size: 15px; font-weight: 500; color: var(--ink); cursor: pointer; transition: background-color 0.15s var(--ease); }
.hw-home .hw-suggest li:hover, .hw-home .hw-suggest li.active { background: var(--accent-soft); }
.hw-home .hw-suggest li b { color: var(--accent); font-weight: 700; }
.hw-home .search-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: var(--accent); color: var(--ink); padding: 16px 28px; min-height: 52px; font-size: 15px; font-weight: 600; border-radius: var(--radius-md); transition: all 0.25s var(--ease); white-space: nowrap; }
.hw-home .search-btn:hover { background: var(--ink); color: #fff; }
.hw-home .search-btn svg { width: 18px; height: 18px; }

/* =====================================================
   COUPS DE COEUR
===================================================== */
.hw-home .coups { background: var(--bg); padding-top: clamp(60px, 8vw, 110px); }
.hw-home .coups-header { text-align: center; max-width: 720px; margin: 0 auto 56px; }
.hw-home .coups-header .eyebrow-pill { margin-bottom: 20px; }
.hw-home .coups-header h2 { margin-bottom: 16px; }
.hw-home .coups-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
@media (max-width: 1000px) { .hw-home .coups-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .hw-home .coups-grid { grid-template-columns: 1fr; } }
.hw-home .coup-card { position: relative; border-radius: var(--radius-lg); overflow: hidden; aspect-ratio: 3 / 4; display: flex; align-items: flex-end; color: #fff; box-shadow: var(--shadow-sm); transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease); }
.hw-home .coup-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); }
.hw-home .coup-photo { position: absolute; inset: 0; z-index: 0; background-size: cover; background-position: center; transition: transform 0.6s var(--ease); background-color: #1C5670; background-image: linear-gradient(160deg, #2C7E96 0%, #1C5670 55%, #0E2A3A 100%); }
.hw-home .coup-card:hover .coup-photo { transform: scale(1.07); }
.hw-home .coup-overlay { position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, transparent 35%, rgba(15,32,41,0.85) 100%); }
.hw-home .coup-content { position: relative; z-index: 2; padding: 26px 24px; width: 100%; }
.hw-home .coup-name { font-size: 24px; font-weight: 700; letter-spacing: -0.02em; margin-bottom: 4px; display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
/* Force le blanc sur les cartes et tuiles quel que soit l'etat du lien
   (survol, lien deja visite), pour neutraliser la couleur de lien du theme. */
.hw-home a.coup-card, .hw-home a.coup-card:link, .hw-home a.coup-card:visited, .hw-home a.coup-card:hover, .hw-home a.coup-card:focus,
.hw-home a.region-tile, .hw-home a.region-tile:link, .hw-home a.region-tile:visited, .hw-home a.region-tile:hover, .hw-home a.region-tile:focus { color: #fff !important; }
.hw-home .coup-card:hover .coup-name, .hw-home .coup-card:visited .coup-name,
.hw-home .region-tile:hover .region-name, .hw-home .region-tile:visited .region-name { color: #fff !important; }
.hw-home .coup-tag { font-size: 14px; color: rgba(255,255,255,0.82); margin-bottom: 18px; }
.hw-home .coup-link { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: #fff; padding: 9px 16px; border: 1px solid rgba(255,255,255,0.35); border-radius: var(--radius-pill); transition: all 0.25s var(--ease); }
.hw-home .coup-link:hover { background: var(--accent); border-color: var(--accent); color: var(--ink); }
.hw-home .coup-link svg { width: 14px; height: 14px; }

/* =====================================================
   TRUST / ESTIMATION
===================================================== */
.hw-home .trust { background: var(--ink-deep); color: #fff; position: relative; overflow: hidden; }
.hw-home .trust::before { content: ''; position: absolute; top: -20%; right: -10%; width: 55%; height: 90%; background: radial-gradient(ellipse at center, rgba(13,193,219,0.14), transparent 62%); pointer-events: none; }
.hw-home .trust-top { display: grid; grid-template-columns: 1.1fr 1fr; gap: 56px; align-items: center; position: relative; z-index: 2; }
@media (max-width: 900px) { .hw-home .trust-top { grid-template-columns: 1fr; gap: 32px; } }
.hw-home .trust-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: var(--accent); letter-spacing: 0.04em; text-transform: uppercase; margin-bottom: 20px; }
.hw-home .trust-eyebrow::before { content: ''; width: 8px; height: 8px; background: var(--accent); border-radius: 50%; }
.hw-home .trust h2 { color: #fff; margin-bottom: 0; }
.hw-home .trust-right p { font-size: 17px; line-height: 1.7; color: rgba(255,255,255,0.7); margin-bottom: 28px; }
.hw-home .counters { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; margin-top: 72px; padding-top: 56px; border-top: 1px solid rgba(255,255,255,0.12); position: relative; z-index: 2; }
@media (max-width: 800px) { .hw-home .counters { grid-template-columns: 1fr 1fr; gap: 40px; } }
.hw-home .counter-num { font-size: clamp(34px, 4.5vw, 56px); font-weight: 700; line-height: 1; letter-spacing: -0.03em; color: #fff; margin-bottom: 10px; font-variant-numeric: tabular-nums; }
.hw-home .counter-num .suffix { color: var(--accent); }
.hw-home .counter-label { font-size: 13px; color: rgba(255,255,255,0.55); font-weight: 500; }

/* =====================================================
   REGIONS
===================================================== */
.hw-home .regions { background: var(--bg-2); }
.hw-home .regions-header { text-align: center; max-width: 760px; margin: 0 auto 56px; }
.hw-home .regions-header .eyebrow-pill { margin-bottom: 20px; }
.hw-home .regions-header h2 { margin-bottom: 16px; }
.hw-home .regions-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
@media (max-width: 760px) { .hw-home .regions-grid { grid-template-columns: 1fr; } }
.hw-home .region-tile { position: relative; border-radius: var(--radius-lg); overflow: hidden; aspect-ratio: 16 / 10; display: flex; align-items: flex-end; color: #fff; box-shadow: var(--shadow-sm); transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease); }
.hw-home .region-tile:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); }
.hw-home .region-photo { position: absolute; inset: 0; z-index: 0; background-size: cover; background-position: center; transition: transform 0.7s var(--ease); background-color: #1C5670; background-image: linear-gradient(150deg, #2C7E96 0%, #1C5670 55%, #0E2A3A 100%); }
.hw-home .region-tile:hover .region-photo { transform: scale(1.06); }
.hw-home .region-overlay { position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, transparent 30%, rgba(15,32,41,0.55) 70%, rgba(15,32,41,0.9) 100%); }
.hw-home .region-content { position: relative; z-index: 2; padding: 36px 36px 32px; width: 100%; }
.hw-home .region-name { font-size: clamp(28px, 3vw, 38px); font-weight: 700; letter-spacing: -0.025em; margin-bottom: 8px; }
.hw-home .region-tag { font-size: 15px; color: rgba(255,255,255,0.85); max-width: 380px; margin-bottom: 20px; line-height: 1.5; }
.hw-home .region-link { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: #fff; transition: gap 0.25s var(--ease); }
.hw-home .region-link svg { width: 16px; height: 16px; color: var(--accent); transition: transform 0.25s var(--ease); }
.hw-home .region-link:hover svg { transform: translateX(4px); }

/* =====================================================
   TEMOIGNAGES
===================================================== */
.hw-home .temoignages { background: var(--bg); }
.hw-home .temoignages-header { text-align: center; max-width: 680px; margin: 0 auto 56px; }
.hw-home .temoignages-header .eyebrow-pill { margin-bottom: 20px; }
.hw-home .temoignages-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
@media (max-width: 1000px) { .hw-home .temoignages-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .hw-home .temoignages-grid { grid-template-columns: 1fr; } }
.hw-home .temoignage-card { background: var(--bg-2); border-radius: var(--radius-lg); padding: 30px 28px; display: flex; flex-direction: column; transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease); }
.hw-home .temoignage-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.hw-home .temoignage-stars { display: flex; gap: 3px; margin-bottom: 16px; }
.hw-home .temoignage-stars svg { width: 16px; height: 16px; color: var(--accent); }
.hw-home .temoignage-text { font-size: 15px; line-height: 1.6; color: var(--ink); margin-bottom: 24px; flex: 1; }
.hw-home .temoignage-author { display: flex; align-items: center; gap: 12px; }
.hw-home .temoignage-avatar { width: 44px; height: 44px; border-radius: 50%; background: var(--accent); color: var(--ink); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 17px; flex-shrink: 0; }
.hw-home .temoignage-name { font-size: 15px; font-weight: 600; color: var(--ink); }
.hw-home .temoignage-role { font-size: 13px; color: var(--muted); }

/* CTA FINAL */
.hw-home .cta-final { background: var(--ink-deep); color: #fff; position: relative; overflow: hidden; text-align: center; }
.hw-home .cta-final::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 0%, rgba(13,193,219,0.16), transparent 60%); pointer-events: none; }
.hw-home .cta-final-content { position: relative; z-index: 2; max-width: 640px; margin: 0 auto; }
.hw-home .cta-final .eyebrow-pill { background: rgba(13,193,219,0.16); color: #fff; margin-bottom: 24px; }
.hw-home .cta-final h2 { color: #fff; margin-bottom: 20px; }
.hw-home .cta-final p { font-size: 18px; color: rgba(255,255,255,0.72); line-height: 1.6; margin-bottom: 36px; }

/* Sur cette page uniquement (classe de body ajoutee par WordPress),
   on masque les barres de recherche du header Elementor : elles font
   doublon avec la barre de recherche du hero. On cible le widget qui
   contient le formulaire, sans jamais toucher au logo ni au menu. */
.page-template-template-accueil-biens .overlay-search-advanced-module,
.page-template-template-accueil-biens .elementor-widget:has(form.houzez-search-form-js),
.page-template-template-accueil-biens form.houzez-search-form-js { display: none !important; }

/* Reveal */
.hw-home .reveal { opacity: 0; transform: translateY(26px); transition: opacity 0.8s var(--ease), transform 0.8s var(--ease); }
.hw-home .reveal.in { opacity: 1; transform: translateY(0); }
.hw-home .reveal-d1 { transition-delay: 0.08s; }
.hw-home .reveal-d2 { transition-delay: 0.16s; }
.hw-home .reveal-d3 { transition-delay: 0.24s; }

/* =====================================================
   RECHERCHE D'ACCUEIL — style aligne sur la page biens
   (Plus Jakarta Sans, champs en pilule, bleu profond)
===================================================== */
.hw-home .search-card { font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif; border-radius: 24px; padding: 16px; }
.hw-home .search-tabs { background: #F4F6F8; padding: 5px; }
.hw-home .search-tab { font-family: inherit; color: #6B7785; font-weight: 600; }
.hw-home .search-tab:hover { color: #0F1620; background: transparent; }
.hw-home .search-tab.active { background: #003D5C; color: #fff; box-shadow: 0 2px 8px rgba(0,61,92,0.18); }

.hw-home .search-field label { color: #6B7785; font-weight: 700; }
.hw-home .search-select {
  background-color: #fff; border: 1px solid #E5EAEF; border-radius: 100px;
  color: #0F1620; font-family: inherit; font-weight: 500; min-height: 52px;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.hw-home .search-select:hover { border-color: #CBD3DC; }
.hw-home .search-select:focus { border-color: #4FA8DA; box-shadow: 0 0 0 4px rgba(79,168,218,0.16); background-color: #fff; }
.hw-home .search-text::placeholder { color: #6B7785; }

.hw-home .search-btn {
  background: #003D5C; color: #fff; border-radius: 100px; font-family: inherit;
  font-weight: 600; min-height: 52px; transition: background-color .2s ease, transform .2s ease;
}
.hw-home .search-btn:hover { background: #00293E; color: #fff; transform: translateY(-1px); }

/* Autocompletion communes : surlignage au bleu de la page biens */
.hw-home .hw-suggest { border-color: #E5EAEF; }
.hw-home .hw-suggest li { color: #0F1620; }
.hw-home .hw-suggest li:hover, .hw-home .hw-suggest li.active { background: rgba(0,115,181,0.10); }
.hw-home .hw-suggest li b { color: #0073B5; }

/* =====================================================================
 * Mobile (<= 767px) — En-tete SOLIDE (sans transparence) sur l'accueil.
 * En plein ecran, l'en-tete reste transparent au-dessus du hero. Sur mobile,
 * on neutralise le traitement transparent (cf. capture demandee) : fond blanc,
 * logo en version foncee, texte du menu fonce. Le hamburger ouvre alors un
 * panneau blanc avec des titres fonces visibles immediatement (plus de blanc
 * sur blanc). NB : le "blanc invisible" venait de la transition color 0.25s,
 * pas d'un script ; la couleur est donc bien pilotable en CSS.
 * ===================================================================== */
@media (max-width: 767px) {
  /* En-tete dans le flux (plus en superposition) : le hero descend dessous. */
  body.page-template-template-accueil-biens .elementor-location-header {
    position: relative !important;
    top: 0 !important;
  }
  .admin-bar.page-template-template-accueil-biens .elementor-location-header { top: 0 !important; }

  /* Barre d'en-tete en blanc opaque. */
  body.page-template-template-accueil-biens .elementor-location-header { background: #fff !important; }
  body.page-template-template-accueil-biens .elementor-location-header .e-con,
  body.page-template-template-accueil-biens .elementor-location-header .e-con-inner,
  body.page-template-template-accueil-biens .elementor-location-header .e-con-full { background-color: #fff !important; }

  /* Logo en version normale (on annule l'inversion blanche du hero). */
  body.page-template-template-accueil-biens .elementor-location-header img { filter: none !important; }

  /* Texte du menu en fonce sur fond blanc (immediat, sans survol). */
  body.page-template-template-accueil-biens .elementor-location-header .e-n-menu-title-text,
  body.page-template-template-accueil-biens .elementor-location-header a.e-n-menu-title-container,
  body.page-template-template-accueil-biens .elementor-location-header a.e-n-menu-title-container .e-n-menu-title-text,
  body.page-template-template-accueil-biens .elementor-location-header .elementor-nav-menu a,
  body.page-template-template-accueil-biens .elementor-location-header .elementor-item {
    color: #182B39 !important;
    -webkit-text-fill-color: #182B39 !important;
  }
}
