.esiran-main{direction:rtl;--es-cyan:#35d7ff;--es-orange:#ff8a1d;--es-bg:#07101f;--es-card:#0d192b;--es-line:rgba(255,255,255,.1);color:#eaf2ff}.esiran-main a{text-decoration:none}.esiran-hero,.esiran-province-hero{padding:80px 0 55px;background:radial-gradient(circle at 15% 10%,rgba(45,125,255,.2),transparent 32%),radial-gradient(circle at 85% 30%,rgba(255,126,26,.13),transparent 27%)}.esiran-hero-grid,.esiran-province-hero-grid{display:grid;grid-template-columns:1.25fr .65fr;gap:38px;align-items:center}.esiran-kicker,.esiran-heading>span{display:inline-block;color:var(--es-cyan);font-size:.82rem;font-weight:900;letter-spacing:.02em;margin-bottom:10px}.esiran-hero h1,.esiran-province-hero h1{font-size:clamp(2.15rem,5vw,4.5rem);line-height:1.22;margin:0 0 18px;color:#fff}.esiran-hero h1 span,.esiran-province-hero h1 span{background:linear-gradient(90deg,var(--es-cyan),#79a8ff,var(--es-orange));-webkit-background-clip:text;background-clip:text;color:transparent}.esiran-hero p,.esiran-province-hero p{font-size:1.02rem;line-height:2;color:#b8c7dc;max-width:850px}.esiran-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.esiran-primary,.esiran-secondary{padding:13px 19px;border-radius:14px;font-weight:900}.esiran-primary{background:linear-gradient(90deg,#0cbde9,#2e6bff);color:#fff}.esiran-secondary{border:1px solid var(--es-line);color:#dbe9ff;background:rgba(255,255,255,.03)}.esiran-stat,.esiran-mini-card{padding:30px;border:1px solid var(--es-line);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.02));box-shadow:0 30px 70px rgba(0,0,0,.22)}.esiran-stat b{font-size:5.4rem;line-height:1;background:linear-gradient(90deg,var(--es-cyan),var(--es-orange));-webkit-background-clip:text;background-clip:text;color:transparent}.esiran-stat strong{display:block;font-size:1.4rem;color:#fff}.esiran-stat p,.esiran-mini-card p{color:#93a8c6;line-height:1.8}.esiran-mini-card>span{color:#8aa4ca;font-size:.82rem}.esiran-mini-card>strong{display:block;font-size:2.2rem;color:#fff;margin:4px 0 12px}.esiran-mini-card i{display:block;color:#ffc069;font-style:normal;font-weight:800;margin-top:12px}.esiran-section{padding:70px 0}.esiran-dark{background:rgba(0,0,0,.18);border-top:1px solid rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.04)}.esiran-heading{max-width:850px;margin-bottom:28px}.esiran-heading h2{font-size:clamp(1.7rem,3vw,2.7rem);color:#fff;margin:0 0 10px}.esiran-heading p{color:#91a4c1;line-height:1.9}.esiran-heading.left{margin-right:0}.esiran-province-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.esiran-province-card{position:relative;padding:22px;border:1px solid var(--es-line);border-radius:20px;background:rgba(255,255,255,.03);transition:.25s ease;color:#fff}.esiran-province-card:hover{transform:translateY(-4px);border-color:rgba(53,215,255,.35);background:rgba(53,215,255,.045)}.esiran-province-card>span{display:block;font-size:.72rem;color:#7089ad}.esiran-province-card strong{display:block;font-size:1.12rem;margin:4px 0;color:#fff}.esiran-province-card small{color:#8fa4c1}.esiran-province-card i{position:absolute;left:15px;bottom:15px;color:var(--es-cyan);font-style:normal}.esiran-process{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.esiran-process article,.esiran-services article{padding:22px;border:1px solid var(--es-line);border-radius:21px;background:rgba(255,255,255,.03)}.esiran-process b,.esiran-services b{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:rgba(53,215,255,.11);color:var(--es-cyan);margin-bottom:14px}.esiran-process h3,.esiran-services h3{color:#fff;margin:0 0 7px;font-size:1rem}.esiran-process p,.esiran-services p{color:#8fa2bd;line-height:1.8;font-size:.86rem;margin:0}.esiran-breadcrumb{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:.8rem;color:#6f86a7;margin-bottom:26px}.esiran-breadcrumb a{color:#9db2cf}.esiran-city-cloud{display:flex;flex-wrap:wrap;gap:9px}.esiran-city-cloud span{padding:9px 13px;border:1px solid rgba(53,215,255,.13);border-radius:999px;background:rgba(53,215,255,.045);color:#c9ddf5;font-size:.83rem;transition:.2s}.esiran-city-cloud span:hover{border-color:rgba(255,138,29,.35);background:rgba(255,138,29,.055);color:#fff}.esiran-city-cloud.muted span{border-color:rgba(255,255,255,.08);background:rgba(255,255,255,.025)}.esiran-subareas{margin-top:32px;padding-top:25px;border-top:1px solid var(--es-line)}.esiran-subareas h3{color:#fff;margin-bottom:15px}.esiran-two{display:grid;grid-template-columns:1.35fr .65fr;gap:24px;align-items:start}.esiran-services{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.esiran-local-note{padding:27px;border:1px solid var(--es-line);border-radius:25px;background:linear-gradient(145deg,rgba(255,138,29,.075),rgba(255,255,255,.025));position:sticky;top:95px}.esiran-local-note h2{color:#fff;margin:0 0 10px}.esiran-local-note p,.esiran-local-note li{color:#9eafc7;line-height:1.9}.esiran-local-note hr{border:0;border-top:1px solid var(--es-line);margin:20px 0}.esiran-local-note>b{color:#fff}.esiran-local-note ul{padding-right:18px}.esiran-faq details{border:1px solid var(--es-line);border-radius:17px;background:rgba(255,255,255,.025);padding:17px 19px;margin:10px 0}.esiran-faq summary{cursor:pointer;font-weight:900;color:#fff}.esiran-faq details p{color:#9caec6;line-height:1.9;margin:12px 0 0}.esiran-callout{display:flex;justify-content:space-between;gap:28px;align-items:center;padding:31px;border:1px solid rgba(53,215,255,.18);border-radius:27px;background:linear-gradient(100deg,rgba(53,215,255,.065),rgba(255,138,29,.045))}.esiran-callout h2{color:#fff;margin:0 0 7px}.esiran-callout p{color:#93a8c4;margin:0}.esiran-callout>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.esiran-callout>div:last-child a{padding:11px 14px;border-radius:12px;background:#fff;color:#07101f;font-weight:900;direction:ltr}.esiran-main .container{width:min(1180px,calc(100% - 36px));margin-inline:auto}@media(max-width:960px){.esiran-hero-grid,.esiran-province-hero-grid,.esiran-two{grid-template-columns:1fr}.esiran-province-grid{grid-template-columns:repeat(3,1fr)}.esiran-process{grid-template-columns:repeat(2,1fr)}.esiran-local-note{position:static}.esiran-callout{align-items:flex-start;flex-direction:column}}@media(max-width:640px){.esiran-hero,.esiran-province-hero{padding:52px 0 35px}.esiran-section{padding:50px 0}.esiran-province-grid{grid-template-columns:repeat(2,1fr)}.esiran-process,.esiran-services{grid-template-columns:1fr}.esiran-province-card{padding:17px}.esiran-hero h1,.esiran-province-hero h1{font-size:2.15rem}.esiran-stat b{font-size:4rem}.esiran-callout{padding:23px}}

/* Tehran V2: district directory + schematic service map */
.esiran-tehran-special{background:radial-gradient(circle at 80% 20%,rgba(255,58,74,.07),transparent 30%),rgba(0,0,0,.08)}
.esiran-map-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:22px;align-items:stretch}.esiran-map-card,.esiran-map-copy{border:1px solid var(--es-line);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));overflow:hidden}.esiran-map-card{padding:20px}.esiran-map-title{display:flex;align-items:end;justify-content:space-between;gap:14px;padding:4px 6px 10px}.esiran-map-title strong{color:#fff;font-size:1.05rem}.esiran-map-title span{color:#758aa7;font-size:.74rem}.esiran-tehran-svg{width:100%;height:auto;display:block;min-height:360px}.esiran-map-land{fill:url(#esiranMapGlow)}.esiran-map-border{fill:none;stroke:#ff4055;stroke-width:4;stroke-linecap:round;stroke-dasharray:5 12;filter:url(#esiranGlow)}.esiran-map-divider{fill:none;stroke:rgba(255,255,255,.12);stroke-width:2;stroke-dasharray:5 9}.esiran-map-zone text{fill:#7f95b4;font-size:18px;font-weight:800}.esiran-map-point circle{fill:#ff4055;stroke:#fff;stroke-width:2}.esiran-map-point .pulse{fill:none;stroke:#ff4055;stroke-width:2;opacity:.38}.esiran-map-point text{fill:#fff;font-size:15px;font-weight:850}.esiran-map-legend{display:flex;gap:18px;flex-wrap:wrap;color:#8fa3bf;font-size:.76rem;padding:6px}.esiran-map-legend span{display:flex;align-items:center;gap:8px}.esiran-map-legend .dot{width:9px;height:9px;border-radius:50%;background:#ff4055;box-shadow:0 0 12px rgba(255,64,85,.65)}.esiran-map-legend .dash{width:30px;border-top:2px dashed #ff4055}.esiran-map-copy{padding:28px;display:flex;flex-direction:column;justify-content:center}.esiran-map-copy h3{color:#fff;font-size:1.65rem;line-height:1.45;margin:0 0 12px}.esiran-map-copy p{color:#9db0ca;line-height:2;margin:0 0 22px}.esiran-map-copy .esiran-primary{align-self:flex-start}.esiran-district-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.esiran-district-card{padding:19px;border:1px solid rgba(255,255,255,.09);border-radius:20px;background:rgba(255,255,255,.027);transition:.22s ease}.esiran-district-card:hover{transform:translateY(-3px);border-color:rgba(255,64,85,.32);background:rgba(255,64,85,.035)}.esiran-district-head{display:flex;gap:11px;align-items:center;margin-bottom:10px}.esiran-district-head b{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:11px;background:rgba(255,64,85,.11);border:1px solid rgba(255,64,85,.2);color:#ff7b8a}.esiran-district-head h3{color:#fff;font-size:1rem;margin:0}.esiran-district-card p{color:#91a6c2;font-size:.79rem;line-height:1.95;margin:0}.esiran-city-cloud span{content-visibility:auto}
@media(max-width:960px){.esiran-map-grid{grid-template-columns:1fr}.esiran-district-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.esiran-map-title{align-items:flex-start;flex-direction:column}.esiran-tehran-svg{min-height:260px}.esiran-map-point text{font-size:12px}.esiran-map-zone text{font-size:14px}.esiran-district-grid{grid-template-columns:1fr}.esiran-map-card{padding:12px}.esiran-map-copy{padding:22px}}

/* Tehran V3: real Google Maps base map + 22 municipal boundary overlay */
.esiran-google-map-wrap{position:relative;min-height:520px;border-radius:24px;overflow:hidden;background:#091425;border:1px solid rgba(255,255,255,.08)}
#esiran-google-map{width:100%;height:520px;min-height:520px;background:#091425}
.esiran-map-status{position:absolute;inset:18px auto auto 18px;z-index:5;max-width:360px;padding:11px 14px;border-radius:12px;background:rgba(8,16,29,.9);border:1px solid rgba(255,255,255,.12);color:#d8e2ef;font-size:.78rem;line-height:1.8;backdrop-filter:blur(8px)}
.esiran-google-credit{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:10px 4px 0;color:#7388a5;font-size:.68rem;line-height:1.8}
.esiran-google-credit a{color:#8ca7ca;text-decoration:none}.esiran-google-credit a:hover{color:#fff}
.esiran-map-admin-help{padding:18px;border-radius:18px;background:rgba(255,166,0,.08);border:1px solid rgba(255,166,0,.2);color:#f7d59d;line-height:1.9;margin:10px 0}.esiran-map-admin-help a{color:#fff;font-weight:800}
@media(max-width:640px){.esiran-google-map-wrap,#esiran-google-map{height:420px;min-height:420px}.esiran-map-status{inset:10px 10px auto 10px;max-width:none}}

/* v4: homepage Google map + province deep links */
.esiran-home-enhancement-source{display:none!important}
.esiran-home-map-wrap{margin:18px 0 16px;border:1px solid rgba(255,255,255,.10);border-radius:20px;overflow:hidden;background:#081321;box-shadow:0 18px 50px rgba(0,0,0,.18)}
.esiran-home-map-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;background:linear-gradient(90deg,rgba(22,87,150,.18),rgba(255,106,34,.08));border-bottom:1px solid rgba(255,255,255,.08)}
.esiran-home-map-head strong{display:block;color:#fff;font-size:.93rem}.esiran-home-map-head span{display:block;color:#91a5c2;font-size:.69rem;margin-top:2px}.esiran-home-map-head a{white-space:nowrap;color:#30c8f4;text-decoration:none;font-size:.72rem;font-weight:800}
.esiran-home-google-map{width:100%;height:330px;background:#0a1524}.esiran-home-map-status{padding:22px;text-align:center;color:#ffd0c5;background:rgba(255,80,70,.08);font-size:.78rem}
.esiran-home-map-legend{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;padding:10px 14px;color:#859ab8;font-size:.66rem;border-top:1px solid rgba(255,255,255,.06)}
.esiran-home-map-legend span{display:flex;gap:6px;align-items:center}.esiran-dot-orange{width:9px;height:9px;border-radius:50%;background:#ff6a22;box-shadow:0 0 0 3px rgba(255,106,34,.14)}.esiran-line-red{display:inline-block;width:24px;border-top:2px dashed #ff4255}
.province-cloud a{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.035);font-size:.76rem;color:#b9c8df;text-decoration:none;transition:.2s ease}.province-cloud a:hover{border-color:rgba(40,200,246,.32);color:#fff;background:rgba(40,200,246,.09);transform:translateY(-1px)}
@media(max-width:760px){.esiran-home-map-head{align-items:flex-start;flex-direction:column}.esiran-home-google-map{height:300px}.esiran-home-map-legend{font-size:.62rem}}

/* v4.3: Google Maps on every province page */
.esiran-province-map-section{background:radial-gradient(circle at 15% 30%,rgba(27,127,255,.07),transparent 28%),rgba(0,0,0,.06)}
.esiran-generic-map-wrap{min-height:470px}
#esiran-province-google-map{width:100%;height:470px;min-height:470px;background:#091425}
.esiran-map-city-sample{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 20px}.esiran-map-city-sample span{padding:7px 10px;border-radius:999px;border:1px solid rgba(53,215,255,.14);background:rgba(53,215,255,.045);color:#c8dcf3;font-size:.75rem}
@media(max-width:640px){.esiran-generic-map-wrap,#esiran-province-google-map{height:390px;min-height:390px}}
