/* Injouables — fiche quartier compacte, 16 octobre 2026.
   Scope limité a #m-info : image, zoom, polygones et recherche intacts. */
.m-app .m-title,.m-app .m-status {display:none!important;}
.m-map #m-info.m-info {
  position:absolute!important;
  top:12px!important;right:12px!important;bottom:12px!important;left:auto!important;
  width:min(370px,calc(100% - 24px))!important;
  max-height:calc(100% - 24px)!important;
  margin:0!important;padding:0!important;
  overflow-y:auto;overflow-x:hidden;
  background:linear-gradient(180deg,#000000 0%,#000000 100%)!important;
  border:1px solid rgba(0,0,0,.32)!important;
  border-radius:13px!important;
  box-shadow:0 10px 30px rgba(0,0,0,.55)!important;
  scrollbar-width:thin;scrollbar-color:#000000 #000000;
  z-index:11!important;
  color:#f5f5f5;
}
.m-map #m-info.m-info.show {display:block;}
.m-map #m-info .m-district-hero {
  position:relative;display:flex;flex-direction:column;justify-content:flex-end;
  min-height:153px;padding:14px 15px 13px;overflow:hidden;
  background-image:linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.44) 44%,#000000 100%),url('../../../../uploads/2026/10/injouables-premium-map-bg-20261014.webp');
  background-position:center 48%;background-size:cover;
}
.m-map #m-info .m-district-hero:before {content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.08),rgba(0,0,0,.35));pointer-events:none;}
.m-map #m-info .m-district-hero > * {position:relative;z-index:1;}
.m-map #m-info .m-district-hero-top {position:absolute;top:11px;left:12px;right:11px;display:flex;align-items:center;justify-content:space-between;gap:10px;}
.m-map #m-info .m-selected-badge {display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid #d3e4e04a;border-radius:99px;background:#000000d9;color:#f1f1f1;font:600 9px/1.2 Inter,system-ui,Arial,sans-serif;}
.m-map #m-info .m-live-dot {width:6px;height:6px;border-radius:50%;background:#5dcc8d;box-shadow:0 0 8px #5dcc8d;}
.m-map #m-info .m-district-hero .m-close {position:static!important;}
.m-map #m-info .m-district-title {
  display:block;flex:0 0 auto;min-width:0;padding:0!important;margin:0 0 6px!important;
  color:#f9f9f9;font:750 23px/1.15 Inter,system-ui,Arial,sans-serif!important;
  letter-spacing:-.018em;
  overflow-wrap:anywhere;
}
.m-map #m-info .m-category-chip {align-self:flex-start;padding:4px 9px;border-radius:99px;background:#144c43e8;color:#aee7ce;font:600 9px/1.2 Inter,system-ui,Arial,sans-serif;}
.m-map #m-info .m-district-crumb {display:flex;gap:10px;padding:10px 15px 0;color:#000000;font:500 9px/1.4 Inter,system-ui,Arial,sans-serif;}
.m-map #m-info .m-crumb-current {border-left:1px solid #000000;padding-left:10px;}
.m-map #m-info > .m-description-wrap,.m-map #m-info > .m-facts {margin-left:15px!important;margin-right:15px!important;}
.m-map #m-info > .m-description-wrap {margin-top:10px!important;}
.m-map #m-info .m-close {
  position:static!important;
  flex:0 0 30px;
  width:30px;height:30px;min-width:30px;min-height:30px;
  display:grid;place-items:center;
  margin:0!important;padding:0!important;
  background:#000000!important;color:#f3f3f3!important;
  border:1px solid #00000085!important;border-radius:8px!important;
  cursor:pointer;
}
.m-map #m-info .m-close:hover {background:#000000!important;border-color:#d8b777!important;}
.m-map #m-info .m-close:focus-visible,
.m-map #m-info .m-read-more:focus-visible,
.m-map #m-info summary:focus-visible {
  outline:2px solid #f4d594;outline-offset:2px;
}
.m-map #m-info .m-close svg {width:17px;height:17px;}
.m-map #m-info .m-description-wrap {
  display:block;min-width:0;width:100%;margin:2px 0 0;
}
.m-map #m-info .m-lucide-icon {
  display:block!important;flex:0 0 auto!important;
  width:16px!important;height:16px!important;
  min-width:0!important;min-height:0!important;
  max-width:24px!important;max-height:24px!important;
  padding:0!important;margin:0!important;border:0!important;
  overflow:visible!important;
}
.m-map #m-info .m-panel-icon .m-lucide-icon {width:17px!important;height:17px!important;}
.m-map #m-info .m-close .m-lucide-icon {width:18px!important;height:18px!important;}
.m-map #m-info .m-read-more {
  display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;
  flex-flow:row nowrap!important;gap:6px!important;
  width:auto!important;min-width:max-content!important;max-width:100%!important;
  height:32px!important;min-height:32px!important;
  padding:5px 2px!important;margin:4px 0 0!important;
  border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;
  white-space:nowrap!important;text-align:left!important;
  font:600 12px/1.3 Inter,system-ui,Arial,sans-serif!important;
  color:#e8c88e!important;
}
.m-map #m-info .m-read-more .m-read-more-label {
  display:inline!important;flex:0 0 auto!important;
  min-width:max-content!important;width:auto!important;
  max-width:none!important;margin:0!important;padding:0!important;
  border:0!important;border-radius:0!important;
  background:none!important;box-shadow:none!important;
  white-space:nowrap!important;word-break:normal!important;
  overflow-wrap:normal!important;font:inherit!important;color:inherit!important;
}
.m-map #m-info .m-read-more .m-lucide-icon {width:15px!important;height:15px!important;}
.m-map #m-info .m-facts-toggle {
  display:flex!important;align-items:center!important;min-width:0!important;gap:8px!important;
  list-style:none!important;
}
.m-map #m-info .m-facts-label {
  display:block!important;min-width:0!important;flex:1 1 auto!important;
  white-space:normal!important;line-height:1.3!important;
  margin:0!important;padding:0!important;
  border:0!important;border-radius:0!important;background:none!important;
}
.m-map #m-info .m-facts-toggle .m-lucide-icon:last-child {margin-left:auto!important;}

.m-map #m-info .m-description {
  margin:0!important;
  color:#d8d8d8!important;
  font:400 12.5px/1.55 Inter,system-ui,Arial,sans-serif!important;
}
.m-map #m-info .m-description-wrap:not(.is-expanded) .m-description {
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.m-map #m-info .m-read-more {
  display:inline-flex;align-items:center;gap:4px;
  margin:5px 0 0;padding:3px 0;
  color:#e8c88e;background:transparent;border:0;
  font:600 11px/1.4 Inter,system-ui,Arial,sans-serif;
  cursor:pointer;
}
.m-map #m-info .m-read-more span {
  display:inline!important;margin:0!important;padding:0!important;
  border:0!important;border-radius:0!important;
  color:inherit!important;font-size:inherit!important;
}
.m-map #m-info .m-read-more svg {display:block;transition:transform .15s;}
.m-map #m-info .is-expanded .m-read-more svg {transform:rotate(180deg);}
.m-map #m-info .m-facts {
  border-top:1px solid rgba(231,231,231,.13);
  padding-top:8px;margin:9px 0 0;
}
.m-map #m-info .m-facts-toggle {
  display:flex;align-items:center;gap:8px;
  width:100%;min-height:30px;cursor:pointer;
  color:#ededed;font:600 12px/1.35 Inter,system-ui,Arial,sans-serif;
  list-style:none;
}
.m-map #m-info .m-facts-toggle::-webkit-details-marker {display:none;}
.m-map #m-info .m-facts-toggle > svg:first-child {color:#e6c890;flex-shrink:0;}
.m-map #m-info .m-facts-toggle > svg:last-child {margin-left:auto;color:#e6c890;flex-shrink:0;transition:transform .16s;}
.m-map #m-info .m-facts[open] .m-facts-toggle > svg:last-child {transform:rotate(180deg);}
.m-map #m-info .m-facts-label {
  display:inline!important;margin:0!important;padding:0!important;
  border:0!important;border-radius:0!important;
  font-size:12px!important;color:inherit!important;
}
.m-map #m-info .m-facts-content {
  margin:6px 0 0;padding:9px 10px;
  background:#000000;
  border:1px solid rgba(209,209,209,.10);border-radius:9px;
}
.m-map #m-info .m-interest {
  margin:0 0 7px!important;color:#e7c992!important;
  font-size:11.5px!important;line-height:1.5!important;
}
.m-map #m-info .m-benefits {
  margin:0!important;
  padding:0!important;color:#e9e9e9!important;list-style:none!important;
  font:400 11.5px/1.5 Inter,system-ui,Arial,sans-serif!important;
}
.m-map #m-info .m-benefits li {display:flex;align-items:center;gap:8px;margin:0 0 5px!important;padding:0!important;}
.m-map #m-info .m-benefits li:last-child {margin-bottom:0!important;}
.m-map #m-info .m-benefit-check {display:grid;place-items:center;flex:0 0 14px;width:14px;height:14px;border-radius:50%;background:#e6cb8a;color:#000000;}
.m-map #m-info .m-benefit-check svg {width:10px!important;height:10px!important;}
.m-map #m-info .m-panel-projects {
  border-top:1px solid rgba(231,231,231,.19);
  padding:11px 13px 13px;margin-top:11px;
}
.m-map #m-info .m-projects-heading {display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px;}
.m-map #m-info .m-projects-title {
  border:0!important;padding:0!important;margin:0!important;
  color:#f0f4f5;font:650 11px/1.4 Inter,system-ui,Arial,sans-serif!important;
}
.m-map #m-info .m-projects-note {color:#e5ca8a;font:500 8px/1.3 Inter,system-ui,Arial,sans-serif;}
.m-map #m-info .m-projects {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.m-map #m-info .m-project {position:relative;display:flex;flex-direction:column;align-items:stretch;gap:7px;min-width:0;min-height:0;padding:7px;text-align:left;}
.m-map #m-info .m-project-image {display:block;width:100%;height:82px;object-fit:cover;border-radius:6px;}
.m-map #m-info .m-project-content {display:grid;gap:3px;min-width:0;padding:0 1px 2px;}
.m-map #m-info .m-project-content strong {padding-right:17px;font-size:9px!important;line-height:1.3!important;}
.m-map #m-info .m-project-content small {font-size:8px!important;line-height:1.3!important;}
.m-map #m-info .m-project-price {font-size:8px!important;line-height:1.35!important;}
.m-map #m-info .m-project-arrow {position:absolute;right:8px;bottom:8px;}
.m-map #m-info .m-project-example {cursor:default;}
.m-map #m-info .m-project-example:hover {border-color:#ffffff2d;background:#000000;}
.m-map #m-info .m-example-thumb {display:block;background-image:linear-gradient(140deg,#b7d0cf33,#00000022),url('../../../../uploads/2026/10/injouables-premium-map-bg-20261014.webp');background-size:cover;background-position:center;border:1px solid #dddddd55;}
.m-map #m-info .m-project-villa .m-example-thumb {background-position:64% 45%;}
.m-map #m-info .m-project-residence .m-example-thumb {background-position:35% 67%;}
@media(max-width:700px){
  .m-map #m-info.m-info {
    top:9px!important;right:9px!important;bottom:9px!important;left:auto!important;
    width:min(340px,calc(100% - 18px))!important;
    max-height:calc(100% - 18px)!important;
  }
  .m-map #m-info .m-district-title {font-size:16px!important;}
}
@media(max-width:600px){
  .m-app {padding:10px;}
  .m-app {padding:10px;}
  .m-map {overflow:visible!important;}
  .m-map #m-svg {height:clamp(250px,64vw,300px)!important;aspect-ratio:auto!important;border-radius:13px;}
  .m-map #m-info.m-info.show {
    position:relative!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;
    width:auto!important;max-height:none!important;margin:12px 8px 12px!important;
    overflow:visible!important;
  }
  .m-map #m-info .m-district-hero {min-height:118px;padding:10px 12px;}
  .m-map #m-info .m-district-title {font-size:19px!important;}
  .m-map #m-info .m-district-crumb {padding:8px 12px 0;}
  .m-map #m-info > .m-description-wrap,.m-map #m-info > .m-facts {margin-left:12px!important;margin-right:12px!important;}
  .m-map #m-info > .m-description-wrap {margin-top:8px!important;}
  .m-map #m-info .m-description {font-size:11.5px!important;}
  .m-map #m-info .m-facts-content {padding:0;background:transparent;border:0;}
  .m-map #m-info .m-panel-projects {padding:9px 10px 11px;margin-top:8px;}
  .m-map #m-info .m-projects {grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}
  .m-map #m-info .m-project {min-height:0;padding:5px;gap:5px;}
  .m-map #m-info .m-project-image {height:clamp(50px,17vw,74px);}
  .m-map #m-info .m-project-content strong {font-size:8px!important;}
  .m-map #m-info .m-project-content small,.m-map #m-info .m-project-price {font-size:7px!important;}
  .m-map #m-info .m-project-arrow {right:5px;bottom:5px;}
}
@media(prefers-reduced-motion:reduce){
  .m-map #m-info .m-read-more svg,
  .m-map #m-info .m-facts-toggle > svg:last-child {transition:none;}
}

/* Quartier sans projet relié : message sobre sur toute la largeur. */
.m-map #m-info .m-projects.is-empty {display:block;}
.m-map #m-info .m-projects-empty {margin:0;padding:16px 14px;border:1px dashed rgba(200,161,93,.55);border-radius:10px;color:inherit;opacity:.85;font-size:13px;line-height:1.5;text-align:center;overflow-wrap:anywhere;}

/* La photo de couverture du quartier suit toujours les coins arrondis de la fiche, même pendant le
   défilement sur téléphone (sur mobile la fiche n'était plus découpée et Safari ne découpe pas
   toujours un bloc qui défile : les coins carrés de la photo dépassaient). */
.m-map #m-info.m-info {isolation:isolate;-webkit-mask-image:-webkit-radial-gradient(white,black);}
.m-map #m-info .m-district-hero {border-radius:12px 12px 0 0;background-clip:padding-box;}
