/* =====================================================================================
   Accord refonte 2026 : mini-sites - gabarit commun, blocs, accueil
   Charge apres accord-2026.css (variables --ac-*, .ac-wrap, .ac-btn, .ac-services, .ac-pied...)
   et pages-popups-express.css (fenetres .popup_block, champs .acx-champ).
   Classes ms-* ; chaque bloc refait porte la classe ms26 (neutralise les anciennes feuilles).
   Aucune regle d'Immo ici.
   ===================================================================================== */

/* ---------- bases ---------- */
body.ms-2026 { background: #fff; margin: 0; }
.ms26 { font-family: var(--ac-police); color: var(--ac-texte); line-height: 1.55; font-size: 15px; }
.ms26 *, .ms26 *::before, .ms26 *::after { box-sizing: border-box; }
/* les anciennes feuilles posent " * { color:#333; font-family:... } " : chaque element herite de son parent */
:where(.ms26) :where(*) { color: inherit; }
/* css_ac/screen.css : " body * { font-family: JF Flat; transition: .5s } " et " body > * { max-width: 1300px } " */
.ms26 :where(*) { font-family: inherit; transition: none; }
body.ms-2026 > header.ms-haut, body.ms-2026 > main.ms-main, body.ms-2026 > footer.ms-pied { max-width: none; width: auto; margin: 0; }
body.ms-2026 > footer.ms-pied { border-top: 0; }
.ms26 :where(h1, h2, h3, p, ul, ol, figure, blockquote, dl) { margin: 0; padding: 0; }
.ms26 :where(ul, ol) { list-style: none; }
.ms26 :where(a), .ms26 :where(a):hover { text-decoration: none; }
.ms26 img { max-width: 100%; }
.ms26 svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.ms26 svg path, .ms26 svg circle, .ms26 svg rect { stroke: currentColor; }
.ms-ville { text-transform: capitalize; }
.ms-section-titre { font-size: clamp(24px, 2.1vw, 32px); line-height: 1.15; font-weight: 800; letter-spacing: -.02em; color: var(--ac-encre); }
.ms-clair { color: #fff; }
.ms-entete-section { margin-bottom: 20px; align-items: center; }

/* anciens elements flottants du gabarit (reseaux sociaux) : remplaces par le pied */
body.ms-2026 .floating_rss.ms-chatbot { z-index: 50; }

/* ---------- en-tete de l'agence ---------- */
.ms-haut { position: relative; z-index: 900; background: #fff; }
.ms-haut .ac-topbar-liens a[aria-current="page"] { color: var(--ac-ambre); }
.ms-entete { border-bottom: 0; }
.ms-entete-in { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 72px; }
.ms-marque { display: flex; align-items: center; gap: 18px; min-width: 0; color: var(--ac-encre); }
.ms-logo { display: block; width: 220px; height: auto; flex: none; }
.ms-agence { display: inline-flex; align-items: center; gap: 8px; padding-left: 18px; border-left: 1px solid var(--ac-ligne); min-width: 0; }
.ms-agence svg { width: 22px; height: 22px; color: var(--ac-ambre-fonce); }
.ms-agence-nom { font-size: 22px; font-weight: 800; letter-spacing: -.01em; line-height: 1.1; color: var(--ac-nuit); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ms-entete-actions { display: flex; align-items: center; gap: 10px; flex: none; }
.ms-entete-actions .ac-btn { min-height: 44px; }
.ms-entete-actions .ac-btn[aria-current="page"] { border-color: var(--ac-nuit); }

.ms-menu { background: var(--ac-nuit); }
.ms-menu-in { display: flex; align-items: center; gap: 2px; min-height: 48px; overflow-x: auto; scrollbar-width: none; }
.ms-menu-in::-webkit-scrollbar { display: none; }
.ms-menu a { position: relative; display: inline-flex; align-items: center; padding: 13px 12px; font-size: 15px; font-weight: 600; line-height: 1.2; color: rgba(255, 255, 255, .86); white-space: nowrap; transition: color .15s ease; }
.ms-menu a:first-child { margin-left: -12px; }
.ms-menu a:after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 0; height: 3px; border-radius: 3px 3px 0 0; background: var(--ac-ambre); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.ms-menu a:hover { color: #fff; }
.ms-menu a:hover:after, .ms-menu a[aria-current="page"]:after { transform: scaleX(1); }
.ms-menu a[aria-current="page"] { color: #fff; }
.ms-menu a .ms-ville { margin-left: .28em; }
.ms-menu .ms-menu-mobile { display: none; }
.ms-burger { display: none; }

/* ---------- bandeau (meme famille que .ac-page-hero du site) ---------- */
.ac-page-hero { position: relative; overflow: hidden; background: var(--ac-nuit); font-family: var(--ac-police); }
.ac-page-hero *, .ac-page-hero *:before, .ac-page-hero *:after { box-sizing: border-box; }
.ac-page-hero-photo { position: absolute; top: 0; bottom: 0; right: 0; left: auto; height: 100%; width: auto; aspect-ratio: 2400 / 1018; max-width: 72%; object-fit: cover; object-position: right center; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 30%); mask-image: linear-gradient(90deg, transparent 0, #000 30%); }
.ac-page-hero:before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(22, 40, 58, .55) 0%, rgba(22, 40, 58, .2) 45%, rgba(22, 40, 58, 0) 70%); pointer-events: none; }
.ac-page-hero-in { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 18px; min-height: 250px; padding: 28px 0 56px; }
.ac-page-hero-texte { max-width: min(660px, 52%); }
.ac-fil { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 10px; font-size: 13px; color: rgba(255, 255, 255, .6); }
.ac-fil a { color: rgba(255, 255, 255, .8); text-decoration: none; }
.ac-fil a:hover { color: var(--ac-ambre); }
.ac-page-titre { margin: 0; font-size: clamp(28px, 2.8vw, 42px); line-height: 1.1; font-weight: 800; letter-spacing: -.02em; color: #fff; }
.ac-page-titre em { font-style: normal; color: var(--ac-ambre); white-space: nowrap; }
.ac-page-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.ac-mini-cta { display: flex; align-items: center; gap: 10px; padding: 8px 14px 8px 8px; border-radius: var(--ac-r-max, 7px); cursor: pointer; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.ac-mini-cta:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0, 0, 0, .25); }
.ac-mini-cta img { width: 40px; height: 40px; padding: 6px; border-radius: 7px; background: #fff; object-fit: contain; }
.ac-mini-cta span { display: flex; flex-direction: column; font-size: 15px; font-weight: 700; line-height: 1.2; white-space: nowrap; }
.ac-mini-cta small { font-size: 10.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; opacity: .75; }
.ac-mini-cta-bleu { background: var(--ac-ardoise); border: 1px solid rgba(255, 255, 255, .22); }
.ac-mini-cta-bleu span, .ac-mini-cta-bleu small { color: #fff; }
.ac-mini-cta-ambre { background: var(--ac-ambre); }
.ac-mini-cta-ambre span, .ac-mini-cta-ambre small { color: var(--ac-nuit); }
.ms-hero-actions { align-items: stretch; }
.ms-btn-taux { min-height: 56px !important; padding: 0 22px !important; font-size: 16px !important; box-shadow: 0 10px 26px rgba(243, 172, 75, .28); }
.ms-btn-taux svg { width: 20px; height: 20px; }

/* ---------- onglets des solutions (barre de cartes, texte de l'onglet choisi) ---------- */
.ms-onglets { position: relative; z-index: 5; margin-top: -36px; }
.ms-onglets-carte { background: #fff; border-radius: var(--ac-r); box-shadow: var(--ac-ombre-2); overflow: hidden; }
.ms-onglets .ms-onglets-liste { grid-template-columns: repeat(5, 1fr); box-shadow: none; border-radius: 0; border-bottom: 1px solid var(--ac-ligne); }
.ms-onglets .ac-service { cursor: pointer; user-select: none; padding: 14px 16px; }
.ms-onglets .ac-service:focus-visible { outline: 2px solid var(--ac-ardoise); outline-offset: -2px; }
.ms-onglets .ac-service.ms-actif { background: var(--ac-fond); }
.ms-onglets .ac-service.ms-actif:after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; background: var(--ac-ambre); }
.ms-onglets .ac-service.ms-actif .ac-service-ico { background: var(--ac-ambre-clair); }
.ms-onglets-textes { padding: 14px 22px; }
.ms-onglet-texte { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.ms-onglet-texte[hidden] { display: none; }
.ms-onglet-texte p { font-size: 15px; line-height: 1.55; color: var(--ac-texte); max-width: 1000px; }
.ms-onglet-texte .ac-lien-fleche { flex: none; cursor: pointer; color: var(--ac-ardoise); }

/* ---------- conteneur des pages ---------- */
.ms-contenu { min-width: 0; }

/* ---------- cartes communes ---------- */
.ms-carte { background: #fff; border: 1px solid var(--ac-ligne); border-radius: var(--ac-r); padding: 20px 22px; }
.ms-carte-tete { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; margin-bottom: 14px; }
.ms-carte-titre { font-size: 19px; line-height: 1.25; font-weight: 800; letter-spacing: -.01em; color: var(--ac-encre); }
.ms-carte-titre b { font-weight: 800; }
.ms-carte-sous { font-size: 14px; color: var(--ac-gris); }
.ms-carte-lien { margin-left: auto; font-size: 14px; }
.ms-carte-note { margin-top: 12px !important; font-size: 12.5px; line-height: 1.5; color: var(--ac-gris); }

/* carte de l'expert : compacte en colonne, horizontale quand la place le permet */
.ms-expert { container-type: inline-size; }
.ms-expert .ms-carte-titre { margin-bottom: 14px; }
.ms-expert-corps { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 16px; align-items: start; }
.ms-expert-photo { position: relative; width: 96px; min-height: 112px; border-radius: var(--ac-r-max, 7px); overflow: hidden; background: linear-gradient(160deg, #E4EAF0 0%, #C9D4DF 100%); }
.ms-expert-avatar { position: absolute; inset: 0; display: grid; place-items: end center; color: #9AAABB; }
.ms-expert-avatar svg { width: 80%; height: 80%; fill: currentColor; stroke: none; }
.ms-expert-avatar svg path, .ms-expert-avatar svg circle { stroke: none; }
.ms-expert-photo img { position: relative; z-index: 1; display: block; width: 100%; height: auto; }
.ms-expert-nom { font-size: 17px; font-weight: 800; line-height: 1.25; color: var(--ac-encre); margin-bottom: 8px !important; }
.ms-expert-coord { display: grid; gap: 4px; font-size: 14px; }
.ms-expert-coord li { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 8px; align-items: baseline; }
.ms-expert-coord span { font-size: 12.5px; color: var(--ac-gris); }
.ms-expert-coord a, .ms-expert-coord b { font-weight: 600; color: var(--ac-encre); min-width: 0; }
.ms-expert-coord a:hover { color: var(--ac-ardoise); }
.ms-coupe { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: block; }
.ms-docs { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 16px; padding-top: 14px; border-top: 1px dashed var(--ac-ligne); }
.ms-docs a { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: var(--ac-r-max, 7px); background: var(--ac-fond); font-size: 13px; font-weight: 600; color: var(--ac-nuit); transition: background-color .15s ease; }
.ms-docs a:hover { background: var(--ac-ambre-clair); color: var(--ac-ambre-fonce); }
.ms-docs svg { width: 14px; height: 14px; color: var(--ac-ambre-fonce); }
@container (min-width: 560px) {
	.ms-expert-corps { grid-template-columns: 132px minmax(0, 1fr); gap: 22px; }
	.ms-expert-photo { width: 132px; min-height: 150px; }
	.ms-expert-coord { grid-template-columns: 1fr 1fr; gap: 6px 24px; }
	.ms-expert-nom { font-size: 19px; margin-bottom: 12px !important; }
}

/* adresse de l'agence */
.ms-adresse { padding: 0; overflow: hidden; }
.ms-adresse .ms-carte-titre { padding: 16px 20px 12px; font-size: 17px; }
.ms-adresse-carte { position: relative; height: 130px; background: var(--ac-fond); }
.ms-adresse-carte img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ms-adresse-carte #map { width: 100%; height: 100%; }
.ms-adresse-infos { display: grid; gap: 12px; padding: 14px 20px 16px; font-size: 14px; line-height: 1.5; color: var(--ac-encre); }
.ms-adresse-infos li { display: flex; gap: 10px; align-items: flex-start; }
.ms-adresse-infos svg { width: 18px; height: 18px; margin-top: 2px; color: var(--ac-ambre-fonce); }
.ms-adresse-infos b { font-weight: 700; }

/* ---------- colonne laterale ---------- */
.ms-cote { display: grid; gap: 12px; align-content: start; min-width: 0; }
.ms-express { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: var(--ac-r); background: var(--ac-nuit); color: #fff; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease; }
.ms-express:hover { transform: translateY(-2px); box-shadow: var(--ac-ombre-2); color: #fff; }
.ms-express-ico { width: 42px; height: 42px; flex: none; border-radius: var(--ac-r-max, 7px); background: var(--ac-ambre); color: var(--ac-nuit); display: grid; place-items: center; }
.ms-express-ico svg { width: 22px; height: 22px; }
.ms-express-txt { font-size: 15.5px; font-weight: 700; line-height: 1.3; }
.ms-express .ac-fleche { margin-left: auto; color: var(--ac-ambre); }
.ms-raccourcis { display: grid; gap: 10px; }
.ac-raccourci { display: flex; align-items: center; gap: 14px; padding: 12px 16px; border-radius: var(--ac-r); background: #fff; border: 1px solid var(--ac-ligne); cursor: pointer; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.ac-raccourci:hover { transform: translateY(-2px); box-shadow: var(--ac-ombre-2); border-color: transparent; }
.ac-raccourci-ico { width: 40px; height: 40px; border-radius: var(--ac-r-max, 7px); display: grid; place-items: center; background: var(--ac-ambre-clair); color: var(--ac-ambre-fonce); flex: none; }
.ac-raccourci > span:nth-child(2) { display: flex; flex-direction: column; }
.ac-raccourci strong { font-size: 15.5px; font-weight: 700; color: var(--ac-encre); }
.ac-raccourci small { font-size: 13px; color: var(--ac-gris); }
.ac-raccourci .ac-fleche { margin-left: auto; color: var(--ac-ardoise); }
.ms-avis-lien { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border-radius: var(--ac-r); background: var(--ac-ambre-clair); }
.ms-avis-lien p { margin: 0 !important; font-size: 14.5px; font-weight: 700; color: var(--ac-encre); }
.ms-avis-lien div { display: flex; gap: 8px; }
.ms-avis-lien a { width: 38px; height: 38px; border-radius: var(--ac-r-max, 7px); background: var(--ac-nuit); display: grid; place-items: center; }
.ms-avis-lien a:hover { background: var(--ac-ardoise); }
.ms-avis-lien img { max-width: 20px; max-height: 20px; }

/* anciennes colonnes laterales des autres pages (images-liens, avis) : cartes compactes */
body.ms-2026 main aside .lien_aside { margin: 0 !important; }
body.ms-2026 main aside .lien_aside a { display: block; border-radius: var(--ac-r); overflow: hidden; box-shadow: var(--ac-ombre-1); }
body.ms-2026 main aside .lien_aside img { display: block; width: 100% !important; height: auto !important; }
body.ms-2026 main aside .link_for_2min a { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: var(--ac-r); background: var(--ac-nuit) !important; color: #fff !important; font-family: var(--ac-police); font-weight: 700; }
body.ms-2026 main aside .link_for_2min a * { color: #fff !important; font-family: var(--ac-police) !important; }
body.ms-2026 main aside .link_for_2min img { width: 36px; height: auto; }

/* ---------- accueil ---------- */
.ms-accueil { padding: 32px 0 44px; background: var(--ac-fond); }
.ms-accueil-grille { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 20px; align-items: start; }
.ms-accueil-principal { display: grid; gap: 16px; min-width: 0; }
.ms-accueil .ms-carte { border-color: transparent; box-shadow: var(--ac-ombre-1); }
.ms-accueil .ms-cote { position: sticky; top: 16px; }
.ms-intro { padding: 24px 26px; }
.ms-intro-titre { font-size: clamp(24px, 2.2vw, 32px); line-height: 1.15; font-weight: 800; letter-spacing: -.02em; color: var(--ac-encre); margin-bottom: 10px !important; }
.ms-texte { font-size: 15.5px; line-height: 1.7; color: var(--ac-texte); }
.ms-texte p + p, .ms-texte ul, .ms-texte ol { margin-top: 10px !important; }
.ms-texte h2, .ms-texte h3 { margin: 18px 0 8px !important; font-size: 20px; line-height: 1.25; font-weight: 800; color: var(--ac-encre); }
.ms-texte h2:first-child, .ms-texte h3:first-child { margin-top: 0 !important; }
.ms-texte strong, .ms-texte b { color: var(--ac-encre); }
.ms-texte a { color: var(--ac-ardoise); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.ms-texte img { height: auto; border-radius: var(--ac-r-max, 7px); }

/* meilleurs taux */
.ms-taux { width: min(var(--ac-large), calc(100% - 64px)); margin: 24px auto; }
.ms-accueil .ms-taux { width: auto; margin: 0; }
.ms-taux-grille { display: grid; grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); gap: 10px; }
.ms-taux-case { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border-radius: var(--ac-r-max, 7px); background: var(--ac-fond); }
.ms-taux-duree { font-size: 13px; color: var(--ac-gris); }
.ms-taux-duree b { font-weight: 700; color: var(--ac-encre); }
.ms-taux-valeur { font-size: 26px; font-weight: 800; letter-spacing: -.02em; line-height: 1.15; color: var(--ac-nuit); font-variant-numeric: tabular-nums; white-space: nowrap; }
.ms-taux-type { font-size: 12px; color: var(--ac-ambre-fonce); font-weight: 700; }

/* simulateurs */
.ms-simus { padding: 36px 0 !important; }
.ms-simus .ms-section-titre { margin-bottom: 18px !important; }
.ms-simus .ac-simu small { color: rgba(255, 255, 255, .72); }
.ms-simus .ac-simu strong { color: #fff; }
.ms-simus .ac-simu img { filter: brightness(0) invert(1); opacity: .92; }

/* reseau + video */
.ms-reseau { padding: 44px 0 !important; }
.ms-reseau-grille { display: grid; grid-template-columns: minmax(0, 1fr) 500px; gap: 40px; align-items: center; }
.ms-reseau-texte .ms-section-titre { margin-bottom: 14px !important; }
.ms-reseau-texte p { font-size: 15.5px; line-height: 1.65; }
.ms-reseau-texte p + p { margin-top: 10px !important; }
.ms-video { border-radius: var(--ac-r); overflow: hidden; background: var(--ac-nuit); box-shadow: var(--ac-ombre-2); aspect-ratio: 16 / 9; }
.ms-video video { display: block; width: 100%; height: 100%; object-fit: contain; }

/* avis */
.ms-avis { padding: 40px 0 !important; background: var(--ac-fond); }
.ms-avis .ac-entete-section { margin-bottom: 0; }
.ms-avis-grille { margin-top: 20px; }
.ms-avis .ac-avis-carte { background: #fff; box-shadow: var(--ac-ombre-1); }
.ms-avis-note { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 6px !important; font-size: 15px; color: var(--ac-texte); }
.ms-avis-note b { color: var(--ac-encre); }
.ms26 .ac-etoiles { display: inline-flex; gap: 1px; font-size: 17px; line-height: 1; color: #D5DBE2; }
.ms26 .ac-etoiles .plein { color: var(--ac-ambre); }

/* blog */
.ms-blog { padding: 40px 0 !important; }
.ms-blog-grille { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ms-article { display: flex; flex-direction: column; border-radius: var(--ac-r); overflow: hidden; background: #fff; border: 1px solid var(--ac-ligne); transition: box-shadow .2s ease, transform .2s ease; }
.ms-article:hover { box-shadow: var(--ac-ombre-2); transform: translateY(-2px); }
.ms-article figure { aspect-ratio: 16 / 9; background: var(--ac-fond); }
.ms-article figure img { display: block; width: 100%; height: 100%; object-fit: contain; }
.ms-article-texte { display: flex; flex-direction: column; gap: 8px; padding: 16px 18px 18px; flex: 1; }
.ms-article h3 { font-size: 17px; line-height: 1.3; font-weight: 700; color: var(--ac-encre); }
.ms-article h3 a:hover { color: var(--ac-ardoise); }
.ms-article p { font-size: 14.5px; }
.ms-article .ac-lien-fleche { margin-top: auto; font-size: 14px; }
.ms-blog-vide { padding: 0 0 40px; background: var(--ac-fond); }
.ms-blog-vide .ac-avis-compact { background: #fff; box-shadow: var(--ac-ombre-1); padding: 16px 22px; }

/* ---------- pied (coordonnees de l'agence) ---------- */
.ms-pied-agence { margin: 8px 0 12px !important; font-size: 17px; font-weight: 800; color: var(--ac-ambre); }
.ms-pied-coord { display: grid; gap: 8px; margin-bottom: 18px !important; font-size: 14px; line-height: 1.45; color: rgba(255, 255, 255, .78); }
.ms-pied-coord li { display: flex; gap: 10px; align-items: flex-start; }
.ms-pied-coord svg { width: 16px; height: 16px; margin-top: 2px; color: var(--ac-ambre); }
.ms-pied-coord a { color: #fff; font-weight: 600; word-break: break-word; }
.ms-pied-coord a:hover { color: var(--ac-ambre); }
.ms-pied .ac-pied-grille { grid-template-columns: 1.35fr repeat(4, 1fr); }

/* ---------- fenetres (.popup_block) ---------- */
.popup_block.ms-fenetre, .popup_block.ms-fenetre-cadre { font-family: var(--ac-police); }
.popup_block.ms-fenetre { padding: 0 !important; }
html body .popup_block.ms-fenetre > .titreFormAvis.ms-fenetre-titre {
	margin: 0 !important; padding: 26px 64px 0 28px !important; border: 0 !important; background: none; text-align: left; text-transform: none;
	font-family: var(--ac-police); font-size: 22px; font-weight: 800; line-height: 1.25; letter-spacing: -.01em; color: var(--ac-encre) !important;
}
html body #profiter_taux.popup_block > .titreFormAvis.ms-fenetre-titre::first-letter { text-transform: none; }
html body .popup_block.ms-fenetre #taux_popup { display: block; margin-top: 4px; font-size: 15px !important; font-weight: 700; color: var(--ac-ambre-fonce); }
html body .popup_block.ms-fenetre #taux_popup:empty { display: none; }
.popup_block.ms-fenetre .ms-fenetre-agence { margin: 4px 0 0; padding: 0 64px 0 28px; font-size: 14.5px; font-weight: 600; color: var(--ac-texte); }
.popup_block.ms-fenetre .acx-pop { padding-top: 16px; }
.popup_block.ms-fenetre-cadre { padding: 44px 16px 16px !important; }
html body .ms-champ-texte textarea {
	display: block; width: 100%; min-height: 104px; margin: 0; padding: 24px 14px 10px; resize: vertical;
	border: 1px solid var(--acx-bord); border-radius: var(--acx-r-champ) !important; background: #fff; box-shadow: none;
	font-family: var(--acx-police); font-size: 15px; font-weight: 500; line-height: 1.4; color: var(--acx-encre);
}
html body .ms-champ-texte textarea:focus { outline: none; border-color: var(--acx-ardoise); box-shadow: 0 0 0 3px rgba(67, 94, 121, .16); }
html body .ms-champ-texte textarea:focus + label, html body .ms-champ-texte textarea:not(:placeholder-shown) + label { top: 7px; font-size: 11.5px; font-weight: 700; letter-spacing: .02em; color: var(--acx-ardoise); }
.ms-captcha { margin: 14px 0 0; }
.ms-captcha .g-recaptcha { min-height: 0; }
#fade { background: rgba(14, 24, 36, .72) !important; opacity: 1 !important; }

/* ---------- ecrans moyens ---------- */
@media (max-width: 1280px) {
	.ms-menu a { font-size: 14px; padding: 13px 9px; }
	.ms-menu a:first-child { margin-left: -9px; }
	.ms-menu a:after { left: 9px; right: 9px; }
	.ms-logo { width: 200px; }
	.ms-pied .ac-pied-grille { grid-template-columns: repeat(2, 1fr); }
	.ms-pied .ac-pied-marque { grid-column: 1 / -1; }
}
@media (max-width: 1140px) {
	.ms-accueil-grille { grid-template-columns: 1fr; }
	.ms-accueil .ms-cote { position: static; grid-template-columns: 1fr 1fr; }
	.ms-accueil .ms-cote > .ms-adresse { grid-row: span 3; }
	.ms-onglets .ms-onglets-liste { grid-template-columns: repeat(5, 1fr); }
	.ms-onglets .ac-service { flex-direction: column; align-items: flex-start; gap: 8px; border-bottom: 0 !important; }
	.ms-onglets .ac-service:nth-child(3n) { border-right: 1px solid var(--ac-ligne); }
	.ms-onglets .ac-service:last-child { border-right: 0; }
	.ms-reseau-grille { grid-template-columns: 1fr; gap: 24px; }
	.ms-blog-grille { grid-template-columns: 1fr 1fr; }
	.ac-page-hero-texte { max-width: 60%; }
}
@media (max-width: 991px) {
	/* menu de l'agence replie derriere le bouton */
	.ms-burger { display: flex; }
	.ms-entete-actions .ac-btn { width: 44px; padding: 0; }
	.ms-entete-actions .ac-btn-libelle { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.ms-menu { position: absolute; left: 0; right: 0; top: 100%; display: none; background: #fff; border-bottom: 1px solid var(--ac-ligne); box-shadow: var(--ac-ombre-2); }
	.ms-menu.ms-ouvert { display: block; }
	.ms-menu-in { flex-direction: column; align-items: stretch; gap: 0; padding: 6px 0 14px; overflow: visible; }
	.ms-menu a, .ms-menu a:first-child { margin: 0; padding: 13px 4px; border-bottom: 1px solid var(--ac-ligne); font-size: 16px; color: var(--ac-encre); }
	.ms-menu a:hover, .ms-menu a[aria-current="page"] { color: var(--ac-ardoise); }
	.ms-menu a:after { left: 0; right: auto; top: 12px; bottom: 12px; width: 3px; height: auto; border-radius: 0 3px 3px 0; margin-left: -16px; }
	.ms-menu .ms-menu-mobile { display: flex; }
	.ms-haut { position: relative; }
}

/* ---------- mobile ---------- */
@media (max-width: 767px) {
	.ms-entete-in { min-height: 62px; gap: 10px; }
	.ms-marque { gap: 10px; flex-direction: column; align-items: flex-start; }
	.ms-logo { width: 150px; }
	.ms-agence { padding-left: 0; border-left: 0; gap: 4px; }
	.ms-agence svg { width: 15px; height: 15px; }
	.ms-agence-nom { font-size: 15px; }
	.ms-marque { gap: 2px; padding: 8px 0; }
	.ms-entete-actions { gap: 6px; }
	.ms-entete-actions .ac-btn, .ms-burger { width: 42px; min-height: 42px; height: 42px; }

	.ac-page-hero { display: flex; flex-direction: column; }
	.ac-page-hero-photo { position: relative; order: -1; width: 100%; height: auto; max-width: none; aspect-ratio: 2400 / 1018; -webkit-mask-image: none; mask-image: none; }
	.ac-page-hero:before { display: none; }
	.ac-page-hero-in { min-height: 0; padding: 20px 0 52px; gap: 16px; }
	.ac-page-hero-texte { max-width: none; }
	.ac-page-titre { font-size: 28px; }
	.ac-page-actions { width: 100%; flex-direction: column; }
	.ac-mini-cta, .ms-btn-taux { width: 100%; }
	.ms-btn-taux { justify-content: center; }

	.ms-onglets { margin-top: -32px; }
	.ms-onglets .ms-onglets-liste { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.ms-onglets .ac-service { padding: 12px 4px; align-items: center; text-align: center; border-right: 1px solid var(--ac-ligne) !important; }
	.ms-onglets .ac-service:last-child { border-right: 0 !important; }
	.ms-onglets .ac-service-ico { width: 38px; height: 38px; }
	.ms-onglets .ac-service-ico img { width: 24px; height: 24px; }
	.ms-onglets .ac-service-nom { font-size: 11.5px; line-height: 1.2; }
	.ms-onglets-textes { padding: 14px 16px; }
	.ms-onglet-texte { flex-direction: column; align-items: flex-start; gap: 10px; }
	.ms-onglet-texte p { font-size: 14.5px; }

	.ms-accueil { padding: 24px 0 32px; }
	.ms-accueil .ms-cote { grid-template-columns: 1fr; }
	.ms-accueil .ms-cote > .ms-adresse { grid-row: auto; }
	.ms-intro { padding: 20px; }
	.ms-carte { padding: 18px; }
	.ms-adresse { padding: 0; }
	.ms-taux { width: calc(100% - 32px); }
	.ms-taux-grille { grid-template-columns: repeat(2, 1fr); }
	.ms-carte-lien { margin-left: 0; }
	.ms-blog-grille { grid-template-columns: 1fr; }
	.ms-entete-section { flex-direction: column; align-items: flex-start; gap: 12px; }
	.ms-pied .ac-pied-grille { grid-template-columns: 1fr 1fr; }
	.ms-avis-lien { flex-wrap: wrap; }
	html body .popup_block.ms-fenetre > .titreFormAvis.ms-fenetre-titre { padding: 22px 60px 0 18px !important; font-size: 20px; }
	.popup_block.ms-fenetre .ms-fenetre-agence { padding: 0 60px 0 18px; }
}

/* ---------- ajustements (controle visuel 28/09) ---------- */
.ms-coupe { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
.ms26 .ac-newsletter-champs input { text-align: left; }
@media (max-width: 767px) {
	.ms-taux-case:last-child:nth-child(odd) { grid-column: 1 / -1; }
	.ms-simus .ac-simu:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
html body .popup_block.ms-fenetre > .titreFormAvis.ms-fenetre-titre { box-shadow: none !important; }
.popup_block.ms-fenetre, .popup_block.ms-fenetre :where(*) { font-family: var(--ac-police); }
html body .popup_block.ms-fenetre #taux_popup { color: var(--ac-ambre-fonce) !important; }
/* carte de l'expert etroite (colonne laterale) : coordonnees sous la photo, pleine largeur */
.ms-expert-corps { grid-template-columns: 76px minmax(0, 1fr); column-gap: 14px; row-gap: 12px; }
.ms-expert-infos { display: contents; }
.ms-expert-photo { width: 76px; min-height: 88px; }
.ms-expert-nom { align-self: center; margin-bottom: 0 !important; }
.ms-expert-coord { grid-column: 1 / -1; }
@container (min-width: 560px) {
	.ms-expert-corps { grid-template-columns: 132px minmax(0, 1fr); column-gap: 22px; }
	.ms-expert-infos { display: flex; flex-direction: column; min-width: 0; }
	.ms-expert-photo { width: 132px; min-height: 150px; }
	.ms-expert-nom { align-self: auto; margin-bottom: 12px !important; }
	.ms-expert-coord { grid-column: auto; }
}
@media (max-width: 767px) { body.ms-2026 > footer.ms-pied { padding-bottom: 84px; } }

/* Bandeau pleine largeur (photo panoramique bandeau-agence.jpg), comme le site principal */
.ac-page-hero .ac-page-hero-photo, .ms-hero .ac-page-hero-photo {
	position: absolute !important; left: 0 !important; right: 0; top: 0; bottom: 0; width: 100% !important; height: 100% !important; max-width: none !important; aspect-ratio: auto;
	object-fit: cover; object-position: 70% 12%; -webkit-mask-image: none !important; mask-image: none !important;
}
.ac-page-hero:before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(22, 40, 58, .9) 0%, rgba(22, 40, 58, .72) 30%, rgba(22, 40, 58, .25) 55%, rgba(22, 40, 58, 0) 72%); }
@media (max-width: 767px) {
	.ac-page-hero .ac-page-hero-photo, .ms-hero .ac-page-hero-photo { position: relative !important; height: auto !important; aspect-ratio: 16 / 9; object-position: 78% 30%; }
	.ac-page-hero:before { display: none; }
}
