/* نقشه‌های فلاورجان - همه انتخابگرها با پیشوند fmap- برای جلوگیری از تداخل */
.fmap{container-type:inline-size;display:block;width:100%;max-width:100%;font-family:var(--fmap-font,inherit);font-size:var(--fmap-fs,15px);line-height:1.8;color:var(--fmap-fg,#14202b);text-align:start;margin:0 0 1em;--fmap-active:#0b6e8a;--fmap-radius:8px;--fmap-head:"Lalezar",Vazirmatn,Tahoma,sans-serif}
.fmap,.fmap *,.fmap *::before,.fmap *::after{box-sizing:border-box}
.fmap .screen-reader-text{position:absolute;clip:rect(0 0 0 0);width:1px;height:1px;overflow:hidden}
.fmap button,.fmap select{font-family:inherit;font-size:inherit}
.fmap-empty{padding:12px;border:2px dashed #c3c4c7;text-align:center}

/* شبکه داخلی (مینی‌بوت‌استرپ) */
.fmap-row{display:flex;flex-wrap:wrap;margin-inline:-8px}
.fmap-col{flex:0 0 100%;max-width:100%;padding-inline:8px;min-width:0}

/* نوار انتخاب شهر */
.fmap-bar{display:flex;gap:10px;align-items:center;margin-bottom:12px;flex-wrap:wrap}
.fmap-label{font-weight:700}
.fmap-select{min-width:220px;padding:6px 10px;border:1px solid rgba(0,0,0,.25);border-radius:var(--fmap-radius);background:#fff;color:#14202b}
.fmap-select:focus-visible,.fmap-item:focus-visible,.fmap-btn:focus-visible,.fmap-close:focus-visible{outline:3px solid var(--fmap-active);outline-offset:2px}

/* نقشه SVG */
.fmap-mapwrap{position:relative;margin-bottom:12px}
.fmap-svg{display:block;width:100%;height:auto;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:var(--fmap-radius)}
.fmap-c{cursor:pointer;outline:none;text-decoration:none}
.fmap-c text{font-family:var(--fmap-head);font-size:calc(var(--fs,14) * 1px);font-weight:400;fill:var(--c);text-anchor:middle;dominant-baseline:middle;stroke:#fff;stroke-width:4;paint-order:stroke;stroke-linejoin:round;transform-box:fill-box;transform-origin:center;transition:transform .2s,fill .2s,stroke .2s}
.fmap-c circle{fill:#fff;stroke:var(--c);stroke-width:1.6;transition:stroke-width .2s}
.fmap-i{transition:transform .2s}
.fmap-c:hover text,.fmap-c:focus text,.fmap-c.is-active text{transform:scale(1.4);fill:#fff;stroke:var(--c);stroke-width:5}
.fmap-c:hover .fmap-i,.fmap-c:focus .fmap-i,.fmap-c.is-active .fmap-i{transform:scale(1.5)}
.fmap-c:hover circle,.fmap-c:focus circle,.fmap-c.is-active circle{stroke-width:2.6}

/* پنل اطلاعات */
.fmap-panel{background:var(--fmap-bg,#fff);color:var(--fmap-fg,#14202b);border:1px solid rgba(0,0,0,.12);border-radius:var(--fmap-radius);padding:14px;min-height:80px}
.fmap-hint{margin:0;opacity:.7}
.fmap-panel__head{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.fmap-panel__head h3{margin:0;font-size:1.2em;flex:1;color:inherit;font-family:var(--fmap-head)}
.fmap-close{display:none;border:0;background:transparent;color:inherit;font-size:24px;line-height:1;cursor:pointer;padding:0 6px}
.fmap-photo{display:block;max-width:100%;height:auto;border-radius:calc(var(--fmap-radius) - 2px);margin:0 0 10px}
.fmap-desc p{margin:0 0 .7em}
.fmap-desc a{color:var(--fmap-active)}
.fmap-btn{display:inline-block;margin-top:6px;padding:2px 16px;background:var(--fmap-active);color:#fff!important;border-radius:var(--fmap-radius);text-decoration:none!important}
.fmap-btn:hover{filter:brightness(1.1)}

/* فهرست‌ها: چیپ */
.fmap-list{list-style:none;margin:0;padding:0}
.fmap-list--chips{display:flex;flex-wrap:wrap;gap:6px}
.fmap-list--chips .fmap-item{border:1px solid var(--c,rgba(0,0,0,.25));background:transparent;color:var(--c,inherit);padding:0 12px;border-radius:99px;cursor:pointer;line-height:1.9;font-family:var(--fmap-head)}
.fmap-list--chips .fmap-item.is-active,.fmap-list--chips .fmap-item:hover{background:var(--c,var(--fmap-active));border-color:var(--c,var(--fmap-active));color:#fff}

/* طرح ۱: پنل کناری */
.fmap--s1 .fmap-panel{height:100%}

/* طرح ۲: پنجره شناور */
.fmap--s2 .fmap-panel{display:none;margin-top:10px}
.fmap--s2 .fmap-panel.is-open{display:block}
.fmap--s2 .fmap-panel.is-float{position:absolute;margin:0;z-index:6;box-shadow:0 10px 30px rgba(0,0,0,.28)}
.fmap--s2 .fmap-close{display:block}

/* طرح ۳: کارتی تیره */
.fmap--s3{background:var(--fmap-bg,#0f1a23);color:var(--fmap-fg,#e6edf2);padding:14px;border-radius:calc(var(--fmap-radius) + 4px)}
.fmap--s3 .fmap-svg{border:0}
.fmap--s3 .fmap-panel{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14);color:inherit;margin-bottom:12px}
.fmap--s3 .fmap-select{background:#16222d;color:#e6edf2;border-color:rgba(255,255,255,.25)}
.fmap-list--cards{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.fmap-list--cards .fmap-item{width:100%;display:flex;align-items:center;gap:8px;text-align:start;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);color:inherit;border-radius:var(--fmap-radius);padding:8px 10px;cursor:pointer;font-family:var(--fmap-head)}
.fmap-list--cards .fmap-item:hover,.fmap-list--cards .fmap-item.is-active{border-color:var(--c,var(--fmap-active));background:rgba(255,255,255,.14)}
.fmap-mini{flex:none;width:30px;height:30px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;color:var(--c)}
.fmap-mini svg{width:60%;height:60%;fill:currentColor}
.fmap-mini img{width:100%;height:100%;object-fit:cover;border-radius:50%}

/* طرح ۴: تمام‌عرض با ستون مطالب سمت چپ */
.fmap--s4{--fmap-dir:rtl}
.fmap--s4 .fmap-split{display:grid;grid-template-columns:clamp(300px,27%,420px) minmax(0,1fr);gap:16px;direction:ltr;align-items:stretch}
.fmap--s4 .fmap-mapcol{direction:var(--fmap-dir);min-width:0}
.fmap--s4 .fmap-svg{max-height:min(84vh,920px);border-radius:var(--fmap-radius)}
.fmap--s4 .fmap-posts{position:relative;min-height:340px;direction:var(--fmap-dir);background:var(--fmap-bg,#fff);color:var(--fmap-fg,#14202b);border:1px solid rgba(0,0,0,.12);border-top:4px solid var(--c,var(--fmap-active));border-radius:var(--fmap-radius);overflow:hidden}
.fmap-posts__in{position:absolute;inset:0;display:flex;flex-direction:column}
.fmap-posts__head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid rgba(0,0,0,.1);flex:none}
.fmap-posts__head strong{font-family:var(--fmap-head);font-size:1.45em;font-weight:400;color:var(--c,inherit);line-height:1.4}
.fmap-posts__all{font-size:.9em;color:var(--fmap-active);text-decoration:none;white-space:nowrap}
.fmap-posts__all:hover{text-decoration:underline}
.fmap-posts__list{flex:1;overflow:auto;overscroll-behavior:contain;padding:6px 8px;contain:content}
.fmap-posts__list .fmap-hint{padding:12px}
.fmap-post{display:grid;grid-template-columns:64px 1fr;grid-template-areas:"i t" "i d";column-gap:10px;align-items:center;padding:8px;border-radius:8px;color:inherit;text-decoration:none}
.fmap-post:hover,.fmap-post:focus-visible{background:rgba(0,0,0,.06)}
.fmap-post__img{grid-area:i;width:64px;height:64px;border-radius:8px;overflow:hidden;background:rgba(0,0,0,.08)}
.fmap-post__img img{display:block;width:100%;height:100%;object-fit:cover}
.fmap-post__t{grid-area:t;font-weight:700;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fmap-post__d{grid-area:d;font-size:.82em;opacity:.65}
.fmap--s4 .fmap-posts.is-swap .fmap-posts__in{animation:fmapIn .18s ease-out}
@keyframes fmapIn{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}

/* خروج از قاب قالب برای عرض کامل */
.fmap--bleed{width:var(--fmap-vw,100vw);max-width:var(--fmap-vw,100vw);margin-inline:calc(50% - var(--fmap-vw,100vw) / 2);padding-inline:clamp(10px,2vw,32px)}
.fmap-footer{max-width:1200px;margin:28px auto;padding-inline:16px;box-sizing:border-box}
.fmap-footer--full{max-width:none;padding-inline:0}
.fmap-footer--full .fmap-footer__title{padding-inline:clamp(10px,2vw,32px)}
.fmap-footer__title{font-size:1.4em;margin:0 0 12px;font-weight:800;display:flex;align-items:center;gap:10px}
.fmap-footer__title::before{content:"";width:6px;height:1.1em;background:var(--fmap-active,#0b6e8a);border-radius:2px}

/* محافظ در برابر استایل قالب‌ها و المنتور */
.fmap img{max-width:100%;box-shadow:none;border:0}
.fmap a{box-shadow:none;text-shadow:none}
.fmap .fmap-list,.fmap .fmap-list li{margin:0;padding:0;list-style:none}
.fmap .fmap-list li::before{content:none}
.fmap .fmap-item,.fmap .fmap-close{appearance:none;-webkit-appearance:none;box-shadow:none;text-shadow:none;text-transform:none;letter-spacing:normal;min-height:0;height:auto;margin:0;font-weight:400}
.fmap .fmap-item{font-size:inherit;line-height:1.9}
.fmap .fmap-select{height:auto;line-height:1.6;box-shadow:none;margin:0;text-transform:none}
.fmap .fmap-panel__head h3{margin:0;padding:0;line-height:1.6;text-transform:none;letter-spacing:normal}
.fmap .fmap-label{margin:0;display:inline;font-weight:700}
.fmap .fmap-btn{box-shadow:none;border:0;line-height:1.9}
.fmap .fmap-post{box-shadow:none}
