/* Dynasty 8 — carte satellite immersive */
html,body{margin:0!important;padding:0!important;width:100%;height:100%;overflow:hidden;background:#080610;color:#f9edff}
.map-page,.map-layout{position:relative;width:100%;height:100vh;height:100dvh;margin:0;padding:0;max-width:none}
.map-viewport{position:absolute;inset:0;background:#080b14;z-index:0}
.map-viewport:after{content:"";position:absolute;inset:0;z-index:400;pointer-events:none;background:linear-gradient(90deg,rgba(15,4,30,.20),transparent 55%,rgba(12,5,25,.24))}
.leaflet-container{background:#080b14!important;font-family:inherit}
.leaflet-control-attribution{display:none}
.map-toolbar{position:absolute;top:20px;left:50%;transform:translateX(-50%);z-index:900;display:flex;justify-content:center;flex-wrap:wrap;gap:8px;max-width:calc(100% - 150px);pointer-events:auto}
.map-toolbar button{cursor:pointer;border:1px solid rgba(209,137,255,.6);border-radius:25px;padding:10px 15px;background:rgba(24,10,43,.68);backdrop-filter:blur(9px);color:#f5dcff;font-weight:800;box-shadow:0 0 14px rgba(143,48,225,.13)}
.map-toolbar button.on,.map-toolbar button:hover{background:rgba(129,44,193,.8);box-shadow:0 0 18px rgba(175,65,255,.55);color:white}
.map-buttons{position:absolute;top:92px;left:20px;z-index:900;display:grid;gap:8px}
.map-buttons button{width:43px;height:43px;border:1px solid #ca82ff;border-radius:12px;background:rgba(24,8,42,.7);color:white;font-size:24px;cursor:pointer;backdrop-filter:blur(8px)}
.map-hint{position:absolute;bottom:24px;left:22px;z-index:800;max-width:40%;padding:10px 13px;border-radius:10px;border:1px solid rgba(194,115,255,.4);background:rgba(13,6,28,.6);color:#f0d9ff;font-size:12px;pointer-events:none}
.map-credit{position:absolute;bottom:5px;left:12px;z-index:800;font-size:9px;color:#e2c9ed;text-shadow:0 1px 3px #000;pointer-events:none}
.zone-panel{position:absolute!important;right:25px!important;top:50%!important;transform:translate(24px,-50%)!important;z-index:850!important;width:750px!important;max-width:calc(100vw - 50px)!important;height:90dvh!important;box-sizing:border-box;overflow:auto;padding:28px 30px;border:1px solid rgba(210,135,255,.55)!important;border-radius:24px!important;background:rgba(25,12,42,.12)!important;backdrop-filter:blur(2px)!important;-webkit-backdrop-filter:blur(2px)!important;box-shadow:0 0 25px rgba(180,75,255,.22),inset 0 0 18px rgba(220,140,255,.04)!important;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s,transform .22s}
.zone-panel.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translate(0,-50%)!important}
.d8-panel-top{display:flex;justify-content:space-between;align-items:start;gap:15px}
.d8-kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:900;color:#edc7ff}
.zone-panel h2{font-size:clamp(27px,3vw,42px);line-height:1.1;margin:10px 0;text-shadow:0 0 15px #b054ff;color:white}
.zone-panel .type{font-weight:900;color:#e9baff;text-transform:uppercase;letter-spacing:.14em;font-size:12px}
.zone-panel p{line-height:1.6;color:#f6eaff;max-width:620px}
.zone-panel h3{font-size:18px;margin:26px 0 13px}
.d8-close{width:40px;height:40px;flex-shrink:0;border:1px solid rgba(230,178,255,.7);border-radius:12px;background:rgba(20,7,40,.4);color:white;font-size:24px;cursor:pointer}
.d8-panel-photo{height:175px;margin:20px 0;border-radius:18px;display:flex;align-items:end;padding:20px;background:linear-gradient(120deg,rgba(136,51,211,.48),rgba(20,9,40,.30)),radial-gradient(ellipse at 75% 35%,#6e3b8c,#1b1231 70%);border:1px solid rgba(230,180,255,.38);box-sizing:border-box}
.d8-panel-photo span{font-size:13px;color:#fff;text-shadow:0 2px 5px #000}
.d8-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.zone-panel .chip{padding:16px 18px;border-radius:13px;border:1px solid rgba(200,125,255,.45);background:rgba(30,14,49,.30);backdrop-filter:blur(3px);font-weight:800;font-size:14px}
.d8-pin{color:#e6b4ff;margin-right:9px}
.d8-note{display:block;margin-top:24px;color:#ecd6f7;font-size:12px;line-height:1.6}
.d8-zone-marker{width:18px;height:18px;border-radius:50%;background:var(--zone-color);border:2px solid #fff;box-shadow:0 0 0 8px color-mix(in srgb,var(--zone-color),transparent 80%),0 0 22px var(--zone-color);cursor:pointer;transition:transform .2s}
.d8-zone-marker:hover,.d8-zone-marker.active{transform:scale(1.35)}
.d8-zone-label{background:rgba(18,7,35,.72);border:1px solid rgba(220,155,255,.5);border-radius:9px;padding:5px 9px;color:#fff;font-size:12px;font-weight:900;text-shadow:0 1px 5px #000;white-space:nowrap;box-shadow:0 0 14px #6b2f9c70}
.leaflet-tooltip.d8-label-tooltip{background:transparent;border:0;box-shadow:none;padding:0;pointer-events:none}
.leaflet-tooltip.d8-label-tooltip:before{display:none}
.agent-link,.home-link{position:fixed;z-index:1000;text-decoration:none;color:white;background:rgba(65,20,102,.82);border:1px solid #cf8dff;border-radius:30px;padding:12px 16px;box-shadow:0 0 22px #ae4cff65;font:800 12px Arial;backdrop-filter:blur(7px)}
.agent-link{bottom:20px;right:25px}.home-link{top:20px;left:20px}
@media(max-width:900px){.map-toolbar{top:70px;max-width:calc(100% - 20px)}.map-toolbar button{padding:8px 10px;font-size:11px}.map-buttons{top:155px}.zone-panel{right:12px!important;width:calc(100vw - 24px)!important;height:72dvh!important;padding:19px}.zone-panel h2{font-size:28px}.d8-categories{grid-template-columns:1fr}.map-hint{display:none}.agent-link{bottom:12px;right:12px}}
@media(prefers-reduced-motion:reduce){.zone-panel,.d8-zone-marker{transition:none}}

}

/* DYNASTY 8 — EFFET NÉON DES ZONES */

.leaflet-overlay-pane svg path {
  transition:
    fill-opacity 0.25s ease,
    stroke-width 0.25s ease,
    filter 0.25s ease;
}

.leaflet-overlay-pane svg path:hover {
  filter:
    drop-shadow(0 0 5px #d98aff)
    drop-shadow(0 0 12px #a33cff);
}

/* DYNASTY 8 — CONTOURS NÉON */

.d8-neon-polygon {
  transition:
    fill-opacity 0.25s ease,
    stroke-width 0.25s ease,
    filter 0.25s ease;

  filter: drop-shadow(0 0 4px currentColor);
}

.d8-neon-polygon:hover {
  filter:
    drop-shadow(0 0 7px #d98aff)
    drop-shadow(0 0 14px #a33cff);
}

/* DYNASTY 8 — CONTOURS NEON */

.d8-neon-polygon {
  transition:
    fill-opacity 0.25s ease,
    stroke-width 0.25s ease,
    filter 0.25s ease;
  filter: drop-shadow(0 0 5px currentColor);
}

.d8-neon-polygon:hover {
  filter:
    drop-shadow(0 0 7px currentColor)
    drop-shadow(0 0 13px currentColor);
}

/* NOM DES QUARTIERS AU SURVOL */

.d8-label-tooltip {
  background: rgba(13, 8, 27, 0.94) !important;
  border: 1px solid #bb65ff !important;
  border-radius: 10px !important;
  box-shadow: 0 0 18px rgba(187, 101, 255, 0.5);
  color: white !important;
  padding: 7px 12px !important;
  font-weight: 700;
}

.d8-label-tooltip::before {
  display: none !important;
}

.d8-zone-label {
  color: #fff;
  letter-spacing: 0.5px;
}

/* DYNASTY 8 — TEST AFFICHAGE CARTE */

#viewport {
  position: relative !important;
  min-height: 600px !important;
  background: #151020 !important;
}

#viewport .leaflet-map-pane {
  visibility: visible !important;
  opacity: 1 !important;
}

#viewport .leaflet-tile-pane {
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 200 !important;
}

#viewport .leaflet-tile {
  visibility: visible !important;
  opacity: 1 !important;
  filter: none !important;
}

#viewport .leaflet-overlay-pane {
  z-index: 400 !important;
}

/* DYNASTY 8 — CARTE PLEIN ECRAN */

html, body {
  min-height: 100%;
}

.map-page {
  position: relative;
  width: 100%;
  min-height: 100vh;
}

#viewport {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100vh !important;
}
