/*
Theme Name: BISIMMO
Theme URI: https://www.bisimmo.com
Author: BISIMMO
Description: Thème bloc sur mesure de la plateforme immobilière professionnelle BISIMMO. Toutes les pages se modifient dans l’éditeur de blocs.
Version: 1.11.40
Requires at least: 6.6
Requires PHP: 8.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bisimmo
Tags: block-theme, full-site-editing, business
*/

:root {
  --marine: #021434;
  --encre: #0B1226;
  --or: #B88F42;
  --or-fonce: #A07C36;
  --texte: #53585F;
  --gris: #84878A;
  --filet: #E7E8EA;
  --filet-chaud: #ECE6DC;
  --sable: #F7F4EF;
  --nuage: #F3F4F6;
  --blanc: #FFFFFF;
  --rayon: 3px;
  --ombre: 0 1px 2px rgba(2, 20, 52, .04), 0 8px 24px rgba(2, 20, 52, .06);
  --ombre-haute: 0 2px 4px rgba(2, 20, 52, .05), 0 22px 48px rgba(2, 20, 52, .12);
  --conteneur: 1440px;                 /* largeur de contenu de toutes les sections (demande client) */
  --gouttiere: 48px;
  --sortie: cubic-bezier(.16, 1, .3, 1);
  --douce: cubic-bezier(.45, 0, .2, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: 'Roboto', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 15px;
  line-height: 1.6;
  color: var(--texte);
  background: var(--blanc);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
h1, h2, h3, h4 { margin: 0; color: var(--encre); font-weight: 700; line-height: 1.2; hyphens: none; text-wrap: balance; }
p { margin: 0; }
ul { margin: 0; padding: 0; list-style: none; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
::selection { background: var(--or); color: var(--blanc); }

.enveloppe { max-width: calc(var(--conteneur) + 2 * var(--gouttiere)); margin: 0 auto; padding: 0 var(--gouttiere); }
.ico { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; flex: none; }

/* ---------- Boutons ---------- */
.bouton {
  position: relative; isolation: isolate; overflow: hidden;
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  height: 52px; padding: 0 30px;
  background: var(--or); color: var(--blanc);
  font-size: 15px; font-weight: 500; letter-spacing: .01em;
  border-radius: var(--rayon);
  transition: background .3s var(--douce), box-shadow .3s var(--douce);
  white-space: nowrap;
}
.bouton::after {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, .38) 50%, transparent 65%);
  transform: translateX(-110%); transition: transform .9s var(--sortie);
}
.bouton:hover { background: var(--or-fonce); box-shadow: 0 10px 26px rgba(184, 143, 66, .32); }
.bouton:hover::after { transform: translateX(110%); }
.bouton:active { transform: translateY(1px); }
.bouton-contour {
  display: inline-flex; align-items: center; justify-content: center;
  height: 36px; padding: 0 16px;
  border: 1px solid var(--or); border-radius: var(--rayon);
  color: var(--encre); font-size: 13px; font-weight: 500;
  background: linear-gradient(var(--or), var(--or)) no-repeat left / 0 100%;
  transition: background-size .45s var(--sortie), color .3s;
  white-space: nowrap;
}
.bouton-contour:hover { background-size: 100% 100%; color: var(--blanc); }
.lien-or { display: inline-flex; align-items: center; gap: 8px; color: var(--or); font-size: 14px; font-weight: 500; white-space: nowrap; }
.lien-or .ico { font-size: 16px; transition: transform .35s var(--sortie); }
.lien-or:hover .ico { transform: translateX(5px); }

/* ---------- En-tête ---------- */
.entete { position: absolute; inset: 0 0 auto 0; z-index: 50; }
.entete .enveloppe { display: flex; align-items: center; gap: 48px; height: 96px; transition: height .4s var(--douce); }
.logo { font-size: 35px; font-weight: 700; letter-spacing: .03em; color: var(--marine); line-height: 1; transition: font-size .4s var(--douce); }
.nav { display: flex; gap: 36px; margin-left: auto; font-size: 14px; font-weight: 500; color: var(--encre); }
.nav .wp-block-navigation-item__content { position: relative; padding: 6px 0; transition: color .25s; }
.nav .wp-block-navigation-item__content::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--or); transform: scaleX(0); transform-origin: right; transition: transform .45s var(--sortie); }
.nav .wp-block-navigation-item__content:hover::after, .nav .actif::after { transform: scaleX(1); transform-origin: left; }
.connexion { font-size: 14px; font-weight: 500; color: var(--encre); transition: color .25s; }
.connexion:hover { color: var(--or); }
.burger { display: none; width: 42px; height: 42px; margin-left: auto; place-items: center; font-size: 24px; color: var(--encre); }
.progression { position: absolute; left: 0; bottom: 0; width: 100%; height: 2px; background: var(--or); transform: scaleX(var(--p, 0)); transform-origin: 0 50%; opacity: 0; transition: opacity .3s; }

.entete.colle {
  position: fixed;
  background: rgba(255, 255, 255, .9);
  -webkit-backdrop-filter: saturate(1.5) blur(14px); backdrop-filter: saturate(1.5) blur(14px);
  box-shadow: 0 1px 0 rgba(11, 18, 38, .06), 0 12px 32px rgba(2, 20, 52, .07);
  animation: descente .55s var(--sortie);
}
.entete.colle .enveloppe { height: 74px; }
.entete.colle .logo { font-size: 28px; }
.entete.colle .progression { opacity: 1; }
@keyframes descente { from { transform: translateY(-100%); } to { transform: none; } }

/* ---------- Hero ---------- */
.hero { position: relative; padding: 172px 0 30px; }
.hero-fond { position: absolute; inset: 0; overflow: hidden; }
.hero-photo { position: absolute; top: 0; right: 0; width: 72%; height: 100%; object-fit: cover; object-position: 78% 50%; translate: 0 var(--py, 0px); }
.hero::before {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    linear-gradient(90deg, #fff 30%, rgba(255, 255, 255, .88) 40%, rgba(255, 255, 255, .35) 52%, rgba(255, 255, 255, 0) 64%),
    linear-gradient(0deg, #fff 0, rgba(255, 255, 255, .9) 9%, rgba(255, 255, 255, 0) 30%);
}
.hero .enveloppe { position: relative; z-index: 3; }
.hero-texte { max-width: 600px; }
.hero h1 { font-size: 48px; line-height: 1.16; letter-spacing: -.012em; }
.hero h1 .ligne { display: block; }
.hero h1 .or { color: var(--or); }
.hero-texte .chapeau { margin-top: 26px; max-width: 400px; font-size: 21px; line-height: 1.72; color: #474C53; }
.filet-or { width: 66px; height: 2px; margin-top: 34px; background: var(--or); transform-origin: left; }

/* Carte flottante */
.hero-carte {
  position: absolute; z-index: 2; right: max(56px, calc((100vw - var(--conteneur)) / 2 + 40px)); top: 300px;
  display: flex; align-items: center; gap: 14px;
  padding: 14px 22px 14px 14px;
  background: rgba(255, 255, 255, .94);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  border-radius: var(--rayon);
  box-shadow: 0 2px 6px rgba(2, 20, 52, .06), 0 22px 44px rgba(2, 20, 52, .16);
  font-size: 13px; color: var(--texte); line-height: 1.45;
  animation: flotte 7s ease-in-out infinite;
}
.hero-carte strong { display: block; font-size: 14px; color: var(--encre); font-weight: 700; }
.hero-carte-ico { width: 44px; height: 44px; display: grid; place-items: center; background: var(--marine); color: var(--or); border-radius: 2px; font-size: 22px; }
@keyframes flotte { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }

/* Barre de recherche */
.barre {
  position: relative;
  display: flex; align-items: center;
  margin-top: 50px; min-height: 98px; padding: 14px 16px 14px 10px;
  background: var(--blanc);
  border-radius: var(--rayon);
  box-shadow: 0 2px 6px rgba(2, 20, 52, .05), 0 18px 48px rgba(2, 20, 52, .13);
  transition: box-shadow .4s var(--douce);
}
.barre:focus-within { box-shadow: 0 2px 6px rgba(2, 20, 52, .06), 0 24px 60px rgba(2, 20, 52, .17); }
.champ { display: flex; align-items: center; gap: 10px; padding: 0 28px; height: 52px; font-size: 14.5px; font-weight: 500; color: var(--encre); white-space: nowrap; transition: color .2s; }
.liste .champ:hover { color: var(--or); }
.liste, .groupe-puces, .champ-lieu { border-left: 1px solid var(--filet); }
.champ .ico { font-size: 18px; color: var(--gris); }
.champ .ico.chevron { font-size: 14px; color: var(--encre); transition: transform .35s var(--sortie); }
.champ[aria-expanded="true"] .chevron { transform: rotate(180deg); }
.champ-loupe { padding: 0 22px 0 18px; }
.champ-loupe .ico { font-size: 22px; color: var(--or); }
.liste { position: relative; }
.menu {
  position: absolute; top: calc(100% + 22px); left: 14px; z-index: 20; min-width: 230px;
  padding: 8px; background: var(--blanc);
  border: 1px solid var(--filet); border-radius: var(--rayon);
  box-shadow: 0 2px 6px rgba(2, 20, 52, .05), 0 24px 54px rgba(2, 20, 52, .16);
  opacity: 0; visibility: hidden; transform: translateY(-8px);
  transition: opacity .25s var(--douce), transform .35s var(--sortie), visibility 0s .35s;
}
.liste.ouvert .menu { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.menu li { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 10px 14px; border-radius: 2px; font-size: 14px; color: var(--encre); text-align: left; transition: background .2s, color .2s; }
.menu li:hover { background: var(--nuage); }
.menu li.actif { color: var(--or); font-weight: 500; }
.menu li.actif::after { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--or); }
.groupe-puces { display: flex; gap: 6px; padding: 0 16px; height: 52px; align-items: center; }
.puce { display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 16px; border-radius: var(--rayon); font-size: 14.5px; font-weight: 500; color: var(--encre); transition: background .25s, color .25s; }
.puce .ico { font-size: 18px; color: var(--gris); transition: color .25s; }
.puce:hover { background: var(--nuage); }
.puce.actif { background: var(--nuage); }
.puce.actif .ico { color: var(--or); }
.champ-lieu { display: flex; align-items: center; gap: 12px; flex: 1; min-width: 0; padding: 0 24px; height: 52px; }
.champ-lieu .ico { font-size: 20px; color: var(--or); }
.champ-lieu label { display: block; font-size: 12px; font-weight: 500; color: var(--encre); line-height: 1.2; }
.champ-lieu input { display: block; width: 100%; border: 0; padding: 4px 0; font: inherit; font-size: 14px; color: var(--encre); outline: none; background: linear-gradient(var(--or), var(--or)) no-repeat left bottom / 0 1px, linear-gradient(var(--filet), var(--filet)) no-repeat left bottom / 100% 1px; transition: background-size .5s var(--sortie); }
.champ-lieu input:focus { background-size: 100% 1px, 100% 1px; }
.champ-lieu input::placeholder { color: var(--gris); }
.champ-lieu > div { flex: 1; min-width: 0; }
.barre .bouton { height: 60px; padding: 0 46px; font-size: 16px; }

/* ---------- Sections ---------- */
.section { padding: 34px 0; }
.section-ample { padding-top: 48px; }
.section-collee { padding-top: 0; padding-bottom: 0; }
.section-fin { padding-bottom: 0; }
.tete { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; margin-bottom: 16px; }
.tete h2, .titre-centre { font-size: 31px; letter-spacing: -.005em; }
.titre-centre { text-align: center; margin-bottom: 26px; }

/* Réassurance */
.reassurance { padding: 52px 0 22px; }
.reassurance .grille { display: grid; grid-template-columns: repeat(4, 1fr); }
.atout { padding: 0 36px; text-align: center; border-left: 1px solid var(--filet); }
.atout:first-child { border-left: 0; }
.atout .ico { display: block; margin: 0 auto 18px; font-size: 52px; color: var(--or); stroke-width: 1.05; }
.atout h3 { font-size: 17px; margin-bottom: 8px; }
.atout p { font-size: 14.5px; line-height: 1.65; }

/* Univers */
.univers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }

/* Tuiles photo */
.tuiles-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.tuile { position: relative; display: block; height: 242px; border-radius: var(--rayon); overflow: hidden; isolation: isolate; background: var(--marine); }
.tuile-haute { height: 360px; }
.tuile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--sortie); z-index: -2; }
.tuile::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(2, 20, 52, .86) 0, rgba(2, 20, 52, .35) 45%, rgba(2, 20, 52, 0) 75%); transition: opacity .6s var(--douce); }
.tuile:hover img { transform: scale(1.06); }
.tuile .badge { top: 18px; left: 18px; }
.tuile-texte { position: absolute; left: 28px; right: 96px; bottom: 26px; color: rgba(255, 255, 255, .86); transition: transform .6s var(--sortie); }
.tuile-texte h3 { color: var(--blanc); font-size: 32px; letter-spacing: -.008em; }
.tuile-texte p { margin-top: 8px; font-size: 14px; line-height: 1.55; }
.univers .tuile-texte { right: 28px; }
.univers .tuile-texte h3 { font-size: 25px; }
.univers .tuile-texte p { margin-right: 64px; }
.tuile:hover .tuile-texte { transform: translateY(-4px); }
.tuile-fleche { position: absolute; right: 26px; bottom: 26px; width: 52px; height: 52px; display: grid; place-items: center; background: var(--blanc); color: var(--or); border-radius: 2px; font-size: 20px; transition: background .35s var(--douce), color .35s var(--douce); }
.tuile-fleche .ico { transition: transform .45s var(--sortie); }
.tuile:hover .tuile-fleche { background: var(--or); color: var(--blanc); }
.tuile:hover .tuile-fleche .ico { transform: translateX(4px); }

/* Cartes */
.cartes-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.carte { display: flex; flex-direction: column; background: var(--blanc); border: 1px solid var(--filet); border-radius: var(--rayon); box-shadow: var(--ombre); overflow: hidden; transition: box-shadow .45s var(--douce), transform .45s var(--sortie); }
.carte:hover { box-shadow: var(--ombre-haute); transform: translateY(-6px); }
.carte-visuel { position: relative; aspect-ratio: 16 / 8.6; overflow: hidden; }
.carte-visuel img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--sortie); }
.carte:hover .carte-visuel img { transform: scale(1.06); }
.badge { position: absolute; top: 14px; left: 14px; z-index: 1; padding: 5px 12px; background: var(--marine); color: var(--blanc); font-size: 12px; font-weight: 500; letter-spacing: .01em; border-radius: 2px; line-height: 1.4; }
.carte-corps { display: flex; flex-direction: column; flex: 1; padding: 20px 22px 20px; }
.carte h3 { font-size: 18px; }
.carte-ligne { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 10px; font-size: 14px; }
.lieu { display: inline-flex; align-items: center; gap: 6px; }
.lieu .ico { font-size: 15px; color: var(--or); }
.prix { color: var(--or); font-weight: 500; }
.mesures { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 18px; padding: 14px 0; border-top: 1px solid var(--filet); border-bottom: 1px solid var(--filet); }
.mesure { padding: 0 12px; border-left: 1px solid var(--filet); font-size: 13.5px; line-height: 1.5; text-align: center; }
.mesure:first-child { padding-left: 0; border-left: 0; text-align: left; }
.mesure:last-child { padding-right: 0; text-align: right; }
.mesure strong { display: block; color: var(--encre); font-weight: 500; }
.carte-pied { display: flex; align-items: center; gap: 16px; margin-top: auto; padding-top: 16px; font-size: 13.5px; color: var(--encre); }
.verifie { display: inline-flex; align-items: center; gap: 5px; color: var(--or); font-weight: 500; font-size: 13px; }
.verifie .ico { font-size: 15px; }
.carte-pied .bouton-contour { margin-left: auto; }

/* Étapes */
.etapes { display: grid; grid-template-columns: repeat(3, 1fr); }
.etape { display: grid; grid-template-columns: auto auto 1fr; gap: 22px; align-items: start; padding: 4px 32px; border-left: 1px solid var(--filet); }
.etape:first-child { padding-left: 0; border-left: 0; }
.num { font-size: 50px; font-weight: 300; line-height: 1; color: var(--or); letter-spacing: -.02em; }
.rond { width: 76px; height: 76px; display: grid; place-items: center; border-radius: 50%; background: var(--nuage); color: var(--encre); font-size: 28px; transition: background .4s var(--douce), color .4s var(--douce); }
.rond .ico { stroke-width: 1.4; }
.etape:hover .rond { background: var(--marine); color: var(--or); }
.etape h3 { font-size: 16px; margin: 2px 0 8px; }
.etape h3 + p { font-size: 14px; line-height: 1.65; }

/* Pourquoi */
.atouts-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.atout-carte { display: flex; gap: 20px; padding: 30px 24px; background: var(--blanc); border: 1px solid var(--filet-chaud); border-radius: var(--rayon); transition: border-color .4s var(--douce), box-shadow .45s var(--douce), transform .45s var(--sortie); }
.atout-carte:hover { border-color: var(--or); box-shadow: var(--ombre); transform: translateY(-4px); }
.atout-carte > .ico { font-size: 46px; color: var(--or); stroke-width: 1.15; }
.atout-carte h3 { font-size: 15.5px; margin-bottom: 6px; }
.atout-carte p { font-size: 14px; line-height: 1.6; }

/* Professionnels */
.pro .carte-visuel { aspect-ratio: 16 / 4.9; }
.pro-corps { display: grid; grid-template-columns: 78px 1fr; gap: 22px; padding: 22px 24px 20px; flex: 1; }
.monogramme { width: 78px; height: 78px; display: grid; place-items: center; border: 1px solid #CCD1D9; background: var(--blanc); color: var(--encre); font-size: 28px; font-weight: 400; letter-spacing: .02em; transition: border-color .4s, color .4s; }
.pro:hover .monogramme { border-color: var(--or); color: var(--or); }
.pro h3 { font-size: 17px; }
.role { margin-top: 2px; font-size: 13px; font-weight: 500; color: var(--encre); }
.pro-corps .texte { margin-top: 12px; font-size: 13.5px; line-height: 1.6; }
.pro-corps .verifie { margin-top: 12px; }

/* Bandeau professionnel */
.bandeau-pro { position: relative; margin: 8px 16px 0; background: var(--marine); color: rgba(255, 255, 255, .78); border-radius: 2px; overflow: hidden; isolation: isolate; }
.bandeau-pro::before { content: ""; position: absolute; inset: -40% auto -40% -10%; width: 45%; z-index: -1; background: radial-gradient(closest-side, rgba(184, 143, 66, .18), transparent); animation: halo 12s ease-in-out infinite alternate; }
@keyframes halo { to { transform: translateX(160%); } }
.bandeau-pro .enveloppe { display: flex; align-items: center; gap: 44px; padding-top: 40px; padding-bottom: 40px; }
.illus { flex: none; width: 92px; height: 108px; color: var(--or); stroke-width: 1.6; }
.bandeau-pro h2 { color: var(--blanc); font-size: 31px; }
.bandeau-pro h2 + p { margin-top: 10px; font-size: 16px; max-width: 520px; }
.bandeau-pro .bouton { margin-left: auto; height: 60px; padding: 0 58px; font-size: 16px; }

/* Offres */
.offres { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; align-items: stretch; }
.offre { display: flex; flex-direction: column; background: var(--blanc); border: 1px solid var(--filet); border-radius: var(--rayon); box-shadow: var(--ombre); overflow: hidden; transition: box-shadow .45s var(--douce), transform .45s var(--sortie); }
.offre:hover { box-shadow: var(--ombre-haute); transform: translateY(-6px); }
.offre-corps { padding: 28px 32px 30px; flex: 1; }
.offre-tete { display: flex; align-items: center; gap: 20px; padding-bottom: 20px; border-bottom: 1px solid var(--filet); }
.offre-tete .ico { font-size: 38px; color: var(--encre); stroke-width: 1.2; }
.offre-tete h3 { font-size: 21px; }
.offre-prix { margin: 18px 0 14px; font-size: 25px; font-weight: 500; color: var(--or); }
.offre li { position: relative; padding-left: 14px; margin-bottom: 6px; font-size: 14px; }
.offre li::before { content: ""; position: absolute; left: 0; top: .68em; width: 4px; height: 4px; border-radius: 50%; background: var(--encre); }
.offre li strong { color: var(--encre); font-weight: 500; }
.offre-reco { border-color: var(--or); box-shadow: 0 2px 4px rgba(2, 20, 52, .05), 0 22px 48px rgba(184, 143, 66, .16); }
.offre-reco:hover { box-shadow: 0 2px 4px rgba(2, 20, 52, .05), 0 30px 60px rgba(184, 143, 66, .24); }
.reco { position: relative; overflow: hidden; padding: 7px; background: var(--or); color: var(--blanc); text-align: center; font-size: 11px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; }
.reco::after { content: ""; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, .45) 50%, transparent 65%); transform: translateX(-110%); animation: reflet 4.5s var(--douce) 2s infinite; }
@keyframes reflet { 0% { transform: translateX(-110%); } 30%, 100% { transform: translateX(110%); } }

/* Témoignages */
.temoignage { display: grid; grid-template-columns: 34px 1fr; padding: 26px 30px 24px 24px; margin: 0; background: var(--blanc); border: 1px solid var(--filet); border-radius: var(--rayon); transition: border-color .4s var(--douce), box-shadow .45s var(--douce); }
.temoignage:hover { border-color: var(--filet-chaud); box-shadow: var(--ombre); }
.temoignage > div { grid-column: 2; }
.guillemet { display: block; grid-column: 1; grid-row: 1; height: 30px; font-size: 54px; line-height: .9; font-weight: 700; color: var(--or); }
.temoignage .texte { margin-top: 16px; font-size: 14px; line-height: 1.65; }
.temoignage .nom { display: block; margin-top: 20px; font-size: 14px; color: var(--encre); font-weight: 700; }
.temoignage .fonction { font-size: 13px; }

/* Encart sable */
.encart-sable { display: flex; align-items: center; gap: 32px; padding: 34px 48px; background: var(--sable); border-radius: var(--rayon); }
.encart-sable .illus { width: 72px; height: 86px; }
.encart-sable h2 { font-size: 24px; }
.encart-sable h2 + p { margin-top: 8px; max-width: 470px; font-size: 15px; }
.encart-sable .bouton { margin-left: auto; padding: 0 44px; }

/* FAQ */
.faq details { border: 1px solid var(--filet); border-top: 0; background: var(--blanc); transition: background .3s; }
.faq details:first-child { border-top: 1px solid var(--filet); border-radius: var(--rayon) var(--rayon) 0 0; }
.faq details:last-child { border-radius: 0 0 var(--rayon) var(--rayon); }
.faq summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 15px 30px; list-style: none; cursor: pointer; font-size: 14.5px; font-weight: 500; color: var(--encre); transition: color .25s; }
.faq summary:hover { color: var(--or); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; font-size: 22px; font-weight: 300; line-height: 1; color: var(--encre); transition: transform .45s var(--sortie), color .3s; }
.faq details[open] summary::after { transform: rotate(45deg); color: var(--or); }
.faq details { overflow: hidden; }
.faq details p { padding: 0 30px 20px; max-width: 860px; font-size: 14px; }

/* ---------- Pied de page ---------- */
.pied { margin-top: 0; padding-top: 60px; background: var(--marine); color: rgba(255, 255, 255, .72); }
.pied-grille { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr; gap: 40px; }
.pied .logo { color: var(--blanc); font-size: 33px; }
.pied-accroche { margin-top: 16px; font-size: 14px; line-height: 1.6; max-width: 220px; }
.pied .filet-or { width: 44px; height: 1px; margin-top: 22px; }
.reseaux { display: flex; gap: 18px; margin-top: 22px; font-size: 19px; color: var(--blanc); }
.reseaux a { transition: color .25s, transform .35s var(--sortie); }
.reseaux a:hover { color: var(--or); transform: translateY(-3px); }
.pied h4 { margin-bottom: 16px; color: var(--blanc); font-size: 14px; font-weight: 500; }
.pied li { margin-bottom: 9px; font-size: 13.5px; }
.pied li a { background: linear-gradient(var(--or), var(--or)) no-repeat left bottom / 0 1px; transition: color .25s, background-size .45s var(--sortie); }
.pied li a:hover { color: var(--blanc); background-size: 100% 1px; }
.pied-bas { margin-top: 48px; padding: 22px 0; border-top: 1px solid rgba(255, 255, 255, .12); text-align: center; font-size: 13px; }

/* ---------- Mouvement (actif seulement quand JS est là) ---------- */

/* Entrée du hero */
.js .hero h1 .ligne { overflow: hidden; padding-bottom: .1em; margin-bottom: -.1em; }
.js .hero h1 .ligne > span { display: inline-block; transform: translateY(110%); transition: transform 1.15s var(--sortie); }
.js .hero h1 .ligne.or > span { transition-delay: .12s; }
.js .hero-texte .chapeau,
.js .hero .barre { opacity: 0; translate: 0 22px; transition: opacity 1s var(--sortie), translate 1s var(--sortie); }
.js .hero .filet-or { transform: scaleX(0); transition: transform 1.3s var(--sortie) .6s; }
.js .hero-carte { opacity: 0; translate: 0 18px; transition: opacity 1s var(--sortie) 1.1s, translate 1s var(--sortie) 1.1s; }
.js .hero-photo { opacity: 0; scale: 1.08; transition: opacity 1.2s var(--douce), scale 2.8s var(--sortie); }
.js .hero.entre h1 .ligne > span { transform: none; }
.js .hero.entre .hero-texte .chapeau { opacity: 1; translate: 0 0; transition-delay: .35s; }
.js .hero.entre .barre { opacity: 1; translate: 0 0; transition-delay: .55s; }
.js .hero.entre .filet-or { transform: scaleX(1); }
.js .hero.entre .hero-carte { opacity: 1; translate: 0 0; }
.js .hero.entre .hero-photo { opacity: 1; scale: 1; }

/* Apparitions au défilement */
.js :is(.tete, .titre-centre, .chapo, .atout, .tuile, .cartes-3 > *, .etape, .atout-carte, .offre, .encart-sable, .faq details, .bandeau-pro .enveloppe > *, .pied-grille > *, .resultats-barre, .categorie, .agence-carte, .passerelle > *, .mission > *, .formulaire, .contact-cote > *, .acces-grille, .pagination) {
  opacity: 0; translate: 0 32px;
  transition: opacity .95s var(--sortie) var(--d, 0s), translate .95s var(--sortie) var(--d, 0s),
              transform .45s var(--sortie), box-shadow .45s var(--douce), border-color .4s var(--douce);
}
.js :is(.tete, .titre-centre, .chapo, .atout, .tuile, .cartes-3 > *, .etape, .atout-carte, .offre, .encart-sable, .faq details, .bandeau-pro .enveloppe > *, .pied-grille > *, .resultats-barre, .categorie, .agence-carte, .passerelle > *, .mission > *, .formulaire, .contact-cote > *, .acces-grille, .pagination).visible { opacity: 1; translate: 0 0; }

/* Icônes or tracées au trait */
.js .trace { stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1.9s var(--douce) calc(var(--d, 0s) + .25s); }
.js .visible .trace, .js .trace.visible { stroke-dashoffset: 0; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition-duration: .01ms !important; transition-delay: 0s !important; scroll-behavior: auto !important; }
  .js .hero-photo { translate: none !important; }
}

/* ---------- Responsive ---------- */
@media (max-width: 1180px) {
  :root { --gouttiere: 32px; }
  .nav { gap: 22px; font-size: 13.5px; }
  .entete .enveloppe { gap: 28px; }
  .barre { flex-wrap: wrap; row-gap: 10px; }
  .champ-lieu { flex-basis: 260px; }
  .hero-carte { display: none; }
}
@media (max-width: 1024px) {
  .nav, .connexion { display: none; }
  .burger { display: grid; }
  .entete.ouvert .nav { display: flex; position: absolute; top: calc(100% - 4px); left: 16px; right: 16px; flex-direction: column; gap: 4px; padding: 16px 20px; background: var(--blanc); box-shadow: var(--ombre-haute); border-radius: var(--rayon); animation: deroule .4s var(--sortie); }
  @keyframes deroule { from { opacity: 0; transform: translateY(-8px); } }
  .hero h1 { font-size: 44px; }
  .reassurance .grille, .atouts-4 { grid-template-columns: repeat(2, 1fr); row-gap: 36px; }
  .atout:nth-child(3) { border-left: 0; }
  .cartes-3, .univers, .offres { grid-template-columns: 1fr 1fr; }
  .etapes { grid-template-columns: 1fr; row-gap: 28px; }
  .etape { padding: 0; border-left: 0; }
  .pied-grille { grid-template-columns: 1fr 1fr 1fr; }
  .pied-grille > :first-child { grid-column: 1 / -1; }
  .bandeau-pro .enveloppe, .encart-sable { flex-wrap: wrap; }
}
@media (max-width: 760px) {
  :root { --gouttiere: 20px; }
  body { font-size: 14.5px; }
  .entete .enveloppe, .entete.colle .enveloppe { height: 68px; }
  .logo, .entete.colle .logo { font-size: 23px; }
  .hero { padding-top: 256px; padding-bottom: 8px; }
  .hero-fond { inset: 0 0 auto 0; height: 310px; }
  .hero-photo { width: 100%; height: 310px; object-position: 62% 40%; }
  .hero::before { inset: 0 0 auto 0; height: 312px; background: linear-gradient(0deg, #fff 0, rgba(255, 255, 255, .7) 22%, rgba(255, 255, 255, 0) 55%); }
  .hero h1 { font-size: clamp(26px, 7.2vw, 40px); letter-spacing: -.015em; }
  .hero-texte .chapeau { font-size: 15.5px; margin-top: 18px; }
  .filet-or { margin-top: 24px; }
  .barre { flex-direction: column; align-items: stretch; margin-top: 32px; padding: 10px; }
  .liste, .groupe-puces, .champ-lieu { border-left: 0; }
  .champ, .groupe-puces, .champ-lieu { padding: 0 10px; }
  .liste + .liste, .groupe-puces, .champ-lieu { border-top: 1px solid var(--filet); }
  .liste .champ { width: 100%; }
  .menu { left: 0; right: 0; top: calc(100% + 6px); }
  .champ-loupe { display: none; }
  .champ-lieu { flex-basis: auto; height: 64px; }
  .barre .bouton { width: 100%; margin-top: 8px; }
  .section { padding: 30px 0; }
  .section-collee { padding: 0; }
  .tete { flex-direction: column; align-items: flex-start; gap: 10px; }
  .tete h2, .titre-centre { font-size: 24px; }
  .reassurance .grille, .atouts-4, .cartes-3, .univers, .offres, .tuiles-2 { grid-template-columns: 1fr; }
  .atout { border-left: 0; padding: 0 12px; }
  .tuile-haute { height: 280px; }
  .etape { grid-template-columns: auto 1fr; }
  .etape .rond { display: none; }
  .bandeau-pro { margin: 0; }
  .bandeau-pro h2 { font-size: 24px; }
  .encart-sable h2 { font-size: 22px; }
  .bandeau-pro .enveloppe { gap: 24px; }
  .bandeau-pro .bouton, .encart-sable .bouton { margin-left: 0; width: 100%; }
  .encart-sable { padding: 28px 24px; }
  .faq summary { padding: 16px 18px; }
  .faq details p { padding: 0 18px 18px; }
  .pied-grille { grid-template-columns: 1fr 1fr; gap: 32px 24px; }
}

/* =====================================================================
   Pages intérieures
   ===================================================================== */

/* En-tête sombre (univers des agences) tant qu’il n’est pas collé */
.sombre .entete:not(.colle) :is(.logo, .nav, .connexion, .burger) { color: var(--blanc); }
.sombre .entete:not(.colle) .connexion:hover { color: var(--or); }

/* En-têtes de page */
.hero-page { padding: 156px 0 0; }
.hero-page .hero-photo { width: 64%; object-position: 60% 50%; }
.hero-page .hero-texte { max-width: 640px; padding-bottom: 56px; }
.hero-page:not(.avec-barre) .hero-texte { padding-bottom: 96px; }
.hero-page h1 { font-size: 46px; }
.hero-page .hero-texte .chapeau { margin-top: 20px; max-width: 540px; font-size: 18px; line-height: 1.7; }
.hero-page .barre { margin-top: 0; margin-bottom: -49px; z-index: 4; }
.hero-page.avec-barre + .section { padding-top: 104px; }
.hero-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 18px; margin-bottom: 22px; }
.hero-meta .badge { position: static; }
.fil { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--gris); }
.fil a { transition: color .25s; }
.fil a:hover { color: var(--or); }
.fil .sep { opacity: .55; }
.badge-or { background: var(--or); }

/* le haut de chaque photo s’estompe sous l’en-tête pour garder le menu lisible */
.hero-page--blanc::before {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .94) 0, rgba(255, 255, 255, .6) 70px, rgba(255, 255, 255, 0) 150px),
    linear-gradient(90deg, #fff 30%, rgba(255, 255, 255, .88) 40%, rgba(255, 255, 255, .35) 52%, rgba(255, 255, 255, 0) 64%),
    linear-gradient(0deg, #fff 0, rgba(255, 255, 255, .9) 9%, rgba(255, 255, 255, 0) 30%);
}
.hero-page--marine { background: var(--marine); }
.hero-page--marine::before {
  background:
    linear-gradient(180deg, rgba(2, 20, 52, .9) 0, rgba(2, 20, 52, .5) 70px, rgba(2, 20, 52, 0) 150px),
    linear-gradient(90deg, var(--marine) 34%, rgba(2, 20, 52, .86) 46%, rgba(2, 20, 52, .4) 60%, rgba(2, 20, 52, .12) 76%),
    linear-gradient(0deg, rgba(2, 20, 52, .55) 0, rgba(2, 20, 52, 0) 38%);
}
.hero-page--marine h1 { color: var(--blanc); }
.hero-page--marine .hero-texte .chapeau { color: rgba(255, 255, 255, .78); }
.hero-page--marine .fil { color: rgba(255, 255, 255, .6); }

.hero-page--sable { background: var(--sable); }
.hero-page--sable::before {
  background:
    linear-gradient(180deg, rgba(247, 244, 239, .94) 0, rgba(247, 244, 239, .6) 70px, rgba(247, 244, 239, 0) 150px),
    linear-gradient(90deg, var(--sable) 34%, rgba(247, 244, 239, .9) 44%, rgba(247, 244, 239, .38) 57%, rgba(247, 244, 239, 0) 70%);
}

/* Barre des agences : onglets Acheter / Louer en tête */
.groupe-puces-tete { border-left: 0; padding-left: 10px; }

/* Résultats */
.resultats-barre { display: flex; align-items: center; flex-wrap: wrap; gap: 16px 22px; margin-bottom: 28px; padding-bottom: 20px; border-bottom: 1px solid var(--filet); }
.compte { display: flex; align-items: baseline; gap: 8px; font-size: 15px; white-space: nowrap; }
.compte strong { font-size: 26px; font-weight: 700; color: var(--encre); line-height: 1; transition: opacity .2s; }
.filtres { display: flex; flex-wrap: wrap; gap: 8px; }
.filtres .puce { height: 38px; padding: 0 16px; border: 1px solid var(--filet); font-size: 13.5px; }
.filtres .puce:hover { border-color: var(--or); background: var(--blanc); color: var(--or); }
.filtres .puce.actif { background: var(--marine); border-color: var(--marine); color: var(--blanc); }
.outils { display: flex; align-items: center; gap: 12px; margin-left: auto; }
.outils .liste { border-left: 0; }
.outils .champ { height: 40px; padding: 0 14px; gap: 10px; border: 1px solid var(--filet); border-radius: var(--rayon); font-size: 13.5px; }
.menu-droite { left: auto; right: 0; top: calc(100% + 8px); }
.vues { display: flex; border: 1px solid var(--filet); border-radius: var(--rayon); overflow: hidden; }
.vue { width: 42px; height: 38px; display: grid; place-items: center; font-size: 17px; color: var(--gris); transition: background .25s, color .25s; }
.vue + .vue { border-left: 1px solid var(--filet); }
.vue:hover { color: var(--encre); }
.vue.actif { background: var(--marine); color: var(--or); }

.resultats .cartes-3 { transition: opacity .25s var(--douce); }
.resultats .cartes-3.bascule { opacity: 0; }
.carte.sortie { opacity: 0 !important; transform: scale(.97); transition: opacity .25s, transform .25s; }
.carte.masque { display: none; }
.en-liste .cartes-3 { grid-template-columns: 1fr 1fr; }
.en-liste .carte:not(.pro) { flex-direction: row; }
.en-liste .carte:not(.pro) .carte-visuel { flex: 0 0 42%; aspect-ratio: auto; min-height: 100%; }

.pagination { display: flex; justify-content: center; align-items: center; gap: 8px; margin-top: 44px; }
.pagination a, .pagination strong { min-width: 44px; height: 44px; padding: 0 6px; display: grid; place-items: center; border: 1px solid var(--filet); border-radius: var(--rayon); font-size: 14px; font-weight: 500; color: var(--encre); transition: border-color .25s, color .25s, background .25s; }
.pagination a:hover { border-color: var(--or); color: var(--or); }
.pagination strong { background: var(--marine); border-color: var(--marine); color: var(--blanc); }
.pagination .ellipse { border-color: transparent; color: var(--gris); }
.pagination .ico { font-size: 18px; }

/* Signet sur les cartes */
.signet { position: absolute; top: 12px; right: 12px; z-index: 1; width: 38px; height: 38px; display: grid; place-items: center; background: rgba(255, 255, 255, .94); border-radius: 2px; color: var(--encre); font-size: 17px; opacity: 0; transform: translateY(-4px); transition: opacity .3s, transform .35s var(--sortie), color .25s; }
.carte:hover .signet, .signet.actif, .signet:focus-visible { opacity: 1; transform: none; }
.signet:hover { color: var(--or); }
.signet.actif { color: var(--or); }
.signet.actif .ico { fill: currentColor; }
.signet.pop { animation: pop .45s var(--sortie); }
@keyframes pop { 45% { transform: scale(1.2); } }

/* Carte annonce (agences) */
.prix-grand { margin-bottom: 6px; font-size: 23px; font-weight: 700; letter-spacing: -.01em; color: var(--encre); line-height: 1.2; }
.prix-grand small { margin-left: 2px; font-size: 14px; font-weight: 500; color: var(--gris); }
.annonce h3 { font-size: 16px; font-weight: 500; }
.annonce .carte-ligne { margin-top: 6px; }
.agence { display: inline-flex; align-items: center; gap: 10px; font-weight: 500; }
.mini-mono { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid #CCD1D9; font-size: 11.5px; font-weight: 500; letter-spacing: .02em; color: var(--encre); }

/* Carte artisan (construction) */
.artisan .carte-visuel { aspect-ratio: 16 / 8.2; }
.artisan-corps { position: relative; display: flex; flex-direction: column; flex: 1; padding: 0 22px 20px; }
.artisan .monogramme { position: relative; z-index: 1; width: 66px; height: 66px; margin-top: -33px; font-size: 22px; box-shadow: 0 6px 18px rgba(2, 20, 52, .12); }
.artisan-tete { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-top: 14px; }
.artisan h3 { font-size: 17px; }
.note { display: inline-flex; align-items: center; gap: 5px; font-size: 14px; font-weight: 500; color: var(--encre); white-space: nowrap; }
.note .ico { color: var(--or); fill: var(--or); font-size: 15px; }
.note small { font-size: 12.5px; font-weight: 400; color: var(--gris); }
.artisan .lieu { margin-top: 10px; font-size: 13.5px; }
.tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 14px 0 4px; }
.tags span { padding: 4px 10px; border: 1px solid var(--filet); border-radius: 2px; font-size: 12px; color: var(--texte); }
.artisan .carte-pied { justify-content: space-between; border-top: 1px solid var(--filet); margin-top: 16px; }

/* Catégories de métiers */
.categories { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.categorie { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 20px; padding: 26px 24px; background: var(--blanc); border: 1px solid var(--filet-chaud); border-radius: var(--rayon); transition: border-color .4s var(--douce), box-shadow .45s var(--douce), transform .45s var(--sortie); }
.categorie > .ico { font-size: 44px; color: var(--or); stroke-width: 1.15; }
.categorie h3 { font-size: 16px; }
.categorie h3 + p { margin-top: 4px; font-size: 13.5px; line-height: 1.5; }
.fleche { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--filet); border-radius: 2px; color: var(--or); font-size: 18px; transition: background .35s, color .35s, border-color .35s; }
.fleche .ico { transition: transform .45s var(--sortie); }
.categorie:hover { border-color: var(--or); box-shadow: var(--ombre); transform: translateY(-4px); }
.categorie:hover .fleche { background: var(--or); border-color: var(--or); color: var(--blanc); }
.categorie:hover .fleche .ico { transform: translateX(3px); }

/* Agences partenaires */
.agences { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.agence-carte { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 16px; padding: 20px; background: var(--blanc); border: 1px solid var(--filet); border-radius: var(--rayon); font-size: 13px; transition: border-color .4s var(--douce), box-shadow .45s var(--douce), transform .45s var(--sortie); }
.agence-carte .monogramme { width: 56px; height: 56px; font-size: 20px; }
.agence-carte strong { display: block; font-size: 15px; color: var(--encre); }
.agence-carte > .ico { color: var(--or); font-size: 18px; transition: transform .45s var(--sortie); }
.agence-carte:hover { border-color: var(--or); box-shadow: var(--ombre); transform: translateY(-4px); }
.agence-carte:hover > .ico { transform: translateX(4px); }

/* Passerelle Bisecco ↔ BISIMMO */
.chapo { max-width: 640px; margin: -14px auto 34px; text-align: center; font-size: 16px; }
.passerelle { display: grid; grid-template-columns: 1fr 140px 1fr; align-items: center; }
.passerelle-carte { padding: 36px 40px; background: var(--blanc); border: 1px solid var(--filet); border-radius: var(--rayon); box-shadow: var(--ombre); }
.passerelle-carte.marine { background: var(--marine); border-color: var(--marine); color: rgba(255, 255, 255, .78); }
.mot { display: block; font-size: 28px; font-weight: 700; letter-spacing: .03em; color: var(--encre); line-height: 1; }
.marine .mot { color: var(--blanc); }
.sous-titre { display: block; margin-top: 8px; font-size: 14px; font-weight: 500; color: var(--or); }
.passerelle-carte ul { margin-top: 22px; }
.passerelle-carte li { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid var(--filet); font-size: 14.5px; }
.marine li { border-top-color: rgba(255, 255, 255, .12); }
.passerelle-carte li .ico { color: var(--or); font-size: 18px; }
.passerelle-lien { position: relative; height: 2px; background: repeating-linear-gradient(90deg, var(--or) 0 8px, transparent 8px 15px); background-size: 30px 2px; animation: defile 1.4s linear infinite; }
@keyframes defile { to { background-position: 30px 0; } }
.passerelle-noeud { position: absolute; left: 50%; top: 50%; width: 60px; height: 60px; display: grid; place-items: center; transform: translate(-50%, -50%); background: var(--blanc); border: 1px solid var(--or); border-radius: 50%; color: var(--or); font-size: 24px; box-shadow: 0 0 0 8px var(--blanc); }

/* Mission (à propos) */
.mission { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.mission-texte h2 { font-size: 31px; }
.mission-texte :where(p:not(.lien-or)) { margin-top: 18px; font-size: 16px; line-height: 1.75; }
.mission-texte .lead { font-size: 20px; line-height: 1.6; color: var(--encre); }
.mission-texte .lien-or { margin-top: 26px; }
.mission-visuel { position: relative; }
.mission-visuel img { width: 100%; aspect-ratio: 4 / 3.1; object-fit: cover; border-radius: var(--rayon); }
.citation { position: absolute; left: -44px; bottom: -36px; max-width: 340px; margin: 0; padding: 24px 28px; background: var(--blanc); border-left: 2px solid var(--or); border-radius: var(--rayon); box-shadow: var(--ombre-haute); font-size: 14.5px; line-height: 1.6; }
.citation strong { display: block; margin-bottom: 4px; color: var(--encre); }

/* Formulaires */
.contact-grille { display: grid; grid-template-columns: 1.6fr 1fr; gap: 32px; align-items: start; }
.formulaire { padding: 44px; background: var(--blanc); border: 1px solid var(--filet); border-radius: var(--rayon); box-shadow: var(--ombre); }
.formulaire h2 { font-size: 27px; }
.intro { margin-top: 6px; font-size: 14px; color: var(--gris); }
.champs { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 20px; margin-top: 28px; }
.champ-form { display: flex; flex-direction: column; gap: 8px; }
.champ-form.large { grid-column: 1 / -1; }
.champ-form label { font-size: 13px; font-weight: 500; color: var(--encre); }
.champ-form :is(input, select, textarea) { width: 100%; padding: 13px 15px; font: inherit; font-size: 14.5px; color: var(--encre); background-color: var(--blanc); border: 1px solid var(--filet); border-radius: var(--rayon); outline: none; transition: border-color .25s, box-shadow .3s; }
.champ-form textarea { min-height: 150px; resize: vertical; }
.champ-form select { appearance: none; padding-right: 42px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B1226' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 15px center; background-size: 14px; }
.champ-form :is(input, select, textarea):hover { border-color: #D4D6DA; }
.champ-form :is(input, select, textarea):focus { border-color: var(--or); box-shadow: 0 0 0 4px rgba(184, 143, 66, .13); }
.consentement { grid-column: 1 / -1; display: flex; align-items: flex-start; gap: 12px; font-size: 13px; line-height: 1.55; cursor: pointer; }
.consentement input { flex: none; width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--or); }
.formulaire > .bouton { margin-top: 28px; }
.confirmation { display: flex; align-items: center; gap: 10px; margin-top: 18px; padding: 14px 18px; background: var(--sable); border-left: 2px solid var(--or); color: var(--encre); font-weight: 500; animation: apparait .5s var(--sortie); }
.confirmation[hidden] { display: none; }
.confirmation .ico { color: var(--or); font-size: 20px; }
.contact-cote { display: flex; flex-direction: column; gap: 20px; }
.coordonnees { padding: 36px; background: var(--marine); color: rgba(255, 255, 255, .78); border-radius: var(--rayon); }
.coordonnees h3 { margin-bottom: 12px; color: var(--blanc); font-size: 21px; }
.coordonnee { display: grid; grid-template-columns: 46px 1fr; align-items: center; gap: 16px; padding: 18px 0; border-top: 1px solid rgba(255, 255, 255, .12); font-size: 14.5px; }
.coordonnee strong { display: block; color: var(--blanc); font-weight: 500; }
.ico-boite { width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid rgba(184, 143, 66, .55); border-radius: 2px; color: var(--or); font-size: 20px; }
.carte-demo { padding: 30px 32px; background: var(--sable); border-radius: var(--rayon); }
.carte-demo > .ico { font-size: 40px; color: var(--or); stroke-width: 1.2; }
.carte-demo h3 { margin-top: 14px; font-size: 18px; }
.carte-demo h3 + p { margin: 8px 0 16px; font-size: 14px; }

/* Connexion */
.acces { padding: 132px 0 0; }
.acces-grille { display: grid; grid-template-columns: 1fr 1fr; background: var(--blanc); border: 1px solid var(--filet); border-radius: var(--rayon); box-shadow: var(--ombre-haute); overflow: hidden; }
.acces-form { padding: 52px 64px 56px; }
.acces-form h1 { margin-top: 18px; font-size: 36px; }
.onglets { display: flex; gap: 34px; margin: 26px 0 30px; border-bottom: 1px solid var(--filet); }
.onglet { position: relative; padding: 14px 0; font-size: 15px; font-weight: 500; color: var(--gris); transition: color .25s; }
.onglet::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--or); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--sortie); }
.onglet:hover { color: var(--encre); }
.onglet.actif { color: var(--encre); }
.onglet.actif::after { transform: scaleX(1); }
.panneau { display: none; flex-direction: column; gap: 18px; }
.panneau.actif { display: flex; animation: apparait .55s var(--sortie); }
@keyframes apparait { from { opacity: 0; transform: translateY(12px); } }
.bouton.plein { width: 100%; }
.bouton-marine { background: var(--marine); }
.bouton-marine:hover { background: #0A2350; box-shadow: 0 10px 26px rgba(2, 20, 52, .25); }
.bouton .ico { font-size: 18px; color: var(--or); }
.separateur { display: flex; align-items: center; gap: 16px; font-size: 13px; color: var(--gris); }
.separateur::before, .separateur::after { content: ""; flex: 1; height: 1px; background: var(--filet); }
.mdp { position: relative; }
.mdp .voir { position: absolute; right: 12px; bottom: 12px; width: 26px; height: 26px; display: grid; place-items: center; font-size: 18px; color: var(--gris); transition: color .25s; }
.mdp .voir:hover, .mdp .voir.actif { color: var(--or); }
.ligne-options { display: flex; align-items: center; justify-content: space-between; gap: 16px; font-size: 13px; }
.ligne-options a { color: var(--or); font-weight: 500; }
.ligne-options .consentement { grid-column: auto; }
.profils { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 0; height: auto; border: 0; }
.profils .puce { justify-content: flex-start; height: 48px; border: 1px solid var(--filet); }
.profils .puce.actif { border-color: var(--or); background: #FBF8F2; }
.panneau .intro { margin: 0; color: var(--encre); font-weight: 500; }
.note-bisecco { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 13.5px; }
.note-bisecco .ico { color: var(--or); font-size: 16px; }
.note-bisecco a { color: var(--or); font-weight: 500; }
.acces-visuel { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; min-height: 640px; padding: 56px; background: var(--marine); color: rgba(255, 255, 255, .8); overflow: hidden; }
.acces-visuel img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform 8s var(--douce); }
.acces-grille:hover .acces-visuel img { transform: scale(1.05); }
.acces-visuel::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(2, 20, 52, .96) 18%, rgba(2, 20, 52, .6) 58%, rgba(2, 20, 52, .2)); }
.acces-visuel .badge { position: static; margin-bottom: 18px; }
.acces-visuel h2 { color: var(--blanc); font-size: 31px; max-width: 420px; }
.avantages { margin-top: 22px; }
.avantages li { display: flex; align-items: center; gap: 12px; padding: 7px 0; font-size: 15px; }
.avantages .ico { color: var(--or); font-size: 19px; }

.espace-fin { height: 24px; }

@media (max-width: 1180px) {
  .agences { grid-template-columns: 1fr 1fr; }
  .acces-form { padding: 44px 40px; }
}
@media (max-width: 1024px) {
  .categories { grid-template-columns: 1fr 1fr; }
  .passerelle { grid-template-columns: 1fr; gap: 0; }
  .passerelle-lien { width: 2px; height: 90px; margin: 0 auto; background: repeating-linear-gradient(180deg, var(--or) 0 8px, transparent 8px 15px); background-size: 2px 30px; animation-name: defile-v; }
  @keyframes defile-v { to { background-position: 0 30px; } }
  .mission { grid-template-columns: 1fr; gap: 64px; }
  .citation { left: 20px; }
  .contact-grille, .acces-grille { grid-template-columns: 1fr; }
  .acces-visuel { min-height: 420px; }
  .outils { margin-left: 0; }
  .en-liste .cartes-3 { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .hero-page { padding-top: 248px; }
  .hero-page h1 { font-size: clamp(26px, 7vw, 38px); }
  .hero-page .hero-texte { padding-bottom: 36px; }
  .hero-page:not(.avec-barre) .hero-texte { padding-bottom: 40px; }
  .hero-page .hero-texte .chapeau { font-size: 15.5px; }
  .hero-page .barre { margin-bottom: 0; }
  .hero-page.avec-barre { padding-bottom: 24px; }
  .hero-page.avec-barre + .section { padding-top: 40px; }
  .hero-page--marine .hero-fond, .hero-page--sable .hero-fond { height: 300px; }
  .hero-page--marine::before { inset: 0 0 auto 0; height: 302px; background: linear-gradient(0deg, var(--marine) 0, rgba(2, 20, 52, .6) 30%, rgba(2, 20, 52, .1) 70%); }
  .hero-page--sable::before { inset: 0 0 auto 0; height: 302px; background: linear-gradient(0deg, var(--sable) 0, rgba(247, 244, 239, .6) 28%, rgba(247, 244, 239, 0) 60%); }
  .resultats-barre { flex-direction: column; align-items: flex-start; }
  .filtres { flex-wrap: nowrap; overflow-x: auto; max-width: 100%; padding-bottom: 4px; scrollbar-width: none; }
  .filtres .puce { flex: none; }
  .en-liste .carte:not(.pro) { flex-direction: column; }
  .categories, .agences { grid-template-columns: 1fr; }
  .passerelle-carte { padding: 28px 24px; }
  .citation { position: relative; left: 0; bottom: 0; margin: -40px 0 0 16px; }
  .formulaire { padding: 28px 22px; }
  .champs { grid-template-columns: 1fr; }
  .acces { padding-top: 92px; }
  .acces-form { padding: 32px 22px 36px; }
  .acces-form h1 { font-size: 28px; }
  .acces-visuel { padding: 32px 24px; min-height: 380px; }
}

.connexion.actif { color: var(--or); }

/* ---------- Jeu d’icônes (masques) ---------- */
:root {
  --i-loupe: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.2%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Ccircle cx=%2711%27 cy=%2711%27 r=%277.5%27/%3E%3Cpath d=%27m21 21-4.6-4.6%27/%3E%3C/svg%3E");
  --i-bouclier: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.2%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z%27/%3E%3Cpath d=%27m9 12 2 2 4-4%27/%3E%3C/svg%3E");
  --i-poignee: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.2%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27m11 17 2 2a1 1 0 1 0 3-3%27/%3E%3Cpath d=%27m14 14 2.5 2.5a1 1 0 1 0 3-3l-3.88-3.88a3 3 0 0 0-4.24 0l-.88.88a1 1 0 1 1-3-3l2.81-2.81a5.790 5.790 0 0 1 7.06-.87l.47.28a2 2 0 0 0 1.42.25L21 4%27/%3E%3Cpath d=%27m21 3 1 11h-2%27/%3E%3Cpath d=%27M3 3 2 14l6.5 6.5a1 1 0 1 0 3-3%27/%3E%3Cpath d=%27M3 4h8%27/%3E%3C/svg%3E");
  --i-graphe: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.2%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M3 21h18%27/%3E%3Cpath d=%27M5 21V11h4v10%27/%3E%3Cpath d=%27M10 21V7h4v14%27/%3E%3Cpath d=%27M15 21V3h4v18%27/%3E%3Cpath d=%27M6.5 14h1M6.5 17h1M11.5 10h1M11.5 13h1M11.5 16h1M16.5 6h1M16.5 9h1M16.5 12h1M16.5 15h1%27/%3E%3C/svg%3E");
  --i-cadenas: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.2%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Crect width=%2716%27 height=%2711%27 x=%274%27 y=%2711%27 rx=%271.5%27/%3E%3Cpath d=%27M8 11V7a4 4 0 0 1 8 0v4%27/%3E%3Cpath d=%27M12 15.5v2.5%27/%3E%3C/svg%3E");
  --i-oeil: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.2%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M2.06 12.35a1 1 0 0 1 0-.7 10.75 10.75 0 0 1 19.88 0 1 1 0 0 1 0 .7 10.75 10.75 0 0 1-19.88 0%27/%3E%3Ccircle cx=%2712%27 cy=%2712%27 r=%273%27/%3E%3C/svg%3E");
  --i-bulle: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.2%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z%27/%3E%3Cpath d=%27M8 10h.01M12 10h.01M16 10h.01%27/%3E%3C/svg%3E");
  --i-cible: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.2%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Ccircle cx=%2712%27 cy=%2712%27 r=%279.5%27/%3E%3Ccircle cx=%2712%27 cy=%2712%27 r=%275.5%27/%3E%3Ccircle cx=%2712%27 cy=%2712%27 r=%271.5%27/%3E%3Cpath d=%27m13 11 7-7M17 4h3v3%27/%3E%3C/svg%3E");
  --i-reseau: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.2%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Ccircle cx=%2712%27 cy=%278%27 r=%274.5%27/%3E%3Cpath d=%27M20 21a8 8 0 0 0-16 0%27/%3E%3C/svg%3E");
  --i-document: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.2%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z%27/%3E%3Cpath d=%27M14 2v4a2 2 0 0 0 2 2h4%27/%3E%3Cpath d=%27M10 9H8M16 13H8M16 17H8%27/%3E%3C/svg%3E");
  --i-medaille: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.2%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27m15.48 12.89 1.51 8.53a.5.5 0 0 1-.81.47l-3.58-2.69a1 1 0 0 0-1.2 0l-3.59 2.690a.5.5 0 0 1-.81-.47l1.51-8.53%27/%3E%3Ccircle cx=%2712%27 cy=%278%27 r=%276%27/%3E%3Ccircle cx=%2712%27 cy=%278%27 r=%272.5%27/%3E%3C/svg%3E");
  --i-repere: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M20 10c0 5-5.54 10.19-7.4 11.8a1 1 0 0 1-1.2 0C9.54 20.19 4 15 4 10a8 8 0 0 1 16 0%27/%3E%3Ccircle cx=%2712%27 cy=%2710%27 r=%273%27/%3E%3C/svg%3E");
  --i-fleche: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M5 12h14%27/%3E%3Cpath d=%27m13 6 6 6-6 6%27/%3E%3C/svg%3E");
  --i-chevron: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27m6 9 6 6 6-6%27/%3E%3C/svg%3E");
  --i-maison: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8%27/%3E%3Cpath d=%27M3 10a2 2 0 0 1 .71-1.53l7-6a2 2 0 0 1 2.58 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z%27/%3E%3C/svg%3E");
  --i-immeuble: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Crect width=%2716%27 height=%2720%27 x=%274%27 y=%272%27 rx=%271.5%27/%3E%3Cpath d=%27M9 22v-4h6v4%27/%3E%3Cpath d=%27M8 6h.01M12 6h.01M16 6h.01M8 10h.01M12 10h.01M16 10h.01M8 14h.01M12 14h.01M16 14h.01%27/%3E%3C/svg%3E");
  --i-euro: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M4 10h12%27/%3E%3Cpath d=%27M4 14h9%27/%3E%3Cpath d=%27M19 6a7.7 7.7 0 0 0-5.2-2A7.9 7.9 0 0 0 6 12c0 4.4 3.5 8 7.8 8 2 0 3.8-.8 5.2-2%27/%3E%3C/svg%3E");
  --i-etiquette: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M12.59 2.59A2 2 0 0 0 11.17 2H4a2 2 0 0 0-2 2v7.17a2 2 0 0 0 .59 1.42l8.7 8.7a2.43 2.43 0 0 0 3.420 0l6.58-6.58a2.43 2.43 0 0 0 0-3.42z%27/%3E%3Ccircle cx=%277.5%27 cy=%277.5%27 r=%271%27/%3E%3C/svg%3E");
  --i-avion: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.2%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M14.54 21.69a.5.5 0 0 0 .93-.03l6.5-19a.5.5 0 0 0-.63-.63l-19 6.5a.5.5 0 0 0-.03.93l7.93 3.18a2 2 0 0 1 1.11 1.11z%27/%3E%3Cpath d=%27m21.85 2.15-10.94 10.94%27/%3E%3C/svg%3E");
  --i-mallette: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.2%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Crect width=%2720%27 height=%2714%27 x=%272%27 y=%277%27 rx=%271.5%27/%3E%3Cpath d=%27M16 7V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2%27/%3E%3Cpath d=%27M2 13h20%27/%3E%3Cpath d=%27M11 12h2v2h-2z%27/%3E%3C/svg%3E");
  --i-diamant: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.2%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M6 3h12l4 6-10 13L2 9Z%27/%3E%3Cpath d=%27M11 3 8 9l4 13 4-13-3-6%27/%3E%3Cpath d=%27M2 9h20%27/%3E%3C/svg%3E");
  --i-menu: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M4 7h16M4 12h16M4 17h16%27/%3E%3C/svg%3E");
  --i-linkedin: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-4 0v7h-4v-7a6 6 0 0 1 6-6z%27/%3E%3Crect width=%274%27 height=%2712%27 x=%272%27 y=%279%27/%3E%3Ccircle cx=%274%27 cy=%274%27 r=%272%27/%3E%3C/svg%3E");
  --i-courriel: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Crect width=%2720%27 height=%2716%27 x=%272%27 y=%274%27 rx=%272%27/%3E%3Cpath d=%27m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7%27/%3E%3C/svg%3E");
  --i-instagram: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Crect width=%2720%27 height=%2720%27 x=%272%27 y=%272%27 rx=%275%27/%3E%3Ccircle cx=%2712%27 cy=%2712%27 r=%274%27/%3E%3Cpath d=%27M17.5 6.5h.01%27/%3E%3C/svg%3E");
  --i-tours: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 88 104%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.6%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M2 102h84%27/%3E%3Cpath d=%27M10 102V40l20-6v68%27/%3E%3Cpath d=%27M30 102V16L56 6v96%27/%3E%3Cpath d=%27M56 102V46l22 6v50%27/%3E%3Cpath d=%27M15 48h10M15 56h10M15 64h10M15 72h10M15 80h10M15 88h10%27/%3E%3Cpath d=%27M36 26h14M36 34h14M36 42h14M36 50h14M36 58h14M36 66h14M36 74h14M36 82h14M36 90h14%27/%3E%3Cpath d=%27M61 60h12M61 68h12M61 76h12M61 84h12%27/%3E%3Cpath d=%27M38 102v-6h10v6%27/%3E%3C/svg%3E");
  --i-compas: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.2%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Ccircle cx=%2712%27 cy=%275%27 r=%272%27/%3E%3Cpath d=%27m3 21 8.02-14.26%27/%3E%3Cpath d=%27m12.99 6.74 1.93 3.44%27/%3E%3Cpath d=%27M19 12c-3.87 4-10.13 4-14 0%27/%3E%3Cpath d=%27m21 21-2.16-3.84%27/%3E%3C/svg%3E");
  --i-goutte: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.2%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z%27/%3E%3Cpath d=%27M9 15.5a3 3 0 0 0 3 3%27/%3E%3C/svg%3E");
  --i-eclair: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.2%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z%27/%3E%3C/svg%3E");
  --i-marteau: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.2%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27m15 12-8.37 8.37a1 1 0 1 1-3-3L12 9%27/%3E%3Cpath d=%27m18 15 4-4%27/%3E%3Cpath d=%27m21.5 11.5-1.91-1.91A2 2 0 0 1 19 8.17V7l-2.26-2.26a6 6 0 0 0-4.2-1.76L9 2.96l.92.82A6.18 6.18 0 0 1 12 8.4V10l2 2h1.17a2 2 0 0 1 1.42.59L18.5 14.5%27/%3E%3C/svg%3E");
  --i-rouleau: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.2%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Crect width=%2716%27 height=%276%27 x=%272%27 y=%272%27 rx=%271.5%27/%3E%3Cpath d=%27M10 16v-2a2 2 0 0 1 2-2h8a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2%27/%3E%3Crect width=%274%27 height=%276%27 x=%278%27 y=%2716%27 rx=%271%27/%3E%3C/svg%3E");
  --i-casque: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.2%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M10 10V5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v5%27/%3E%3Cpath d=%27M14 6a6 6 0 0 1 6 6v3%27/%3E%3Cpath d=%27M4 15v-3a6 6 0 0 1 6-6%27/%3E%3Crect x=%272%27 y=%2715%27 width=%2720%27 height=%274%27 rx=%271%27/%3E%3C/svg%3E");
  --i-etoile: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M11.53 2.3a.53.53 0 0 1 .95 0l2.31 4.68a2.12 2.12 0 0 0 1.6 1.16l5.16.76a.53.53 0 0 1 .3.9l-3.74 3.64a2.12 2.12 0 0 0-.61 1.88l.88 5.14a.53.53 0 0 1-.77.56l-4.62-2.43a2.12 2.12 0 0 0-1.97 0L6.4 21.01a.53.53 0 0 1-.77-.56l.88-5.14a2.12 2.12 0 0 0-.61-1.88L2.16 9.8a.53.53 0 0 1 .3-.91l5.16-.75a2.12 2.12 0 0 0 1.6-1.16z%27/%3E%3C/svg%3E");
  --i-signet: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z%27/%3E%3C/svg%3E");
  --i-grille: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Crect width=%277%27 height=%277%27 x=%273%27 y=%273%27 rx=%271%27/%3E%3Crect width=%277%27 height=%277%27 x=%2714%27 y=%273%27 rx=%271%27/%3E%3Crect width=%277%27 height=%277%27 x=%2714%27 y=%2714%27 rx=%271%27/%3E%3Crect width=%277%27 height=%277%27 x=%273%27 y=%2714%27 rx=%271%27/%3E%3C/svg%3E");
  --i-liste: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M3 6h.01M3 12h.01M3 18h.01M8 6h13M8 12h13M8 18h13%27/%3E%3C/svg%3E");
  --i-telephone: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z%27/%3E%3C/svg%3E");
  --i-horloge: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Ccircle cx=%2712%27 cy=%2712%27 r=%279.5%27/%3E%3Cpath d=%27M12 6.5V12l3.5 2%27/%3E%3C/svg%3E");
  --i-lien: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71%27/%3E%3Cpath d=%27M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71%27/%3E%3C/svg%3E");
  --i-coche: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M20 6 9 17l-5-5%27/%3E%3C/svg%3E");
  --i-equipe: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.2%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2%27/%3E%3Ccircle cx=%279%27 cy=%277%27 r=%274%27/%3E%3Cpath d=%27M22 21v-2a4 4 0 0 0-3-3.87%27/%3E%3Cpath d=%27M16 3.13a4 4 0 0 1 0 7.75%27/%3E%3C/svg%3E");
  --i-calques: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z%27/%3E%3Cpath d=%27m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65%27/%3E%3Cpath d=%27m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65%27/%3E%3C/svg%3E");
  --i-lit: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M2 4v16%27/%3E%3Cpath d=%27M2 8h18a2 2 0 0 1 2 2v10%27/%3E%3Cpath d=%27M2 17h20%27/%3E%3Cpath d=%27M6 8v9%27/%3E%3C/svg%3E");
  --i-precedent: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27m15 18-6-6 6-6%27/%3E%3C/svg%3E");
  --i-suivant: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27m9 18 6-6-6-6%27/%3E%3C/svg%3E");
  --i-utilisateur: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Ccircle cx=%2712%27 cy=%278%27 r=%274%27/%3E%3Cpath d=%27M5 21a7 7 0 0 1 14 0%27/%3E%3C/svg%3E");
  --i-ajout: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2%27/%3E%3Ccircle cx=%279%27 cy=%277%27 r=%274%27/%3E%3Cpath d=%27M19 8v6M22 11h-6%27/%3E%3C/svg%3E");
  --i-balance: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.2%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M12 3v18M7 21h10%27/%3E%3Cpath d=%27M3 7h18%27/%3E%3Cpath d=%27m6 7-3 7a3 3 0 0 0 6 0Z%27/%3E%3Cpath d=%27m18 7-3 7a3 3 0 0 0 6 0Z%27/%3E%3C/svg%3E");
  --i-cle: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M2.59 17.41A2 2 0 0 0 2 18.83V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.17a2 2 0 0 0 1.42-.59l.81-.81a6.5 6.5 0 1 0-4-4z%27/%3E%3Ccircle cx=%2716.5%27 cy=%277.5%27 r=%271%27/%3E%3C/svg%3E");
  --i-signet-plein: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27black%27%3E%3Cpath d=%27m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z%27/%3E%3C/svg%3E");
  --i-etoile-pleine: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27black%27%3E%3Cpath d=%27M11.53 2.3a.53.53 0 0 1 .95 0l2.31 4.68a2.12 2.12 0 0 0 1.6 1.16l5.16.76a.53.53 0 0 1 .3.9l-3.74 3.64a2.12 2.12 0 0 0-.61 1.88l.88 5.14a.53.53 0 0 1-.77.56l-4.62-2.43a2.12 2.12 0 0 0-1.97 0L6.4 21.01a.53.53 0 0 1-.77-.56l.88-5.14a2.12 2.12 0 0 0-.61-1.88L2.16 9.8a.53.53 0 0 1 .3-.91l5.16-.75a2.12 2.12 0 0 0 1.6-1.16z%27/%3E%3C/svg%3E");
}
.ico-loupe { --ico: var(--i-loupe); }
.ico-bouclier { --ico: var(--i-bouclier); }
.ico-poignee { --ico: var(--i-poignee); }
.ico-graphe { --ico: var(--i-graphe); }
.ico-cadenas { --ico: var(--i-cadenas); }
.ico-oeil { --ico: var(--i-oeil); }
.ico-bulle { --ico: var(--i-bulle); }
.ico-cible { --ico: var(--i-cible); }
.ico-reseau { --ico: var(--i-reseau); }
.ico-document { --ico: var(--i-document); }
.ico-medaille { --ico: var(--i-medaille); }
.ico-repere { --ico: var(--i-repere); }
.ico-fleche { --ico: var(--i-fleche); }
.ico-chevron { --ico: var(--i-chevron); }
.ico-maison { --ico: var(--i-maison); }
.ico-immeuble { --ico: var(--i-immeuble); }
.ico-euro { --ico: var(--i-euro); }
.ico-etiquette { --ico: var(--i-etiquette); }
.ico-avion { --ico: var(--i-avion); }
.ico-mallette { --ico: var(--i-mallette); }
.ico-diamant { --ico: var(--i-diamant); }
.ico-menu { --ico: var(--i-menu); }
.ico-linkedin { --ico: var(--i-linkedin); }
.ico-courriel { --ico: var(--i-courriel); }
.ico-instagram { --ico: var(--i-instagram); }
.ico-tours { --ico: var(--i-tours); }
.ico-compas { --ico: var(--i-compas); }
.ico-goutte { --ico: var(--i-goutte); }
.ico-eclair { --ico: var(--i-eclair); }
.ico-marteau { --ico: var(--i-marteau); }
.ico-rouleau { --ico: var(--i-rouleau); }
.ico-casque { --ico: var(--i-casque); }
.ico-etoile { --ico: var(--i-etoile); }
.ico-signet { --ico: var(--i-signet); }
.ico-grille { --ico: var(--i-grille); }
.ico-liste { --ico: var(--i-liste); }
.ico-telephone { --ico: var(--i-telephone); }
.ico-horloge { --ico: var(--i-horloge); }
.ico-lien { --ico: var(--i-lien); }
.ico-coche { --ico: var(--i-coche); }
.ico-equipe { --ico: var(--i-equipe); }
.ico-calques { --ico: var(--i-calques); }
.ico-lit { --ico: var(--i-lit); }
.ico-precedent { --ico: var(--i-precedent); }
.ico-suivant { --ico: var(--i-suivant); }
.ico-utilisateur { --ico: var(--i-utilisateur); }
.ico-ajout { --ico: var(--i-ajout); }
.ico-balance { --ico: var(--i-balance); }
.ico-cle { --ico: var(--i-cle); }

/* =====================================================================
   Adaptation au balisage WordPress
   Le CSS ci-dessus est celui de la maquette. Ce qui suit le fait
   correspondre aux blocs natifs : paragraphes à la place des liens et
   boutons, figures autour des images, icônes en masques CSS.
   ===================================================================== */

img { height: auto; }
figure.wp-block-image { margin: 0; }
:where(.wp-block-group) > :where(*), :where(.wp-block-buttons) { margin-block: 0; }
.wp-site-blocks { overflow-x: clip; }
a { text-decoration: none; }

/* Texte masqué mais lu par les lecteurs d'écran */
.signet, .vue, .champ-loupe, .passerelle-noeud, .tuile-fleche a, .fleche a, .fleche-simple a, .reseaux a { font-size: 0; color: transparent; }

/* ---------- Système d'icônes : masques CSS ---------- */
.atout::before, .atout-carte::before, .offre-tete::before, .categorie::before, .carte-demo::before,
.champ::before, .puce::before, .lieu::before, .verifie::before, .note::before, .signet::before, .vue::before,
.tuile-fleche::before, .fleche::before, .fleche-simple::before, .lien-or a::after, .liste .champ::after,
.etape::after, .hero-carte::after, .coordonnee::after, .passerelle-noeud::before, .champ-lieu::before,
.passerelle-carte li::before, .avantages li::before, .reseaux a::before, .bouton[class*="ico-"]::before,
.th-item::before, .acces-pro a::after,
.vitrine-lieu::before, .vitrine-cta a::after, .vitrine-catalogue a::after, .vitrine-fleche::before {
  content: ""; display: block; flex: none;
  background-color: currentColor;
  -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat;
}
.bandeau-pro .enveloppe::before, .encart-sable::before {
  content: ""; display: block; flex: none; background-color: var(--or);
  -webkit-mask: var(--i-tours) center / contain no-repeat; mask: var(--i-tours) center / contain no-repeat;
}

/* ---------- Boutons et liens : le paragraphe porte le style, le lien couvre la surface ---------- */
.bouton a, .bouton-contour a { color: inherit; }
.bouton a::before, .bouton-contour a::before { content: ""; position: absolute; inset: 0; z-index: 1; }
.bouton-contour { position: relative; }
.bouton.plein { display: flex; }
.bouton.ico-lien { --ico: var(--i-lien); }
.bouton[class*="ico-"]::before { width: 18px; height: 18px; color: var(--or); }
.lien-or a { display: inline-flex; align-items: center; gap: 8px; color: inherit; }
.lien-or a::after { --ico: var(--i-fleche); width: 16px; height: 16px; transition: transform .35s var(--sortie); }
.lien-or a:hover::after { transform: translateX(5px); }
input.bouton { border: 0; cursor: pointer; font-family: inherit; -webkit-appearance: none; appearance: none; }

/* ---------- En-tête (calqué sur egagency.fr, charte BISIMMO) ---------- */
.logo.wp-block-site-logo { line-height: 0; }
.logo.wp-block-site-logo img { display: block; width: 170px; height: auto; transition: width .4s var(--douce); }
/* Logo du site : version fond sombre (marine passé en blanc, or conservé), médiathèque n° 2164 */
.entete.colle .logo.wp-block-site-logo img { width: 140px; }
.pied .logo.wp-block-site-logo img { width: 190px; }

/* Bandeau sombre translucide posé sur le héros */
/* Le fond flouté vit sur un calque (::before) et jamais sur .entete elle-même :
   un backdrop-filter sur l'en-tête deviendrait le bloc conteneur du panneau de menu
   (position: fixed), qui resterait alors enfermé dans les 68-135 px de l'en-tête. */
.entete { color: var(--blanc); isolation: isolate; transition: box-shadow .4s var(--douce); }
.entete::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    linear-gradient(90deg, var(--marine) 0%, #0F2A55 28%, var(--or) 50%, #0F2A55 72%, var(--marine) 100%) top / 100% 2px no-repeat,
    linear-gradient(180deg, rgba(2, 20, 52, .94) 0%, rgba(2, 20, 52, .86) 100%);
  -webkit-backdrop-filter: blur(16px) saturate(1.4); backdrop-filter: blur(16px) saturate(1.4);
  transition: background .4s var(--douce); }
.entete::after { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 2px; background: var(--or); transform: scaleX(var(--p, 0)); transform-origin: 0 50%; opacity: 0; transition: opacity .3s; }
.admin-bar .entete { top: 32px; }

/* Barre supérieure */
.barre-haut { max-height: 39px; padding-top: 2px; overflow: hidden; background: rgba(0, 0, 0, .22); border-bottom: 1px solid rgba(255, 255, 255, .1); transition: max-height .45s var(--douce), opacity .3s, padding .45s var(--douce); }
.entete .barre-haut .enveloppe { display: flex; align-items: center; justify-content: space-between; gap: 24px; height: 36px; }
.barre-haut-gauche, .barre-haut-droite { display: flex; align-items: center; }
.th-item { display: inline-flex; align-items: center; gap: 8px; font-size: 11.5px; line-height: 1; color: rgba(255, 255, 255, .92); white-space: nowrap; }
.th-item:first-child { font-weight: 600; color: var(--blanc); }
.th-item + .th-item { margin-left: 16px; padding-left: 16px; border-left: 1px solid rgba(255, 255, 255, .22); }
.th-item::before { width: 13px; height: 13px; color: rgba(255, 255, 255, .7); }
.th-item a { color: inherit; transition: color .25s; }
.th-item a:hover { color: var(--or); }
.th-note { display: inline-flex; align-items: center; gap: 8px; font-size: 11.5px; line-height: 1; color: rgba(255, 255, 255, .6); white-space: nowrap; }
.th-note::before { content: ""; width: 13px; height: 13px; background: var(--or); -webkit-mask: var(--i-bouclier) center / contain no-repeat; mask: var(--i-bouclier) center / contain no-repeat; }
.th-note strong { font-weight: 700; color: var(--blanc); }

/* Barre principale : menu · logo centré · actions */
.entete .barre-principale .enveloppe { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 32px; height: 96px; transition: height .4s var(--douce); }
.wp-block-navigation.nav { justify-self: start; margin-left: 0; font-size: 13px; font-weight: 600; color: var(--blanc); gap: 0; }
.wp-block-navigation.nav .wp-block-navigation__container { gap: 20px; flex-wrap: nowrap; white-space: nowrap; }
.nav .wp-block-navigation-item__content { position: relative; padding: 4px 0; color: inherit; transition: color .25s; }
.nav .wp-block-navigation-item__content::after { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 1px; background: var(--or); transform: scaleX(0); transform-origin: right; transition: transform .45s var(--sortie); }
.nav .wp-block-navigation-item__content:hover { color: var(--or); }
.nav .wp-block-navigation-item__content:hover::after, .nav .actif::after { transform: scaleX(1); transform-origin: left; }
.barre-principale .logo { justify-self: center; }
.entete-droite { justify-self: end; display: flex; align-items: center; gap: 16px; }

.acces-pro a { position: relative; display: grid; grid-template-columns: 34px auto; grid-template-rows: auto auto; column-gap: 10px; align-items: center; font-size: 13.5px; font-weight: 700; line-height: 1.15; color: var(--blanc); transition: color .3s; }
.acces-pro a::before { content: ""; grid-row: 1 / 3; width: 34px; height: 34px; border: 1px solid rgba(255, 255, 255, .28); border-radius: 50%; background: rgba(255, 255, 255, .06); transition: background .3s, border-color .3s; }
.acces-pro a::after { --ico: var(--i-utilisateur); position: absolute; left: 9px; top: 50%; width: 16px; height: 16px; margin-top: -8px; color: rgba(255, 255, 255, .85); }
.acces-pro strong { align-self: end; font-size: 9.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: rgba(255, 255, 255, .6); }
.acces-pro a:hover { color: var(--or); }
.acces-pro a:hover::before { border-color: var(--or); background: rgba(184, 143, 66, .14); }
.acces-pro.actif a::before { border-color: var(--or); }

.bouton.bouton-entete { height: 40px; padding: 0 24px; gap: 9px; font-size: 12.5px; font-weight: 700; border-radius: 2px; }
.bouton.bouton-entete::before { width: 14px; height: 14px; color: var(--blanc); }

/* Bouton carré à trois traits */
.nav-panneau .wp-block-navigation__responsive-container-open { position: relative; display: block !important; width: 44px; height: 44px; padding: 0; border: 1px solid rgba(255, 255, 255, .45); border-radius: 2px; color: var(--blanc); background: transparent; transition: border-color .3s, color .3s, background .3s; }
.nav-panneau .wp-block-navigation__responsive-container-open svg { display: none; }
.nav-panneau .wp-block-navigation__responsive-container-open::before { content: ""; position: absolute; right: 11px; top: calc(50% - 7px); width: 20px; height: 1.5px; background: currentColor; box-shadow: 0 12px 0 currentColor; }
.nav-panneau .wp-block-navigation__responsive-container-open::after { content: ""; position: absolute; right: 11px; top: calc(50% - 1px); width: 13px; height: 1.5px; background: currentColor; transition: width .35s var(--sortie); }
.nav-panneau .wp-block-navigation__responsive-container-open:hover::after { width: 20px; }
.nav-panneau .wp-block-navigation__responsive-container-open:hover { border-color: var(--or); color: var(--or); }

/* Panneau latéral */
.wp-block-navigation.nav-panneau .wp-block-navigation__responsive-container.is-menu-open {
  left: auto !important; width: min(420px, 100vw) !important; padding: 32px 40px !important;
  background-color: var(--marine) !important; color: var(--blanc) !important;
  box-shadow: 0 0 0 100vmax rgba(2, 20, 52, .5), -24px 0 60px rgba(2, 20, 52, .35);
  animation: panneau .55s var(--sortie);
}
@keyframes panneau { from { transform: translateX(100%); } }
.nav-panneau .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 64px !important; align-items: stretch !important; }
.nav-panneau .is-menu-open .wp-block-navigation__container { gap: 0 !important; width: 100%; align-items: stretch !important; }
.nav-panneau .is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid rgba(255, 255, 255, .08); }
.nav-panneau .is-menu-open .wp-block-navigation-item__content { display: block; width: 100%; padding: 15px 0 !important; font-size: 19px; font-weight: 500; color: inherit; transition: color .25s, padding-left .35s var(--sortie); }
.nav-panneau .is-menu-open .wp-block-navigation-item__content:hover, .nav-panneau .is-menu-open .actif { color: var(--or); padding-left: 8px !important; }
.nav-panneau .lien-espace { margin-top: 18px; border-bottom: 0 !important; }
.nav-panneau .lien-espace .wp-block-navigation-item__content { color: var(--or); }
.nav-panneau .wp-block-navigation__responsive-container-close { top: 30px; right: 34px; color: var(--blanc); }
.nav-panneau .is-menu-open .wp-block-navigation-item:has(> .logo-panneau) { margin-bottom: 26px; padding-bottom: 26px; border-bottom: 1px solid rgba(184, 143, 66, .35); }
.nav-panneau .logo-panneau img { display: block; width: 150px; height: auto; }

/* Au défilement : la barre supérieure se replie, la barre principale s'affine */
.entete.colle { background: none; -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: 0 4px 24px rgba(0, 0, 0, .18); }
.entete.colle::before { background: linear-gradient(90deg, var(--marine) 0%, #0F2A55 28%, var(--or) 50%, #0F2A55 72%, var(--marine) 100%) top / 100% 2px no-repeat, rgba(2, 20, 52, .92); -webkit-backdrop-filter: blur(20px) saturate(1.6); backdrop-filter: blur(20px) saturate(1.6); }
.entete.colle::after { opacity: 1; }
.entete.colle .barre-haut { max-height: 0; padding-top: 0; opacity: 0; border-bottom-width: 0; }
.entete.colle .barre-principale .enveloppe { height: 76px; }

/* Les héros réservent la place de l'en-tête */
@media (min-width: 761px) {
  .hero { padding-top: 210px; }
  .hero-page { padding-top: 194px; }
  .acces { padding-top: 170px; }
}
@media (max-width: 1320px) {
  .acces-pro { display: none; }
  .wp-block-navigation.nav { font-size: 12.5px; }
  .wp-block-navigation.nav .wp-block-navigation__container { gap: 16px; }
}
@media (max-width: 1180px) {
  .entete .barre-principale .wp-block-navigation.nav { display: none; }
  .entete .barre-principale .enveloppe { grid-template-columns: auto 1fr; }
  .barre-principale .logo { justify-self: start; }
}
@media (max-width: 1024px) {
  .th-item.ico-lien, .th-note { display: none; }
}
@media (max-width: 782px) { .admin-bar .entete { top: 46px; } .admin-bar .entete.colle { top: 0; } }
@media (max-width: 760px) {
  .barre-haut { display: none; }
  .entete .barre-principale .enveloppe, .entete.colle .barre-principale .enveloppe { height: 68px; }
  .bouton.bouton-entete { display: none; }
  .logo.wp-block-site-logo img, .entete.colle .logo.wp-block-site-logo img { width: 124px; }
}

/* ---------- Hero ---------- */
.hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: inherit; }
.hero h1 em { display: block; font-style: normal; color: var(--or); }
.hero h1 .ligne em { display: inline; }
.avec-filet::after { content: ""; display: block; width: 66px; height: 2px; margin-top: 34px; background: var(--or); transform-origin: left; }
.js .hero .avec-filet::after { transform: scaleX(0); transition: transform 1.3s var(--sortie) .6s; }
.js .hero.entre .avec-filet::after { transform: scaleX(1); }
.hero-carte p { margin: 0; }
.hero-carte::before { content: ""; width: 44px; height: 44px; flex: none; background: var(--marine); border-radius: 2px; }
.hero-carte::after { --ico: var(--i-bouclier); position: absolute; left: 25px; top: 50%; width: 22px; height: 22px; margin-top: -11px; color: var(--or); }
.hero-meta .fil a { color: inherit; }

/* Barre de recherche */
.champ { cursor: default; }
.liste .champ { cursor: pointer; }
.champ::before { width: 18px; height: 18px; color: var(--gris); }
.liste .champ::after { --ico: var(--i-chevron); width: 14px; height: 14px; color: var(--encre); transition: transform .35s var(--sortie); }
.liste.ouvert .champ::after { transform: rotate(180deg); }
.champ-loupe::before { --ico: var(--i-loupe); width: 22px; height: 22px; color: var(--or); }
.liste .champ:hover { color: var(--or); }
.menu li { cursor: pointer; list-style: none; }
.puce { cursor: pointer; }
.puce::before { width: 18px; height: 18px; color: var(--gris); transition: color .25s; }
.puce.actif::before { color: var(--or); }
.champ:not([class*="ico-"]):not(.champ-loupe)::before, .puce:not([class*="ico-"])::before { display: none; }
.filtres .puce::before, .profils .puce::before { display: none; }
.filtres .puce.actif::before { display: none; }

.champ-lieu.wp-block-search { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 12px; align-content: center; flex: 1; min-width: 0; height: 52px; margin: 0; padding: 0 24px; }
.champ-lieu::before { --ico: var(--i-repere); grid-row: 1 / 3; align-self: center; width: 20px; height: 20px; color: var(--or); }
.champ-lieu.wp-block-search .wp-block-search__label { grid-column: 2; display: block; width: auto; margin: 0; font-size: 12px; font-weight: 500; color: var(--encre); line-height: 1.2; }
.champ-lieu.wp-block-search .wp-block-search__inside-wrapper { grid-column: 2; display: block; padding: 0; border: 0; background: none; }
.champ-lieu.wp-block-search .wp-block-search__input { display: block; width: 100%; min-width: 0; margin: 0; padding: 4px 0; border: 0; border-radius: 0; font: inherit; font-size: 14px; color: var(--encre); outline: none;
  background: linear-gradient(var(--or), var(--or)) no-repeat left bottom / 0 1px, linear-gradient(var(--filet), var(--filet)) no-repeat left bottom / 100% 1px; transition: background-size .5s var(--sortie); }
.champ-lieu.wp-block-search .wp-block-search__input:focus { background-size: 100% 1px, 100% 1px; }
.champ-lieu.wp-block-search .wp-block-search__input::placeholder { color: var(--gris); }

/* ---------- Cartes ---------- */
.carte-visuel > .wp-block-image { position: absolute; inset: 0; }
.carte-visuel img { width: 100%; height: 100%; object-fit: cover; }
.lieu::before { --ico: var(--i-repere); width: 15px; height: 15px; color: var(--or); }
.verifie::before { --ico: var(--i-bouclier); width: 15px; height: 15px; }
.signet { cursor: pointer; }
.signet::before { --ico: var(--i-signet); width: 17px; height: 17px; }
.signet.actif::before { --ico: var(--i-signet-plein); }
.prix-grand em { margin-left: 2px; font-size: 14px; font-style: normal; font-weight: 500; color: var(--gris); }
.note::before { --ico: var(--i-etoile-pleine); width: 15px; height: 15px; color: var(--or); }
.note em { font-size: 12.5px; font-style: normal; font-weight: 400; color: var(--gris); }
.tags { margin: 14px 0 4px; padding: 0; list-style: none; }
.tags li { padding: 4px 10px; border: 1px solid var(--filet); border-radius: 2px; font-size: 12px; color: var(--texte); }
.agence p { margin: 0; }
.artisan .carte-pied { flex-wrap: nowrap; }

/* Tuiles : la flèche porte le lien, étiré sur toute la tuile */
.tuile > .wp-block-image { position: static; }
.tuile-fleche::before { --ico: var(--i-fleche); width: 20px; height: 20px; transition: transform .45s var(--sortie); }
.tuile:hover .tuile-fleche::before { transform: translateX(4px); }
.tuile-fleche a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.tuile-texte p { margin-top: 8px; }

/* ---------- Sections ---------- */
.atout::before { width: 52px; height: 52px; margin: 0 auto 18px; color: var(--or); }
.atout-carte::before { width: 46px; height: 46px; color: var(--or); }
.etape::before { content: ""; grid-column: 2; grid-row: 1; width: 76px; height: 76px; border-radius: 50%; background: var(--nuage); transition: background .4s var(--douce); }
.etape::after { grid-column: 2; grid-row: 1; justify-self: center; align-self: start; width: 28px; height: 28px; margin-top: 24px; color: var(--encre); transition: color .4s var(--douce); }
.etape:hover::before { background: var(--marine); }
.etape:hover::after { color: var(--or); }
.etape .num { grid-column: 1; grid-row: 1; }
.etape > .wp-block-group { grid-column: 3; grid-row: 1; }
.offre-tete::before { width: 38px; height: 38px; color: var(--encre); }
.offre ul { padding: 0; list-style: none; }
.bandeau-pro .enveloppe::before { width: 92px; height: 108px; }
.encart-sable::before { width: 72px; height: 86px; }
.bandeau-pro h2 + p, .encart-sable h2 + p { margin-top: 10px; }
.encart-sable h2 + p { margin-top: 8px; }
.temoignage .fonction { display: block; }
.faq summary { list-style: none; }
.faq details { overflow: hidden; }

/* ---------- Pages intérieures ---------- */
.hero-page .fil a { color: inherit; transition: color .25s; }
.hero-page .fil a:hover { color: var(--or); }
.compte strong { margin-right: 8px; }
.vue { cursor: pointer; }
.vue-g::before { --ico: var(--i-grille); width: 17px; height: 17px; }
.vue-l::before { --ico: var(--i-liste); width: 17px; height: 17px; }
/* le texte de .vue est masqué par une couleur transparente : l’icône reprend sa propre couleur */
.vue::before { color: var(--gris); transition: color .25s; }
.vue:hover::before { color: var(--encre); }
.vue.actif::before { color: var(--or); }
.outils .menu { list-style: none; }
.pagination a, .pagination strong { min-width: 44px; height: 44px; padding: 0 6px; display: grid; place-items: center; border: 1px solid var(--filet); border-radius: var(--rayon); font-size: 14px; font-weight: 500; color: var(--encre); transition: border-color .25s, color .25s, background .25s; }
.pagination strong { background: var(--marine); border-color: var(--marine); color: var(--blanc); }
.categorie { position: relative; }
.categorie::before { width: 44px; height: 44px; color: var(--or); }
.fleche::before { --ico: var(--i-fleche); width: 18px; height: 18px; transition: transform .45s var(--sortie); }
.categorie:hover .fleche::before { transform: translateX(3px); }
.fleche a::after, .fleche-simple a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.agence-carte { position: relative; }
.agence-carte p { margin: 0; }
.fleche-simple::before { --ico: var(--i-fleche); width: 18px; height: 18px; color: var(--or); transition: transform .45s var(--sortie); }
.agence-carte:hover .fleche-simple::before { transform: translateX(4px); }
.passerelle-carte ul { padding: 0; list-style: none; }
.passerelle-carte li::before { --ico: var(--i-coche); width: 18px; height: 18px; color: var(--or); }
.passerelle-noeud::before { --ico: var(--i-lien); width: 24px; height: 24px; color: var(--or); }
.citation p { margin: 0; }
.coordonnee { position: relative; }
.coordonnee::before { content: ""; width: 46px; height: 46px; border: 1px solid rgba(184, 143, 66, .55); border-radius: 2px; }
.coordonnee::after { position: absolute; left: 13px; top: 50%; width: 20px; height: 20px; margin-top: -10px; color: var(--or); }
.carte-demo::before { --ico: var(--i-mallette); width: 40px; height: 40px; color: var(--or); }
.avantages { padding: 0; list-style: none; }
.avantages li::before { --ico: var(--i-coche); width: 19px; height: 19px; color: var(--or); }
.reseaux a { display: inline-flex; color: var(--blanc); }
.reseaux a::before { width: 19px; height: 19px; font-size: 19px; }
.reseaux a:nth-child(1)::before { --ico: var(--i-linkedin); }
.reseaux a:nth-child(2)::before { --ico: var(--i-courriel); }
.reseaux a:nth-child(3)::before { --ico: var(--i-instagram); }
.pied-accroche::after { content: ""; display: block; width: 44px; height: 1px; margin-top: 22px; background: var(--or); }
.pied ul { padding: 0; list-style: none; }

/* Onglets et panneaux de l'espace pro */
.onglet { cursor: pointer; }
.separateur { margin: 0; }
.oubli { font-size: 13px; text-align: right; }
.oubli a { color: var(--or); font-weight: 500; }
.note-bisecco::before { content: ""; width: 16px; height: 16px; background: var(--or); -webkit-mask: var(--i-lien) center / contain no-repeat; mask: var(--i-lien) center / contain no-repeat; }
.acces-visuel > .wp-block-image { position: static; }

/* Formulaire de connexion WordPress (bloc Connexion/Déconnexion) */
.connexion-wp form { display: flex; flex-direction: column; gap: 18px; }
.connexion-wp form p { display: flex; flex-direction: column; gap: 8px; margin: 0; }
.connexion-wp label { font-size: 13px; font-weight: 500; color: var(--encre); }
.connexion-wp .input { width: 100%; padding: 13px 15px; font: inherit; font-size: 14.5px; color: var(--encre); background: var(--blanc); border: 1px solid var(--filet); border-radius: var(--rayon); outline: none; transition: border-color .25s, box-shadow .3s; }
.connexion-wp .input:focus { border-color: var(--or); box-shadow: 0 0 0 4px rgba(184, 143, 66, .13); }
.connexion-wp .login-remember label { display: flex; align-items: center; gap: 10px; font-weight: 400; }
.connexion-wp .login-remember input { width: 18px; height: 18px; accent-color: var(--or); }
.connexion-wp .login-submit input { width: 100%; height: 52px; border: 0; border-radius: var(--rayon); background: var(--or); color: var(--blanc); font: inherit; font-size: 15px; font-weight: 500; cursor: pointer; transition: background .3s, box-shadow .3s; }
.connexion-wp .login-submit input:hover { background: var(--or-fonce); box-shadow: 0 10px 26px rgba(184, 143, 66, .32); }
.connexion-wp > a { color: var(--or); font-weight: 500; }

/* Contact Form 7 */
.wpcf7 form { margin: 0; }
.wpcf7-form-control-wrap { display: block; }
.champ-form .wpcf7-form-control:not(.wpcf7-acceptance) { width: 100%; padding: 13px 15px; font: inherit; font-size: 14.5px; color: var(--encre); background-color: var(--blanc); border: 1px solid var(--filet); border-radius: var(--rayon); outline: none; transition: border-color .25s, box-shadow .3s; }
.champ-form textarea.wpcf7-form-control { min-height: 150px; resize: vertical; }
.champ-form select.wpcf7-form-control { -webkit-appearance: none; appearance: none; padding-right: 42px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B1226' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 15px center; background-size: 14px; }
.champ-form .wpcf7-form-control:hover { border-color: #D4D6DA; }
.champ-form .wpcf7-form-control:focus { border-color: var(--or); box-shadow: 0 0 0 4px rgba(184, 143, 66, .13); }
.consentement .wpcf7-list-item { margin: 0; }
.consentement label { display: flex; align-items: flex-start; gap: 12px; font-size: 13px; line-height: 1.55; cursor: pointer; }
.consentement input { flex: none; width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--or); }
.wpcf7 .bouton { margin-top: 28px; }
.wpcf7 .bouton.plein { width: 100%; }
.wpcf7-spinner { display: none; }
.wpcf7-not-valid-tip { margin-top: 6px; font-size: 12.5px; color: #A33A2B; }
.wpcf7 form .wpcf7-response-output { margin: 18px 0 0; padding: 14px 18px; border: 0; border-left: 2px solid var(--or); background: var(--sable); color: var(--encre); font-weight: 500; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output { border-left-color: #A33A2B; }

/* Contenus simples (pages légales créées plus tard dans l'éditeur) */
.wp-block-post-content > :first-child:not(.hero):not(.acces):not(.wp-block-group) { margin-top: 150px; }
.wp-block-post-content > :where(p, h2, h3, h4, ul, ol, blockquote, .wp-block-table) { max-width: 820px; margin-left: auto; margin-right: auto; padding-left: 24px; padding-right: 24px; }
.wp-block-post-content > :where(p, ul, ol) { margin-bottom: 1.1em; font-size: 16px; line-height: 1.75; }
.wp-block-post-content > :where(h2, h3) { margin-top: 1.6em; margin-bottom: .6em; }


/* ---------- Sélection exclusive : carrousel 3D (calqué sur egagency.fr, charte BISIMMO) ---------- */
.vitrine { position: relative; overflow: hidden; margin: 34px 0; padding: 56px 0 60px; color: var(--blanc);
  background: radial-gradient(130% 115% at 50% -10%, #143366 0%, #0B2350 40%, var(--marine) 100%); }
.vitrine::before { content: ""; position: absolute; left: 50%; top: 52%; width: 900px; height: 420px; transform: translate(-50%, -50%); border-radius: 50%;
  background: radial-gradient(closest-side, rgba(184, 143, 66, .16), transparent); pointer-events: none; }
.vitrine .enveloppe { position: relative; }
.vitrine-tete { margin-bottom: 30px; text-align: center; }
.vitrine-surtitre { display: inline-flex; align-items: center; gap: 14px; font-size: 11.5px; font-weight: 600; letter-spacing: .3em; text-transform: uppercase; color: var(--or); }
.vitrine-surtitre::before, .vitrine-surtitre::after { content: ""; width: 48px; height: 1px; background: linear-gradient(90deg, transparent, var(--or)); }
.vitrine-surtitre::after { background: linear-gradient(90deg, var(--or), transparent); }
.vitrine-titre { margin-top: 12px; font-size: 44px; letter-spacing: -.012em; color: var(--blanc); }

.vitrine-scene { position: relative; height: 540px; perspective: 1800px; }
/* plan à plat : chaque carte porte sa propre perspective, l'ordre d'empilement suit donc le z-index */
.vitrine-piste { position: relative; height: 100%; }
/* centrée par left/top et non par marge : WordPress remet à 0 la marge haute du premier enfant d'un groupe */
.vitrine-carte { --l: 620px; --h: 540px; position: absolute; left: calc(50% - var(--l) / 2); top: calc(50% - var(--h) / 2); width: var(--l); height: var(--h); margin: 0; overflow: hidden; border-radius: var(--rayon);
  background: var(--marine); box-shadow: 0 40px 80px -34px rgba(0, 0, 0, .72);
  transition: transform .7s cubic-bezier(.22, 1, .36, 1), opacity .7s cubic-bezier(.22, 1, .36, 1); will-change: transform, opacity; }
.vitrine-carte:not(.est-active) { cursor: pointer; }
.vitrine-carte > .wp-block-image { position: absolute; inset: 0; }
.vitrine-carte > .wp-block-image img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.08); transition: transform 1.6s var(--sortie); }
.vitrine-carte.est-active > .wp-block-image img { transform: scale(1); }
.vitrine-carte::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(105deg, rgba(2, 20, 52, .9) 0%, rgba(2, 20, 52, .46) 42%, rgba(2, 20, 52, .06) 68%, transparent 100%),
              linear-gradient(0deg, rgba(2, 20, 52, .72) 0%, transparent 42%); }

.vitrine-etiquettes { position: absolute; z-index: 2; top: 24px; left: 24px; display: flex; flex-wrap: wrap; gap: 8px; }
.etiquette { padding: 7px 14px; border-radius: 2px; font-size: 10.5px; font-weight: 700; line-height: 1.2; letter-spacing: .12em; text-transform: uppercase; }
.etiquette-or { background: linear-gradient(135deg, #C9A35A, var(--or) 55%, #9E7A35); color: var(--marine); }
.etiquette-verre { border: 1px solid rgba(255, 255, 255, .34); background: rgba(255, 255, 255, .14); color: var(--blanc); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }

.vitrine-panneau { position: absolute; z-index: 2; left: 34px; right: 34px; bottom: 32px; transition: opacity .5s var(--douce), transform .7s var(--sortie); }
.vitrine-carte:not(.est-active) .vitrine-panneau { opacity: .55; }
.vitrine-kicker { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; font-size: 11px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: rgba(255, 255, 255, .8); }
.vitrine-kicker strong { display: inline-flex; align-items: center; gap: 12px; font-weight: 600; color: var(--or); }
.vitrine-kicker strong::before { content: ""; width: 22px; height: 1px; background: rgba(255, 255, 255, .4); }
.vitrine-prix { margin-top: 12px; font-size: 44px; font-weight: 700; line-height: 1.05; letter-spacing: -.015em; color: var(--blanc); }
.vitrine-prix em { display: block; margin-bottom: 6px; font-size: 13px; font-style: normal; font-weight: 500; letter-spacing: .04em; color: rgba(255, 255, 255, .72); }
.vitrine-lieu { display: flex; align-items: center; gap: 8px; margin-top: 12px; font-size: 15px; color: rgba(255, 255, 255, .92); }
.vitrine-lieu::before { --ico: var(--i-repere); width: 16px; height: 16px; color: var(--or); }
.vitrine-specs { margin-top: 6px; font-size: 13.5px; word-spacing: 2px; color: rgba(255, 255, 255, .76); }
.vitrine-cta { margin-top: 20px; }
.vitrine-cta a { display: inline-flex; align-items: center; gap: 12px; height: 44px; padding: 0 24px; border-radius: 2px; background: var(--blanc); color: var(--marine);
  font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; transition: background .3s, color .3s; }
.vitrine-cta a::after { --ico: var(--i-fleche); width: 16px; height: 16px; transition: transform .35s var(--sortie); }
.vitrine-cta a:hover { background: var(--or); color: var(--blanc); }
.vitrine-cta a:hover::after { transform: translateX(4px); }

.vitrine-fleche { position: absolute; z-index: 60; top: 50%; width: 50px; height: 50px; margin-top: -25px; border: 1px solid rgba(255, 255, 255, .34); border-radius: 50%;
  background: rgba(2, 20, 52, .45); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); font-size: 0; color: var(--blanc); cursor: pointer; transition: background .3s, border-color .3s; }
.vitrine-prec { left: 0; }
.vitrine-suiv { right: 0; }
.vitrine-fleche::before { --ico: var(--i-fleche); position: absolute; inset: 0; margin: auto; width: 18px; height: 18px; }
.vitrine-prec::before { transform: rotate(180deg); }
.vitrine-fleche:hover { border-color: var(--or); background: var(--or); }

.vitrine-points { display: flex; justify-content: center; gap: 9px; margin-top: 28px; }
.vitrine-points button { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 999px; background: rgba(255, 255, 255, .35); cursor: pointer; transition: width .45s var(--sortie), background .3s; }
.vitrine-points button:hover { background: rgba(255, 255, 255, .6); }
.vitrine-points button.actif { width: 30px; background: var(--or); }
.vitrine-catalogue { margin-top: 26px; text-align: center; }
.vitrine-catalogue a { display: inline-flex; align-items: center; gap: 12px; height: 46px; padding: 0 28px; border: 1px solid rgba(255, 255, 255, .3); border-radius: 2px;
  background: rgba(255, 255, 255, .06); color: var(--blanc); font-size: 12.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; transition: border-color .3s, color .3s, background .3s; }
.vitrine-catalogue a::after { --ico: var(--i-fleche); width: 16px; height: 16px; transition: transform .35s var(--sortie); }
.vitrine-catalogue a:hover { border-color: var(--or); color: var(--or); }
.vitrine-catalogue a:hover::after { transform: translateX(4px); }

.js :is(.vitrine-tete, .vitrine-catalogue) { opacity: 0; translate: 0 32px; transition: opacity .95s var(--sortie) var(--d, 0s), translate .95s var(--sortie) var(--d, 0s); }
.js :is(.vitrine-tete, .vitrine-catalogue).visible { opacity: 1; translate: 0 0; }

/* Sans script : bande horizontale défilante */
html:not(.js) .vitrine-scene { height: auto; perspective: none; }
html:not(.js) .vitrine-piste { display: flex; gap: 20px; overflow-x: auto; }
html:not(.js) .vitrine-carte { position: relative; left: auto; top: auto; flex: 0 0 620px; margin: 0; }
html:not(.js) .vitrine-fleche { display: none; }

@media (max-width: 1024px) {
  .vitrine-scene { height: 480px; }
  .vitrine-carte { --l: 520px; --h: 480px; }
}
@media (max-width: 760px) {
  .vitrine { padding: 44px 0 46px; }
  .vitrine-titre { font-size: 30px; }
  .vitrine-scene { height: 460px; }
  .vitrine-carte { --l: min(86vw, 360px); --h: 460px; }
  .vitrine-panneau { left: 22px; right: 22px; bottom: 22px; }
  .vitrine-prix { font-size: 32px; }
  .vitrine-fleche { display: none; }
}

/* ---------- Hero d'accueil immersif : photo pleine largeur sous voile marine ---------- */
.hero.hero-immersif { display: flex; flex-direction: column; justify-content: flex-end; min-height: clamp(760px, calc(100vh - 56px), 940px); padding: 200px 0 0;
  background: var(--marine); color: var(--blanc); }
.hero-immersif .hero-fond { inset: 0; height: auto; }
.hero-immersif .hero-photo { inset: 0 0 0 auto; width: 80%; height: 100%; object-position: 70% 40%;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 24%); mask-image: linear-gradient(90deg, transparent 0, #000 24%); }
.hero-immersif .hero-photo img { animation: derive-hero 30s ease-in-out infinite alternate; }
@keyframes derive-hero { from { transform: scale(1); } to { transform: scale(1.07) translate3d(-1.2%, -.8%, 0); } }
.hero.hero-immersif::before { background:
    linear-gradient(90deg, rgba(2, 20, 52, .95) 0%, rgba(2, 20, 52, .84) 24%, rgba(2, 20, 52, .46) 48%, rgba(2, 20, 52, .1) 70%, rgba(2, 20, 52, 0) 100%),
    linear-gradient(0deg, rgba(2, 20, 52, .97) 0%, rgba(2, 20, 52, .6) 15%, rgba(2, 20, 52, 0) 40%),
    linear-gradient(180deg, rgba(2, 20, 52, .72) 0%, rgba(2, 20, 52, 0) 28%); }
.hero.hero-immersif::after { content: ""; position: absolute; z-index: 1; left: -12%; bottom: -34%; width: 70%; height: 86%; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(184, 143, 66, .17), transparent); pointer-events: none; }
.hero-immersif .enveloppe { width: 100%; }
.hero-immersif .hero-texte { max-width: 860px; padding-bottom: 64px; }
.hero-immersif .hero-texte p { margin-top: 0; max-width: none; font-size: inherit; line-height: inherit; color: inherit; }
.hero-immersif .hero-texte .hero-surtitre { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; font-size: 12px; font-weight: 600; line-height: 1.4;
  letter-spacing: .3em; text-transform: uppercase; color: var(--or); }
.hero-surtitre::before { content: ""; width: 44px; height: 1px; flex: none; background: var(--or); }
.hero-immersif h1 { font-size: 66px; line-height: 1.06; letter-spacing: -.022em; color: var(--blanc); }
.hero-immersif .hero-texte .chapeau { max-width: 540px; margin-top: 26px; font-size: 19px; line-height: 1.7; color: rgba(255, 255, 255, .8); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 38px; }
.hero-immersif .hero-actions .bouton { height: 56px; padding: 0 30px; font-size: 15px; font-weight: 600; }
.bouton.bouton-hero::before { order: 1; width: 18px; height: 18px; transition: transform .35s var(--sortie); }
.bouton.bouton-hero:hover::before { transform: translateX(4px); }
.bouton-verre a { display: inline-flex; align-items: center; height: 56px; padding: 0 30px; border: 1px solid rgba(255, 255, 255, .34); border-radius: var(--rayon);
  background: rgba(255, 255, 255, .06); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); color: var(--blanc); font-size: 15px; font-weight: 500; white-space: nowrap;
  transition: border-color .3s, background .3s; }
.bouton-verre a:hover { border-color: var(--or); background: rgba(184, 143, 66, .16); }

/* Recherche : onglets des trois univers posés sur la barre, à cheval sur la section suivante */
.hero-recherche { position: relative; z-index: 4; margin-bottom: -49px; }
.hero-onglets { display: flex; gap: 4px; }
.hero-onglet { position: relative; display: inline-flex; align-items: center; gap: 10px; height: 50px; margin: 0; padding: 0 24px;
  border-radius: var(--rayon) var(--rayon) 0 0; background: rgba(2, 20, 52, .55); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  color: rgba(255, 255, 255, .82); font-size: 13.5px; font-weight: 600; letter-spacing: .01em; white-space: nowrap; transition: background .3s, color .3s; }
.hero-onglet:not(.actif):hover { background: rgba(2, 20, 52, .8); color: var(--blanc); }
.hero-onglet a { color: inherit; }
.hero-onglet a::before { content: ""; position: absolute; inset: 0; }
.hero-onglet.actif { background: var(--blanc); color: var(--marine); }
.hero-onglet.actif::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--or); }
.hero-recherche .barre { margin-top: 0; border-top-left-radius: 0; }
.hero-immersif + .reassurance { padding-top: 104px; }

/* Entrée échelonnée */
.js .hero.entre .hero-texte .hero-surtitre { transition-delay: .1s; }
.js .hero.entre .hero-actions p { transition-delay: .55s; }
.js .hero-onglets { opacity: 0; translate: 0 22px; transition: opacity 1s var(--sortie), translate 1s var(--sortie); }
.js .hero.entre .hero-onglets { opacity: 1; translate: 0 0; transition-delay: .5s; }

/* En-tête plus léger au-dessus de la photo, tant qu'il n'est pas collé */
.home .entete:not(.colle)::before { background:
    linear-gradient(90deg, var(--marine) 0%, #0F2A55 28%, var(--or) 50%, #0F2A55 72%, var(--marine) 100%) top / 100% 2px no-repeat,
    linear-gradient(180deg, rgba(2, 20, 52, .74) 0%, rgba(2, 20, 52, .42) 100%); }

@media (max-width: 1180px) {
  .hero-immersif h1 { font-size: 56px; }
}
@media (max-width: 1024px) {
  .hero-immersif .hero-photo { width: 100%; -webkit-mask-image: none; mask-image: none; }
  .hero-immersif h1 { font-size: 50px; }
  .hero-onglet { padding: 0 18px; font-size: 12.5px; }
}
@media (max-width: 760px) {
  .hero.hero-immersif { min-height: 0; padding: 128px 0 28px; }
  .hero-immersif .hero-photo { height: 100%; object-position: 70% 30%; }
  .hero.hero-immersif::before { inset: 0; height: auto;
    background: linear-gradient(180deg, rgba(2, 20, 52, .8) 0%, rgba(2, 20, 52, .6) 34%, rgba(2, 20, 52, .9) 66%, var(--marine) 100%); }
  .hero-immersif h1 { font-size: clamp(32px, 9vw, 44px); letter-spacing: -.018em; }
  .hero-immersif .hero-texte { padding-bottom: 36px; }
  .hero-immersif .hero-texte .hero-surtitre { gap: 12px; margin-bottom: 18px; font-size: 10.5px; letter-spacing: .24em; }
  .hero-surtitre::before { width: 28px; }
  .hero-immersif .hero-texte .chapeau { margin-top: 18px; font-size: 16px; }
  .hero-actions { flex-direction: column; align-items: stretch; margin-top: 28px; }
  .hero-immersif .hero-actions .bouton, .bouton-verre a { width: 100%; justify-content: center; }
  .hero-recherche { margin-bottom: 0; }
  .hero-onglets { gap: 3px; }
  .hero-onglet { flex: 1 1 0; justify-content: center; height: 52px; padding: 0 8px; font-size: 11.5px; line-height: 1.25; text-align: center; white-space: normal; }
  .hero-onglet.actif::before { display: none; }
  .hero-immersif + .reassurance { padding-top: 40px; }
}

/* ---------- Favoris dans la barre du haut (compteur alimenté par l’extension) ---------- */
.ico-coeur { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1-1.1a5.5 5.5 0 0 0-7.8 7.8l1 1.1L12 21l7.8-7.5 1-1.1a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E"); }
.bi-nb-favoris:not(:empty) { display: inline-grid; place-items: center; min-width: 17px; height: 17px; margin-left: 4px; padding: 0 5px; border-radius: 99px; background: var(--or); color: var(--marine); font-size: 10.5px; font-weight: 700; vertical-align: 1px; }

/* ---------- Ajustements mesurés (porte 4) ---------- */
.temoignage .fonction { line-height: 24px; }
.wp-block-post-content > :last-child:is(.bandeau-pro, .acces) { margin-bottom: 24px; }
.carte-demo > h3:first-child { margin-top: 21px; }   /* 14 px + l'espace que laissait l'icône en ligne de la maquette */
.champ-form .wpcf7-form-control { display: block; }
.consentement .wpcf7-form-control-wrap, .consentement .wpcf7-form-control, .consentement .wpcf7-list-item { display: block; }

/* Animations : les icônes en masque apparaissent par balayage */
.js :is(.atout, .atout-carte, .categorie, .offre, .etape, .carte-demo).visible::before,
.js .etape.visible::after { animation: balayage 1.3s var(--douce) both; animation-delay: calc(var(--d, 0s) + .2s); }
@keyframes balayage { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }


@media (max-width: 760px) {
  .logo.wp-block-site-logo img, .entete.colle .logo.wp-block-site-logo img { width: 128px; }
  .etape::before, .etape::after { display: none; }
  .etape > .wp-block-group { grid-column: 2; }
  .champ-lieu.wp-block-search { height: 64px; padding: 0 10px; border-left: 0; border-top: 1px solid var(--filet); }
  .liste .champ { width: 100%; }
  .artisan .carte-pied { flex-wrap: wrap; }
  .wp-block-post-content > :first-child:not(.hero):not(.acces):not(.wp-block-group) { margin-top: 110px; }
}

/* ==========================================================================
   VERSION CLAIRE (demande client, 5 octobre 2026)
   Fonds blancs et sable, marine pour les textes et les accents, or pour les
   boutons. Placée en fin de feuille : elle remplace les variantes sombres
   ci-dessus sans les effacer.
   ========================================================================== */

/* ---------- En-tête ---------- */
.entete { color: var(--encre); }
.entete::before, .home .entete:not(.colle)::before {
  background: linear-gradient(90deg, transparent 0%, var(--or) 50%, transparent 100%) top / 100% 2px no-repeat, rgba(255, 255, 255, .97);
  box-shadow: inset 0 -1px 0 var(--filet); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.entete.colle { box-shadow: 0 8px 28px rgba(2, 20, 52, .08); }
.entete.colle::before { background: linear-gradient(90deg, transparent 0%, var(--or) 50%, transparent 100%) top / 100% 2px no-repeat, rgba(255, 255, 255, .98); }
.barre-haut { background: var(--sable); border-bottom: 1px solid var(--filet-chaud); }
.th-item { color: var(--texte); }
.th-item:first-child { color: var(--encre); }
.th-item + .th-item { border-left-color: #DCD6CB; }
.th-item::before { color: var(--or); }
.th-note { color: var(--gris); }
.th-note strong { color: var(--encre); }
.wp-block-navigation.nav { color: var(--encre); }
.acces-pro a { color: var(--encre); }
.acces-pro a::before { border-color: var(--filet); background: var(--blanc); }
.acces-pro a::after { color: var(--marine); }
.acces-pro strong { color: var(--gris); }
.nav-panneau .wp-block-navigation__responsive-container-open { border-color: #D4D8DE; color: var(--encre); }
.wp-block-navigation.nav-panneau .wp-block-navigation__responsive-container.is-menu-open {
  background-color: var(--blanc) !important; color: var(--encre) !important;
  box-shadow: 0 0 0 100vmax rgba(2, 20, 52, .35), -24px 0 60px rgba(2, 20, 52, .18); }
.nav-panneau .is-menu-open .wp-block-navigation-item { border-bottom-color: var(--filet); }
.nav-panneau .wp-block-navigation__responsive-container-close { color: var(--encre); }

/* ---------- Héros de l’accueil : photo lumineuse fournie par le client, fondu blanc à gauche ---------- */
.hero.hero-immersif { background: var(--blanc); color: var(--encre); }
/* photo affichée en entier, à ses proportions (2 000 × 770), sous l’en-tête */
.hero-immersif .hero-fond { inset: 135px 0 auto 0; height: min(calc(100vw / 2.597), calc(100% - 135px)); }
.hero-immersif .hero-photo { inset: 0; width: 100%; height: 100%; object-position: 50% 50%; -webkit-mask-image: none; mask-image: none; }
.hero.hero-immersif::before { background:
    linear-gradient(90deg, #fff 0%, #fff 22%, rgba(255, 255, 255, .93) 32%, rgba(255, 255, 255, .62) 44%, rgba(255, 255, 255, .18) 58%, rgba(255, 255, 255, 0) 70%),
    linear-gradient(0deg, #fff 0%, rgba(255, 255, 255, .8) 9%, rgba(255, 255, 255, 0) 28%); }
.hero.hero-immersif::after { display: none; }
.hero-immersif h1 { color: var(--encre); }
.hero-immersif .hero-texte .chapeau { color: var(--texte); }
.bouton-verre a { border-color: #CDD2DA; background: var(--blanc); color: var(--encre); -webkit-backdrop-filter: none; backdrop-filter: none; }
.bouton-verre a:hover { border-color: var(--or); background: #FBF8F2; color: var(--encre); }
.hero-onglet { background: rgba(255, 255, 255, .72); color: var(--encre); box-shadow: inset 0 0 0 1px var(--filet); }
.hero-onglet:not(.actif):hover { background: var(--blanc); color: var(--encre); }
.hero-onglet.actif { box-shadow: 0 -6px 18px -8px rgba(2, 20, 52, .15); }
@media (max-width: 1024px) {
  /* tablette : photo entière sous l’en-tête, texte dessous sur fond blanc */
  .hero.hero-immersif { min-height: 0; padding-top: calc(135px + 100vw / 2.597 + 12px); }
  .hero-immersif .hero-fond { inset: 135px 0 auto 0; height: calc(100vw / 2.597); }
  .hero.hero-immersif::before { inset: 135px 0 auto 0; height: calc(100vw / 2.597 + 2px);
    background: linear-gradient(0deg, #fff 0, rgba(255, 255, 255, .6) 16%, rgba(255, 255, 255, 0) 42%); }
}
@media (max-width: 760px) {
  /* photo en haut, texte dessous sur fond blanc */
  .hero.hero-immersif { padding-top: 300px; }
  .hero-immersif .hero-fond { inset: 0 0 auto 0; height: 290px; }
  .hero-immersif .hero-photo { height: 290px; object-position: 70% 55%; }
  .hero.hero-immersif::before { inset: 0 0 auto 0; height: 292px; background: linear-gradient(0deg, #fff 0, rgba(255, 255, 255, .65) 22%, rgba(255, 255, 255, 0) 55%); }
}

/* ---------- Sélection exclusive ---------- */
.vitrine { background: linear-gradient(180deg, var(--sable) 0%, #FBF9F5 100%); color: var(--encre); }
.vitrine-titre { color: var(--encre); }
.vitrine-fleche { border-color: #D4D8DE; background: rgba(255, 255, 255, .92); color: var(--encre); box-shadow: 0 8px 20px rgba(2, 20, 52, .1); }
.vitrine-fleche:hover { color: var(--blanc); }
.vitrine-points button { background: rgba(2, 20, 52, .18); }
.vitrine-points button:hover { background: rgba(2, 20, 52, .35); }
.vitrine-catalogue a { border-color: var(--marine); background: transparent; color: var(--marine); }
.vitrine-catalogue a:hover { border-color: var(--or); background: var(--or); color: var(--blanc); }
.vitrine-carte { box-shadow: 0 30px 60px -30px rgba(2, 20, 52, .45); }

/* ---------- Bandeau professionnel, pied de page ---------- */
.bandeau-pro { background: var(--sable); color: var(--texte); border: 1px solid var(--filet-chaud); }
.bandeau-pro h2 { color: var(--encre); }
.pied { background: var(--sable); color: var(--texte); border-top: 1px solid var(--filet-chaud); }
.pied h4 { color: var(--encre); font-weight: 600; }
.pied li a:hover { color: var(--encre); }
.reseaux { color: var(--marine); }
.reseaux a::before { color: var(--marine); transition: color .25s; }
.reseaux a:hover::before { color: var(--or); }
.pied-bas { border-top-color: var(--filet-chaud); color: var(--gris); }

/* ---------- Contact, connexion, construction ---------- */
.coordonnees { background: var(--sable); color: var(--texte); border: 1px solid var(--filet-chaud); }
.coordonnees h3, .coordonnee strong { color: var(--encre); }
.coordonnee { border-top-color: var(--filet-chaud); }
.acces-visuel { background: var(--sable); color: var(--texte); }
.acces-visuel::before { background: linear-gradient(0deg, rgba(255, 255, 255, .97) 26%, rgba(255, 255, 255, .78) 54%, rgba(255, 255, 255, .1) 100%); }
.acces-visuel h2 { color: var(--encre); }
.passerelle-carte.marine { background: var(--blanc); border-color: var(--or); color: var(--texte); box-shadow: 0 2px 4px rgba(2, 20, 52, .04), 0 22px 48px rgba(184, 143, 66, .14); }
.marine .mot { color: var(--encre); }
.marine li { border-top-color: var(--filet); }

/* ---------- Espace professionnel : publication via le profil Bisecco ---------- */
.acces-form .acces-message { margin: 18px 0 26px; padding: 16px 18px 16px 20px; border-left: 3px solid var(--or); border-radius: 0 var(--rayon) var(--rayon) 0; background: #FBF8F2; font-size: 15px; line-height: 1.65; color: var(--encre); }
.acces-form .acces-message a { color: var(--or); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.acces-form .acces-message sup, .acces-asterisque { color: var(--or); }
.acces-form .acces-message sup { margin-left: 1px; font-weight: 700; }
.acces-form .acces-asterisque { margin-top: 28px; padding-top: 16px; border-top: 1px solid var(--filet); font-size: 12.5px; line-height: 1.6; color: var(--gris); }

/* ---------- Pages légales : mentions, CGU, confidentialité ---------- */
.legal-tete { padding: 196px 0 46px; border-bottom: 1px solid var(--filet-chaud); background: linear-gradient(180deg, var(--blanc) 0%, var(--sable) 100%); }
.legal-tete .enveloppe { max-width: 1100px; }
.legal-surtitre { margin: 22px 0 0; font-size: 11.5px; font-weight: 600; letter-spacing: .26em; text-transform: uppercase; color: var(--or); }
.legal-tete h1 { margin: 8px 0 0; font-size: 44px; line-height: 1.1; letter-spacing: -.015em; color: var(--encre); }
.legal-chapo { max-width: 760px; margin: 16px 0 0; font-size: 17px; line-height: 1.65; color: var(--texte); }
.legal-maj { margin: 14px 0 0; font-size: 13px; color: var(--gris); }
.legal { padding: 56px 0 96px; }
.legal-grille { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 56px; align-items: start; max-width: 1100px; }
.legal-nav { position: sticky; top: 120px; padding: 22px 20px; border: 1px solid var(--filet); border-radius: var(--rayon); background: var(--blanc); }
.legal-nav-titre { margin: 0 0 10px; font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--gris); }
.legal-liens { display: flex; flex-direction: column; gap: 2px; margin: 0; padding: 0; list-style: none; }
.legal-liens a { display: block; padding: 9px 12px; border-radius: var(--rayon); font-size: 14.5px; font-weight: 500; color: var(--encre); transition: background .2s, color .2s; }
.legal-liens a:hover { background: var(--nuage); color: var(--or); }
.legal-liens .actif a { background: var(--marine); color: var(--blanc); }
.legal-aide { margin: 16px 0 0; padding-top: 14px; border-top: 1px solid var(--filet); font-size: 13px; line-height: 1.6; color: var(--texte); }
.legal-aide a, .legal-texte a { color: var(--or); text-decoration: underline; text-underline-offset: 3px; }
.legal-texte { min-width: 0; max-width: 760px; }
.legal-bloc + .legal-bloc { margin-top: 40px; padding-top: 36px; border-top: 1px solid var(--filet); }
.legal-bloc h2 { margin: 0 0 16px; font-size: 22px; line-height: 1.3; color: var(--encre); }
.legal-bloc h3 { margin: 22px 0 6px; font-size: 16px; color: var(--encre); }
.legal-bloc p, .legal-bloc li { font-size: 15.5px; line-height: 1.75; color: var(--texte); }
.legal-bloc p + p { margin-top: 12px; }
.legal-bloc ul { margin: 12px 0; padding-left: 20px; }
.legal-bloc li + li { margin-top: 6px; }
.legal-bloc ul.legal-fiche, .legal-bloc ul.legal-finalites { display: flex; flex-direction: column; gap: 0; margin: 14px 0 0; padding: 4px 20px; border-radius: var(--rayon); background: var(--sable); list-style: none; }
.legal-fiche li, .legal-finalites li { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 16px; margin: 0 !important; padding: 12px 0; border-bottom: 1px solid var(--filet-chaud); }
.legal-fiche li:last-child, .legal-finalites li:last-child { border-bottom: 0; }
.legal-fiche strong, .legal-finalites strong { font-weight: 600; color: var(--encre); }
.legal-finalites li { grid-template-columns: 1fr; gap: 2px; }
.bi-refus-mesure { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: 18px; padding: 16px 18px; border: 1px solid var(--filet); border-radius: var(--rayon); }
.bi-refus-mesure .bi-refus-etat { flex: 1 1 260px; margin: 0; font-size: 14px; color: var(--encre); }
.bi-refus-mesure button { height: 42px; padding: 0 18px; border: 1px solid var(--filet); border-radius: var(--rayon); background: var(--blanc); font: inherit; font-size: 14px; font-weight: 500; color: var(--encre); cursor: pointer; transition: border-color .2s, color .2s; }
.bi-refus-mesure button:hover { border-color: var(--or); color: var(--or); }
@media (max-width: 1024px) {
  .legal-tete { padding-top: 170px; }
  .legal-grille { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .legal-nav { position: static; }
}
@media (max-width: 760px) {
  .legal-tete { padding: 112px 0 32px; }
  .legal-tete h1 { font-size: 30px; }
  .legal-chapo { font-size: 15.5px; }
  .legal { padding: 32px 0 64px; }
  .legal-fiche li { grid-template-columns: 1fr; gap: 2px; }
}

/* ---------- Héros de l’accueil : description en deux paragraphes (texte client) ---------- */
.hero-immersif .hero-texte .chapeau { max-width: 580px; }
.hero-immersif .hero-texte .chapeau strong { font-weight: 600; color: var(--encre); }
.hero-immersif .hero-texte .chapeau-suite { margin-top: 12px; }

/* ---------- Héros de l’accueil : boutons d’action (marine et or, comme le logo) ---------- */
.hero-immersif .hero-actions { gap: 12px; margin-top: 34px; }
.hero-immersif .hero-actions .bouton { height: 58px; padding: 0 26px 0 30px; gap: 14px; background: var(--marine); color: var(--blanc);
  font-size: 15px; font-weight: 600; letter-spacing: .015em; box-shadow: 0 14px 30px -14px rgba(2, 20, 52, .6); }
.hero-immersif .hero-actions .bouton a { color: var(--blanc); }
.hero-immersif .hero-actions .bouton::before { color: var(--or); background: var(--or); }
.hero-immersif .hero-actions .bouton::after { background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, .16) 50%, transparent 65%); }
.hero-immersif .hero-actions .bouton:hover { background: #0B2650; box-shadow: 0 18px 36px -14px rgba(2, 20, 52, .7); }
.hero-immersif .bouton-verre a { gap: 12px; height: 58px; padding: 0 28px 0 24px; border: 1.5px solid var(--marine); background: rgba(255, 255, 255, .92); color: var(--marine);
  font-size: 15px; font-weight: 600; letter-spacing: .015em; transition: background .3s var(--douce), color .3s var(--douce); }
.hero-immersif .bouton-verre a::before { content: ""; flex: none; width: 18px; height: 18px; background: var(--or);
  -webkit-mask: var(--i-utilisateur) center / contain no-repeat; mask: var(--i-utilisateur) center / contain no-repeat; }
.hero-immersif .bouton-verre a:hover { border-color: var(--marine); background: var(--marine); color: var(--blanc); }
.hero-immersif .bouton-verre a:focus-visible, .hero-immersif .hero-actions .bouton a:focus-visible { outline: 2px solid var(--or); outline-offset: 3px; }

/* ---------- Animation du logo à l’arrivée sur l’accueil (une fois par session) ----------
   L’immeuble se construit (arc, puis les étages de bas en haut), « Bis- » puis « immo » arrivent,
   un reflet traverse l’or, le slogan se dévoile, puis l’écran s’efface sur le site. */
.intro-logo { display: none; }
html.bi-intro .intro-logo { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; cursor: pointer;
  background: radial-gradient(120% 90% at 50% 42%, #fff 0%, #FBF8F2 62%, #F2ECE2 100%);
  animation: intro-sortie .9s cubic-bezier(.7, 0, .2, 1) 4.6s forwards; }
html.bi-intro.bi-intro-fin .intro-logo { animation: intro-sortie .45s ease forwards; }
.intro-scene { position: relative; width: min(560px, 82vw); aspect-ratio: 1994 / 673; }
html.bi-intro .intro-scene { animation: intro-recul .9s cubic-bezier(.7, 0, .2, 1) 4.6s forwards; }
.intro-c { position: absolute; display: block; opacity: 0; background: center / 100% 100% no-repeat; }
html.bi-intro .intro-icone-4 { left: 1.505%; top: 67.013%; width: 27.984%; height: 8.172%; background-image: url(assets/intro/icone-4.webp); transform-origin: 50% 50%; animation: intro-arc 1.1s cubic-bezier(.2, .8, .2, 1) .25s forwards; }
html.bi-intro .intro-icone-3 { left: 6.620%; top: 51.263%; width: 17.703%; height: 17.385%; background-image: url(assets/intro/icone-3.webp); animation: intro-etage .95s cubic-bezier(.25, 1.25, .45, 1) .85s forwards; }
html.bi-intro .intro-icone-2 { left: 6.620%; top: 32.392%; width: 17.703%; height: 21.545%; background-image: url(assets/intro/icone-2.webp); animation: intro-etage .95s cubic-bezier(.25, 1.25, .45, 1) 1.2s forwards; }
html.bi-intro .intro-icone-1 { left: 6.620%; top: 14.116%; width: 17.703%; height: 25.260%; background-image: url(assets/intro/icone-1.webp); animation: intro-etage .95s cubic-bezier(.25, 1.25, .45, 1) 1.55s forwards; }
html.bi-intro .intro-mot-bis { left: 32.096%; top: 27.340%; width: 25.978%; height: 35.215%; background-image: url(assets/intro/mot-bis.webp); animation: intro-glisse 1.1s cubic-bezier(.2, .8, .2, 1) 2.05s forwards; }
html.bi-intro .intro-mot-immo { left: 58.074%; top: 27.340%; width: 39.970%; height: 35.215%; background-image: url(assets/intro/mot-immo.webp); animation: intro-glisse 1.1s cubic-bezier(.2, .8, .2, 1) 2.4s forwards; }
html.bi-intro .intro-reflet { left: 58.074%; top: 27.340%; width: 39.970%; height: 35.215%;
  -webkit-mask: url(assets/intro/mot-immo.webp) center / 100% 100% no-repeat; mask: url(assets/intro/mot-immo.webp) center / 100% 100% no-repeat;
  background: linear-gradient(105deg, transparent 38%, rgba(255, 255, 255, .9) 50%, transparent 62%) 160% 0 / 250% 100% no-repeat;
  animation: intro-reflet 1.4s ease-in-out 3.1s forwards; }
html.bi-intro .intro-slogan { left: 32.096%; top: 69.391%; width: 66.700%; height: 6.686%; background-image: url(assets/intro/slogan.webp); animation: intro-devoile 1.3s cubic-bezier(.65, 0, .35, 1) 3s forwards; }
@keyframes intro-arc { from { opacity: 0; transform: scaleX(.15); } to { opacity: 1; transform: none; } }
@keyframes intro-etage { from { opacity: 0; transform: translateY(-55%); } 45% { opacity: 1; } to { opacity: 1; transform: none; } }
@keyframes intro-glisse { from { opacity: 0; transform: translateX(-7%); } to { opacity: 1; transform: none; } }
@keyframes intro-reflet { 0% { opacity: 1; background-position: 160% 0; } 100% { opacity: 1; background-position: -60% 0; } }
@keyframes intro-devoile { from { opacity: 1; clip-path: inset(0 100% 0 0); } to { opacity: 1; clip-path: inset(0 0 0 0); } }
@keyframes intro-sortie { to { opacity: 0; visibility: hidden; pointer-events: none; } }
@keyframes intro-recul { to { opacity: 0; transform: scale(.94) translateY(-4%); } }
@media (prefers-reduced-motion: reduce) { html.bi-intro .intro-logo { display: none; } }

/* ---------- Accueil : refonte des sections (chiffres en direct, raccourcis, parcours, outils, professionnels, publication) ---------- */
/* Réassurance : pictogrammes sur pastille */
.reassurance .atout { position: relative; isolation: isolate; }
.reassurance .atout::before { width: 30px; height: 30px; margin: 23px auto 30px; }
.reassurance .atout::after { content: ""; position: absolute; top: 0; left: 50%; z-index: -1; width: 76px; height: 76px; margin-left: -38px; border-radius: 50%; background: #FBF8F2; box-shadow: inset 0 0 0 1px var(--filet-chaud); }
.reassurance .atout h3 { font-size: 17px; }
.reassurance .atout p { margin-top: 8px; font-size: 14px; line-height: 1.6; color: var(--texte); }

/* Univers et types de bien : compteurs en direct */
.tuile-compte { position: absolute; top: 18px; right: 18px; z-index: 1; margin: 0; padding: 7px 13px; border-radius: 99px; background: rgba(255, 255, 255, .94);
  font-size: 13px; font-weight: 600; color: var(--encre); box-shadow: 0 8px 20px -10px rgba(2, 20, 52, .5); }
.tuile-compte:empty { display: none; }
.tuile-type { height: 290px; }
.tuile-type .tuile-texte h3 { font-size: 34px; }
.tuile-stats { display: flex; flex-wrap: wrap; gap: 4px 10px; margin-top: 10px !important; font-size: 15px !important; font-weight: 500; color: rgba(255, 255, 255, .94); }
.tuile-stats span:empty { display: none; }
.tuile-stats span + span:not(:empty)::before { content: "·"; margin-right: 10px; color: var(--or); font-weight: 700; }

/* Recherches rapides */
.section .raccourcis { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 26px; }
.raccourcis-titre { margin: 0 8px 0 0; font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--gris); }
.raccourci { margin: 0; }
.raccourci a { display: inline-flex; align-items: center; height: 40px; padding: 0 17px; border: 1px solid var(--filet); border-radius: 99px; background: var(--blanc);
  font-size: 14px; font-weight: 500; color: var(--encre); transition: border-color .25s, color .25s, background .25s; }
.raccourci a:hover { border-color: var(--or); background: #FBF8F2; color: var(--or); }
.raccourci-agences a { border-color: var(--marine); color: var(--marine); }

/* Comment ça fonctionne : trois étapes reliées */
.section .chapo-centre { max-width: 640px; margin: 12px auto 0; text-align: center; font-size: 16.5px; line-height: 1.65; color: var(--texte); }
.section .parcours { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 46px; }
.parcours::before { content: ""; position: absolute; top: 46px; left: 17%; right: 17%; height: 1px; background: linear-gradient(90deg, transparent, var(--filet-chaud) 12%, var(--filet-chaud) 88%, transparent); }
.parcours-etape { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; padding: 0 18px; text-align: center; }
.parcours-etape::after { content: ""; position: absolute; top: 0; left: 50%; z-index: -1; width: 92px; height: 92px; margin-left: -46px; border-radius: 50%; background: var(--blanc);
  box-shadow: inset 0 0 0 1px var(--filet-chaud), 0 16px 32px -20px rgba(2, 20, 52, .35); }
.parcours-etape::before { content: ""; display: block; width: 30px; height: 30px; margin-top: 31px; background: var(--or); -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
.parcours .parcours-num { margin: 44px 0 6px; font-size: 12px; font-weight: 700; letter-spacing: .24em; color: var(--or); }
.parcours .parcours-etape h3 { font-size: 21px; color: var(--encre); }
.parcours-etape > p:not([class]) { max-width: 330px; margin-top: 10px; font-size: 15px; line-height: 1.65; color: var(--texte); }
.parcours .parcours-lien { margin-top: 16px; }
.parcours-lien a, .outil-lien a, .pro-lien { font-size: 14.5px; font-weight: 600; color: var(--marine); transition: color .25s; }
.parcours-lien a::after, .outil-lien a::after, .pro-lien::after { content: " →"; color: var(--or); }
.parcours-lien a:hover, .outil-lien a:hover { color: var(--or); }

/* Outils pour décider */
.outils-tete { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 18px 48px; }
.section .surtitre { margin: 0 0 8px; font-size: 11.5px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: var(--or); }
.section .outils-chapo { max-width: 470px; margin: 0; font-size: 15.5px; line-height: 1.65; color: var(--texte); }
.section .outils { display: grid; grid-template-columns: repeat(4, 1fr); align-items: stretch; gap: 18px; margin: 34px 0 0; }
.outil { position: relative; display: flex; flex-direction: column; padding: 26px 24px 24px; border: 1px solid var(--filet); border-radius: var(--rayon); background: var(--blanc);
  transition: border-color .3s, box-shadow .3s, transform .3s; }
.outil::after { content: ""; position: absolute; top: 24px; left: 24px; width: 52px; height: 52px; border-radius: 12px; background: #FBF8F2; }
.outil::before { content: ""; position: relative; z-index: 1; display: block; width: 26px; height: 26px; margin: 13px 0 24px 13px; background: var(--or);
  -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
.outils .outil h3 { position: relative; z-index: 1; font-size: 17.5px; color: var(--encre); }
.outil > p:not([class]) { position: relative; z-index: 1; flex: 1; margin-top: 8px; font-size: 14.5px; line-height: 1.6; color: var(--texte); }
.outils .outil-lien { margin-top: 18px; }
.outil-lien a::before { content: ""; position: absolute; inset: 0; z-index: 2; }
.outil:hover { border-color: var(--or); box-shadow: 0 20px 40px -26px rgba(2, 20, 52, .4); transform: translateY(-3px); }

/* Professionnels qui publient (données réelles) */
.pros-grille { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.pro-carte { position: relative; display: flex; flex-direction: column; padding: 26px; border: 1px solid var(--filet); border-radius: var(--rayon); background: var(--blanc);
  transition: border-color .3s, box-shadow .3s, transform .3s; }
.pro-carte:hover { border-color: var(--or); box-shadow: 0 20px 40px -26px rgba(2, 20, 52, .4); transform: translateY(-3px); }
.pro-carte-tete { display: flex; align-items: center; gap: 16px; }
.pro-mono, .pro-logo { flex: none; width: 60px; height: 60px; border-radius: var(--rayon); }
.pro-mono { display: grid; place-items: center; background: var(--marine); font-size: 19px; font-weight: 600; letter-spacing: .05em; color: var(--or); }
.pro-logo { padding: 6px; border: 1px solid var(--filet); background: var(--blanc); object-fit: contain; }
.pro-carte h3 { font-size: 18px; color: var(--encre); }
.pro-role { margin: 3px 0 0; font-size: 13.5px; color: var(--gris); }
.pro-verifie { display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; margin: 18px 0 0; padding: 5px 11px; border-radius: 99px; background: #EEF6F1;
  font-size: 12.5px; font-weight: 600; color: #1E7B4D; }
.pro-verifie::before { content: ""; width: 13px; height: 13px; background: currentColor; -webkit-mask: var(--i-coche) center / contain no-repeat; mask: var(--i-coche) center / contain no-repeat; }
.pro-chiffres { display: flex; flex-direction: column; gap: 4px; margin: 16px 0 0; padding: 14px 0 0; border-top: 1px solid var(--filet); list-style: none; font-size: 14px; color: var(--texte); }
.pro-chiffres strong { font-size: 16px; color: var(--encre); }
.pro-lien { margin-top: 18px; }
.pro-lien::before { content: ""; position: absolute; inset: 0; }
.pros-vide { margin: 0; padding: 28px; border: 1px dashed var(--filet); border-radius: var(--rayon); text-align: center; color: var(--texte); }

/* Publier gratuitement */
.publier { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 56px; align-items: center; padding: 56px;
  border: 1px solid var(--filet-chaud); border-radius: 6px; background: linear-gradient(135deg, #FDFBF7 0%, var(--sable) 100%); }
.section .publier h2 { font-size: 38px; line-height: 1.15; color: var(--encre); }
.publier h2 em { font-style: normal; color: var(--or); }
.publier .publier-chapo { margin-top: 14px; font-size: 16.5px; line-height: 1.6; color: var(--texte); }
.publier .publier-liste { display: grid; gap: 12px; margin: 24px 0 0; padding: 0; list-style: none; }
.publier-liste li { position: relative; padding-left: 32px; font-size: 15px; line-height: 1.55; color: var(--texte); }
.publier-liste li::before { content: ""; position: absolute; left: 0; top: 1px; width: 22px; height: 22px; border-radius: 50%;
  background: var(--or) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 12px no-repeat; }
.publier-liste strong { color: var(--encre); }
.publier-carte { padding: 30px; border-radius: var(--rayon); background: var(--blanc); box-shadow: 0 26px 54px -32px rgba(2, 20, 52, .38); }
.publier .publier-carte-titre { margin: 0; font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--or); }
.publier .publier-etapes { display: grid; gap: 14px; margin: 16px 0 24px; padding: 0; list-style: none; counter-reset: etape; }
.publier-etapes li { position: relative; padding-left: 44px; font-size: 14.5px; line-height: 1.5; color: var(--texte); counter-increment: etape; }
.publier-etapes li::before { content: counter(etape); position: absolute; left: 0; top: -3px; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%;
  background: var(--marine); font-size: 13px; font-weight: 700; color: var(--or); }
.publier-etapes strong { color: var(--encre); }
.publier .publier-carte .bouton { width: 100%; height: 54px; font-weight: 600; }
.publier-carte .bouton a { color: var(--blanc); }
.publier .publier-connexion { margin: 14px 0 0; text-align: center; font-size: 14px; color: var(--texte); }
.publier-connexion a { font-weight: 600; color: var(--or); }
.publier .publier-note { margin: 18px 0 0; padding-top: 14px; border-top: 1px solid var(--filet); font-size: 12px; line-height: 1.55; color: var(--gris); }

/* Alerte */
.encart-alerte { gap: 32px; }
.encart-actions { display: flex; flex-wrap: wrap; gap: 12px; flex: none; }
.encart-actions .bouton a { color: var(--blanc); }
.encart-actions .bouton-verre a { display: inline-flex; align-items: center; height: 52px; padding: 0 24px; border: 1px solid #CDD2DA; border-radius: var(--rayon);
  background: var(--blanc); font-size: 15px; font-weight: 500; color: var(--encre); }
.encart-actions .bouton-verre a:hover { border-color: var(--or); color: var(--or); }

@media (max-width: 1024px) {
  .section .parcours { grid-template-columns: 1fr; gap: 30px; }
  .parcours::before { display: none; }
  .section .outils, .pros-grille { grid-template-columns: 1fr 1fr; }
  .publier { grid-template-columns: 1fr; gap: 32px; padding: 40px 32px; }
}
@media (max-width: 760px) {
  .section .outils, .pros-grille { grid-template-columns: 1fr; }
  .publier { padding: 28px 20px; }
  .section .publier h2 { font-size: 28px; }
  .section .raccourcis-titre { width: 100%; }
  .tuile-type { height: 230px; }
  .tuile-type .tuile-texte h3 { font-size: 28px; }
  .encart-actions { width: 100%; }
  .encart-actions > * { flex: 1 1 auto; }
  .encart-actions .bouton, .encart-actions .bouton-verre a { width: 100%; justify-content: center; }
}

/* ---------- Accueil : tuiles plus sobres (étiquette en verre, compteur, appel à l’action intégré) ---------- */
.tuile-pro::after { background: linear-gradient(0deg, rgba(2, 20, 52, .92) 0, rgba(2, 20, 52, .55) 38%, rgba(2, 20, 52, .08) 70%, rgba(2, 20, 52, 0) 100%); }
.tuile-pro .badge.badge-verre { top: 20px; left: 20px; padding: 7px 12px; border: 1px solid rgba(255, 255, 255, .3); border-radius: 99px; background: rgba(2, 20, 52, .42);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); font-size: 10.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--blanc); }
.tuile-pro .tuile-texte { left: 30px; right: 30px; bottom: 28px; }
.tuile-pro .tuile-texte .tuile-meta { margin: 0 0 8px; font-size: 11.5px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: #E2C68F; }
.tuile-pro .tuile-texte .tuile-meta:empty { display: none; }
.tuile-pro .tuile-texte > p:not([class]) { max-width: 92%; color: rgba(255, 255, 255, .82); }
/* le lien couvre toute la tuile, sans pavé visible */
.tuile-pro .tuile-fleche { inset: 0; width: auto; height: auto; border: 0; border-radius: 0; background: transparent !important; box-shadow: none; }
.tuile-pro .tuile-fleche::before { display: none; }
.tuile-pro .tuile-cta { display: inline-flex; align-items: center; gap: 12px; margin-top: 18px !important; font-size: 14.5px !important; font-weight: 600; letter-spacing: .01em; color: var(--blanc); }
.tuile-pro .tuile-cta span:first-child { background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; padding-bottom: 2px; transition: background-size .45s var(--sortie); }
.tuile-cta-rond { position: relative; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--or); transition: transform .45s var(--sortie), background .3s; }
.tuile-cta-rond::before { content: ""; width: 16px; height: 16px; background: var(--blanc); -webkit-mask: var(--i-fleche) center / contain no-repeat; mask: var(--i-fleche) center / contain no-repeat; }
.tuile-pro:hover .tuile-cta span:first-child { background-size: 100% 1px; }
.tuile-pro:hover .tuile-cta-rond { transform: translateX(5px); background: #C9A15A; }
.tuile-pro .tuile-fleche a:focus-visible { outline: 2px solid var(--or); outline-offset: -4px; }
.tuile-type.tuile-pro { height: 300px; }
.tuile-type .tuile-stats { margin-top: 8px !important; }
/* recherches rapides */
.raccourci a { height: 40px; padding: 0 18px; border: 1px solid var(--filet-chaud); background: var(--sable); font-weight: 500; color: var(--encre); transition: background .25s, color .25s, border-color .25s; }
.raccourci a:hover { border-color: var(--marine); background: var(--marine); color: var(--blanc); }
.raccourci-agences a { border-color: var(--marine); background: var(--blanc); color: var(--marine); }
.raccourci-agences a::after { content: ""; width: 14px; height: 14px; margin-left: 8px; background: currentColor; -webkit-mask: var(--i-fleche) center / contain no-repeat; mask: var(--i-fleche) center / contain no-repeat; }
@media (max-width: 760px) {
  .tuile-pro .tuile-texte { left: 22px; right: 22px; bottom: 22px; }
  .tuile-type.tuile-pro { height: 250px; }
}

/* ---------- FAQ : cartes espacées, bouton +/− rond, ouverture en douceur (toutes les pages) ---------- */
:root { interpolate-size: allow-keywords; }
.section .faq { display: flex; flex-direction: column; gap: 12px; }
.faq details, .faq details:first-child, .faq details:last-child { border: 1px solid var(--filet); border-radius: 6px; background: var(--blanc);
  transition: border-color .3s, box-shadow .35s, background .3s; }
.faq details:hover { border-color: #D9DCE1; }
.faq details[open] { border-color: var(--filet-chaud); background: linear-gradient(180deg, #FFFDF9 0%, var(--blanc) 100%);
  box-shadow: inset 3px 0 0 var(--or), 0 20px 40px -30px rgba(2, 20, 52, .4); }
.faq summary { gap: 18px; padding: 20px 22px 20px 26px; font-size: 16px; font-weight: 600; line-height: 1.45; color: var(--encre); }
.faq summary:hover { color: var(--encre); }
.faq summary::after { content: ""; flex: none; width: 36px; height: 36px; border: 1px solid var(--filet); border-radius: 50%;
  background: var(--blanc) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23021434' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center / 14px no-repeat;
  transition: transform .45s var(--sortie), background-color .3s, border-color .3s; }
.faq summary:hover::after { border-color: var(--or); }
.faq details[open] summary::after { transform: rotate(180deg); border-color: var(--marine);
  background: var(--marine) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E") center / 14px no-repeat; }
.faq summary:focus-visible { outline: 2px solid var(--or); outline-offset: 2px; border-radius: 6px; }
.faq details p { max-width: 760px; padding: 0 26px 24px; font-size: 15px; line-height: 1.75; color: var(--texte); }
.faq details::details-content { block-size: 0; overflow: hidden; transition: block-size .45s var(--sortie), content-visibility .45s allow-discrete; }
.faq details[open]::details-content { block-size: auto; }
/* accueil : deux colonnes et questions numérotées */
.section:has(.faq-pro) { padding-top: 96px; }
@media (max-width: 760px) { .section:has(.faq-pro) { padding-top: 56px; } }
.faq-pro { display: grid; grid-template-columns: minmax(0, 380px) minmax(0, 1fr); gap: 64px; align-items: start; }
.faq-cote { position: sticky; top: 120px; }
.faq-pro .faq-cote h2 { margin-top: 0; font-size: 36px; line-height: 1.15; color: var(--encre); }
.faq-pro .faq-cote .faq-chapo { margin-top: 14px; font-size: 16px; line-height: 1.65; color: var(--texte); }
.faq-pro .faq-contact { margin-top: 28px; padding: 26px; border: 1px solid var(--filet-chaud); border-radius: 6px; background: var(--sable); }
.faq-pro .faq-contact .faq-contact-titre { margin: 0; font-size: 17px; font-weight: 700; color: var(--encre); }
.faq-pro .faq-contact .faq-contact-texte { margin-top: 6px; font-size: 14.5px; line-height: 1.6; color: var(--texte); }
.faq-pro .faq-contact .bouton { width: 100%; margin-top: 18px; font-weight: 600; }
.faq-pro .faq-contact .bouton a { color: var(--blanc); }
.faq-pro .faq-contact .faq-mail { margin-top: 12px; text-align: center; font-size: 14px; }
.faq-pro .faq-contact .faq-mail a { font-weight: 600; color: var(--or); }
.faq-pro .faq summary { justify-content: flex-start; }
.faq-num { flex: none; min-width: 30px; font-size: 12.5px; font-weight: 700; letter-spacing: .1em; color: var(--or); }
.faq-q { flex: 1; }
.faq-pro .faq details p { padding-left: 74px; padding-right: 74px; }
@media (max-width: 1024px) {
  .faq-pro { grid-template-columns: 1fr; gap: 32px; }
  .faq-cote { position: static; }
}
@media (max-width: 760px) {
  .faq summary { padding: 16px 16px 16px 18px; font-size: 15px; }
  .faq summary::after { width: 32px; height: 32px; }
  .faq details p, .faq-pro .faq details p { padding: 0 18px 20px; }
  .faq-pro .faq-cote h2 { font-size: 28px; }
}

/* ==========================================================================
   EN-TÊTE REFAIT (6 octobre 2026)
   Barre d’information marine, logo à gauche, menu centré, actions à droite.
   Hauteur inchangée (39 + 96 px) : les héros n’ont pas à bouger.
   ========================================================================== */
/* ---------- Barre d’information ---------- */
.entete .barre-haut { padding-top: 0; background: var(--marine); border-bottom: 0; box-shadow: inset 0 -1px 0 rgba(184, 143, 66, .28); }
.entete .barre-haut .enveloppe { height: 39px; }
.th-promesse { display: inline-flex; align-items: center; gap: 10px; font-size: 12px; line-height: 1; color: rgba(255, 255, 255, .62); white-space: nowrap; }
.th-promesse::before { content: ""; flex: none; width: 15px; height: 15px; background: var(--or); -webkit-mask: var(--i-bouclier) center / contain no-repeat; mask: var(--i-bouclier) center / contain no-repeat; }
.th-promesse strong { font-weight: 600; letter-spacing: .01em; color: var(--blanc); }
.th-promesse span { margin-left: 4px; padding-left: 14px; border-left: 1px solid rgba(255, 255, 255, .18); }
.entete .th-item, .entete .th-item:first-child { font-size: 12px; font-weight: 400; color: rgba(255, 255, 255, .78); }
.entete .th-item + .th-item { margin-left: 18px; padding-left: 18px; border-left: 1px solid rgba(255, 255, 255, .16); }
.entete .th-item::before { width: 14px; height: 14px; color: var(--or); }
.entete .th-item a:hover { color: #E2C68F; }
.th-bisecco strong { font-weight: 600; color: var(--blanc); }
.th-bisecco a::after { content: ""; display: inline-block; width: 11px; height: 11px; margin-left: 6px; vertical-align: -1px; background: currentColor; opacity: .7;
  -webkit-mask: var(--i-fleche) center / contain no-repeat; mask: var(--i-fleche) center / contain no-repeat; transform: rotate(-45deg); }

/* ---------- Barre principale : logo · menu · actions ---------- */
.entete .barre-principale .enveloppe { grid-template-columns: auto 1fr auto; gap: 40px; }
.barre-principale .logo { justify-self: start; }
.logo.wp-block-site-logo img { width: 196px; }
.entete.colle .logo.wp-block-site-logo img { width: 164px; }
.entete .barre-principale .wp-block-navigation.nav { justify-self: center; font-size: 14.5px; font-weight: 500; color: var(--encre); }
.entete .wp-block-navigation.nav .wp-block-navigation__container { gap: 4px; }
.entete .nav .wp-block-navigation-item__content { padding: 10px 16px; border-radius: 4px; transition: color .25s, background-color .25s; }
.entete .nav .wp-block-navigation-item__content:hover { color: var(--marine); background-color: var(--sable); }
.entete .nav .wp-block-navigation-item__content::after { left: 16px; right: 16px; bottom: 3px; height: 2px; border-radius: 2px; }
.entete .nav .actif { color: var(--marine); font-weight: 500; }

.entete-droite { gap: 10px; }
/* favoris : pastille ronde, compteur en exposant */
.entete-favoris a { position: relative; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--filet); border-radius: 50%; color: var(--marine);
  transition: border-color .3s, color .3s, background-color .3s; }
.entete-favoris a::before { content: ""; width: 18px; height: 18px; margin-top: 2px; background: currentColor; -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
.entete-favoris a:hover, .entete-favoris a.actif { border-color: var(--or); color: var(--or); background-color: #FFFCF6; }
.entete-favoris .bi-nb-favoris:not(:empty) { position: absolute; top: -6px; right: -6px; box-sizing: border-box; min-width: 21px; height: 21px; margin: 0; padding: 0 5px;
  border: 2px solid var(--blanc); background: var(--or); color: var(--blanc); font-size: 10.5px; line-height: 1; }
.texte-cache { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
/* espace pro : libellé en petites capitales, séparé du bouton par un filet */
.entete .acces-pro { padding: 0 20px 0 4px; border-right: 1px solid var(--filet); }
.entete .acces-pro a { grid-template-columns: 44px auto; column-gap: 12px; font-size: 14px; font-weight: 600; color: var(--encre); }
.entete .acces-pro a::before { width: 44px; height: 44px; border-color: var(--filet); background: var(--sable); }
.entete .acces-pro a::after { left: 13px; width: 18px; height: 18px; margin-top: -9px; color: var(--marine); }
.entete .acces-pro strong { margin-bottom: 2px; font-size: 10px; font-weight: 700; letter-spacing: .16em; color: var(--or); }
.entete .acces-pro a:hover { color: var(--marine); }
.entete .acces-pro a:hover::before { border-color: var(--or); background: #FFFCF6; }
/* bouton principal */
.entete .bouton.bouton-entete { height: 46px; margin-left: 6px; padding: 0 22px; gap: 10px; font-size: 14px; font-weight: 600; letter-spacing: .01em; border-radius: 4px;
  box-shadow: 0 10px 22px -12px rgba(184, 143, 66, .85); }
.entete .bouton.bouton-entete { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E"); }
.entete .bouton.bouton-entete::before { width: 15px; height: 15px; color: var(--blanc); }
/* bouton du panneau : rond, comme les autres pastilles */
.entete .nav-panneau .wp-block-navigation__responsive-container-open { border-color: var(--filet); border-radius: 50%; color: var(--marine); }
.entete .nav-panneau .wp-block-navigation__responsive-container-open::before, .entete .nav-panneau .wp-block-navigation__responsive-container-open::after { right: 12px; }
@media (min-width: 1181px) { .entete-droite .nav-panneau { display: none; } }

/* panneau latéral : espace pro et publication en boutons */
.nav-panneau .lien-espace { margin-top: 26px; }
.nav-panneau .lien-espace, .nav-panneau .lien-publier { border-bottom: 0 !important; }
.nav-panneau .lien-publier { margin-top: 10px; }
.nav-panneau .is-menu-open :is(.lien-espace, .lien-publier) .wp-block-navigation-item__content { display: flex; align-items: center; justify-content: center; height: 52px;
  padding: 0 !important; border-radius: 4px; font-size: 16px; font-weight: 600; }
.nav-panneau .is-menu-open .lien-espace .wp-block-navigation-item__content { border: 1px solid var(--marine); color: var(--marine); }
.nav-panneau .is-menu-open .lien-publier .wp-block-navigation-item__content { background: var(--or); color: var(--blanc); }
.nav-panneau .is-menu-open .lien-espace .wp-block-navigation-item__content:hover { padding-left: 0 !important; background: var(--marine); color: var(--blanc); }
.nav-panneau .is-menu-open .lien-publier .wp-block-navigation-item__content:hover { padding-left: 0 !important; background: var(--or-fonce); color: var(--blanc); }

@media (max-width: 1360px) {
  .entete .barre-principale .enveloppe { gap: 28px; }
  .entete .nav .wp-block-navigation-item__content { padding: 10px 12px; font-size: 14px; }
  .entete .nav .wp-block-navigation-item__content::after { left: 12px; right: 12px; }
  .th-promesse span { display: none; }
}
@media (max-width: 1320px) {
  .entete .acces-pro { display: block; padding-right: 16px; }
  .entete .acces-pro a { grid-template-columns: 44px; font-size: 0; }
  .entete .acces-pro strong { display: none; }
}
@media (max-width: 1180px) {
  .entete .barre-principale .enveloppe { grid-template-columns: auto 1fr; }
  .entete-droite { justify-self: end; }
}
@media (max-width: 1024px) {
  .entete .th-item.ico-courriel { display: none; }
}
@media (max-width: 760px) {
  .logo.wp-block-site-logo img, .entete.colle .logo.wp-block-site-logo img { width: 128px; }
  .entete-droite { gap: 8px; }
  .entete-favoris a, .entete .nav-panneau .wp-block-navigation__responsive-container-open { width: 40px; height: 40px; }
  .entete .acces-pro { padding: 0; border-right: 0; }
  .entete .acces-pro a { grid-template-columns: 40px; }
  .entete .acces-pro a::before { width: 40px; height: 40px; }
  .entete .acces-pro a::after { left: 11px; }
}

/* Sur petit écran, l’accès au compte reste visible ; l’autre action est dans le menu. */
@media (max-width: 600px) {
  .entete .acces-inscription { display: none; }
  .entete .acces-connexion a { font-size: 13px; }
}

/* ---------- En-tête, 2e passe (6 octobre 2026) : fixé en haut, sobre, menus déroulants ---------- */
/* toujours fixé : la barre d’information reste visible au défilement, la barre principale s’affine */
.entete, .entete.colle { position: fixed; animation: none; }
.entete::after { display: none; }
.entete::before, .home .entete:not(.colle)::before, .entete.colle::before { background: var(--blanc); box-shadow: inset 0 -1px 0 var(--filet); }
.entete.colle { box-shadow: 0 12px 30px -24px rgba(2, 20, 52, .45); }
.entete.colle .barre-haut { max-height: 39px; opacity: 1; }
.entete.colle .barre-principale .enveloppe { height: 76px; }
/* menu : simple soulignement, pas de pastille */
.entete .nav .wp-block-navigation-item__content:hover { background-color: transparent; }
.entete .nav > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after { background: var(--or); }
.entete .nav .has-child > .wp-block-navigation-item__content { padding-right: 6px; }
.entete .nav .wp-block-navigation__submenu-icon { width: 10px; height: 10px; margin: 1px 14px 0 0; padding: 0; color: var(--gris); transition: transform .3s var(--sortie), color .25s; }
.entete .nav .wp-block-navigation__submenu-icon svg { width: 10px; height: 10px; stroke-width: 2; }
.entete .nav .has-child:hover > .wp-block-navigation__submenu-icon, .entete .nav .has-child:focus-within > .wp-block-navigation__submenu-icon { transform: rotate(180deg); color: var(--or); }
.entete .nav .wp-block-navigation-item__content.actif { color: var(--marine); }
/* boutons sans brillance ni halo */
.entete .bouton.bouton-entete { box-shadow: none; }
.entete .bouton.bouton-entete::after { display: none; }
.entete .bouton.bouton-entete:hover { box-shadow: none; background: var(--or-fonce); }
/* panneau déroulant : aligné sur le bas de l’en-tête */
.entete .nav .has-child > .wp-block-navigation__submenu-container { top: calc(100% + 27px); left: -4px; z-index: 60; min-width: 0; padding: 8px; border: 1px solid var(--filet) !important; border-radius: 6px;
  background: var(--blanc) !important; box-shadow: 0 24px 48px -24px rgba(2, 20, 52, .28); translate: 0 6px; transition: opacity .2s, translate .3s var(--sortie), visibility .2s; }
.entete.colle .nav .has-child > .wp-block-navigation__submenu-container { top: calc(100% + 17px); }
.entete .nav .has-child > .wp-block-navigation__submenu-container::before { content: ""; position: absolute; left: 0; right: 0; top: -28px; height: 28px; }
.entete .nav .has-child:is(:hover, :focus-within) > .wp-block-navigation__submenu-container { width: 300px; min-width: 300px; translate: 0 0; }
.entete .nav .wp-block-navigation__submenu-container .wp-block-navigation-item { width: 100%; }
.entete .nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { display: flex; flex-direction: column; align-items: flex-start; width: 100%; padding: 11px 14px; border-radius: 4px; white-space: normal; transition: background-color .2s; }
.entete .nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content::after { display: none; }
.entete .nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background-color: var(--sable); }
.entete .nav .wp-block-navigation-item__label { display: block; font-size: 14.5px; font-weight: 600; color: var(--encre); }
.entete .nav .wp-block-navigation__submenu-container .wp-block-navigation-item__description { display: block; margin-top: 2px; font-size: 12.5px; font-weight: 400; line-height: 1.4; color: var(--gris); }
.entete .nav > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content .wp-block-navigation-item__label { font-size: inherit; font-weight: inherit; color: inherit; }
.entete .nav .wp-block-navigation__submenu-container .wp-block-navigation-item:first-child { margin-bottom: 6px; padding-bottom: 6px; border-bottom: 1px solid var(--filet); }
.entete .nav .wp-block-navigation__submenu-container .wp-block-navigation-item:first-child .wp-block-navigation-item__label::after { content: ""; display: inline-block; width: 13px; height: 13px; margin-left: 8px; vertical-align: -2px; background: var(--or);
  -webkit-mask: var(--i-fleche) center / contain no-repeat; mask: var(--i-fleche) center / contain no-repeat; transition: transform .3s var(--sortie); }
.entete .nav .wp-block-navigation__submenu-container .wp-block-navigation-item:first-child .wp-block-navigation-item__content:hover .wp-block-navigation-item__label::after { transform: translateX(4px); }
@media (max-width: 1360px) { .entete .nav .wp-block-navigation__submenu-icon { margin-right: 10px; } }

/* ---------- En-tête fixe : les ancres s’arrêtent sous lui ; moteur de recherche de l’accueil ---------- */
/* une seule marge (sur la page) : elle s’ajouterait à celle des blocs */
html { scroll-padding-top: 150px; }
@media (max-width: 760px) { html { scroll-padding-top: 84px; } }
.js .hero .bi-moteur { opacity: 0; translate: 0 22px; transition: opacity 1s var(--sortie), translate 1s var(--sortie); }
.js .hero.entre .bi-moteur { opacity: 1; translate: 0 0; transition-delay: .5s; }
.hero-immersif .hero-recherche { margin-bottom: -60px; }
.hero-immersif + .reassurance { padding-top: 116px; }
@media (max-width: 760px) { .hero-immersif .hero-recherche { margin-bottom: 0; } .hero-immersif + .reassurance { padding-top: 40px; } }

/* ---------- Pages intérieures alignées sur l’accueil (thème 1.10.0) ---------- */
.section .outils.outils-3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 1024px) { .section .outils.outils-3 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 760px) { .section .outils.outils-3 { grid-template-columns: 1fr; } }
/* FAQ sans encadré de contact (page Contact) */
.faq-pro .faq-cote > :last-child { margin-bottom: 0; }
/* encart sable entre deux sections : même respiration au-dessus et au-dessous */
.section.section-encart { padding: 40px 0; }
.section.section-encart.section-fin { padding-bottom: 80px; }
@media (max-width: 760px) { .section.section-encart { padding: 24px 0; } .section.section-encart.section-fin { padding-bottom: 48px; } }
/* la recherche de professionnels posée sur le héros de la page Construction */
.hero-page .barre.bi-barre-artisans { margin-top: 0; }

/* ---------- Page Contact (thème 1.11.0) ---------- */
.section-contact { padding-top: 56px; }
.contact-grille { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 32px; }
.formulaire { padding: 48px; border-radius: 10px; box-shadow: 0 1px 2px rgba(2, 20, 52, .04), 0 28px 60px -34px rgba(2, 20, 52, .3); }
.formulaire-tete { padding-bottom: 26px; border-bottom: 1px solid var(--filet); }
.formulaire .formulaire-tete h2 { margin-top: 6px; font-size: 32px; line-height: 1.15; }
.formulaire .formulaire-tete .intro { margin-top: 10px; font-size: 15px; line-height: 1.6; color: var(--texte); }
.formulaire .champs { gap: 20px; margin-top: 28px; }
.formulaire .champ-form { gap: 8px; }
.formulaire .champ-form label { font-size: 13px; font-weight: 600; color: var(--encre); }
.formulaire .champ-form .wpcf7-form-control:not(.wpcf7-acceptance) { height: 50px; padding: 0 16px; border-color: #DDE0E5; border-radius: 6px; background-color: #FCFCFD; font-size: 15px; }
.formulaire .champ-form select.wpcf7-form-control { padding-right: 42px; }
.formulaire .champ-form textarea.wpcf7-form-control { height: auto; min-height: 168px; padding: 14px 16px; line-height: 1.6; }
.formulaire .champ-form .wpcf7-form-control:focus { background-color: var(--blanc); }
.formulaire .consentement { padding: 14px 16px; border-radius: 6px; background: var(--sable); }
.formulaire .consentement a { color: var(--or); font-weight: 500; }
.formulaire .wpcf7 .bouton { height: 54px; margin-top: 26px; padding: 0 34px; border-radius: 6px; font-size: 15px; font-weight: 600; box-shadow: none; }
.formulaire .wpcf7 .bouton:hover { box-shadow: none; }
.formulaire .wpcf7 form .wpcf7-response-output { border-radius: 6px; }
/* colonne de droite, qui reste en vue pendant la saisie */
.contact-cote { position: sticky; top: 150px; gap: 18px; }
.contact-cote .coordonnees { padding: 30px 32px 14px; border: 1px solid var(--filet); border-radius: 10px; background: var(--blanc); }
.contact-cote .coordonnees h3 { margin-bottom: 8px; font-size: 19px; }
.contact-cote .coordonnee { grid-template-columns: 44px 1fr; gap: 14px; padding: 16px 0; border-top: 1px solid var(--filet); font-size: 14.5px; line-height: 1.5; color: var(--texte); }
.contact-cote .coordonnee::before { width: 44px; height: 44px; border: 0; border-radius: 8px; background: #FBF6EC; }
.contact-cote .coordonnee::after { left: 12px; }
.contact-cote .coordonnee strong { margin-bottom: 2px; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--gris); }
.contact-cote .coordonnee a { font-weight: 600; color: var(--encre); transition: color .25s; }
.contact-cote .coordonnee a:hover { color: var(--or); }
.ico-repere { --ico: var(--i-repere); }
.copier { margin-left: 10px; padding: 3px 10px; border: 1px solid var(--filet); border-radius: 99px; background: var(--blanc); font: inherit; font-size: 11.5px; font-weight: 600; color: var(--texte); cursor: pointer; vertical-align: 1px; transition: border-color .2s, color .2s; }
.copier:hover { border-color: var(--or); color: var(--or); }
.copier.ok { border-color: #2E7D4F; color: #2E7D4F; }
.contact-cote .carte-demo { padding: 30px 32px; border: 1px solid var(--filet-chaud); border-radius: 10px; background: var(--sable); }
.contact-cote .carte-demo::before { display: none; }
.contact-cote .carte-demo h3 { margin-top: 6px; font-size: 19px; }
.contact-cote .carte-demo > p:not([class]) { margin: 8px 0 0; font-size: 14.5px; line-height: 1.6; }
.contact-cote .demo-liste { display: grid; gap: 9px; margin: 16px 0 18px; padding: 0; list-style: none; }
.contact-cote .demo-liste li { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 500; color: var(--encre); }
.contact-cote .demo-liste li::before { content: ""; flex: none; width: 18px; height: 18px; border-radius: 50%;
  background: var(--or) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 10px no-repeat; }
.contact-rgpd { padding: 0 4px; font-size: 12.5px; line-height: 1.55; color: var(--gris); }
.contact-rgpd a { color: var(--texte); text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 1024px) { .contact-grille { grid-template-columns: minmax(0, 1fr); } .contact-cote { position: static; } }
@media (max-width: 760px) {
  .section-contact { padding-top: 32px; }
  .formulaire { padding: 28px 20px; }
  .formulaire .formulaire-tete h2 { font-size: 26px; }
  .contact-cote .coordonnees, .contact-cote .carte-demo { padding-left: 22px; padding-right: 22px; }
}

/* Gabarits simples : index, recherche, 404 */
.page-simple { padding: 150px 0 72px; }
.page-simple h1 { font-size: 40px; margin-bottom: 24px; }
.page-simple .chapeau { margin: 12px 0 28px; font-size: 18px; }
.page-simple .wp-block-post-title { margin-top: 28px; font-size: 22px; }
.page-simple .wp-block-post-title a:hover { color: var(--or); }


/* ==========================================================================
   OPTIMISATIONS UX BISIMMO — 7 octobre 2026
   Renforce la recherche, la confiance, les cartes et l’onboarding pro
   sans modifier l’identité visuelle existante.
   ========================================================================== */

/* Accueil : preuves de confiance sous les CTA */
.hero-immersif .hero-preuves {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 620px;
  margin-top: 26px;
  padding-top: 18px;
  border-top: 1px solid var(--filet);
}
.hero-immersif .hero-preuve {
  min-width: 0;
  padding: 0 14px;
  border-left: 1px solid var(--filet);
  font-size: 12px;
  line-height: 1.45;
}
.hero-immersif .hero-preuve:first-child { padding-left: 0; border-left: 0; }
.hero-immersif .hero-preuve strong {
  display: block;
  margin-bottom: 3px;
  color: var(--encre);
  font-size: 12.5px;
  font-weight: 700;
}
.hero-immersif .hero-preuve span { display: block; color: var(--gris); }

/* Accueil : moteur plus central et recherches rapides immédiatement visibles */
.hero-immersif .hero-recherche { margin-top: 34px; }
.hero-recherche .bi-moteur {
  border: 1px solid var(--filet);
  border-radius: var(--rayon);
  box-shadow: 0 18px 46px -28px rgba(2, 20, 52, .36);
}
.hero-recherche .bi-moteur-note { color: var(--gris); }
.hero-recherche .bi-moteur-nb { font-weight: 700; color: var(--or); }
.hero-recherche .bi-barre-bouton-nb { opacity: .78; font-size: 11px; }

.hero-raccourcis {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.hero-raccourcis-label {
  margin-right: 4px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gris);
}
.hero-raccourci a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid var(--filet-chaud);
  border-radius: var(--rayon);
  background: rgba(255, 255, 255, .96);
  color: var(--encre);
  font-size: 12.5px;
  font-weight: 600;
  transition: border-color .25s, background-color .25s, color .25s;
}
.hero-raccourci a:hover {
  border-color: var(--marine);
  background: var(--marine);
  color: var(--blanc);
}
.hero-raccourci-plus a {
  border-color: var(--or);
  color: var(--or-fonce);
}

/* Cartes d’annonces : informations plus lisibles et aucune caractéristique coupée */
.bi-carte {
  border-color: var(--filet);
  border-radius: var(--rayon);
  box-shadow: 0 10px 30px -24px rgba(2, 20, 52, .34);
  transition: transform .3s var(--sortie), box-shadow .3s var(--douce), border-color .3s;
}
.bi-carte:hover {
  transform: translateY(-4px);
  border-color: #D9DCE1;
  box-shadow: 0 22px 48px -30px rgba(2, 20, 52, .45);
}
.bi-carte-corps { padding: 22px 22px 24px; }
.bi-carte-prix-ligne { align-items: center; gap: 12px; }
.bi-carte-prix { color: var(--encre); }
.bi-carte-sous-prix { margin-top: 5px; color: var(--gris); }
.bi-carte-type {
  margin-top: 14px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--or-fonce);
  white-space: normal;
}
.bi-carte-titre { margin-top: 5px; font-size: 20px; line-height: 1.3; }
.bi-carte-carac,
.bi-carte-lieu {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  max-width: none !important;
}
.bi-carte-carac { margin-top: 10px; line-height: 1.55; color: var(--texte); }
.bi-carte-lieu { margin-top: 8px; line-height: 1.45; }
.bi-carte-pied {
  min-height: 62px;
  padding-left: 22px;
  padding-right: 22px;
}
.bi-carte-verifie {
  padding: 5px 9px;
  border: 1px solid var(--filet-chaud);
  border-radius: var(--rayon);
  background: #FBF8F2;
  color: var(--or-fonce);
  font-size: 11.5px;
  font-weight: 700;
}

/* Espace professionnel : bénéfices immédiatement visibles avant connexion */
.acces-benefices {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 0 26px;
  border: 1px solid var(--filet);
  border-radius: var(--rayon);
  background: var(--blanc);
}
.acces-benefices p {
  padding: 16px 17px;
  border-left: 1px solid var(--filet);
  font-size: 12.5px;
  line-height: 1.45;
}
.acces-benefices p:first-child { border-left: 0; }
.acces-benefices strong {
  display: block;
  margin-bottom: 3px;
  color: var(--encre);
  font-size: 13px;
  font-weight: 700;
}
.acces-benefices span { display: block; color: var(--gris); }

/* Construction & rénovation : rassurer avant les cartes de professionnels */
.construction-preuves {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 14px;
  border: 1px solid var(--filet-chaud);
  border-radius: var(--rayon);
  background: rgba(255, 255, 255, .96);
}
.construction-preuves p {
  padding: 15px 18px;
  border-left: 1px solid var(--filet-chaud);
  font-size: 12.5px;
  line-height: 1.45;
}
.construction-preuves p:first-child { border-left: 0; }
.construction-preuves strong {
  display: block;
  margin-bottom: 2px;
  color: var(--encre);
  font-size: 13px;
  font-weight: 700;
}
.construction-preuves span { display: block; color: var(--gris); }

@media (max-width: 1024px) {
  .hero-immersif .hero-preuves { max-width: none; }
  .hero-raccourcis { margin-bottom: 8px; }
}
@media (max-width: 760px) {
  .hero-immersif .hero-preuves,
  .acces-benefices,
  .construction-preuves { grid-template-columns: 1fr; }
  .hero-immersif .hero-preuve,
  .acces-benefices p,
  .construction-preuves p {
    padding: 11px 0;
    border-left: 0;
    border-top: 1px solid var(--filet);
  }
  .hero-immersif .hero-preuve:first-child,
  .acces-benefices p:first-child,
  .construction-preuves p:first-child { border-top: 0; }
  .acces-benefices,
  .construction-preuves { padding: 4px 16px; }
  .hero-raccourcis {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: none;
  }
  .hero-raccourcis::-webkit-scrollbar { display: none; }
  .hero-raccourcis-label { display: none; }
  .hero-raccourci { flex: 0 0 auto; }
  .bi-carte-corps { padding: 20px; }
  .bi-carte-pied { padding-left: 20px; padding-right: 20px; }
}


/* BISIMMO : maintenir les cinq champs du moteur sur une ligne entre 1101 et 1350 px. */
.page-accueil .hero-raccourcis[hidden] { display: none !important; }
.page-accueil .hero-recherche .bi-barre-lieu::after { display: none !important; }
.page-accueil .hero-recherche .bi-moteur .bi-barre .bi-barre-lieu input[type="search"] {
  padding-left: 39px !important;
  background: var(--i-repere) 12px center / 18px no-repeat #fdfdfe !important;
}
@media (min-width: 1101px) and (max-width: 1350px) {
  .page-accueil .hero-recherche .bi-barre:not(.bi-barre-artisans) > .bi-barre-projet,
  .page-accueil .hero-recherche .bi-barre:not(.bi-barre-artisans) > .bi-barre-types,
  .page-accueil .hero-recherche .bi-barre:not(.bi-barre-artisans) > .bi-barre-lieu,
  .page-accueil .hero-recherche .bi-barre:not(.bi-barre-artisans) > .bi-barre-budget,
  .page-accueil .hero-recherche .bi-barre:not(.bi-barre-artisans) > .bi-barre-bouton {
    grid-column: auto !important;
  }
}
@media (min-width: 1101px) {
  .page-accueil .hero-recherche .bi-barre-types .bi-barre-puces {
    flex-wrap: nowrap !important;
    gap: 4px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }
  .page-accueil .hero-recherche .bi-barre-types .bi-barre-puce {
    min-width: 0;
    padding: 4px !important;
  }
  .page-accueil .hero-recherche .bi-barre-types .bi-barre-puce span {
    padding: 0 5px 0 2px !important;
    font-size: 13px !important;
  }
}
@media (max-width: 520px) {
  .page-accueil .hero-recherche .bi-moteur-onglets {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 4px !important;
  }
  .page-accueil .hero-recherche .bi-moteur-onglet {
    min-height: 66px !important;
    justify-content: center !important;
    padding: 5px 2px !important;
  }
  .page-accueil .hero-recherche .bi-moteur-onglet[aria-selected="true"] {
    box-shadow: inset 0 -3px var(--or) !important;
  }
  .page-accueil .hero-recherche .bi-barre-types .bi-barre-puces {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }
  .page-accueil .hero-recherche .bi-barre-types .bi-barre-puce {
    width: 100% !important;
    min-width: 0 !important;
    justify-content: center !important;
    padding: 4px 2px !important;
  }
  .page-accueil .hero-recherche .bi-barre-types .bi-barre-puce span {
    gap: 5px !important;
    padding: 0 2px !important;
    font-size: 12px !important;
  }
}

/* Survol premium BISIMMO : un seul reflet par surface interactive. */
:root {
  --bi-verre-reflet: linear-gradient(118deg, rgba(255,255,255,.26) 0%, rgba(255,255,255,.05) 38%, rgba(255,255,255,.18) 59%, rgba(255,255,255,.03) 100%);
  --bi-verre-ombre: inset 0 1px 0 rgba(255,255,255,.44), 0 10px 22px -10px rgba(7,27,51,.32);
}
/* Les boutons Gutenberg ont deux nœuds : seul le conteneur porte le fond et l’ombre. */
html body :is(.bouton, .bouton-contour) > a,
html body :is(.bouton, .bouton-contour) > a:hover {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border: 0 !important;
  transform: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
html body .bouton::after { display: none !important; }
html body :is(.bouton, .bouton-contour, .bi-btn, .bi-bouton-second, .wp-block-button__link, .wp-element-button, .bi-cta-button, .bi-cta-link, .bi-w-primary, button[type="submit"], input[type="submit"], .bouton-verre > a, .entete-droite > p.acces-connexion > a, .entete-droite > p.acces-inscription > a) {
  transition: background-color .24s ease, border-color .24s ease, color .24s ease, box-shadow .24s ease, transform .24s ease !important;
}
@media (hover: hover) and (pointer: fine) {
  html body :is(.bouton, .bouton-contour, .bi-btn, .bi-bouton-second, .wp-block-button__link, .wp-element-button, .bi-cta-button, .bi-cta-link, .bi-w-primary, button[type="submit"], input[type="submit"], .bouton-verre > a, .entete-droite > p.acces-connexion > a, .entete-droite > p.acces-inscription > a):hover:not(:disabled):not([aria-disabled="true"]) {
    background-image: var(--bi-verre-reflet) !important;
    box-shadow: var(--bi-verre-ombre) !important;
    transform: translateY(-2px) !important;
  }
  html body .bouton-contour:hover:not([aria-disabled="true"]) {
    background-color: #f8f3e8 !important;
    background-size: auto !important;
    border-color: var(--or) !important;
    color: var(--encre) !important;
  }
  html body .bouton-verre > a:hover {
    background-color: #f8f3e8 !important;
    border-color: var(--or) !important;
    color: var(--encre) !important;
  }
  /* Les petits contrôles restent légers, sans halo ni déplacement. */
  html body :is(.bi-moteur-onglet, .bi-carte-nav, .bi-favori, .vitrine-fleche, .bi-barre-puce, .bi-plusmoins button):hover {
    background-image: linear-gradient(125deg, rgba(255,255,255,.34), rgba(255,255,255,.06)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 4px 12px -8px rgba(7,27,51,.32) !important;
    transform: none !important;
  }
  /* Même ombre et même soulignement doré sur les cartes des différents univers. */
  html body :is(.carte, .bi-carte, .atout-carte, .agence-carte, .pro-carte, .outil, .categorie, .offre, .carte-demo, .bi-carte-choix, .kpi, .espace-carte):hover {
    border-color: rgba(184,145,67,.52) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 18px 36px -23px rgba(7,27,51,.35) !important;
    transform: translateY(-3px) !important;
  }
  html body :is(.carte, .bi-carte, .atout-carte, .agence-carte, .pro-carte, .outil, .categorie, .offre, .carte-demo, .bi-carte-choix, .kpi, .espace-carte):hover {
    background-image: linear-gradient(135deg, rgba(255,255,255,.22), rgba(248,243,232,.09)) !important;
  }
  html body .tuile:hover {
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.35), 0 22px 42px -25px rgba(7,27,51,.42) !important;
  }
}
html body :is(.bouton, .bouton-contour, .bi-btn, .bi-bouton-second, .wp-block-button__link, .wp-element-button, .bi-cta-button, .bi-cta-link, .bi-w-primary, button[type="submit"], input[type="submit"], .bouton-verre > a):active:not(:disabled) {
  transform: translateY(0) !important;
}
html body :is(.bouton, .bouton-contour, .bi-btn, .bi-bouton-second, .wp-block-button__link, .wp-element-button, .bi-cta-button, .bi-cta-link, .bi-w-primary, button[type="submit"], input[type="submit"], .bouton-verre > a):focus-visible,
html body :is(.carte, .bi-carte, .pro-carte, .outil) a:focus-visible {
  outline: 2px solid var(--or) !important;
  outline-offset: 3px !important;
}
@media (prefers-reduced-motion: reduce) {
  html body :is(.bouton, .bouton-contour, .bi-btn, .bi-bouton-second, .wp-block-button__link, .wp-element-button, .bi-cta-button, .bi-cta-link, .bi-w-primary, button[type="submit"], input[type="submit"], .bouton-verre > a, .carte, .bi-carte, .atout-carte, .agence-carte, .pro-carte, .outil, .categorie, .offre, .carte-demo, .bi-carte-choix, .kpi, .espace-carte):hover {
    transform: none !important;
    transition: none !important;
  }
}

/* Hero : la feuille de mise en page place le fond sur le lien, pas sur son paragraphe. */
html body .hero-actions > p.bouton,
html body .hero-actions > p.bouton.bouton-hero:hover:not(:disabled):not([aria-disabled="true"]) {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  transform: none !important;
}
html body .hero-actions > p.bouton > a {
  background: #b89143 !important;
  border: 1px solid #b89143 !important;
  box-shadow: none !important;
}
@media (hover: hover) and (pointer: fine) {
  html body .hero-actions > p.bouton > a:hover {
    background-color: #a47b30 !important;
    background-image: var(--bi-verre-reflet) !important;
    border-color: #a47b30 !important;
    box-shadow: var(--bi-verre-ombre) !important;
    transform: translateY(-2px) !important;
  }
}


/* Accueil BISIMMO — composition inspirée de la maquette du 15 octobre 2026. */
body.page-accueil .hero.hero-immersif {
  display: block;
  min-height: 0;
  padding: 0 0 44px;
  overflow: visible;
  background: #fff;
}
body.page-accueil .hero-immersif .hero-fond {
  inset: 0 0 auto;
  height: 525px;
}
body.page-accueil .hero-immersif .hero-photo {
  inset: 0;
  width: 100%;
  height: 100%;
  object-position: 65% 48%;
  -webkit-mask-image: none;
  mask-image: none;
}
body.page-accueil .hero.hero-immersif::before {
  inset: 0 0 auto;
  height: 526px;
  background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,.98) 24%, rgba(255,255,255,.85) 39%, rgba(255,255,255,.16) 66%, transparent 80%);
}
body.page-accueil .hero.hero-immersif::after { display: none; }
body.page-accueil .hero-immersif > .enveloppe {
  width: min(92%, 1320px);
  padding-top: 94px;
}
body.page-accueil .hero-immersif .hero-texte {
  max-width: 550px;
  padding-bottom: 0;
}
body.page-accueil .hero-immersif .hero-texte .hero-surtitre {
  color: #ad7e25;
  margin-bottom: 22px;
}
body.page-accueil .hero-immersif h1 {
  max-width: 550px;
  font-size: clamp(45px, 4.8vw, 66px);
  line-height: 1.04;
  letter-spacing: -.038em;
  color: var(--marine);
}
body.page-accueil .hero-immersif h1 em {
  color: var(--marine);
  font-weight: inherit;
}
body.page-accueil .hero-immersif .hero-texte .chapeau {
  max-width: 440px;
  margin-top: 20px;
  color: #465773;
  font-size: 18px;
  line-height: 1.5;
}
body.page-accueil .hero-immersif .hero-actions { margin-top: 27px; }
body.page-accueil .hero-immersif .hero-actions .bouton {
  height: 48px;
  background: var(--or);
  color: var(--marine);
  border-radius: 3px;
  box-shadow: 0 10px 22px rgba(15, 35, 63, .12);
}
body.page-accueil .hero-immersif .hero-actions .bouton a { color: var(--marine); }
html body.page-accueil .hero-actions > p.bouton { width: max-content; height: auto; padding: 0 !important; }
html body.page-accueil .hero-actions > p.bouton::before { display: none; }
html body.page-accueil .hero-actions > p.bouton > a {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: 0 20px;
  border-radius: 3px;
  color: var(--marine) !important;
  font-weight: 700;
  text-decoration: none;
}
html body.page-accueil .hero-actions > p.bouton > a::after { content: "→"; margin-left: 14px; }
body.page-accueil .hero-immersif .hero-recherche {
  margin-top: 94px;
  margin-bottom: -62px;
}
body.page-accueil .hero-recherche .bi-moteur {
  border: 1px solid #e4e9ee;
  border-radius: 4px;
  box-shadow: 0 16px 38px rgba(6, 25, 55, .13);
  background: #fff;
}
body.page-accueil .hero-recherche .bi-barre-bouton {
  border-radius: 3px;
  background: var(--or);
  color: var(--marine);
}
body.page-accueil .hero-immersif + .reassurance {
  padding: 102px 0 36px;
  background: #fff;
}
body.page-accueil .reassurance .grille {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
}
body.page-accueil .reassurance .atout {
  min-height: 84px;
  padding: 10px 28px;
  border: 0;
  border-right: 1px solid var(--filet);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.page-accueil .reassurance .atout:last-child { border-right: 0; }
body.page-accueil .reassurance .atout h3 { font-size: 15px; }
body.page-accueil .reassurance .atout p { font-size: 13px; }

body.page-accueil .vitrine {
  margin: 0;
  padding: 66px 0 76px;
  background: #fbfaf7;
  color: var(--marine);
}
body.page-accueil .vitrine::before { display: none; }
body.page-accueil .vitrine-tete { text-align: left; margin-bottom: 24px; }
body.page-accueil .vitrine-surtitre { color: #a77b2d; letter-spacing: .16em; }
body.page-accueil .vitrine-surtitre::after { display: none; }
body.page-accueil .vitrine-titre { color: var(--marine); font-size: clamp(31px, 3vw, 40px); }
body.page-accueil .vitrine-scene { height: 420px; }
body.page-accueil .vitrine-carte {
  --l: min(480px, calc(100vw - 140px));
  --h: 405px;
  border-radius: 3px;
  box-shadow: 0 15px 32px rgba(8, 28, 57, .15);
}
body.page-accueil .vitrine-fleche { border-color: #d9dfe5; background: #fff; color: var(--marine); }
body.page-accueil .vitrine-catalogue a { color: var(--marine); border-color: var(--or); }

body.page-accueil .bi-maquette-univers {
  padding: 70px 0 76px;
  background: #fff;
}
body.page-accueil .bi-maquette-univers .tete { margin-bottom: 25px; }
body.page-accueil .bi-maquette-univers .tete h2 { font-size: clamp(30px, 3vw, 39px); }
body.page-accueil .bi-maquette-univers .univers { gap: 18px; }
body.page-accueil .bi-maquette-univers .tuile {
  min-height: 235px;
  height: 235px;
  border-radius: 3px;
}
body.page-accueil .bi-maquette-univers .tuile-texte { left: 22px; right: 20px; bottom: 20px; }
body.page-accueil .bi-maquette-univers .tuile-texte h3 { font-size: 21px; max-width: 245px; }
body.page-accueil .bi-maquette-univers .tuile-texte > p:not(.tuile-cta) { display: none; }
body.page-accueil .bi-maquette-univers .badge { display: none; }
body.page-accueil .bi-maquette-univers .tuile-cta { margin-top: 10px; }

body.page-accueil .section-parcours {
  padding: 67px 0 75px;
  background: #fbfaf7;
}
body.page-accueil .section-parcours h2 { font-size: clamp(30px, 3vw, 40px); }
body.page-accueil .section-parcours .parcours { margin-top: 38px; }

body.page-accueil .bi-home-pro {
  position: relative;
  overflow: hidden;
  min-height: 270px;
  background: linear-gradient(90deg, #061b37 0%, #082747 57%, rgba(6,27,55,.83) 100%), url('https://www.bisimmo.com/wp-content/uploads/2026/10/univers-immobilier-pro.jpg') center 42% / cover;
  color: #fff;
}
body.page-accueil .bi-home-pro-inner {
  width: min(92%, 1320px);
  min-height: 270px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}
body.page-accueil .bi-home-eyebrow { margin: 0 0 12px; color: #d4ab5b; font-size: 11px; font-weight: 700; letter-spacing: .2em; }
body.page-accueil .bi-home-pro h2 { margin: 0; color: #fff; font-size: clamp(30px, 3.3vw, 43px); }
body.page-accueil .bi-home-pro-copy > p:not(.bi-home-eyebrow) { max-width: 610px; margin: 10px 0 23px; color: #d7e0ea; font-size: 15px; line-height: 1.55; }
body.page-accueil .bi-home-pro-button {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-height: 45px;
  padding: 0 21px;
  border: 1px solid var(--or);
  border-radius: 3px;
  background: var(--or);
  color: #061b37;
  font-weight: 700;
  text-decoration: none;
}
body.page-accueil .bi-home-pro-button:hover,
body.page-accueil .bi-home-pro-button:focus-visible { background: #fff; border-color: #fff; color: #061b37; }
body.page-accueil .bi-home-pro-partner { min-width: 190px; margin: 0; font-size: 28px; font-weight: 700; }
body.page-accueil .bi-home-pro-partner span { display: block; margin-top: 8px; font-size: 12px; font-weight: 400; color: #d7e0ea; }
body.page-accueil .section-fin { padding-top: 76px; padding-bottom: 76px; }
body.page-accueil .pied { margin-top: 0; background: var(--marine); color: rgba(255,255,255,.75); }
body.page-accueil .pied h4 { color: #fff; }
body.page-accueil .pied-bas { border-color: rgba(255,255,255,.16); }
/* Keep the page complete in full-page captures and when scroll animations do not fire. */
html.js body.page-accueil :is(.tete, .titre-centre, .chapo, .atout, .tuile, .etape, .faq details, .pied-grille > *) {
  opacity: 1 !important;
  translate: 0 0 !important;
}

@media (max-width: 900px) {
  body.page-accueil .hero-immersif .hero-fond,
  body.page-accueil .hero.hero-immersif::before { height: 500px; }
  body.page-accueil .hero-immersif > .enveloppe { padding-top: 74px; }
  body.page-accueil .hero-immersif .hero-recherche { margin-top: 70px; }
  body.page-accueil .bi-maquette-univers .univers { grid-template-columns: repeat(2, minmax(0,1fr)); }
  body.page-accueil .bi-home-pro-partner { display: none; }
}
@media (max-width: 760px) {
  body.page-accueil .hero.hero-immersif { padding-bottom: 0; }
  body.page-accueil .hero-immersif .hero-fond { height: 265px; }
  body.page-accueil .hero.hero-immersif::before {
    inset: 0 0 auto;
    height: 267px;
    background: linear-gradient(0deg, #fff 0%, rgba(255,255,255,.16) 38%, transparent 72%);
  }
  body.page-accueil .hero-immersif > .enveloppe { width: min(92%, 620px); padding-top: 245px; }
  body.page-accueil .hero-immersif .hero-texte { max-width: none; }
  body.page-accueil .hero-immersif h1 { font-size: clamp(36px, 9vw, 49px); }
  body.page-accueil .hero-immersif .hero-texte .chapeau { max-width: none; font-size: 16px; }
  body.page-accueil .hero-immersif .hero-recherche { margin: 32px 0 0; }
  body.page-accueil .hero-immersif + .reassurance { padding: 30px 0; }
  body.page-accueil .reassurance .grille { grid-template-columns: 1fr; }
  body.page-accueil .reassurance .atout { border-right: 0; border-bottom: 1px solid var(--filet); padding: 15px 5px; }
  body.page-accueil .reassurance .atout:last-child { border-bottom: 0; }
  body.page-accueil .vitrine { padding: 50px 0 55px; }
  body.page-accueil .vitrine-scene { height: 375px; }
  body.page-accueil .vitrine-carte { --l: min(340px, calc(100vw - 48px)); --h: 350px; }
  body.page-accueil .bi-maquette-univers { padding: 50px 0; }
  body.page-accueil .bi-maquette-univers .univers { grid-template-columns: 1fr; }
  body.page-accueil .bi-maquette-univers .tuile { height: 210px; min-height: 210px; }
  body.page-accueil .section-parcours { padding: 50px 0; }
  body.page-accueil .bi-home-pro-inner { min-height: 300px; padding: 35px 0; }
  body.page-accueil .section-fin { padding: 55px 0; }
}



/* BISIMMO | Accueil, Hero 90vh d'après la maquette validée (16-10-2026).
   Règles limitées à l'accueil : photo, typographie, CTA et moteur natif. */
html body.home section.hero.hero-immersif {
  position: relative !important;
  display: block !important;
  isolation: isolate !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: 90vh !important;
  min-height: 90vh !important;
  padding: 0 !important;
  overflow: visible !important;
  background: var(--blanc) !important;
  color: var(--marine) !important;
}
@supports (height: 90svh) {
  html body.home section.hero.hero-immersif { height: 90svh !important; min-height: 90svh !important; }
}
html body.home section.hero.hero-immersif .hero-fond {
  position: absolute !important;
  display: block !important;
  inset: 135px 0 0 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  z-index: -2 !important;
}
html body.home section.hero.hero-immersif .hero-photo,
html body.home section.hero.hero-immersif .hero-photo img {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: 64% 51% !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  animation: none !important;
  transform: none !important;
  translate: none !important;
  opacity: 1 !important;
}
html body.home section.hero.hero-immersif::before {
  content: "" !important;
  position: absolute !important;
  inset: 135px 0 0 !important;
  width: 100% !important;
  height: auto !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg,
    #FFFFFF 0%,
    rgba(255,255,255,.98) 17%,
    rgba(255,255,255,.91) 30%,
    rgba(255,255,255,.73) 41%,
    rgba(255,255,255,.27) 56%,
    rgba(255,255,255,.02) 75%) !important;
}
html body.home section.hero.hero-immersif::after { display: none !important; }
html body.home section.hero.hero-immersif > .enveloppe {
  position: relative !important;
  z-index: 3 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: min(calc(100% - 96px), 1380px) !important;
  max-width: 1380px !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: clamp(184px, 22.4vh, 218px) 0 0 !important;
  gap: 0 !important;
}
html body.home section.hero.hero-immersif .hero-texte {
  position: relative !important;
  width: min(100%, 655px) !important;
  max-width: 655px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}
html body.home section.hero.hero-immersif .hero-texte .hero-surtitre {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin: 0 0 20px !important;
  color: var(--or-fonce) !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: .14em !important;
}
html body.home section.hero.hero-immersif .hero-texte h1 {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 21px !important;
  padding: 0 !important;
  overflow: visible !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: clamp(49px, 4.15vw, 69px) !important;
  font-weight: 700 !important;
  line-height: 1.01 !important;
  letter-spacing: -.048em !important;
  text-wrap: balance !important;
  color: var(--marine) !important;
  opacity: 1 !important;
}
html body.home section.hero.hero-immersif .hero-texte h1 em {
  display: block !important;
  font-style: normal !important;
  color: var(--or) !important;
  font-weight: inherit !important;
}
html body.home section.hero.hero-immersif .hero-texte h1 .ligne,
html body.home section.hero.hero-immersif .hero-texte h1 .ligne > span {
  display: block !important;
  overflow: visible !important;
  white-space: normal !important;
  opacity: 1 !important;
  transform: none !important;
}
html body.home section.hero.hero-immersif .hero-texte .chapeau {
  max-width: 615px !important;
  margin: 0 0 10px !important;
  color: #43536c !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
}
html body.home section.hero.hero-immersif .hero-texte .chapeau strong {
  color: var(--marine) !important;
  font-weight: 700 !important;
}
html body.home section.hero.hero-immersif .hero-texte .chapeau-suite {
  max-width: 600px !important;
  margin: 0 0 23px !important;
  color: #53585F !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
}
html body.home section.hero.hero-immersif .hero-actions {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body.home section.hero.hero-immersif .hero-actions > p { margin: 0 !important; }
html body.home section.hero.hero-immersif .hero-actions > p.bouton-hero {
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
html body.home section.hero.hero-immersif .hero-actions > p.bouton-hero::before { display: none !important; }
html body.home section.hero.hero-immersif .hero-actions > p.bouton-hero > a,
html body.home section.hero.hero-immersif .hero-actions > p.bouton-verre > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 51px !important;
  height: auto !important;
  padding: 12px 24px !important;
  border-radius: 4px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
  white-space: normal !important;
}
html body.home section.hero.hero-immersif .hero-actions > p.bouton-hero > a {
  border: 1px solid var(--marine) !important;
  background: var(--marine) !important;
  color: #fff !important;
  box-shadow: 0 9px 18px rgba(2,20,52,.13) !important;
}
html body.home section.hero.hero-immersif .hero-actions > p.bouton-verre > a {
  border: 1px solid var(--marine) !important;
  background: rgba(255,255,255,.96) !important;
  color: var(--marine) !important;
  box-shadow: 0 7px 15px rgba(2,20,52,.07) !important;
}
html body.home section.hero.hero-immersif .hero-actions > p.bouton-hero > a::after {
  content: "→" !important;
  position: static !important;
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 0 0 12px !important;
  color: var(--or) !important;
  background: none !important;
  transform: none !important;
}
html body.home section.hero.hero-immersif .hero-actions > p.bouton-verre > a::before {
  content: "" !important;
  display: inline-block !important;
  position: static !important;
  flex: none !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 10px 0 0 !important;
  background: var(--or) !important;
  -webkit-mask: var(--i-utilisateur) center / contain no-repeat !important;
  mask: var(--i-utilisateur) center / contain no-repeat !important;
}
@media (hover: hover) and (pointer: fine) {
  html body.home section.hero.hero-immersif .hero-actions > p.bouton-hero > a:hover {
    background: #0B2650 !important;
    border-color: #0B2650 !important;
  }
  html body.home section.hero.hero-immersif .hero-actions > p.bouton-verre > a:hover {
    background: var(--marine) !important;
    color: #FFFFFF !important;
  }
}
html body.home section.hero.hero-immersif .hero-actions a:focus-visible,
html body.home section.hero.hero-immersif .bi-moteur :is(button, input, select):focus-visible {
  outline: 2px solid var(--or) !important;
  outline-offset: 3px !important;
}
html body.home section.hero.hero-immersif .hero-preuves { display: none !important; }
html body.home section.hero.hero-immersif .hero-recherche {
  position: absolute !important;
  inset: auto 0 -24px !important;
  z-index: 5 !important;
  display: block !important;
  order: initial !important;
  box-sizing: border-box !important;
  width: min(100%, 1260px) !important;
  max-width: 1260px !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}
html body.home section.hero.hero-immersif .hero-recherche .bi-moteur {
  overflow: visible !important;
  border: 1px solid var(--filet) !important;
  border-radius: 9px !important;
  background: #fff !important;
  box-shadow: 0 22px 48px rgba(2,20,52,.17) !important;
  opacity: 1 !important;
  translate: none !important;
}
html body.home section.hero.hero-immersif .hero-recherche .bi-moteur-onglet[aria-selected="true"] {
  color: var(--marine) !important;
}
html body.home section.hero.hero-immersif .hero-recherche .bi-barre-bouton {
  background: var(--or) !important;
  border-radius: 5px !important;
  color: var(--marine) !important;
}
html body.home section.hero.hero-immersif + .reassurance {
  margin: 0 !important;
  padding-top: 78px !important;
}
/* Le contenu est immédiatement visible, même si l'animation d'entrée ne s'exécute pas. */
html.js body.home section.hero.hero-immersif .hero-texte > *,
html.js body.home section.hero.hero-immersif .hero-recherche .bi-moteur {
  opacity: 1 !important;
  translate: none !important;
  transform: none !important;
}
/* Tablette : la recherche retourne dans le flux pour éviter tout recouvrement. */
@media (max-width: 1100px), (max-height: 850px) {
  html body.home section.hero.hero-immersif { height: auto !important; min-height: 90vh !important; }
  @supports (height: 90svh) {
    html body.home section.hero.hero-immersif { min-height: 90svh !important; }
  }
  html body.home section.hero.hero-immersif > .enveloppe {
    height: auto !important;
    min-height: 90vh !important;
    padding-top: 177px !important;
    padding-bottom: 54px !important;
    gap: 44px !important;
  }
  html body.home section.hero.hero-immersif .hero-recherche {
    position: relative !important;
    inset: auto !important;
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  html body.home section.hero.hero-immersif .hero-fond,
  html body.home section.hero.hero-immersif::before { inset: 135px 0 0 !important; }
  html body.home section.hero.hero-immersif + .reassurance { padding-top: 40px !important; }
}
@media (min-width: 761px) and (max-width: 1100px) {
  html body.home section.hero.hero-immersif > .enveloppe {
    width: calc(100% - 64px) !important;
  }
  html body.home section.hero.hero-immersif .hero-texte h1 {
    font-size: clamp(45px, 5.4vw, 60px) !important;
  }
  html body.home section.hero.hero-immersif::before {
    background: linear-gradient(90deg, #FFFFFF 0%, rgba(255,255,255,.98) 32%, rgba(255,255,255,.82) 59%, rgba(255,255,255,.30) 100%) !important;
  }
}
/* Mobile : photographie en tête, fond blanc sous les textes, moteur sous les CTA. */
@media (max-width: 760px) {
  html body.home section.hero.hero-immersif {
    height: auto !important;
    min-height: 90vh !important;
    overflow: visible !important;
    background: #fff !important;
  }
  html body.home section.hero.hero-immersif .hero-fond {
    inset: 78px 0 auto !important;
    height: 330px !important;
    overflow: hidden !important;
  }
  html body.home section.hero.hero-immersif .hero-photo img {
    object-position: 74% 52% !important;
  }
  html body.home section.hero.hero-immersif::before {
    inset: 78px 0 auto !important;
    height: 334px !important;
    background: linear-gradient(0deg, #FFFFFF 0%, rgba(255,255,255,.97) 9%, rgba(255,255,255,.24) 49%, rgba(255,255,255,0) 82%) !important;
  }
  html body.home section.hero.hero-immersif > .enveloppe {
    display: flex !important;
    width: calc(100% - 36px) !important;
    max-width: 540px !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 348px 0 38px !important;
    gap: 32px !important;
  }
  html body.home section.hero.hero-immersif .hero-texte {
    width: 100% !important;
    max-width: none !important;
  }
  html body.home section.hero.hero-immersif .hero-texte .hero-surtitre {
    margin-bottom: 14px !important;
    font-size: 10px !important;
    letter-spacing: .09em !important;
  }
  html body.home section.hero.hero-immersif .hero-texte .hero-surtitre::before { width: 20px !important; }
  html body.home section.hero.hero-immersif .hero-texte h1 {
    margin-bottom: 19px !important;
    font-size: clamp(35px, 8.9vw, 48px) !important;
    line-height: 1.06 !important;
    letter-spacing: -.046em !important;
  }
  html body.home section.hero.hero-immersif .hero-texte .chapeau,
  html body.home section.hero.hero-immersif .hero-texte .chapeau-suite {
    max-width: none !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
  }
  html body.home section.hero.hero-immersif .hero-actions { gap: 10px !important; }
  html body.home section.hero.hero-immersif .hero-actions > p,
  html body.home section.hero.hero-immersif .hero-actions > p > a {
    width: 100% !important;
  }
  html body.home section.hero.hero-immersif .hero-recherche {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }
  html body.home section.hero.hero-immersif .hero-recherche .bi-moteur { border-radius: 8px !important; }
  html body.home section.hero.hero-immersif + .reassurance {
    padding-top: 28px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  html body.home section.hero.hero-immersif *,
  html body.home section.hero.hero-immersif *::before,
  html body.home section.hero.hero-immersif *::after { animation: none !important; transition: none !important; }
}

/* BISIMMO 16/10/2026 : correction ciblée du moteur de recherche de l'accueil.
   La logique des trois onglets et les formulaires du plugin restent intacts. */
html body.home section.hero.hero-immersif .hero-recherche .bi-moteur {
  max-width: 100% !important;
  box-sizing: border-box !important;
  border: 1px solid var(--filet) !important;
  border-radius: 10px !important;
  background: var(--blanc) !important;
  box-shadow: 0 18px 42px rgba(2,20,52,.16) !important;
}
html body.home section.hero.hero-immersif .hero-recherche .bi-moteur-tete {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-width: 0 !important;
  min-height: 60px !important;
  gap: 15px !important;
  padding: 0 22px 0 14px !important;
  border-bottom: 1px solid var(--filet) !important;
}
html body.home section.hero.hero-immersif .hero-recherche .bi-moteur-onglets {
  display: flex !important;
  min-width: 0 !important;
  gap: 4px !important;
}
html body.home section.hero.hero-immersif .hero-recherche .bi-moteur-onglet {
  flex: 0 1 auto !important;
  min-width: 0 !important;
  height: 60px !important;
  gap: 9px !important;
  padding: 0 clamp(9px,1.15vw,18px) !important;
  font-size: 13.5px !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
}
html body.home section.hero.hero-immersif .hero-recherche .bi-moteur-onglet[aria-selected="true"] {
  background: var(--sable) !important;
  color: var(--marine) !important;
}
html body.home section.hero.hero-immersif .hero-recherche .bi-moteur-onglet:focus-visible,
html body.home section.hero.hero-immersif .hero-recherche .bi-barre-puce input:focus-visible + span {
  outline: 2px solid var(--or) !important;
  outline-offset: -2px !important;
}
html body.home section.hero.hero-immersif .hero-recherche .bi-moteur-note {
  flex: none !important;
  font-size: 12px !important;
  white-space: nowrap !important;
}
html body.home section.hero.hero-immersif .hero-recherche .bi-moteur .barre.bi-barre {
  display: grid !important;
  grid-template-columns: 140px 290px minmax(210px,1fr) 155px 205px !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 18px 16px !important;
  border-radius: 0 0 10px 10px !important;
  background: transparent !important;
  box-shadow: none !important;
}
html body.home section.hero.hero-immersif .hero-recherche .bi-barre-champ {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 11px 16px !important;
  border-top: none !important;
  border-left: 1px solid var(--filet) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
html body.home section.hero.hero-immersif .hero-recherche .bi-barre-projet {
  grid-column: 1 !important;
  border-left: 0 !important;
  padding-left: 10px !important;
}
html body.home section.hero.hero-immersif .hero-recherche .bi-barre-types {
  grid-column: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding-top: 11px !important;
}
html body.home section.hero.hero-immersif .hero-recherche .bi-barre-types legend {
  float: none !important;
  width: auto !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 0 8px !important;
  line-height: 1.3 !important;
}
html body.home section.hero.hero-immersif .hero-recherche .bi-barre-lieu { grid-column: 3 !important; }
html body.home section.hero.hero-immersif .hero-recherche .bi-barre-budget { grid-column: 4 !important; }
html body.home section.hero.hero-immersif .hero-recherche .bi-barre-puces {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  gap: 4px !important;
  padding: 3px !important;
  border: 1px solid var(--filet) !important;
  border-radius: 7px !important;
  background: var(--nuage) !important;
}
html body.home section.hero.hero-immersif .hero-recherche .bi-barre-puce {
  display: block !important;
  min-width: 0 !important;
  width: 100% !important;
  padding: 0 !important;
}
html body.home section.hero.hero-immersif .hero-recherche .bi-barre-puce span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 38px !important;
  padding: 0 5px !important;
  font-size: 12.5px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}
html body.home section.hero.hero-immersif .hero-recherche .bi-barre-puce span::before {
  flex: 0 0 15px !important;
  width: 15px !important;
  height: 15px !important;
}
html body.home section.hero.hero-immersif .hero-recherche .bi-barre-label {
  font-size: 10.5px !important;
  letter-spacing: .1em !important;
  color: var(--muted, #53585F) !important;
}
html body.home section.hero.hero-immersif .hero-recherche .bi-barre-lieu::after { display: none !important; }
html body.home section.hero.hero-immersif .hero-recherche .bi-barre-lieu input[type="search"] {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 40px !important;
  padding: 0 0 0 27px !important;
  font-size: 14px !important;
  background: var(--i-repere) left center / 17px 17px no-repeat transparent !important;
  text-overflow: ellipsis !important;
}
html body.home section.hero.hero-immersif .hero-recherche .bi-barre-budget select {
  min-width: 0 !important;
  width: 100% !important;
  height: 40px !important;
  font-size: 14px !important;
  padding-right: 19px !important;
}
html body.home section.hero.hero-immersif .hero-recherche .bouton.bi-barre-bouton {
  grid-column: 5 !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  display: flex !important;
  flex: none !important;
  min-width: 0 !important;
  min-height: 62px !important;
  height: auto !important;
  margin: 4px 0 4px 10px !important;
  padding: 10px 12px !important;
  gap: 9px !important;
  border-radius: 7px !important;
  background: var(--or) !important;
  color: var(--marine) !important;
  box-shadow: none !important;
  font-size: 14px !important;
  text-align: center !important;
}
html body.home section.hero.hero-immersif .hero-recherche .bi-barre-bouton-corps {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 3px !important;
  min-width: 0 !important;
}
html body.home section.hero.hero-immersif .hero-recherche .bi-barre-bouton-texte {
  font-size: 14px !important;
  line-height: 1.2 !important;
  color: var(--marine) !important;
}
html body.home section.hero.hero-immersif .hero-recherche .bi-barre-bouton-nb {
  font-size: 11px !important;
  line-height: 1.25 !important;
  color: var(--marine) !important;
  opacity: .83 !important;
}
html body.home section.hero.hero-immersif .hero-recherche .bi-barre-bouton-nb::before {
  content: none !important;
}
html body.home section.hero.hero-immersif .hero-recherche .bi-barre-artisans {
  grid-template-columns: minmax(215px, .95fr) minmax(255px, 1.4fr) minmax(230px,.85fr) !important;
}
html body.home section.hero.hero-immersif .hero-recherche .bi-barre-artisans .bi-barre-metier {
  grid-column: 1 !important;
  border-left: none !important;
}
html body.home section.hero.hero-immersif .hero-recherche .bi-barre-artisans .bi-barre-lieu {
  grid-column: 2 !important;
}
html body.home section.hero.hero-immersif .hero-recherche .bi-barre-artisans .bi-barre-bouton {
  grid-column: 3 !important;
}
html body.home section.hero.hero-immersif .hero-recherche .bi-barre-metier select {
  width: 100% !important;
  min-width: 0 !important;
  height: 40px !important;
  font-size: 14px !important;
}
html body.home section.hero.hero-immersif .hero-recherche .bi-moteur-panneau:not(.actif) {
  display: none !important;
}
html body.home section.hero.hero-immersif .hero-recherche .bi-moteur-panneau.actif {
  display: block !important;
}
/* Entre 760 et 1180px : deux colonnes nettes, bouton de recherche sur toute la largeur. */
@media (max-width: 1179px) {
  html body.home section.hero.hero-immersif .hero-recherche .bi-moteur .barre.bi-barre {
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr) !important;
    gap: 0 !important;
    padding: 10px 16px 15px !important;
  }
  html body.home section.hero.hero-immersif .hero-recherche .bi-barre-projet { grid-column: 1 !important; }
  html body.home section.hero.hero-immersif .hero-recherche .bi-barre-types { grid-column: 2 !important; }
  html body.home section.hero.hero-immersif .hero-recherche .bi-barre-lieu { grid-column: 1 !important; }
  html body.home section.hero.hero-immersif .hero-recherche .bi-barre-budget { grid-column: 2 !important; }
  html body.home section.hero.hero-immersif .hero-recherche .bi-barre-champ {
    min-height: 74px !important;
    border-top: 1px solid var(--filet) !important;
  }
  html body.home section.hero.hero-immersif .hero-recherche .bi-barre-projet,
  html body.home section.hero.hero-immersif .hero-recherche .bi-barre-types {
    border-top: 0 !important;
  }
  html body.home section.hero.hero-immersif .hero-recherche .bi-barre-projet,
  html body.home section.hero.hero-immersif .hero-recherche .bi-barre-lieu {
    border-left: 0 !important;
  }
  html body.home section.hero.hero-immersif .hero-recherche .bouton.bi-barre-bouton {
    grid-column: 1 / -1 !important;
    min-height: 54px !important;
    margin: 12px 0 0 !important;
  }
  html body.home section.hero.hero-immersif .hero-recherche .bi-barre-bouton-corps {
    flex-direction: row !important;
    align-items: baseline !important;
    gap: 7px !important;
  }
  html body.home section.hero.hero-immersif .hero-recherche .bi-barre-bouton-nb:not(:empty)::before {
    content: "· " !important;
  }
  html body.home section.hero.hero-immersif .hero-recherche .bi-barre-artisans {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
  html body.home section.hero.hero-immersif .hero-recherche .bi-barre-artisans .bi-barre-metier { grid-column: 1 !important; }
  html body.home section.hero.hero-immersif .hero-recherche .bi-barre-artisans .bi-barre-lieu {
    grid-column: 2 !important;
    border-top: 0 !important;
    border-left: 1px solid var(--filet) !important;
  }
  html body.home section.hero.hero-immersif .hero-recherche .bi-barre-artisans .bi-barre-bouton {
    grid-column: 1 / -1 !important;
  }
}
@media (max-width: 760px) {
  html body.home section.hero.hero-immersif .hero-recherche .bi-moteur-tete {
    min-height: 0 !important;
    padding: 0 !important;
  }
  html body.home section.hero.hero-immersif .hero-recherche .bi-moteur-onglets {
    width: 100% !important;
    flex: 1 1 100% !important;
  }
  html body.home section.hero.hero-immersif .hero-recherche .bi-moteur-onglet {
    flex: 1 1 0 !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-width: 0 !important;
    height: 69px !important;
    gap: 5px !important;
    padding: 7px 3px !important;
    font-size: 12px !important;
    white-space: normal !important;
    text-align: center !important;
  }
  html body.home section.hero.hero-immersif .hero-recherche .bi-moteur-onglet .long,
  html body.home section.hero.hero-immersif .hero-recherche .bi-moteur-nb { display: none !important; }
  html body.home section.hero.hero-immersif .hero-recherche .bi-moteur-onglet .court {
    display: inline !important;
  }
  html body.home section.hero.hero-immersif .hero-recherche .bi-moteur-note { display: none !important; }
  html body.home section.hero.hero-immersif .hero-recherche .bi-moteur .barre.bi-barre {
    padding: 12px !important;
  }
  html body.home section.hero.hero-immersif .hero-recherche .bi-barre-puce span {
    white-space: nowrap !important;
  }
}
/* Mobile étroit : une colonne pour garder les libellés complets et des zones tactiles. */
@media (max-width: 640px) {
  html body.home section.hero.hero-immersif .hero-recherche .bi-moteur .barre.bi-barre,
  html body.home section.hero.hero-immersif .hero-recherche .bi-barre-artisans {
    grid-template-columns: minmax(0,1fr) !important;
  }
  html body.home section.hero.hero-immersif .hero-recherche .bi-barre-champ {
    grid-column: 1 !important;
    min-height: 66px !important;
    border-top: 1px solid var(--filet) !important;
    border-left: 0 !important;
    padding: 9px 10px !important;
  }
  html body.home section.hero.hero-immersif .hero-recherche .bi-barre-projet {
    border-top: 0 !important;
  }
  html body.home section.hero.hero-immersif .hero-recherche .bi-barre-types {
    padding-top: 11px !important;
  }
  html body.home section.hero.hero-immersif .hero-recherche .bi-barre-types legend {
    padding: 0 !important;
    margin: 0 0 8px !important;
  }
  html body.home section.hero.hero-immersif .hero-recherche .bi-barre-artisans .bi-barre-metier {
    grid-column: 1 !important;
    border-top: 0 !important;
  }
  html body.home section.hero.hero-immersif .hero-recherche .bi-barre-artisans .bi-barre-lieu {
    grid-column: 1 !important;
    border-top: 1px solid var(--filet) !important;
    border-left: 0 !important;
  }
  html body.home section.hero.hero-immersif .hero-recherche .bouton.bi-barre-bouton,
  html body.home section.hero.hero-immersif .hero-recherche .bi-barre-artisans .bi-barre-bouton {
    grid-column: 1 !important;
    width: 100% !important;
    margin: 10px 0 0 !important;
  }
  html body.home section.hero.hero-immersif .hero-recherche .bi-barre-puce span {
    min-height: 38px !important;
    font-size: 12.5px !important;
  }
}

/* BISIMMO 16/10 : respiration CTA / moteur, ordinateurs uniquement.
   Le moteur participe au flux : aucun chevauchement si la fenêtre est moins haute. */
@media (min-width: 1101px) {
  html body.home section.hero.hero-immersif {
    height: auto !important;
    min-height: 90vh !important;
  }
  html body.home section.hero.hero-immersif > .enveloppe {
    height: auto !important;
    min-height: 90vh !important;
    padding-bottom: 38px !important;
    gap: clamp(48px, 5.5vh, 72px) !important;
  }
  html body.home section.hero.hero-immersif .hero-recherche {
    position: relative !important;
    inset: auto !important;
    flex: 0 0 auto !important;
    width: min(100%, 1260px) !important;
    max-width: 1260px !important;
    margin-top: auto !important;
    margin-bottom: 0 !important;
  }
  html body.home section.hero.hero-immersif + .reassurance {
    padding-top: 42px !important;
  }
}
@media (min-width: 1101px) {
  @supports (height: 90svh) {
    html body.home section.hero.hero-immersif,
    html body.home section.hero.hero-immersif > .enveloppe {
      min-height: 90svh !important;
    }
  }
}

/* BISIMMO : deux univers immobiliers uniquement (2026-10-16).
   L'onglet historique Construction et son panneau ne doivent plus apparaître,
   y compris en l'absence de JavaScript. */
body.page-accueil .hero-recherche #bi-mo-construction,
body.page-accueil .hero-recherche #bi-mp-construction {
  display: none !important;
}
body.page-accueil .univers,
body.page-a-propos .univers {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
@media (max-width: 760px) {
  body.page-accueil .univers,
  body.page-a-propos .univers {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}


/* BISIMMO : navigation iconographique et CTA, 16 octobre 2026.
   Pictogrammes vectoriels déjà déclarés dans la DA du thème. */
@media (min-width: 1181px) {
  .entete .nav > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
  }
  .entete .nav > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::before {
    content: "" !important;
    display: block !important;
    flex: 0 0 16px !important;
    width: 16px !important;
    height: 16px !important;
    background: var(--or) !important;
    -webkit-mask: var(--bi-icone-nav, var(--i-immeuble)) center / contain no-repeat !important;
    mask: var(--bi-icone-nav, var(--i-immeuble)) center / contain no-repeat !important;
  }
  .entete .nav > .wp-block-navigation__container > .wp-block-navigation-item:first-child {
    --bi-icone-nav: var(--i-immeuble);
  }
  .entete .nav > .wp-block-navigation__container > .wp-block-navigation-item:nth-child(2) {
    --bi-icone-nav: var(--i-equipe);
  }
  .entete .nav .wp-block-navigation__submenu-container {
    padding: 10px !important;
  }
  .entete .nav .wp-block-navigation__submenu-container > .wp-block-navigation-item {
    --bi-icone-sous-menu: var(--i-loupe);
  }
  .entete .nav .wp-block-navigation__submenu-container > .wp-block-navigation-item:nth-child(2) {
    --bi-icone-sous-menu: var(--i-immeuble);
  }
  .entete .nav .wp-block-navigation__submenu-container > .wp-block-navigation-item:nth-child(3) {
    --bi-icone-sous-menu: var(--i-maison);
  }
  .entete .nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    min-height: 47px !important;
    padding: 11px 13px !important;
    white-space: normal !important;
    color: var(--marine) !important;
  }
  .entete .nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content::before {
    content: "" !important;
    display: block !important;
    flex: 0 0 19px !important;
    width: 19px !important;
    height: 19px !important;
    background-color: var(--or) !important;
    -webkit-mask: var(--bi-icone-sous-menu) center / contain no-repeat !important;
    mask: var(--bi-icone-sous-menu) center / contain no-repeat !important;
  }
  .entete .nav .wp-block-navigation__submenu-container .wp-block-navigation-item__label {
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
  }
  .entete .nav .wp-block-navigation__submenu-container .wp-block-navigation-item__description {
    display: none !important;
  }
  .entete .nav .wp-block-navigation__submenu-container .wp-block-navigation-item:first-child {
    margin-bottom: 5px !important;
    padding-bottom: 5px !important;
  }
}
/* Icônes des boutons Connexion et S'inscrire, sans modifier leur destination. */
.entete .entete-droite > p.acces-connexion > a,
.entete .entete-droite > p.acces-inscription > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}
.entete .entete-droite > p.acces-connexion > a::before,
.entete .entete-droite > p.acces-inscription > a::before {
  content: "" !important;
  display: inline-block !important;
  flex: 0 0 16px !important;
  width: 16px !important;
  height: 16px !important;
  background-color: currentColor !important;
  -webkit-mask: var(--bi-icone-cta, var(--i-cle)) center / contain no-repeat !important;
  mask: var(--bi-icone-cta, var(--i-cle)) center / contain no-repeat !important;
}
.entete .entete-droite > p.acces-inscription {
  --bi-icone-cta: var(--i-utilisateur);
}
/* Le CTA "Publier" reçoit le pictogramme d'ajout sur le bouton. */
.entete .entete-droite > p.bouton-entete.ico-ajout {
  --ico: var(--i-ajout) !important;
}
.entete .entete-droite > p.bouton-entete.ico-ajout::before {
  content: "" !important;
  display: inline-block !important;
  flex: 0 0 16px !important;
  width: 16px !important;
  height: 16px !important;
  color: var(--marine) !important;
  background-color: currentColor !important;
  -webkit-mask: var(--i-ajout) center / contain no-repeat !important;
  mask: var(--i-ajout) center / contain no-repeat !important;
}
/* Menu mobile : icônes devant les destinations, y compris les CTA. */
.nav-panneau .is-menu-open .wp-block-navigation-item > a.wp-block-navigation-item__content {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}
.nav-panneau .is-menu-open .wp-block-navigation-item > a.wp-block-navigation-item__content::before {
  content: "" !important;
  display: inline-block !important;
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 18px !important;
  background-color: var(--or) !important;
  -webkit-mask: var(--bi-icone-mobile, var(--i-fleche)) center / contain no-repeat !important;
  mask: var(--bi-icone-mobile, var(--i-fleche)) center / contain no-repeat !important;
}
.nav-panneau .is-menu-open .wp-block-navigation-item:has(a[href="/"]) { --bi-icone-mobile: var(--i-maison); }
.nav-panneau .is-menu-open .wp-block-navigation-item:has(a[href^="/immobilier-professionnel/"]) { --bi-icone-mobile: var(--i-immeuble); }
.nav-panneau .is-menu-open .wp-block-navigation-item:has(a[href^="/annonces-agences/"]) { --bi-icone-mobile: var(--i-equipe); }
.nav-panneau .is-menu-open .wp-block-navigation-item:has(a[href^="/professionnels/"]) { --bi-icone-mobile: var(--i-utilisateur); }
.nav-panneau .is-menu-open .wp-block-navigation-item:has(a[href^="/estimation/"]) { --bi-icone-mobile: var(--i-graphe); }
.nav-panneau .is-menu-open .wp-block-navigation-item:has(a[href^="/contact/"]) { --bi-icone-mobile: var(--i-courriel); }
.nav-panneau .is-menu-open .wp-block-navigation-item:has(a[href^="/connexion/"]) { --bi-icone-mobile: var(--i-cle); }
.nav-panneau .is-menu-open .wp-block-navigation-item:has(a[href*="vue=inscription"]) { --bi-icone-mobile: var(--i-utilisateur); }
.nav-panneau .is-menu-open .wp-block-navigation-item:has(a[href^="/espace-pro/"]) { --bi-icone-mobile: var(--i-ajout); }
.nav-panneau .is-menu-open .lien-publier > a.wp-block-navigation-item__content::before {
  background-color: var(--marine) !important;
}
/* Les icônes restent nettes, sans animation en cas de réduction de mouvement. */
@media (prefers-reduced-motion: reduce) {
  .entete .nav .wp-block-navigation-item__content,
  .entete .entete-droite a {
    transition: none !important;
  }
}

/* BISIMMO : pictogrammes pleins dans le Header, sous-menus et boutons (16/10/2026). */
:root {
  --bi-plein-building: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22black%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M5%202h14a2%202%200%200%201%202%202v18H3V4a2%202%200%200%201%202-2Zm2%204v3h3V6H7Zm7%200v3h3V6h-3Zm-7%206v3h3v-3H7Zm7%200v3h3v-3h-3Zm-4%206v4h4v-4h-4Z%22%2F%3E%3C%2Fsvg%3E");
  --bi-plein-home: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22black%22%3E%3Cpath%20d%3D%22M12%202%201.5%2010.7a1%201%200%200%200%201.3%201.55L4%2011.2V21a1%201%200%200%200%201%201h5v-7h4v7h5a1%201%200%200%200%201-1v-9.8l1.2%201.05a1%201%200%201%200%201.3-1.55L12%202Z%22%2F%3E%3C%2Fsvg%3E");
  --bi-plein-users: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22black%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%228%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22M1.5%2020.2a7.5%207.5%200%200%201%2015%200V22h-15v-1.8ZM17.2%204.1a3.7%203.7%200%200%201%200%207.3%208.4%208.4%200%200%201%205.2%207.8V22h-3.8v-1.8c0-3.1-1.1-5.8-3-7.7a6.5%206.5%200%200%200%201.6-8.4Z%22%2F%3E%3C%2Fsvg%3E");
  --bi-plein-search: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22black%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M10.5%202a8.5%208.5%200%201%200%205.2%2015.2l4.9%204.9a1.35%201.35%200%200%200%201.9-1.9l-4.9-4.9A8.5%208.5%200%200%200%2010.5%202Zm0%203a5.5%205.5%200%201%201%200%2011%205.5%205.5%200%200%201%200-11Z%22%2F%3E%3C%2Fsvg%3E");
  --bi-plein-key: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22black%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M15%202a7%207%200%200%200-5.7%2011L2%2020.3V23h4v-3h3v-3h3l2.2-2.2A7%207%200%201%200%2015%202Zm0%204a2%202%200%201%200%200%204%202%202%200%200%200%200-4Z%22%2F%3E%3C%2Fsvg%3E");
  --bi-plein-add: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22black%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M5%202a3%203%200%200%200-3%203v14a3%203%200%200%200%203%203h14a3%203%200%200%200%203-3V5a3%203%200%200%200-3-3H5Zm6%204v5H6v2h5v5h2v-5h5v-2h-5V6h-2Z%22%2F%3E%3C%2Fsvg%3E");
  --bi-plein-user: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22black%22%3E%3Cpath%20d%3D%22M12%2012a5%205%200%201%200%200-10%205%205%200%200%200%200%2010ZM2.5%2021a9.5%209.5%200%200%201%2019%200v1h-19v-1Z%22%2F%3E%3C%2Fsvg%3E");
  --bi-plein-userplus: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22black%22%3E%3Cpath%20d%3D%22M9%2012a5%205%200%201%200%200-10%205%205%200%200%200%200%2010ZM1%2021a8%208%200%200%201%2016%200v1H1v-1ZM19%2011h2v4h3v2h-3v4h-2v-4h-3v-2h3v-4Z%22%2F%3E%3C%2Fsvg%3E");
  --bi-plein-chart: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22black%22%3E%3Cpath%20d%3D%22M2%2020h20v2H2zM4%2012a1%201%200%200%201%201-1h3a1%201%200%200%201%201%201v7H4v-7ZM11%207a1%201%200%200%201%201-1h3a1%201%200%200%201%201%201v12h-5V7ZM18%203a1%201%200%200%201%201-1h2a1%201%200%200%201%201%201v16h-4V3Z%22%2F%3E%3C%2Fsvg%3E");
  --bi-plein-envelope: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22black%22%3E%3Cpath%20d%3D%22M3%205h18a2%202%200%200%201%202%202v1L12.6%2015a1%201%200%200%201-1.2%200L1%208V7a2%202%200%200%201%202-2Z%22%2F%3E%3Cpath%20d%3D%22M1%2010.8v7.2a2%202%200%200%200%202%202h18a2%202%200%200%200%202-2v-7.2L13.7%2017a3%203%200%200%201-3.4%200L1%2010.8Z%22%2F%3E%3C%2Fsvg%3E");
  --bi-plein-heart: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22black%22%3E%3Cpath%20d%3D%22M20.6%204.8a5.8%205.8%200%200%200-8.2%200l-.4.4-.4-.4a5.8%205.8%200%200%200-8.2%208.2L12%2021.5l8.6-8.5a5.8%205.8%200%200%200%200-8.2Z%22%2F%3E%3C%2Fsvg%3E");
  --bi-plein-arrow: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22black%22%3E%3Cpath%20d%3D%22M3%2010a2%202%200%200%200%200%204h11v5a1%201%200%200%200%201.7.7l7-7a1%201%200%200%200%200-1.4l-7-7A1%201%200%200%200%2014%205v5H3Z%22%2F%3E%3C%2Fsvg%3E");
  --bi-plein-info: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22black%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20Zm-1%204h2v2h-2V6Zm0%204h2v8h-2v-8Z%22%2F%3E%3C%2Fsvg%3E");
}
@media (min-width: 1181px) {
  .entete .nav > .wp-block-navigation__container > .wp-block-navigation-item:first-child { --bi-icone-nav: var(--bi-plein-building); }
  .entete .nav > .wp-block-navigation__container > .wp-block-navigation-item:nth-child(2) { --bi-icone-nav: var(--bi-plein-users); }
  .entete .nav .wp-block-navigation__submenu-container > .wp-block-navigation-item { --bi-icone-sous-menu: var(--bi-plein-search); }
  .entete .nav .wp-block-navigation__submenu-container > .wp-block-navigation-item:nth-child(2) { --bi-icone-sous-menu: var(--bi-plein-building); }
  .entete .nav .wp-block-navigation__submenu-container > .wp-block-navigation-item:nth-child(3) { --bi-icone-sous-menu: var(--bi-plein-home); }
  .entete .nav .wp-block-navigation__submenu-container .wp-block-navigation-item:first-child .wp-block-navigation-item__label::after { -webkit-mask: var(--bi-plein-arrow) center / contain no-repeat !important; mask: var(--bi-plein-arrow) center / contain no-repeat !important; }
}
.entete .entete-droite > p.acces-connexion { --bi-icone-cta: var(--bi-plein-key); }
.entete .entete-droite > p.acces-inscription { --bi-icone-cta: var(--bi-plein-userplus); }
.entete .entete-droite > p.bouton-entete.ico-ajout { --ico: var(--bi-plein-add) !important; }
.entete .entete-droite > p.bouton-entete.ico-ajout::before { -webkit-mask: var(--bi-plein-add) center / contain no-repeat !important; mask: var(--bi-plein-add) center / contain no-repeat !important; }
.entete .entete-favoris a::before { -webkit-mask: var(--bi-plein-heart) center / contain no-repeat !important; mask: var(--bi-plein-heart) center / contain no-repeat !important; }
.entete .acces-pro a::after { --ico: var(--bi-plein-user) !important; -webkit-mask: var(--bi-plein-user) center / contain no-repeat !important; mask: var(--bi-plein-user) center / contain no-repeat !important; }
.entete .th-item.ico-equipe::before { -webkit-mask: var(--bi-plein-users) center / contain no-repeat !important; mask: var(--bi-plein-users) center / contain no-repeat !important; }
.entete .th-item.ico-graphe::before { -webkit-mask: var(--bi-plein-chart) center / contain no-repeat !important; mask: var(--bi-plein-chart) center / contain no-repeat !important; }
.entete .th-item.ico-courriel::before { -webkit-mask: var(--bi-plein-envelope) center / contain no-repeat !important; mask: var(--bi-plein-envelope) center / contain no-repeat !important; }
.entete .th-item.ico-lien::before { -webkit-mask: var(--bi-plein-arrow) center / contain no-repeat !important; mask: var(--bi-plein-arrow) center / contain no-repeat !important; }
.nav-panneau .is-menu-open .wp-block-navigation-item { --bi-icone-mobile: var(--bi-plein-arrow); }
.nav-panneau .is-menu-open .wp-block-navigation-item:has(a[href="/"]) { --bi-icone-mobile: var(--bi-plein-home); }
.nav-panneau .is-menu-open .wp-block-navigation-item:has(a[href^="/immobilier-professionnel/"]) { --bi-icone-mobile: var(--bi-plein-building); }
.nav-panneau .is-menu-open .wp-block-navigation-item:has(a[href^="/annonces-agences/"]) { --bi-icone-mobile: var(--bi-plein-users); }
.nav-panneau .is-menu-open .wp-block-navigation-item:has(a[href^="/professionnels/"]) { --bi-icone-mobile: var(--bi-plein-user); }
.nav-panneau .is-menu-open .wp-block-navigation-item:has(a[href^="/estimation/"]) { --bi-icone-mobile: var(--bi-plein-chart); }
.nav-panneau .is-menu-open .wp-block-navigation-item:has(a[href^="/favoris/"]) { --bi-icone-mobile: var(--bi-plein-heart); }
.nav-panneau .is-menu-open .wp-block-navigation-item:has(a[href^="/a-propos/"]) { --bi-icone-mobile: var(--bi-plein-info); }
.nav-panneau .is-menu-open .wp-block-navigation-item:has(a[href^="/contact/"]) { --bi-icone-mobile: var(--bi-plein-envelope); }
.nav-panneau .is-menu-open .wp-block-navigation-item:has(a[href^="/connexion/"]) { --bi-icone-mobile: var(--bi-plein-key); }
.nav-panneau .is-menu-open .wp-block-navigation-item:has(a[href*="vue=inscription"]) { --bi-icone-mobile: var(--bi-plein-userplus); }
.nav-panneau .is-menu-open .wp-block-navigation-item:has(a[href^="/espace-pro/"]) { --bi-icone-mobile: var(--bi-plein-add); }

/* BISIMMO : boutons du Hero, icones solid et couleurs de la charte (16/10/2026).
   Uniquement l'accueil ; aucune modification du Header ou du formulaire. */
html body.home section.hero.hero-immersif .hero-actions > p.bouton-hero > a,
html body.home section.hero.hero-immersif .hero-actions > p.bouton-verre > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 11px !important;
  border-width: 1px !important;
  border-style: solid !important;
  border-radius: 4px !important;
  background-image: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  filter: none !important;
  transform: none !important;
  box-shadow: 0 6px 18px rgba(2, 20, 52, .12) !important;
  transition: background-color .24s ease, border-color .24s ease, color .24s ease, box-shadow .24s ease !important;
}
html body.home section.hero.hero-immersif .hero-actions > p.bouton-hero {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body.home section.hero.hero-immersif .hero-actions > p.bouton-hero::before,
html body.home section.hero.hero-immersif .hero-actions > p.bouton-hero::after {
  display: none !important;
}
html body.home section.hero.hero-immersif .hero-actions > p.bouton-hero > a {
  background-color: var(--marine) !important;
  border-color: var(--marine) !important;
  color: var(--blanc) !important;
}
html body.home section.hero.hero-immersif .hero-actions > p.bouton-verre > a {
  background-color: var(--blanc) !important;
  border-color: var(--marine) !important;
  color: var(--marine) !important;
}
/* Pictogramme plein d'immeuble devant Explorer les opportunites. */
html body.home section.hero.hero-immersif .hero-actions > p.bouton-hero > a::before,
html body.home section.hero.hero-immersif .hero-actions > p.bouton-verre > a::before {
  content: "" !important;
  position: static !important;
  display: inline-block !important;
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  inset: auto !important;
  opacity: 1 !important;
  transform: none !important;
  border: 0 !important;
  background: var(--or) !important;
  -webkit-mask: var(--bi-plein-building) center / contain no-repeat !important;
  mask: var(--bi-plein-building) center / contain no-repeat !important;
}
/* Pictogramme plein de profil devant Espace professionnel. */
html body.home section.hero.hero-immersif .hero-actions > p.bouton-verre > a::before {
  -webkit-mask: var(--bi-plein-user) center / contain no-repeat !important;
  mask: var(--bi-plein-user) center / contain no-repeat !important;
}
/* Supprime l'ancienne fleche en texte, pour eviter les icones en double. */
html body.home section.hero.hero-immersif .hero-actions > p.bouton-hero > a::after {
  content: none !important;
  display: none !important;
}
@media (hover: hover) and (pointer: fine) {
  html body.home section.hero.hero-immersif .hero-actions > p.bouton-hero > a:hover {
    background: var(--or) !important;
    background-image: none !important;
    border-color: var(--or) !important;
    color: var(--marine) !important;
    box-shadow: 0 8px 20px rgba(2, 20, 52, .15) !important;
    transform: none !important;
  }
  html body.home section.hero.hero-immersif .hero-actions > p.bouton-hero > a:hover::before {
    background: var(--marine) !important;
  }
  html body.home section.hero.hero-immersif .hero-actions > p.bouton-verre > a:hover {
    background: var(--marine) !important;
    background-image: none !important;
    border-color: var(--marine) !important;
    color: var(--blanc) !important;
    box-shadow: 0 8px 20px rgba(2, 20, 52, .15) !important;
    transform: none !important;
  }
  html body.home section.hero.hero-immersif .hero-actions > p.bouton-verre > a:hover::before {
    background: var(--or) !important;
  }
}
html body.home section.hero.hero-immersif .hero-actions > p.bouton-hero > a:focus-visible,
html body.home section.hero.hero-immersif .hero-actions > p.bouton-verre > a:focus-visible {
  outline: 2px solid var(--or) !important;
  outline-offset: 3px !important;
}
@media (prefers-reduced-motion: reduce) {
  html body.home section.hero.hero-immersif .hero-actions > p.bouton-hero > a,
  html body.home section.hero.hero-immersif .hero-actions > p.bouton-verre > a {
    transition: none !important;
  }
}


/* BISIMMO : les deux univers premium, maquette approuvee le 16/10/2026.
   Styles strictement limites a cette section de l'accueil. */
html body.home section.bi-univers-signature {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: clamp(76px, 7.2vw, 114px) 0 clamp(82px, 8vw, 124px) !important;
  background: #fbfaf8 !important;
  color: var(--marine) !important;
}
html body.home section.bi-univers-signature::before,
html body.home section.bi-univers-signature::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  pointer-events: none !important;
  z-index: 0 !important;
  box-sizing: border-box !important;
  width: 540px !important;
  height: 540px !important;
  border: 1px solid rgba(184, 143, 66, .23) !important;
  border-radius: 50% !important;
  background: none !important;
}
html body.home section.bi-univers-signature::before { top: -340px !important; right: -120px !important; }
html body.home section.bi-univers-signature::after { bottom: -375px !important; left: -225px !important; }
html body.home section.bi-univers-signature > .enveloppe {
  position: relative !important;
  z-index: 1 !important;
  width: min(calc(100% - 88px), 1460px) !important;
  max-width: 1460px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
html body.home section.bi-univers-signature .tete {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 clamp(34px, 3.7vw, 48px) !important;
  padding: 0 !important;
}
html body.home section.bi-univers-signature .tete::before {
  content: "BISIMMO" !important;
  display: block !important;
  box-sizing: border-box !important;
  width: max-content !important;
  margin: 0 0 22px !important;
  padding: 2px 0 2px 100px !important;
  background: linear-gradient(var(--or), var(--or)) left center / 74px 1px no-repeat !important;
  color: var(--or) !important;
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: .27em !important;
}
html body.home section.bi-univers-signature .tete h2 {
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(40px, 4.55vw, 73px) !important;
  font-weight: 700 !important;
  line-height: 1.08 !important;
  letter-spacing: -.045em !important;
  color: var(--marine) !important;
  text-wrap: balance !important;
}
html body.home section.bi-univers-signature .tete h2 .bi-titre-or {
  color: var(--or) !important;
}
html body.home section.bi-univers-signature .univers {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: clamp(20px, 2vw, 30px) !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body.home section.bi-univers-signature .univers > .tuile {
  position: relative !important;
  display: block !important;
  isolation: isolate !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 550px !important;
  height: clamp(550px, 40.5vw, 630px) !important;
  max-height: 630px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(2, 20, 52, .06) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: var(--marine) !important;
  box-shadow: 0 22px 46px -28px rgba(2, 20, 52, .38) !important;
  transform: none !important;
  opacity: 1 !important;
  translate: none !important;
}
html body.home section.bi-univers-signature .tuile > figure.wp-block-image {
  position: absolute !important;
  z-index: 0 !important;
  display: block !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  overflow: hidden !important;
}
html body.home section.bi-univers-signature .tuile > figure.wp-block-image img {
  position: absolute !important;
  display: block !important;
  z-index: 0 !important;
  inset: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  opacity: 1 !important;
  filter: none !important;
  transform: scale(1) !important;
  transition: transform .35s ease !important;
}
html body.home section.bi-univers-signature .tuile::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: linear-gradient(0deg,
    #021434 0%,
    rgba(2, 20, 52, .98) 16%,
    rgba(2, 20, 52, .78) 37%,
    rgba(2, 20, 52, .27) 63%,
    rgba(2, 20, 52, .02) 84%) !important;
  opacity: 1 !important;
}
html body.home section.bi-univers-signature .tuile > .badge.badge-verre {
  position: absolute !important;
  z-index: 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  top: 25px !important;
  left: 25px !important;
  width: max-content !important;
  max-width: calc(100% - 50px) !important;
  margin: 0 !important;
  padding: 14px 18px !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  border-radius: 7px !important;
  background: var(--marine) !important;
  box-shadow: 0 8px 20px rgba(2,20,52,.13) !important;
  color: #fff !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
  font-weight: 750 !important;
  letter-spacing: .035em !important;
  text-transform: uppercase !important;
  white-space: normal !important;
  opacity: 1 !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
html body.home section.bi-univers-signature .tuile > .badge.badge-verre::before {
  content: "" !important;
  display: inline-block !important;
  flex: 0 0 20px !important;
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  background: var(--or) !important;
  -webkit-mask: var(--bi-plein-building) center / contain no-repeat !important;
  mask: var(--bi-plein-building) center / contain no-repeat !important;
}
html body.home section.bi-univers-signature .univers > .tuile:nth-child(2) > .badge.badge-verre::before {
  -webkit-mask: var(--bi-plein-home) center / contain no-repeat !important;
  mask: var(--bi-plein-home) center / contain no-repeat !important;
}
html body.home section.bi-univers-signature .tuile .tuile-texte {
  position: absolute !important;
  z-index: 3 !important;
  left: clamp(24px, 3.1vw, 42px) !important;
  right: clamp(24px, 3.1vw, 42px) !important;
  bottom: clamp(27px, 3.2vw, 44px) !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  transition: none !important;
  color: #fff !important;
  text-align: left !important;
}
html body.home section.bi-univers-signature .tuile .tuile-texte .tuile-meta {
  display: block !important;
  margin: 0 0 13px !important;
  padding: 0 0 20px !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  letter-spacing: .11em !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
  color: #E1B761 !important;
  background: linear-gradient(var(--or),var(--or)) left bottom / 51px 2px no-repeat !important;
}
html body.home section.bi-univers-signature .tuile .tuile-texte h3 {
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(31px, 2.75vw, 44px) !important;
  font-weight: 700 !important;
  line-height: 1.13 !important;
  letter-spacing: -.038em !important;
  text-wrap: balance !important;
}
html body.home section.bi-univers-signature .tuile .tuile-texte > p:not([class]) {
  display: block !important;
  max-width: 97% !important;
  margin: 16px 0 0 !important;
  padding: 0 !important;
  font-size: clamp(14px, 1.15vw, 16px) !important;
  font-weight: 400 !important;
  line-height: 1.58 !important;
  color: rgba(255,255,255,.89) !important;
}
html body.home section.bi-univers-signature .tuile .tuile-texte .tuile-cta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 17px !important;
  margin: 25px 0 0 !important;
  padding: 0 !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
}
html body.home section.bi-univers-signature .tuile .tuile-texte .tuile-cta > span:first-child {
  padding: 0 !important;
  background-image: none !important;
}
html body.home section.bi-univers-signature .tuile .tuile-cta-rond {
  position: relative !important;
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 48px !important;
  width: 48px !important;
  height: 48px !important;
  border: 3px solid rgba(255,255,255,.46) !important;
  border-radius: 50% !important;
  background: var(--or) !important;
  box-shadow: 0 0 0 4px rgba(184,143,66,.17) !important;
  transition: background-color .22s ease, border-color .22s ease !important;
}
html body.home section.bi-univers-signature .tuile .tuile-cta-rond::before {
  content: "" !important;
  display: block !important;
  width: 21px !important;
  height: 21px !important;
  background: #fff !important;
  -webkit-mask: var(--bi-plein-arrow) center / contain no-repeat !important;
  mask: var(--bi-plein-arrow) center / contain no-repeat !important;
}
html body.home section.bi-univers-signature .tuile > .tuile-fleche {
  position: absolute !important;
  display: block !important;
  z-index: 4 !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  pointer-events: none !important;
}
html body.home section.bi-univers-signature .tuile > .tuile-fleche a {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: auto !important;
  background: transparent !important;
}
html body.home section.bi-univers-signature .tuile > .tuile-fleche a::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 4 !important;
}
html body.home section.bi-univers-signature .tuile > .tuile-fleche a:focus-visible {
  outline: 3px solid var(--or) !important;
  outline-offset: -7px !important;
  border-radius: 12px !important;
}
@media (hover:hover) and (pointer:fine) {
  html body.home section.bi-univers-signature .tuile:hover > figure.wp-block-image img { transform: scale(1.025) !important; }
  html body.home section.bi-univers-signature .tuile:hover .tuile-cta-rond {
    background: #d2a85b !important;
    border-color: #fff !important;
    transform: none !important;
  }
  html body.home section.bi-univers-signature .tuile:hover .tuile-texte { transform: none !important; }
}
@media (max-width: 1100px) {
  html body.home section.bi-univers-signature > .enveloppe { width: calc(100% - 64px) !important; }
  html body.home section.bi-univers-signature .univers > .tuile {
    height: 510px !important;
    min-height: 510px !important;
  }
  html body.home section.bi-univers-signature .tuile .tuile-texte h3 { font-size: clamp(30px, 3.4vw, 39px) !important; }
  html body.home section.bi-univers-signature .tuile .tuile-texte > p:not([class]) {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }
}
@media (max-width: 760px) {
  html body.home section.bi-univers-signature {
    padding: 70px 0 82px !important;
  }
  html body.home section.bi-univers-signature > .enveloppe { width: calc(100% - 34px) !important; }
  html body.home section.bi-univers-signature .tete { margin-bottom: 28px !important; }
  html body.home section.bi-univers-signature .tete::before {
    margin-bottom: 16px !important;
    padding-left: 75px !important;
    background-size: 55px 1px !important;
    font-size: 10px !important;
  }
  html body.home section.bi-univers-signature .tete h2 {
    font-size: clamp(35px, 9vw, 49px) !important;
    line-height: 1.1 !important;
  }
  html body.home section.bi-univers-signature .univers {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 22px !important;
  }
  html body.home section.bi-univers-signature .univers > .tuile {
    height: 505px !important;
    min-height: 505px !important;
    max-height: none !important;
    border-radius: 10px !important;
  }
  html body.home section.bi-univers-signature .tuile > .badge.badge-verre {
    top: 18px !important;
    left: 18px !important;
    max-width: calc(100% - 36px) !important;
    padding: 12px 13px !important;
    gap: 9px !important;
    font-size: 10px !important;
  }
  html body.home section.bi-univers-signature .tuile .tuile-texte {
    left: 22px !important;
    right: 22px !important;
    bottom: 27px !important;
  }
  html body.home section.bi-univers-signature .tuile .tuile-texte h3 {
    font-size: clamp(31px, 7.3vw, 38px) !important;
  }
  html body.home section.bi-univers-signature .tuile .tuile-texte > p:not([class]) {
    max-width: 100% !important;
    font-size: 14px !important;
  }
  html body.home section.bi-univers-signature .tuile .tuile-texte .tuile-cta { margin-top: 21px !important; }
  html body.home section.bi-univers-signature .tuile .tuile-cta-rond {
    width: 43px !important;
    height: 43px !important;
    flex-basis: 43px !important;
  }
}
@media (max-width: 380px) {
  html body.home section.bi-univers-signature .univers > .tuile {
    height: 530px !important;
    min-height: 530px !important;
  }
}
@media (prefers-reduced-motion:reduce) {
  html body.home section.bi-univers-signature .tuile img,
  html body.home section.bi-univers-signature .tuile .tuile-cta-rond { transition: none !important; }
}

/* BISIMMO 16/10/2026 | Opportunites a la une : carrousel premium centre.
   Les cartes restent generees par le plugin et conservent leurs liens reels. */
html body.home section.vitrine {
  position: relative !important;
  isolation: isolate !important;
  display: block !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: clamp(72px, 6.2vw, 105px) 0 clamp(75px, 6.8vw, 110px) !important;
  background: #FBFAF7 !important;
  color: var(--marine) !important;
}
html body.home section.vitrine::before,
html body.home section.vitrine::after {
  content: "" !important;
  position: absolute !important;
  z-index: -1 !important;
  width: 620px !important;
  height: 620px !important;
  border: 1px solid rgba(184,143,66,.18) !important;
  border-radius: 50% !important;
  background: transparent !important;
  pointer-events: none !important;
  transform: none !important;
  opacity: 1 !important;
}
html body.home section.vitrine::before { top: -440px !important; right: -170px !important; left: auto !important; }
html body.home section.vitrine::after { bottom: -480px !important; left: -260px !important; right: auto !important; }
html body.home section.vitrine > .enveloppe {
  position: relative !important;
  z-index: 1 !important;
  box-sizing: border-box !important;
  width: min(calc(100% - 80px), 1440px) !important;
  max-width: 1440px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
html body.home section.vitrine .vitrine-tete {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto clamp(32px, 4vw, 52px) !important;
  padding: 0 !important;
  text-align: center !important;
  opacity: 1 !important;
  transform: none !important;
  translate: none !important;
}
html body.home section.vitrine .vitrine-surtitre {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 20px !important;
  margin: 0 0 13px !important;
  color: var(--or) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  font-weight: 750 !important;
  text-transform: uppercase !important;
  letter-spacing: .17em !important;
}
html body.home section.vitrine .vitrine-surtitre::before,
html body.home section.vitrine .vitrine-surtitre::after {
  content: "" !important;
  flex: 0 0 54px !important;
  width: 54px !important;
  height: 1px !important;
  background: var(--or) !important;
  opacity: .8 !important;
}
html body.home section.vitrine .vitrine-titre {
  display: block !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 0 22px !important;
  color: var(--marine) !important;
  background: linear-gradient(var(--or),var(--or)) center bottom / 76px 1px no-repeat !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(40px, 4.1vw, 66px) !important;
  font-weight: 700 !important;
  line-height: 1.08 !important;
  letter-spacing: -.039em !important;
  text-wrap: balance !important;
}
html body.home section.vitrine .vitrine-scene {
  position: relative !important;
  box-sizing: border-box !important;
  display: block !important;
  width: min(100%, 1380px) !important;
  max-width: 1380px !important;
  height: clamp(500px, 43vw, 595px) !important;
  min-height: 500px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: visible !important;
  perspective: none !important;
}
html body.home section.vitrine .vitrine-piste {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  transform: none !important;
  perspective: none !important;
}
html body.home section.vitrine .vitrine-carte {
  --l: clamp(475px, 47.5vw, 680px);
  --h: clamp(475px, 38vw, 545px);
  position: absolute !important;
  display: block !important;
  box-sizing: border-box !important;
  left: calc(50% - var(--l)/2) !important;
  top: calc(50% - var(--h)/2) !important;
  right: auto !important;
  bottom: auto !important;
  width: var(--l) !important;
  max-width: none !important;
  height: var(--h) !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: var(--marine) !important;
  border: 1px solid rgba(2,20,52,.1) !important;
  border-radius: 13px !important;
  box-shadow: 0 25px 48px -27px rgba(2,20,52,.49) !important;
  filter: none !important;
  perspective: none !important;
  transition: transform .65s ease, opacity .65s ease, box-shadow .3s ease !important;
  transform-origin: center center !important;
  will-change: transform !important;
}
html body.home section.vitrine .vitrine-carte.est-active {
  box-shadow: 0 34px 66px -28px rgba(2,20,52,.47) !important;
}
html body.home section.vitrine .vitrine-carte > figure.wp-block-image {
  position: absolute !important;
  display: block !important;
  z-index: 0 !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  overflow: hidden !important;
}
html body.home section.vitrine .vitrine-carte img.vitrine-photo-img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  opacity: 1 !important;
  filter: none !important;
  transform: scale(1) !important;
  transition: transform .35s ease !important;
}
html body.home section.vitrine .vitrine-carte::after {
  content: "" !important;
  position: absolute !important;
  z-index: 1 !important;
  inset: 0 !important;
  pointer-events: none !important;
  background: linear-gradient(0deg,
    rgba(2,20,52,.97) 0%,
    rgba(2,20,52,.83) 16%,
    rgba(2,20,52,.44) 37%,
    rgba(2,20,52,.10) 63%,
    transparent 82%) !important;
  opacity: 1 !important;
}
html body.home section.vitrine .vitrine-carte .vitrine-etiquettes {
  position: absolute !important;
  display: flex !important;
  top: 23px !important;
  left: 23px !important;
  right: auto !important;
  z-index: 4 !important;
  width: auto !important;
  max-width: calc(100% - 46px) !important;
  margin: 0 !important;
}
html body.home section.vitrine .vitrine-carte .etiquette {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  min-height: 40px !important;
  padding: 10px 15px !important;
  margin: 0 !important;
  background: rgba(255,255,255,.95) !important;
  border: 1px solid rgba(184,143,66,.33) !important;
  border-radius: 8px !important;
  color: var(--marine) !important;
  font-weight: 750 !important;
  font-size: 10.5px !important;
  line-height: 1.2 !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
  backdrop-filter: none !important;
}
html body.home section.vitrine .vitrine-carte.est-active .etiquette {
  background: var(--or) !important;
  border-color: var(--or) !important;
}
html body.home section.vitrine .vitrine-carte .etiquette::before {
  content: "" !important;
  display: block !important;
  flex: 0 0 15px !important;
  width: 15px !important;
  height: 15px !important;
  background: var(--marine) !important;
  -webkit-mask: var(--bi-plein-building) center / contain no-repeat !important;
  mask: var(--bi-plein-building) center / contain no-repeat !important;
}
html body.home section.vitrine .vitrine-carte:has(.etiquette-verre) .etiquette::before {
  -webkit-mask: var(--bi-plein-building) center / contain no-repeat !important;
  mask: var(--bi-plein-building) center / contain no-repeat !important;
}
html body.home section.vitrine .vitrine-carte:nth-child(2) .etiquette::before {
  -webkit-mask: var(--bi-plein-home) center / contain no-repeat !important;
  mask: var(--bi-plein-home) center / contain no-repeat !important;
}
html body.home section.vitrine .vitrine-carte .vitrine-panneau {
  position: absolute !important;
  display: block !important;
  z-index: 3 !important;
  left: clamp(25px, 2.8vw, 39px) !important;
  right: clamp(25px, 2.8vw, 39px) !important;
  bottom: clamp(26px, 3vw, 40px) !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  opacity: 1 !important;
  transform: none !important;
}
html body.home section.vitrine .vitrine-carte .vitrine-kicker {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 0 0 8px !important;
  color: rgba(255,255,255,.91) !important;
  font-size: 10.5px !important;
  font-weight: 750 !important;
  line-height: 1.4 !important;
  letter-spacing: .105em !important;
  text-transform: uppercase !important;
}
html body.home section.vitrine .vitrine-carte .vitrine-kicker strong {
  color: var(--or) !important;
  font-size: 10px !important;
  font-weight: 750 !important;
  letter-spacing: .11em !important;
}
html body.home section.vitrine .vitrine-carte .vitrine-kicker strong::before { display: none !important; }
html body.home section.vitrine .vitrine-carte .vitrine-prix {
  margin: 0 0 9px !important;
  padding: 0 !important;
  font-size: clamp(31px, 3.2vw, 46px) !important;
  font-weight: 800 !important;
  line-height: 1.09 !important;
  letter-spacing: -.035em !important;
  color: #FFFFFF !important;
}
html body.home section.vitrine .vitrine-carte .vitrine-lieu {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 7px !important;
  color: #FFFFFF !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
}
html body.home section.vitrine .vitrine-carte .vitrine-lieu::before {
  color: var(--or) !important;
}
html body.home section.vitrine .vitrine-carte .vitrine-specs {
  margin: 0 !important;
  font-size: 13.5px !important;
  line-height: 1.5 !important;
  color: rgba(255,255,255,.89) !important;
}
html body.home section.vitrine .vitrine-carte .vitrine-cta {
  display: block !important;
  margin: 19px 0 0 !important;
  padding: 0 !important;
}
html body.home section.vitrine .vitrine-carte .vitrine-cta a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 11px !important;
  min-height: 48px !important;
  height: auto !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 12px 19px !important;
  border: 1px solid var(--or) !important;
  border-radius: 6px !important;
  background: transparent !important;
  background-image: none !important;
  color: #fff !important;
  box-shadow: none !important;
  font-size: 11px !important;
  font-weight: 750 !important;
  letter-spacing: .11em !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}
html body.home section.vitrine .vitrine-carte.est-active .vitrine-cta a {
  background: var(--or) !important;
  color: var(--marine) !important;
}
html body.home section.vitrine .vitrine-carte .vitrine-cta a::after {
  content: "" !important;
  display: inline-block !important;
  position: static !important;
  flex: 0 0 16px !important;
  width: 16px !important;
  height: 16px !important;
  background: currentColor !important;
  transform: none !important;
  -webkit-mask: var(--bi-plein-arrow) center / contain no-repeat !important;
  mask: var(--bi-plein-arrow) center / contain no-repeat !important;
}
html body.home section.vitrine .vitrine-carte a:focus-visible {
  outline: 2px solid var(--or) !important;
  outline-offset: 3px !important;
}
html body.home section.vitrine .vitrine-lien { z-index: 2 !important; }
html body.home section.vitrine .vitrine-fleche {
  display: grid !important;
  place-items: center !important;
  position: absolute !important;
  z-index: 70 !important;
  top: 50% !important;
  width: 53px !important;
  height: 53px !important;
  margin-top: -27px !important;
  padding: 0 !important;
  border: 1px solid var(--or) !important;
  border-radius: 50% !important;
  background: #fff !important;
  background-image: none !important;
  color: var(--marine) !important;
  font-size: 0 !important;
  box-shadow: 0 7px 19px rgba(2,20,52,.09) !important;
  cursor: pointer !important;
  transition: background-color .2s ease, color .2s ease !important;
}
html body.home section.vitrine .vitrine-prec { left: 5px !important; right: auto !important; }
html body.home section.vitrine .vitrine-suiv { right: 5px !important; left: auto !important; }
html body.home section.vitrine .vitrine-fleche::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  width: 19px !important;
  height: 19px !important;
  margin: auto !important;
  background: currentColor !important;
  -webkit-mask: var(--bi-plein-arrow) center / contain no-repeat !important;
  mask: var(--bi-plein-arrow) center / contain no-repeat !important;
}
html body.home section.vitrine .vitrine-prec::before { transform: rotate(180deg) !important; }
html body.home section.vitrine .vitrine-fleche:hover {
  background: var(--or) !important;
  border-color: var(--or) !important;
  color: var(--marine) !important;
  transform: none !important;
}
html body.home section.vitrine .vitrine-points {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  margin: 26px auto 0 !important;
}
html body.home section.vitrine .vitrine-points button {
  width: 10px !important;
  height: 10px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(184,143,66,.25) !important;
  box-shadow: none !important;
  transition: width .25s ease, background-color .25s ease !important;
}
html body.home section.vitrine .vitrine-points button.actif {
  width: 32px !important;
  background: var(--or) !important;
}
html body.home section.vitrine .vitrine-catalogue {
  margin: 30px auto 0 !important;
  padding: 0 !important;
  text-align: center !important;
  opacity: 1 !important;
  transform: none !important;
  translate: none !important;
}
html body.home section.vitrine .vitrine-catalogue a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  width: auto !important;
  min-height: 51px !important;
  height: auto !important;
  padding: 12px 28px !important;
  border: 1px solid var(--marine) !important;
  border-radius: 5px !important;
  background: transparent !important;
  background-image: none !important;
  color: var(--marine) !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  line-height: 1.3 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}
html body.home section.vitrine .vitrine-catalogue a::after {
  content: "" !important;
  position: static !important;
  flex: 0 0 17px !important;
  width: 17px !important;
  height: 17px !important;
  background: var(--or) !important;
  -webkit-mask: var(--bi-plein-arrow) center / contain no-repeat !important;
  mask: var(--bi-plein-arrow) center / contain no-repeat !important;
}
html body.home section.vitrine .vitrine-catalogue a:hover {
  background: var(--marine) !important;
  border-color: var(--marine) !important;
  color: #fff !important;
}
@media (hover:hover) and (pointer:fine) {
  html body.home section.vitrine .vitrine-carte.est-active:hover img.vitrine-photo-img { transform: scale(1.025) !important; }
  html body.home section.vitrine .vitrine-carte .vitrine-cta a:hover { background: #fff !important; color: var(--marine) !important; }
}
/* Tablet: smaller centered cards, nav arrows below to avoid photo overlap. */
@media (max-width: 1100px) {
  html body.home section.vitrine > .enveloppe { width: calc(100% - 48px) !important; }
  html body.home section.vitrine .vitrine-scene { height: 510px !important; min-height: 510px !important; }
  html body.home section.vitrine .vitrine-carte {
    --l: clamp(450px, 49vw, 540px);
    --h: 470px;
  }
  html body.home section.vitrine .vitrine-fleche {
    top: auto !important;
    bottom: -76px !important;
    margin-top: 0 !important;
    width: 46px !important;
    height: 46px !important;
  }
  html body.home section.vitrine .vitrine-prec { left: calc(50% - 140px) !important; }
  html body.home section.vitrine .vitrine-suiv { right: calc(50% - 140px) !important; }
  html body.home section.vitrine .vitrine-points { margin-top: 86px !important; }
}
@media (max-width: 760px) {
  html body.home section.vitrine {
    padding: 64px 0 74px !important;
    overflow: hidden !important;
  }
  html body.home section.vitrine > .enveloppe { width: calc(100% - 30px) !important; }
  html body.home section.vitrine .vitrine-tete { margin-bottom: 27px !important; }
  html body.home section.vitrine .vitrine-surtitre {
    gap: 12px !important;
    font-size: 10px !important;
    letter-spacing: .12em !important;
  }
  html body.home section.vitrine .vitrine-surtitre::before,
  html body.home section.vitrine .vitrine-surtitre::after { width: 25px !important; flex-basis: 25px !important; }
  html body.home section.vitrine .vitrine-titre {
    font-size: clamp(34px, 8.8vw, 47px) !important;
    padding-bottom: 18px !important;
  }
  html body.home section.vitrine .vitrine-scene {
    width: 100% !important;
    height: 520px !important;
    min-height: 520px !important;
  }
  html body.home section.vitrine .vitrine-carte {
    --l: min(calc(100vw - 30px), 460px);
    --h: 508px;
    border-radius: 10px !important;
  }
  html body.home section.vitrine .vitrine-carte .vitrine-panneau { left: 22px !important; right: 22px !important; bottom: 26px !important; }
  html body.home section.vitrine .vitrine-carte .vitrine-kicker { font-size: 10px !important; letter-spacing: .055em !important; }
  html body.home section.vitrine .vitrine-carte .vitrine-prix { font-size: clamp(30px, 8vw, 40px) !important; }
  html body.home section.vitrine .vitrine-carte .vitrine-specs { font-size: 12.5px !important; }
  html body.home section.vitrine .vitrine-carte .vitrine-cta a {
    min-height: 46px !important;
    padding: 11px 14px !important;
    font-size: 10.5px !important;
  }
  html body.home section.vitrine .vitrine-carte .vitrine-etiquettes { top: 17px !important; left: 17px !important; }
  html body.home section.vitrine .vitrine-carte .etiquette { font-size: 10px !important; min-height: 36px !important; padding: 9px 12px !important; }
  html body.home section.vitrine .vitrine-catalogue a { width: 100% !important; padding: 12px 16px !important; font-size: 11px !important; }
}
@media (max-width: 370px) {
  html body.home section.vitrine .vitrine-scene { height: 540px !important; min-height: 540px !important; }
  html body.home section.vitrine .vitrine-carte { --h: 528px; }
  html body.home section.vitrine .vitrine-carte .vitrine-panneau { bottom: 20px !important; }
}
@media (prefers-reduced-motion:reduce) {
  html body.home section.vitrine .vitrine-carte,
  html body.home section.vitrine .vitrine-carte img,
  html body.home section.vitrine .vitrine-points button { transition: none !important; }
}


/* BISIMMO 16-10-2026 : correction de la seconde annonce dans "A la une".
   Deux biens reels restent visibles cote a cote sur ordinateur. Sur ecran
   etroit, le carrousel conserve une annonce active avec les commandes. */
@media (min-width: 981px) {
  html body.home section.vitrine .vitrine-scene:has(> .vitrine-piste > .vitrine-carte:nth-child(2):last-child) {
    display: block !important;
    width: min(100%, 1220px) !important;
    max-width: 1220px !important;
    height: clamp(515px, 39vw, 565px) !important;
    min-height: 515px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  html body.home section.vitrine .vitrine-piste:has(> .vitrine-carte:nth-child(2):last-child) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    align-items: stretch !important;
    gap: clamp(18px, 2.1vw, 28px) !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
  html body.home section.vitrine .vitrine-piste:has(> .vitrine-carte:nth-child(2):last-child) > .vitrine-carte {
    position: relative !important;
    display: block !important;
    flex: 1 1 auto !important;
    inset: auto !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    transform: none !important;
    rotate: none !important;
    translate: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
  html body.home section.vitrine .vitrine-piste:has(> .vitrine-carte:nth-child(2):last-child) > .vitrine-carte .vitrine-panneau {
    opacity: 1 !important;
    transform: none !important;
  }
  html body.home section.vitrine .vitrine-piste:has(> .vitrine-carte:nth-child(2):last-child) > .vitrine-carte .vitrine-cta a {
    pointer-events: auto !important;
  }
  html body.home section.vitrine .vitrine-piste:has(> .vitrine-carte:nth-child(2):last-child) > .vitrine-carte:not(.est-active) .vitrine-cta a {
    background: transparent !important;
    color: #fff !important;
  }
  html body.home section.vitrine .vitrine-piste:has(> .vitrine-carte:nth-child(2):last-child) > .vitrine-carte.est-active .vitrine-cta a {
    background: var(--or) !important;
    color: var(--marine) !important;
  }
}
/* Large screens: place the arrows outside the centered two-card group. */
@media (min-width: 1520px) {
  html body.home section.vitrine .vitrine-scene:has(> .vitrine-piste > .vitrine-carte:nth-child(2):last-child) > .vitrine-prec {
    left: -70px !important;
  }
  html body.home section.vitrine .vitrine-scene:has(> .vitrine-piste > .vitrine-carte:nth-child(2):last-child) > .vitrine-suiv {
    right: -70px !important;
  }
}
/* Small desktops and tablets: keep arrows below instead of cutting them off. */
@media (min-width: 981px) and (max-width: 1519px) {
  html body.home section.vitrine .vitrine-scene:has(> .vitrine-piste > .vitrine-carte:nth-child(2):last-child) > .vitrine-fleche {
    top: auto !important;
    bottom: -72px !important;
    margin-top: 0 !important;
    width: 46px !important;
    height: 46px !important;
  }
  html body.home section.vitrine .vitrine-scene:has(> .vitrine-piste > .vitrine-carte:nth-child(2):last-child) > .vitrine-prec {
    left: calc(50% - 145px) !important;
  }
  html body.home section.vitrine .vitrine-scene:has(> .vitrine-piste > .vitrine-carte:nth-child(2):last-child) > .vitrine-suiv {
    right: calc(50% - 145px) !important;
  }
  html body.home section.vitrine:has(.vitrine-carte:nth-child(2):last-child) .vitrine-points {
    margin-top: 88px !important;
  }
}
/* At narrow widths show one full-width real estate card, never two layered. */
@media (max-width: 980px) {
  html body.home section.vitrine .vitrine-scene:has(> .vitrine-piste > .vitrine-carte:nth-child(2):last-child) {
    width: min(100%, 600px) !important;
    max-width: 600px !important;
    height: 520px !important;
    min-height: 520px !important;
    overflow: visible !important;
  }
  html body.home section.vitrine .vitrine-piste:has(> .vitrine-carte:nth-child(2):last-child) {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }
  html body.home section.vitrine .vitrine-piste:has(> .vitrine-carte:nth-child(2):last-child) > .vitrine-carte {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    top: auto !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    transform: none !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  html body.home section.vitrine .vitrine-piste:has(> .vitrine-carte:nth-child(2):last-child) > .vitrine-carte:not(.est-active) {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
  html body.home section.vitrine .vitrine-scene:has(> .vitrine-piste > .vitrine-carte:nth-child(2):last-child) > .vitrine-fleche {
    display: grid !important;
    top: auto !important;
    bottom: -70px !important;
    margin-top: 0 !important;
  }
  html body.home section.vitrine:has(.vitrine-carte:nth-child(2):last-child) .vitrine-points {
    margin-top: 88px !important;
  }
}



/* BISIMMO 16/10/2026 - Parcours premium, fidele a la maquette validee.
   Ce bloc remplace les anciens reglages, section accueil uniquement. */
html body.home section.section-parcours {
  --bi-parcours-gold: var(--or, #B88F42);
  --bi-parcours-navy: var(--marine, #021434);
  --bi-parcours-chat: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22black%22%20d%3D%22M12%202C5.9%202%201%206.4%201%2011.8c0%202.4%201%204.6%202.7%206.3L3%2023l5.3-2.7c1.2.4%202.4.6%203.7.6%206.1%200%2011-4.4%2011-9.9S18.1%202%2012%202Zm-5%2011.3a1.35%201.35%200%201%201%200-2.7%201.35%201.35%200%200%201%200%202.7Zm5%200a1.35%201.35%200%201%201%200-2.7%201.35%201.35%200%200%201%200%202.7Zm5%200a1.35%201.35%200%201%201%200-2.7%201.35%201.35%200%200%201%200%202.7Z%22%2F%3E%3C%2Fsvg%3E");
  isolation: isolate !important;
  position: relative !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: clamp(72px, 6vw, 104px) 0 clamp(75px, 7vw, 110px) !important;
  background: #FBFAF7 !important;
  color: var(--bi-parcours-navy) !important;
}
html body.home section.section-parcours::before,
html body.home section.section-parcours::after {
  content: "" !important;
  position: absolute !important;
  display: block !important;
  pointer-events: none !important;
  box-sizing: border-box !important;
  z-index: 0 !important;
  width: 680px !important;
  height: 680px !important;
  border: 1px solid rgba(184, 143, 66, .26) !important;
  border-radius: 50% !important;
  background: transparent !important;
}
html body.home section.section-parcours::before {
  top: -555px !important;
  left: -350px !important;
  right: auto !important;
}
html body.home section.section-parcours::after {
  bottom: -575px !important;
  right: -385px !important;
  left: auto !important;
}
html body.home section.section-parcours > .enveloppe {
  position: relative !important;
  z-index: 2 !important;
  display: block !important;
  width: min(calc(100% - 72px), 1420px) !important;
  max-width: 1420px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
html body.home section.section-parcours .titre-centre {
  display: block !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  color: var(--bi-parcours-navy) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(43px, 4.6vw, 69px) !important;
  font-weight: 700 !important;
  letter-spacing: -.046em !important;
  line-height: 1.09 !important;
  text-align: center !important;
  text-wrap: balance !important;
  opacity: 1 !important;
  translate: none !important;
  transform: none !important;
}
html body.home section.section-parcours .titre-centre::before {
  content: "LE PARCOURS BISIMMO" !important;
  display: block !important;
  box-sizing: border-box !important;
  width: max-content !important;
  max-width: 100% !important;
  margin: 0 auto clamp(17px, 2vw, 26px) !important;
  padding: 2px 67px !important;
  background: linear-gradient(var(--bi-parcours-gold), var(--bi-parcours-gold)) left center / 39px 1px no-repeat,
              linear-gradient(var(--bi-parcours-gold), var(--bi-parcours-gold)) right center / 39px 1px no-repeat !important;
  color: var(--bi-parcours-gold) !important;
  font-family: Roboto, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  line-height: 1.45 !important;
  letter-spacing: .24em !important;
  text-align: center !important;
}
html body.home section.section-parcours .chapo-centre {
  display: block !important;
  max-width: 980px !important;
  margin: 24px auto 0 !important;
  padding: 0 !important;
  color: #53585F !important;
  font-size: clamp(15px, 1.35vw, 18px) !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  text-align: center !important;
}
html body.home section.section-parcours .parcours {
  position: relative !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  width: 100% !important;
  gap: clamp(18px, 1.4vw, 25px) !important;
  margin: clamp(36px, 4vw, 54px) 0 0 !important;
  padding: 0 !important;
}
html body.home section.section-parcours .parcours::before {
  display: none !important;
  content: none !important;
}
html body.home section.section-parcours .parcours > .parcours-etape {
  position: relative !important;
  isolation: isolate !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 365px !important;
  height: 100% !important;
  margin: 0 !important;
  padding: clamp(27px, 2.25vw, 36px) !important;
  border: 1px solid rgba(184,143,66,.24) !important;
  border-radius: 17px !important;
  background: #FFFFFF !important;
  color: var(--bi-parcours-navy) !important;
  box-shadow: 0 20px 43px -29px rgba(2,20,52,.23) !important;
  text-align: left !important;
  opacity: 1 !important;
  translate: none !important;
  transform: none !important;
  transition: border-color .22s ease, box-shadow .22s ease !important;
}
html body.home section.section-parcours .parcours > .parcours-etape::after {
  content: "" !important;
  position: absolute !important;
  display: block !important;
  z-index: 0 !important;
  box-sizing: border-box !important;
  top: clamp(27px, 2.25vw, 36px) !important;
  left: clamp(27px, 2.25vw, 36px) !important;
  width: 70px !important;
  height: 70px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(184,143,66,.12) !important;
  border-radius: 14px !important;
  background: var(--sable,#F7F4EF) !important;
  box-shadow: none !important;
  pointer-events: none !important;
}
html body.home section.section-parcours .parcours > .parcours-etape::before {
  content: "" !important;
  position: absolute !important;
  z-index: 1 !important;
  display: block !important;
  box-sizing: border-box !important;
  align-self: auto !important;
  flex: none !important;
  top: calc(clamp(27px, 2.25vw, 36px) + 20px) !important;
  left: calc(clamp(27px, 2.25vw, 36px) + 20px) !important;
  width: 30px !important;
  height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--bi-parcours-gold) !important;
  -webkit-mask: var(--bi-parcours-solid-icon, var(--bi-plein-search)) center / contain no-repeat !important;
  mask: var(--bi-parcours-solid-icon, var(--bi-plein-search)) center / contain no-repeat !important;
  transform: none !important;
}
html body.home section.section-parcours .parcours > .parcours-etape.ico-loupe {
  --bi-parcours-solid-icon: var(--bi-plein-search);
}
html body.home section.section-parcours .parcours > .parcours-etape.ico-graphe {
  --bi-parcours-solid-icon: var(--bi-plein-chart);
}
html body.home section.section-parcours .parcours > .parcours-etape.ico-bulle {
  --bi-parcours-solid-icon: var(--bi-parcours-chat);
}
html body.home section.section-parcours .parcours > .parcours-etape .parcours-num {
  position: absolute !important;
  z-index: 1 !important;
  top: clamp(29px, 2.25vw, 38px) !important;
  right: clamp(27px, 2.25vw, 36px) !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--bi-parcours-gold) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(39px, 3vw, 53px) !important;
  font-weight: 400 !important;
  letter-spacing: -.045em !important;
  line-height: 1 !important;
}
html body.home section.section-parcours .parcours > .parcours-etape h3 {
  position: relative !important;
  z-index: 1 !important;
  display: block !important;
  max-width: 100% !important;
  margin: clamp(97px, 8vw, 111px) 0 12px !important;
  padding: 0 !important;
  color: var(--bi-parcours-navy) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(29px, 2.45vw, 39px) !important;
  font-weight: 700 !important;
  letter-spacing: -.04em !important;
  line-height: 1.14 !important;
  text-align: left !important;
}
html body.home section.section-parcours .parcours > .parcours-etape > p:not(.parcours-num):not(.parcours-lien) {
  position: relative !important;
  z-index: 1 !important;
  display: block !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-width: 100% !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  color: #53585F !important;
  font-size: clamp(14px,1.13vw,16px) !important;
  font-weight: 400 !important;
  line-height: 1.63 !important;
  text-align: left !important;
}
html body.home section.section-parcours .parcours > .parcours-etape .parcours-lien {
  position: relative !important;
  z-index: 2 !important;
  flex: 0 0 auto !important;
  display: block !important;
  width: 100% !important;
  max-width: 330px !important;
  margin: auto 0 0 !important;
  padding: 0 !important;
  text-align: left !important;
}
html body.home section.section-parcours .parcours > .parcours-etape .parcours-lien a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 330px !important;
  min-height: 58px !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 8px 10px 8px 19px !important;
  border: 1px solid var(--bi-parcours-navy) !important;
  border-radius: 8px !important;
  background: var(--bi-parcours-navy) !important;
  background-image: none !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 9px rgba(2,20,52,.07) !important;
  font-size: clamp(13px,1.1vw,16px) !important;
  font-weight: 550 !important;
  letter-spacing: -.01em !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
  text-align: left !important;
  transition: background-color .22s ease, border-color .22s ease, color .22s ease !important;
}
html body.home section.section-parcours .parcours > .parcours-etape .parcours-lien a::after {
  content: "" !important;
  position: static !important;
  display: inline-block !important;
  flex: 0 0 39px !important;
  width: 39px !important;
  height: 39px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background-color: var(--bi-parcours-gold) !important;
  background-image: none !important;
  -webkit-mask: none !important;
  mask: none !important;
  transform: none !important;
}
html body.home section.section-parcours .parcours > .parcours-etape .parcours-lien a::before {
  content: "" !important;
  display: none !important;
}
/* White full arrow, with a solid gold circular button underneath. */
html body.home section.section-parcours .parcours > .parcours-etape .parcours-lien a {
  position: relative !important;
}
html body.home section.section-parcours .parcours > .parcours-etape .parcours-lien a::before {
  content: "" !important;
  position: absolute !important;
  z-index: 1 !important;
  display: block !important;
  flex: none !important;
  right: 21px !important;
  top: 50% !important;
  width: 17px !important;
  height: 17px !important;
  margin: -8.5px 0 0 !important;
  background: #FFFFFF !important;
  -webkit-mask: var(--bi-plein-arrow) center / contain no-repeat !important;
  mask: var(--bi-plein-arrow) center / contain no-repeat !important;
  pointer-events: none !important;
}
html body.home section.section-parcours .parcours > .parcours-etape .parcours-lien a:focus-visible {
  outline: 2px solid var(--bi-parcours-gold) !important;
  outline-offset: 4px !important;
}
@media (hover: hover) and (pointer: fine) {
  html body.home section.section-parcours .parcours > .parcours-etape:hover {
    border-color: rgba(184,143,66,.57) !important;
    box-shadow: 0 22px 46px -27px rgba(2,20,52,.26) !important;
  }
  html body.home section.section-parcours .parcours > .parcours-etape .parcours-lien a:hover {
    border-color: var(--bi-parcours-gold) !important;
    background: var(--bi-parcours-gold) !important;
    color: var(--bi-parcours-navy) !important;
  }
  html body.home section.section-parcours .parcours > .parcours-etape .parcours-lien a:hover::after {
    background-color: var(--bi-parcours-navy) !important;
  }
}
@media (max-width: 1100px) {
  html body.home section.section-parcours > .enveloppe {
    width: calc(100% - 50px) !important;
  }
  html body.home section.section-parcours .parcours {
    gap: 16px !important;
  }
  html body.home section.section-parcours .parcours > .parcours-etape {
    padding: 27px 24px !important;
    min-height: 390px !important;
  }
  html body.home section.section-parcours .parcours > .parcours-etape::after {
    top: 27px !important;
    left: 24px !important;
  }
  html body.home section.section-parcours .parcours > .parcours-etape::before {
    top: 47px !important;
    left: 44px !important;
    margin: 0 !important;
  }
  html body.home section.section-parcours .parcours > .parcours-etape .parcours-num {
    top: 30px !important;
    right: 24px !important;
  }
  html body.home section.section-parcours .parcours > .parcours-etape h3 {
    font-size: 30px !important;
  }
  html body.home section.section-parcours .parcours > .parcours-etape .parcours-lien a {
    font-size: 13px !important;
  }
}
@media (max-width: 900px) {
  html body.home section.section-parcours .parcours {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 18px !important;
  }
  html body.home section.section-parcours .parcours > .parcours-etape {
    min-height: 365px !important;
  }
  html body.home section.section-parcours .parcours > .parcours-etape:nth-child(3) {
    grid-column: 1 / -1 !important;
  }
}
@media (max-width: 640px) {
  html body.home section.section-parcours {
    padding: 65px 0 78px !important;
  }
  html body.home section.section-parcours > .enveloppe {
    width: calc(100% - 34px) !important;
  }
  html body.home section.section-parcours .titre-centre {
    font-size: clamp(35px, 9.1vw, 46px) !important;
  }
  html body.home section.section-parcours .titre-centre::before {
    font-size: 10px !important;
    letter-spacing: .13em !important;
    padding: 0 40px !important;
    background-size: 25px 1px, 25px 1px !important;
  }
  html body.home section.section-parcours .chapo-centre {
    max-width: 430px !important;
    font-size: 14.5px !important;
    line-height: 1.55 !important;
    margin-top: 16px !important;
  }
  html body.home section.section-parcours .parcours {
    grid-template-columns: minmax(0,1fr) !important;
    gap: 17px !important;
    margin-top: 30px !important;
  }
  html body.home section.section-parcours .parcours > .parcours-etape,
  html body.home section.section-parcours .parcours > .parcours-etape:nth-child(3) {
    grid-column: auto !important;
    min-height: 350px !important;
    padding: 27px 24px !important;
    border-radius: 14px !important;
  }
  html body.home section.section-parcours .parcours > .parcours-etape::after {
    width: 65px !important;
    height: 65px !important;
    top: 27px !important;
    left: 24px !important;
  }
  html body.home section.section-parcours .parcours > .parcours-etape::before {
    top: 46px !important;
    left: 43px !important;
    width: 27px !important;
    height: 27px !important;
    flex: none !important;
    margin: 0 !important;
  }
  html body.home section.section-parcours .parcours > .parcours-etape .parcours-num {
    font-size: 43px !important;
    top: 29px !important;
    right: 24px !important;
  }
  html body.home section.section-parcours .parcours > .parcours-etape h3 {
    font-size: 32px !important;
    margin-top: 94px !important;
  }
  html body.home section.section-parcours .parcours > .parcours-etape > p:not(.parcours-num):not(.parcours-lien) {
    margin-bottom: 22px !important;
    font-size: 14.5px !important;
  }
  html body.home section.section-parcours .parcours > .parcours-etape .parcours-lien {
    max-width: none !important;
  }
  html body.home section.section-parcours .parcours > .parcours-etape .parcours-lien a {
    max-width: 330px !important;
    min-height: 55px !important;
    font-size: 14px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  html body.home section.section-parcours .parcours > .parcours-etape,
  html body.home section.section-parcours .parcours > .parcours-etape .parcours-lien a {
    transition: none !important;
  }
}

/* BISIMMO — jonction cohérente contenu / pied sur toutes les pages (16-10-2026). */
body .wp-site-blocks > footer,
body .wp-site-blocks > .wp-block-template-part:has(> .pied),
body footer:has(> .pied) { margin-block-start: 0; }
body main.wp-block-group { margin-block-end: 0; }
body main .wp-block-post-content > :last-child { margin-block-end: 0; }

/* BISIMMO | Espacement harmonisé entre le contenu et le footer | 2026-10-19 */
body .wp-site-blocks{row-gap:0!important;gap:0!important}
body .wp-site-blocks > main.wp-block-group{margin-block-start:0!important;margin-block-end:0!important}
body .wp-site-blocks > footer.wp-block-template-part{margin-block-start:0!important;margin-block-end:0!important;display:block}
body .wp-site-blocks > main.wp-block-group > .wp-block-post-content{margin-block-end:0!important}
body .wp-site-blocks > main.wp-block-group > .wp-block-post-content > :last-child{margin-block-end:0!important}
body .wp-site-blocks > main.wp-block-group > .wp-block-post-content > .wp-block-group:last-child{margin-block-end:0!important}
body .wp-site-blocks > main.wp-block-group > :last-child{margin-block-end:0!important}
body .wp-site-blocks > footer.wp-block-template-part > .pied{margin:0!important;padding-top:64px!important}
@media(max-width:767px){body .wp-site-blocks > footer.wp-block-template-part > .pied{padding-top:44px!important}}
