/* ==========================================================================
   Marrakech Immobilier — Portail 7.0
   Design system entièrement réécrit. Aucune dépendance aux feuilles 6.x.
   Sommaire :
   01 Tokens & base          08 Fiche bien              15 Compatibilité : outils
   02 Boutons & éléments     09 Pages éditoriales       16 Compatibilité : contenus
   03 En-tête & méga-menu    10 Agences                 17 Compatibilité : agences (module)
   04 Pied de page           11 Quartiers               18 Espace pro & authentification
   05 Accueil                12 Outils (hub)            19 Responsive
   06 Cartes d'annonces      13 404
   07 Résultats              14 Champs de formulaire
   ========================================================================== */

/* 01 — Tokens & base ------------------------------------------------------ */
:root{
  --ink:#0f1c2e;--ink-2:#1a2a40;--ink-3:#2c3f5a;
  --accent:#c2462b;--accent-2:#a53a22;--accent-soft:#fbefe9;
  --gold:#ad8a55;--gold-soft:#f5eee2;
  --sand:#f7f3ec;--sand-2:#eee7da;
  --white:#fff;
  --text:#152030;--text-2:#465163;--muted:#6c7584;
  --line:#e6e1d8;--line-2:#d5cfc3;
  --ok:#1d7650;--ok-soft:#e7f4ed;--err:#b42318;--err-soft:#fdeceb;--wa:#1c9a55;
  --r-lg:16px;--r:12px;--r-sm:8px;--r-xs:6px;
  --sh-sm:0 1px 2px rgba(15,28,46,.06);
  --sh:0 6px 20px rgba(15,28,46,.08);
  --sh-lg:0 24px 60px rgba(15,28,46,.18);
  --font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --shell:1280px;--read:760px;--header-h:72px;--ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}
body{margin:0;background:var(--white);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.mi7-lock{overflow:hidden}
img,svg,video{max-width:100%;height:auto}
img{display:block}
a{color:inherit;text-decoration:none}
a:hover{color:var(--accent)}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
h1,h2,h3,h4,h5{margin:0 0 .5em;color:var(--ink);line-height:1.15;font-weight:600}
h1,h2{font-family:var(--font);font-weight:700;letter-spacing:-.02em}
.mi7-prose h2,.mi7-post__head h1,.mi7-article h3,.mi7-news h3{font-family:var(--serif);font-weight:600;letter-spacing:-.01em}
p{margin:0 0 1em}
ul,ol{margin:0 0 1em;padding-left:1.2em}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
[hidden]{display:none!important}
.is-hidden,.tool-lead-box--hidden,.quartier-archive-empty--hidden,.quartier-archive-featured--hidden{display:none!important}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.mi7-skip{position:absolute;left:12px;top:-60px;z-index:5000;padding:10px 14px;border-radius:var(--r-sm);background:var(--ink);color:#fff}
.mi7-skip:focus{top:12px;color:#fff}
.mi7-shell,.mi-wrap,.mi-shell,.mi-container{width:min(calc(100% - 48px),var(--shell));margin-inline:auto}
.mi7-shell--read{width:min(calc(100% - 48px),var(--read))}
.mi7-main{min-height:50vh}
.mi7-ico{width:20px;height:20px;flex:0 0 auto;display:inline-block;vertical-align:middle}
.mi7-flip{transform:rotate(180deg)}

/* 02 — Boutons & éléments communs ----------------------------------------- */
.mi7-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 20px;border:1px solid transparent;border-radius:var(--r-sm);background:var(--ink);color:#fff;font-size:15px;font-weight:600;line-height:1.1;white-space:nowrap;transition:background .2s var(--ease),border-color .2s,color .2s,box-shadow .2s,transform .2s}
.mi7-btn:hover{background:var(--ink-3);color:#fff}
.mi7-btn .mi7-ico{width:18px;height:18px}
.mi7-btn--primary{background:var(--ink)}
.mi7-btn--accent{background:var(--accent);color:#fff}
.mi7-btn--accent:hover{background:var(--accent-2);color:#fff}
.mi7-btn--outline{background:#fff;border-color:var(--line-2);color:var(--ink)}
.mi7-btn--outline:hover{background:#fff;border-color:var(--ink);color:var(--ink)}
.mi7-btn--ghost{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
.mi7-btn--ghost:hover{background:rgba(255,255,255,.12);border-color:#fff;color:#fff}
.mi7-btn--light{background:#fff;color:var(--ink)}
.mi7-btn--light:hover{background:var(--sand);color:var(--ink)}
.mi7-btn--whatsapp{background:var(--wa);color:#fff}
.mi7-btn--whatsapp:hover{background:#17854a;color:#fff}
.mi7-btn--sm{min-height:38px;padding:0 14px;font-size:14px}
.mi7-btn--block{width:100%}
.mi7-btnrow{display:flex;flex-wrap:wrap;gap:10px}
.mi7-iconbtn{display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ink);font-size:20px;line-height:1}
.mi7-iconbtn:hover{background:var(--sand)}
.mi7-iconbtn--line{border:1px solid var(--line-2);background:#fff}
.mi7-iconbtn.is-saved,[data-favorite].is-saved{color:var(--accent)}
.mi7-kicker{margin:0 0 10px;color:var(--accent);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.mi7-kicker--light{color:#f1c7b7}
.mi7-more{display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-size:15px;font-weight:600;white-space:nowrap}
.mi7-more .mi7-ico{width:18px;height:18px;transition:transform .2s var(--ease)}
.mi7-more:hover{color:var(--accent)}
.mi7-more:hover .mi7-ico{transform:translateX(3px)}
.mi7-more--light{color:#fff}
.mi7-more--light:hover{color:#f1c7b7}
.mi7-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:999px;background:#fff;color:var(--ink);font-size:12px;font-weight:600;line-height:1.3;box-shadow:var(--sh-sm)}
.mi7-badge--accent{background:var(--accent);color:#fff}
.mi7-badge--ink{background:var(--ink);color:#fff}
.mi7-empty{display:grid;justify-items:center;gap:6px;padding:56px 24px;border:1px dashed var(--line-2);border-radius:var(--r-lg);background:var(--sand);text-align:center}
.mi7-empty>.mi7-ico{width:36px;height:36px;margin-bottom:6px;color:var(--gold)}
.mi7-empty h2,.mi7-empty h3{margin:0;font-size:24px}
.mi7-empty p{max-width:560px;margin:0 0 10px;color:var(--text-2)}
.mi7-empty--inline{padding:24px}
.mi7-notice{margin:0 0 14px;padding:12px 14px;border-radius:var(--r-sm);background:var(--sand);font-size:14px}
.mi7-notice--ok{background:var(--ok-soft);color:var(--ok)}
.mi7-note{margin-top:16px;color:var(--muted);font-size:14px}
.mi7-note a{color:var(--accent);text-decoration:underline}
.mi7-ticks{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:8px}
.mi7-ticks li{display:flex;align-items:center;gap:10px}
.mi7-ticks .mi7-ico{width:18px;height:18px;color:#8fd3a9}
.mi7-lead{color:var(--text);font-size:19px;line-height:1.6}

/* Fil d'Ariane */
.mi7-crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:0;padding:0;list-style:none;color:var(--muted);font-size:13px}
.mi7-crumbs li{display:inline-flex;align-items:center;gap:4px}
.mi7-crumbs li+li::before{content:"›";margin-right:2px;color:var(--line-2)}
.mi7-crumbs a:hover{color:var(--accent);text-decoration:underline}
.mi7-crumbs [aria-current]{color:var(--text-2);max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Sections */
.mi7-section{padding:80px 0}
.mi7-section--tight{padding:56px 0}
.mi7-section--sand{background:var(--sand)}
.mi7-section--line{border-top:1px solid var(--line)}
.mi7-section--ink{background:var(--ink);color:#fff}
.mi7-section--ink h2{color:#fff}
.mi7-head{margin-bottom:32px}
.mi7-head h2{margin:0;font-size:clamp(28px,3.2vw,40px)}
.mi7-head--row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}

/* 03 — En-tête & méga-menu ------------------------------------------------ */
.mi7-topbar{background:var(--ink);color:rgba(255,255,255,.72);font-size:13px}
.mi7-topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:36px}
.mi7-topbar p{margin:0}
.mi7-topbar nav{display:flex;gap:22px}
.mi7-topbar a{color:rgba(255,255,255,.78)}
.mi7-topbar a:hover{color:#fff}
.mi7-header{position:sticky;top:0;z-index:1000;background:#fff;border-bottom:1px solid var(--line);transition:box-shadow .2s}
.mi7-header.is-scrolled{box-shadow:0 6px 24px rgba(15,28,46,.08)}
.admin-bar .mi7-header{top:32px}
.mi7-header__inner{position:static;display:flex;align-items:center;gap:22px;height:var(--header-h)}
.mi7-logo{display:inline-flex;align-items:center;gap:10px;color:var(--ink);flex:0 0 auto}
.mi7-logo:hover{color:var(--ink)}
.mi7-logo__mark{width:34px;height:34px;color:var(--accent)}
.mi7-logo__text{display:flex;flex-direction:column;line-height:1}
.mi7-logo__name{font-family:var(--serif);font-size:23px;font-weight:700;letter-spacing:-.01em}
.mi7-logo__sub{margin-top:3px;color:var(--muted);font-size:10.5px;font-weight:600;letter-spacing:.32em;text-transform:uppercase}
.mi7-logo--light{color:#fff}
.mi7-logo--light:hover{color:#fff}
.mi7-logo--light .mi7-logo__sub{color:rgba(255,255,255,.6)}
.mi7-logo--small .mi7-logo__mark{width:28px;height:28px}
.mi7-logo--small .mi7-logo__name{font-size:20px}
.mi7-nav{flex:0 0 auto}
.mi7-nav__head,.mi7-nav__foot{display:none}
.mi7-nav__list{display:flex;align-items:center;gap:2px;margin:0;padding:0;list-style:none}
.mi7-nav__trigger,.mi7-nav__link{position:relative;display:inline-flex;align-items:center;gap:4px;height:var(--header-h);padding:0 11px;border:0;background:none;color:var(--ink);font-size:15px;font-weight:500;white-space:nowrap}
.mi7-nav__trigger .mi7-ico{width:16px;height:16px;color:var(--muted);transition:transform .2s var(--ease)}
.mi7-nav__trigger::after,.mi7-nav__link::after{content:"";position:absolute;left:11px;right:11px;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:var(--accent);transform:scaleX(0);transition:transform .2s var(--ease)}
.mi7-nav__item:hover>.mi7-nav__trigger::after,.mi7-nav__item.is-open>.mi7-nav__trigger::after,.mi7-nav__link:hover::after{transform:scaleX(1)}
.mi7-nav__item.is-open>.mi7-nav__trigger .mi7-ico{transform:rotate(180deg)}
.mi7-nav__link:hover{color:var(--ink)}
.mi7-mega{position:absolute;left:0;right:0;top:100%;z-index:990;visibility:hidden;opacity:0;transform:translateY(-6px);background:#fff;border-top:1px solid var(--line);box-shadow:0 30px 60px rgba(15,28,46,.14);transition:opacity .18s var(--ease),transform .18s var(--ease),visibility 0s .18s}
.mi7-nav__item.is-open>.mi7-mega{visibility:visible;opacity:1;transform:none;transition:opacity .18s var(--ease),transform .18s var(--ease)}
.mi7-mega__inner{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;padding:36px 0 40px}
.mi7-mega__cols{display:grid;gap:40px}
.mi7-mega__cols--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.mi7-mega__cols--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.mi7-mega__title{margin:0 0 12px;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.mi7-mega ul{margin:0;padding:0;list-style:none;display:grid;gap:2px}
.mi7-mega li a{display:block;padding:6px 0;color:var(--text);font-size:15px}
.mi7-mega li a:hover{color:var(--accent)}
.mi7-mega__feature{position:relative;display:block;overflow:hidden;min-height:250px;border-radius:var(--r);color:#fff}
.mi7-mega__feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.mi7-mega__feature:hover img{transform:scale(1.04)}
.mi7-mega__feature>span{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:22px;background:linear-gradient(180deg,rgba(15,28,46,0) 25%,rgba(15,28,46,.86))}
.mi7-mega__feature strong{font-family:var(--serif);font-size:21px;line-height:1.2}
.mi7-mega__feature small{color:rgba(255,255,255,.82);font-size:14px;line-height:1.45}
.mi7-mega__feature em{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-style:normal;font-weight:600;font-size:14px}
.mi7-mega__feature em .mi7-ico{width:16px;height:16px}
.mi7-mega__feature:hover{color:#fff}
.mi7-header__actions{display:flex;align-items:center;gap:6px;margin-left:auto}
.mi7-hlink{display:inline-flex;align-items:center;gap:7px;height:44px;padding:0 10px;border-radius:var(--r-sm);color:var(--ink);font-size:15px;font-weight:500;white-space:nowrap}
.mi7-hlink:hover{background:var(--sand);color:var(--ink)}
.mi7-header__publish{margin-left:6px}
.mi7-burger{display:none}
.mi7-scrim{position:fixed;inset:0;z-index:1090;background:rgba(15,28,46,.5)}
body.mi7-lock .mi7-header{z-index:1200}

/* 04 — Pied de page -------------------------------------------------------- */
.mi7-footer{background:var(--ink);color:rgba(255,255,255,.72)}
.mi7-footer a{color:rgba(255,255,255,.72)}
.mi7-footer a:hover{color:#fff}
.mi7-footer__seo{background:var(--ink-2);padding:44px 0 36px}
.mi7-footer__seo-title{margin:0 0 20px;color:#fff;font-family:var(--serif);font-size:20px;font-weight:600}
.mi7-footer__seo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.mi7-footer__seo-grid p{margin:0 0 10px;color:rgba(255,255,255,.5);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.mi7-footer__seo-grid ul{margin:0;padding:0;list-style:none;display:grid;gap:7px;font-size:14px}
.mi7-footer__main{display:grid;grid-template-columns:1.6fr repeat(4,minmax(0,1fr));gap:40px;padding:56px 0 48px}
.mi7-footer__brand p{max-width:320px;margin:18px 0 22px;font-size:15px;line-height:1.65}
.mi7-footer__col{display:flex;flex-direction:column;gap:10px;font-size:15px}
.mi7-footer__col p{margin:0 0 6px;color:#fff;font-weight:600}
.mi7-footer__bottom{border-top:1px solid rgba(255,255,255,.1);padding:18px 0;font-size:13px;color:rgba(255,255,255,.5)}
.mi7-footer__bottom .mi7-shell{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.mi7-footer__bottom nav{display:flex;gap:20px;flex-wrap:wrap}

/* 05 — Accueil (structure portail) -------------------------------------- */
.mi7-h2{margin:0 0 28px;font-family:var(--font);font-size:clamp(24px,2.4vw,30px);font-weight:700;letter-spacing:-.02em;line-height:1.2}
.mi7-head--row .mi7-h2{margin:0}
.mi7-head h2.mi7-h2{font-size:clamp(24px,2.4vw,30px)}
.mi7-muted{color:var(--muted)}
.mi7-link{color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:3px;align-self:center}
.mi7-hero{position:relative;isolation:isolate;padding:72px 0 64px;color:#fff}
.mi7-hero__media{position:absolute;inset:0;z-index:-2;background-position:center 62%;background-size:cover}
.mi7-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,19,33,.45) 0%,rgba(10,19,33,.18) 55%,rgba(10,19,33,.35) 100%)}
.mi7-hero__inner{display:flex;flex-direction:column;align-items:center;text-align:center}
.mi7-hero h1{margin:0 0 8px;color:#fff;font-family:var(--font);font-size:clamp(32px,4.2vw,50px);font-weight:700;letter-spacing:-.025em;line-height:1.1;text-shadow:0 2px 18px rgba(0,0,0,.3)}
.mi7-hero__lead{margin:0 0 28px;color:rgba(255,255,255,.95);font-size:18px;text-shadow:0 1px 10px rgba(0,0,0,.35)}
.mi7-searchbox{width:100%;max-width:980px;border-radius:var(--r-lg);background:#fff;color:var(--text);text-align:left;box-shadow:0 18px 50px rgba(10,19,33,.28)}
.mi7-searchbox__tabs{display:flex;gap:2px;padding:6px 10px 0;border-bottom:1px solid var(--line)}
.mi7-searchbox__tabs button,.mi7-searchbox__tabs a{position:relative;padding:13px 16px 14px;border:0;background:none;color:var(--text-2);font-size:16px;font-weight:600}
.mi7-searchbox__tabs .is-active{color:var(--ink)}
.mi7-searchbox__tabs .is-active::after{content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:var(--accent)}
.mi7-searchbox__tabs a:hover,.mi7-searchbox__tabs button:hover{color:var(--ink)}
.mi7-searchbox__form{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto;align-items:stretch;gap:0;padding:10px}
.mi7-field{position:relative;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:8px 16px;border-radius:var(--r-sm)}
.mi7-field+.mi7-field::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:1px;background:var(--line)}
.mi7-field:hover{background:var(--sand)}
.mi7-field__label{display:block;margin-bottom:2px;color:var(--ink);font-size:13px;font-weight:700}
.mi7-field select,.mi7-field input,.mi7-field .mip-area-combobox input{width:100%;height:30px;margin:0;padding:0;border:0!important;background:transparent!important;box-shadow:none!important;outline:0;color:var(--text);font-size:16px;-webkit-appearance:none;appearance:none}
.mi7-field select{padding-right:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 7.5 5 5 5-5' fill='none' stroke='%236c7584' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") right center/16px no-repeat!important;cursor:pointer}
.mi7-searchbox__submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:170px;min-height:58px;margin-left:8px;border:0;border-radius:var(--r);background:var(--accent);color:#fff;font-size:17px;font-weight:700}
.mi7-searchbox__submit:hover{background:var(--accent-2)}

/* Combobox quartiers (module MIP_Areas) */
.mip-area-combobox{position:relative;display:flex;align-items:center}
.mip-area-combobox input{flex:1 1 auto;min-width:0}
.mip-area-toggle{display:grid;place-items:center;width:26px;height:26px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted)}
.mip-area-toggle:hover{background:var(--sand-2)}
.mip-area-menu{position:absolute;z-index:1200;left:-16px;right:-16px;top:calc(100% + 14px);min-width:280px;max-height:360px;overflow:auto;padding:8px;border:1px solid var(--line);border-radius:var(--r);background:#fff;box-shadow:var(--sh-lg);text-align:left}
.mip-area-group{padding:4px 0}
.mip-area-group+.mip-area-group{margin-top:2px}
.mip-area-group>span{display:block;padding:8px 10px 4px;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.mip-area-group button{display:block;width:100%;padding:8px 10px;border:0;border-radius:var(--r-xs);background:none;color:var(--text);font-size:15px;text-align:left}
.mip-area-group button:hover,.mip-area-group button.is-active{background:var(--sand);color:var(--ink)}
.mip-area-empty{padding:12px 10px;color:var(--muted);font-size:14px}

/* Services */
.mi7-services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.mi7-service{display:flex;flex-direction:column;gap:6px;padding:24px;border:1px solid var(--line);border-radius:var(--r);background:#fff;transition:border-color .2s,box-shadow .2s,transform .2s var(--ease)}
.mi7-service:hover{border-color:var(--line-2);box-shadow:var(--sh);transform:translateY(-2px);color:var(--text)}
.mi7-service__icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:8px;border-radius:14px;background:var(--accent-soft);color:var(--accent)}
.mi7-service__icon .mi7-ico{width:26px;height:26px}
.mi7-service strong{color:var(--ink);font-size:18px}
.mi7-service small{color:var(--text-2);font-size:15px;line-height:1.5}
.mi7-service em{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:12px;color:var(--accent);font-style:normal;font-size:15px;font-weight:600}
.mi7-service em .mi7-ico{width:17px;height:17px}

/* Prix */
.mi7-prices{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:56px;align-items:center}
.mi7-prices__intro .mi7-h2{margin-bottom:22px}
.mi7-prices__intro p:not(.mi7-kicker){color:var(--text-2);font-size:17px}
.mi7-prices__kpis{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:26px}
.mi7-prices__kpis div{padding:18px;border-radius:var(--r);background:#fff;border:1px solid var(--line)}
.mi7-prices__kpis span{display:block;color:var(--text-2);font-size:14px;font-weight:600}
.mi7-prices__kpis strong{display:block;margin:4px 0 2px;color:var(--ink);font-size:24px;letter-spacing:-.02em}
.mi7-prices__kpis small{color:var(--muted);font-size:13px}
.mi7-prices__panel{display:flex;flex-direction:column;gap:14px}
.mi7-prices__map{display:block;overflow:hidden;border-radius:var(--r-lg)}
.mi7-pricetable{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;font-size:15px}
.mi7-pricetable th,.mi7-pricetable td{padding:15px 20px;border-bottom:1px solid var(--line);text-align:left}
.mi7-pricetable thead th{background:#fff;color:var(--muted);font-size:13px;font-weight:600}
.mi7-pricetable tbody tr:last-child>*{border-bottom:0}
.mi7-pricetable tbody th{color:var(--ink);font-weight:600}
.mi7-pricetable tbody th a:hover{color:var(--accent);text-decoration:underline}
.mi7-pricetable td{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}
.mi7-pricetable td small{color:var(--muted);font-weight:500;font-size:12px}

/* Actualités */
.mi7-news{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:40px}
.mi7-news__media{display:block;overflow:hidden;aspect-ratio:16/9;margin-bottom:16px;border-radius:var(--r)}
.mi7-news__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.mi7-news__lead:hover img{transform:scale(1.03)}
.mi7-news__cat{margin:0 0 6px;color:var(--accent);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.mi7-news__lead h3{margin:0 0 8px;font-family:var(--serif);font-size:28px;line-height:1.2}
.mi7-news__lead p:not(.mi7-news__cat){color:var(--text-2)}
.mi7-news__list{display:flex;flex-direction:column}
.mi7-news__item{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
.mi7-news__item:first-child{padding-top:0}
.mi7-news__thumb{display:block;overflow:hidden;aspect-ratio:4/3;border-radius:var(--r-sm)}
.mi7-news__thumb img{width:100%;height:100%;object-fit:cover}
.mi7-news__item h3{margin:0;font-family:var(--serif);font-size:19px;line-height:1.3}
.mi7-news h3 a:hover{color:var(--accent)}

/* Quartiers (tuiles photo) */
.mi7-places{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.mi7-place{position:relative;display:block;overflow:hidden;aspect-ratio:4/3;border-radius:var(--r);background:var(--ink);color:#fff}
.mi7-place img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.mi7-place:hover img{transform:scale(1.05)}
.mi7-place__label{position:absolute;inset:auto 0 0 0;display:flex;flex-direction:column;gap:2px;padding:40px 20px 18px;background:linear-gradient(180deg,rgba(10,19,33,0),rgba(10,19,33,.8))}
.mi7-place__label strong{font-size:21px;font-weight:700}
.mi7-place__label small{color:rgba(255,255,255,.88);font-size:14px}
.mi7-place:hover{color:#fff}

/* Guides */
.mi7-guides{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.mi7-guide{padding:24px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.mi7-guide__title{display:flex;align-items:center;gap:12px;margin:0 0 12px;color:var(--ink);font-size:20px;font-weight:700}
.mi7-guide__title span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--sand);color:var(--accent)}
.mi7-guide ul{margin:0;padding:0;list-style:none}
.mi7-guide li a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-top:1px solid var(--line);color:var(--text);font-size:15.5px}
.mi7-guide li a .mi7-ico{width:17px;height:17px;color:var(--muted)}
.mi7-guide li a:hover{color:var(--accent)}

/* Propriétaires */
.mi7-owner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:56px;align-items:center}
.mi7-owner__img{overflow:hidden;aspect-ratio:16/11;border-radius:var(--r-lg)}
.mi7-owner__img img{width:100%;height:100%;object-fit:cover}
.mi7-owner__copy .mi7-h2{margin-bottom:12px}
.mi7-owner__copy p:not(.mi7-kicker){color:var(--text-2);font-size:17px}
.mi7-owner .mi7-btnrow{align-items:center;gap:12px 16px}

/* Composants hérités (pages secondaires) */
.mi7-banner{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:40px 44px;border-radius:var(--r-lg);background:var(--ink);color:rgba(255,255,255,.8)}
.mi7-banner h2{margin:0 0 6px;color:#fff;font-size:clamp(24px,2.6vw,32px)}
.mi7-banner p{margin:0}
.mi7-articles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.mi7-article{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--r);background:#fff;transition:box-shadow .2s,transform .2s var(--ease)}
.mi7-article:hover{box-shadow:var(--sh);transform:translateY(-2px)}
.mi7-article__media{display:block;overflow:hidden;aspect-ratio:16/10;background:var(--sand)}
.mi7-article__media img{width:100%;height:100%;object-fit:cover}
.mi7-article__body{display:flex;flex-direction:column;gap:6px;padding:20px 22px 22px}
.mi7-article__meta{margin:0;color:var(--accent);font-size:12.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}
.mi7-article h3{margin:0;font-family:var(--serif);font-size:21px;line-height:1.25}
.mi7-article p{margin:0;color:var(--text-2);font-size:15px}
.mi7-article .mi7-more{margin-top:8px;font-size:14px}

/* 06 — Cartes d'annonces --------------------------------------------------- */
.mi7-cards{display:grid;gap:22px}
.mi7-cards--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.mi7-cards--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.mi7-card{position:relative;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--r);background:#fff;transition:box-shadow .2s,transform .2s var(--ease)}
.mi7-card:hover{box-shadow:var(--sh);transform:translateY(-2px)}
.mi7-card__media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--sand-2)}
.mi7-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.mi7-card:hover .mi7-card__media img{transform:scale(1.04)}
.mi7-card__placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;height:100%;color:var(--muted);font-size:14px}
.mi7-card__placeholder .mi7-ico{width:30px;height:30px;color:var(--gold)}
.mi7-card__badges{position:absolute;left:12px;top:12px;display:flex;gap:6px}
.mi7-card__count{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:var(--r-xs);background:rgba(15,28,46,.72);color:#fff;font-size:12.5px;font-weight:600}
.mi7-card__count .mi7-ico{width:14px;height:14px}
.mi7-card__fav{position:absolute;right:12px;top:12px;z-index:2;display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.95);color:var(--ink);font-size:20px;line-height:1;box-shadow:var(--sh-sm);transition:transform .15s}
.mi7-card__fav:hover{transform:scale(1.08);color:var(--accent)}
.mi7-card__fav.is-saved{color:var(--accent)}
.mi7-card__body{display:flex;flex-direction:column;gap:6px;padding:16px 18px 18px}
.mi7-card__price{margin:0;color:var(--ink);font-size:21px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.mi7-card__price small{margin-left:6px;color:var(--muted);font-size:13px;font-weight:500}
.mi7-card__title{margin:0;font-family:var(--font);font-size:16px;font-weight:600;line-height:1.35}
.mi7-card__title a::after{content:"";position:absolute;inset:0;z-index:1}
.mi7-card__title a:hover{color:var(--ink)}
.mi7-card__loc{display:flex;align-items:center;gap:5px;margin:0;color:var(--muted);font-size:14px}
.mi7-card__loc .mi7-ico{width:16px;height:16px}
.mi7-facts{display:flex;flex-wrap:wrap;gap:6px 14px;margin:4px 0 0;padding:0;list-style:none;color:var(--text-2);font-size:14px}
.mi7-facts li{display:inline-flex;align-items:center;gap:5px}
.mi7-facts .mi7-ico{width:16px;height:16px;color:var(--muted)}
.mi7-card__title-full{margin:4px 0 0;color:var(--ink);font-weight:500}
.mi7-card__excerpt{display:-webkit-box;margin:0;overflow:hidden;color:var(--text-2);font-size:14.5px;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.mi7-card__foot{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}
.mi7-card__seller{display:inline-flex;align-items:center;gap:6px;min-width:0;color:var(--text-2);font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mi7-card__seller .mi7-ico{width:17px;height:17px;color:var(--muted)}
/* Variante liste */
.mi7-card--list{display:grid;grid-template-columns:minmax(0,42%) minmax(0,1fr)}
.mi7-card--list .mi7-card__media{aspect-ratio:auto;min-height:250px;height:100%}
.mi7-card--list .mi7-card__fav{left:calc(42% - 50px);right:auto}
.mi7-card--list .mi7-card__body{padding:20px 22px}
.mi7-card--list .mi7-card__price{font-size:24px}
.mi7-card--list .mi7-card__title-full{display:none}
.mi7-card--grid .mi7-card__title-full,.mi7-card--grid .mi7-card__excerpt,.mi7-card--grid .mi7-card__foot{display:none}
.mi7-card--grid .mi7-card__price small{display:none}

/* 07 — Résultats ------------------------------------------------------------- */
.mi7-results-head{padding:24px 0 20px;background:#fff}
.mi7-results-head__title{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-top:14px}
.mi7-results-head h1{margin:0;font-size:clamp(28px,3.2vw,38px)}
.mi7-results-head__title p{margin:0;color:var(--muted);white-space:nowrap}
.mi7-results-head__title strong{color:var(--ink);font-size:20px}
.mi7-filterbar{position:sticky;top:var(--header-h);z-index:900;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.97);backdrop-filter:blur(10px)}
.admin-bar .mi7-filterbar{top:calc(var(--header-h) + 32px)}
.mi7-filterbar__row{display:flex;align-items:center;gap:8px;padding:12px 0}
.mi7-ff{position:relative;display:flex;align-items:center;gap:6px;height:46px;min-width:0;padding:0 12px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:#fff}
.mi7-ff:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px rgba(15,28,46,.08)}
.mi7-ff>.mi7-ico{width:18px;height:18px;color:var(--accent)}
.mi7-ff select,.mi7-ff input{width:100%;height:100%;margin:0;padding:0;border:0!important;background:transparent!important;box-shadow:none!important;outline:0;color:var(--ink);font-size:15px;-webkit-appearance:none;appearance:none}
.mi7-ff select{padding-right:20px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 7.5 5 5 5-5' fill='none' stroke='%236c7584' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") right center/16px no-repeat!important;cursor:pointer}
.mi7-ff--seg{flex:0 0 170px}
.mi7-ff--where{flex:1 1 280px}
.mi7-ff--where .mip-area-combobox{flex:1 1 auto;height:100%}
.mi7-ff--where .mip-area-combobox input{height:100%}
.mi7-ff:not(.mi7-ff--seg):not(.mi7-ff--where):not(.mi7-ff--num){flex:0 0 170px}
.mi7-ff--num{flex:0 0 130px}
.mi7-ff--num input::-webkit-outer-spin-button,.mi7-ff--num input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.mi7-filterbar__more{display:inline-flex;align-items:center;gap:7px;height:46px;padding:0 14px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:#fff;color:var(--ink);font-size:15px;font-weight:600;white-space:nowrap}
.mi7-filterbar__more[aria-expanded=true]{border-color:var(--ink);background:var(--sand)}
.mi7-filterbar__more .mi7-ico{width:18px;height:18px}
.mi7-filterbar__more b{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--accent);color:#fff;font-size:12px}
.mi7-filterbar__submit{height:46px;flex:0 0 auto}
.mi7-filterpanel{padding:4px 0 20px}
.mi7-filterpanel__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 16px}
.mi7-filterpanel__grid label{display:flex;flex-direction:column;gap:6px;color:var(--text-2);font-size:13px;font-weight:600}
.mi7-filterpanel__title{margin:18px 0 10px;color:var(--text-2);font-size:13px;font-weight:600}
.mi7-filterpanel__foot{display:flex;align-items:center;justify-content:flex-end;gap:20px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.mi7-filterpanel__foot a{color:var(--text-2);font-weight:600;text-decoration:underline}
.mi7-chipset{display:flex;flex-wrap:wrap;gap:8px}
.mi7-chk{position:relative;display:inline-flex;cursor:pointer}
.mi7-chk input{position:absolute;opacity:0;pointer-events:none}
.mi7-chk span{display:inline-flex;align-items:center;height:38px;padding:0 14px;border:1px solid var(--line-2);border-radius:999px;background:#fff;color:var(--text);font-size:14px;transition:all .15s}
.mi7-chk:hover span{border-color:var(--ink)}
.mi7-chk input:checked+span{border-color:var(--ink);background:var(--ink);color:#fff}
.mi7-chk input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.mi7-results{padding:24px 0 80px;background:var(--sand)}
.mi7-activefilters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px}
.mi7-activefilters a{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px 0 14px;border:1px solid var(--line-2);border-radius:999px;background:#fff;color:var(--ink);font-size:14px;font-weight:500}
.mi7-activefilters a .mi7-ico{width:15px;height:15px;color:var(--muted)}
.mi7-activefilters a:hover{border-color:var(--ink)}
.mi7-activefilters .mi7-activefilters__clear{border:0;background:none;color:var(--accent);font-weight:600;text-decoration:underline}
.mi7-results__layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}
.mi7-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.mi7-toolbar p{margin:0;color:var(--text-2);font-weight:500}
.mi7-toolbar__right{display:flex;align-items:center;gap:10px}
.mi7-sort{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:14px;white-space:nowrap}
.mi7-sort select{height:40px;padding:0 34px 0 12px!important;border:1px solid var(--line-2);border-radius:var(--r-sm);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 7.5 5 5 5-5' fill='none' stroke='%236c7584' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") right 10px center/16px no-repeat;color:var(--ink);font-size:14px;font-weight:600;-webkit-appearance:none;appearance:none}
.mi7-viewswitch{display:flex;padding:3px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:#fff}
.mi7-viewswitch button{display:grid;place-items:center;width:34px;height:32px;padding:0;border:0;border-radius:6px;background:none;color:var(--muted)}
.mi7-viewswitch button.is-active{background:var(--ink);color:#fff}
.mi7-viewswitch .mi7-ico{width:18px;height:18px}
.mi7-resultlist{display:grid;gap:16px}
.mi7-resultlist.is-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.mi7-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:36px}
.mi7-pagination a,.mi7-pagination span{display:grid;place-items:center;min-width:42px;height:42px;padding:0 12px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:#fff;color:var(--ink);font-size:15px;font-weight:500}
.mi7-pagination a:hover{border-color:var(--ink)}
.mi7-pagination .current{border-color:var(--ink);background:var(--ink);color:#fff}
.mi7-pagination .dots{border:0;background:none}
.mi7-results__side{position:sticky;top:calc(var(--header-h) + 90px);display:grid;gap:14px}
.mi7-sidecard{display:block;padding:22px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.mi7-sidecard h2{margin:10px 0 6px;font-family:var(--font);font-size:18px}
.mi7-sidecard p{margin:0 0 14px;color:var(--text-2);font-size:14.5px}
.mi7-sidecard__icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--accent-soft);color:var(--accent)}
.mi7-sidecard--alert{border-color:var(--ink);box-shadow:var(--sh)}
.mi7-sidecard--link:hover{border-color:var(--line-2);box-shadow:var(--sh);color:var(--text)}
.mi7-sidecard--link .mi7-more{font-size:14.5px}

/* 08 — Fiche bien ------------------------------------------------------------ */
.mi7-listing-top{padding:14px 0;border-bottom:1px solid var(--line)}
.mi7-listing-top .mi7-shell{display:flex;align-items:center;gap:20px}
.mi7-back{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;color:var(--ink);font-size:14px;font-weight:600}
.mi7-back .mi7-ico{width:17px;height:17px}
.mi7-listing-top .mi7-crumbs{min-width:0;padding-left:20px;border-left:1px solid var(--line)}
.mi7-listing{padding:22px 0 64px}
.mi7-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:230px 230px;gap:8px;overflow:hidden;border-radius:var(--r-lg)}
.mi7-gallery__item{position:relative;overflow:hidden;padding:0;border:0;background:var(--sand-2);cursor:zoom-in}
.mi7-gallery__item:first-child{grid-row:1/3}
.mi7-gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease),filter .2s}
.mi7-gallery__item:hover img{transform:scale(1.03);filter:brightness(.94)}
.mi7-gallery--1{grid-template-columns:1fr;grid-template-rows:480px}
.mi7-gallery--2{grid-template-columns:2fr 1fr}
.mi7-gallery--2 .mi7-gallery__item:nth-child(2){grid-row:1/3}
.mi7-gallery--3{grid-template-columns:2fr 1fr}
.mi7-gallery--4{grid-template-columns:2fr 1fr 1fr}
.mi7-gallery--4 .mi7-gallery__item:nth-child(4){grid-column:2/4}
.mi7-gallery__all{position:absolute;right:14px;bottom:14px;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:var(--r-sm);background:#fff;color:var(--ink);font-size:14px;font-weight:600;box-shadow:var(--sh)}
.mi7-gallery__all .mi7-ico{width:17px;height:17px}
.mi7-gallery-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:320px;border-radius:var(--r-lg);background:var(--sand);color:var(--muted)}
.mi7-gallery-empty .mi7-ico{width:36px;height:36px;color:var(--gold)}
.mi7-listing__layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:56px;margin-top:32px;align-items:start}
.mi7-listing__tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.mi7-listing__tags .mi7-badge{box-shadow:none;border:1px solid var(--line)}
.mi7-listing__tags .mi7-badge--ink,.mi7-listing__tags .mi7-badge--accent{border-color:transparent}
.mi7-listing__head h1{margin:0 0 8px;font-size:clamp(28px,3vw,38px)}
.mi7-listing__loc{display:flex;align-items:center;gap:6px;margin:0;color:var(--text-2)}
.mi7-listing__loc .mi7-ico{width:18px;height:18px;color:var(--accent)}
.mi7-listing__pricebar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}
.mi7-listing__price{margin:0;color:var(--ink);font-size:32px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.mi7-listing__pricem2{margin:2px 0 0;color:var(--muted);font-size:15px}
.mi7-listing__actions{display:flex;gap:8px}
.mi7-keyfacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin:28px 0 0;padding:0;list-style:none;border:1px solid var(--line);border-radius:var(--r)}
.mi7-keyfacts li{display:flex;align-items:center;gap:12px;padding:18px}
.mi7-keyfacts li+li{border-left:1px solid var(--line)}
.mi7-keyfacts .mi7-ico{width:26px;height:26px;color:var(--gold)}
.mi7-keyfacts small{display:block;color:var(--muted);font-size:13px}
.mi7-keyfacts strong{display:block;color:var(--ink);font-size:18px}
.mi7-block{padding:32px 0;border-bottom:1px solid var(--line)}
.mi7-block:last-child{border-bottom:0}
.mi7-block h2{margin:0 0 16px;font-size:26px}
.mi7-block__links{margin:14px 0 0;color:var(--muted);font-size:14.5px}
.mi7-block__links a{color:var(--accent);font-weight:500}
.mi7-block__links a:hover{text-decoration:underline}
.mi7-prose{color:var(--text-2);font-size:17px;line-height:1.75}
.mi7-prose>*:last-child{margin-bottom:0}
.mi7-prose h2{margin:1.6em 0 .5em;font-size:28px}
.mi7-prose h3{margin:1.4em 0 .4em;font-family:var(--font);font-size:21px}
.mi7-prose a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.mi7-prose strong{color:var(--text)}
.mi7-prose ul,.mi7-prose ol{padding-left:1.3em}
.mi7-prose li{margin-bottom:.4em}
.mi7-prose img{height:auto;border-radius:var(--r)}
.mi7-prose blockquote{margin:1.6em 0;padding:4px 0 4px 22px;border-left:3px solid var(--accent);color:var(--text);font-family:var(--serif);font-size:21px;line-height:1.5}
.mi7-prose table{width:100%;margin:1.4em 0;border-collapse:collapse;font-size:15px}
.mi7-prose th,.mi7-prose td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}
.mi7-prose th{background:var(--sand);color:var(--ink)}
.mi7-featurelist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 20px;margin:0;padding:0;list-style:none}
.mi7-featurelist li{display:flex;align-items:center;gap:10px;color:var(--text)}
.mi7-featurelist .mi7-ico{width:20px;height:20px;padding:3px;border-radius:50%;background:var(--ok-soft);color:var(--ok)}
.mi7-dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;margin:0}
.mi7-dl div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.mi7-dl dt{color:var(--muted)}
.mi7-dl dd{margin:0;color:var(--ink);font-weight:600;text-align:right}
.mi7-dl--compact{grid-template-columns:1fr;margin:16px 0}
.mi7-dl--compact div{padding:10px 0;font-size:14.5px}
.mi7-dl--compact dd a{color:var(--accent)}
.mi7-locbox{display:flex;align-items:center;gap:16px;padding:18px;border-radius:var(--r);background:var(--sand)}
.mi7-locbox__icon{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:50%;background:#fff;color:var(--accent)}
.mi7-locbox>div{flex:1 1 auto;min-width:0}
.mi7-locbox strong{color:var(--ink)}
.mi7-locbox p{margin:0;color:var(--text-2);font-size:15px}
.mi7-block--finance{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px;padding:26px;border:0;border-radius:var(--r);background:var(--ink);color:rgba(255,255,255,.8)}
.mi7-block--finance>div:first-child{flex:1 1 auto}
.mi7-block--finance .mi7-btnrow{flex:0 0 auto}
.mi7-block--finance h2{margin:0 0 6px;color:#fff;font-size:22px}
.mi7-block--finance p{margin:0;max-width:440px}
.mi7-block--finance .mi7-btn--primary{background:var(--accent)}
.mi7-block--finance .mi7-btn--primary:hover{background:var(--accent-2)}
.mi7-block--finance .mi7-btn--outline{background:transparent;border-color:rgba(255,255,255,.5);color:#fff}
.mi7-listing__side{position:sticky;top:calc(var(--header-h) + 20px)}
.mi7-contact{padding:24px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;box-shadow:var(--sh)}
.mi7-contact__who{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.mi7-contact__who strong{display:block;color:var(--ink)}
.mi7-contact__who small{color:var(--muted);font-size:13.5px}
.mi7-avatar{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:50%;background:var(--ink);color:#fff;font-family:var(--serif);font-size:20px;font-weight:700}
.mi7-contact__price{margin:14px 0 0;color:var(--ink);font-size:22px;font-weight:700}
.mi7-contact__title{margin:0 0 14px;color:var(--ink);font-size:18px;font-weight:600}
.mi7-contact__quick{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}
.mi7-contact__quick--stack{grid-template-columns:1fr}
.mi7-contact__quick .mi7-btn{padding:0 10px}
.mi7-form{display:grid;gap:12px}
.mi7-form label{display:grid;align-content:start;gap:5px}
.mi7-form label>span{color:var(--text-2);font-size:13.5px;font-weight:600}
.mi7-form__legal{margin:0;color:var(--muted);font-size:12.5px;text-align:center}
.mi7-stickycta{display:none}
.mip-lightbox{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:32px;background:rgba(10,16,26,.94)}
.mip-lightbox img{max-width:94vw;max-height:88vh;border-radius:var(--r-sm);box-shadow:var(--sh-lg)}
.mip-lightbox-close{position:absolute;right:20px;top:18px;display:grid;place-items:center;width:46px;height:46px;padding:0;border:0;border-radius:50%;background:#fff;color:var(--ink);font-size:26px;line-height:1}

/* 09 — Pages éditoriales ------------------------------------------------------ */
.mi7-pagehero{position:relative;isolation:isolate;padding:44px 0 56px;background:var(--ink) var(--mi7-hero,none) center/cover no-repeat;color:#fff}
.mi7-pagehero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(95deg,rgba(15,28,46,.94) 0%,rgba(15,28,46,.78) 45%,rgba(15,28,46,.35) 100%)}
.mi7-pagehero--tall{padding:64px 0 80px}
.mi7-pagehero .mi7-crumbs{margin-bottom:28px}
.mi7-pagehero .mi7-crumbs ol,.mi7-pagehero .mi7-crumbs [aria-current]{color:rgba(255,255,255,.7)}
.mi7-pagehero .mi7-crumbs li+li::before{color:rgba(255,255,255,.4)}
.mi7-pagehero .mi7-crumbs a:hover{color:#fff}
.mi7-pagehero h1{max-width:820px;margin:0 0 14px;color:#fff;font-size:clamp(34px,4.4vw,54px);line-height:1.08}
.mi7-pagehero__intro{max-width:680px;margin:0 0 4px;color:rgba(255,255,255,.86);font-size:18px}
.mi7-pagehero .mi7-btnrow{margin-top:26px}
.mi7-post__head{padding:36px 0 32px;background:var(--sand)}
.mi7-post__head .mi7-crumbs{margin-bottom:26px}
.mi7-post__head h1{margin:0 0 16px;font-size:clamp(34px,4.4vw,52px);line-height:1.08}
.mi7-post__lead{margin:0 0 14px;color:var(--text-2);font-size:20px;line-height:1.55}
.mi7-post__meta{margin:0;color:var(--muted);font-size:14px}
.mi7-post__cover{margin:0 auto;padding-top:0;max-width:1080px;transform:translateY(-1px)}
.mi7-post__cover img{width:100%;max-height:560px;object-fit:cover;border-radius:0 0 var(--r-lg) var(--r-lg)}
.mi7-prose--article{margin:44px 0}
.mi7-prose--article>p:first-child{color:var(--text);font-size:19px}
.mi7-postcta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 72px;padding:24px 26px;border-radius:var(--r);background:var(--ink);color:rgba(255,255,255,.8)}
.mi7-postcta strong{display:block;margin-bottom:2px;color:#fff;font-size:18px}
.mi7-postcta p{margin:0;font-size:15px}
.mi7-app{min-height:60vh}

/* 10 — Agences ----------------------------------------------------------------- */
.mi7-directory{padding:40px 0 72px}
.mi7-directory__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.mi7-directory__count{margin:0;color:var(--muted);font-weight:500}
.mi7-searchinput{display:flex;align-items:center;gap:10px;flex:0 1 480px;height:50px;padding:0 16px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:#fff}
.mi7-searchinput:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px rgba(15,28,46,.08)}
.mi7-searchinput .mi7-ico{color:var(--muted)}
.mi7-searchinput input{flex:1 1 auto;min-width:0;height:100%;border:0!important;background:none!important;box-shadow:none!important;outline:0;padding:0!important;font-size:16px}
.mi7-alpha{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:36px;padding:10px;border-radius:var(--r);background:var(--sand)}
.mi7-alpha a,.mi7-alpha span{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--r-xs);font-size:14px;font-weight:600}
.mi7-alpha a{background:#fff;color:var(--ink);box-shadow:var(--sh-sm)}
.mi7-alpha a:hover{background:var(--ink);color:#fff}
.mi7-alpha span{color:var(--line-2)}
.mi7-letter{margin-bottom:40px;scroll-margin-top:calc(var(--header-h) + 20px)}
.mi7-letter__title{display:flex;align-items:baseline;gap:12px;margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.mi7-letter__title span{font-size:34px}
.mi7-letter__title small{color:var(--muted);font-family:var(--font);font-size:14px;font-weight:500}
.mi7-agencies{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.mi7-agency{display:flex;gap:16px;padding:20px;border:1px solid var(--line);border-radius:var(--r);background:#fff;transition:box-shadow .2s,border-color .2s}
.mi7-agency:hover{border-color:var(--line-2);box-shadow:var(--sh)}
.mi7-agency__logo{display:grid;place-items:center;width:76px;height:76px;flex:0 0 76px;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff}
.mi7-agency__logo img{width:100%;height:100%;padding:8px;object-fit:contain}
.mi7-agency__logo span{color:var(--ink);font-family:var(--serif);font-size:22px;font-weight:700}
.mi7-agency__body{display:flex;flex-direction:column;min-width:0;flex:1}
.mi7-agency h3{margin:0 0 4px;font-size:17px}
.mi7-agency__zone{display:flex;align-items:center;gap:4px;margin:0 0 6px;color:var(--muted);font-size:13.5px}
.mi7-agency__zone .mi7-ico{width:15px;height:15px}
.mi7-agency__text{display:-webkit-box;margin:0 0 12px;overflow:hidden;color:var(--text-2);font-size:14.5px;line-height:1.5;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.mi7-agency__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;font-size:14px}
.mi7-agency__foot .mi7-more{font-size:14px}
.mi7-agency__tel{display:inline-flex;align-items:center;gap:5px;color:var(--text-2)}
.mi7-agency__tel .mi7-ico{width:15px;height:15px}
.mi7-agencyhero{padding:24px 0 40px;background:var(--sand);border-bottom:1px solid var(--line)}
.mi7-agencyhero__inner{display:flex;align-items:center;gap:28px;margin-top:26px}
.mi7-agencyhero__logo{display:grid;place-items:center;width:128px;height:128px;flex:0 0 128px;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;box-shadow:var(--sh)}
.mi7-agencyhero__logo img{width:100%;height:100%;padding:14px;object-fit:contain}
.mi7-agencyhero__logo span{font-family:var(--serif);font-size:36px;font-weight:700;color:var(--ink)}
.mi7-agencyhero h1{margin:0 0 10px;font-size:clamp(30px,3.6vw,44px)}
.mi7-agencyhero__meta{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0;padding:0;list-style:none;color:var(--text-2);font-size:15px}
.mi7-agencyhero__meta li{display:inline-flex;align-items:center;gap:6px}
.mi7-agencyhero__meta .mi7-ico{width:17px;height:17px;color:var(--accent)}
.mi7-agencybody{padding:40px 0 80px}
.mi7-agencybody__layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:56px;align-items:start}
.mi7-agencybody aside{position:sticky;top:calc(var(--header-h) + 20px)}
.mi7-taglist{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.mi7-taglist li{padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:var(--sand);color:var(--text);font-size:14.5px}

/* 11 — Quartiers --------------------------------------------------------------- */
.mi7-quartiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.mi7-quartier{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--r);background:#fff;transition:box-shadow .2s,transform .2s var(--ease)}
.mi7-quartier:hover{box-shadow:var(--sh);transform:translateY(-2px)}
.mi7-quartier__media{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:var(--sand-2)}
.mi7-quartier__media img{width:100%;height:100%;object-fit:cover}
.mi7-quartier__media .mi7-badge{position:absolute;left:12px;top:12px}
.mi7-quartier__body{display:flex;flex-direction:column;flex:1;padding:20px 22px 22px}
.mi7-quartier h2{margin:0 0 2px;font-size:24px}
.mi7-quartier__style{margin:0 0 8px;color:var(--accent);font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.mi7-quartier__body>p:not(.mi7-quartier__style){color:var(--text-2);font-size:15px}
.mi7-quartier__prices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 16px}
.mi7-quartier__prices div{padding:10px 12px;border-radius:var(--r-sm);background:var(--sand)}
.mi7-quartier__prices dt{color:var(--muted);font-size:12.5px}
.mi7-quartier__prices dd{margin:0;color:var(--ink);font-weight:700}
.mi7-quartier__prices small{color:var(--muted);font-weight:500;font-size:12px}
.mi7-quartier__links{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;font-size:14.5px}
.mi7-quartier__links a:last-child{color:var(--text-2);text-decoration:underline}
.mi7-pricegrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.mi7-pricecard{padding:22px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.mi7-pricecard p{margin:0 0 6px;color:var(--muted);font-size:14px;font-weight:600}
.mi7-pricecard strong{display:block;color:var(--ink);font-size:28px;font-weight:700;letter-spacing:-.01em}
.mi7-pricecard strong small{color:var(--muted);font-size:14px;font-weight:500}
.mi7-pricecard span{color:var(--text-2);font-size:14px}

/* 12 — Outils (hub) ------------------------------------------------------------ */
.mi7-toolcards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.mi7-toolcard{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--r);background:#fff;transition:box-shadow .2s,transform .2s var(--ease)}
.mi7-toolcard:hover{box-shadow:var(--sh);transform:translateY(-2px);color:var(--text)}
.mi7-toolcard__media{position:relative;display:block;aspect-ratio:16/10;overflow:hidden}
.mi7-toolcard__media img{width:100%;height:100%;object-fit:cover}
.mi7-toolcard__media .mi7-badge{position:absolute;left:12px;top:12px}
.mi7-toolcard__body{position:relative;display:flex;flex-direction:column;flex:1;gap:6px;padding:30px 20px 20px}
.mi7-toolcard__icon{position:absolute;left:20px;top:-24px;display:grid;place-items:center;width:48px;height:48px;border-radius:var(--r);background:var(--ink);color:#fff;box-shadow:var(--sh)}
.mi7-toolcard strong{color:var(--ink);font-size:18px}
.mi7-toolcard small{color:var(--text-2);font-size:14.5px;line-height:1.5}
.mi7-toolcard em{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:10px;color:var(--accent);font-style:normal;font-weight:600;font-size:14.5px}
.mi7-toolcard em .mi7-ico{width:16px;height:16px}

/* 13 — 404 --------------------------------------------------------------------- */
.mi7-404{padding:72px 0 96px;background:var(--sand)}
.mi7-404__inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.mi7-404 h1{font-size:clamp(34px,4vw,50px)}
.mi7-404 p{color:var(--text-2);font-size:17px}
.mi7-404 img{width:100%;border-radius:var(--r-lg);box-shadow:var(--sh-lg)}
.mi7-inline-search{display:flex;gap:8px;margin:24px 0 18px}
.mi7-inline-search .mi7-searchinput{flex:1 1 auto}

/* 14 — Champs de formulaire (base à faible spécificité) ----------------------- */
:where(.mi7-main) :where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=file]):not([type=range]),select,textarea){width:100%;min-height:48px;padding:0 14px;border:1px solid var(--line-2);border-radius:var(--r-sm);background-color:#fff;color:var(--ink);font-size:16px;line-height:1.4;outline:0;box-shadow:none;transition:border-color .15s,box-shadow .15s}
:where(.mi7-main) :where(textarea){min-height:120px;padding:12px 14px;resize:vertical}
:where(.mi7-main) :where(select){padding-right:40px;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 7.5 5 5 5-5' fill='none' stroke='%236c7584' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 14px center;background-size:16px;background-repeat:no-repeat;cursor:pointer}
:where(.mi7-main) :where(input,select,textarea):focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(15,28,46,.1)}
:where(.mi7-main) :where(input,textarea)::placeholder{color:#9aa1ac}
:where(.mi7-main) :where(input[type=checkbox],input[type=radio]){width:18px;height:18px;margin:0;accent-color:var(--ink)}
:where(.mi7-main) :where(input[type=file]){width:100%;padding:12px;border:1px dashed var(--line-2);border-radius:var(--r-sm);background:#fff}
:where(.mi7-main) :where(label){color:var(--text-2);font-size:14px;font-weight:600}

/* 15 — Compatibilité : pages outils & contenus historiques -------------------- */
/* Bandeaux (héros) historiques → bandeau photo sombre */
.hero,.atlas-hero,.tool-hero,.authority-hero,.faq-premium-hero,.quartiers-hero,.article-archive-hero,.mi-form-page-hero,.mi-editorial-hero,.apropos-hero,.contact-hero,.partenaires-hero,.mi-guide-hero,.mi-agence-premium__hero,.mi-back-hero{position:relative;isolation:isolate;padding:64px 0 72px;background:var(--ink) url(img/heroes/hero-editorial.webp) center/cover no-repeat;color:rgba(255,255,255,.86)}
.hero::before,.atlas-hero::before,.tool-hero::before,.authority-hero::before,.faq-premium-hero::before,.quartiers-hero::before,.article-archive-hero::before,.mi-form-page-hero::before,.mi-editorial-hero::before,.apropos-hero::before,.contact-hero::before,.partenaires-hero::before,.mi-guide-hero::before,.mi-agence-premium__hero::before,.mi-back-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(95deg,rgba(15,28,46,.95) 0%,rgba(15,28,46,.82) 50%,rgba(15,28,46,.45) 100%)}
.atlas-hero-invest{background-image:url(img/heroes/hero-market.webp)}
.atlas-hero-market{background-image:url(img/heroes/hero-market.webp)}
.atlas-hero-tools{background-image:url(img/tools-generated/tool-fees.webp)}
.atlas-hero-property{background-image:url(img/heroes/hero-property.webp)}
.atlas-hero-neighborhoods{background-image:url(img/heroes/hero-neighborhoods.webp)}
.atlas-hero-editorial{background-image:url(img/heroes/hero-editorial.webp)}
.budget-tool-hero{background-image:url(img/tools-generated/tool-market.webp)}
.tpi-hero{background-image:url(img/tools-generated/tool-tax.webp)}
.loyer-hero,.hero-simulator{background-image:url(img/tools-generated/tool-rentability.webp)}
:is(.hero,.atlas-hero,.tool-hero,.authority-hero,.faq-premium-hero,.quartiers-hero,.article-archive-hero,.mi-form-page-hero,.mi-editorial-hero,.apropos-hero,.contact-hero,.partenaires-hero,.mi-guide-hero,.mi-agence-premium__hero,.mi-back-hero) :is(h1){max-width:860px;margin:0 0 16px;color:#fff;font-size:clamp(34px,4.4vw,52px);line-height:1.08}
:is(.hero,.atlas-hero,.tool-hero,.authority-hero,.faq-premium-hero,.quartiers-hero,.article-archive-hero,.mi-form-page-hero,.mi-editorial-hero,.apropos-hero,.contact-hero,.partenaires-hero,.mi-guide-hero,.mi-agence-premium__hero) :is(p){max-width:720px;color:rgba(255,255,255,.84);font-size:18px}
:is(.hero,.atlas-hero,.tool-hero,.authority-hero,.faq-premium-hero,.quartiers-hero,.article-archive-hero,.mi-form-page-hero,.mi-editorial-hero,.apropos-hero,.contact-hero,.partenaires-hero,.mi-guide-hero,.mi-agence-premium__hero) :is(.hero-kicker,.section-kicker,.quartiers-kicker,.faq-premium-kicker,.article-archive-hero__kicker,.mi-eyebrow,.mi6-eyebrow,.mi-guide-kicker,.mi-overline){display:block;margin:0 0 12px;color:#f1c7b7;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
:is(.hero,.atlas-hero,.tool-hero,.authority-hero,.faq-premium-hero,.quartiers-hero,.article-archive-hero,.mi-form-page-hero,.mi-editorial-hero,.apropos-hero,.contact-hero,.partenaires-hero,.mi-guide-hero,.mi-agence-premium__hero) a:not(.btn):not(.mi-btn){color:#fff;text-decoration:underline}
.quartiers-hero__content,.hero-text-wrap{width:min(calc(100% - 48px),var(--shell));margin-inline:auto}
.hero-actions,.article-archive-hero__cta,.hero-actions-home{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px}
.article-archive-hero__cta p{margin:0;font-size:16px}
.article-archive-hero__text--seo{font-size:15px!important;color:rgba(255,255,255,.7)!important}
/* Bandeau outil clair (estimation, prix m²) */
.mi-tool-page-hero{padding:56px 0;background:var(--sand);border-bottom:1px solid var(--line)}
.mi-tool-page-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.mi-tool-page-hero-copy h1{margin:0 0 14px;font-size:clamp(34px,4.2vw,52px)}
.mi-tool-page-hero-copy p{color:var(--text-2);font-size:18px}
.mi-overline{display:block;margin-bottom:12px;color:var(--accent);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.mi-primary-link{display:inline-flex;align-items:center;min-height:48px;margin-top:8px;padding:0 22px;border-radius:var(--r-sm);background:var(--accent);color:#fff;font-weight:600}
.mi-primary-link:hover{background:var(--accent-2);color:#fff}
.mi-tool-page-hero-media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-lg);box-shadow:var(--sh-lg)}

/* Sections et en-têtes */
.section{padding:72px 0}
.section-alt,.section-seo-content:nth-of-type(even){background:var(--sand)}
.section-heading,.mi-section-head,.mi-editorial-heading,.quartiers-filters__header,.mi-guide-section__head{max-width:820px;margin-bottom:32px}
.section-heading-centered{margin-inline:auto;text-align:center}
.section-heading-split{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;max-width:none}
.section-heading h2,.mi-editorial-heading h2,.mi-section-head h2,.mi-guide-section__head h2{margin:0 0 12px;font-size:clamp(28px,3.2vw,40px)}
.section-heading p,.mi-editorial-heading p,.mi-section-head p{color:var(--text-2);font-size:17px}
.section-kicker,.hero-kicker,.quartiers-kicker,.faq-premium-kicker,.mi-eyebrow,.mi6-eyebrow,.mip-eyebrow,.portal-kicker,.mi-guide-kicker,.service-kicker,.article-card-kicker,.tpi-section-label,.dashboard-label{display:block;margin:0 0 10px;color:var(--accent);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.tpi-section-label{margin:8px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--line);color:var(--ink)}

/* Boutons historiques */
.btn,.mi-btn,.mip-btn,.button,.mi-primary-btn,.mi6-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border:1px solid transparent;border-radius:var(--r-sm);background:var(--ink);color:#fff;font-size:15px;font-weight:600;line-height:1.2;text-align:center;text-decoration:none!important;transition:background .2s,border-color .2s,color .2s}
.btn:hover,.mi-btn:hover,.mip-btn:hover,.button:hover,.mi6-button:hover{background:var(--ink-3);color:#fff}
.btn-primary,.btn-gold,.mi-btn--primary,.btn-continue-demand,.lead-next,.tool-lead-btn-open{background:var(--accent);color:#fff}
.btn-primary:hover,.btn-gold:hover,.mi-btn--primary:hover,.btn-continue-demand:hover,.lead-next:hover,.tool-lead-btn-open:hover{background:var(--accent-2);color:#fff}
.btn-primary-dark{background:var(--ink)}
.btn-secondary,.btn-secondary-dark,.btn-secondary-outline,.btn-secondary-strong,.mi-btn--secondary,.mi-btn-outline,.mip-btn-ghost,.button-secondary,.lead-prev,.btn-prefill,.tool-lead-btn-prefill{background:#fff;border-color:var(--line-2);color:var(--ink)}
.btn-secondary:hover,.btn-secondary-dark:hover,.btn-secondary-outline:hover,.btn-secondary-strong:hover,.mi-btn--secondary:hover,.mi-btn-outline:hover,.mip-btn-ghost:hover,.button-secondary:hover,.lead-prev:hover,.btn-prefill:hover,.tool-lead-btn-prefill:hover{background:#fff;border-color:var(--ink);color:var(--ink)}
.btn-secondary-glass{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.5);color:#fff}
.btn-reset-gold{min-height:40px;background:transparent;border-color:var(--line-2);color:var(--text-2);font-size:14px}
.btn-reset-gold:hover{background:var(--sand);color:var(--ink)}
.is-disabled,.btn[disabled],.mi-btn[disabled]{opacity:.5;pointer-events:none}
.tool-lead-shell.is-open .tool-lead-cta-row{opacity:.45}

/* Grilles utilitaires */
.grid-2,.mip-grid-2,.mi-form-grid-2,.mi-form-grid.mi-form-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.grid-3,.mip-grid-3,.mi-form-grid-3,.mi-form-grid.mi-form-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}

/* Coques des outils */
.budget-tool-shell,.simulator-shell,.frais-tool-shell,.loyer-tool-shell,.tpi-tool-shell,.tool-lead-shell,.budget-lead-flow-shell{max-width:1200px;margin-inline:auto}
.budget-tool-box,.simulator-box,.frais-tool-box,.loyer-tool-box,.tpi-tool-box{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:24px;align-items:start}
.simulator-topbar,.loyer-topbar{grid-column:1/-1}
.budget-tool-form,.simulator-form,.frais-tool-form,.loyer-tool-form,.tpi-tool-form,.estimation-tool-form,.prix-m2-tool-form{position:sticky;top:calc(var(--header-h) + 20px);padding:28px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;box-shadow:var(--sh)}
.budget-tool-reading,.simulator-reading,.frais-tool-reading,.loyer-tool-reading,.tpi-tool-reading{display:grid;gap:16px;padding:28px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff}
.budget-tool-grid,.simulator-grid,.frais-tool-grid,.loyer-tool-grid,.tpi-tool-grid,.prix-m2-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.form-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.form-field label{color:var(--ink);font-size:14px;font-weight:600}
.form-field small,.currency-rate-inline{color:var(--muted);font-size:12.5px;line-height:1.45}
.tool-form-divider{height:1px;margin:20px 0 0;background:var(--line)}
.simulator-tabs,.loyer-tabs{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:var(--sand-2)}
.simulator-tab,.loyer-tab{height:40px;padding:0 20px;border:0;border-radius:999px;background:transparent;color:var(--text-2);font-size:15px;font-weight:600}
.simulator-tab.is-active,.loyer-tab.is-active{background:var(--ink);color:#fff;box-shadow:var(--sh-sm)}
.simulator-reading-head h3,.budget-reading-intro h3,.frais-reading-intro h3,.loyer-reading-intro h3,.tpi-reading-intro h3{margin:0 0 4px;font-family:var(--serif);font-size:24px}
.simulator-reading-head p,.budget-reading-intro p,.frais-reading-intro p,.loyer-reading-intro p,.tpi-reading-intro p{margin:0;color:var(--text-2)}
.budget-summary-grid,.frais-summary-grid,.tpi-results-grid,.simulator-results-grid,.budget-bottom-grid,.loyer-context-grid,.loyer-targets-grid,.frais-detail-grid,.budget-zones-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.result-card,.coherence-score-card{display:flex;flex-direction:column;gap:4px;padding:18px;border:1px solid var(--line);border-radius:var(--r);background:var(--sand)}
.result-card:first-child{background:var(--ink);border-color:var(--ink)}
.result-card:first-child .result-label,.result-card:first-child .result-detail{color:rgba(255,255,255,.7)}
.result-card:first-child .result-value{color:#fff}
.result-label{color:var(--muted);font-size:12.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}
.result-value,.result-value-md{color:var(--ink);font-size:26px;font-weight:700;line-height:1.2;letter-spacing:-.01em;font-variant-numeric:tabular-nums;word-break:break-word}
.result-value-md{font-size:20px}
.result-value-text{color:var(--ink);font-size:17px;font-weight:600;line-height:1.35}
.result-detail{color:var(--text-2);font-size:13.5px}
.insight-card{padding:18px 20px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.insight-card h4{margin:0 0 8px;font-size:16px}
.insight-card p,.insight-card li{color:var(--text-2);font-size:15px}
.insight-main{border-left:3px solid var(--accent)}
.advice-list{margin:0;padding-left:1.1em}
.advice-list li{margin-bottom:4px}
.budget-summary-text,.simulator-summary-text{padding:16px 18px;border-radius:var(--r);background:var(--gold-soft);color:var(--text);font-size:15px}
.budget-summary-text p,.simulator-summary-text p{margin:0}
.tool-reset-footer,.budget-cta-row,.tool-lead-cta-row,.section-cta-row,.lead-actions-row,.quartiers-cta__actions,.faq-premium-cta__actions,.apropos-cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.coherence-score-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.coherence-score-badge{padding:4px 10px;border-radius:999px;background:var(--ink);color:#fff;font-size:13px;font-weight:600}
.coherence-score-signals{display:grid;gap:6px;margin:8px 0 0;padding:0;list-style:none}
.coherence-score-signal{font-size:14px;color:var(--text-2)}
/* Frais d'acquisition */
.frais-detail-card{padding:16px 18px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.frais-detail-head{display:flex;align-items:center;gap:10px;margin-bottom:8px;color:var(--ink);font-weight:600}
.frais-detail-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:15px}
.frais-detail-amounts{display:grid;gap:4px}
.frais-amount-line{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--text-2)}
.frais-amount-line strong,.frais-amount-ttc{color:var(--ink);font-variant-numeric:tabular-nums}
.frais-detail-basis,.frais-detail-note,.frais-legal-note{margin-top:8px;color:var(--muted);font-size:13px}
.frais-card-total{background:var(--ink)!important;color:#fff}
.frais-card-total *{color:inherit}
/* TPI */
.tpi-breakdown-lines{display:grid;gap:2px;margin:0;padding:0;list-style:none}
.tpi-breakdown-line{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--text-2)}
.tpi-breakdown-line strong{color:var(--ink);font-variant-numeric:tabular-nums}
.tpi-breakdown-subtotal,.tpi-breakdown-total,.tpi-breakdown-tpi{font-weight:600;color:var(--ink)}
.tpi-breakdown-tpi{color:var(--accent)}
.tpi-exoneration-banner{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--r);background:var(--ok-soft);color:var(--ok)}
.tpi-rp-check{display:flex;align-items:center;gap:10px}
.tpi-coeff-link{color:var(--accent);text-decoration:underline}
/* Loyer */
.loyer-target-card{padding:18px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.loyer-target-badge{display:inline-flex;padding:3px 10px;border-radius:999px;background:var(--sand-2);color:var(--ink);font-size:12.5px;font-weight:600}
.loyer-target-good .loyer-target-badge,.loyer-badge-good{background:var(--ok-soft);color:var(--ok)}
.loyer-target-strong .loyer-target-badge,.loyer-badge-strong{background:var(--ink);color:#fff}
.loyer-target-range{margin:10px 0 4px;color:var(--ink);font-size:22px;font-weight:700}
.loyer-target-income,.loyer-income-line,.loyer-income-annual{color:var(--text-2);font-size:14px}
.loyer-target-note{margin-top:6px;color:var(--muted);font-size:13px}
.loyer-pdf-box{margin-top:8px;padding:22px;border-radius:var(--r);background:var(--sand)}
.loyer-pdf-form{display:flex;flex-wrap:wrap;gap:10px}
.loyer-pdf-form input{flex:1 1 240px}
/* Tableaux */
.prix-m2-table-wrap,.quartiers-table-wrap,.authority-table-wrap,.prix-m2-table-card{overflow:auto;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.prix-m2-table,.quartiers-table,.authority-table,.form-table{width:100%;border-collapse:collapse;font-size:15px}
.prix-m2-table th,.quartiers-table th,.authority-table th{padding:14px 16px;background:var(--ink);color:#fff;font-size:13px;font-weight:600;letter-spacing:.03em;text-align:left;white-space:nowrap}
.prix-m2-table td,.quartiers-table td,.authority-table td{padding:13px 16px;border-bottom:1px solid var(--line);color:var(--text-2);vertical-align:top}
.prix-m2-table tr:nth-child(even) td,.quartiers-table tr:nth-child(even) td,.authority-table tr:nth-child(even) td{background:#fbf9f5}
.prix-m2-table td:first-child,.quartiers-table td:first-child,.authority-table td:first-child{color:var(--ink);font-weight:600}
/* Contenus SEO sous les outils */
.seo-content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.seo-content-block{padding:28px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.seo-content-block h2{margin:0 0 12px;font-size:24px}
.seo-content-block h3{font-family:var(--font);font-size:18px}
.seo-content-block p,.seo-content-block li{color:var(--text-2);font-size:16px;line-height:1.7}
.seo-content-block a{color:var(--accent);text-decoration:underline}
/* Formulaires de contact des outils */
.section-tool-lead,.section-lead-form,.section-budget-lead-flow{background:var(--ink);color:rgba(255,255,255,.82)}
.section-tool-lead h2,.section-lead-form h2,.section-budget-lead-flow h2{color:#fff}
.section-tool-lead .section-kicker,.section-lead-form .section-kicker,.section-budget-lead-flow .section-kicker{color:#f1c7b7}
.tool-lead-shell,.budget-lead-flow-shell{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:48px;align-items:start}
.tool-lead-intro p,.budget-lead-flow-intro p,.lead-intro-box p{color:rgba(255,255,255,.78);font-size:17px}
.lead-box,.tool-lead-box,.lead-intro-box{padding:30px;border-radius:var(--r-lg);background:#fff;color:var(--text);box-shadow:var(--sh-lg)}
.lead-box h2,.tool-lead-box h2{margin:0 0 6px;color:var(--ink);font-size:26px}
.lead-box>p{color:var(--text-2)}
.lead-intro-box{background:var(--ink) radial-gradient(120% 120% at 100% 0%,rgba(194,70,43,.3),transparent 55%);color:rgba(255,255,255,.8);border:0}
.lead-intro-box h2,.lead-intro-box h3{color:#fff}
.lead-intro-box .section-kicker{color:#f1c7b7}
.lead-intro-box p{max-width:760px}
.section-tool-lead .lead-intro-box,.section-lead-form .lead-intro-box{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.tool-lead-box.is-revealing{animation:mi7Reveal .45s var(--ease)}
@keyframes mi7Reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.lead-form,.contact-form,.sim-email-form{display:grid;gap:14px}
.lead-step{display:none}
.lead-step.is-active{display:grid;gap:14px}
.lead-step-label{color:var(--muted);font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}
.lead-step-actions{display:flex;flex-wrap:wrap;gap:10px}
.lead-step-actions-between,.lead-step-actions-dual{justify-content:space-between}
.lead-summary{display:grid;gap:6px;padding:14px 16px;border-radius:var(--r);background:var(--sand);font-size:14.5px}
.lead-error{margin:0 0 12px;padding:12px 14px;border-radius:var(--r-sm);background:var(--err-soft);color:var(--err);font-size:14.5px}
.lead-success,.contact-success,.mi-success,.notice-success,.mip-ok{margin:0 0 12px;padding:12px 14px;border-radius:var(--r-sm);background:var(--ok-soft);color:var(--ok);font-size:14.5px}
.lead-banner-box{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:36px;border-radius:var(--r-lg);background:var(--ink);color:rgba(255,255,255,.82)}
.lead-banner-box h2{color:#fff}

/* 16 — Compatibilité : contenus éditoriaux & pages d'autorité ---------------- */
.authority-section{padding:64px 0}
.authority-section-alt{background:var(--sand)}
.authority-hero-inner{max-width:var(--shell)}
.authority-prose{max-width:var(--read)}
.authority-prose h2{margin:1.6em 0 .5em;font-size:30px}
.authority-prose h2:first-of-type{margin-top:0}
.authority-prose p,.authority-prose li{color:var(--text-2);font-size:17px;line-height:1.75}
.authority-prose a{color:var(--accent);text-decoration:underline}
.authority-grid{display:grid;gap:18px}
.authority-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.authority-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.authority-card,.authority-hub-card,.quartiers-card,.profile-card,.apropos-block,.apropos-feature,.partenaire-type-card,.contact-intro-block,.mi-benefit-card,.market-point-card,.service-feature-card,.district-card-premium,.guide-card-premium,.zone-card,.tool-mini-card{padding:26px;border:1px solid var(--line);border-radius:var(--r);background:#fff;color:var(--text)}
.authority-card>span{display:inline-grid;place-items:center;width:40px;height:40px;margin-bottom:12px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-weight:700}
.authority-card h3,.quartiers-card h2,.profile-card h3,.apropos-feature h3,.partenaire-type-card h3,.mi-benefit-card h3{margin:0 0 8px;font-family:var(--font);font-size:19px}
.authority-card p,.quartiers-card p,.profile-card p,.apropos-block p,.apropos-feature p,.partenaire-type-card p,.contact-intro-block p,.mi-benefit-card p{color:var(--text-2);font-size:15.5px}
.authority-checks{margin:0 0 1em;padding:0;list-style:none}
.authority-checks li{position:relative;padding:8px 0 8px 30px;border-bottom:1px solid var(--line)}
.authority-checks li::before{content:"";position:absolute;left:4px;top:15px;width:12px;height:7px;border-left:2px solid var(--ok);border-bottom:2px solid var(--ok);transform:rotate(-45deg)}
.authority-callout{margin:1.5em 0;padding:18px 20px;border-left:3px solid var(--accent);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--accent-soft);color:var(--text)}
.authority-cta{padding:56px 0}
.authority-cta-box,.quartiers-cta__box,.faq-premium-cta,.mi-guide-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:36px 40px;border-radius:var(--r-lg);background:var(--ink);color:rgba(255,255,255,.8)}
.authority-cta-box h2,.quartiers-cta__box h2,.faq-premium-cta h2,.mi-guide-cta h2{margin:0 0 6px;color:#fff;font-size:28px}
.authority-cta-box p,.quartiers-cta__box p,.faq-premium-cta p{margin:0}
.authority-cta-box .section-kicker,.faq-premium-cta .section-kicker{color:#f1c7b7}
.authority-hub-grid,.apropos-features-grid,.partenaires-types-grid,.quartiers-profiles__grid,.service-grid,.service-grid-3,.tools-preview-grid,.tools-mini-grid,.guides-grid-premium,.quartiers-grid-premium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.apropos-features-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.partenaires-types-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.apropos-feature-dot,.partenaire-type-icon,.contact-intro-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:12px;border-radius:50%;background:var(--accent-soft);color:var(--accent)}
.apropos-block{margin-bottom:18px}
.apropos-block h2{font-size:28px}
.partenaire-type-list{margin:10px 0 0;padding-left:1.1em;color:var(--text-2);font-size:14.5px}
.contact-shell,.partenaires-form-shell{max-width:1000px;margin-inline:auto}
.contact-intro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}
.contact-intro-block{margin:0}
.contact-form-box,.partenaires-form{padding:30px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;box-shadow:var(--sh)}
.contact-form-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}
.contact-rgpd{color:var(--muted);font-size:13px}
/* Comparateur de quartiers */
.quartiers-intro,.quartiers-filters,.quartiers-table-section,.quartiers-profiles,.quartiers-cta{padding:56px 0}
.quartiers-intro__grid,.quartiers-filters>*,.quartiers-table-section>*,.quartiers-profiles>*,.quartiers-cta>*{width:min(calc(100% - 48px),var(--shell));margin-inline:auto}
.quartiers-intro__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.quartiers-filters{background:var(--sand)}
.quartiers-filters__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.filter-group{display:flex;flex-direction:column;gap:6px}
.quartiers-reset{align-self:end}
.quartiers-empty{padding:24px;text-align:center;color:var(--muted)}
.quartier-name{color:var(--ink);font-weight:600}
.district-badge{display:inline-flex;padding:3px 10px;border-radius:999px;background:var(--sand-2);font-size:12.5px;font-weight:600}
/* FAQ */
.faq-premium-layout{padding:64px 0}
.faq-premium-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;align-items:start}
.faq-premium-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.faq-premium-hero .faq-premium-nav__link{padding:8px 14px;border:1px solid rgba(255,255,255,.35);border-radius:999px;color:#fff;text-decoration:none;font-size:14px}
.faq-premium-hero .faq-premium-nav__link:hover{background:#fff;color:var(--ink)}
.faq-premium-section{margin-bottom:44px;scroll-margin-top:calc(var(--header-h) + 20px)}
.faq-premium-section__head h2{font-size:30px}
.faq-premium-accordion{border-top:1px solid var(--line)}
.faq-premium-item{border-bottom:1px solid var(--line)}
.faq-premium-question{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:20px 0;border:0;background:none;color:var(--ink);font-size:17px;font-weight:600;text-align:left}
.faq-premium-question::after{content:"+";flex:0 0 auto;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--sand);color:var(--ink);font-size:20px;font-weight:400;transition:transform .2s}
.faq-premium-question[aria-expanded=true]::after{content:"–"}
.faq-premium-icon{display:none}
.faq-premium-answer__content{padding:0 0 20px;color:var(--text-2);font-size:16px;line-height:1.75}
.faq-premium-sidebar{position:sticky;top:calc(var(--header-h) + 20px);display:grid;gap:14px}
.faq-premium-sidecard{padding:22px;border:1px solid var(--line);border-radius:var(--r);background:var(--sand)}
.faq-premium-tool-list{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.faq-premium-tool-list a{color:var(--accent);font-weight:500}
/* Archive articles (template) */
.article-archive-grid-section,.article-archive-seo{padding:64px 0}
.article-archive-seo{background:var(--sand)}
.article-archive-seo__inner{max-width:var(--read)}
.article-archive-grid,.guide-archive-grid,.quartier-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.article-archive-card,.article-archive-featured,.guide-card,.quartier-card,.article-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.article-archive-featured{display:grid;grid-template-columns:1.2fr 1fr;margin-bottom:28px}
.article-archive-card__media,.article-archive-featured__visual{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--sand)}
.article-archive-card__media img,.article-archive-card__image,.article-archive-featured__image,.guide-card img,.quartier-card img{width:100%;height:100%;object-fit:cover}
.article-archive-card__body,.article-archive-featured__content,.guide-card__body,.quartier-card__body{padding:22px}
.article-archive-card__title,.article-archive-featured h2{font-size:21px}
.article-archive-card__excerpt,.article-archive-card__meta,.article-archive-featured__meta{color:var(--text-2);font-size:15px}
.article-archive-pagination{display:flex;justify-content:center;gap:6px;margin-top:32px}
.article-archive-pagination__item,.article-archive-pagination a,.article-archive-pagination span{display:grid;place-items:center;min-width:42px;height:42px;padding:0 12px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:#fff}
.entry-content:not(.mi7-prose){max-width:var(--read);margin:44px auto;color:var(--text-2);font-size:17px;line-height:1.75}
.mi-page-intro,.mi-page-intro-box{max-width:var(--read);margin:0 0 28px;padding:22px 24px;border-radius:var(--r);background:var(--sand);color:var(--text-2)}
.mi-standard-page,.mi-page-template,.mi-page-white{background:#fff}
.mi-form-page-body{padding:56px 0 80px;background:var(--sand)}
.mi-form-page-hero__inner{max-width:760px}
.mi-form-page-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:900px;margin-top:28px}
.mi-form-page-hero .mi-benefit-card{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18)}
.mi-form-page-hero .mi-benefit-card h3{color:#fff}
.mi-form-page-hero .mi-benefit-card p{color:rgba(255,255,255,.78);font-size:15px}
.mi-success-standalone{max-width:760px;margin:0 auto;padding:40px;border-radius:var(--r-lg);text-align:center}

/* 17 — Compatibilité : module agences (formulaire, fiche, guide) -------------- */
.mi-agence-form-v2{display:grid;gap:18px}
.mi-form-card,.mi-panel{padding:28px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff}
.mi-form-card .mi-section-head{margin-bottom:18px}
.mi-form-card .mi-section-head h3{margin:0 0 4px;font-family:var(--serif);font-size:24px}
.mi-form-card .mi-section-head p{margin:0;color:var(--muted);font-size:15px}
.mi-form-grid{display:grid;gap:14px}
.mi-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.mi-form-grid .mi-field{margin-bottom:0}
.mi-field>label{color:var(--ink);font-size:14px;font-weight:600}
.mi-help{color:var(--muted);font-size:13px}
.mi-choice-tags,.mi-chip-group{display:flex;flex-wrap:wrap;gap:8px}
.mi-tag-option{position:relative;display:inline-flex;cursor:pointer}
.mi-tag-option input{position:absolute;opacity:0;pointer-events:none}
.mi-tag-option span,.mi-chip{display:inline-flex;align-items:center;height:38px;padding:0 14px;border:1px solid var(--line-2);border-radius:999px;background:#fff;color:var(--text);font-size:14px;font-weight:500;transition:all .15s}
.mi-tag-option:hover span{border-color:var(--ink)}
.mi-tag-option input:checked+span{border-color:var(--ink);background:var(--ink);color:#fff}
.mi-social-row{display:grid;grid-template-columns:200px minmax(0,1fr);gap:12px}
.mi-add-social{margin-top:4px}
.mi-form-actions,.mi-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.mi-check-card,.mi-check-stack label{display:flex;align-items:flex-start;gap:10px;padding:14px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--sand);font-weight:500}
.mi-check-stack{display:grid;gap:10px}
.mi-agences-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.mi-agence-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.mi-agence-card__logo-wrap{display:grid;place-items:center;height:140px;padding:18px;border-bottom:1px solid var(--line)}
.mi-agence-card__logo{max-height:90px;object-fit:contain}
.mi-agence-card-body{padding:20px}
.mi-agence-premium__hero-inner{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:40px;align-items:center}
.mi-agence-premium__title{color:#fff}
.mi-logo-card{display:grid;place-items:center;aspect-ratio:1;padding:18px;border-radius:var(--r-lg);background:#fff}
.mi-logo-card__img{max-height:160px;object-fit:contain}
.mi-agence-main{padding:48px 0 72px}
.mi-panel{margin-bottom:18px}
.mi-panel__head h2{font-size:24px}
.mi-panel__content{color:var(--text-2)}
.mi-detail-block{padding:12px 0;border-bottom:1px solid var(--line)}
.mi-back-link,.mi-agence-back{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-weight:600}
.mi-social-text-links{display:flex;flex-wrap:wrap;gap:12px}
.mi-social-text-link{color:var(--accent);text-decoration:underline}
.mi-hero-block{padding:16px 18px;border-radius:var(--r);background:rgba(255,255,255,.08)}
.mi-hero-block__label{color:rgba(255,255,255,.6);font-size:12.5px;text-transform:uppercase;letter-spacing:.06em}
.mi-guide-section{padding:56px 0}
.mi-meta,.mi-excerpt{color:var(--text-2)}
.notice{padding:12px 14px;border-radius:var(--r-sm);background:var(--sand)}
.notice-error,.mip-error{background:var(--err-soft);color:var(--err)}

/* 18 — Espace pro & authentification (module CRM) ----------------------------- */
.mip-auth-wrap{display:grid;place-items:center;min-height:calc(100vh - 180px);padding:56px 24px;background:var(--sand) linear-gradient(180deg,rgba(247,243,236,.92),rgba(247,243,236,.98)),url(img/heroes/hero-editorial.webp) center/cover}
.mip-auth-card{width:min(100%,480px);padding:36px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;box-shadow:var(--sh-lg)}
.mip-auth-wide{width:min(100%,760px)}
.mip-auth-card h1{margin:0 0 8px;font-size:32px}
.mip-auth-card>p{color:var(--text-2)}
.mip-form{display:grid;gap:14px}
.mip-form label{display:grid;align-content:start;gap:6px;color:var(--ink);font-size:14px;font-weight:600}
.mip-grid-2,.mip-grid-3{align-items:start}
.mip-account-switch{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mip-account-switch label{display:block;padding:16px;border:1px solid var(--line-2);border-radius:var(--r);background:#fff;cursor:pointer}
.mip-account-switch label:has(input:checked){border-color:var(--ink);background:var(--sand);box-shadow:inset 0 0 0 1px var(--ink)}
.mip-account-switch span{display:block;margin-top:4px;color:var(--muted);font-size:13px;font-weight:500}
.mip-check{display:flex!important;align-items:center;gap:10px;grid-template-columns:none!important;font-weight:500!important}
.mip-auth-foot{margin:18px 0 0;padding-top:16px;border-top:1px solid var(--line);color:var(--text-2);font-size:14.5px}
.mip-auth-foot a{color:var(--accent);font-weight:600}
.mip-notice{margin:0 0 16px;padding:12px 14px;border-radius:var(--r-sm);background:var(--ok-soft);color:var(--ok);font-size:14.5px}
.mip-notice.mip-error{background:var(--err-soft);color:var(--err)}
.mip-dashboard{padding:32px 0 80px;background:var(--sand)}
.mip-dashboard-shell{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;width:min(calc(100% - 48px),1360px);margin-inline:auto;align-items:start}
.mip-sidebar{position:sticky;top:calc(var(--header-h) + 20px);padding:20px;border-radius:var(--r-lg);background:var(--ink);color:rgba(255,255,255,.78)}
.mip-dash-brand{display:block;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.12);color:#fff;font-family:var(--serif);font-size:20px;font-weight:700}
.mip-dash-brand:hover{color:#fff}
.mip-userbox{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.mip-userbox strong{display:block;color:#fff}
.mip-userbox span{font-size:13.5px;color:rgba(255,255,255,.6)}
.mip-sidebar nav{display:grid;gap:2px;margin-top:12px}
.mip-sidebar nav a{padding:10px 12px;border-radius:var(--r-sm);color:rgba(255,255,255,.78);font-size:15px;font-weight:500}
.mip-sidebar nav a:hover{background:rgba(255,255,255,.08);color:#fff}
.mip-sidebar nav a.active{background:#fff;color:var(--ink)}
.mip-dash-main{min-width:0}
.mip-dash-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}
.mip-dash-head h1{margin:0;font-size:34px}
.mip-dash-head p{margin:4px 0 0;color:var(--text-2)}
.mip-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.mip-stat-grid>div{display:flex;flex-direction:column;gap:2px;padding:20px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.mip-stat-grid strong{color:var(--ink);font-size:26px;font-weight:700}
.mip-stat-grid span{color:var(--muted);font-size:14px}
.mip-panel,.mip-form-section,.dashboard-stat-item{margin-bottom:16px;padding:24px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.mip-panel h2{font-size:22px}
.mip-listing-form{display:grid;gap:16px}
.mip-form-section-head{display:grid;grid-template-columns:auto 1fr;column-gap:14px;margin-bottom:18px}
.mip-form-section-head span{grid-row:span 2;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--ink);color:#fff;font-size:14px;font-weight:700}
.mip-form-section-head strong{color:var(--ink);font-size:19px}
.mip-form-section-head small{color:var(--muted);font-size:14px}
.mip-form-section .mip-grid-2,.mip-form-section .mip-grid-3{margin-bottom:14px}
.mip-feature-fieldset{margin:0;padding:0;border:0}
.mip-feature-fieldset legend{margin-bottom:10px;color:var(--ink);font-weight:600}
.mip-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.mip-check-chip{display:flex!important;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:#fff;font-weight:500!important;cursor:pointer}
.mip-check-chip:has(input:checked){border-color:var(--ink);background:var(--sand)}
.mip-upload{padding:22px;border:1.5px dashed var(--line-2);border-radius:var(--r);background:var(--sand)}
.mip-upload strong{color:var(--ink)}
.mip-upload p{color:var(--muted);font-size:14px}
.mip-photo-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:14px}
.mip-photo{position:relative;overflow:hidden;aspect-ratio:4/3;border-radius:var(--r-sm)}
.mip-photo img{width:100%;height:100%;object-fit:cover}
.mip-photo-delete{position:absolute;right:6px;top:6px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(15,28,46,.8);color:#fff;font-size:17px}
.mip-photo-delete:hover{background:var(--err);color:#fff}
.mip-form-submit-bar{position:sticky;bottom:12px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);background:rgba(255,255,255,.97);box-shadow:var(--sh-lg);backdrop-filter:blur(8px)}
.mip-form-submit-bar p{margin:0;color:var(--muted);font-size:14px}
.mip-form-actions{display:flex;gap:10px}
.mip-table-wrap{overflow:auto;padding:0}
.mip-table{width:100%;border-collapse:collapse;font-size:15px}
.mip-table th{padding:14px 16px;background:var(--sand);color:var(--muted);font-size:12.5px;font-weight:600;letter-spacing:.05em;text-align:left;text-transform:uppercase}
.mip-table td{padding:14px 16px;border-top:1px solid var(--line);vertical-align:middle}
.mip-table td a{color:var(--accent);font-weight:500}
.mip-status{display:inline-flex;padding:3px 10px;border-radius:999px;background:var(--ok-soft);color:var(--ok);font-size:13px;font-weight:600}
.mip-lead,.mip-alert-row{display:flex;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}
.mip-plan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.mip-plan-card{display:flex;flex-direction:column;gap:6px;padding:22px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.mip-plan-card strong{color:var(--ink);font-size:20px}
.mip-plan-note,.mip-xml-help,.mip-subscription-summary{padding:16px 18px;border-radius:var(--r);background:var(--sand);color:var(--text-2);font-size:14.5px}
.mip-danger{border:0;background:none;color:var(--err);font-weight:600}
.mip-delete-form{display:inline}

/* 19 — Responsive -------------------------------------------------------------- */
@media (max-width:1480px) and (min-width:1181px){
  .mi7-nav__item--opt{display:none}
}
@media (max-width:1300px) and (min-width:1181px){
  .mi7-hlink span{display:none}
  .mi7-hlink{width:44px;justify-content:center;padding:0;border-radius:50%}
}
@media (max-width:1280px){
  .mi7-nav__trigger,.mi7-nav__link{padding:0 8px;font-size:14.5px}
  .mi7-cards--4{grid-template-columns:repeat(3,minmax(0,1fr))}
  .mi7-cards--4>:nth-child(n+7){display:none}
  .mi7-toolcards{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:1180px){
  .mi7-services{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mi7-prices,.mi7-news,.mi7-owner{grid-template-columns:1fr;gap:32px}
  .mi7-places{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mi7-guides{grid-template-columns:1fr}
  .mi7-hlink--publish span{display:none}
  .mi7-hlink--publish{width:44px;justify-content:center;padding:0;border-radius:50%}
  .mi7-header__login span{display:none}
  .mi7-header__login{width:44px;padding:0;border-radius:50%}
  :root{--header-h:64px}
  .mi7-topbar{display:none}
  .mi7-burger{display:inline-grid}
  .mi7-header__publish span{display:none}
  .mi7-header__publish{width:44px;min-height:44px;padding:0;border-radius:50%}
  .mi7-hlink span{display:none}
  .mi7-hlink{width:44px;justify-content:center;padding:0;border-radius:50%}
  .mi7-nav{position:fixed;top:0;right:0;bottom:0;z-index:1100;display:flex;flex-direction:column;width:min(420px,92vw);background:#fff;box-shadow:var(--sh-lg);transform:translateX(100%);visibility:hidden;transition:transform .28s var(--ease),visibility 0s .28s}
  .mi7-nav.is-open{transform:none;visibility:visible;transition:transform .28s var(--ease)}
  .mi7-nav__head{display:flex;align-items:center;justify-content:space-between;height:var(--header-h);padding:0 12px 0 20px;border-bottom:1px solid var(--line)}
  .mi7-nav__list{flex:1 1 auto;flex-direction:column;align-items:stretch;gap:0;overflow-y:auto;padding:8px 0}
  .mi7-nav__item{border-bottom:1px solid var(--line)}
  .mi7-nav__trigger,.mi7-nav__link{justify-content:space-between;width:100%;height:56px;padding:0 20px;font-size:17px;font-weight:600}
  .mi7-nav__trigger::after,.mi7-nav__link::after{display:none}
  .mi7-mega{position:static;display:none;visibility:visible;opacity:1;transform:none;border:0;box-shadow:none;background:var(--sand);transition:none}
  .mi7-nav__item.is-open>.mi7-mega{display:block}
  .mi7-mega__inner{display:block;width:auto;padding:8px 20px 18px}
  .mi7-mega__cols,.mi7-mega__cols--2,.mi7-mega__cols--3{grid-template-columns:1fr;gap:16px}
  .mi7-mega__feature{display:none}
  .mi7-mega__title{margin:10px 0 4px}
  .mi7-mega li a{padding:7px 0;font-size:16px}
  .mi7-nav__foot{display:grid;gap:10px;padding:16px 20px 24px;border-top:1px solid var(--line)}
  .mi7-searchbox__form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mi7-field--where{grid-column:1/-1}
  .mi7-field+.mi7-field::before{display:none}
  .mi7-searchbox__submit{grid-column:1/-1;min-height:54px;margin:6px 0 0}
  .mi7-articles{grid-template-columns:1fr 1fr}
  .mi7-articles--grid,.mi7-quartiers,.mi7-agencies,.article-archive-grid,.guide-archive-grid,.quartier-archive-grid,.mi-agences-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mi7-footer__main{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mi7-footer__brand{grid-column:1/-1}
  .mi7-footer__seo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mi7-filterbar__row{flex-wrap:wrap}
  .mi7-ff--where{flex:1 1 100%;order:-1}
  .mi7-ff--seg,.mi7-ff:not(.mi7-ff--seg):not(.mi7-ff--where):not(.mi7-ff--num){flex:1 1 180px}
  .mi7-ff--num{flex:1 1 120px}
  .mi7-filterpanel__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .mi7-results__layout{grid-template-columns:1fr}
  .mi7-results__side{position:static;grid-template-columns:repeat(3,minmax(0,1fr))}
  .mi7-listing__layout,.mi7-agencybody__layout{grid-template-columns:minmax(0,1fr) 330px;gap:32px}
  .mi7-featurelist{grid-template-columns:repeat(2,minmax(0,1fr))}
  .budget-tool-box,.simulator-box,.frais-tool-box,.loyer-tool-box,.tpi-tool-box,.tool-lead-shell,.budget-lead-flow-shell,.faq-premium-grid,.contact-intro{grid-template-columns:1fr}
  .budget-tool-form,.simulator-form,.frais-tool-form,.loyer-tool-form,.tpi-tool-form,.estimation-tool-form,.prix-m2-tool-form,.faq-premium-sidebar{position:static}
  .apropos-features-grid,.partenaires-types-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .authority-hub-grid,.quartiers-profiles__grid,.service-grid,.service-grid-3,.tools-preview-grid,.tools-mini-grid,.guides-grid-premium,.quartiers-grid-premium,.authority-grid-3,.quartiers-intro__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quartiers-filters__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mip-dashboard-shell{grid-template-columns:1fr}
  .mip-sidebar{position:static}
  .mip-sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr))}
  .mip-stat-grid,.mip-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mip-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:900px){
  .mi7-listing__layout,.mi7-agencybody__layout{grid-template-columns:1fr}
  .mi7-listing__side,.mi7-agencybody aside{position:static}
  .mi7-gallery{grid-template-columns:1fr 1fr;grid-template-rows:300px 150px}
  .mi7-gallery__item:first-child{grid-column:1/-1;grid-row:auto}
  .mi7-gallery__item:nth-child(n+4){display:none}
  .mi7-gallery--1{grid-template-rows:320px}
  .mi7-gallery--2{grid-template-rows:300px}
  .mi7-gallery--2 .mi7-gallery__item:nth-child(2){display:none}
  .mi7-gallery--4 .mi7-gallery__item:nth-child(4){grid-column:auto}
  .mi7-stickycta{position:fixed;left:0;right:0;bottom:0;z-index:950;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff;box-shadow:0 -8px 24px rgba(15,28,46,.1);transition:transform .25s var(--ease)}
  .mi7-stickycta.is-hidden-by-contact{transform:translateY(110%)}
  .mi7-stickycta strong{display:block;color:var(--ink);font-size:18px}
  .mi7-stickycta small{color:var(--muted);font-size:13px}
  .single-mi_listing .mi7-footer{padding-bottom:72px}
  .mi7-card--list{grid-template-columns:minmax(0,40%) minmax(0,1fr)}
  .mi7-card--list .mi7-card__fav{left:calc(40% - 50px)}
  .mi-tool-page-hero-grid,.mi7-404__inner{grid-template-columns:1fr;gap:32px}
  .mi7-block--finance,.mi7-postcta,.authority-cta-box,.quartiers-cta__box,.faq-premium-cta,.mi-guide-cta,.mi7-banner,.lead-banner-box{flex-direction:column;align-items:flex-start}
}
@media (max-width:720px){
  .mi7-services{grid-template-columns:1fr 1fr;gap:10px}
  .mi7-service{padding:16px}
  .mi7-service small{display:none}
  .mi7-service em{display:none}
  .mi7-service strong{font-size:16px}
  .mi7-service__icon{width:44px;height:44px}
  .mi7-places{grid-template-columns:1fr 1fr;gap:10px}
  .mi7-place{aspect-ratio:1}
  .mi7-place__label{padding:30px 12px 12px}
  .mi7-place__label strong{font-size:17px}
  .mi7-place__label small{display:none}
  .mi7-news__item{grid-template-columns:110px minmax(0,1fr);gap:14px}
  .mi7-news__lead h3{font-size:23px}
  .mi7-prices__kpis strong{font-size:17px}
  .mi7-pricetable th,.mi7-pricetable td{padding:12px 12px;font-size:14px}
  .mi7-pricetable td small{display:none}
  .mi7-hero{padding:40px 0 32px}
  .mi7-hero__lead{font-size:16px;margin-bottom:22px}
  .mi7-shell,.mi-wrap,.mi-shell,.mi-container,.mi7-shell--read,.quartiers-hero__content,.quartiers-intro__grid,.quartiers-filters>*,.quartiers-table-section>*,.quartiers-profiles>*,.quartiers-cta>*{width:calc(100% - 32px)}
  body{font-size:15.5px}
  .mi7-logo__name{font-size:20px}
  .mi7-logo__mark{width:30px;height:30px}
  .mi7-logo__sub{font-size:9.5px;letter-spacing:.26em}
  .mi7-header__inner{gap:10px}
  .mi7-header__actions{gap:2px}
  .mi7-hlink{display:none}
  .mi7-section{padding:56px 0}
  .mi7-section--tight{padding:40px 0}
  .mi7-head{margin-bottom:22px}
  .mi7-head--row{flex-direction:column;align-items:flex-start;gap:10px}
  .mi7-hero{padding:48px 0 72px}
  .mi7-hero__copy{margin-bottom:24px;text-align:left}
  .mi7-hero__inner{align-items:stretch}
  .mi7-hero__lead{margin:0;font-size:16.5px}
  .mi7-searchbox__tabs{padding:4px 6px 0}
  .mi7-searchbox__tabs button,.mi7-searchbox__tabs a{padding:12px 12px 13px;font-size:15px}
  .mi7-searchbox__form{grid-template-columns:1fr;padding:6px}
  .mi7-field{padding:10px 12px}
  .mi7-field+.mi7-field{border-top:1px solid var(--line);border-radius:0}
  .mi7-cards--4,.mi7-cards--3{grid-template-columns:1fr}
  .mi7-cards--4>:nth-child(n+5){display:none}
  .mi7-articles,.mi7-articles--grid,.mi7-quartiers,.mi7-agencies,.mi7-toolcards,.article-archive-grid,.guide-archive-grid,.quartier-archive-grid,.mi-agences-grid{grid-template-columns:1fr}
  .mi7-banner{padding:28px 22px}
  .mi7-footer__main{grid-template-columns:1fr 1fr;gap:28px}
  .mi7-footer__seo-grid{grid-template-columns:1fr 1fr;gap:22px}
  .mi7-results-head__title{flex-direction:column;gap:4px}
  .mi7-filterbar{position:static}
  .mi7-ff--seg,.mi7-ff:not(.mi7-ff--seg):not(.mi7-ff--where):not(.mi7-ff--num),.mi7-ff--num{flex:1 1 calc(50% - 4px)}
  .mi7-filterbar__more,.mi7-filterbar__submit{flex:1 1 calc(50% - 4px);justify-content:center}
  .mi7-filterpanel__grid{grid-template-columns:1fr 1fr}
  .mi7-toolbar{flex-wrap:wrap}
  .mi7-viewswitch{display:none}
  .mi7-resultlist.is-grid{grid-template-columns:1fr}
  .mi7-card--list{grid-template-columns:1fr}
  .mi7-card--list .mi7-card__media{min-height:0;aspect-ratio:4/3}
  .mi7-card--list .mi7-card__fav{left:auto;right:12px}
  .mi7-card--list .mi7-card__body{padding:16px 18px}
  .mi7-results__side{grid-template-columns:1fr}
  .mi7-listing-top .mi7-crumbs{display:none}
  .mi7-gallery{margin-inline:-16px;border-radius:0;grid-template-rows:260px 120px;gap:4px}
  .mi7-gallery--1,.mi7-gallery--2{grid-template-rows:260px}
  .mi7-listing__price{font-size:27px}
  .mi7-keyfacts{grid-template-columns:1fr 1fr}
  .mi7-keyfacts li{padding:14px}
  .mi7-keyfacts li+li{border-left:0}
  .mi7-keyfacts li:nth-child(even){border-left:1px solid var(--line)}
  .mi7-keyfacts li:nth-child(n+3){border-top:1px solid var(--line)}
  .mi7-featurelist,.mi7-dl{grid-template-columns:1fr}
  .mi7-locbox{flex-wrap:wrap}
  .mi7-contact{padding:20px}
  .mi7-pagehero{padding:28px 0 40px}
  .mi7-pagehero .mi7-crumbs{margin-bottom:18px}
  .mi7-pagehero__intro{font-size:16.5px}
  .mi7-directory__bar{flex-direction:column;align-items:stretch}
  .mi7-searchinput{flex:1 1 auto}
  .mi7-agency{padding:16px}
  .mi7-agency__logo{width:60px;height:60px;flex-basis:60px}
  .mi7-agencyhero__inner{flex-direction:column;align-items:flex-start;gap:16px}
  .mi7-agencyhero__logo{width:96px;height:96px;flex-basis:96px}
  .mi7-post__head{padding:24px 0}
  .mi7-post__lead{font-size:18px}
  .mi7-prose{font-size:16.5px}
  .mi7-inline-search{flex-direction:column}
  .hero,.atlas-hero,.tool-hero,.authority-hero,.faq-premium-hero,.quartiers-hero,.article-archive-hero,.mi-form-page-hero,.mi-editorial-hero,.apropos-hero,.contact-hero,.partenaires-hero,.mi-guide-hero,.mi-agence-premium__hero,.mi-back-hero{padding:40px 0 48px}
  .section,.authority-section,.faq-premium-layout,.quartiers-intro,.quartiers-filters,.quartiers-table-section,.quartiers-profiles,.quartiers-cta,.article-archive-grid-section,.article-archive-seo{padding:48px 0}
  .mi-tool-page-hero{padding:36px 0}
  .budget-tool-form,.simulator-form,.frais-tool-form,.loyer-tool-form,.tpi-tool-form,.estimation-tool-form,.prix-m2-tool-form,.budget-tool-reading,.simulator-reading,.frais-tool-reading,.loyer-tool-reading,.tpi-tool-reading,.lead-box,.tool-lead-box,.seo-content-block,.contact-form-box,.partenaires-form,.mi-form-card,.mi-panel{padding:20px}
  .budget-tool-grid,.simulator-grid,.frais-tool-grid,.loyer-tool-grid,.tpi-tool-grid,.prix-m2-grid,.budget-summary-grid,.frais-summary-grid,.tpi-results-grid,.simulator-results-grid,.budget-bottom-grid,.loyer-context-grid,.loyer-targets-grid,.frais-detail-grid,.budget-zones-grid,.seo-content-grid,.grid-2,.grid-3,.mip-grid-2,.mip-grid-3,.mi-form-grid-2,.mi-form-grid-3,.mi-form-grid.mi-form-grid-2,.mi-form-grid.mi-form-grid-3,.authority-grid-2,.authority-grid-3,.authority-hub-grid,.apropos-features-grid,.partenaires-types-grid,.quartiers-profiles__grid,.service-grid,.service-grid-3,.tools-preview-grid,.tools-mini-grid,.guides-grid-premium,.quartiers-grid-premium,.quartiers-intro__grid,.quartiers-filters__grid,.mi-form-page-benefits,.article-archive-featured,.mi-agence-premium__hero-inner{grid-template-columns:1fr}
  .simulator-tabs,.loyer-tabs{display:flex;width:100%}
  .simulator-tab,.loyer-tab{flex:1;padding:0 10px}
  .result-value{font-size:23px}
  .mi-social-row{grid-template-columns:1fr}
  .authority-cta-box,.quartiers-cta__box,.faq-premium-cta,.mi-guide-cta{padding:26px 22px}
  .mip-auth-card{padding:24px}
  .mip-account-switch{grid-template-columns:1fr}
  .mip-dashboard-shell{width:calc(100% - 32px)}
  .mip-sidebar nav{grid-template-columns:1fr 1fr}
  .mip-dash-head{flex-direction:column;align-items:flex-start}
  .mip-feature-grid{grid-template-columns:1fr 1fr}
  .mip-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .mip-form-submit-bar{position:static;flex-direction:column;align-items:stretch}
  .mip-form-actions .mip-btn{flex:1}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
@media print{
  .mi7-topbar,.mi7-header,.mi7-footer,.mi7-stickycta,.mi7-filterbar,.mi7-results__side,.mi7-listing__side form{display:none!important}
}

/* Comparateur de quartiers : conteneur pleine largeur */
.quartiers-page>.mi-container{width:100%;max-width:none}
.quartiers-filters__header{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:none}
.quartiers-filters__header h2{margin:0;font-size:26px}
.quartiers-reset{min-height:0;padding:0;border:0;background:none;color:var(--accent);font-weight:600;text-decoration:underline}
.quartiers-cta__box{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:32px;align-items:center}
.quartiers-cta__box>h2,.quartiers-cta__box>p{grid-column:1}
.quartiers-cta__box>.quartiers-cta__actions{grid-column:2;grid-row:1/3}
@media (max-width:900px){.quartiers-cta__box{grid-template-columns:1fr}.quartiers-cta__box>.quartiers-cta__actions{grid-column:1;grid-row:auto;margin-top:16px}.contact-intro{grid-template-columns:1fr}}
@media (max-width:900px){.quartiers-table,.authority-table,.prix-m2-table{min-width:760px}}
