/* Interactive Istanbul map — adapted from the earlier Brand Invest map to the current editorial system. */
.istanbul-map-section{
  position:relative;
  overflow:hidden;
  background:var(--bg-soft)!important;
  border-block:1px solid var(--line-soft);
}
.istanbul-map-section .container{position:relative;z-index:1}
.geo-intro{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.55fr);gap:clamp(28px,6vw,88px);align-items:end;margin-bottom:clamp(34px,5vw,66px)}
.geo-intro .display{margin:12px 0 0;font-size:clamp(2.25rem,4.5vw,4.8rem);line-height:1.04;max-width:860px}
html[lang="fa"] .geo-intro .display{line-height:1.28}
.geo-intro p{color:var(--ink-2);line-height:1.85;margin:0;max-width:52ch}
html[lang="fa"] .geo-intro p{line-height:2}
.geo-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(370px,.67fr);gap:clamp(18px,2vw,30px);align-items:stretch}
.geo-map-card{position:relative;height:auto;min-height:660px;background:#d9ddd8;overflow:hidden;border:1px solid var(--line);border-radius:2px;isolation:isolate}
.geo-map-toolbar{position:absolute;z-index:8;inset-block-start:18px;inset-inline:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}
.geo-map-modes{display:flex;gap:5px;padding:5px;background:rgba(20,22,26,.8);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(12px);pointer-events:auto}
.geo-map-mode{border:0;background:transparent;color:rgba(255,255,255,.72);padding:9px 13px;border-radius:1px;font:500 .72rem/1 var(--sans);letter-spacing:.06em;cursor:pointer;transition:background .25s,color .25s}
html[lang="fa"] .geo-map-mode{font-family:var(--fa);letter-spacing:0;font-size:.84rem}
.geo-map-mode.active,.geo-map-mode:hover{background:#fff;color:var(--ink)}
.geo-live{display:flex;align-items:center;gap:8px;padding:10px 12px;background:rgba(20,22,26,.8);color:rgba(255,255,255,.72);font:500 .65rem/1 var(--sans);letter-spacing:.12em;border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(12px)}
html[lang="fa"] .geo-live{font-family:var(--fa);letter-spacing:0;font-size:.78rem}
.geo-live:before{content:"";width:7px;height:7px;border-radius:50%;background:#70d897;box-shadow:0 0 0 4px rgba(112,216,151,.14)}
.geo-map{position:absolute;inset:0;width:100%;height:100%;background:#d9ddd8}
.geo-map.maplibregl-map,.geo-map .maplibregl-canvas-container{width:100%;height:100%}
.geo-map canvas{filter:saturate(.7) brightness(.76) contrast(1.08)}
.geo-map-card:after{content:"";position:absolute;z-index:4;inset:0;pointer-events:none;box-shadow:inset 0 0 34px rgba(0,0,0,.16)}
.geo-map-fallback{position:absolute;z-index:2;inset:0;display:grid;place-items:center;text-align:center;padding:60px;background:linear-gradient(145deg,#e5e8e3,#cfd5cf);color:var(--ink);transition:opacity .42s var(--ease)}
.geo-map-card.is-ready .geo-map-fallback{opacity:0;pointer-events:none}
.geo-map-fallback strong{display:block;font-family:var(--serif);font-size:1.55rem;font-weight:400;margin-bottom:10px}
html[lang="fa"] .geo-map-fallback strong{font-family:var(--fa);font-weight:500}
.geo-map-fallback span{display:block;color:var(--ink-2);max-width:420px;line-height:1.8}
.geo-map-credit{position:absolute;z-index:9;inset-inline-start:16px;inset-block-end:14px;color:rgba(255,255,255,.56);font:500 .6rem/1.4 var(--sans);background:rgba(20,22,26,.72);border:1px solid rgba(255,255,255,.1);padding:7px 9px;backdrop-filter:blur(8px)}
html[lang="fa"] .geo-map-credit{font-family:var(--fa);font-size:.7rem}
.geo-panel{background:#fff;border:1px solid var(--line);padding:clamp(24px,2.35vw,34px);display:flex;flex-direction:column;height:auto;min-height:660px;overflow:visible}
.geo-panel-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding-bottom:15px;border-bottom:1px solid var(--line-soft)}
.geo-panel-index{font:600 .67rem/1 var(--sans);letter-spacing:.16em;color:var(--accent)}
.geo-panel-side{font-size:.76rem;color:var(--ink-3)}
html[lang="fa"] .geo-panel-index,html[lang="fa"] .geo-panel-side{font-family:var(--fa);letter-spacing:0}
.geo-area-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:100%;margin-bottom:22px}
.geo-area-buttons::-webkit-scrollbar{display:none}
.geo-area-button{min-width:0;width:100%;border:1px solid var(--line);background:#fff;color:var(--ink-2);border-radius:1px;padding:9px 7px;cursor:pointer;font-weight:500;font-size:.68rem;line-height:1.25;min-height:42px;white-space:normal;overflow-wrap:anywhere;word-break:normal;hyphens:auto;overflow:visible;text-overflow:clip;display:grid;place-items:center;text-align:center;transition:background .25s,color .25s,border-color .25s}
html[lang="fa"] .geo-area-button{font-family:var(--fa);font-size:.74rem}
.geo-area-button.active,.geo-area-button:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.geo-area-name{max-width:100%;font-size:clamp(2rem,2.65vw,3rem)!important;line-height:1.08;color:var(--ink);margin:0 0 12px;overflow-wrap:anywhere;word-break:normal}
html[lang="fa"] .geo-area-name{line-height:1.3}
.geo-area-desc{color:var(--ink-2);line-height:1.78;min-height:82px;margin:0 0 16px}
html[lang="fa"] .geo-area-desc{line-height:2}
.geo-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}
.geo-tags span{background:var(--bg-soft);color:var(--ink-2);border:1px solid var(--line-soft);border-radius:1px;padding:7px 9px;font-size:.72rem}
html[lang="fa"] .geo-tags span{font-family:var(--fa);font-size:.8rem}
.geo-ratings{display:grid;gap:9px;margin-bottom:20px}
.geo-rating{display:grid;grid-template-columns:105px 1fr;gap:10px;align-items:center;font-size:.74rem;color:var(--ink-2)}
html[lang="fa"] .geo-rating{font-family:var(--fa);font-size:.82rem}
.geo-rating-bars{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}
.geo-rating-bars i{height:4px;background:#dedede}
.geo-rating-bars i.on{background:var(--accent)}
.geo-panel .btn{margin-top:auto;width:100%}
.geo-note{margin:11px 0 0;color:var(--ink-3);font-size:.66rem;line-height:1.55}
html[lang="fa"] .geo-note{font-size:.78rem}
.geo-marker{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#c99a55;border:3px solid #17191d;box-shadow:0 0 0 4px rgba(201,154,85,.22),0 8px 18px rgba(0,0,0,.34);cursor:pointer}
.geo-marker:after{content:attr(data-label);position:absolute;top:23px;white-space:nowrap;background:rgba(20,22,26,.9);color:#fff;border:1px solid rgba(255,255,255,.14);padding:5px 8px;font:500 10px/1.2 var(--sans);box-shadow:0 6px 18px rgba(0,0,0,.22)}
html[lang="fa"] .geo-marker:after{font-family:var(--fa)}
.maplibregl-ctrl-group{background:rgba(20,22,26,.82)!important;border:1px solid rgba(255,255,255,.14)!important;box-shadow:none!important;border-radius:1px!important}
.maplibregl-ctrl-group button{filter:invert(1);opacity:.82}
.maplibregl-ctrl-attrib{display:none!important}
.maplibregl-popup-content{background:#17191d!important;color:#fff!important;border-radius:1px!important;border:1px solid rgba(201,154,85,.28);padding:14px 16px!important}
.maplibregl-popup-tip{border-top-color:#17191d!important}
@media(max-width:1050px){
  .geo-intro{grid-template-columns:1fr;gap:20px}
  .geo-layout{grid-template-columns:1fr}
  .geo-map-card{height:590px;min-height:590px}
  .geo-panel{height:auto;min-height:0;overflow:visible}
}
@media(max-width:700px){
  .istanbul-map-section,
  .geo-intro,
  .geo-layout,
  .geo-map-card,
  .geo-panel{min-width:0;max-width:100%}
  .geo-map-card{height:500px;min-height:500px}
  .geo-map-toolbar{inset-block-start:10px;inset-inline:10px}
  .geo-live{display:none}
  .geo-map-mode{padding:8px 9px;font-size:.62rem}
  .geo-map-credit{inset-inline-start:10px;inset-block-end:9px;font-size:.52rem}
  .geo-panel{padding:22px}
  .geo-area-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .geo-area-button{font-size:.74rem;padding:10px 7px}
  html[lang="fa"] .geo-area-button{font-size:.8rem}
  .geo-area-name{font-size:clamp(2rem,10vw,2.7rem)!important}
  .geo-rating{grid-template-columns:100px 1fr}
  .geo-map-fallback{padding:32px}
}
