/* =============================================================
   Malta Immobilier — main stylesheet
   Ported from the approved mockup (4 pages) into a single theme
   stylesheet with reusable classes.
   ============================================================= */

:root{
	--navy:#1b2c47; --navy-dark:#12203a;
	--gold:#c68a3f; --gold-dark:#a86f2e; --green:#4a9d63;
	--bg:#ffffff; --bg-soft:#f8f7f4; --border:#e7e4dd;
	--ink:#4a5568; --ink-light:#8a93a3;
	--container: 1248px;
	--side-pad: 96px;
}

*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
#essentiel, #description, #caracteristiques, #diagnostics{ scroll-margin-top:24px; }
body{
	margin:0;
	background:var(--bg);
	font-family:'Jost',"Century Gothic",sans-serif;
	color:var(--ink);
	overflow-x:hidden;
}
h1,h2,h3{ font-family:'Cormorant Garamond',Georgia,serif; color:var(--navy); margin:0; font-weight:600; }
p{ margin:0; }
a{ color:var(--gold); text-decoration:none; }
a:hover{ color:var(--navy); }
img{ max-width:100%; display:block; }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; }

.mi-container{ max-width:var(--container); margin:0 auto; padding-left:var(--side-pad); padding-right:var(--side-pad); }

.mi-eyebrow{ font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); font-weight:500; }

/* ---------- Buttons ----------
   Plain style = used on the Biens / Fiche bien / Contact pages (the "M"
   identity). The ALTA home page uses a distinct uppercase CTA style —
   add the "--cta" modifier class alongside .btn-fill/.btn-outline for
   those (see front-page.php). Keeping both matches the two identities
   the client approved (ALTA on Accueil only, "M" everywhere else). */
.btn-fill{
	display:inline-flex; align-items:center; justify-content:center; gap:9px;
	background:var(--navy); color:#fff; padding:14px 26px; border:0; border-radius:0;
	font-size:14px; font-weight:500; cursor:pointer;
}
.btn-fill:hover{ background:var(--navy-dark); color:#fff; }
.btn-outline{
	display:inline-flex; align-items:center; justify-content:center; gap:8px;
	border:1.5px solid var(--gold); background:transparent; color:var(--gold-dark);
	padding:11.5px 20px; border-radius:0; font-size:14px; font-weight:500; cursor:pointer;
}
.btn-outline:hover{ background:var(--gold); color:#fff; }

.btn-fill--cta{ padding:14px 26px; font-size:13px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; gap:10px; }
.btn-outline--cta{ padding:12px 22px; font-size:12px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; }
.link-arrow{
	display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:600;
	letter-spacing:.04em; text-transform:uppercase; color:var(--navy);
	border-bottom:1.5px solid var(--gold); padding-bottom:3px;
}
.link-arrow:hover{ color:var(--gold); }
.mi-hero__actions .link-arrow{ color:var(--gold); }
.mi-hero__actions .link-arrow:hover{ color:var(--navy); }

/* ---------- Cards ---------- */
.mi-card{ background:var(--bg); border:1px solid var(--border); box-shadow:0 1px 3px rgba(20,32,58,0.05); }
.mi-badge{
	position:absolute; top:14px; left:14px; background:var(--navy); color:#fff;
	font-size:10px; letter-spacing:.1em; text-transform:uppercase; padding:6px 12px; border-radius:999px;
}

/* =========================================================
   HEADER (ALTA design — shared by every page)
   ========================================================= */
.site-header{
	display:flex; align-items:center; justify-content:space-between;
	padding:16px var(--side-pad); border-bottom:1px solid var(--border);
	max-width:1440px; margin:0 auto; gap:24px; flex-wrap:wrap;
}
.site-header .mi-logo img{ height:60px; width:auto; }
.mi-nav{ display:flex; gap:36px; font-size:13.5px; flex-wrap:wrap; }
.mi-nav li{ list-style:none; display:contents; }
.mi-nav a{
	color:var(--navy); font-weight:700; letter-spacing:.04em; text-decoration:none;
	padding-bottom:8px; border-bottom:2px solid transparent;
}
.mi-nav a:hover,
.mi-nav a.mi-current,
.mi-nav li.current-menu-item > a,
.mi-nav li.current_page_item > a,
.mi-nav li.current-menu-parent > a{ border-bottom-color:var(--gold); }
.mi-phone-pill{
	display:flex; align-items:center; gap:10px; border:1px solid var(--border);
	border-radius:8px; padding:12px 20px; white-space:nowrap;
}
.mi-phone-pill span{ font-size:14px; color:var(--navy); font-weight:700; }
.mi-phone-pill a{ color:var(--navy); text-decoration:none; display:flex; align-items:center; gap:10px; }

/* =========================================================
   HERO (front page)
   ========================================================= */
.mi-hero{ position:relative; height:420px; overflow:hidden; max-width:1440px; margin:0 auto; }
.mi-hero__image{ position:absolute; top:0; right:0; height:100%; width:74%; object-fit:cover; }
.mi-hero__overlay{
	position:absolute; inset:0;
	background:linear-gradient(90deg, var(--bg) 0%, var(--bg) 28%, rgba(255,255,255,0.9) 38%, rgba(255,255,255,0.4) 50%, rgba(255,255,255,0) 64%);
}
.mi-hero__content{
	position:relative; max-width:var(--container); margin:0 auto; padding:48px var(--side-pad);
	height:100%; display:flex; flex-direction:column; justify-content:center;
}
.mi-hero__content h1{ font-size:44px; line-height:1.18; max-width:520px; }
.mi-hero__rule{ width:44px; height:2px; background:var(--gold); margin:22px 0; }
.mi-hero__content p{ font-size:15px; line-height:1.75; color:var(--ink); max-width:400px; margin:0 0 32px; }
.mi-hero__actions{ display:flex; align-items:center; gap:30px; flex-wrap:wrap; }

/* =========================================================
   SERVICES (front page)
   ========================================================= */
.mi-services{ max-width:var(--container); margin:0 auto; padding:56px var(--side-pad); }
.mi-services__head{ text-align:center; margin-bottom:36px; }
.mi-services__head h2{ font-size:28px; }
.mi-services__head .mi-hero__rule{ margin:16px auto 0; }
.mi-services__grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.mi-service{ text-align:center; padding:0 20px; border-right:1px solid var(--border); }
.mi-service:last-child{ border-right:none; }
.mi-service svg{ margin:0 auto; display:block; }
.mi-service h3{ font-size:19px; margin:18px 0 8px; }
.mi-service p{ font-size:14.5px; color:var(--ink-light); line-height:1.6; }

/* =========================================================
   PROPERTY CARDS (front page teaser + archive grid)
   ========================================================= */
.mi-properties{ padding:8px var(--side-pad) 72px; max-width:var(--container); margin:0 auto; }
.mi-properties__head{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom:24px; flex-wrap:wrap; gap:12px; }
.mi-properties__head h2{ font-size:26px; }
.mi-property-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.mi-property-card{ border:1px solid var(--border); border-radius:0; overflow:hidden; }
.mi-property-card__media{ display:block; position:relative; aspect-ratio:4/3; overflow:hidden; }
.mi-property-card__media img{ width:100%; height:100%; object-fit:cover; }
.mi-property-card__body{ padding:18px 20px 20px; }
.mi-property-card__top{ display:flex; justify-content:space-between; align-items:baseline; gap:10px; }
.mi-property-card__top h3{ font-size:17px; }
.mi-property-card__price{ color:var(--gold-dark); font-weight:600; font-size:14.5px; white-space:nowrap; }
.mi-property-card__loc{ font-size:12.5px; color:var(--ink-light); margin-top:6px; display:flex; align-items:center; gap:4px; }
.mi-property-card__specs{ display:flex; gap:16px; flex-wrap:wrap; margin-top:14px; font-size:11.5px; color:var(--ink-light); border-top:1px solid var(--border); padding-top:14px; }
.mi-property-card__specs span{ display:flex; align-items:center; gap:5px; }
.mi-property-card__link{ margin-top:16px; }

/* =========================================================
   ABOUT TEASER (front page)
   ========================================================= */
.mi-about{ position:relative; height:440px; max-width:1440px; margin:16px auto 0; }
.mi-about__image{ position:absolute; top:0; left:0; height:100%; width:50%; object-fit:cover; }
.mi-about__inner{ position:relative; max-width:var(--container); margin:0 auto; height:100%; }
.mi-about__content{
	position:absolute; left:50%; right:0; top:50%; transform:translateY(-50%);
	padding-left:40px; padding-right:72px;
}
.mi-about__content h2{ font-size:28px; margin:14px 0 18px; }
.mi-about__content p{ font-size:14.5px; line-height:1.75; max-width:560px; }
.mi-about__points{ display:grid; grid-template-columns:repeat(3,1fr); margin-top:32px; max-width:560px; }
.mi-about__point{ text-align:center; border-right:1px solid var(--border); padding:0 12px; }
.mi-about__point:last-child{ border-right:none; }
.mi-about__point svg{ margin:0 auto; display:block; }
.mi-about__point div.mi-about__point-label{ font-size:12.5px; color:var(--navy); font-weight:600; margin-top:10px; line-height:1.4; }

/* =========================================================
   FOOTER (ALTA design — shared by every page)
   ========================================================= */
.site-footer{ background:var(--navy-dark); color:#c7cedb; padding:40px var(--side-pad) 0; }
.site-footer .mi-container{ display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:60px; padding-bottom:32px; padding-left:0; padding-right:0; max-width:var(--container); }
.mi-footer-brand{ display:flex; align-items:center; }
.mi-footer-logo{ height:48px; width:auto; }
.site-footer p.mi-footer-tagline{ font-size:13px; line-height:1.7; margin-top:18px; max-width:260px; color:#9aa4b8; }
.mi-footer-col-title{ font-size:12px; letter-spacing:.12em; color:#7c8699; margin-bottom:22px; }
.mi-footer-contact{ display:flex; flex-direction:column; gap:14px; font-size:13.5px; }
.mi-footer-contact span, .mi-footer-contact a{ display:flex; align-items:center; gap:10px; color:#c7cedb; }
.mi-footer-links-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; font-size:13.5px; }
.mi-footer-links-grid li{ list-style:none; display:contents; }
.mi-footer-links-grid a{ color:#c7cedb; }
.mi-footer-links-grid a:hover{ color:#fff; }
.site-footer__bottom{ border-top:1px solid #2a3550; padding:16px 0; text-align:center; font-size:12px; color:#7c8699; }
.site-footer__bottom a{ color:#7c8699; text-decoration:underline; }
.site-footer__bottom a:hover{ color:#fff; }
.site-footer__bottom-sep{ margin:0 6px; }

/* =========================================================
   BIENS — archive listing
   ========================================================= */
.mi-page-head{ max-width:var(--container); margin:0 auto; padding:48px var(--side-pad) 8px; }
.mi-breadcrumb{ font-size:13px; color:var(--ink-light); margin-bottom:14px; }
.mi-breadcrumb a{ color:var(--ink-light); }
.mi-page-head h1{ font-size:34px; }
.mi-page-head p{ font-size:14.5px; color:var(--ink-light); margin-top:12px; max-width:560px; }

.mi-filters{
	max-width:var(--container); margin:0 auto; padding:24px var(--side-pad) 0;
	display:flex; align-items:center; gap:16px; flex-wrap:wrap; justify-content:space-between;
}
.mi-filters__left{ display:flex; gap:16px; flex-wrap:wrap; }
.mi-select{
	display:flex; align-items:center; justify-content:space-between; gap:10px;
	border:1px solid var(--border); border-radius:8px; padding:11px 16px; font-size:13.5px;
	color:var(--navy); min-width:160px; background:#fff;
}
.mi-select select{
	appearance:none; -webkit-appearance:none; -moz-appearance:none;
	border:none; background:transparent; outline:none; box-shadow:none;
	font:inherit; color:inherit; padding:0; margin:0; cursor:pointer; flex:1;
}
.mi-select::after{
	content:''; width:7px; height:7px; flex-shrink:0; margin-top:-3px;
	border-right:1.5px solid var(--ink-light); border-bottom:1.5px solid var(--ink-light);
	transform:rotate(45deg);
}
.mi-results-row{
	max-width:var(--container); margin:0 auto; padding:16px var(--side-pad) 0;
	display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px;
	font-size:13.5px; color:var(--ink-light);
}
.mi-biens-grid{ max-width:var(--container); margin:0 auto; padding:16px var(--side-pad) 40px; }
.mi-biens-grid .mi-property-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.mi-empty{ padding:40px 0; color:var(--ink-light); }

.mi-pagination{ max-width:var(--container); margin:0 auto; padding:0 var(--side-pad) 100px; display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }
.mi-pagination a, .mi-pagination span{
	width:38px; height:38px; border-radius:0; border:1px solid var(--border); color:var(--navy);
	display:flex; align-items:center; justify-content:center; font-size:13px;
}
.mi-pagination .current{ background:var(--navy); color:#fff; border-color:var(--navy); }

/* =========================================================
   FICHE BIEN — single property
   ========================================================= */
.mi-gallery{ max-width:var(--container); margin:0 auto; padding:32px var(--side-pad) 0; }
.mi-gallery__grid{ display:grid; grid-template-columns:1.6fr 1fr; grid-template-rows:380px; gap:12px; height:380px; overflow:hidden; }
.mi-gallery__main{ overflow:hidden; padding:0; min-height:0; border-radius:0; }
.mi-gallery__main img{ width:100%; height:100%; object-fit:cover; }
.mi-gallery__side{ display:grid; grid-template-rows:1fr 1fr; gap:12px; height:100%; min-height:0; }
.mi-gallery__side .mi-card{ overflow:hidden; padding:0; min-height:0; border-radius:0; }
.mi-gallery__side img{ width:100%; height:100%; object-fit:cover; }
.mi-gallery__thumb{
	background:none; appearance:none; -webkit-appearance:none;
	display:block; width:100%; height:100%; position:relative;
	cursor:zoom-in; text-align:left;
}
.mi-gallery__thumb:hover img{ opacity:.92; }
.mi-gallery__thumb:focus-visible{ outline:2px solid var(--gold); outline-offset:-2px; }
.mi-gallery__more{
	position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
	background:rgba(15,23,42,0.55); color:#fff; font-size:13px; font-weight:600; letter-spacing:.02em;
}

/* ---------- Gallery lightbox ---------- */
.mi-lightbox{
	display:none; position:fixed; inset:0; z-index:1000;
	background:rgba(10,14,26,0.94); align-items:center; justify-content:center;
}
.mi-lightbox.is-open{ display:flex; }
body.mi-lightbox-open{ overflow:hidden; }
.mi-lightbox__stage{ max-width:88vw; max-height:84vh; display:flex; align-items:center; justify-content:center; }
.mi-lightbox__stage img{ max-width:88vw; max-height:84vh; width:auto; height:auto; object-fit:contain; box-shadow:0 20px 60px rgba(0,0,0,0.5); }
.mi-lightbox__close, .mi-lightbox__nav{
	background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.25); color:#fff;
	width:44px; height:44px; display:flex; align-items:center; justify-content:center;
	cursor:pointer; transition:background .15s ease;
}
.mi-lightbox__close:hover, .mi-lightbox__nav:hover{ background:rgba(255,255,255,0.18); }
.mi-lightbox__close{ position:absolute; top:24px; right:24px; }
.mi-lightbox__nav{ position:absolute; top:50%; transform:translateY(-50%); }
.mi-lightbox__prev{ left:24px; }
.mi-lightbox__next{ right:24px; }
.mi-lightbox__counter{
	position:absolute; bottom:24px; left:50%; transform:translateX(-50%);
	color:rgba(255,255,255,0.75); font-size:13px; letter-spacing:.04em;
}
@media (max-width:640px){
	.mi-lightbox__close{ top:14px; right:14px; }
	.mi-lightbox__prev{ left:10px; }
	.mi-lightbox__next{ right:10px; }
	.mi-lightbox__close, .mi-lightbox__nav{ width:38px; height:38px; }
}

.mi-bien-title{ max-width:var(--container); margin:0 auto; padding:28px var(--side-pad) 0; }
.mi-bien-title__loc{ display:flex; align-items:center; gap:8px; font-size:13.5px; flex-wrap:wrap; }
.mi-bien-title__loc .mi-ville{ color:var(--gold-dark); font-weight:500; }
.mi-bien-title__loc .mi-secteur{ color:var(--ink-light); }
.mi-bien-title h1{ font-size:30px; line-height:1.3; margin-top:14px; }
.mi-bien-title__prix{ font-family:'Cormorant Garamond',serif; font-size:24px; color:var(--gold-dark); font-weight:600; margin-top:10px; }

.mi-specs{ max-width:var(--container); margin:0 auto; padding:22px var(--side-pad); }
.mi-specs__row{ display:flex; gap:36px; padding:20px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); flex-wrap:wrap; }
.mi-specs__item{ display:flex; align-items:center; gap:9px; font-size:13.5px; color:var(--navy); }

.mi-tabs{ max-width:var(--container); margin:0 auto; padding:0 var(--side-pad) 32px; }
.mi-tabs__list{ display:flex; gap:10px; flex-wrap:wrap; }
.mi-tab{ display:flex; align-items:center; gap:8px; padding:13px 20px; border-radius:0; font-size:14px; font-weight:500; color:var(--ink-light); cursor:pointer; border:none; background:transparent; }
.mi-tab.is-active{ background:var(--navy); color:#fff; }
.mi-tab svg{ flex-shrink:0; }

.mi-bien-body{ max-width:var(--container); margin:0 auto; padding:0 var(--side-pad) 80px; display:grid; grid-template-columns:1.75fr 1fr; gap:28px; align-items:start; }
.mi-bien-main{ display:flex; flex-direction:column; gap:20px; }
.mi-bien-panel{ background:var(--bg); border:1px solid var(--border); box-shadow:0 1px 3px rgba(20,32,58,0.05); padding:28px 30px; }
.mi-bien-panel__head{ display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.mi-bien-panel__head .mi-dash{ color:var(--gold); font-size:20px; line-height:1; }
.mi-bien-panel__head h2{ font-size:21px; }
.mi-bien-panel p{ font-size:14px; line-height:1.8; }
.mi-essentiel-points{ display:grid; grid-template-columns:1fr 1fr; gap:16px 20px; margin-top:20px; }
.mi-essentiel-points li{ display:flex; align-items:flex-start; gap:9px; font-size:13.5px; line-height:1.5; }
.mi-essentiel-points svg{ margin-top:2px; flex-shrink:0; }
.mi-description-cols{ display:grid; grid-template-columns:1fr 1fr; gap:24px; font-size:14px; line-height:1.8; }
.mi-caract-cols{ display:grid; grid-template-columns:1fr 1fr; gap:0 32px; }
.mi-caract-col-title{ font-size:13px; font-weight:600; color:var(--gold-dark); margin-bottom:8px; }
.mi-kv{ display:flex; justify-content:space-between; padding:9px 0; border-bottom:1px dashed var(--border); font-size:13.5px; gap:12px; }
.mi-kv:last-child{ border-bottom:none; }
.mi-kv span:first-child{ color:var(--ink-light); }
.mi-kv span:last-child{ color:var(--navy); font-weight:500; text-align:right; }

.mi-bien-sidebar{ display:flex; flex-direction:column; gap:20px; }
.mi-diag-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.mi-diag-box{ border:1px solid var(--border); border-radius:10px; padding:16px 8px; text-align:center; }
.mi-diag-box .mi-diag-label{ font-size:11px; letter-spacing:.1em; color:var(--ink-light); }
.mi-diag-box .mi-diag-letter{ font-family:'Jost',sans-serif; font-size:38px; font-weight:600; line-height:1.2; }
.mi-diag-box .mi-diag-value{ font-size:12px; color:var(--navy); }

.mi-energy-scale{ position:relative; margin-top:18px; height:36px; }
.mi-energy-scale__bar{ display:flex; height:26px; border-radius:999px; overflow:hidden; position:absolute; top:5px; left:0; right:0; }
.mi-energy-scale__bar span{ flex:1; display:flex; align-items:center; justify-content:center; color:#fff; font-size:11px; font-weight:600; }
.mi-energy-scale__marker{ position:absolute; top:0; height:36px; background:#e8b23f; border-radius:999px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:13px; font-weight:700; box-shadow:0 3px 8px rgba(0,0,0,0.18); }

.mi-locate-note{ font-size:12.5px; color:var(--ink-light); margin-top:14px; line-height:1.6; }

/* =========================================================
   CONTACT
   ========================================================= */
.mi-contact-body{ max-width:var(--container); margin:0 auto; padding:44px var(--side-pad) 100px; display:grid; grid-template-columns:0.85fr 1.15fr; gap:32px; align-items:start; }
.mi-infoline{ display:flex; align-items:flex-start; gap:16px; }
.mi-infoline .mi-info-label{ font-size:11.5px; letter-spacing:.08em; color:var(--ink-light); text-transform:uppercase; }
.mi-infoline .mi-info-value{ font-size:14.5px; color:var(--navy); margin-top:4px; font-weight:500; }

.mi-field{ display:flex; flex-direction:column; gap:8px; }
.mi-field label{ font-size:12px; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-light); }
.mi-field .mi-box{ display:flex; align-items:center; gap:10px; border:1px solid var(--border); border-radius:8px; padding:12px 14px; }
.mi-field input, .mi-field select, .mi-field textarea{ border:none; outline:none; background:transparent; font-family:'Jost',sans-serif; font-size:14px; color:var(--navy); width:100%; resize:vertical; }
.mi-contact-form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:22px 24px; }
.mi-consent-row{ display:flex; align-items:center; gap:10px; margin-top:20px; }
.mi-consent-row input[type="checkbox"]{ width:16px; height:16px; }
.mi-consent-row span{ font-size:12.5px; color:var(--ink-light); }
.mi-form-notice{ padding:14px 18px; margin-bottom:20px; font-size:13.5px; }
.mi-form-notice.success{ background:#eaf6ee; color:#2f7a45; border:1px solid #bfe3c9; }
.mi-form-notice.error{ background:#fdecec; color:#a33; border:1px solid #f3c6c6; }
.mi-honeypot{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 1100px){
	:root{ --side-pad:40px; }
}
@media (max-width: 900px){
	.mi-property-grid, .mi-biens-grid .mi-property-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
	.mi-services__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:32px; }
	.mi-service{ border-right:none; border-bottom:1px solid var(--border); padding-bottom:24px; }
	.mi-about{ height:auto; }
	.mi-about__image{ position:static; width:100%; height:280px; }
	.mi-about__content{ position:static; transform:none; padding:32px 0 0; max-width:none; }
	.mi-about__content p, .mi-about__points{ max-width:none; }
	.site-footer .mi-container{ grid-template-columns:1fr 1fr; row-gap:32px; }
	.mi-bien-body{ grid-template-columns:1fr; }
	.mi-gallery__grid{ grid-template-columns:1fr; grid-template-rows:240px 1fr; height:auto; }
	.mi-gallery__side{ grid-template-rows:1fr 1fr; height:200px; }
	.mi-contact-body{ grid-template-columns:1fr; }
}
@media (max-width: 640px){
	:root{ --side-pad:20px; }
	.mi-hero{ height:auto; }
	.mi-hero__image{ position:static; width:100%; height:260px; }
	.mi-hero__overlay{ display:none; }
	.mi-hero__content{ position:static; padding:32px 20px; }
	.mi-property-grid, .mi-biens-grid .mi-property-grid{ grid-template-columns:1fr; }
	.mi-services__grid{ grid-template-columns:1fr; }
	.mi-service{ border-bottom:1px solid var(--border); }
	.site-footer .mi-container{ grid-template-columns:1fr; }
	.mi-description-cols, .mi-caract-cols, .mi-essentiel-points, .mi-contact-form-grid, .mi-diag-grid{ grid-template-columns:1fr; }
	.site-header{ padding:16px 20px; }
	.mi-nav{ order:3; width:100%; gap:20px; }
}
