/* Municipal Pro-style effects - works without Elementor Pro */
.municipal-section{position:relative;overflow:hidden}
.municipal-section:before{content:"";position:absolute;inset:auto -120px -160px auto;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(8,127,143,.08),transparent 68%);pointer-events:none}
.municipal-section-heading{position:relative}
.municipal-section-heading:after{content:"";display:block;width:54px;height:3px;margin:17px auto 0;border-radius:10px;background:linear-gradient(90deg,#087f8f,#f6a51a);transform:scaleX(.35);transform-origin:center;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.municipal-section.is-visible .municipal-section-heading:after{transform:scaleX(1)}
.municipal-reveal{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.8,.2,1)}
.municipal-reveal.is-visible{opacity:1;transform:none}
.municipal-reveal[data-delay="1"]{transition-delay:.08s}.municipal-reveal[data-delay="2"]{transition-delay:.16s}.municipal-reveal[data-delay="3"]{transition-delay:.24s}.municipal-reveal[data-delay="4"]{transition-delay:.32s}
.municipal-service-grid,.municipal-highlight-grid,.municipal-link-grid{position:relative}
.municipal-carousel{display:flex!important;grid-template-columns:none!important;overflow-x:auto!important;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:8px 3px 22px;margin:0 -3px;scrollbar-width:none}
.municipal-carousel::-webkit-scrollbar{display:none}
.municipal-carousel > *{flex:0 0 calc((100% - 36px)/3);scroll-snap-align:start}
.municipal-highlight-grid.municipal-carousel > *{flex-basis:calc((100% - 40px)/3)}
.municipal-link-grid.municipal-carousel > *{flex-basis:calc((100% - 32px)/3)}
.municipal-carousel-nav{display:flex;justify-content:flex-end;gap:8px;margin:-2px 0 16px}
.municipal-carousel-btn{width:42px;height:42px;border:1px solid #dbe5eb;border-radius:50%;background:#fff;color:#12304a;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(15,44,70,.08);transition:transform .2s,box-shadow .2s,background .2s,color .2s}
.municipal-carousel-btn:hover{transform:translateY(-2px);background:#087f8f;color:#fff;box-shadow:0 10px 24px rgba(8,127,143,.2)}
.municipal-service-card,.municipal-highlight-card,.municipal-link-card{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s}
.municipal-service-card:hover{transform:translateY(-8px) scale(1.01)}
.municipal-highlight-card:hover{transform:translateY(-7px)}
.municipal-link-card:hover{transform:translateY(-5px)}
.municipal-service-card .municipal-card-icon{transition:transform .35s,background .35s}
.municipal-service-card:hover .municipal-card-icon{transform:rotate(-5deg) scale(1.08);background:#087f8f;color:#fff}
.municipal-service-card span:last-child,.municipal-link-arrow{transition:transform .25s}
.municipal-service-card:hover span:last-child{transform:translateX(4px)}
.municipal-highlight-card{position:relative}
.municipal-highlight-card:after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#087f8f,#f6a51a);transform:scaleX(0);transform-origin:left;transition:transform .45s}
.municipal-highlight-card:hover:after{transform:scaleX(1)}
.municipal-btn{position:relative;overflow:hidden;isolation:isolate}
.municipal-btn:before{content:"";position:absolute;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.28);transform:translate(-50%,-50%);transition:width .5s,height .5s;z-index:-1}
.municipal-btn:hover:before{width:260px;height:260px}
.municipal-welcome{position:relative}
.municipal-welcome:after{content:"";position:absolute;width:460px;height:460px;border-radius:50%;right:-180px;top:-180px;border:1px solid rgba(255,255,255,.13);box-shadow:0 0 0 60px rgba(255,255,255,.03),0 0 0 120px rgba(255,255,255,.02);pointer-events:none}
.municipal-welcome-panel{transition:transform .5s cubic-bezier(.2,.8,.2,1),background .5s}
.municipal-welcome-panel:hover{transform:translateY(-7px) rotate(.4deg);background:rgba(255,255,255,.14)}
.municipal-mini-stats b{display:inline-block;animation:municipal-pulse 2.8s ease-in-out infinite}
@keyframes municipal-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
.municipal-update-list{position:relative}
.municipal-update{transition:transform .3s,box-shadow .3s,border-color .3s}
.municipal-update:hover{transform:translateX(6px);box-shadow:0 10px 25px rgba(15,44,70,.08);border-color:#c7dfe6}
.municipal-notice-panel{position:relative;overflow:hidden}
.municipal-notice-panel:after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-65px;bottom:-70px;border:25px solid rgba(255,255,255,.06)}
.municipal-leader-card{transition:transform .35s,box-shadow .35s}
.municipal-leader-card:hover{transform:translateY(-6px);box-shadow:0 18px 35px rgba(15,44,70,.1)}
.municipal-leader-card img{transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.municipal-leader-card:hover img{transform:scale(1.04)}
.municipal-cta-inner{position:relative;overflow:hidden}
.municipal-cta-inner:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;right:-110px;top:-140px;border:1px solid rgba(255,255,255,.14);box-shadow:0 0 0 45px rgba(255,255,255,.035),0 0 0 90px rgba(255,255,255,.02)}
.municipal-cta-inner>*{position:relative;z-index:1}
.municipal-section.municipal-parallax{background-attachment:fixed;background-size:cover;background-position:center}
@media(max-width:900px){.municipal-carousel > *,.municipal-highlight-grid.municipal-carousel > *, .municipal-link-grid.municipal-carousel > *{flex-basis:calc((100% - 18px)/2)}}
@media(max-width:600px){.municipal-carousel > *,.municipal-highlight-grid.municipal-carousel > *, .municipal-link-grid.municipal-carousel > *{flex-basis:86%}.municipal-carousel-nav{justify-content:center}.municipal-section-heading:after{margin-top:13px}}
@media(prefers-reduced-motion:reduce){.municipal-reveal{opacity:1;transform:none;transition:none}.municipal-section-heading:after{transition:none}.municipal-service-card,.municipal-highlight-card,.municipal-link-card,.municipal-leader-card{transition:none}.municipal-mini-stats b{animation:none}.municipal-welcome-panel:hover,.municipal-service-card:hover,.municipal-highlight-card:hover,.municipal-link-card:hover,.municipal-leader-card:hover{transform:none}}

/* v7.2 civic portal service system */
.municipal-services-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.municipal-services-controls{display:flex;gap:9px;padding-bottom:15px}.municipal-services .municipal-section-heading{text-align:left}.municipal-services .municipal-section-heading:after{margin-left:0}.municipal-services .municipal-carousel{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;gap:18px!important;padding:10px 4px 24px!important}.municipal-services .municipal-carousel::-webkit-scrollbar{display:none!important}.municipal-services .municipal-carousel>*{flex:0 0 calc((100% - 54px)/4)!important;min-width:260px!important;scroll-snap-align:start!important}
.municipal-service-card{display:flex;gap:16px;align-items:flex-start;min-height:205px;padding:24px 20px;border:1px solid #e1e9ee;border-radius:16px;background:#fff;box-shadow:0 8px 26px rgba(15,44,70,.055);text-decoration:none!important;position:relative;overflow:hidden;box-sizing:border-box!important}.municipal-service-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#087f8f,#f6a51a);transform:scaleY(0);transform-origin:top;transition:transform .35s}.municipal-service-card:hover:before{transform:scaleY(1)}.municipal-service-icon-wrap{flex:0 0 auto}.municipal-service-card .municipal-card-icon{width:58px;height:58px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:#eef8f9;color:#087f8f;font-size:24px;border:1px solid #d9edef;flex-shrink:0!important}.municipal-service-copy{min-width:0;flex:1 1 auto;word-break:normal!important;overflow-wrap:break-word!important}.municipal-service-category{display:inline-block;font-size:10px;line-height:1.2;font-weight: 600;letter-spacing:.09em;text-transform:uppercase;color:#718493;margin-bottom:7px}.municipal-service-card h3{font-size:17px;margin:0 0 8px;color:#17344b;line-height:1.3;word-break:normal!important;hyphens:manual!important}.municipal-service-card p{font-size:13px;line-height:1.55;color:#657887;margin:0 0 13px;word-break:normal!important;overflow-wrap:break-word!important}.municipal-service-link{font-size:12px;font-weight: 600;color:#087f8f;white-space:nowrap}.municipal-service-link i{margin-left:5px;transition:transform .25s}.municipal-service-card:hover .municipal-service-link i{transform:translateX(4px)}.municipal-centered-action{text-align:center;margin-top:26px}.municipal-btn-outline{display:inline-flex!important;align-items:center;gap:8px;border:1px solid #087f8f!important;background:#fff!important;color:#087f8f!important}.municipal-btn-outline:hover{background:#087f8f!important;color:#fff!important}
.municipal-transparency-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.municipal-transparency-card{display:flex;align-items:flex-start;gap:14px;padding:20px;border:1px solid #dfe8ed;border-radius:14px;background:#f8fafb;text-decoration:none!important;transition:transform .3s,background .3s,box-shadow .3s}.municipal-transparency-card:hover{transform:translateY(-5px);background:#fff;box-shadow:0 12px 28px rgba(15,44,70,.08)}.municipal-transparency-card .municipal-card-icon{flex:0 0 46px;width:46px;height:46px;border-radius:11px;background:#fff;color:#087f8f;display:flex;align-items:center;justify-content:center;border:1px solid #dce7eb}.municipal-transparency-card h3{font-size:15px;margin:0 0 6px;color:#17344b}.municipal-transparency-card p{font-size:12px;line-height:1.5;margin:0;color:#718493}.municipal-transparency-card>span{margin-left:auto;font-size:11px;font-weight: 600;color:#087f8f;white-space:nowrap}.municipal-services .municipal-section-heading p{max-width:700px}
@media(max-width:1199px){.municipal-services .municipal-carousel>*{flex:0 0 calc((100% - 36px)/3)!important;min-width:260px!important}}
@media(max-width:991px){.municipal-services .municipal-carousel>*{flex:0 0 calc((100% - 18px)/2)!important;min-width:250px!important}}
@media(max-width:767px){.municipal-services-head{align-items:flex-start;flex-wrap:wrap;gap:12px}.municipal-services-controls{padding-top:0;padding-bottom:10px}.municipal-services .municipal-carousel{padding-left:0!important;padding-right:0!important;gap:12px!important}.municipal-services .municipal-carousel>*{flex:0 0 88%!important;min-width:250px!important;max-width:340px!important;scroll-snap-align:center!important}.municipal-service-card{min-height:165px!important;padding:18px 16px!important;gap:13px!important}.municipal-service-card .municipal-card-icon{width:46px!important;height:46px!important;font-size:19px!important;border-radius:12px!important}.municipal-service-card h3{font-size:15px!important;line-height:1.35!important}.municipal-service-card p{font-size:12px!important;line-height:1.5!important;margin-bottom:8px!important}}
@media(max-width:480px){.municipal-services .municipal-carousel>*{flex:0 0 92%!important;min-width:240px!important;max-width:none!important}}
.municipal-quick-actions{background:linear-gradient(180deg,#f7fbfc 0,#fff 100%)}
.municipal-transparency{background:#f7fafb}
/* v7.3 premium civic portal visual system */
.municipal-premium-home{background:#fff;color:#18344b;overflow:hidden}.municipal-container{max-width:1180px;margin:0 auto;padding-left:24px;padding-right:24px}.municipal-commandbar{background:#092c4a;color:#d9e8f1;font-size:12px}.municipal-commandbar .municipal-container{display:flex;justify-content:space-between;min-height:38px;align-items:center}.municipal-commandbar-left,.municipal-commandbar-right{display:flex;gap:22px;align-items:center}.municipal-commandbar a{color:#fff;text-decoration:none}.municipal-commandbar i{margin-right:5px;color:#69c6cc}.municipal-hero-premium{background:radial-gradient(circle at 78% 20%,rgba(50,177,187,.23),transparent 33%),linear-gradient(135deg,#082b49 0%,#0a405c 48%,#087d86 100%);color:#fff;position:relative}.municipal-hero-premium:before{content:"";position:absolute;inset:auto -10% -130px auto;width:520px;height:520px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018)}.municipal-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center;min-height:590px;padding:72px 0}.municipal-hero-copy{position:relative;z-index:2}.municipal-hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);padding:8px 13px;border-radius:30px;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.municipal-hero-copy h1{font-size:58px;line-height:1.06;letter-spacing:-.035em;margin:24px 0 20px;max-width:760px}.municipal-hero-copy h1 em{font-style:normal;color:#79d8d3}.municipal-hero-copy p{font-size:18px;line-height:1.7;color:#d7e8ee;max-width:650px}.municipal-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.municipal-btn{border-radius:10px!important;padding:13px 19px!important;font-weight: 600 !important;transition:transform .25s,box-shadow .25s,background .25s!important}.municipal-btn:hover{transform:translateY(-2px)}.municipal-btn-primary{background:#f5b84b!important;color:#092c4a!important;box-shadow:0 10px 30px rgba(0,0,0,.14)}.municipal-btn-ghost{border:1px solid rgba(255,255,255,.28)!important;color:#fff!important;background:rgba(255,255,255,.06)!important}.municipal-trust-row{display:flex;gap:24px;margin-top:27px;color:#c4dce5;font-size:12px}.municipal-trust-row i{color:#72d5ce;margin-right:6px}.municipal-hero-dashboard{position:relative;z-index:2;background:rgba(255,255,255,.95);color:#17344b;border:1px solid rgba(255,255,255,.45);border-radius:24px;padding:20px;box-shadow:0 28px 80px rgba(0,0,0,.22);transform:rotate(1deg);transition:transform .5s}.municipal-hero-dashboard:hover{transform:rotate(0) translateY(-5px)}.municipal-dashboard-top{display:flex;justify-content:space-between;font-weight: 600;font-size:13px;padding:4px 3px 15px}.municipal-dashboard-primary{display:flex;align-items:center;gap:12px;padding:17px;border-radius:16px;background:linear-gradient(135deg,#e8f8f8,#f7fbfc);border:1px solid #d7eeee}.municipal-dashboard-primary>i{margin-left:auto}.municipal-dashboard-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:#087f8f;color:#fff;font-size:18px}.municipal-dashboard-card small,.municipal-dashboard-card strong{display:block}.municipal-dashboard-card small{color:#728593;font-size:11px}.municipal-dashboard-card strong{font-size:16px;margin-top:4px}.municipal-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.municipal-dashboard-grid div{border:1px solid #e4ebef;border-radius:14px;padding:15px}.municipal-dashboard-grid i{color:#087f8f;font-size:18px;display:block;margin-bottom:11px}.municipal-dashboard-grid b,.municipal-dashboard-grid small{display:block}.municipal-dashboard-grid b{font-size:13px}.municipal-dashboard-grid small{font-size:10px;color:#81919c;margin-top:3px}.municipal-dashboard-status{margin-top:12px;padding:11px 13px;border-radius:12px;background:#f5f8f9;display:flex;justify-content:space-between;font-size:11px}.municipal-dashboard-status i{font-size:7px;color:#27ad79}.municipal-metric-strip{background:#fff;border-bottom:1px solid #e7eef1;box-shadow:0 7px 22px rgba(13,42,62,.05);position:relative;z-index:3}.municipal-metrics{display:grid;grid-template-columns:repeat(4,1fr)}.municipal-metrics>div{padding:24px 25px;border-right:1px solid #e7eef1}.municipal-metrics>div:last-child{border-right:0}.municipal-metrics strong{display:block;font-size:25px;color:#087f8f}.municipal-metrics span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#7b8c97}.municipal-section{padding:88px 0}.municipal-services-premium{background:#f8fbfc}.municipal-premium-heading,.municipal-two-col-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:28px}.municipal-kicker{font-size:10px;font-weight: 600;letter-spacing:.14em;color:#087f8f}.municipal-premium-heading h2,.municipal-two-col-head h2{font-size:38px;line-height:1.15;margin:8px 0 8px;color:#12334b;letter-spacing:-.025em}.municipal-premium-heading p,.municipal-two-col-head p{margin:0;color:#71818d;max-width:680px;line-height:1.7}.municipal-text-link{color:#087f8f;font-weight: 600;text-decoration:none;white-space:nowrap}.municipal-service-categories{display:flex;gap:8px;overflow:auto;padding-bottom:18px}.municipal-service-categories button{border:1px solid #dce7eb;background:#fff;border-radius:30px;padding:9px 14px;color:#657987;font-size:11px;white-space:nowrap;cursor:pointer}.municipal-service-categories button.active,.municipal-service-categories button:hover{background:#087f8f;color:#fff;border-color:#087f8f}.municipal-premium-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.municipal-premium-service{background:#fff;border:1px solid #e0e9ed;border-radius:17px;padding:21px;text-decoration:none!important;min-height:245px;position:relative;overflow:hidden;transition:transform .35s,box-shadow .35s,border-color .35s}.municipal-premium-service:after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;background:#edf8f8;right:-45px;top:-45px;transition:transform .4s}.municipal-premium-service:hover{transform:translateY(-7px);box-shadow:0 18px 40px rgba(11,50,70,.1);border-color:#c7e4e5}.municipal-premium-service:hover:after{transform:scale(2)}.municipal-premium-service-icon{width:48px;height:48px;display:grid;place-items:center;background:#edf8f8;color:#087f8f;border-radius:13px;font-size:20px;position:relative;z-index:1}.municipal-service-category{display:block;margin-top:16px;color:#8a9aa4;font-size:9px;font-weight: 600;text-transform:uppercase;letter-spacing:.1em}.municipal-premium-service h3{font-size:17px;margin:7px 0;color:#17344b}.municipal-premium-service p{font-size:12px;line-height:1.55;color:#70818c;margin:0 0 16px}.municipal-service-go{font-size:11px;font-weight: 600;color:#087f8f}.municipal-service-go i{transition:transform .25s}.municipal-premium-service:hover .municipal-service-go i{transform:translateX(5px)}.municipal-center{text-align:center;margin-top:28px}.municipal-btn-outline{border:1px solid #087f8f!important;color:#087f8f!important;background:#fff!important}.municipal-updates-premium{background:#fff}.municipal-updates-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px}.municipal-feature-notice{border-radius:22px;padding:34px;background:linear-gradient(145deg,#0b3551,#087f8f);color:#fff;position:relative;overflow:hidden}.municipal-feature-notice:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;border:45px solid rgba(255,255,255,.045);right:-110px;bottom:-100px}.municipal-notice-label{font-size:10px;letter-spacing:.13em;color:#92e2dc;font-weight: 600}.municipal-feature-notice h3{font-size:27px;line-height:1.25;margin:18px 0 13px}.municipal-feature-notice p{color:#d5e8eb;line-height:1.7;font-size:13px}.municipal-feature-notice a{color:#fff;font-weight: 600;text-decoration:none;font-size:12px}.municipal-update-list{display:flex;flex-direction:column;gap:9px}.municipal-premium-update{display:grid;grid-template-columns:72px 1fr 20px;align-items:center;gap:17px;padding:16px 18px;border:1px solid #e2eaee;border-radius:14px;text-decoration:none!important;transition:transform .25s,box-shadow .25s}.municipal-premium-update:hover{transform:translateX(5px);box-shadow:0 10px 26px rgba(15,44,70,.07)}.municipal-date{text-align:center;border-right:1px solid #e1e8ec;padding-right:15px}.municipal-date b,.municipal-date small{display:block}.municipal-date b{font-size:18px;color:#087f8f}.municipal-date small{font-size:9px;text-transform:uppercase;color:#8796a0}.municipal-premium-update em{font-style:normal;font-size:9px;font-weight: 600;color:#087f8f;letter-spacing:.09em}.municipal-premium-update strong{display:block;color:#17344b;font-size:13px;margin-top:5px}.municipal-premium-update>i{color:#9aabb4}.municipal-leadership-premium{background:#f7fafb}.municipal-leaders-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.municipal-leaders-grid article{display:flex;gap:20px;background:#fff;border:1px solid #e1e9ed;border-radius:20px;padding:25px;transition:transform .3s,box-shadow .3s}.municipal-leaders-grid article:hover{transform:translateY(-6px);box-shadow:0 18px 36px rgba(15,44,70,.08)}.municipal-leader-avatar{width:92px;height:92px;border-radius:50%;flex:0 0 92px;display:grid;place-items:center;background:linear-gradient(135deg,#dff3f3,#eef5f6);color:#087f8f;font-size:35px;border:5px solid #fff;box-shadow:0 8px 24px rgba(15,44,70,.1)}.municipal-leader-avatar.commissioner{background:linear-gradient(135deg,#f9ead0,#f7f3ea);color:#9a6b16}.municipal-leaders-grid span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#087f8f;font-weight: 600}.municipal-leaders-grid h3{margin:6px 0;font-size:20px}.municipal-leaders-grid p{font-size:12px;line-height:1.65;color:#71818d}.municipal-leaders-grid a{font-size:11px;font-weight: 600;color:#087f8f;text-decoration:none}.municipal-city-premium{background:#fff}.municipal-highlight-premium-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.municipal-city-card{padding:25px;border-radius:18px;background:linear-gradient(145deg,#f8fbfc,#fff);border:1px solid #e0e9ed;transition:transform .35s,box-shadow .35s}.municipal-city-card:hover{transform:translateY(-7px);box-shadow:0 18px 38px rgba(15,44,70,.08)}.municipal-city-icon{width:55px;height:55px;border-radius:15px;background:#eaf7f7;color:#087f8f;display:grid;place-items:center;font-size:22px}.municipal-city-card span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#8897a1;margin-top:20px}.municipal-city-card h3{font-size:17px;margin:6px 0}.municipal-city-card p{font-size:12px;line-height:1.6;color:#71818d}.municipal-city-card a{font-size:11px;font-weight: 600;color:#087f8f;text-decoration:none}.municipal-project-premium{padding-top:10px}.municipal-project-inner{background:linear-gradient(135deg,#0b3551,#087f8f);border-radius:25px;padding:48px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;overflow:hidden}.municipal-project-inner:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.11);border-radius:50%;right:-160px;top:-200px;box-shadow:0 0 0 65px rgba(255,255,255,.025)}.municipal-project-inner>*{position:relative;z-index:1}.municipal-project-inner h2{font-size:34px;margin:10px 0}.municipal-project-inner p{max-width:690px;color:#d6e9ed;line-height:1.7}.municipal-project-stats{display:flex;gap:30px;margin-top:25px}.municipal-project-stats span{font-size:11px;color:#d3e6ea}.municipal-project-stats b{display:block;color:#fff;font-size:22px}.municipal-transparency-premium{background:#f7fafb}.municipal-links-premium-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.municipal-premium-link{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid #e0e9ed;border-radius:15px;padding:18px;text-decoration:none!important;transition:transform .3s,box-shadow .3s}.municipal-premium-link:hover{transform:translateY(-5px);box-shadow:0 14px 30px rgba(15,44,70,.07)}.municipal-premium-link>span{width:44px;height:44px;display:grid;place-items:center;background:#edf8f8;color:#087f8f;border-radius:11px;flex:0 0 44px}.municipal-premium-link h3{font-size:14px;margin:0 0 4px;color:#17344b}.municipal-premium-link p{font-size:11px;line-height:1.45;color:#7a8993;margin:0}.municipal-premium-link>i{margin-left:auto;color:#9babb4}.municipal-contact-premium{padding-top:20px}.municipal-contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:35px;align-items:center;padding:38px;border:1px solid #e0e9ed;border-radius:23px;background:#fff;box-shadow:0 15px 40px rgba(15,44,70,.05)}.municipal-contact-grid h2{font-size:32px;margin:9px 0}.municipal-contact-grid p{color:#71818d;line-height:1.6}.municipal-contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}.municipal-contact-cards a{display:flex;gap:12px;align-items:center;padding:16px;border-radius:14px;background:#f7fafb;text-decoration:none!important}.municipal-contact-cards i{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#087f8f;color:#fff}.municipal-contact-cards small,.municipal-contact-cards strong{display:block}.municipal-contact-cards small{font-size:9px;color:#84939d;text-transform:uppercase;letter-spacing:.08em}.municipal-contact-cards strong{font-size:12px;color:#17344b;margin-top:3px}.municipal-final-cta{background:#f2f7f8;padding:55px 0}.municipal-final-cta .municipal-container{display:flex;justify-content:space-between;align-items:center;gap:25px}.municipal-final-cta span{font-size:10px;letter-spacing:.13em;font-weight: 600;color:#087f8f}.municipal-final-cta h2{font-size:29px;margin:7px 0}.municipal-final-cta p{color:#71818d;margin:0}.municipal-final-cta .municipal-btn{background:#087f8f!important;color:#fff!important}
@media(max-width:1000px){.municipal-hero-grid{grid-template-columns:1fr;gap:30px}.municipal-hero-copy h1{font-size:48px}.municipal-premium-service-grid{grid-template-columns:repeat(2,1fr)}.municipal-highlight-premium-grid{grid-template-columns:repeat(2,1fr)}.municipal-links-premium-grid{grid-template-columns:repeat(2,1fr)}.municipal-updates-grid,.municipal-contact-grid{grid-template-columns:1fr}.municipal-project-inner{align-items:flex-start;flex-direction:column}.municipal-project-inner .municipal-btn{align-self:flex-start}}
@media(max-width:700px){.municipal-commandbar-left span:nth-child(2),.municipal-commandbar-right{display:none}.municipal-commandbar .municipal-container{justify-content:center}.municipal-hero-grid{min-height:auto;padding:48px 0}.municipal-hero-copy h1{font-size:38px}.municipal-hero-copy p{font-size:15px}.municipal-trust-row{flex-wrap:wrap;gap:10px}.municipal-hero-dashboard{transform:none}.municipal-metrics{grid-template-columns:1fr 1fr}.municipal-metrics>div{padding:18px}.municipal-section{padding:62px 0}.municipal-premium-heading,.municipal-two-col-head{display:block}.municipal-premium-heading h2,.municipal-two-col-head h2{font-size:31px}.municipal-premium-heading .municipal-text-link,.municipal-two-col-head .municipal-text-link{display:inline-block;margin-top:15px}.municipal-premium-service-grid,.municipal-highlight-premium-grid,.municipal-links-premium-grid,.municipal-leaders-grid{grid-template-columns:1fr}.municipal-updates-grid{gap:15px}.municipal-project-inner{padding:30px 24px}.municipal-project-inner h2{font-size:28px}.municipal-project-stats{gap:15px;flex-wrap:wrap}.municipal-contact-cards{grid-template-columns:1fr}.municipal-final-cta .municipal-container{display:block}.municipal-final-cta .municipal-btn{display:inline-flex;margin-top:18px}.municipal-leaders-grid article{flex-direction:column}.municipal-leader-avatar{width:72px;height:72px;flex-basis:72px;font-size:26px}}
/* ==============================================================
   MUNICIPAL HEADER POSITIONING & CURVE CORRECTION
   ============================================================== */
.at-sticky-header .municiple-corporation-main-header-wrapper {
  position: relative !important;
  top: 0 !important;
  width: 100% !important;
}
.top-header,
.top-header.left-curve {
  border-radius: 0 !important;
}

/* ==============================================================
   MUNICIPAL INNER PAGE SLIM CIVIC BANNER STRIP (HALF HEIGHT, NO SUB-DESC)
   ============================================================== */
.municipal-inner-page {
  background: #f8fafc;
  min-height: 60vh;
  padding-top: 24px;
  padding-bottom: 70px;
}
@media (max-width: 768px) {
  .municipal-inner-page {
    padding-top: 16px;
  }
}
.municipal-page-hero {
  position: relative;
  padding: 16px 28px;
  margin-top: 8px;
  margin-bottom: 24px;
  border-radius: 12px;
  background: linear-gradient(135deg, #071e33 0%, #0c3656 60%, #087f8f 100%);
  color: #ffffff;
  box-shadow: 0 4px 18px rgba(7, 30, 51, 0.08);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.12);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.municipal-page-hero::before,
.municipal-page-hero::after {
  display: none !important;
}
.municipal-page-hero .municipal-kicker {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 10px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.22);
  color: #f6c55a;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 5px;
  width: fit-content;
  box-shadow: none;
}
.municipal-page-hero h1 {
  font-size: clamp(20px, 2.2vw, 25px);
  line-height: 1.25;
  letter-spacing: -0.015em;
  color: #ffffff;
  margin: 0;
  max-width: none;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
}
.municipal-page-hero p {
  font-size: 13px;
  line-height: 1.5;
  color: #d1e4e8;
  margin: 6px 0 0;
  max-width: 860px;
}
.municipal-breadcrumb {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
  font-size: 12px;
  color: #94a3b8;
}
@media (max-width: 767px) {
  .municipal-page-hero {
    padding: 14px 18px;
    margin-top: 8px;
    margin-bottom: 18px;
    border-radius: 10px;
  }
  .municipal-page-hero h1 {
    font-size: 19px;
    line-height: 1.25;
  }
  .municipal-page-hero p {
    display: none !important;
  }
}
.municipal-inner-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:22px}.municipal-content-card,.municipal-info-card,.municipal-feedback-card{background:#fff;border:1px solid #e0e9ee;border-radius:22px;padding:30px;box-shadow:0 10px 35px rgba(13,43,62,.04)}.municipal-content-card h2{font-size:29px;color:#14364e}.municipal-content-card p{color:#6d7f8b;line-height:1.8}.municipal-card-icon{width:55px;height:55px;display:grid;place-items:center;border-radius:15px;background:#eaf7f7;color:#087f8f;font-size:22px}.municipal-check-list{padding:0;margin:20px 0 0;list-style:none}.municipal-check-list li{padding:10px 0;border-bottom:1px solid #edf1f3;color:#526875;font-size:13px}.municipal-check-list i{color:#087f8f;margin-right:8px}.municipal-inner-section{padding-top:65px}.municipal-section-title span{font-size:10px;font-weight: 600;letter-spacing:.14em;color:#087f8f}.municipal-section-title h2{font-size:34px;color:#12334b;margin:8px 0 25px}.municipal-department-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.municipal-department-card{display:flex;flex-direction:column;gap:10px;padding:21px;border-radius:17px;background:#fff;border:1px solid #e1e9ed;text-decoration:none!important;transition:.3s}.municipal-department-card:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(15,44,70,.08);border-color:#c8e4e6}.municipal-department-card>i{font-size:20px;color:#087f8f}.municipal-department-card strong{color:#17344b;font-size:14px}.municipal-department-card span{font-size:10px;color:#7d8d97}.municipal-department-card span i{margin-left:5px}.municipal-service-directory{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.municipal-directory-card{background:#fff;border:1px solid #e1e9ed;border-radius:18px;padding:23px;transition:.35s;position:relative;overflow:hidden}.municipal-directory-card:hover{transform:translateY(-7px);box-shadow:0 18px 40px rgba(15,44,70,.09);border-color:#c9e4e6}.municipal-directory-card>span{width:48px;height:48px;border-radius:13px;background:#edf8f8;color:#087f8f;display:grid;place-items:center;font-size:20px}.municipal-directory-card small{display:block;margin-top:17px;color:#8a9aa4;font-size:9px;letter-spacing:.1em;font-weight: 600}.municipal-directory-card h3{font-size:18px;color:#17344b;margin:7px 0}.municipal-directory-card p{font-size:12px;color:#71818d;line-height:1.6;min-height:40px}.municipal-directory-card a{font-size:11px;color:#087f8f;font-weight: 600;text-decoration:none}.municipal-notice-layout{display:grid;grid-template-columns:230px 1fr;gap:25px}.municipal-filter-card{background:#0c3550;border-radius:20px;padding:22px;align-self:start;position:sticky;top:20px}.municipal-filter-card strong{color:#fff;display:block;margin-bottom:14px}.municipal-filter-card button{display:block;width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.1);padding:12px 4px;color:#bdd2dc;cursor:pointer}.municipal-filter-card button.active,.municipal-filter-card button:hover{color:#fff}.municipal-notice-list{display:flex;flex-direction:column;gap:10px}.municipal-notice-row{display:grid;grid-template-columns:80px 1fr 45px;gap:18px;align-items:center;background:#fff;border:1px solid #e1e9ed;border-radius:16px;padding:18px;text-decoration:none}.municipal-notice-date{width:58px;height:58px;background:#edf8f8;border-radius:13px;display:grid;place-items:center;text-align:center}.municipal-notice-date b{font-size:19px;color:#087f8f;display:block}.municipal-notice-date small{font-size:8px;color:#6f818c}.municipal-notice-row em{font-style:normal;font-size:9px;font-weight: 600;color:#087f8f;letter-spacing:.1em}.municipal-notice-row h3{font-size:15px;color:#17344b;margin:6px 0}.municipal-notice-row p{font-size:11px;color:#7a8993;margin:0}.municipal-notice-row>a{width:38px;height:38px;border-radius:10px;background:#f5f8f9;display:grid;place-items:center;color:#087f8f}.municipal-leader-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.municipal-leader-page-card{background:#fff;border:1px solid #e0e9ed;border-radius:22px;padding:30px;display:flex;gap:22px;align-items:center}.municipal-leader-photo{width:110px;height:110px;border-radius:50%;background:linear-gradient(135deg,#e1f5f4,#f7fbfc);display:grid;place-items:center;color:#087f8f;font-size:38px;flex:0 0 110px}.municipal-leader-page-card span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#087f8f;font-weight: 600}.municipal-leader-page-card h2{font-size:23px;color:#17344b;margin:6px 0}.municipal-leader-page-card p{font-size:13px;line-height:1.7;color:#71818d}.municipal-leader-page-card a{font-size:11px;color:#087f8f;font-weight: 600;text-decoration:none}.municipal-project-cards{display:flex;gap:15px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:5px}.municipal-project-cards::-webkit-scrollbar{display:none}.municipal-project-card{min-width:280px;flex:0 0 31%;scroll-snap-align:start;background:#fff;border:1px solid #e0e9ed;border-radius:20px;overflow:hidden}.municipal-project-art{height:150px;background:linear-gradient(135deg,#0c3550,#087f8f);color:#fff;display:flex;align-items:center;justify-content:center;position:relative}.municipal-project-art i{font-size:55px;opacity:.85}.municipal-project-art span{position:absolute;top:13px;right:13px;font-size:10px;background:rgba(255,255,255,.14);padding:7px 9px;border-radius:20px}.municipal-project-card>small{display:block;color:#087f8f;font-size:9px;font-weight: 600;letter-spacing:.1em;margin:18px 20px 0}.municipal-project-card h3{font-size:19px;color:#17344b;margin:7px 20px}.municipal-project-card p{font-size:12px;color:#71818d;line-height:1.6;margin:0 20px 15px}.municipal-project-card a{font-size:11px;color:#087f8f;font-weight: 600;text-decoration:none;margin:0 20px 20px;display:block}.municipal-ward-search{display:flex;background:#fff;border:1px solid #e0e9ed;border-radius:15px;padding:8px;margin-bottom:25px;box-shadow:0 8px 25px rgba(15,44,70,.04)}.municipal-ward-search i{align-self:center;color:#087f8f;margin:0 12px}.municipal-ward-search input{flex:1;border:0;outline:0;font-size:14px}.municipal-ward-search button{border:0;border-radius:10px;background:#087f8f;color:#fff;padding:12px 18px;font-weight: 600}.municipal-ward-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.municipal-ward-card{background:#fff;border:1px solid #e0e9ed;border-radius:18px;padding:22px}.municipal-ward-card>span{font-size:9px;color:#087f8f;font-weight: 600;letter-spacing:.1em}.municipal-ward-card>strong{font-size:30px;color:#dbeaec;float:right}.municipal-ward-card h3{font-size:18px;color:#17344b}.municipal-ward-card p{font-size:11px;line-height:1.6;color:#71818d}.municipal-ward-card a{font-size:11px;color:#087f8f;font-weight: 600;text-decoration:none}.municipal-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.municipal-info-card>span{width:48px;height:48px;background:#edf8f8;color:#087f8f;border-radius:13px;display:grid;place-items:center;font-size:20px}.municipal-info-card h3{color:#17344b}.municipal-info-card p{font-size:12px;line-height:1.6;color:#71818d}.municipal-info-card a{font-size:11px;color:#087f8f;font-weight: 600;text-decoration:none}.municipal-tender-table{background:#fff;border:1px solid #e0e9ed;border-radius:18px;overflow:hidden}.municipal-tender-head,.municipal-tender-row{display:grid;grid-template-columns:2fr 1fr 1fr 40px;gap:15px;align-items:center;padding:16px 20px}.municipal-tender-head{background:#0c3550;color:#fff;font-size:10px;font-weight: 600;text-transform:uppercase;letter-spacing:.08em}.municipal-tender-row{border-top:1px solid #edf1f3;text-decoration:none}.municipal-tender-row:hover{background:#f7fafc}.municipal-tender-row b{display:block;color:#17344b;font-size:13px}.municipal-tender-row small{color:#8a99a2}.municipal-tender-row span{font-size:11px;color:#667985}.municipal-tender-row i{color:#087f8f}.municipal-contact-page-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:22px}.municipal-contact-info{background:linear-gradient(135deg,#0c3550,#087f8f);border-radius:22px;padding:34px;color:#fff}.municipal-contact-info>div{padding:22px 0;border-bottom:1px solid rgba(255,255,255,.14)}.municipal-contact-info>div:last-child{border:0}.municipal-contact-info span{font-size:9px;letter-spacing:.12em;color:#9be0db;font-weight: 600}.municipal-contact-info h2{font-size:32px;margin:7px 0}.municipal-contact-info h3{font-size:18px}.municipal-contact-info p{color:#d1e4e8;font-size:12px;line-height:1.6}.municipal-contact-form{display:grid;gap:15px}.municipal-contact-form label{font-size:11px;color:#617582;font-weight: 500}.municipal-contact-form input,.municipal-contact-form select,.municipal-contact-form textarea{display:block;width:100%;margin-top:7px;border:1px solid #dfe7eb;border-radius:10px;padding:12px;box-sizing:border-box;font:inherit;background:#fff}.municipal-featured-tools{background:#f7fafc}.municipal-tool-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.municipal-tool-card{display:flex;gap:13px;align-items:center;background:#fff;border:1px solid #e0e9ed;border-radius:16px;padding:17px;text-decoration:none!important;transition:.3s}.municipal-tool-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px rgba(15,44,70,.08)}.municipal-tool-card>span{width:46px;height:46px;flex:0 0 46px;border-radius:12px;background:#edf8f8;color:#087f8f;display:grid;place-items:center;font-size:18px}.municipal-tool-card h3{margin:0;font-size:14px;color:#17344b}.municipal-tool-card p{margin:4px 0 0;font-size:10px;line-height:1.45;color:#7b8c96}.municipal-tool-card>i{margin-left:auto;color:#9aa9b2}.municipal-carousel-shell{display:grid;grid-template-columns:46px 1fr 46px;gap:10px;align-items:center}.municipal-project-carousel{display:flex;gap:15px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:5px}.municipal-project-carousel::-webkit-scrollbar{display:none}.municipal-project-slide{flex:0 0 calc((100% - 30px)/3);scroll-snap-align:start;background:#fff;border:1px solid #e0e9ed;border-radius:20px;overflow:hidden;transition:.35s}.municipal-project-slide:hover{transform:translateY(-6px);box-shadow:0 18px 35px rgba(15,44,70,.08)}.municipal-project-visual{height:145px;background:linear-gradient(135deg,#0c3550,#087f8f);display:grid;place-items:center;color:#fff;position:relative}.municipal-project-visual i{font-size:50px}.municipal-project-visual span{position:absolute;top:12px;left:12px;font-size:9px;letter-spacing:.1em}.municipal-project-slide-body{padding:20px}.municipal-project-slide-body small{font-size:9px;color:#087f8f;font-weight: 600}.municipal-project-slide-body h3{font-size:19px;color:#17344b;margin:6px 0}.municipal-project-slide-body p{font-size:11px;color:#71818d;line-height:1.6}.municipal-project-slide-body a{font-size:11px;color:#087f8f;font-weight: 600;text-decoration:none}.municipal-event-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.municipal-event-card{background:#fff;border:1px solid #e0e9ed;border-radius:16px;padding:16px;display:flex;gap:12px;text-decoration:none!important;transition:.3s}.municipal-event-card:hover{transform:translateY(-5px);box-shadow:0 14px 28px rgba(15,44,70,.07)}.municipal-event-date{width:42px;height:50px;flex:0 0 42px;border-radius:10px;background:#edf8f8;display:grid;place-items:center;text-align:center}.municipal-event-date b{display:block;font-size:16px;color:#087f8f}.municipal-event-date small{font-size:8px;color:#71818d}.municipal-event-card em{font-size:8px;color:#087f8f;font-style:normal;font-weight: 600}.municipal-event-card h3{font-size:13px;color:#17344b;margin:5px 0}.municipal-event-card p{font-size:9px;color:#7a8993;line-height:1.45;margin:0}.municipal-event-card>i{margin-left:auto;color:#9aa8b1;align-self:center}.municipal-emergency-section{padding-top:0}.municipal-emergency-inner{background:#fff;border:1px solid #e0e9ed;border-radius:23px;padding:30px;display:grid;grid-template-columns:.7fr 1.3fr;gap:25px;align-items:center}.municipal-emergency-inner>div>span{font-size:9px;letter-spacing:.12em;color:#087f8f;font-weight: 600}.municipal-emergency-inner h2{margin:7px 0;font-size:27px;color:#17344b}.municipal-emergency-inner p{font-size:12px;color:#71818d}.municipal-emergency-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.municipal-emergency-grid a{background:#f7fafb;border-radius:13px;padding:14px;text-decoration:none;display:flex;gap:10px;align-items:center}.municipal-emergency-grid i{color:#087f8f;font-size:18px}.municipal-emergency-grid small,.municipal-emergency-grid b{display:block}.municipal-emergency-grid small{font-size:8px;color:#81919b}.municipal-emergency-grid b{font-size:12px;color:#17344b;margin-top:3px}.municipal-js-carousel{scroll-behavior:smooth}
.municipal-premium-home,.municipal-inner-page{width:100%;box-sizing:border-box}.municipal-premium-home *,.municipal-inner-page *{box-sizing:border-box}.municipal-container{width:min(1240px,calc(100% - 40px));max-width:1240px;margin-left:auto;margin-right:auto}.site-content.container,.site-content{max-width:none!important;width:100%!important;padding-left:0!important;padding-right:0!important}.municipal-premium-home .container{width:100%}#primary,.content-area{width:100%!important;float:none!important}.site-content .widget-area,#secondary,#secondary-left{display:none!important}.municipal-premium-home+.widget-area{display:none!important}
@media(max-width:1000px){.municipal-department-grid,.municipal-service-directory{grid-template-columns:repeat(2,1fr)}.municipal-info-grid{grid-template-columns:repeat(2,1fr)}.municipal-tool-grid{grid-template-columns:repeat(2,1fr)}.municipal-event-grid{grid-template-columns:repeat(2,1fr)}.municipal-emergency-inner,.municipal-contact-page-grid{grid-template-columns:1fr}.municipal-emergency-grid{grid-template-columns:repeat(2,1fr)}.municipal-project-slide{flex-basis:calc((100% - 15px)/2)}.municipal-ward-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.municipal-container{width:min(100% - 28px,1240px)}.municipal-page-hero{padding:14px 18px;margin-top:8px;margin-bottom:18px;border-radius:10px}.municipal-page-hero h1{font-size:19px;line-height:1.25;word-break:break-word}.municipal-inner-grid,.municipal-notice-layout,.municipal-leader-page-grid{grid-template-columns:1fr}.municipal-filter-card{position:static}.municipal-service-directory,.municipal-department-grid,.municipal-info-grid,.municipal-ward-grid,.municipal-tool-grid,.municipal-event-grid{grid-template-columns:1fr}.municipal-notice-row{grid-template-columns:58px 1fr 36px}.municipal-notice-row p{display:none}.municipal-leader-page-card{flex-direction:column;align-items:flex-start}.municipal-project-slide{flex-basis:86%}.municipal-carousel-shell{grid-template-columns:38px 1fr 38px}.municipal-emergency-grid{grid-template-columns:1fr 1fr}.municipal-tender-head{display:none}.municipal-tender-row{grid-template-columns:1fr 38px}.municipal-tender-row>span:nth-child(2),.municipal-tender-row>span:nth-child(3){display:none}.municipal-contact-info h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){.municipal-inner-page *, .municipal-premium-home *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* ==============================================================
   MUNICIPAL CORPORATION WORLD-CLASS RESPONSIVE HERO SLIDER ENGINE
   ============================================================== */
.municipal-slider {
  position: relative;
  overflow: hidden;
  background: #061826;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 620px;
  height: clamp(600px, 76vh, 760px);
  user-select: none;
  -webkit-user-select: none;
  touch-action: pan-y pinch-zoom;
}
.municipal-slider__progress {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: rgba(255, 255, 255, 0.16);
  z-index: 12;
  overflow: hidden;
}
.municipal-slider__progress-bar {
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, #087f8f 0%, #20b2aa 50%, #f6c55a 100%);
  box-shadow: 0 0 10px rgba(246, 197, 90, 0.8);
}
.municipal-slider__track {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.municipal-slider__slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  opacity: 0;
  visibility: hidden;
  transform: scale(1.06);
  transition: opacity 0.85s cubic-bezier(0.4, 0, 0.2, 1), transform 6.5s cubic-bezier(0.1, 0, 0.2, 1), visibility 0.85s;
  display: flex;
  align-items: center;
  z-index: 1;
}
.municipal-slider__slide.is-active {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
  z-index: 2;
}
.municipal-slider__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, rgba(6, 20, 36, 0.94) 0%, rgba(6, 20, 36, 0.82) 42%, rgba(6, 20, 36, 0.42) 75%, rgba(6, 20, 36, 0.18) 100%),
              linear-gradient(180deg, rgba(5, 17, 30, 0.55) 0%, transparent 35%, rgba(5, 17, 30, 0.85) 100%);
  pointer-events: none;
}
.municipal-slider__content {
  position: relative;
  z-index: 3;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding-top: 50px;
  padding-bottom: 120px;
  box-sizing: border-box;
}
.municipal-slider__badge {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 6px 16px;
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.22);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: #f6c55a;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 20px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  animation: municipalBadgePulse 3s infinite ease-in-out;
}
.municipal-slider__badge i {
  color: #72d5ce;
  font-size: 13px;
}
.municipal-slider__badge-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #27d096;
  box-shadow: 0 0 8px #27d096;
  display: inline-block;
}
@keyframes municipalBadgePulse {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
.municipal-slider__content h1 {
  font-size: clamp(30px, 4.4vw, 56px);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -0.028em;
  color: #ffffff;
  margin: 0 0 18px;
  max-width: 820px;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.45);
}
.municipal-slider__content p {
  font-size: clamp(15px, 1.25vw, 18px);
  line-height: 1.68;
  color: rgba(255, 255, 255, 0.92);
  margin: 0 0 26px;
  max-width: 700px;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.35);
}
.municipal-slider__actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}
.municipal-slider__btn-primary {
  background: linear-gradient(135deg, #f6a51a 0%, #f5b84b 100%) !important;
  color: #082238 !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  border-radius: 12px !important;
  padding: 13px 24px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  box-shadow: 0 8px 25px rgba(246, 165, 26, 0.35);
  transition: transform 0.25s, box-shadow 0.25s, filter 0.25s;
}
.municipal-slider__btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(246, 165, 26, 0.48);
  filter: brightness(1.05);
}
.municipal-slider__btn-secondary {
  background: rgba(255, 255, 255, 0.12) !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  border: 1.5px solid rgba(255, 255, 255, 0.32) !important;
  border-radius: 12px !important;
  padding: 12px 22px !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  transition: all 0.25s;
}
.municipal-slider__btn-secondary:hover {
  background: rgba(255, 255, 255, 0.22) !important;
  border-color: #ffffff !important;
  transform: translateY(-2px);
}
.municipal-slider__tags {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.municipal-slider__tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.85);
  background: rgba(255, 255, 255, 0.08);
  padding: 4px 10px;
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.14);
}
.municipal-slider__tag i {
  color: #f6c55a;
  font-size: 11px;
}
.municipal-slider__nav {
  position: absolute;
  top: 42%;
  transform: translateY(-50%);
  z-index: 6;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: rgba(6, 20, 36, 0.45);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: #ffffff;
  font-size: 16px;
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
}
.municipal-slider__nav:hover {
  background: var(--municipal-primary, #087f8f);
  border-color: transparent;
  transform: translateY(-50%) scale(1.08);
  box-shadow: 0 10px 28px rgba(8, 127, 143, 0.45);
}
.municipal-slider__prev { left: 24px; }
.municipal-slider__next { right: 24px; }
.municipal-slider__controls {
  position: absolute;
  left: 50%;
  bottom: 84px;
  transform: translateX(-50%);
  z-index: 7;
  display: flex;
  align-items: center;
  gap: 14px;
  background: rgba(5, 18, 30, 0.65);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 40px;
  padding: 6px 14px;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.3);
}
.municipal-slider__counter {
  font-size: 12px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.85);
  font-variant-numeric: tabular-nums;
  display: flex;
  align-items: center;
  gap: 3px;
}
.municipal-slider__counter .is-current {
  color: #f6c55a;
  font-weight: 600;
}
.municipal-slider__dots {
  display: flex;
  align-items: center;
  gap: 7px;
}
.municipal-slider__dots button {
  width: 22px;
  height: 6px;
  border: 0;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.35);
  padding: 0;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.municipal-slider__dots button.is-active {
  width: 44px;
  background: #f6c55a;
  box-shadow: 0 0 10px rgba(246, 197, 90, 0.6);
}
.municipal-slider__toggle {
  background: transparent;
  border: 0;
  color: rgba(255, 255, 255, 0.75);
  font-size: 11px;
  cursor: pointer;
  padding: 3px 5px;
  display: grid;
  place-items: center;
  transition: color 0.2s;
}
.municipal-slider__toggle:hover {
  color: #ffffff;
}
.municipal-slider__quickbar {
  position: relative;
  z-index: 5;
  width: 100%;
  background: rgba(5, 20, 33, 0.92);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);
}
.municipal-slider__quickbar-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}
.municipal-slider__quickbar-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 18px;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  text-decoration: none !important;
  color: #ffffff !important;
  transition: background 0.25s, transform 0.25s;
}
.municipal-slider__quickbar-item:last-child {
  border-right: none;
}
.municipal-slider__quickbar-item:hover {
  background: rgba(255, 255, 255, 0.08);
}
.municipal-quickbar-icon {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.1);
  color: #72d5ce;
  display: grid;
  place-items: center;
  font-size: 16px;
  transition: background 0.25s, color 0.25s;
}
.municipal-slider__quickbar-item:hover .municipal-quickbar-icon {
  background: var(--municipal-primary, #087f8f);
  color: #ffffff;
}
.municipal-quickbar-text strong {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: #ffffff;
  line-height: 1.25;
}
.municipal-quickbar-text span {
  display: block;
  font-size: 10.5px;
  color: rgba(255, 255, 255, 0.65);
  margin-top: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.municipal-slider__quickbar-item.is-helpline {
  background: rgba(246, 165, 26, 0.12);
}
.municipal-slider__quickbar-item.is-helpline .municipal-quickbar-icon {
  background: #f6a51a;
  color: #082238;
}
.municipal-slider__quickbar-item.is-helpline .municipal-quickbar-text strong {
  color: #f6c55a;
}
@media (max-width: 1080px) {
  .municipal-slider {
    min-height: 580px;
    height: clamp(540px, 68vh, 640px);
  }
  .municipal-slider__content {
    padding-bottom: 110px;
  }
  .municipal-slider__quickbar-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .municipal-slider__quickbar-item:nth-child(3) {
    border-right: none;
  }
}
@media (max-width: 767px) {
  .municipal-slider {
    min-height: 520px;
    height: auto;
  }
  .municipal-slider__content {
    padding-top: 40px;
    padding-bottom: 120px;
  }
  .municipal-slider__badge {
    font-size: 10px;
    padding: 5px 12px;
    margin-bottom: 14px;
  }
  .municipal-slider__content h1 {
    font-size: clamp(24px, 6.4vw, 32px);
    line-height: 1.18;
    margin-bottom: 12px;
  }
  .municipal-slider__content p {
    font-size: 14px;
    line-height: 1.55;
    margin-bottom: 20px;
  }
  .municipal-slider__actions {
    gap: 10px;
    width: 100%;
  }
  .municipal-slider__btn-primary,
  .municipal-slider__btn-secondary {
    width: 100%;
    justify-content: center;
    padding: 11px 18px !important;
    font-size: 13.5px !important;
  }
  .municipal-slider__tags {
    display: none;
  }
  .municipal-slider__nav {
    width: 38px;
    height: 38px;
    font-size: 13px;
    top: 40%;
  }
  .municipal-slider__prev { left: 8px; }
  .municipal-slider__next { right: 8px; }
  .municipal-slider__controls {
    bottom: 60px;
    padding: 4px 10px;
    gap: 8px;
  }
  .municipal-slider__counter {
    font-size: 11px;
  }
  .municipal-slider__dots button {
    width: 16px;
    height: 5px;
  }
  .municipal-slider__dots button.is-active {
    width: 32px;
  }
  .municipal-slider__quickbar {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .municipal-slider__quickbar-grid {
    display: flex;
    min-width: 100%;
    width: max-content;
  }
  .municipal-slider__quickbar-item {
    flex: 0 0 220px;
    padding: 12px 14px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .municipal-slider__slide {
    transition: none !important;
    transform: none !important;
  }
  .municipal-slider__nav,
  .municipal-slider__dots button,
  .municipal-slider__badge {
    transition: none !important;
    animation: none !important;
  }
  .municipal-slider__progress-bar {
    display: none;
  }
}
/* Professional page canvas and responsive Elementor containers */
.municipal-premium-home,.municipal-page-wrap,.municipal-elementor-home{overflow:hidden}.municipal-premium-home img{max-width:100%;height:auto}.municipal-elementor-home>.elementor{max-width:none}.municipal-elementor-home .elementor-section>.elementor-container,.municipal-elementor-home .e-con-inner{width:calc(100% - (var(--municipal-gutter) * 2));max-width:var(--municipal-width);margin-left:auto;margin-right:auto}.municipal-elementor-home .elementor-section.elementor-section-full_width>.elementor-container{max-width:none;width:100%}@media(max-width:767px){.municipal-elementor-home .elementor-section>.elementor-container,.municipal-elementor-home .e-con-inner{width:calc(100% - (var(--municipal-gutter) * 2))}.municipal-premium-home .municipal-container{box-sizing:border-box}}
/* v9.0.13: manually managed civic content states */
.municipal-empty-state,.municipal-gallery-empty{padding:36px 24px;text-align:center;border:1px dashed rgba(18,48,74,.18);border-radius:14px;background:#f7fafb;color:#536575;width:100%;box-sizing:border-box}.municipal-empty-state i,.municipal-gallery-empty i{font-size:30px;margin-bottom:10px;color:#0b7a75}.municipal-empty-state h3,.municipal-gallery-empty h3{margin:0 0 8px;color:#12304a}.municipal-empty-state p,.municipal-gallery-empty p{margin:0;line-height:1.7}.municipal-tender-row>span:last-child strong{font-size:12px;font-weight: 600}.municipal-gallery-image img{width:100%;height:180px;object-fit:cover;display:block}
@media(max-width:767px){.municipal-gallery-image img{height:130px}.municipal-empty-state,.municipal-gallery-empty{padding:28px 18px}}

/* ==============================================================
   MUNICIPAL CIVIC PORTAL PRO SUITE & MOBILE RESPONSIVE ENGINE
   ============================================================== */

/* --- Status Badges --- */
.municipal-status-badge, .m-status-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    white-space: nowrap;
}
.status-open, .status-active { background: #e6f7ec; color: #1e7e34; border: 1px solid #b7ebc7; }
.status-corrigendum, .status-urgent, .status-closing-soon { background: #fff4e5; color: #d97706; border: 1px solid #fde2b4; }
.status-under-evaluation, .status-planning, .status-tendering { background: #e0f2fe; color: #0369a1; border: 1px solid #bae6fd; }
.status-awarded, .status-completed { background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0; }
.status-closed, .status-cancelled { background: #fee2e2; color: #b91c1c; border: 1px solid #fecaca; }

/* --- Tenders Section & Table --- */
.municipal-tender-table-wrap {
    width: 100%;
    overflow-x: auto;
    margin: 24px 0;
    background: #fff;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 20px rgba(15, 44, 70, 0.05);
}
.municipal-tender-table {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 980px;
}
.municipal-tender-head {
    display: grid !important;
    gap: 16px;
    align-items: center;
    background: #092c4a;
    color: #fff;
    padding: 16px 20px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.municipal-tender-row {
    display: grid !important;
    gap: 16px;
    align-items: center;
    padding: 16px 20px;
    border-bottom: 1px solid #edf2f7;
    transition: background 0.2s ease;
}
.municipal-tender-row:last-child { border-bottom: 0; }
.municipal-tender-row:hover { background: #f8fafc; }

/* 6 Columns for Standard Tenders Table with Est. Cost */
.municipal-tender-table .municipal-tender-head,
.municipal-tender-table .municipal-tender-row,
.municipal-tender-table.has-cost .municipal-tender-head,
.municipal-tender-table.has-cost .municipal-tender-row,
.municipal-tenders-section .municipal-tender-table .municipal-tender-head,
.municipal-tenders-section .municipal-tender-table .municipal-tender-row {
    grid-template-columns: minmax(280px, 2.8fr) minmax(130px, 1.4fr) minmax(100px, 1fr) minmax(120px, 1.2fr) minmax(80px, 0.8fr) minmax(210px, 1.9fr) !important;
}

/* 5 Columns when Est. Cost is hidden */
.municipal-tender-table.no-cost .municipal-tender-head,
.municipal-tender-table.no-cost .municipal-tender-row,
.municipal-tenders-section .municipal-tender-table.no-cost .municipal-tender-head,
.municipal-tenders-section .municipal-tender-table.no-cost .municipal-tender-row {
    grid-template-columns: minmax(300px, 3.4fr) minmax(150px, 1.6fr) minmax(135px, 1.3fr) minmax(90px, 0.9fr) minmax(210px, 1.9fr) !important;
}

.municipal-tender-title-col h3 {
    margin: 0 0 5px 0;
    font-size: 15px;
    line-height: 1.35;
}
.municipal-tender-title-col h3 a {
    color: #0f172a;
    text-decoration: none;
    transition: color 0.2s;
}
.municipal-tender-title-col h3 a:hover { color: #087f8f; }
.municipal-tender-ref {
    display: inline-block;
    font-size: 11px;
    color: #64748b;
    font-family: monospace;
    font-weight: 600;
}
.municipal-tender-dept-col, .municipal-tender-cost-col, .municipal-tender-date-col {
    font-size: 13px;
    color: #475569;
}
.municipal-tender-action-col {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    width: 100% !important;
    text-align: right !important;
}
.municipal-tender-btn-group {
    display: inline-flex !important;
    gap: 8px !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
}
.municipal-tender-btn-group .municipal-btn {
    white-space: nowrap !important;
    padding: 8px 14px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}
.municipal-btn-disabled,
.municipal-btn.disabled,
.municipal-btn[aria-disabled="true"],
.municipal-tender-btn-group .municipal-btn-disabled {
    background: #e2e8f0 !important;
    color: #64748b !important;
    border: 1px solid #cbd5e1 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    opacity: 0.72 !important;
    box-shadow: none !important;
    transform: none !important;
    text-decoration: none !important;
    user-select: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}
.municipal-btn-download-disabled i,
.municipal-btn-apply-disabled i {
    color: #94a3b8 !important;
}
.municipal-status-badge.status-closed {
    background: #fee2e2 !important;
    color: #b91c1c !important;
    border: 1px solid #fecaca !important;
}
.municipal-tender-row.is-closed-tender {
    background: #fafbfc;
}
.municipal-tender-row.is-closed-tender:hover {
    background: #f1f5f9;
}
.m-label-mobile { display: none; }

/* Tender Search & Filter Bar */
.municipal-tender-filter-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 24px 0 20px;
    background: #ffffff;
    padding: 16px 20px;
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 18px rgba(15, 44, 70, 0.04);
}
.municipal-tender-search-input {
    position: relative;
    flex: 1 1 360px;
    min-width: 280px;
}
.municipal-tender-search-input i {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #087f8f;
    font-size: 15px;
    pointer-events: none;
}
.municipal-tender-search-input input {
    width: 100% !important;
    height: 46px !important;
    padding: 10px 16px 10px 42px !important;
    border: 1px solid #d5e0e7 !important;
    border-radius: 10px !important;
    background: #f8fafc !important;
    color: #12304a !important;
    font-size: 14px !important;
    box-shadow: none !important;
    outline: none !important;
    box-sizing: border-box !important;
    transition: all 0.25s ease;
}
.municipal-tender-search-input input:focus {
    background: #ffffff !important;
    border-color: #087f8f !important;
    box-shadow: 0 0 0 3px rgba(8, 127, 143, 0.15) !important;
}
.municipal-tender-status-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}
.municipal-t-filter {
    padding: 8px 16px;
    border-radius: 8px;
    border: 1px solid #dbe5ec;
    background: #ffffff;
    color: #4b6375;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}
.municipal-t-filter:hover {
    background: #f1f7f9;
    color: #087f8f;
    border-color: #087f8f;
}
.municipal-t-filter.is-active {
    background: #087f8f !important;
    color: #ffffff !important;
    border-color: #087f8f !important;
    box-shadow: 0 4px 12px rgba(8, 127, 143, 0.25);
}
@media (max-width: 991px) {
    .municipal-tender-filter-bar {
        flex-direction: column;
        align-items: stretch;
        padding: 14px;
        gap: 12px;
    }
    .municipal-tender-search-input {
        flex: 1 1 100%;
        min-width: 0;
        width: 100%;
    }
    .municipal-tender-status-filters {
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 4px;
        -webkit-overflow-scrolling: touch;
    }
    .municipal-t-filter {
        white-space: nowrap;
        flex-shrink: 0;
    }
}
/* ==========================================================================
   Services Page Search Bar & Category Filter Bar (Matched to Tender Page)
   ========================================================================== */
.municipal-service-filter-bar,
.municipal-service-filter-wrap {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 16px !important;
    background: #ffffff !important;
    padding: 18px 22px !important;
    border-radius: 14px !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 4px 18px rgba(15, 44, 70, 0.04) !important;
    margin-bottom: 30px !important;
}
.municipal-service-search-input,
.municipal-service-search-box {
    position: relative !important;
    flex: 1 1 360px !important;
    min-width: 280px !important;
}
.municipal-service-search-input i,
.municipal-service-search-box i {
    position: absolute !important;
    left: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #087f8f !important;
    font-size: 16px !important;
    pointer-events: none !important;
}
.municipal-service-search-input input,
.municipal-service-search-box input,
.municipal-service-search-field {
    width: 100% !important;
    height: 48px !important;
    padding: 10px 16px 10px 44px !important;
    border: 1px solid #d5e0e7 !important;
    border-radius: 10px !important;
    background: #f8fafc !important;
    color: #12304a !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    box-shadow: none !important;
    outline: none !important;
    box-sizing: border-box !important;
    transition: all 0.25s ease !important;
}
.municipal-service-search-input input:focus,
.municipal-service-search-box input:focus,
.municipal-service-search-field:focus {
    background: #ffffff !important;
    border-color: #087f8f !important;
    box-shadow: 0 0 0 3px rgba(8, 127, 143, 0.15) !important;
}
.municipal-service-tab-filters,
.municipal-service-status-filters {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
}
.municipal-cat-filter {
    padding: 9px 18px !important;
    border-radius: 8px !important;
    border: 1px solid #dbe5ec !important;
    background: #ffffff !important;
    color: #4b6375 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}
.municipal-cat-filter:hover {
    background: #f1f7f9 !important;
    color: #087f8f !important;
    border-color: #087f8f !important;
}
.municipal-cat-filter.is-active {
    background: #087f8f !important;
    color: #ffffff !important;
    border-color: #087f8f !important;
    box-shadow: 0 4px 12px rgba(8, 127, 143, 0.25) !important;
}
@media (max-width: 991px) {
    .municipal-service-filter-bar,
    .municipal-service-filter-wrap {
        flex-direction: column !important;
        align-items: stretch !important;
        padding: 14px !important;
        gap: 12px !important;
    }
    .municipal-service-search-input,
    .municipal-service-search-box {
        flex: 1 1 100% !important;
        min-width: 0 !important;
        width: 100% !important;
    }
    .municipal-service-tab-filters,
    .municipal-service-status-filters {
        overflow-x: auto !important;
        flex-wrap: nowrap !important;
        padding-bottom: 6px !important;
        -webkit-overflow-scrolling: touch !important;
    }
    .municipal-cat-filter {
        white-space: nowrap !important;
        flex-shrink: 0 !important;
    }
}

/* --- Grievance & Tracking System --- */
.municipal-grievance-layout {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 30px;
    align-items: start;
    margin-top: 24px;
}
.municipal-grievance-main {
    background: #fff;
    border-radius: 20px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 6px 25px rgba(15, 44, 70, 0.05);
    overflow: hidden;
}
.municipal-grievance-tabs {
    display: flex;
    background: #f1f5f9;
    border-bottom: 1px solid #e2e8f0;
}
.municipal-tab-btn {
    flex: 1;
    padding: 16px 20px;
    border: 0;
    background: transparent;
    font-size: 14px;
    font-weight: 600;
    color: #64748b;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.2s ease;
}
.municipal-tab-btn:hover { color: #087f8f; background: rgba(8, 127, 143, 0.04); }
.municipal-tab-btn.is-active {
    background: #fff;
    color: #087f8f;
    border-bottom: 3px solid #087f8f;
}
.municipal-tab-panel {
    padding: 28px;
}
.municipal-civic-form .municipal-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}
.municipal-form-full { grid-column: 1 / -1; }
.municipal-form-group label {
    display: block;
    margin-bottom: 7px;
    font-size: 12px;
    font-weight: 500;
    color: #334155;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.municipal-form-group input,
.municipal-form-group select,
.municipal-form-group textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    font-size: 15px;
    color: #0f172a;
    background: #fff;
    box-sizing: border-box;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.municipal-form-group input:focus,
.municipal-form-group select:focus,
.municipal-form-group textarea:focus {
    outline: 0;
    border-color: #087f8f;
    box-shadow: 0 0 0 3px rgba(8, 127, 143, 0.15);
}
.municipal-form-footer {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #e2e8f0;
    flex-wrap: wrap;
}
.municipal-form-note {
    font-size: 12px;
    color: #64748b;
}

/* Tracking Tab */
.municipal-track-box {
    padding: 10px 0;
}
.municipal-track-input-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 14px;
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    padding: 6px 8px 6px 16px;
}
.municipal-track-input-wrap i {
    font-size: 18px;
    color: #087f8f;
}
.municipal-track-input-wrap input {
    flex: 1;
    border: 0;
    background: transparent;
    font-size: 16px;
    outline: 0;
    color: #0f172a;
}

/* Sidebar Helpline Card */
.municipal-aside-card {
    background: #fff;
    border-radius: 16px;
    padding: 24px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 18px rgba(15, 44, 70, 0.04);
    margin-bottom: 20px;
}
.municipal-card-highlight {
    background: linear-gradient(135deg, #092c4a 0%, #087f8f 100%);
    color: #fff;
    border: 0;
}
.municipal-card-highlight h3 {
    color: #fff;
    margin: 0 0 8px 0;
    font-size: 18px;
}
.municipal-card-highlight p {
    color: #e2e8f0;
    font-size: 13px;
    margin: 0 0 16px 0;
    line-height: 1.5;
}
.municipal-phone-call-btn {
    display: block;
    background: #f6a51a;
    color: #092c4a !important;
    text-align: center;
    padding: 12px;
    border-radius: 10px;
    font-weight: 600;
    font-size: 17px;
    text-decoration: none !important;
    box-shadow: 0 4px 14px rgba(0,0,0,0.15);
    margin-bottom: 10px;
}
.municipal-wa-btn {
    display: block;
    background: #25d366;
    color: #fff !important;
    text-align: center;
    padding: 10px;
    border-radius: 10px;
    font-weight: 600;
    font-size: 13px;
    text-decoration: none !important;
}
.municipal-sla-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.municipal-sla-list li {
    display: flex;
    justify-content: space-between;
    padding: 9px 0;
    border-bottom: 1px solid #edf2f7;
    font-size: 13px;
}
.municipal-sla-list li:last-child { border-bottom: 0; }
.municipal-sla-list b { color: #087f8f; font-size: 12px; }

/* --- Quick Bill Pay --- */
.municipal-quick-pay-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 24px;
}
.municipal-pay-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 24px;
    box-shadow: 0 6px 22px rgba(15, 44, 70, 0.05);
    display: flex;
    flex-direction: column;
    transition: transform 0.3s, box-shadow 0.3s;
}
.municipal-pay-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 34px rgba(15, 44, 70, 0.09);
}
.municipal-pay-card-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}
.municipal-pay-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: #e6f6f7;
    color: #087f8f;
    display: grid;
    place-items: center;
    font-size: 20px;
}
.municipal-pay-badge {
    font-size: 10px;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 20px;
    background: #fef3c7;
    color: #92400e;
    text-transform: uppercase;
}
.municipal-pay-card h3 {
    margin: 0 0 6px 0;
    font-size: 17px;
    color: #0f172a;
}
.municipal-pay-card p {
    font-size: 13px;
    color: #64748b;
    line-height: 1.5;
    margin: 0 0 16px 0;
    flex: 1;
}
.municipal-pay-input-wrap {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.municipal-pay-input-wrap input {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    font-size: 13px;
    box-sizing: border-box;
}
.municipal-pay-input-wrap .municipal-btn {
    width: 100%;
    justify-content: center;
    padding: 10px !important;
    font-size: 13px !important;
}
.municipal-pay-footer-strip {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-top: 30px;
    padding: 16px;
    background: #f8fafc;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    font-size: 12px;
    color: #475569;
    flex-wrap: wrap;
}
.municipal-pay-footer-strip i {
    color: #087f8f;
    margin-right: 6px;
}

/* --- Emergency Widget Grid --- */
.municipal-emergency-widget-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-top: 24px;
}
.municipal-emergency-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 20px;
    display: flex;
    gap: 16px;
    align-items: center;
    box-shadow: 0 4px 16px rgba(15, 44, 70, 0.04);
    transition: transform 0.25s, box-shadow 0.25s;
}
.municipal-emergency-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 24px rgba(15, 44, 70, 0.08);
}
.municipal-emergency-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: #fee2e2;
    color: #dc2626;
    display: grid;
    place-items: center;
    font-size: 20px;
    flex: 0 0 48px;
}
.municipal-emergency-info h3 {
    margin: 3px 0 6px 0;
    font-size: 14px;
    color: #0f172a;
    line-height: 1.3;
}
.municipal-emergency-timing {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    color: #059669;
}
.municipal-emergency-dial {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #dc2626 !important;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none !important;
}

/* --- Wards Widget Grid --- */
.municipal-ward-filter-bar, .municipal-ward-filter-section {
    margin: 20px 0;
}
.municipal-ward-search-input, .municipal-ward-search {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #fff;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    padding: 10px 16px;
    box-shadow: 0 4px 14px rgba(15, 44, 70, 0.04);
    margin-bottom: 16px;
}
.municipal-ward-search-input i, .municipal-ward-search i {
    color: #087f8f;
    font-size: 18px;
}
.municipal-ward-search-input input, .municipal-ward-search input {
    flex: 1;
    border: 0;
    outline: 0;
    font-size: 15px;
    color: #0f172a;
    background: transparent;
}
.municipal-zone-tabs, .municipal-service-tab-filters, .municipal-tender-status-filters, .municipal-project-filter-tabs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 8px;
    scrollbar-width: thin;
}
.municipal-z-btn, .municipal-cat-filter, .municipal-t-filter, .municipal-p-filter {
    padding: 8px 16px;
    border-radius: 30px;
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #475569;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.2s;
}
.municipal-z-btn:hover, .municipal-cat-filter:hover, .municipal-t-filter:hover, .municipal-p-filter:hover,
.municipal-z-btn.is-active, .municipal-cat-filter.is-active, .municipal-t-filter.is-active, .municipal-p-filter.is-active {
    background: #087f8f;
    color: #fff;
    border-color: #087f8f;
}
.municipal-ward-cards-grid, .municipal-ward-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-top: 16px;
}
.municipal-ward-box, .municipal-ward-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 22px;
    box-shadow: 0 4px 18px rgba(15, 44, 70, 0.04);
    display: flex;
    flex-direction: column;
    transition: transform 0.25s, box-shadow 0.25s;
}
.municipal-ward-box:hover, .municipal-ward-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(15, 44, 70, 0.08);
}
.municipal-ward-header, .municipal-ward-card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}
.municipal-ward-badge, .m-ward-badge {
    background: #e6f6f7;
    color: #087f8f;
    font-size: 11px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 20px;
    letter-spacing: 0.05em;
}
.m-ward-big-num {
    font-size: 28px;
    color: #e2e8f0;
    line-height: 1;
}
.municipal-ward-zone, .m-ward-zone-tag {
    font-size: 11px;
    color: #64748b;
    margin-bottom: 8px;
    display: block;
}
.municipal-ward-locality, .m-ward-title {
    font-size: 16px;
    margin: 0 0 14px 0;
    color: #0f172a;
    line-height: 1.4;
    flex: 1;
}
.municipal-ward-councillor, .m-ward-person {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px;
    background: #f8fafc;
    border-radius: 10px;
    margin-bottom: 12px;
}
.municipal-councillor-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #e2e8f0;
    color: #64748b;
    display: grid;
    place-items: center;
    font-size: 16px;
}
.municipal-ward-councillor small, .m-person-role {
    display: block;
    font-size: 10px;
    text-transform: uppercase;
    color: #64748b;
}
.municipal-ward-councillor strong, .m-person-name {
    display: block;
    font-size: 13px;
    color: #0f172a;
}
.municipal-ward-actions, .m-ward-card-footer {
    display: flex;
    gap: 8px;
    margin-top: auto;
}
.municipal-ward-call, .m-person-tel {
    font-size: 12px;
    font-weight: 600;
    color: #087f8f;
    text-decoration: none !important;
}

/* --- Projects Widget Grid --- */
.municipal-projects-grid, .municipal-projects-grid-full {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 24px;
}
.municipal-project-card-v2, .municipal-project-full-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 24px;
    box-shadow: 0 4px 20px rgba(15, 44, 70, 0.05);
    display: flex;
    flex-direction: column;
    transition: transform 0.3s, box-shadow 0.3s;
}
.municipal-project-card-v2:hover, .municipal-project-full-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 34px rgba(15, 44, 70, 0.09);
}
.municipal-project-top, .municipal-p-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}
.municipal-progress-wrap, .m-p-progress-block {
    margin: 16px 0;
}
.municipal-progress-meta, .m-p-meta {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    margin-bottom: 6px;
    color: #475569;
}
.municipal-progress-bar, .m-p-bar {
    height: 8px;
    background: #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
}
.municipal-progress-fill, .m-p-fill {
    height: 100%;
    background: linear-gradient(90deg, #087f8f, #f6a51a);
    border-radius: 10px;
}
.municipal-project-foot, .m-p-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid #edf2f7;
    font-size: 12px;
}

/* --- Citizen Charter Table --- */
.municipal-charter-table-wrap {
    width: 100%;
    overflow-x: auto;
    margin-top: 24px;
    background: #fff;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 20px rgba(15, 44, 70, 0.05);
}
.municipal-charter-table {
    display: flex;
    flex-direction: column;
    min-width: 650px;
}
.municipal-charter-thead {
    display: grid;
    grid-template-columns: 2fr 1.2fr 1.5fr 1.2fr 1.5fr;
    gap: 15px;
    background: #092c4a;
    color: #fff;
    padding: 16px 20px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
}
.municipal-charter-trow {
    display: grid;
    grid-template-columns: 2fr 1.2fr 1.5fr 1.2fr 1.5fr;
    gap: 15px;
    align-items: center;
    padding: 16px 20px;
    border-bottom: 1px solid #edf2f7;
    font-size: 13px;
}
.municipal-charter-trow:hover { background: #f8fafc; }
.municipal-time-badge {
    background: #e6f6f7;
    color: #087f8f;
    font-weight: 600;
    font-size: 11px;
    padding: 4px 10px;
    border-radius: 20px;
}

/* --- Mobile Responsiveness Overrides --- */
@media (max-width: 991px) {
    .municipal-quick-pay-grid, .municipal-emergency-widget-grid, .municipal-ward-cards-grid, .municipal-ward-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .municipal-projects-grid, .municipal-projects-grid-full {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .municipal-grievance-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    /* Responsive Tender Cards on Mobile */
    .municipal-tender-table { min-width: 0; }
    .municipal-tender-head { display: none !important; }
    .municipal-tender-row {
        display: flex !important;
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding: 16px;
        border-bottom: 8px solid #f1f5f9;
    }
    .m-label-mobile {
        display: inline-block;
        font-weight: 600;
        color: #64748b;
        font-size: 12px;
    }
    .municipal-tender-action-col {
        width: 100%;
        text-align: left !important;
        margin-top: 6px;
    }
    .municipal-tender-action-col .municipal-btn {
        width: 100%;
        justify-content: center;
    }

    /* Grids to Single Column */
    .municipal-quick-pay-grid,
    .municipal-emergency-widget-grid,
    .municipal-ward-cards-grid,
    .municipal-ward-grid,
    .municipal-projects-grid,
    .municipal-projects-grid-full {
        grid-template-columns: 1fr !important;
    }

    .municipal-civic-form .municipal-form-grid {
        grid-template-columns: 1fr;
    }

    .municipal-pay-footer-strip {
        flex-direction: column;
        gap: 10px;
    }

    /* Full-width Canvas for Elementor on Mobile */
    .elementor-full-width-content,
    .municipal-elementor-canvas-wrap {
        width: 100% !important;
        padding: 0 !important;
    }

    .municipal-track-input-wrap {
        flex-direction: column;
        align-items: stretch;
    }
    .municipal-track-input-wrap .municipal-btn {
        width: 100%;
        justify-content: center;
    }
}


/* ==========================================================================
   Interactive Civic Feedback, Complaint Tracking, Dues & Directory Styles
   ========================================================================== */
.municipal-form-response,
.municipal-track-result,
.municipal-contact-response,
.municipal-pay-status {
    margin-top: 20px;
    animation: municipalFadeIn 0.35s ease-out;
}

@keyframes municipalFadeIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

.municipal-alert-success-box {
    background: #f0fdf4;
    border: 1px solid #86efac;
    border-radius: 12px;
    padding: 22px;
    display: flex;
    gap: 16px;
    align-items: flex-start;
    box-shadow: 0 4px 14px rgba(22, 163, 74, 0.08);
}

.municipal-alert-icon {
    font-size: 32px;
    color: #16a34a;
    line-height: 1;
    flex-shrink: 0;
    margin-top: 2px;
}

.municipal-alert-body {
    flex: 1;
}

.m-success-badge {
    display: inline-block;
    background: #16a34a;
    color: #ffffff;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    padding: 3px 10px;
    border-radius: 4px;
    margin-bottom: 8px;
}

.municipal-alert-body h3 {
    margin: 4px 0 10px;
    font-size: 18px;
    color: #0f172a;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.m-token-copy {
    background: #e2e8f0;
    padding: 3px 8px;
    border-radius: 6px;
    font-size: 16px;
    font-weight: 600;
    color: #087f8f;
    letter-spacing: 0.5px;
}

.m-btn-copy {
    background: #087f8f;
    color: #ffffff;
    border: none;
    border-radius: 4px;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.m-btn-copy:hover {
    background: #066471;
}

.m-success-details {
    list-style: none;
    padding: 0;
    margin: 14px 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 14px;
    color: #334155;
}
.m-success-details li {
    display: flex;
    align-items: center;
    gap: 8px;
}
.m-success-details li i {
    color: #087f8f;
    width: 18px;
    text-align: center;
}

.m-success-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 14px;
}

/* Timeline For Tracking Complaints */
.municipal-track-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05);
}

.m-track-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 14px;
    margin-bottom: 20px;
    flex-wrap: wrap;
    gap: 10px;
}

.m-track-token {
    font-size: 20px;
    font-weight: 600;
    color: #087f8f;
    letter-spacing: 0.5px;
}

.municipal-timeline {
    position: relative;
    padding-left: 28px;
    margin: 20px 0;
}

.municipal-timeline::before {
    content: '';
    position: absolute;
    left: 8px;
    top: 8px;
    bottom: 8px;
    width: 2px;
    background: #e2e8f0;
}

.m-timeline-step {
    position: relative;
    margin-bottom: 20px;
}
.m-timeline-step:last-child {
    margin-bottom: 0;
}

.m-step-dot {
    position: absolute;
    left: -28px;
    top: 3px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #cbd5e1;
    border: 3px solid #ffffff;
    box-shadow: 0 0 0 2px #cbd5e1;
}

.m-timeline-step.is-done .m-step-dot {
    background: #16a34a;
    box-shadow: 0 0 0 2px #16a34a;
}

.m-timeline-step.is-active .m-step-dot {
    background: #087f8f;
    box-shadow: 0 0 0 3px rgba(8, 127, 143, 0.3);
    animation: mPulse 2s infinite;
}

@keyframes mPulse {
    0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(8, 127, 143, 0.7); }
    70% { transform: scale(1.1); box-shadow: 0 0 0 7px rgba(8, 127, 143, 0); }
    100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(8, 127, 143, 0); }
}

.m-step-title {
    font-weight: 600;
    font-size: 15px;
    color: #0f172a;
    margin-bottom: 2px;
}
.m-step-desc {
    font-size: 13px;
    color: #64748b;
}

.m-officer-box {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 12px 16px;
    margin-top: 18px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 13px;
}

/* Pay Bill / Dues Card */
.m-pay-summary-card {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 16px;
    margin-top: 14px;
    text-align: left;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}
.m-pay-row {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    margin-bottom: 6px;
    color: #475569;
}
.m-pay-row.m-total {
    font-size: 15px;
    font-weight: 600;
    color: #0f172a;
    border-top: 1px dashed #cbd5e1;
    padding-top: 8px;
    margin-top: 8px;
}
.m-pay-actions {
    margin-top: 12px;
}
.m-pay-actions .municipal-btn {
    width: 100%;
    justify-content: center;
}

.m-receipt-box {
    background: #f0fdf4;
    border: 1px solid #86efac;
    border-radius: 8px;
    padding: 12px;
    margin-top: 10px;
    font-size: 13px;
    line-height: 1.6;
    color: #166534;
}

/* Empty State / No Results */
.municipal-no-results {
    grid-column: 1 / -1;
    text-align: center;
    padding: 40px 20px;
    background: #f8fafc;
    border: 1px dashed #cbd5e1;
    border-radius: 12px;
    color: #64748b;
    margin: 16px 0;
    width: 100%;
}
.municipal-no-results i {
    font-size: 36px;
    color: #94a3b8;
    margin-bottom: 10px;
    display: block;
}
.municipal-no-results h4 {
    font-size: 17px;
    color: #1e293b;
    margin: 0 0 6px;
}
.municipal-no-results p {
    font-size: 14px;
    color: #64748b;
    margin: 0;
}

@media (max-width: 600px) {
    .municipal-alert-success-box {
        flex-direction: column;
        gap: 12px;
    }
    .municipal-alert-body h3 {
        font-size: 16px;
    }
    .m-success-actions button {
        width: 100%;
    }
}


/* ==========================================================================
   World-Class Civic Enhancements: Tenders, Forms, Budget & Helpdesk
   ========================================================================== */

/* Tender Action Group & Apply Online Button */
.municipal-tender-btn-group {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
}
.municipal-btn-apply {
    background: #087f8f !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: 0 2px 6px rgba(8, 127, 143, 0.25);
    font-weight: 600 !important;
}
.municipal-btn-apply:hover {
    background: #066471 !important;
    transform: translateY(-1px);
}

/* External Portal Gateway Cards */
.municipal-portal-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
    border-top: 3px solid #087f8f;
}
.municipal-portal-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(15, 44, 70, 0.12);
}
.municipal-portal-action-wrap {
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid #f1f5f9;
}
.municipal-btn-portal {
    width: 100%;
    justify-content: center;
    font-weight: 600;
    letter-spacing: 0.2px;
}
.municipal-portal-hint {
    display: block;
    font-size: 11px;
    color: #94a3b8;
    margin-top: 8px;
    text-align: center;
}

/* Citizen Forms & Downloads Page */
.municipal-forms-filter-bar {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 32px;
}
.municipal-forms-search-box {
    position: relative;
    width: 100%;
}
.municipal-forms-search-box i {
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    font-size: 18px;
}
.municipal-forms-search-box input {
    width: 100%;
    padding: 14px 20px 14px 48px;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    font-size: 15px;
    background: #ffffff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}
.municipal-forms-cat-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.municipal-f-btn {
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    color: #475569;
    cursor: pointer;
    transition: all 0.2s;
}
.municipal-f-btn.is-active,
.municipal-f-btn:hover {
    background: #087f8f;
    border-color: #087f8f;
    color: #ffffff;
}
.municipal-forms-section {
    width: 100% !important;
}
.municipal-forms-section .municipal-container,
.municipal-forms-page .municipal-container {
    width: min(1240px, calc(100% - 32px)) !important;
    max-width: 1240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.municipal-forms-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 22px !important;
    width: 100% !important;
}
@media (max-width: 1024px) and (min-width: 681px) {
    .municipal-forms-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 18px !important;
    }
}
@media (max-width: 680px) {
    .municipal-forms-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
}
.municipal-form-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 22px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
    transition: transform 0.2s, box-shadow 0.2s;
}
.municipal-form-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}
.m-form-card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}
.m-form-code-badge {
    background: #e0f2fe;
    color: #0369a1;
    font-size: 11px;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 4px;
    letter-spacing: 0.5px;
}
.m-form-size-badge {
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
}
.m-form-title {
    font-size: 17px;
    font-weight: 600;
    color: #0f172a;
    line-height: 1.4;
    margin: 0 0 8px;
}
.m-form-dept {
    font-size: 12px;
    color: #087f8f;
    font-weight: 600;
    margin-bottom: 14px;
}
.m-form-enclosures {
    background: #f8fafc;
    border-radius: 8px;
    padding: 10px 14px;
    margin-bottom: 16px;
    font-size: 12px;
}
.m-form-enclosures strong {
    color: #334155;
    display: block;
    margin-bottom: 3px;
}
.m-form-enclosures p {
    color: #64748b;
    margin: 0;
    line-height: 1.4;
}
.m-form-actions {
    margin-top: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 14px;
    border-top: 1px solid #f1f5f9;
}
.m-form-free-tag {
    font-size: 12px;
    color: #16a34a;
    font-weight: 600;
}
.municipal-forms-note-banner {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 12px;
    padding: 20px;
    margin-top: 36px;
}
.m-forms-note-icon {
    font-size: 28px;
    color: #16a34a;
    flex-shrink: 0;
}
.m-forms-note-text strong {
    display: block;
    font-size: 15px;
    color: #14532d;
    margin-bottom: 4px;
}
.m-forms-note-text p {
    margin: 0;
    font-size: 13px;
    color: #166534;
    line-height: 1.5;
}

/* Budget & Financial Disclosures Page */
.municipal-budget-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-bottom: 32px;
}
.m-budget-stat-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}
.m-bstat-label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 6px;
}
.m-bstat-val {
    display: block;
    font-size: 26px;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.1;
    margin-bottom: 6px;
}
.m-bstat-sub {
    display: block;
    font-size: 12px;
    color: #64748b;
}
.municipal-budget-filter-bar {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 28px;
    flex-wrap: wrap;
}
.m-b-filter-title {
    font-size: 13px;
    font-weight: 600;
    color: #334155;
}
.municipal-budget-tabs {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.municipal-b-tab {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 6px 14px;
    font-size: 13px;
    font-weight: 600;
    color: #475569;
    cursor: pointer;
    transition: all 0.2s;
}
.municipal-b-tab.is-active,
.municipal-b-tab:hover {
    background: #087f8f;
    border-color: #087f8f;
    color: #ffffff;
}
.municipal-budget-years-grid {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.municipal-budget-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 26px;
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.05);
}
.m-budget-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 14px;
    flex-wrap: wrap;
    gap: 12px;
}
.m-budget-tag-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
}
.m-budget-year-pill {
    background: #0f2c48;
    color: #ffffff;
    font-weight: 600;
    font-size: 13px;
    padding: 4px 12px;
    border-radius: 6px;
    letter-spacing: 0.5px;
}
.m-budget-badge {
    background: #e0f2fe;
    color: #0284c7;
    font-size: 11px;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 4px;
}
.m-budget-outlay-box {
    text-align: right;
}
.m-budget-outlay-box small {
    display: block;
    font-size: 11px;
    color: #64748b;
    text-transform: uppercase;
}
.m-budget-outlay-box strong {
    font-size: 20px;
    font-weight: 600;
    color: #087f8f;
}
.m-budget-title {
    font-size: 20px;
    color: #0f172a;
    margin: 0 0 6px;
    font-weight: 600;
}
.m-budget-date {
    display: inline-block;
    font-size: 12px;
    color: #64748b;
    margin-bottom: 12px;
}
.m-budget-summary {
    font-size: 14px;
    color: #475569;
    line-height: 1.6;
    margin-bottom: 20px;
}
.m-budget-doc-list {
    background: #f8fafc;
    border: 1px solid #edf2f7;
    border-radius: 12px;
    padding: 18px;
}
.m-budget-doc-list h4 {
    margin: 0 0 14px;
    font-size: 13px;
    font-weight: 600;
    color: #334155;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.m-budget-doc-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 12px 16px;
    margin-bottom: 10px;
    gap: 12px;
    flex-wrap: wrap;
}
.m-budget-doc-row:last-child {
    margin-bottom: 0;
}
.m-doc-info {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
}
.m-doc-info i {
    font-size: 22px;
}
.m-doc-name {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #1e293b;
}
.m-doc-size {
    font-size: 11px;
    color: #64748b;
}
.m-doc-actions {
    display: flex;
    gap: 8px;
}
.municipal-budget-disclaimer {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 20px;
    margin-top: 32px;
}
.municipal-budget-disclaimer i {
    font-size: 26px;
    color: #087f8f;
    flex-shrink: 0;
}
.municipal-budget-disclaimer strong {
    display: block;
    font-size: 14px;
    color: #0f172a;
    margin-bottom: 4px;
}
.municipal-budget-disclaimer p {
    font-size: 13px;
    color: #64748b;
    margin: 0;
    line-height: 1.5;
}

/* Grievance & Helpdesk Layout */
.municipal-helpdesk-grid-page,
.municipal-helpdesk-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 24px;
    margin-top: 24px;
}
.municipal-helpdesk-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 26px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.05);
}
.municipal-card-primary-gradient {
    background: linear-gradient(135deg, #092c4a 0%, #087f8f 100%) !important;
    color: #ffffff !important;
    border: none !important;
}
.municipal-card-primary-gradient h3,
.municipal-card-primary-gradient p {
    color: #ffffff !important;
}
.municipal-card-primary-gradient .m-hd-badge {
    background: rgba(255, 255, 255, 0.2);
    color: #ffffff;
}
.m-hd-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14px;
}
.m-hd-icon {
    font-size: 32px;
}
.m-hd-badge {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.6px;
    background: #f1f5f9;
    color: #475569;
    padding: 3px 8px;
    border-radius: 4px;
}
.municipal-helpdesk-card h3 {
    font-size: 19px;
    font-weight: 600;
    margin: 0 0 10px;
    color: #0f172a;
}
.municipal-helpdesk-card p {
    font-size: 14px;
    color: #64748b;
    line-height: 1.5;
    margin-bottom: 18px;
}
.m-hd-actions {
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.m-hd-contact-links {
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.m-hd-meta-text {
    font-size: 12px;
    color: #64748b;
    margin-top: 14px;
}
.m-hd-schedule-list {
    list-style: none;
    padding: 0;
    margin: auto 0 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-size: 13px;
    color: #334155;
    background: #f8fafc;
    border-radius: 8px;
    padding: 14px;
}
.m-hd-schedule-list li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}
.m-hd-schedule-list li i {
    color: #087f8f;
    margin-top: 2px;
}
.municipal-btn-light {
    background: #ffffff !important;
    color: #092c4a !important;
    font-weight: 600;
    justify-content: center;
}
.municipal-btn-light:hover {
    background: #f8fafc !important;
}
.municipal-btn-outline-white {
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.6) !important;
    color: #ffffff !important;
    font-weight: 600;
    justify-content: center;
}
.municipal-btn-outline-white:hover {
    background: rgba(255, 255, 255, 0.15) !important;
}
.municipal-helpdesk-footer-links {
    display: flex;
    gap: 14px;
    margin-top: 24px;
    flex-wrap: wrap;
}

@media (max-width: 991px) {
    .municipal-budget-stat-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .municipal-budget-stat-grid {
        grid-template-columns: 1fr;
    }
    .municipal-tender-btn-group {
        width: 100%;
        justify-content: stretch;
    }
    .municipal-tender-btn-group .municipal-btn {
        flex: 1;
    }
    .m-doc-actions {
        width: 100%;
    }
    .m-doc-actions .municipal-btn {
        flex: 1;
    }
}

/* ==============================================================
   MUNICIPAL SPOTLIGHT WIDGETS SUITE (HOMEPAGE HIGHLIGHTS)
   ============================================================== */

/* --- Forms Spotlight Section --- */
.municipal-forms-spotlight-section {
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
}
.municipal-spotlight-forms-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 28px;
}
.municipal-spotlight-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
    box-shadow: 0 4px 15px rgba(15, 44, 70, 0.04);
}
.municipal-spotlight-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 28px rgba(15, 44, 70, 0.1);
    border-color: #087f8f;
}
.municipal-spotlight-card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 18px;
    background: #f1f5f9;
    border-bottom: 1px solid #e2e8f0;
}
.municipal-spotlight-dept {
    font-size: 11px;
    font-weight: 600;
    color: #0369a1;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.municipal-spotlight-formno code {
    font-size: 11px;
    font-weight: 600;
    background: #e2e8f0;
    color: #334155;
    padding: 2px 7px;
    border-radius: 4px;
    font-family: Consolas, Monaco, "Courier New", monospace;
}
.municipal-spotlight-card-body {
    padding: 20px 18px;
    display: flex;
    gap: 14px;
    flex: 1;
}
.municipal-spotlight-icon-box {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(8, 127, 143, 0.12), rgba(3, 105, 161, 0.06));
    color: #087f8f;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
}
.municipal-spotlight-info {
    flex: 1;
}
.municipal-spotlight-info h3 {
    font-size: 15px;
    font-weight: 600;
    color: #092c4a;
    line-height: 1.4;
    margin: 0 0 10px 0;
}
.municipal-spotlight-enclosures {
    font-size: 11px;
    color: #64748b;
    line-height: 1.5;
    background: #f8fafc;
    border-left: 3px solid #087f8f;
    padding: 6px 10px;
    border-radius: 4px;
}
.municipal-spotlight-enclosures strong {
    display: block;
    color: #334155;
    margin-bottom: 2px;
}
.municipal-spotlight-card-foot {
    padding: 14px 18px;
    background: #fcfdfe;
    border-top: 1px solid #edf2f7;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}
.municipal-btn-download-sm {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 14px;
    border-radius: 8px;
    background: #092c4a;
    color: #ffffff !important;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none !important;
    transition: background 0.2s ease, box-shadow 0.2s ease;
}
.municipal-btn-download-sm:hover {
    background: #087f8f;
    box-shadow: 0 4px 12px rgba(8, 127, 143, 0.3);
}
.municipal-spotlight-free-badge {
    font-size: 11px;
    font-weight: 600;
    color: #16a34a;
    white-space: nowrap;
}
.municipal-spotlight-cta-banner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    padding: 24px 32px;
    background: linear-gradient(135deg, #071e33 0%, #0f3b5f 100%);
    border-radius: 16px;
    color: #ffffff;
    margin-top: 32px;
    box-shadow: 0 10px 25px rgba(7, 30, 51, 0.15);
}
.municipal-cta-banner-content {
    display: flex;
    align-items: center;
    gap: 20px;
}
.municipal-cta-banner-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: #38bdf8;
    flex-shrink: 0;
}
.municipal-cta-banner-content h4 {
    font-size: 17px;
    font-weight: 600;
    color: #ffffff;
    margin: 0 0 5px 0;
}
.municipal-cta-banner-content p {
    font-size: 13px;
    color: #cbd5e1;
    margin: 0;
    line-height: 1.5;
}
.municipal-cta-banner-actions {
    flex-shrink: 0;
}

/* --- Budget at a Glance Section --- */
.municipal-budget-glance-section {
    background: #ffffff;
}
.municipal-budget-glance-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 28px;
}
.municipal-budget-glance-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 24px;
    position: relative;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    box-shadow: 0 4px 15px rgba(15, 44, 70, 0.03);
}
.municipal-budget-glance-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 28px rgba(15, 44, 70, 0.08);
}
.municipal-b-card-icon {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    background: #f1f5f9;
    color: #092c4a;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    margin-bottom: 16px;
}
.municipal-b-card-label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 8px;
}
.municipal-b-card-val {
    font-size: 30px;
    font-weight: 700;
    color: #092c4a;
    line-height: 1.1;
    margin-bottom: 8px;
    letter-spacing: -0.02em;
}
.municipal-b-card-val small {
    font-size: 16px;
    font-weight: 700;
    color: #087f8f;
    margin-left: 2px;
}
.municipal-b-card-desc {
    font-size: 13px;
    color: #64748b;
    line-height: 1.5;
    margin: 0 0 16px 0;
}
.municipal-b-card-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    background: #e6f7ec;
    color: #16a34a;
}
.municipal-b-card-badge.is-teal {
    background: #e0f2fe;
    color: #0284c7;
}
.municipal-b-card-badge.is-green {
    background: #dcfce7;
    color: #15803d;
}
.municipal-b-card-badge.is-amber {
    background: #fef3c7;
    color: #d97706;
}
.municipal-budget-summary-box {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 32px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    padding: 32px;
    margin-top: 32px;
    box-shadow: 0 8px 30px rgba(15, 44, 70, 0.04);
}
.municipal-b-summary-left {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-right: 28px;
    border-right: 1px solid #e2e8f0;
}
.municipal-b-quote-icon {
    font-size: 32px;
    color: #087f8f;
    opacity: 0.35;
    margin-bottom: 12px;
}
.municipal-b-summary-left blockquote {
    font-size: 15px;
    line-height: 1.65;
    font-style: italic;
    color: #1e293b;
    margin: 0 0 16px 0;
    padding: 0;
    border: 0;
}
.municipal-b-speaker strong {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #092c4a;
}
.municipal-b-speaker span {
    font-size: 12px;
    color: #64748b;
}
.municipal-b-summary-right {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.municipal-b-actions-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.municipal-b-file-pill {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 18px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    text-decoration: none !important;
    color: inherit;
    transition: all 0.2s ease;
}
.municipal-b-file-pill:hover {
    background: #e0f2fe;
    border-color: #bae6fd;
    transform: translateX(4px);
}
.municipal-b-file-pill > i:first-child {
    font-size: 20px;
    color: #087f8f;
    flex-shrink: 0;
}
.municipal-b-file-pill div {
    flex: 1;
}
.municipal-b-file-pill strong {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #092c4a;
}
.municipal-b-file-pill span {
    display: block;
    font-size: 11px;
    color: #64748b;
}
.municipal-b-file-pill > i:last-child {
    font-size: 14px;
    color: #94a3b8;
    flex-shrink: 0;
}

/* --- Smart City Transformation Section --- */
.municipal-smart-city-section {
    background: linear-gradient(180deg, #071e33 0%, #0c2b48 100%);
    color: #ffffff;
    position: relative;
    overflow: hidden;
}
.municipal-smart-city-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: radial-gradient(rgba(56, 189, 248, 0.08) 1px, transparent 1px);
    background-size: 24px 24px;
    pointer-events: none;
}
.municipal-smart-city-section h2 {
    color: #ffffff !important;
}
.municipal-smart-city-section p {
    color: #cbd5e1 !important;
}
.municipal-smart-city-section .municipal-kicker {
    background: rgba(8, 127, 143, 0.25);
    color: #38bdf8;
    border: 1px solid rgba(56, 189, 248, 0.35);
}
.municipal-smart-city-section .municipal-btn-outline {
    border-color: rgba(255, 255, 255, 0.4);
    color: #ffffff;
}
.municipal-smart-city-section .municipal-btn-outline:hover {
    background: #ffffff;
    color: #092c4a;
}
.municipal-smart-city-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 32px;
    position: relative;
    z-index: 1;
}
.municipal-smart-city-card {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 18px;
    padding: 26px 22px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: transform 0.3s ease, background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.municipal-smart-city-card:hover {
    background: rgba(255, 255, 255, 0.12);
    transform: translateY(-5px);
    border-color: rgba(56, 189, 248, 0.45);
    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.3);
}
.municipal-sc-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}
.municipal-sc-icon {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    background: rgba(8, 127, 143, 0.3);
    color: #38bdf8;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}
.municipal-sc-badge {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 3px 9px;
    border-radius: 20px;
    background: rgba(56, 189, 248, 0.15);
    color: #7dd3fc;
    border: 1px solid rgba(56, 189, 248, 0.25);
}
.municipal-sc-number {
    font-size: 38px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.1;
    margin-bottom: 8px;
    letter-spacing: -0.02em;
    background: linear-gradient(135deg, #ffffff 40%, #7dd3fc 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.municipal-sc-label {
    font-size: 15px;
    font-weight: 600;
    color: #e2e8f0;
    margin: 0 0 8px 0;
}
.municipal-sc-desc {
    font-size: 13px;
    color: #94a3b8;
    line-height: 1.5;
    margin: 0;
}

/* --- Civic Leadership Pro Section --- */
.municipal-leadership-pro-section {
    background: #ffffff;
}
.municipal-leaders-pro-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 26px !important;
    margin-top: 28px !important;
}
.municipal-leader-pro-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
    box-shadow: 0 4px 18px rgba(15, 44, 70, 0.04);
}
.municipal-leader-pro-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 30px rgba(15, 44, 70, 0.1);
    border-color: #cbd5e1;
}
.municipal-leader-pro-top {
    padding: 22px;
    display: flex;
    gap: 16px;
    align-items: center;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}
.municipal-leader-avatar-box {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    flex-shrink: 0;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.municipal-leader-avatar-box.avatar-mayor {
    background: linear-gradient(135deg, #092c4a, #087f8f);
    color: #ffffff;
}
.municipal-leader-avatar-box.avatar-commissioner {
    background: linear-gradient(135deg, #047857, #10b981);
    color: #ffffff;
}
.municipal-leader-avatar-box.avatar-deputy {
    background: linear-gradient(135deg, #b45309, #f59e0b);
    color: #ffffff;
}
.municipal-leader-avatar-box.avatar-governor {
    background: linear-gradient(135deg, #7c2d12, #c2410c);
    color: #ffffff;
}
.municipal-leader-avatar-box.avatar-cm {
    background: linear-gradient(135deg, #1e3a8a, #2563eb);
    color: #ffffff;
}
.municipal-leader-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    border-radius: 50%;
    display: block;
}
.municipal-leader-meta {
    flex: 1;
}
.municipal-leader-badge {
    display: inline-block;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 2px 8px;
    border-radius: 12px;
    background: #e0f2fe;
    color: #0284c7;
    margin-bottom: 4px;
}
.municipal-leader-meta h3 {
    font-size: 16px;
    font-weight: 600;
    color: #092c4a;
    margin: 0 0 3px 0;
    line-height: 1.3;
}
.municipal-leader-role {
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
    display: block;
}
.municipal-leader-pro-body {
    padding: 20px 22px;
    flex: 1;
}
.municipal-leader-pro-body blockquote {
    font-size: 13px;
    line-height: 1.6;
    color: #475569;
    margin: 0;
    font-style: italic;
    border-left: 3px solid #087f8f;
    padding-left: 12px;
    border-top: 0;
    border-right: 0;
    border-bottom: 0;
}
.municipal-leader-pro-foot {
    padding: 16px 22px;
    background: #f8fafc;
    border-top: 1px solid #edf2f7;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.municipal-leader-schedule {
    font-size: 12px;
    font-weight: 600;
    color: #0369a1;
    display: flex;
    align-items: center;
    gap: 8px;
}
.municipal-leader-contacts {
    display: flex;
    gap: 14px;
    font-size: 12px;
    flex-wrap: wrap;
}
.municipal-leader-contacts a {
    color: #475569;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: color 0.2s;
}
.municipal-leader-contacts a:hover {
    color: #087f8f;
}
.municipal-jansunwai-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 24px 30px;
    background: linear-gradient(135deg, #f0fdf4 0%, #ecfdf5 100%);
    border: 1px solid #bbf7d0;
    border-radius: 18px;
    margin-top: 32px;
}
.municipal-jansunwai-icon {
    width: 50px;
    height: 50px;
    border-radius: 14px;
    background: #16a34a;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    flex-shrink: 0;
}
.municipal-jansunwai-text {
    flex: 1;
}
.municipal-jansunwai-text h4 {
    font-size: 17px;
    font-weight: 600;
    color: #166534;
    margin: 0 0 5px 0;
}
.municipal-jansunwai-text p {
    font-size: 13px;
    color: #15803d;
    line-height: 1.5;
    margin: 0;
}
.municipal-jansunwai-action {
    flex-shrink: 0;
}

/* --- Floating Back to Top Button --- */
.municipal-back-to-top {
    position: fixed;
    bottom: 28px;
    right: 28px;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: #087f8f;
    color: #ffffff;
    border: 0;
    box-shadow: 0 6px 20px rgba(8, 127, 143, 0.4);
    cursor: pointer;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease, background 0.2s ease;
}
.municipal-back-to-top:hover {
    background: #065e6a;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(8, 127, 143, 0.5);
}
.municipal-back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* --- Responsive Layout for Spotlight Widgets --- */
@media (max-width: 991px) {
    .municipal-spotlight-forms-grid,
    .municipal-budget-glance-grid,
    .municipal-smart-city-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .municipal-leaders-pro-grid {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }
    .municipal-budget-summary-box {
        grid-template-columns: 1fr;
    }
    .municipal-b-summary-left {
        border-right: 0;
        border-bottom: 1px solid #e2e8f0;
        padding-right: 0;
        padding-bottom: 24px;
    }
    .municipal-spotlight-cta-banner,
    .municipal-jansunwai-banner {
        flex-direction: column;
        align-items: flex-start;
        padding: 22px;
    }
    .municipal-cta-banner-content {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
    .municipal-cta-banner-actions,
    .municipal-jansunwai-action {
        width: 100%;
    }
    .municipal-cta-banner-actions .municipal-btn,
    .municipal-jansunwai-action .municipal-btn {
        width: 100%;
        text-align: center;
        justify-content: center;
    }
}

@media (max-width: 600px) {
    .municipal-spotlight-forms-grid,
    .municipal-budget-glance-grid,
    .municipal-smart-city-grid {
        grid-template-columns: 1fr;
    }
    .municipal-spotlight-card-body {
        flex-direction: column;
    }
    .municipal-b-card-val {
        font-size: 26px;
    }
    .municipal-sc-number {
        font-size: 32px;
    }
    .municipal-leaders-pro-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
    .municipal-leader-pro-card {
        width: 100% !important;
    }
    .municipal-leader-pro-top {
        padding: 16px !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 14px !important;
    }
    .municipal-leader-avatar-box {
        width: 52px !important;
        height: 52px !important;
        font-size: 20px !important;
    }
    .municipal-leader-meta h3 {
        font-size: 15px !important;
    }
    .municipal-leader-pro-body {
        padding: 16px !important;
    }
    .municipal-leader-pro-foot {
        padding: 14px 16px !important;
    }
    .municipal-leader-contacts {
        flex-direction: column !important;
        gap: 8px !important;
    }
    .municipal-back-to-top {
        bottom: 18px;
        right: 18px;
        width: 42px;
        height: 42px;
    }
}

/* ==============================================================
   MUNICIPAL WELFARE & CIVIC SCHEMES PORTAL
   ============================================================== */

.municipal-schemes-page {
    padding-bottom: 70px;
    background: #f8fafc;
}
.municipal-schemes-widget-section {
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
}

/* --- Schemes KPI Stats Strip --- */
.municipal-schemes-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin: 28px 0;
}
.m-scheme-stat-card {
    display: flex;
    align-items: center;
    gap: 16px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 20px;
    box-shadow: 0 4px 15px rgba(15, 44, 70, 0.03);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.m-scheme-stat-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 24px rgba(15, 44, 70, 0.08);
}
.m-sstat-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(8, 127, 143, 0.12), rgba(3, 105, 161, 0.08));
    color: #087f8f;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
}
.m-sstat-val {
    display: block;
    font-size: 17px;
    font-weight: 600;
    color: #092c4a;
    line-height: 1.25;
    margin-bottom: 3px;
}
.m-sstat-label {
    display: block;
    font-size: 11px;
    font-weight: 600;
    color: #64748b;
    line-height: 1.35;
}

/* --- Search & Filter Bar --- */
.municipal-schemes-filter-bar {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 32px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 22px;
    box-shadow: 0 4px 18px rgba(15, 44, 70, 0.03);
}
.municipal-schemes-search-box {
    position: relative;
    width: 100%;
}
.municipal-schemes-search-box i {
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    font-size: 16px;
}
.municipal-schemes-search-box input {
    width: 100%;
    padding: 14px 18px 14px 48px;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    font-size: 14px;
    color: #1e293b;
    background: #f8fafc;
    box-sizing: border-box;
    transition: all 0.2s ease;
}
.municipal-schemes-search-box input:focus {
    background: #ffffff;
    border-color: #087f8f;
    outline: none;
    box-shadow: 0 0 0 3px rgba(8, 127, 143, 0.15);
}
.municipal-schemes-cat-tabs {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.municipal-s-btn {
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    border: 1px solid #e2e8f0;
    background: #f1f5f9;
    color: #475569;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}
.municipal-s-btn:hover {
    background: #e2e8f0;
    color: #092c4a;
}
.municipal-s-btn.is-active {
    background: #092c4a;
    color: #ffffff;
    border-color: #092c4a;
    box-shadow: 0 4px 12px rgba(9, 44, 74, 0.25);
}

/* --- Schemes Grid & Cards --- */
.municipal-schemes-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}
.municipal-scheme-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 18px rgba(15, 44, 70, 0.04);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.municipal-scheme-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 32px rgba(15, 44, 70, 0.1);
    border-color: #087f8f;
}
.m-scheme-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 20px;
    background: #f8fafc;
    border-bottom: 1px solid #edf2f7;
    gap: 10px;
}
.m-scheme-code-badge {
    font-size: 11px;
    font-weight: 600;
    font-family: Consolas, Monaco, "Courier New", monospace;
    background: #e0f2fe;
    color: #0369a1;
    padding: 3px 8px;
    border-radius: 6px;
}
.m-scheme-level-badge {
    font-size: 11px;
    font-weight: 600;
    color: #64748b;
    margin-right: auto;
    margin-left: 6px;
}
.m-scheme-card-body {
    padding: 22px 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.m-scheme-title-box {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}
.m-scheme-icon-circle {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(8, 127, 143, 0.12), rgba(3, 105, 161, 0.08));
    color: #087f8f;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
}
.m-scheme-title {
    font-size: 17px;
    font-weight: 600;
    color: #092c4a;
    line-height: 1.35;
    margin: 0 0 5px 0;
}
.m-scheme-dept {
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
    display: flex;
    align-items: center;
    gap: 6px;
}
.m-scheme-benefit-box {
    background: linear-gradient(135deg, #f0fdf4 0%, #ecfdf5 100%);
    border: 1px solid #bbf7d0;
    border-radius: 12px;
    padding: 13px 16px;
}
.m-scheme-benefit-head {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 11px;
    font-weight: 600;
    color: #15803d;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin-bottom: 5px;
}
.m-scheme-benefit-box p {
    font-size: 13px;
    font-weight: 600;
    color: #166534;
    line-height: 1.5;
    margin: 0;
}
.m-scheme-meta-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    background: #f8fafc;
    border: 1px solid #edf2f7;
    border-left: 3px solid #087f8f;
    border-radius: 8px;
    padding: 12px 14px;
}
.m-scheme-meta-col strong {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    font-weight: 600;
    color: #334155;
    margin-bottom: 4px;
}
.m-scheme-meta-col span {
    font-size: 12px;
    color: #64748b;
    line-height: 1.45;
    display: block;
}
.m-scheme-card-foot {
    padding: 14px 20px;
    background: #fcfdfe;
    border-top: 1px solid #edf2f7;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.municipal-scheme-help-link {
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: color 0.2s;
}
.municipal-scheme-help-link:hover {
    color: #087f8f;
}

/* --- Helpdesk & Jan Sunwai Banner --- */
.municipal-schemes-helpdesk-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 28px 32px;
    background: linear-gradient(135deg, #071e33 0%, #0f3b5f 100%);
    border-radius: 18px;
    color: #ffffff;
    margin-top: 36px;
    box-shadow: 0 10px 30px rgba(7, 30, 51, 0.15);
}
.m-schemes-hd-icon {
    width: 54px;
    height: 54px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    color: #38bdf8;
    flex-shrink: 0;
}
.m-schemes-hd-text {
    flex: 1;
}
.m-schemes-hd-text h4 {
    font-size: 18px;
    font-weight: 600;
    color: #ffffff;
    margin: 0 0 6px 0;
}
.m-schemes-hd-text p {
    font-size: 13px;
    color: #cbd5e1;
    line-height: 1.55;
    margin: 0;
}
.m-schemes-hd-action {
    flex-shrink: 0;
}

/* --- Responsive Layout for Schemes --- */
@media (max-width: 991px) {
    .municipal-schemes-stat-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .municipal-schemes-grid {
        grid-template-columns: 1fr;
    }
    .municipal-schemes-helpdesk-banner {
        flex-direction: column;
        align-items: flex-start;
        padding: 24px;
    }
    .m-schemes-hd-action {
        width: 100%;
    }
    .m-schemes-hd-action .municipal-btn {
        width: 100%;
        text-align: center;
        justify-content: center;
    }
}

@media (max-width: 600px) {
    .municipal-schemes-stat-grid {
        grid-template-columns: 1fr;
    }
    .m-scheme-title-box {
        flex-direction: column;
    }
    .m-scheme-meta-row {
        grid-template-columns: 1fr;
    }
    .m-scheme-card-foot {
        flex-direction: column;
        align-items: stretch;
    }
    .m-scheme-card-foot .municipal-btn {
        justify-content: center;
    }
}

/* ==============================================================
   MUNICIPAL CITY LANDMARKS & PLACES CAROUSEL
   ============================================================== */

.municipal-city-landmarks-section {
    background: #ffffff;
    border-top: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
    position: relative;
}
.municipal-carousel-nav-arrows {
    display: flex;
    align-items: center;
    gap: 10px;
}
.municipal-carousel-nav-arrows .municipal-carousel-control {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #092c4a;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 15px;
    transition: all 0.2s ease;
    box-shadow: 0 2px 6px rgba(15, 44, 70, 0.04);
}
.municipal-carousel-nav-arrows .municipal-carousel-control:hover {
    background: #092c4a;
    color: #ffffff;
    border-color: #092c4a;
    box-shadow: 0 6px 16px rgba(9, 44, 74, 0.25);
    transform: translateY(-2px);
}
.municipal-city-carousel-wrap {
    overflow: hidden;
    position: relative;
    padding: 10px 0 24px;
    margin-top: 12px;
}
.municipal-city-carousel-track {
    display: flex;
    gap: 24px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
    scroll-behavior: smooth;
    padding: 6px 4px 14px;
}
.municipal-city-carousel-track::-webkit-scrollbar {
    display: none;
}
.municipal-landmark-card {
    flex: 0 0 calc((100% - 48px) / 3);
    min-width: 320px;
    max-width: 420px;
    scroll-snap-align: start;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 18px rgba(15, 44, 70, 0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.municipal-landmark-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 36px rgba(15, 44, 70, 0.12);
    border-color: #087f8f;
}
.municipal-landmark-visual {
    position: relative;
    height: 220px;
    overflow: hidden;
    background: #092c4a;
}
.municipal-landmark-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}
.municipal-landmark-card:hover .municipal-landmark-visual img {
    transform: scale(1.06);
}
.m-landmark-gradient-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 60%;
    background: linear-gradient(to top, rgba(7, 30, 51, 0.75) 0%, transparent 100%);
    pointer-events: none;
}
.m-landmark-category-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    background: rgba(7, 30, 51, 0.85);
    color: #ffffff;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}
.municipal-landmark-body {
    padding: 22px 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.m-landmark-meta-strip {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    color: #64748b;
    flex-wrap: wrap;
}
.m-landmark-location,
.m-landmark-hours {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-weight: 600;
}
.municipal-landmark-title {
    font-size: 17px;
    font-weight: 600;
    color: #092c4a;
    line-height: 1.35;
    margin: 0;
}
.municipal-landmark-desc {
    font-size: 13px;
    color: #475569;
    line-height: 1.55;
    margin: 0;
    flex: 1;
}
.m-landmark-features-pill {
    background: #f8fafc;
    border: 1px solid #edf2f7;
    border-left: 3px solid #087f8f;
    padding: 8px 12px;
    border-radius: 8px;
    font-size: 11px;
    color: #334155;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 7px;
}
.m-landmark-features-pill i {
    color: #16a34a;
    font-size: 12px;
}
.municipal-landmark-foot {
    padding: 14px 20px;
    background: #fcfdfe;
    border-top: 1px solid #edf2f7;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}
.municipal-btn-directions {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 14px;
    border-radius: 8px;
    background: #092c4a;
    color: #ffffff !important;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none !important;
    transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.municipal-btn-directions:hover {
    background: #087f8f;
    box-shadow: 0 4px 12px rgba(8, 127, 143, 0.3);
    transform: translateY(-2px);
}
.m-landmark-civic-badge {
    font-size: 11px;
    font-weight: 600;
    color: #087f8f;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

/* --- Responsive Rules for City Landmarks Carousel --- */
@media (max-width: 991px) {
    .municipal-landmark-card {
        flex: 0 0 calc((100% - 24px) / 2);
        min-width: 290px;
    }
}
@media (max-width: 600px) {
    .municipal-landmark-card {
        flex: 0 0 88%;
        min-width: 270px;
    }
    .municipal-landmark-visual {
        height: 190px;
    }
    .municipal-landmark-foot {
        flex-direction: column;
        align-items: stretch;
    }
    .municipal-btn-directions {
        justify-content: center;
    }
}

/* ==============================================================
   UNIFIED CIVIC MAIN NAVIGATION & MULTI-LEVEL DROPDOWNS
   ============================================================== */

@media (min-width: 1024px) {
    .main-navigation ul.navbar-nav > li {
        position: relative;
    }
    .main-navigation ul.navbar-nav > li > a {
        font-size: 14px;
        font-weight: 600;
        padding: 22px 14px;
        color: #092c4a;
        transition: color 0.2s ease;
    }
    .main-navigation ul.navbar-nav > li:hover > a {
        color: #087f8f;
    }
    .main-navigation ul.sub-menu {
        position: absolute;
        top: 100%;
        left: 0;
        z-index: 1000;
        display: none;
        min-width: 230px;
        padding: 8px 0;
        margin: 0;
        list-style: none;
        background-color: #ffffff;
        border: 1px solid #e2e8f0;
        border-radius: 12px;
        box-shadow: 0 12px 32px rgba(15, 44, 70, 0.12);
        animation: municipalDropdownFade 0.2s ease forwards;
    }
    .main-navigation ul.sub-menu li {
        position: relative;
    }
    .main-navigation ul.sub-menu li a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 18px;
        font-size: 13px;
        font-weight: 600;
        color: #1e293b;
        text-decoration: none;
        transition: background 0.2s ease, color 0.2s ease, padding-left 0.2s ease;
    }
    .main-navigation ul.sub-menu li a:hover {
        background-color: #f1f5f9;
        color: #087f8f;
        padding-left: 22px;
    }
    /* Nested 3rd Level Sub-Menu */
    .main-navigation ul.sub-menu li.menu-item-has-children > a::after {
        content: "\f105";
        font-family: FontAwesome;
        font-size: 12px;
        margin-left: 8px;
        color: #94a3b8;
    }
    .main-navigation ul.sub-menu li.menu-item-has-children:hover > a::after {
        color: #087f8f;
    }
    .main-navigation ul.sub-menu li > ul.sub-menu {
        top: -6px;
        left: 100%;
        margin-left: 2px;
        display: none;
    }
    .main-navigation ul.navbar-nav > li:hover > ul.sub-menu,
    .main-navigation ul.sub-menu li:hover > ul.sub-menu {
        display: block;
    }
}

@keyframes municipalDropdownFade {
    from {
        opacity: 0;
        transform: translateY(6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Mobile Submenu Styling */
@media (max-width: 1023px) {
    .main-navigation .sub-menu {
        background: #f8fafc;
        border-left: 3px solid #087f8f;
        padding-left: 12px;
    }
    .main-navigation .sub-menu .sub-menu {
        border-left: 2px solid #0369a1;
        padding-left: 16px;
        background: #f1f5f9;
    }
    .main-navigation .sub-menu a {
        padding: 10px 14px;
        font-size: 13px;
        color: #334155;
    }
}

/* --- Official Civic Print Styles --- */
@media print {
    .top-header,
    .main-navigation,
    .navbar-fixed-top,
    .municipal-slider,
    .municipal-back-to-top,
    .municipal-quickbar-grid,
    .site-footer,
    footer,
    .municipal-header-action,
    .municipal-cta-banner-actions,
    .municipal-jansunwai-action,
    .municipal-schemes-filter-bar,
    .m-schemes-hd-action,
    .municipal-carousel-nav-arrows,
    .elementor-element-edit-mode {
        display: none !important;
    }
    body, html {
        background: #ffffff !important;
        color: #000000 !important;
        font-size: 12pt !important;
    }
    .municipal-container {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
    }
    .municipal-page-hero {
        background: none !important;
        color: #000000 !important;
        padding: 10px 0 !important;
        border-bottom: 2px solid #000000 !important;
    }
    .municipal-page-hero h1 {
        color: #000000 !important;
        text-shadow: none !important;
    }
    .municipal-tender-head,
    .municipal-tender-row {
        page-break-inside: avoid;
    }
    .municipal-spotlight-card,
    .municipal-budget-glance-card,
    .municipal-smart-city-card,
    .municipal-leader-pro-card,
    .municipal-scheme-card,
    .municipal-landmark-card {
        border: 1px solid #999999 !important;
        box-shadow: none !important;
        page-break-inside: avoid;
    }
}


/* ==============================================================
   OFFICIAL JAORA CIVIC BRANDING & HEADER EMBLEM
   ============================================================== */
.navbar.at-navbar {
    background: #ffffff !important;
    border-bottom: 1px solid #e2e8f0 !important;
    box-shadow: 0 4px 18px rgba(15, 44, 70, 0.06) !important;
}
@media (min-width: 1024px) {
    .navbar.at-navbar .container {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: nowrap !important;
    }
    .navbar.at-navbar .navbar-header {
        display: flex !important;
        align-items: center !important;
        width: auto !important;
        flex: 0 0 auto !important;
        float: none !important;
        margin: 0 !important;
    }
    .navbar.at-navbar .navbar-toggle {
        display: none !important;
    }
    .municipal-mobile-only,
    .municipal-mobile-backdrop,
    .navbar-toggle.municipal-hamburger-btn,
    .m-nav-item-icon,
    .m-sub-bullet,
    .m-sub-item-icon {
        display: none !important;
    }
    .main-navigation.navbar-collapse {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex: 1 1 auto !important;
        float: none !important;
        width: auto !important;
        padding: 0 !important;
        margin: 0 !important;
        height: auto !important;
        max-height: none !important;
        position: static !important;
        transform: none !important;
        visibility: visible !important;
        background: transparent !important;
        box-shadow: none !important;
        border: none !important;
        overflow: visible !important;
    }
    .main-navigation .menu-main-menu-container,
    .main-navigation ul.navbar-nav {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex-wrap: nowrap !important;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
        gap: 2px !important;
    }
    .main-navigation ul.navbar-nav > li {
        float: none !important;
        display: inline-flex !important;
        align-items: center !important;
    }
    .main-navigation ul.navbar-nav > li > a {
        padding: 16px 11px !important;
        font-size: 13.5px !important;
        font-weight: 600 !important;
        white-space: nowrap !important;
        color: #0b2f4c !important;
        line-height: 1.4 !important;
    }
    .main-navigation ul.navbar-nav > li:hover > a {
        color: #087f8f !important;
    }
}
@media (max-width: 1023px) {
    /* Mobile Container & Header Row */
    .navbar.at-navbar .container {
        display: block !important;
        position: relative !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
    .navbar.at-navbar .navbar-header {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        float: none !important;
        margin: 0 !important;
    }

    /* Body Scroll Lock */
    body.mobile-nav-active {
        overflow: hidden !important;
        touch-action: none !important;
    }

    /* Frosted Glass Backdrop Overlay */
    .municipal-mobile-backdrop {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        background: rgba(11, 37, 69, 0.65) !important;
        backdrop-filter: blur(6px) !important;
        -webkit-backdrop-filter: blur(6px) !important;
        z-index: 999980 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transition: opacity 0.32s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.32s !important;
    }
    body.mobile-nav-active .municipal-mobile-backdrop,
    .municipal-mobile-backdrop.is-active {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    /* Animated Hamburger Button (Icon Only - Clean, Compact, Modern) */
    .navbar.at-navbar .navbar-toggle.municipal-hamburger-btn {
        order: 2 !important;
        float: none !important;
        margin: 0 0 0 auto !important;
        padding: 0 !important;
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        min-height: 40px !important;
        border-radius: 8px !important;
        background: linear-gradient(135deg, #0b2f4c 0%, #087f8f 100%) !important;
        border: 1px solid rgba(255, 255, 255, 0.25) !important;
        box-shadow: 0 3px 12px rgba(8, 127, 143, 0.28) !important;
        color: #ffffff !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0 !important;
        cursor: pointer !important;
        transition: all 0.25s ease !important;
        outline: none !important;
        flex-shrink: 0 !important;
    }
    .m-hamburger-text {
        display: none !important;
        visibility: hidden !important;
    }
    .navbar.at-navbar .navbar-toggle.municipal-hamburger-btn:hover,
    .navbar.at-navbar .navbar-toggle.municipal-hamburger-btn:focus,
    .navbar.at-navbar .navbar-toggle.municipal-hamburger-btn.is-active {
        background: linear-gradient(135deg, #087f8f 0%, #066a77 100%) !important;
        box-shadow: 0 4px 16px rgba(6, 106, 119, 0.4) !important;
        transform: translateY(-1px) !important;
    }
    .m-hamburger-box {
        position: relative !important;
        width: 18px !important;
        height: 13px !important;
        display: inline-block !important;
    }
    .m-hamburger-inner,
    .m-hamburger-inner::before,
    .m-hamburger-inner::after {
        position: absolute !important;
        width: 18px !important;
        height: 2px !important;
        background-color: #ffffff !important;
        border-radius: 2px !important;
        transition: transform 0.25s ease, top 0.25s ease, opacity 0.2s ease !important;
        left: 0 !important;
    }
    .m-hamburger-inner {
        top: 5.5px !important;
    }
    .m-hamburger-inner::before {
        content: '' !important;
        top: -5.5px !important;
    }
    .m-hamburger-inner::after {
        content: '' !important;
        top: 5.5px !important;
    }
    .navbar-toggle.municipal-hamburger-btn.is-active .m-hamburger-inner {
        background-color: transparent !important;
    }
    .navbar-toggle.municipal-hamburger-btn.is-active .m-hamburger-inner::before {
        top: 0 !important;
        transform: rotate(45deg) !important;
    }
    .navbar-toggle.municipal-hamburger-btn.is-active .m-hamburger-inner::after {
        top: 0 !important;
        transform: rotate(-45deg) !important;
    }
    .m-hamburger-text {
        font-size: 13px !important;
        font-weight: 600 !important;
        letter-spacing: 0.02em !important;
        color: #ffffff !important;
        line-height: 1 !important;
    }

    /* Off-Canvas Slide-out Drawer Container */
    .main-navigation.navbar-collapse {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: min(88vw, 360px) !important;
        height: 100vh !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        background: #ffffff !important;
        box-shadow: -10px 0 35px rgba(11, 47, 76, 0.28) !important;
        border: none !important;
        border-radius: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        z-index: 999999 !important;
        display: flex !important;
        flex-direction: column !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        transform: translateX(105%) !important;
        visibility: hidden !important;
        transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.35s !important;
    }
    .main-navigation.navbar-collapse::-webkit-scrollbar {
        width: 5px;
    }
    .main-navigation.navbar-collapse::-webkit-scrollbar-track {
        background: #f1f5f9;
    }
    .main-navigation.navbar-collapse::-webkit-scrollbar-thumb {
        background: #cbd5e1;
        border-radius: 3px;
    }
    .main-navigation.navbar-collapse::-webkit-scrollbar-thumb:hover {
        background: #087f8f;
    }
    .main-navigation.navbar-collapse.in,
    .main-navigation.navbar-collapse.is-open {
        transform: translateX(0) !important;
        visibility: visible !important;
    }

    /* Drawer Header */
    .municipal-mobile-drawer-header {
        background: linear-gradient(135deg, #0b2f4c 0%, #087f8f 100%) !important;
        padding: 16px !important;
        color: #ffffff !important;
        position: relative !important;
        box-shadow: 0 4px 14px rgba(11, 47, 76, 0.15) !important;
        flex-shrink: 0 !important;
    }
    .m-drawer-brand-row {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
    }
    .m-drawer-logo-wrap {
        width: 44px !important;
        height: 44px !important;
        border-radius: 50% !important;
        background: #ffffff !important;
        padding: 3px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18) !important;
        flex-shrink: 0 !important;
    }
    .m-drawer-logo {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
    }
    .m-drawer-brand-text {
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }
    .m-drawer-brand-title {
        display: block !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        color: #ffffff !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    .m-drawer-brand-subtitle {
        display: block !important;
        font-size: 12px !important;
        color: rgba(255, 255, 255, 0.88) !important;
        margin-top: 2px !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    .municipal-drawer-close {
        width: 34px !important;
        height: 34px !important;
        border-radius: 50% !important;
        background: rgba(255, 255, 255, 0.15) !important;
        border: 1px solid rgba(255, 255, 255, 0.3) !important;
        color: #ffffff !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 15px !important;
        cursor: pointer !important;
        flex-shrink: 0 !important;
        transition: all 0.2s ease !important;
        outline: none !important;
    }
    .municipal-drawer-close:hover,
    .municipal-drawer-close:active {
        background: rgba(255, 255, 255, 0.3) !important;
        transform: rotate(90deg) !important;
    }

    /* Quick Action Tiles */
    .municipal-mobile-quick-actions {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 8px !important;
        padding: 10px 14px !important;
        background: #f8fafc !important;
        border-bottom: 1px solid #e2e8f0 !important;
        flex-shrink: 0 !important;
    }
    .m-quick-tile {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 8px 4px !important;
        border-radius: 8px !important;
        background: #ffffff !important;
        border: 1px solid #e2e8f0 !important;
        text-decoration: none !important;
        transition: all 0.2s ease !important;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
        text-align: center !important;
    }
    .m-quick-tile i {
        font-size: 15px !important;
        margin-bottom: 4px !important;
    }
    .m-quick-tile span {
        font-size: 11px !important;
        font-weight: 600 !important;
        color: #1e293b !important;
        line-height: 1.2 !important;
    }
    .m-quick-helpline i { color: #dc2626 !important; }
    .m-quick-services i { color: #087f8f !important; }
    .m-quick-lang i { color: #2563eb !important; }
    .m-quick-tile:hover,
    .m-quick-tile:active {
        background: #f1f5f9 !important;
        border-color: #cbd5e1 !important;
        transform: translateY(-1px) !important;
    }

    /* Mobile Search Bar */
    .municipal-mobile-search {
        padding: 10px 14px !important;
        background: #ffffff !important;
        border-bottom: 1px solid #f1f5f9 !important;
        flex-shrink: 0 !important;
    }
    .m-search-form {
        position: relative !important;
        width: 100% !important;
        margin: 0 !important;
    }
    .m-search-icon {
        position: absolute !important;
        left: 12px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        color: #94a3b8 !important;
        font-size: 13px !important;
        pointer-events: none !important;
    }
    .m-search-input {
        width: 100% !important;
        padding: 8px 12px 8px 34px !important;
        font-size: 12.5px !important;
        border-radius: 8px !important;
        border: 1px solid #cbd5e1 !important;
        background: #f8fafc !important;
        color: #0f172a !important;
        outline: none !important;
        transition: border-color 0.2s, background 0.2s !important;
    }
    .m-search-input:focus {
        border-color: #087f8f !important;
        background: #ffffff !important;
        box-shadow: 0 0 0 3px rgba(8, 127, 143, 0.12) !important;
    }

    /* Section Heading */
    .municipal-mobile-nav-title {
        padding: 10px 16px 4px 16px !important;
        font-size: 11px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.08em !important;
        color: #64748b !important;
        background: #ffffff !important;
        flex-shrink: 0 !important;
    }

    /* Menu List */
    .main-navigation ul.navbar-nav {
        flex: 1 1 auto !important;
        overflow-y: visible !important;
        margin: 0 !important;
        padding: 4px 0 16px 0 !important;
        list-style: none !important;
        display: block !important;
        float: none !important;
    }
    .main-navigation ul.navbar-nav > li {
        position: relative !important;
        display: block !important;
        border-bottom: 1px solid #f1f5f9 !important;
        transition: background 0.2s ease !important;
        float: none !important;
    }
    .main-navigation ul.navbar-nav > li > a {
        display: flex !important;
        align-items: center !important;
        padding: 11px 48px 11px 16px !important;
        font-size: 13.5px !important;
        font-weight: 600 !important;
        color: #1e293b !important;
        text-decoration: none !important;
        gap: 11px !important;
        line-height: 1.35 !important;
        transition: color 0.2s, background 0.2s, padding-left 0.2s !important;
    }
    .main-navigation ul.navbar-nav > li:hover > a,
    .main-navigation ul.navbar-nav > li:active > a {
        background: #f8fafc !important;
        color: #087f8f !important;
    }
    .main-navigation ul.navbar-nav > li.current-menu-item > a,
    .main-navigation ul.navbar-nav > li.current_page_item > a {
        background: rgba(8, 127, 143, 0.07) !important;
        color: #087f8f !important;
        border-left: 4px solid #087f8f !important;
        padding-left: 12px !important;
        font-weight: 600 !important;
    }
    .m-nav-item-icon {
        width: 28px !important;
        height: 28px !important;
        border-radius: 6px !important;
        background: rgba(8, 127, 143, 0.08) !important;
        color: #087f8f !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 13px !important;
        flex-shrink: 0 !important;
        transition: background 0.2s, color 0.2s !important;
    }
    .main-navigation ul.navbar-nav > li:hover .m-nav-item-icon,
    .main-navigation ul.navbar-nav > li.current-menu-item .m-nav-item-icon {
        background: #087f8f !important;
        color: #ffffff !important;
    }
    .m-nav-item-label {
        flex: 1 1 auto !important;
        word-break: break-word !important;
    }

    /* Submenu Accordion & Chevron Toggle */
    .main-navigation .at-submenu-icon,
    .main-navigation .m-submenu-toggle {
        position: absolute !important;
        right: 12px !important;
        top: 7px !important;
        width: 32px !important;
        height: 32px !important;
        border-radius: 6px !important;
        background: #f1f5f9 !important;
        border: 1px solid #cbd5e1 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: #087f8f !important;
        font-size: 11px !important;
        cursor: pointer !important;
        z-index: 5 !important;
        outline: none !important;
        transition: background 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s !important;
        padding: 0 !important;
        margin: 0 !important;
        transform: none !important;
    }
    .main-navigation .at-submenu-icon:hover,
    .main-navigation .at-submenu-icon:active,
    .main-navigation .m-submenu-toggle:hover,
    .main-navigation .m-submenu-toggle:active,
    .main-navigation .at-submenu-icon.is-active,
    .main-navigation .m-submenu-toggle.is-active,
    .main-navigation li.at-submenu-active > .at-submenu-icon,
    .main-navigation li.at-submenu-active > .m-submenu-toggle,
    .main-navigation li.menu-item-has-children.is-open > .at-submenu-icon,
    .main-navigation li.menu-item-has-children.is-open > .m-submenu-toggle {
        background: #087f8f !important;
        border-color: #087f8f !important;
        color: #ffffff !important;
        box-shadow: 0 2px 6px rgba(8, 127, 143, 0.28) !important;
    }
    .main-navigation .at-submenu-icon i,
    .main-navigation .m-submenu-toggle i {
        pointer-events: none !important;
        transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
        color: inherit !important;
        display: inline-block !important;
        transform-origin: center center !important;
    }
    .main-navigation .at-submenu-icon.is-active i,
    .main-navigation .m-submenu-toggle.is-active i,
    .main-navigation li.at-submenu-active > .at-submenu-icon i,
    .main-navigation li.at-submenu-active > .m-submenu-toggle i,
    .main-navigation li.menu-item-has-children.is-open > .at-submenu-icon i,
    .main-navigation li.menu-item-has-children.is-open > .m-submenu-toggle i {
        transform: rotate(180deg) !important;
    }
    .main-navigation ul.sub-menu {
        display: none;
        background: #f8fafc !important;
        padding: 2px 0 !important;
        border-left: 3px solid #087f8f !important;
        margin: 0 !important;
        list-style: none !important;
        box-shadow: none !important;
        border-top: 1px solid #e2e8f0 !important;
        border-bottom: 1px solid #e2e8f0 !important;
        border-right: none !important;
        border-radius: 0 !important;
    }
    .main-navigation li.at-submenu-active > ul.sub-menu,
    .main-navigation li.menu-item-has-children.is-open > ul.sub-menu {
        display: block;
    }
    .main-navigation ul.sub-menu li {
        border-bottom: 1px solid #eef2f6 !important;
        position: relative !important;
        display: block !important;
    }
    .main-navigation ul.sub-menu li:last-child {
        border-bottom: none !important;
    }
    .main-navigation ul.sub-menu li a {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        padding: 11px 16px 11px 24px !important;
        font-size: 13.5px !important;
        color: #334155 !important;
        font-weight: 500 !important;
        text-decoration: none !important;
        border-radius: 0 !important;
        background: transparent !important;
        transition: background 0.2s, color 0.2s, padding-left 0.2s !important;
    }
    .main-navigation ul.sub-menu li a:hover {
        background: #edf2f7 !important;
        color: #087f8f !important;
        padding-left: 28px !important;
    }
    .m-sub-bullet {
        width: 6px !important;
        height: 6px !important;
        border-radius: 50% !important;
        background: #94a3b8 !important;
        flex-shrink: 0 !important;
        display: inline-block !important;
        transition: background 0.2s, transform 0.2s !important;
    }
    .main-navigation ul.sub-menu li a:hover .m-sub-bullet {
        background: #087f8f !important;
        transform: scale(1.3) !important;
    }
    .m-sub-item-icon {
        font-size: 12px !important;
        color: #64748b !important;
        width: 16px !important;
        text-align: center !important;
        flex-shrink: 0 !important;
    }
    .main-navigation ul.sub-menu li a:hover .m-sub-item-icon {
        color: #087f8f !important;
    }
    .m-sub-item-label {
        flex: 1 1 auto !important;
        line-height: 1.3 !important;
    }

    /* Drawer Footer */
    .municipal-mobile-drawer-footer {
        padding: 12px 16px !important;
        background: #0f172a !important;
        color: #94a3b8 !important;
        font-size: 11px !important;
        line-height: 1.4 !important;
        border-top: 1px solid #1e293b !important;
        flex-shrink: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 5px !important;
    }
    .m-drawer-footer-item {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
    }
    .m-drawer-footer-item i {
        color: #087f8f !important;
        font-size: 12px !important;
        flex-shrink: 0 !important;
    }
    .m-drawer-footer-item span {
        color: #cbd5e1 !important;
    }
}
.municipal-brand-wrap {
    order: 1 !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 6px 0 !important;
}
.municipal-emblem-link {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    text-decoration: none !important;
    transition: transform 0.25s ease;
}
.municipal-emblem-link:hover {
    transform: translateY(-1px);
}
.municipal-emblem-img {
    width: 60px;
    height: 60px;
    object-fit: contain;
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.12));
    transition: transform 0.3s ease;
    flex-shrink: 0;
}
.municipal-emblem-link:hover .municipal-emblem-img {
    transform: scale(1.05);
}
.municipal-brand-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    line-height: 1.15;
}
.m-brand-primary {
    font-size: 20px;
    font-weight: 600;
    color: #0b2f4c;
    margin: 0;
    padding: 0;
    letter-spacing: -0.01em;
    font-family: inherit;
    display: block;
    line-height: 1.2;
}
.m-brand-sub {
    font-size: 15px;
    font-weight: 600;
    color: #087f8f;
    letter-spacing: normal;
    text-transform: none;
    margin-top: 2px;
    display: block;
    line-height: 1.2;
}
@media (max-width: 991px) {
    .municipal-brand-wrap {
        padding: 8px 0;
        max-width: calc(100% - 60px);
    }
    .municipal-emblem-img {
        width: 48px;
        height: 48px;
    }
    .m-brand-primary {
        font-size: 16px;
    }
    .m-brand-sub {
        font-size: 13px;
    }
}
@media (max-width: 480px) {
    .municipal-emblem-link {
        gap: 10px;
    }
    .municipal-emblem-img {
        width: 42px;
        height: 42px;
    }
    .m-brand-primary {
        font-size: 14px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 220px;
    }
    .m-brand-sub {
        font-size: 12px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 220px;
    }
}


/* ==============================================================
   CIVIC FOOTER & BRANDING STYLES
   ============================================================== */
.municipal-default-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 30px 0;
    padding: 30px 0 20px;
}
.municipal-footer-brand-box {
    padding-right: 15px;
}
.m-footer-logo {
    width: 65px;
    height: 65px;
    object-fit: contain;
    margin-bottom: 12px;
    filter: drop-shadow(0 2px 8px rgba(0,0,0,0.2));
}
.municipal-footer-brand-box h4 {
    font-size: 17px;
    font-weight: 600;
    color: #ffffff;
    margin: 0 0 6px;
    line-height: 1.3;
}
.municipal-footer-brand-box p {
    font-size: 12px;
    line-height: 1.55;
    color: #b0c9d9;
    margin: 0 0 10px;
}
.m-footer-pin {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    color: #f6a51a;
    letter-spacing: 0.05em;
}
.site-footer .widget-title {
    font-size: 15px;
    font-weight: 600;
    color: #ffffff;
    border-bottom: 2px solid rgba(255,255,255,0.12);
    padding-bottom: 10px;
    margin-bottom: 16px;
    letter-spacing: 0.02em;
}
.site-footer .widget-title i {
    color: #38bdf8;
    margin-right: 6px;
}
.m-footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}
.m-footer-links li {
    margin-bottom: 9px;
}
.m-footer-links li a {
    color: #cbdbe6;
    font-size: 13px;
    text-decoration: none;
    transition: color 0.2s ease, transform 0.2s ease;
    display: inline-flex;
    align-items: center;
    gap: 7px;
}
.m-footer-links li a:hover {
    color: #ffffff;
    transform: translateX(4px);
}
.m-footer-links li a i {
    font-size: 11px;
    color: #38bdf8;
}
.m-footer-contact-info p {
    font-size: 12.5px;
    line-height: 1.6;
    color: #cbdbe6;
    margin-bottom: 10px;
}
.m-footer-contact-info p strong {
    color: #ffffff;
}
.m-footer-contact-info a {
    color: #38bdf8;
    text-decoration: none;
}
.m-footer-contact-info a:hover {
    text-decoration: underline;
}
.m-footer-contact-info i {
    color: #f6a51a;
    margin-right: 5px;
}
.m-footer-jansunwai {
    margin-top: 12px;
    padding: 10px 14px;
    background: rgba(246, 165, 26, 0.12);
    border: 1px solid rgba(246, 165, 26, 0.35);
    border-radius: 8px;
    font-size: 11.5px;
    color: #ffffff;
    line-height: 1.45;
}
.m-footer-jansunwai i {
    color: #f6a51a;
    margin-right: 5px;
}

/* ==============================================================
   FOOTER COPYRIGHT CONTRAST & LEGIBILITY
   ============================================================== */
.copy-right,
.copy-right .init-animate {
    visibility: visible !important;
    opacity: 1 !important;
}
.copy-right {
    background: #061726 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    color: rgba(255, 255, 255, 0.75) !important;
    font-size: 13px !important;
    padding: 20px 0 !important;
}
.copy-right p,
.copy-right span,
.copy-right div {
    color: rgba(255, 255, 255, 0.75) !important;
}
.copy-right a {
    color: #f6a51a !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}
.copy-right a:hover {
    color: #ffffff !important;
    text-decoration: underline !important;
}


/* ==============================================================
   ABOUT PAGE STATS STRIP & METRICS
   ============================================================== */
.municipal-about-stats-strip {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin: -10px 0 35px;
}
.m-about-stat {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 22px 20px;
    text-align: center;
    box-shadow: 0 4px 18px rgba(15, 44, 70, 0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    position: relative;
    overflow: hidden;
}
.m-about-stat::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #087f8f, #f6a51a);
}
.m-about-stat:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 28px rgba(8, 127, 143, 0.12);
    border-color: #cbd5e1;
}
.m-about-stat strong {
    display: block;
    font-size: 28px;
    font-weight: 600;
    color: #087f8f;
    line-height: 1.2;
    margin-bottom: 6px;
    letter-spacing: -0.02em;
}
.m-about-stat span {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
@media (max-width: 900px) {
    .municipal-about-stats-strip {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 540px) {
    .municipal-about-stats-strip {
        grid-template-columns: 1fr;
    }
}

/* ==============================================================
   COUNCIL COMMITTEES GRID (LEADERSHIP)
   ============================================================== */
.municipal-committee-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 40px;
}
.municipal-committee-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 26px 22px;
    box-shadow: 0 6px 20px rgba(15, 44, 70, 0.04);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    display: flex;
    flex-direction: column;
}
.municipal-committee-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 32px rgba(8, 127, 143, 0.1);
    border-color: #93c5fd;
}
.m-comm-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: #eef8f9;
    color: #087f8f;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    margin-bottom: 16px;
    border: 1px solid #d0ebef;
}
.municipal-committee-card h3 {
    font-size: 16px;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 10px;
    line-height: 1.35;
}
.municipal-committee-card p {
    font-size: 13px;
    line-height: 1.6;
    color: #64748b;
    margin: 0;
}
@media (max-width: 992px) {
    .municipal-committee-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 640px) {
    .municipal-committee-grid {
        grid-template-columns: 1fr;
    }
}

/* ==============================================================
   ADMINISTRATIVE OFFICERS GRID (LEADERSHIP)
   ============================================================== */
.municipal-department-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-bottom: 30px;
}
.municipal-officer-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 22px 18px;
    box-shadow: 0 4px 16px rgba(15, 44, 70, 0.04);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
}
.municipal-officer-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(8, 127, 143, 0.1);
    border-color: #cbd5e1;
}
.municipal-officer-card > i.fa-id-card-o {
    font-size: 26px;
    color: #087f8f;
    margin-bottom: 12px;
}
.municipal-officer-card strong {
    font-size: 15px;
    font-weight: 600;
    color: #0f172a;
    line-height: 1.3;
    margin-bottom: 4px;
}
.m-officer-designation {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    color: #087f8f;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 8px;
}
.municipal-officer-card p {
    font-size: 12.5px;
    line-height: 1.5;
    color: #64748b;
    margin: 0 0 14px;
    flex-grow: 1;
}
.municipal-officer-card a {
    font-size: 11.5px;
    color: #087f8f;
    text-decoration: none;
    word-break: break-all;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
}
.municipal-officer-card a:hover {
    text-decoration: underline;
    color: #065e6b;
}
@media (max-width: 1024px) {
    .municipal-department-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 580px) {
    .municipal-department-grid {
        grid-template-columns: 1fr;
    }
}

/* ==============================================================
   24×7 EMERGENCY HELPLINES DIRECTORY (CONTACT PAGE)
   ============================================================== */
.municipal-emergency-pro-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-bottom: 36px;
}
.municipal-emergency-pro-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 24px 20px;
    box-shadow: 0 6px 20px rgba(15, 44, 70, 0.04);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
}
.municipal-emergency-pro-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 36px rgba(8, 127, 143, 0.12);
    border-color: #087f8f;
}
.m-emergency-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 14px;
}
.m-emergency-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, #e0f2fe, #f0fdf4);
    color: #087f8f;
    display: grid;
    place-items: center;
    font-size: 20px;
    flex-shrink: 0;
}
.m-emergency-badge {
    padding: 3px 8px;
    border-radius: 20px;
    background: #fee2e2;
    color: #b91c1c;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.m-emergency-badge.active-247 {
    background: #dcfce7;
    color: #15803d;
}
.municipal-emergency-pro-card h3 {
    font-size: 16px;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 6px;
    line-height: 1.35;
}
.municipal-emergency-pro-card p {
    font-size: 12px;
    line-height: 1.55;
    color: #64748b;
    margin: 0 0 16px;
    flex-grow: 1;
}
.m-emergency-numbers {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: auto;
}
.m-emergency-btn-call {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: 10px;
    background: #087f8f;
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.02em;
    transition: background 0.25s, transform 0.25s;
    box-shadow: 0 4px 12px rgba(8, 127, 143, 0.2);
}
.m-emergency-btn-call:hover {
    background: #065b66;
    transform: translateY(-2px);
    color: #ffffff !important;
}
.m-emergency-subtext {
    font-size: 11px;
    color: #64748b;
    display: flex;
    align-items: center;
    gap: 5px;
    margin-top: 2px;
}
.m-emergency-subtext i {
    color: #087f8f;
    width: 14px;
    text-align: center;
}
@media (max-width: 1100px) {
    .municipal-emergency-pro-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 580px) {
    .municipal-emergency-pro-grid {
        grid-template-columns: 1fr;
    }
}

/* ==============================================================
   ZONAL MUNICIPAL OFFICES GRID (CONTACT)
   ============================================================== */
.municipal-zonal-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-bottom: 30px;
}
.municipal-zonal-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 24px 20px;
    box-shadow: 0 6px 20px rgba(15, 44, 70, 0.04);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    display: flex;
    flex-direction: column;
}
.municipal-zonal-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 30px rgba(8, 127, 143, 0.1);
    border-color: #38bdf8;
}
.m-zonal-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    border-radius: 20px;
    background: #e0f2fe;
    color: #0369a1;
    font-size: 11px;
    font-weight: 600;
    align-self: flex-start;
    margin-bottom: 12px;
}
.municipal-zonal-card h3 {
    font-size: 16px;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 10px;
    line-height: 1.35;
}
.municipal-zonal-card p {
    font-size: 13px;
    line-height: 1.55;
    color: #64748b;
    margin: 0 0 14px;
    flex-grow: 1;
}
.municipal-zonal-card p i {
    color: #087f8f;
    margin-right: 4px;
}
.municipal-zonal-card a {
    font-size: 12.5px;
    color: #087f8f;
    text-decoration: none;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 5px;
}
.municipal-zonal-card a:hover {
    color: #0369a1;
    text-decoration: underline;
}
@media (max-width: 1024px) {
    .municipal-zonal-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 580px) {
    .municipal-zonal-grid {
        grid-template-columns: 1fr;
    }
}

/* ==============================================================
   RTI OFFICERS TABLE & STEP PROCESS (RTI)
   ============================================================== */
.municipal-officers-table-wrap {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 6px 24px rgba(15, 44, 70, 0.05);
    margin-bottom: 40px;
}
.municipal-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13.5px;
    text-align: left;
}
.municipal-table thead tr {
    background: linear-gradient(135deg, #071e33 0%, #0c3656 100%);
    color: #ffffff;
}
.municipal-table th {
    padding: 16px 20px;
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.03em;
    border: none;
}
.municipal-table td {
    padding: 16px 20px;
    border-bottom: 1px solid #edf2f7;
    color: #334155;
    vertical-align: middle;
}
.municipal-table tbody tr:nth-child(even) {
    background: #f8fafc;
}
.municipal-table tbody tr:hover {
    background: #f0fdf4;
}
.municipal-table td strong {
    color: #0f172a;
}
.municipal-steps-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 30px;
}
.municipal-step-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 30px 24px;
    position: relative;
    box-shadow: 0 6px 20px rgba(15, 44, 70, 0.04);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    overflow: hidden;
}
.municipal-step-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 36px rgba(8, 127, 143, 0.12);
    border-color: #38bdf8;
}
.municipal-step-number {
    position: absolute;
    top: 10px;
    right: 18px;
    font-size: 50px;
    font-weight: 600;
    color: rgba(8, 127, 143, 0.08);
    line-height: 1;
    pointer-events: none;
}
.municipal-step-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: #eef8f9;
    color: #087f8f;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    margin-bottom: 18px;
    border: 1px solid #cce8ec;
}
.municipal-step-card h3 {
    font-size: 17px;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 10px;
}
.municipal-step-card p {
    font-size: 13px;
    line-height: 1.6;
    color: #64748b;
    margin: 0;
}
@media (max-width: 850px) {
    .municipal-steps-grid {
        grid-template-columns: 1fr;
    }
}

/* ==============================================================
   NOTICES ACTION BUTTON
   ============================================================== */
.municipal-notice-btn {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
    padding: 9px 15px !important;
    border-radius: 10px !important;
    background: #eef8f9 !important;
    color: #087f8f !important;
    border: 1px solid #cce8ec !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.25s ease !important;
}
.municipal-notice-btn:hover {
    background: #087f8f !important;
    color: #ffffff !important;
    border-color: #087f8f !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(8, 127, 143, 0.25);
}

/* ==============================================================
   HOMEPAGE IMPORTANT LINKS & GOVERNMENT PORTALS CAROUSEL
   ============================================================== */
.municipal-links-carousel-section {
    background: #f8fafc;
    padding: 60px 0 70px;
    border-top: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
    overflow: hidden;
}
.municipal-links-carousel-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
    margin-bottom: 28px;
}
.m-lch-title h2 {
    font-size: clamp(24px, 2.5vw, 32px);
    color: #0f172a;
    margin: 6px 0 8px;
    font-weight: 600;
    letter-spacing: -0.02em;
}
.m-lch-title p {
    color: #64748b;
    font-size: 14px;
    margin: 0;
    max-width: 680px;
    line-height: 1.6;
}
.municipal-carousel-nav-arrows {
    display: flex;
    gap: 10px;
    flex-shrink: 0;
}
.m-links-nav-btn {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    color: #087f8f;
    display: grid;
    place-items: center;
    cursor: pointer;
    font-size: 15px;
    transition: all 0.25s ease;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05);
}
.m-links-nav-btn:hover {
    background: #087f8f;
    color: #ffffff;
    border-color: #087f8f;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(8, 127, 143, 0.25);
}
.municipal-links-carousel-track-wrap {
    overflow: hidden;
    position: relative;
    padding: 6px 2px 14px;
}
.municipal-links-carousel-track {
    display: flex;
    gap: 18px;
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
    scroll-snap-type: x mandatory;
    padding: 4px;
}
.municipal-links-carousel-track::-webkit-scrollbar {
    display: none;
}
.municipal-link-item-card {
    flex: 0 0 calc((100% - 54px) / 4);
    min-width: 270px;
    scroll-snap-align: start;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 22px 20px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 14px rgba(15, 44, 70, 0.04);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.municipal-link-item-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 30px rgba(8, 127, 143, 0.12);
    border-color: #087f8f;
}
.m-link-item-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 12px;
}
.m-link-item-icon {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: linear-gradient(135deg, #e0f2fe, #f0fdf4);
    color: #087f8f;
    display: grid;
    place-items: center;
    font-size: 18px;
}
.m-link-item-badge {
    padding: 3px 8px;
    border-radius: 20px;
    background: #f1f5f9;
    color: #475569;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    border: 1px solid #e2e8f0;
}
.municipal-link-item-card h3 {
    font-size: 15px;
    font-weight: 600;
    color: #0f172a;
    margin: 0 0 6px;
    line-height: 1.35;
}
.municipal-link-item-card p {
    font-size: 12px;
    line-height: 1.55;
    color: #64748b;
    margin: 0 0 14px;
    flex-grow: 1;
}
.m-link-item-btn {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 9px 14px;
    border-radius: 8px;
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    color: #087f8f !important;
    text-decoration: none !important;
    font-size: 12px;
    font-weight: 600;
    transition: all 0.25s ease;
    margin-top: auto;
}
.m-link-item-btn:hover {
    background: #087f8f;
    color: #ffffff !important;
    border-color: #087f8f;
}
@media (max-width: 1200px) {
    .municipal-link-item-card {
        flex: 0 0 calc((100% - 36px) / 3);
    }
}
@media (max-width: 860px) {
    .municipal-link-item-card {
        flex: 0 0 calc((100% - 18px) / 2);
    }
}
@media (max-width: 540px) {
    .municipal-link-item-card {
        flex: 0 0 88%;
    }
    .municipal-links-carousel-head {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* ==============================================================
   CIVIC AUDIT REPORTS & STATUTORY DISCLOSURES STYLING
   ============================================================== */
.municipal-audit-page {
    padding-bottom: 60px;
}
.municipal-audit-filter-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 24px 0 16px;
    background: #ffffff;
    padding: 16px 20px;
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 18px rgba(15, 44, 70, 0.04);
}
.municipal-audit-search-input {
    position: relative;
    flex: 1 1 360px;
    min-width: 280px;
}
.municipal-audit-search-input i {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #087f8f;
    font-size: 15px;
    pointer-events: none;
}
.municipal-audit-search-input input {
    width: 100% !important;
    height: 46px !important;
    padding: 10px 16px 10px 42px !important;
    border: 1px solid #d5e0e7 !important;
    border-radius: 10px !important;
    background: #f8fafc !important;
    color: #12304a !important;
    font-size: 14px !important;
    box-shadow: none !important;
    outline: none !important;
    box-sizing: border-box !important;
    transition: all 0.25s ease;
}
.municipal-audit-search-input input:focus {
    background: #ffffff !important;
    border-color: #087f8f !important;
    box-shadow: 0 0 0 3px rgba(8, 127, 143, 0.15) !important;
}
.municipal-audit-year-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}
.municipal-a-year-filter {
    padding: 8px 16px;
    border-radius: 8px;
    border: 1px solid #dbe5ec;
    background: #ffffff;
    color: #4b6375;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}
.municipal-a-year-filter:hover {
    background: #f1f7f9;
    color: #087f8f;
    border-color: #087f8f;
}
.municipal-a-year-filter.is-active {
    background: #087f8f !important;
    color: #ffffff !important;
    border-color: #087f8f !important;
    box-shadow: 0 4px 12px rgba(8, 127, 143, 0.25);
}
.municipal-audit-cat-pills {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-bottom: 25px;
}
.municipal-a-cat-filter {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 16px;
    border-radius: 30px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    color: #334155;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}
.municipal-a-cat-filter i {
    color: #087f8f;
}
.municipal-a-cat-filter:hover {
    background: #ffffff;
    border-color: #087f8f;
    color: #087f8f;
}
.municipal-a-cat-filter.is-active {
    background: #092c4a !important;
    color: #ffffff !important;
    border-color: #092c4a !important;
    box-shadow: 0 4px 14px rgba(9, 44, 74, 0.2);
}
.municipal-a-cat-filter.is-active i {
    color: #f6c55a !important;
}

/* Audit Grid & Cards */
.municipal-audit-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
}
.municipal-audit-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 6px 22px rgba(15, 44, 70, 0.05);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.municipal-audit-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px rgba(15, 44, 70, 0.1);
    border-color: #b9d8df;
}
.municipal-audit-card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}
.municipal-audit-meta-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.m-pill-year {
    background: #edf8f9;
    color: #087f8f;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.03em;
}
.m-pill-cat {
    background: #f1f5f9;
    color: #475569;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.05em;
}
.municipal-audit-id {
    font-size: 11px;
    font-family: monospace;
    font-weight: 600;
    color: #64748b;
}
.municipal-audit-title {
    font-size: 18px;
    line-height: 1.35;
    color: #0f273d;
    margin: 0 0 14px 0;
    font-weight: 600;
}
.municipal-audit-details {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 12px 14px;
    background: #f8fafc;
    border-radius: 10px;
    margin-bottom: 14px;
}
.m-audit-detail-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 12px;
}
.m-audit-lbl {
    color: #64748b;
    font-weight: 500;
}
.m-audit-val {
    color: #1e293b;
    font-weight: 600;
}
.m-audit-val i {
    color: #087f8f;
    margin-right: 4px;
}
.status-clean {
    color: #166534 !important;
    background: #dcfce7;
    padding: 2px 8px;
    border-radius: 4px;
    font-weight: 600;
}
.status-clean i {
    color: #16a34a !important;
}
.municipal-audit-desc {
    font-size: 13px;
    line-height: 1.6;
    color: #64748b;
    margin: 0 0 18px 0;
    flex-grow: 1;
}
.municipal-audit-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid #edf2f7;
}
.municipal-audit-actions .municipal-btn {
    white-space: nowrap;
}
.municipal-audit-footer-notice {
    margin-top: 35px;
    background: #f1f7f9;
    border: 1px solid #d0e4ec;
    border-radius: 14px;
    padding: 20px 24px;
    display: flex;
    gap: 18px;
    align-items: center;
}
.m-notice-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: #087f8f;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
}
.m-notice-copy strong {
    display: block;
    color: #092c4a;
    font-size: 14px;
    margin-bottom: 4px;
}
.m-notice-copy p {
    margin: 0;
    font-size: 12px;
    color: #475569;
    line-height: 1.6;
}

/* ==============================================================
   CIVIC DOCUMENT VIEWER MODAL
   ============================================================== */
.municipal-modal-overlay {
    position: fixed !important;
    inset: 0 !important;
    background: rgba(9, 32, 51, 0.82) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    z-index: 999999 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
    animation: municipalModalFadeIn 0.25s ease forwards;
}
@keyframes municipalModalFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}
.municipal-modal-container {
    background: #ffffff;
    border-radius: 18px;
    width: min(940px, 96vw);
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.4);
    overflow: hidden;
    animation: municipalModalSlideUp 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@keyframes municipalModalSlideUp {
    from { transform: translateY(20px) scale(0.97); }
    to { transform: translateY(0) scale(1); }
}
.municipal-modal-header {
    background: #092c4a;
    color: #ffffff;
    padding: 18px 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.m-modal-kicker {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.1em;
    color: #f6c55a;
    display: block;
    margin-bottom: 4px;
}
.m-modal-title {
    color: #ffffff;
    font-size: 17px;
    font-weight: 600;
    margin: 0;
    line-height: 1.3;
}
.m-modal-sub {
    font-size: 12px;
    color: #94a3b8;
    margin-top: 3px;
    display: block;
}
.municipal-modal-header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}
.municipal-btn-modal-close {
    background: rgba(255, 255, 255, 0.15);
    border: 0;
    color: #ffffff;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    font-size: 24px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.2s ease;
}
.municipal-btn-modal-close:hover {
    background: #e11d48;
    color: #ffffff;
    transform: rotate(90deg);
}
.municipal-modal-body {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 24px;
    background: #f1f5f9;
}
.municipal-doc-preview-wrapper {
    position: relative;
    max-width: 820px;
    margin: 0 auto;
}
.municipal-doc-watermark {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-35deg);
    font-size: 32px;
    font-weight: 600;
    color: rgba(8, 127, 143, 0.05);
    white-space: nowrap;
    pointer-events: none;
    letter-spacing: 0.15em;
    user-select: none;
}
.municipal-doc-paper {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    border-radius: 8px;
    padding: 34px 40px;
    position: relative;
    z-index: 1;
}
.m-doc-head-strip {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 14px;
}
.m-doc-logo {
    width: 58px;
    height: 58px;
    object-fit: contain;
    flex-shrink: 0;
}
.m-doc-org h4 {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: #0b2f4c;
    letter-spacing: 0.02em;
}
.m-doc-org h5 {
    margin: 2px 0 0 0;
    font-size: 13px;
    font-weight: 600;
    color: #087f8f;
}
.m-doc-org span {
    font-size: 10px;
    color: #64748b;
    font-weight: 600;
    letter-spacing: 0.08em;
    display: block;
    margin-top: 3px;
}
.m-doc-rule {
    height: 3px;
    background: linear-gradient(90deg, #092c4a 0%, #087f8f 70%, #f6c55a 100%);
    margin: 12px 0 16px 0;
}
.m-doc-meta-table {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 12px 16px;
    font-size: 12px;
    margin-bottom: 20px;
}
.m-doc-meta-table strong {
    color: #475569;
}
.m-doc-body-content h5 {
    font-size: 13px;
    font-weight: 600;
    color: #092c4a;
    letter-spacing: 0.06em;
    border-left: 3px solid #087f8f;
    padding-left: 8px;
    margin: 0 0 10px 0;
}
.m-doc-body-content p {
    font-size: 13px;
    line-height: 1.65;
    color: #334155;
    margin-bottom: 16px;
}
.m-doc-summary-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
    margin: 16px 0 24px 0;
}
.m-doc-summary-table th,
.m-doc-summary-table td {
    padding: 10px 14px;
    border: 1px solid #e2e8f0;
    text-align: left;
}
.m-doc-summary-table th {
    background: #092c4a;
    color: #ffffff;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.m-doc-summary-table tr:nth-child(even) {
    background: #f8fafc;
}
.m-badge-verified {
    background: #dcfce7;
    color: #15803d;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.m-doc-signature-block {
    display: grid;
    grid-template-columns: 1fr 120px 1fr;
    gap: 15px;
    align-items: flex-end;
    margin-top: 35px;
    padding-top: 18px;
    border-top: 1px dashed #cbd5e1;
}
.m-sig-line {
    display: block;
    width: 140px;
    height: 1px;
    background: #475569;
    margin-bottom: 6px;
}
.m-sig-item strong {
    display: block;
    font-size: 12px;
    color: #0f172a;
}
.m-sig-item small {
    font-size: 11px;
    color: #64748b;
}
.m-official-seal {
    width: 72px;
    height: 72px;
    border: 2px dashed #087f8f;
    border-radius: 50%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #087f8f;
    font-size: 10px;
    font-weight: 600;
    background: #f0fdfa;
}
.m-official-seal i {
    font-size: 18px;
    margin-bottom: 2px;
}
.municipal-modal-footer {
    background: #ffffff;
    padding: 14px 24px;
    border-top: 1px solid #e2e8f0;
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}

@media (max-width: 991px) {
    .municipal-audit-grid {
        grid-template-columns: 1fr;
    }
    .municipal-doc-paper {
        padding: 20px;
    }
    .m-doc-meta-table {
        grid-template-columns: 1fr 1fr;
    }
    .m-doc-signature-block {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .m-sig-item.text-right {
        text-align: left !important;
    }
}
@media (max-width: 600px) {
    .municipal-audit-filter-bar {
        flex-direction: column;
        align-items: stretch;
    }
    .municipal-audit-year-filters,
    .municipal-audit-cat-pills {
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 6px;
        -webkit-overflow-scrolling: touch;
    }
    .municipal-a-year-filter,
    .municipal-a-cat-filter {
        white-space: nowrap;
        flex-shrink: 0;
    }
    .m-doc-meta-table {
        grid-template-columns: 1fr;
    }
}

/* ==============================================================
   MUNICIPAL VERTICAL CAROUSEL (LATEST UPDATES)
   ============================================================== */
.municipal-updates-section .municipal-update-layout {
    display: grid !important;
    grid-template-columns: 1.45fr 0.85fr !important;
    gap: 28px !important;
    align-items: stretch !important;
}
.municipal-vertical-carousel-wrapper {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    padding: 20px 24px;
    box-shadow: 0 8px 30px rgba(15, 44, 70, 0.05);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    position: relative;
}
.municipal-v-carousel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 14px;
    margin-bottom: 12px;
    border-bottom: 1px solid #edf2f7;
}
.m-live-badge-wrap {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    padding: 5px 12px;
    border-radius: 20px;
}
.m-live-pulse-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #16a34a;
    display: inline-block;
    box-shadow: 0 0 0 0 rgba(22, 163, 74, 0.7);
    animation: municipalLivePulse 1.8s infinite;
}
@keyframes municipalLivePulse {
    0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(22, 163, 74, 0.7); }
    70% { transform: scale(1); box-shadow: 0 0 0 7px rgba(22, 163, 74, 0); }
    100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(22, 163, 74, 0); }
}
.m-live-text {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: #15803d;
}
.municipal-v-controls {
    display: flex;
    align-items: center;
    gap: 6px;
}
.municipal-v-control {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #0f172a;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 15px;
    transition: all 0.2s ease;
}
.municipal-v-control:hover {
    background: #087f8f;
    color: #ffffff;
    border-color: #087f8f;
}

/* Viewport & Track */
.municipal-v-carousel-viewport {
    height: 345px;
    overflow: hidden;
    position: relative;
    user-select: none;
    -webkit-user-select: none;
}
.municipal-v-track {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    transition: transform 0.45s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.municipal-update.municipal-v-slide {
    display: grid !important;
    grid-template-columns: 105px 120px 1fr 85px !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 13px 18px !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
    min-height: 72px;
}
.municipal-update.municipal-v-slide:hover {
    background: #ffffff !important;
    border-color: #087f8f !important;
    box-shadow: 0 6px 20px rgba(8, 127, 143, 0.1) !important;
    transform: translateX(4px) !important;
}
.municipal-update-time-wrap time {
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
    white-space: nowrap;
}
.municipal-update-time-wrap time i {
    color: #087f8f;
    margin-right: 4px;
}
.municipal-update-headline {
    font-size: 14px !important;
    line-height: 1.35 !important;
    color: #1e293b !important;
    margin: 0 !important;
    font-weight: 600 !important;
}
.municipal-tag {
    font-size: 11px !important;
    font-weight: 600 !important;
    padding: 4px 10px !important;
    border-radius: 6px !important;
    text-align: center !important;
    white-space: nowrap !important;
}
.municipal-tag-tender-notice { background: #e0f2fe !important; color: #0369a1 !important; }
.municipal-tag-public-health { background: #fee2e2 !important; color: #b91c1c !important; }
.municipal-tag-property-tax { background: #fef3c7 !important; color: #b45309 !important; }
.municipal-tag-civic-works { background: #f1f5f9 !important; color: #475569 !important; }
.municipal-tag-sanitation { background: #dcfce7 !important; color: #15803d !important; }
.municipal-tag-citizen-welfare { background: #f3e8ff !important; color: #7e22ce !important; }
.municipal-tag-administrative { background: #e0e7ff !important; color: #4338ca !important; }
.municipal-tag-drinking-water { background: #ccfbf1 !important; color: #0f766e !important; }

.municipal-read {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #087f8f !important;
    text-align: right !important;
    white-space: nowrap !important;
}
.municipal-read i {
    transition: transform 0.2s ease;
}
.municipal-update.municipal-v-slide:hover .municipal-read i {
    transform: translateX(4px);
}

.municipal-notice-panel-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 20px;
}

@media (max-width: 991px) {
    .municipal-updates-section .municipal-update-layout {
        grid-template-columns: 1fr !important;
    }
    .municipal-update.municipal-v-slide {
        grid-template-columns: 95px 105px 1fr 75px !important;
        gap: 10px !important;
        padding: 10px 14px !important;
    }
}
@media (max-width: 767px) {
    .municipal-update.municipal-v-slide {
        grid-template-columns: 1fr auto !important;
        grid-template-rows: auto auto !important;
        gap: 6px !important;
    }
    .municipal-update-headline {
        grid-column: 1 / -1;
        font-size: 13px !important;
    }
    .municipal-read {
        display: none !important;
    }
}

/* ==============================================================
   ABOUT PAGE CITY PHOTO SHOWCASE
   ============================================================== */
.m-about-city-showcase {
    width: 100%;
    margin-bottom: 30px;
}
.m-about-city-photo-frame {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(15, 44, 70, 0.12);
    border: 1px solid #e2e8f0;
    background: #092c4a;
}
.m-about-city-hero-img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.4s ease;
}
.m-about-city-photo-frame:hover .m-about-city-hero-img {
    transform: scale(1.02);
}
.m-about-city-photo-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 32px 28px 24px 28px;
    background: linear-gradient(to top, rgba(9, 44, 74, 0.96) 0%, rgba(9, 44, 74, 0.72) 65%, rgba(9, 44, 74, 0) 100%);
    color: #ffffff;
}
.m-city-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #087f8f;
    color: #ffffff;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 4px 12px;
    border-radius: 20px;
    margin-bottom: 8px;
}
.m-about-city-photo-overlay h3 {
    font-size: 24px;
    font-weight: 600;
    color: #ffffff;
    margin: 0 0 6px 0;
    letter-spacing: -0.01em;
}
.m-about-city-photo-overlay p {
    font-size: 13.5px;
    color: #e2e8f0;
    margin: 0;
    max-width: 820px;
    line-height: 1.5;
}
@media (max-width: 767px) {
    .m-about-city-hero-img {
        height: 260px;
    }
    .m-about-city-photo-overlay {
        padding: 20px 16px 16px 16px;
    }
    .m-about-city-photo-overlay h3 {
        font-size: 18px;
    }
}

/* ==============================================================
   HEADER QUICK SEARCH BAR
   ============================================================== */
.municipal-nav-search-wrap {
    display: flex;
    align-items: center;
    margin-left: 14px;
    flex-shrink: 0;
}
.municipal-navbar-search {
    display: flex;
    align-items: center;
    position: relative;
    background: #f1f5f9;
    border: 1px solid #cbd5e1;
    border-radius: 22px;
    padding: 3px 4px 3px 12px;
    transition: all 0.25s ease;
}
.municipal-navbar-search:focus-within {
    border-color: #087f8f;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(8, 127, 143, 0.15);
}
.municipal-nav-search-input {
    border: none !important;
    background: transparent !important;
    outline: none !important;
    font-size: 13px !important;
    color: #1e293b !important;
    width: 125px;
    padding: 4px 0 !important;
    transition: width 0.3s ease;
    box-shadow: none !important;
}
.municipal-nav-search-input:focus {
    width: 175px;
}
.municipal-nav-search-btn {
    border: none !important;
    background: #087f8f !important;
    color: #ffffff !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    padding: 0 !important;
    font-size: 12px !important;
    transition: background 0.2s ease, transform 0.2s ease;
}
.municipal-nav-search-btn:hover {
    background: #066a77 !important;
    transform: scale(1.06);
}
@media (max-width: 1023px) {
    .municipal-nav-search-wrap {
        margin: 12px 18px 4px 18px;
    }
    .municipal-navbar-search {
        width: 100%;
    }
    .municipal-nav-search-input {
        width: 100% !important;
    }
    .municipal-nav-search-input:focus {
        width: 100% !important;
    }
}

/* ==============================================================
   CIVIC SEARCH RESULTS CARDS
   ============================================================== */
.municipal-search-result-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    margin-bottom: 20px;
    box-shadow: 0 4px 14px rgba(15, 44, 70, 0.04);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    overflow: hidden;
}
.municipal-search-result-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(15, 44, 70, 0.08);
    border-color: #087f8f;
}
.m-search-card-inner {
    display: flex;
    gap: 20px;
    padding: 22px 24px;
    align-items: flex-start;
}
.m-search-icon-box {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: #e0f2fe;
    color: #0284c7;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
}
.m-search-content {
    flex: 1;
    min-width: 0;
}
.m-search-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 6px;
}
.m-search-type-badge {
    background: #087f8f;
    color: #ffffff;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.m-search-date {
    font-size: 12px;
    color: #64748b;
}
.m-search-title {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 8px 0;
    line-height: 1.35;
}
.m-search-title a {
    color: #092c4a;
    text-decoration: none;
    transition: color 0.2s ease;
}
.m-search-title a:hover {
    color: #087f8f;
}
.m-search-excerpt {
    font-size: 13.5px;
    color: #475569;
    line-height: 1.6;
    margin-bottom: 12px;
}
.m-search-foot {
    display: flex;
    justify-content: flex-start;
}
@media (max-width: 600px) {
    .m-search-card-inner {
        flex-direction: column;
        gap: 14px;
    }
}

/* Municipal Footer Navigation Menu */
.municipal-footer-bottom-nav {
    background: #092036;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: 14px 0;
}
.municipal-footer-nav-wrap {
    display: flex;
    justify-content: center;
    width: 100%;
}
.municipal-footer-menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 8px 24px;
}
.municipal-footer-menu li {
    display: inline-flex;
    align-items: center;
}
.municipal-footer-menu li a {
    color: #cbd5e1;
    font-size: 13.5px;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.2s ease, text-decoration 0.2s ease;
}
.municipal-footer-menu li a:hover,
.municipal-footer-menu li a:focus {
    color: #38bdf8;
    text-decoration: underline;
}

/* ==============================================================
   INNER PAGE HEADER SPACING OPTIMIZATION (REMOVE BLANK SPACES)
   ============================================================== */
.site-content.elementor-full-width-content,
.site-content.elementor-full-width-content #main,
.site-content.elementor-full-width-content .site-main {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body:not(.home) .site-content.elementor-full-width-content,
body:not(.home) .site-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body:not(.home) .site-content .elementor-top-section:first-child,
body:not(.home) .elementor-top-section:first-of-type {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body:not(.home) .site-content .elementor-top-section:first-child .elementor-container {
    padding-top: 0 !important;
}

body:not(.home) .site-content .elementor-top-section:first-child .municipal-section,
body:not(.home) .site-content .municipal-section:first-of-type,
body:not(.home) .municipal-inner-page,
body:not(.home) .municipal-section:first-child {
    padding-top: 16px !important;
}

body:not(.home) .municipal-page-hero {
    margin-top: 0 !important;
    margin-bottom: 22px !important;
}

.site-header {
    margin-bottom: 0 !important;
}
.site-header .navbar-default {
    margin-bottom: 0 !important;
}

/* ==============================================================
   PREMIUM NOTICES & CIRCULARS PAGE STYLING
   ============================================================== */
.municipal-notices-wrapper {
    margin-top: 10px;
}
.municipal-notices-filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
    background: #ffffff;
    padding: 16px 20px;
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 18px rgba(15, 44, 70, 0.04);
}
.municipal-notice-search-box {
    position: relative;
    flex: 1 1 320px;
    max-width: 440px;
}
.municipal-notice-search-box i {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #64748b;
    font-size: 14px;
    pointer-events: none;
}
.municipal-notice-search-field {
    width: 100% !important;
    padding: 10px 14px 10px 38px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important;
    font-size: 13.5px !important;
    background: #f8fafc !important;
    color: #1e293b !important;
    transition: all 0.2s ease !important;
}
.municipal-notice-search-field:focus {
    background: #ffffff !important;
    border-color: #087f8f !important;
    box-shadow: 0 0 0 3px rgba(8, 127, 143, 0.15) !important;
    outline: none !important;
}
.municipal-notice-cat-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
.municipal-n-filter {
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    color: #475569;
    font-size: 12.5px;
    font-weight: 600;
    padding: 7px 14px;
    border-radius: 20px;
    cursor: pointer;
    transition: all 0.2s ease;
}
.municipal-n-filter:hover {
    background: #e2e8f0;
    color: #0f172a;
}
.municipal-n-filter.is-active {
    background: #092c4a;
    border-color: #092c4a;
    color: #ffffff;
    box-shadow: 0 2px 8px rgba(9, 44, 74, 0.2);
}

.municipal-notices-list-grid {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.municipal-notice-card {
    display: flex;
    align-items: center;
    gap: 22px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-left: 5px solid #087f8f;
    border-radius: 14px;
    padding: 20px 24px;
    box-shadow: 0 4px 14px rgba(15, 44, 70, 0.04);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-left-color 0.2s ease;
}
.municipal-notice-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(15, 44, 70, 0.08);
    border-left-color: #f6c55a;
}
.municipal-notice-date-badge {
    flex: 0 0 70px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #f0fdfa;
    border: 1px solid #ccfbf1;
    border-radius: 12px;
    padding: 10px 4px;
    text-align: center;
}
.municipal-notice-date-month {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    color: #087f8f;
    letter-spacing: 0.08em;
}
.municipal-notice-date-day {
    font-size: 24px;
    font-weight: 600;
    line-height: 1.1;
    color: #092c4a;
}
.municipal-notice-date-year {
    font-size: 10.5px;
    color: #64748b;
    font-weight: 600;
}

.municipal-notice-content-col {
    flex: 1 1 auto;
    min-width: 0;
}
.municipal-notice-badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}
.m-notice-tag {
    background: #f0f9ff;
    color: #0369a1;
    border: 1px solid #bae6fd;
    font-size: 11px;
    font-weight: 600;
    padding: 3px 9px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.m-notice-ref {
    color: #64748b;
    font-size: 11.5px;
    font-weight: 600;
    font-family: monospace;
}
.m-notice-status {
    background: #ecfdf5;
    color: #059669;
    border: 1px solid #a7f3d0;
    font-size: 10.5px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.m-notice-status i { font-size: 6px; }

.municipal-notice-content-col h3 {
    margin: 0 0 6px 0;
    font-size: 16.5px;
    line-height: 1.35;
    font-weight: 600;
}
.municipal-notice-content-col h3 a {
    color: #0f172a;
    text-decoration: none;
    transition: color 0.2s ease;
}
.municipal-notice-content-col h3 a:hover {
    color: #087f8f;
}
.municipal-notice-content-col p {
    margin: 0 0 8px 0;
    font-size: 13.5px;
    color: #475569;
    line-height: 1.5;
}
.m-notice-dept {
    font-size: 12px;
    color: #64748b;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.municipal-notice-actions-col {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-end;
}
.municipal-notice-actions-col .municipal-btn {
    white-space: nowrap !important;
    font-size: 12px !important;
    padding: 8px 16px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    text-decoration: none !important;
}

@media (max-width: 768px) {
    .municipal-notices-filter-bar {
        flex-direction: column;
        align-items: stretch;
    }
    .municipal-notice-search-box {
        max-width: 100%;
    }
    .municipal-notice-card {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }
    .municipal-notice-date-badge {
        flex-direction: row;
        width: auto;
        gap: 8px;
        padding: 5px 14px;
    }
    .municipal-notice-actions-col {
        width: 100%;
        flex-direction: row;
        justify-content: flex-start;
        flex-wrap: wrap;
    }
}

/* Visibility Rules for Instant Filters */
.municipal-tender-row.is-hidden,
.municipal-notice-row.is-hidden,
.municipal-notice-card.is-hidden,
.municipal-directory-card.is-hidden,
.municipal-form-card.is-hidden,
.municipal-ward-card.is-hidden,
.municipal-audit-card.is-hidden {
    display: none !important;
}

/* Explicitly Remove Search Bar from Notices */
.municipal-notice-search-box,
.municipal-notice-search-wrap {
    display: none !important;
}

/* ==============================================================
   MUNICIPAL TOPBAR LANGUAGE SWITCHER BUTTON
   ============================================================== */
.municipal-header-lang-switch {
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    margin-left: 12px;
}
.municipal-lang-toggle-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 3px 12px !important;
    background: rgba(255, 255, 255, 0.18) !important;
    border: 1px solid rgba(255, 255, 255, 0.4) !important;
    border-radius: 20px !important;
    color: #ffffff !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
}
.municipal-lang-toggle-btn:hover {
    background: #ffffff !important;
    color: #092c4a !important;
    border-color: #ffffff !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
}
.municipal-lang-toggle-btn i {
    font-size: 13px !important;
    color: #fbbf24 !important;
}
.municipal-lang-toggle-btn:hover i {
    color: #087f8f !important;
}
.municipal-lang-lbl {
    padding: 1px 6px;
    border-radius: 10px;
    transition: all 0.2s ease;
}
.municipal-lang-lbl.is-active {
    background: #ffffff;
    color: #092c4a;
    font-weight: 600;
}
.municipal-lang-toggle-btn:hover .municipal-lang-lbl.is-active {
    background: #087f8f;
    color: #ffffff;
}
.municipal-lang-sep {
    opacity: 0.6;
    font-size: 10px;
}

/* ==============================================================
   MUNICIPAL PRESIDENT & CMO LEADERSHIP WIDGET
   ============================================================== */
.municipal-president-cmo-section {
    background: #ffffff;
    padding: 48px 0;
}
.municipal-president-cmo-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 28px !important;
    margin-top: 24px !important;
}
.m-pc-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    box-shadow: 0 6px 20px rgba(15, 44, 70, 0.05);
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.m-pc-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 34px rgba(15, 44, 70, 0.1);
    border-color: #cbd5e1;
}
.m-pc-card-inner {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    height: 100%;
}
.m-pc-media {
    flex: 0 0 180px;
    background: #f8fafc;
    padding: 24px 18px;
    border-right: 1px solid #edf2f7;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    gap: 12px;
}
.m-pc-photo-frame {
    position: relative;
    width: 140px;
    height: 155px;
    border-radius: 16px;
    overflow: hidden;
    background: #edf2f7;
    border: 3px solid #ffffff;
    box-shadow: 0 4px 14px rgba(15, 44, 70, 0.12);
}
.m-pc-photo-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    display: block;
}
.m-pc-photo-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 54px;
    color: #94a3b8;
    background: #f1f5f9;
}
.m-pc-status-dot {
    display: none !important;
}
.m-pc-badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 4px 10px;
    border-radius: 12px;
}
.m-pc-badge-president {
    background: #fef3c7;
    color: #92400e;
}
.m-pc-badge-cmo {
    background: #e0f2fe;
    color: #0369a1;
}
.m-pc-content {
    flex: 1;
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.m-pc-header {
    margin-bottom: 12px;
}
.m-pc-name {
    font-size: 19px !important;
    font-weight: 600 !important;
    color: #092c4a !important;
    margin: 0 0 4px 0 !important;
    line-height: 1.3 !important;
}
.m-pc-role {
    font-size: 13.5px;
    font-weight: 600;
    color: #087f8f;
    margin-bottom: 2px;
}
.m-pc-org {
    font-size: 12px;
    color: #64748b;
    display: flex;
    align-items: center;
    gap: 6px;
}
.m-pc-quote {
    font-size: 13px;
    line-height: 1.55;
    color: #475569;
    margin: 0 0 14px 0;
    padding: 10px 14px;
    background: #f8fafc;
    border-left: 3px solid #087f8f;
    border-radius: 0 8px 8px 0;
    font-style: italic;
    position: relative;
}
.m-pc-quote i {
    font-size: 11px;
    opacity: 0.4;
    margin-right: 4px;
}
.m-pc-quote p {
    margin: 0;
    display: inline;
}
.m-pc-schedule {
    font-size: 12px;
    font-weight: 600;
    color: #0284c7;
    background: #f0f9ff;
    padding: 6px 12px;
    border-radius: 8px;
    margin-bottom: 12px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.m-pc-contact-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}
.m-pc-contact-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11.5px;
    font-weight: 600;
    color: #475569;
    background: #f1f5f9;
    padding: 4px 10px;
    border-radius: 6px;
    text-decoration: none !important;
    transition: all 0.2s;
}
.m-pc-contact-pill:hover {
    color: #087f8f;
    background: #e2e8f0;
}
.m-pc-footer {
    margin-top: auto;
}
.m-pc-action-btn {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
    font-size: 12.5px !important;
    padding: 9px 18px !important;
}

@media (max-width: 991px) {
    .municipal-president-cmo-grid {
        grid-template-columns: 1fr !important;
    }
}
@media (max-width: 600px) {
    .m-pc-card-inner {
        flex-direction: column !important;
    }
    .m-pc-media {
        flex: 0 0 auto !important;
        border-right: none !important;
        border-bottom: 1px solid #edf2f7 !important;
        padding: 20px !important;
    }
    .m-pc-photo-frame {
        width: 130px !important;
        height: 145px !important;
    }
    .m-pc-content {
        padding: 18px !important;
    }
    .m-pc-contact-row {
        flex-direction: column !important;
    }
}

/* ==============================================================
   MUNICIPAL EVENTS CAROUSEL WIDGET
   ============================================================== */
.municipal-events-carousel-section {
    background: #f8fafc;
    padding: 50px 0;
    overflow: hidden;
}
.municipal-events-carousel-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 24px;
    gap: 20px;
}
.m-ech-title h2 {
    font-size: 26px !important;
    font-weight: 600 !important;
    color: #092c4a !important;
    margin: 4px 0 6px 0 !important;
}
.m-ech-title p {
    color: #64748b !important;
    font-size: 14px !important;
    margin: 0 !important;
    max-width: 650px;
}
.municipal-events-track-wrap {
    position: relative;
    width: 100%;
}
.municipal-events-track {
    display: flex !important;
    flex-direction: row !important;
    gap: 22px !important;
    overflow-x: auto !important;
    scroll-behavior: smooth;
    padding-bottom: 14px !important;
    margin-bottom: -14px;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.municipal-events-track::-webkit-scrollbar {
    display: none;
}
.municipal-event-card {
    flex: 0 0 340px !important;
    max-width: 340px !important;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(15, 44, 70, 0.05);
    display: flex;
    flex-direction: column;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.municipal-event-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 28px rgba(15, 44, 70, 0.1);
}
.m-event-card-media {
    position: relative;
    width: 100%;
    height: 185px;
    background: #e2e8f0;
    overflow: hidden;
}
.m-event-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}
.municipal-event-card:hover .m-event-card-img {
    transform: scale(1.04);
}
.m-event-media-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(9, 44, 74, 0.1) 0%, rgba(9, 44, 74, 0.5) 100%);
}
.m-event-date-chip {
    position: absolute;
    top: 12px;
    left: 12px;
    background: #ffffff;
    color: #092c4a;
    font-size: 11px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.m-event-cat-badge {
    position: absolute;
    bottom: 12px;
    left: 12px;
    background: rgba(8, 127, 143, 0.9);
    color: #ffffff;
    font-size: 11px;
    font-weight: 600;
    padding: 3px 9px;
    border-radius: 6px;
    backdrop-filter: blur(4px);
}
.m-event-card-body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.m-event-title {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #092c4a !important;
    margin: 0 0 10px 0 !important;
    line-height: 1.35 !important;
    min-height: 44px;
}
.m-event-meta-info {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-bottom: 12px;
    font-size: 12px;
    color: #64748b;
}
.m-event-meta-item {
    display: flex;
    align-items: center;
    gap: 7px;
}
.m-event-desc {
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: #475569 !important;
    margin: 0 0 16px 0 !important;
    flex: 1;
}
.m-event-card-foot {
    margin-top: auto;
}
.m-event-btn {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
}

@media (max-width: 768px) {
    .municipal-event-card {
        flex: 0 0 280px !important;
        max-width: 280px !important;
    }
}

/* ==============================================================
   MUNICIPAL SCHEME CARD IMAGES
   ============================================================== */
.m-scheme-card-image {
    position: relative;
    width: 100%;
    height: 160px;
    background: #e2e8f0;
    overflow: hidden;
}
.m-scheme-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}
.municipal-scheme-card:hover .m-scheme-card-image img {
    transform: scale(1.03);
}
.m-scheme-image-badges {
    position: absolute;
    inset: 0;
    padding: 12px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    background: linear-gradient(180deg, rgba(0,0,0,0.4) 0%, transparent 60%);
}

/* ==============================================================
   MUNICIPAL IMPORTANT LINKS LOGOS & CAROUSEL
   ============================================================== */
.m-link-item-logo {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}
.m-link-item-logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    display: block;
}

/* ==============================================================
   MUNICIPAL BUDGET & BALANCE SHEET YEAR-WISE CARDS
   ============================================================== */
.municipal-balancesheet-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 22px !important;
}
.municipal-balancesheet-card {
    background: #ffffff;
    border: 1px solid #bbf7d0;
    border-radius: 18px;
    box-shadow: 0 4px 16px rgba(15, 44, 70, 0.04);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.municipal-balancesheet-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(16, 185, 129, 0.12);
    border-color: #86efac;
}
.m-bs-card-head {
    padding: 16px 20px;
    background: linear-gradient(135deg, #f0fdf4 0%, #ecfdf5 100%);
    border-bottom: 1px solid #dcfce7;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.m-bs-year-chip {
    font-size: 13px;
    font-weight: 600;
    color: #065f46;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.m-bs-badge {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    background: #10b981;
    color: #ffffff;
    padding: 3px 8px;
    border-radius: 10px;
    letter-spacing: 0.04em;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.m-bs-card-body {
    padding: 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.m-bs-title {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #092c4a !important;
    margin: 0 0 8px 0 !important;
    line-height: 1.35 !important;
}
.m-bs-audit-firm {
    font-size: 11.5px;
    color: #047857;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 14px;
}
.m-bs-figures-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 12px;
    margin-bottom: 12px;
}
.m-bs-figure-box {
    display: flex;
    flex-direction: column;
}
.m-bs-fig-lbl {
    font-size: 10.5px;
    color: #64748b;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 2px;
}
.m-bs-fig-val {
    font-size: 15px;
    font-weight: 600;
}
.m-bs-summary {
    font-size: 12.5px !important;
    line-height: 1.5 !important;
    color: #475569 !important;
    margin: 0 !important;
    flex: 1;
}
.m-bs-card-foot {
    padding: 16px 20px;
    background: #f8fafc;
    border-top: 1px solid #edf2f7;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.m-bs-btn {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
    font-size: 12px !important;
}
.m-bs-audit-btn {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
    font-size: 11.5px !important;
}

@media (max-width: 991px) {
    .municipal-balancesheet-grid {
        grid-template-columns: 1fr !important;
    }
}



/* ==========================================================================
   PREMIUM GOVERNMENT PORTAL SUITE & BILINGUAL ENHANCEMENTS
   ========================================================================== */

/* 1. Indian National Tricolor Ribbon at top of portal */
.top-header {
    position: relative !important;
    border-top: 3.5px solid transparent !important;
}
.top-header::before {
    content: "" !important;
    position: absolute !important;
    top: -3.5px !important;
    left: 0 !important;
    right: 0 !important;
    height: 3.5px !important;
    background: linear-gradient(90deg, #FF9933 0%, #FF9933 33.33%, #FFFFFF 33.33%, #FFFFFF 66.66%, #138808 66.66%, #138808 100%) !important;
    z-index: 99999 !important;
}

/* 2. Devanagari Typography Optimization when in Hindi */
body.municipal-lang-hi,
body.municipal-lang-hi input,
body.municipal-lang-hi textarea,
body.municipal-lang-hi select,
body.municipal-lang-hi button {
    font-family: 'Noto Sans Devanagari', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    line-height: 1.65;
}
body.municipal-lang-hi h1,
body.municipal-lang-hi h2,
body.municipal-lang-hi h3,
body.municipal-lang-hi h4,
body.municipal-lang-hi .municipal-section-title {
    font-family: 'Noto Sans Devanagari', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 0 !important;
}

/* 3. Breaking News & Digital Notice Ticker Ribbon */
.municipal-notice-ticker-wrap {
    background: #0f2c46;
    color: #ffffff;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    position: relative;
    z-index: 100;
}
.m-ticker-inner {
    display: flex;
    align-items: center;
    gap: 16px;
    min-height: 46px;
    padding: 6px 0;
}
.m-ticker-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #e63946;
    color: #ffffff;
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: 0.08em;
    padding: 6px 14px;
    border-radius: 999px;
    white-space: nowrap;
    box-shadow: 0 2px 8px rgba(230,57,70,0.35);
    flex-shrink: 0;
}
.m-ticker-pulse {
    width: 8px;
    height: 8px;
    background: #ffffff;
    border-radius: 50%;
    animation: mPulse 1.4s infinite ease-in-out;
}
@keyframes mPulse {
    0% { transform: scale(0.9); opacity: 0.8; }
    50% { transform: scale(1.3); opacity: 1; box-shadow: 0 0 10px #ffffff; }
    100% { transform: scale(0.9); opacity: 0.8; }
}
.m-ticker-viewport {
    flex: 1;
    overflow: hidden;
    position: relative;
    min-height: 24px;
}
.m-ticker-list {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    position: relative;
}
.m-ticker-item {
    display: none;
    align-items: center;
    font-size: 13.5px;
    line-height: 1.4;
}
.m-ticker-item.is-visible {
    display: flex;
    animation: mTickerFade 0.4s ease forwards;
}
@keyframes mTickerFade {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}
.m-ticker-link {
    color: #e2e8f0 !important;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: color 0.2s ease;
}
.m-ticker-link:hover {
    color: #f6a51a !important;
}
.m-ticker-chip-urgent {
    background: #ffb703;
    color: #000814;
    font-size: 10px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 4px;
    text-transform: uppercase;
}
.m-ticker-headline {
    font-weight: 500;
}
.m-ticker-date {
    font-size: 11.5px;
    opacity: 0.65;
    margin-left: 6px;
}
.m-ticker-controls {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}
.m-ticker-prev,
.m-ticker-next {
    width: 26px;
    height: 26px;
    background: rgba(255,255,255,0.1);
    color: #ffffff;
    border: none;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 13px;
    transition: all 0.2s ease;
}
.m-ticker-prev:hover,
.m-ticker-next:hover {
    background: #087f8f;
    color: #ffffff;
}

/* 4. Municipal Live Statistics Counter Cards */
.municipal-live-stats-section {
    padding: 60px 0;
    background: linear-gradient(180deg, #f8fafc 0%, #edf2f7 100%);
    position: relative;
}
.m-stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 36px;
}
.m-stat-card {
    background: #ffffff;
    border: 1px solid rgba(15,44,70,0.08);
    border-radius: 16px;
    padding: 26px 24px;
    box-shadow: 0 4px 20px rgba(15,44,70,0.04);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
}
.m-stat-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #087f8f, #0ea5e9);
    opacity: 0;
    transition: opacity 0.3s ease;
}
.m-stat-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 36px rgba(15,44,70,0.1);
    border-color: #cbd5e1;
}
.m-stat-card:hover::before {
    opacity: 1;
}
.m-stat-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}
.m-stat-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: rgba(8,127,143,0.08);
    color: #087f8f;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}
.m-stat-badge {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.05em;
    padding: 4px 10px;
    background: #f1f5f9;
    color: #475569;
    border-radius: 999px;
    text-transform: uppercase;
}
.m-stat-number {
    font-size: 36px;
    font-weight: 600;
    color: #0f172a;
    line-height: 1.1;
    margin-bottom: 8px;
    font-feature-settings: "tnum";
}
.m-stat-title {
    font-size: 16px;
    font-weight: 600;
    color: #1e293b;
    margin: 0 0 6px !important;
}
.m-stat-sub {
    font-size: 13px;
    color: #64748b;
    margin: 0 !important;
    line-height: 1.5;
}

/* 5. Citizen FAQ Accordion */
.municipal-faq-section {
    padding: 60px 0;
    background: #ffffff;
}
.m-faq-filter-wrap {
    max-width: 540px;
    margin: 22px auto 0;
    position: relative;
}
.m-faq-filter-wrap i {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    font-size: 15px;
}
.m-faq-search-input {
    width: 100% !important;
    padding: 12px 18px 12px 42px !important;
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    outline: none !important;
    background: #f8fafc !important;
    transition: all 0.25s ease !important;
}
.m-faq-search-input:focus {
    border-color: #087f8f !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 4px rgba(8,127,143,0.12) !important;
}
.m-faq-accordion {
    max-width: 880px;
    margin: 36px auto 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.m-faq-item {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
    background: #ffffff;
    transition: all 0.25s ease;
}
.m-faq-item.is-active {
    border-color: #087f8f;
    box-shadow: 0 6px 20px rgba(8,127,143,0.06);
}
.m-faq-trigger {
    width: 100%;
    background: transparent;
    border: none;
    padding: 18px 22px;
    text-align: left;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    cursor: pointer;
    font: inherit;
}
.m-faq-q-left {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    flex: 1;
}
.m-faq-cat-badge {
    font-size: 11px;
    font-weight: 600;
    background: #f1f5f9;
    color: #087f8f;
    padding: 3px 8px;
    border-radius: 6px;
    text-transform: uppercase;
}
.m-faq-question-text {
    font-size: 16px;
    font-weight: 600;
    color: #0f172a;
    line-height: 1.4;
}
.m-faq-toggle-icon {
    font-size: 18px;
    color: #64748b;
    transition: transform 0.3s ease;
    flex-shrink: 0;
}
.m-faq-item.is-active .m-faq-toggle-icon {
    transform: rotate(180deg);
    color: #087f8f;
}
.m-faq-body {
    border-top: 1px solid #f1f5f9;
    background: #f8fafc;
}
.m-faq-body-inner {
    padding: 20px 22px;
    font-size: 14.5px;
    color: #334155;
    line-height: 1.7;
}
.m-faq-body-inner p {
    margin: 0 0 14px !important;
}
.m-faq-action {
    display: flex;
    margin-top: 12px;
}
.m-faq-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #087f8f;
    color: #ffffff !important;
    text-decoration: none !important;
    padding: 8px 16px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    transition: all 0.2s ease;
}
.m-faq-btn:hover {
    background: #066673;
    transform: translateX(2px);
}

/* 6. Interactive Ward & Corporator Finder */
.municipal-ward-finder-section {
    padding: 60px 0;
    background: #f8fafc;
}
.m-ward-search-bar {
    max-width: 720px;
    margin: 24px auto 0;
    display: flex;
    gap: 12px;
    align-items: center;
}
.m-ward-filter-group {
    flex: 1;
}
.m-ward-input-group {
    flex: 1.2;
    position: relative;
}
.m-ward-select {
    width: 100% !important;
    padding: 12px 16px !important;
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    outline: none !important;
    background: #ffffff !important;
}
.m-ward-input-group i {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    font-size: 14px;
}
.m-ward-search-input {
    width: 100% !important;
    padding: 12px 16px 12px 38px !important;
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    outline: none !important;
    background: #ffffff !important;
}
.m-wards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-top: 36px;
}
.m-ward-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 18px rgba(15,44,70,0.04);
    display: flex;
    flex-direction: column;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.m-ward-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(15,44,70,0.09);
}
.m-ward-card-header {
    background: #0f2c46;
    color: #ffffff;
    padding: 16px 20px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.m-ward-badge {
    background: #f6a51a;
    color: #000814;
    font-size: 11px;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 4px;
    white-space: nowrap;
}
.m-ward-name {
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    margin: 0 !important;
    line-height: 1.3 !important;
}
.m-ward-card-body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    flex: 1;
}
.m-ward-parshad-row {
    display: flex;
    align-items: center;
    gap: 14px;
}
.m-ward-parshad-avatar {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    overflow: hidden;
    background: #f1f5f9;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 2px solid #087f8f;
    font-size: 34px;
    color: #94a3b8;
}
.m-ward-parshad-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.m-ward-parshad-meta {
    flex: 1;
}
.m-ward-parshad-role {
    font-size: 10.5px;
    text-transform: uppercase;
    font-weight: 600;
    color: #64748b;
    display: block;
}
.m-ward-parshad-name {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #0f172a !important;
    margin: 2px 0 4px !important;
}
.m-ward-tel-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #087f8f !important;
    text-decoration: none !important;
    font-size: 12.5px;
    font-weight: 600;
}
.m-ward-localities {
    background: #f8fafc;
    border-radius: 8px;
    padding: 10px 12px;
    font-size: 12.5px;
    line-height: 1.5;
}
.m-ward-localities strong {
    color: #334155;
    display: block;
    margin-bottom: 2px;
}
.m-ward-localities p {
    color: #64748b;
    margin: 0 !important;
}
.m-ward-footer-meta {
    border-top: 1px solid #f1f5f9;
    padding-top: 12px;
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 12px;
}
.m-meta-label {
    color: #64748b;
    font-weight: 600;
    margin-right: 4px;
}
.m-meta-val {
    color: #1e293b;
    font-weight: 600;
}

/* Responsive adjustments */
@media (max-width: 991px) {
    .m-stats-grid,
    .m-wards-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 767px) {
    .m-stats-grid,
    .m-wards-grid {
        grid-template-columns: 1fr !important;
    }
    .m-ward-search-bar {
        flex-direction: column !important;
    }
    .m-ticker-inner {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 8px !important;
    }
    .m-ticker-controls {
        display: none !important;
    }
}


/* -------------------------------------------------------------
 * Modern Airiness & Refined Typography Harmonization (v9.0.15)
 * Softens heavy black weights into an elegant, modern digital
 * government aesthetic (inspired by Stripe, Linear & Digital India).
 * ------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6,
.entry-title,
.page-title,
.widget-title,
.section-title,
.municipal-section-heading h2,
.m-lch-title h2,
.m-ech-title h2 {
  font-weight: 600 !important;
}

.municipal-welcome h1,
.municipal-slider__content h1 {
  font-weight: 650 !important;
  letter-spacing: -0.028em !important;
}

.municipal-kicker,
.municipal-eyebrow,
.m-modal-kicker,
.m-ticker-badge,
.m-stat-badge,
.m-pc-badge,
.m-bs-badge,
.m-scheme-code-badge {
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
}

.municipal-btn,
.municipal-btn-primary,
.municipal-btn-secondary,
.municipal-btn-navy,
.municipal-btn-outline,
.btn-primary,
.read-more,
.button,
button.btn {
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
}

.main-navigation .navbar-nav > li > a {
  font-weight: 500 !important;
}

.main-navigation ul ul a {
  font-weight: 450 !important;
}

/* Number Counters & Tabular Data */
.m-stat-number,
.m-bs-fig-val,
.m-bstat-val,
.m-sstat-val,
.municipal-sc-number,
.municipal-mini-stats b {
  font-weight: 700 !important;
  font-variant-numeric: tabular-nums !important;
  letter-spacing: -0.02em !important;
}

/* =============================================================
 * Sovereign Hindi (Devanagari) Typographic Engine
 * Professional, pixel-perfect Devanagari typography using Mukta
 * and Noto Sans Devanagari. Protects shirorekha continuity,
 * prevents matra clipping, and guarantees zero letter-spacing.
 * ============================================================= */

/* Global Devanagari Font Enforcement */
html[lang="hi"],
html[lang="hi"] body,
body.municipal-lang-hi,
[lang="hi"],
.municipal-lang-hi {
  font-family: 'Mukta', 'Noto Sans Devanagari', 'Nirmala UI', 'Mangal', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  line-height: 1.75 !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-rendering: optimizeLegibility !important;
  font-feature-settings: 'liga' 1, 'calt' 1 !important;
}

/* Comprehensive Tag & Class Inheritance (Excluding FontAwesome Icons) */
html[lang="hi"] h1, html[lang="hi"] h2, html[lang="hi"] h3, html[lang="hi"] h4, html[lang="hi"] h5, html[lang="hi"] h6,
body.municipal-lang-hi h1, body.municipal-lang-hi h2, body.municipal-lang-hi h3, body.municipal-lang-hi h4, body.municipal-lang-hi h5, body.municipal-lang-hi h6,
body.municipal-lang-hi .site-title,
body.municipal-lang-hi .entry-title,
body.municipal-lang-hi .page-title,
body.municipal-lang-hi .widget-title,
body.municipal-lang-hi .section-title,
body.municipal-lang-hi .elementor-heading-title,
body.municipal-lang-hi .elementor-widget-heading *,
body.municipal-lang-hi .municipal-welcome h1,
body.municipal-lang-hi .municipal-slider__content h1,
body.municipal-lang-hi .municipal-section-heading h2,
body.municipal-lang-hi .m-lch-title h2,
body.municipal-lang-hi .m-ech-title h2,
body.municipal-lang-hi p,
body.municipal-lang-hi a,
body.municipal-lang-hi span:not(.fa):not(.fas):not(.far):not(.fab):not([class*="fa-"]),
body.municipal-lang-hi li,
body.municipal-lang-hi td,
body.municipal-lang-hi th,
body.municipal-lang-hi input,
body.municipal-lang-hi textarea,
body.municipal-lang-hi select,
body.municipal-lang-hi button,
body.municipal-lang-hi label,
body.municipal-lang-hi b,
body.municipal-lang-hi strong,
body.municipal-lang-hi em,
body.municipal-lang-hi time,
body.municipal-lang-hi .municipal-kicker,
body.municipal-lang-hi .municipal-eyebrow,
body.municipal-lang-hi .m-modal-kicker,
body.municipal-lang-hi .m-ticker-badge,
body.municipal-lang-hi .m-stat-badge,
body.municipal-lang-hi .m-pc-badge,
body.municipal-lang-hi .m-bs-badge,
body.municipal-lang-hi .m-scheme-code-badge,
body.municipal-lang-hi .m-pc-name,
body.municipal-lang-hi .m-pc-role,
body.municipal-lang-hi .m-event-title,
body.municipal-lang-hi .m-bs-title,
body.municipal-lang-hi .m-scheme-title,
body.municipal-lang-hi .m-ward-parshad-name,
body.municipal-lang-hi .municipal-btn,
body.municipal-lang-hi .municipal-btn-primary,
body.municipal-lang-hi .municipal-btn-secondary,
body.municipal-lang-hi .municipal-btn-navy,
body.municipal-lang-hi .municipal-btn-outline,
body.municipal-lang-hi .btn-primary,
body.municipal-lang-hi .read-more {
  font-family: 'Mukta', 'Noto Sans Devanagari', 'Nirmala UI', 'Mangal', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  word-spacing: normal !important;
  hyphens: none !important;
}

/* Safe Vertical Rhythm & Line-Heights for Ascending/Descending Matras */
body.municipal-lang-hi h1,
html[lang="hi"] h1,
body.municipal-lang-hi .municipal-welcome h1,
body.municipal-lang-hi .municipal-slider__content h1 {
  font-weight: 650 !important;
  line-height: 1.34 !important;
  letter-spacing: 0 !important;
}

body.municipal-lang-hi h2,
html[lang="hi"] h2,
body.municipal-lang-hi .municipal-section-heading h2,
body.municipal-lang-hi .municipal-premium-heading h2,
body.municipal-lang-hi .municipal-two-col-head h2,
body.municipal-lang-hi .m-lch-title h2,
body.municipal-lang-hi .m-ech-title h2 {
  font-weight: 600 !important;
  line-height: 1.36 !important;
  letter-spacing: 0 !important;
}

body.municipal-lang-hi h3,
body.municipal-lang-hi h4,
html[lang="hi"] h3,
html[lang="hi"] h4,
body.municipal-lang-hi .m-pc-name,
body.municipal-lang-hi .m-event-title,
body.municipal-lang-hi .m-bs-title,
body.municipal-lang-hi .m-scheme-title,
body.municipal-lang-hi .municipal-service-card h3,
body.municipal-lang-hi .municipal-link-card h3 {
  font-weight: 600 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
}

body.municipal-lang-hi p,
html[lang="hi"] p,
body.municipal-lang-hi li,
body.municipal-lang-hi td,
body.municipal-lang-hi dd {
  font-weight: 400 !important;
  line-height: 1.78 !important;
  letter-spacing: 0 !important;
}

/* Kickers & Eyebrows: Zero Tracking to Keep Shirorekha Continuous */
body.municipal-lang-hi .municipal-kicker,
body.municipal-lang-hi .municipal-eyebrow,
body.municipal-lang-hi .m-modal-kicker,
body.municipal-lang-hi .m-ticker-badge,
body.municipal-lang-hi .m-stat-badge,
body.municipal-lang-hi .m-pc-badge,
body.municipal-lang-hi .m-bs-badge,
body.municipal-lang-hi .m-scheme-code-badge,
body.municipal-lang-hi .m-ward-badge {
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}

/* Buttons & CTAs: Comfortable Vertical Clearance for Vowel Signs */
body.municipal-lang-hi .municipal-btn,
body.municipal-lang-hi .municipal-btn-primary,
body.municipal-lang-hi .municipal-btn-secondary,
body.municipal-lang-hi .municipal-btn-navy,
body.municipal-lang-hi .municipal-btn-outline,
body.municipal-lang-hi .btn-primary,
body.municipal-lang-hi .read-more {
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  padding-top: 13px !important;
  padding-bottom: 13px !important;
}

/* Navigation Bar in Hindi */
body.municipal-lang-hi .main-navigation .navbar-nav > li > a {
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  font-size: 14.5px !important;
}
body.municipal-lang-hi .main-navigation ul ul a {
  font-weight: 450 !important;
  letter-spacing: 0 !important;
  font-size: 13.5px !important;
  line-height: 1.45 !important;
}

/* Icon Preservation Guarantee */
body.municipal-lang-hi .fa,
body.municipal-lang-hi .fas,
body.municipal-lang-hi .far,
body.municipal-lang-hi .fab,
body.municipal-lang-hi .dashicons,
body.municipal-lang-hi [class*="fa-"],
body.municipal-lang-hi [class*="dashicons-"],
body.municipal-lang-hi i.fa,
body.municipal-lang-hi i.fas,
body.municipal-lang-hi i.far {
  font-family: 'FontAwesome' !important;
  font-style: normal !important;
}

/* ==============================================================
 * MUNICIPAL CORPORATION v9.0.18: COMPREHENSIVE MOBILE VIEW FIXES
 * 100% Zero-Collision, Responsive Viewport & Touch Optimization
 * ============================================================== */

/* 1. Global Viewport Containment */
html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
    position: relative !important;
}

/* 2. Top Header Mobile Redesign (Zero Squashing, Perfect Symmetry) */
.top-header .read-more,
body.municipal-lang-hi .top-header .read-more {
    padding: 5px 14px !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    border-radius: 20px !important;
    margin-right: 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    height: auto !important;
    min-height: 0 !important;
    white-space: nowrap !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15) !important;
}

@media (max-width: 767px) {
    .top-header {
        padding: 6px 0 !important;
        min-height: auto !important;
        background: #0b2545 !important;
        display: block !important;
    }
    .top-header .container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
    .top-header .row {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        margin: 0 !important;
        gap: 8px !important;
    }
    .top-header .col-sm-6.text-left {
        display: flex !important;
        align-items: center !important;
        float: none !important;
        width: auto !important;
        padding: 0 !important;
        margin: 0 !important;
        flex: 0 0 auto !important;
        overflow: visible !important;
    }
    .top-header .top-phone {
        display: inline-flex !important;
        align-items: center !important;
        gap: 5px !important;
        font-size: 11.5px !important;
        font-weight: 600 !important;
        color: #ffffff !important;
        white-space: nowrap !important;
        margin: 0 !important;
        line-height: 1.2 !important;
        text-decoration: none !important;
    }
    .top-header .top-phone i {
        color: #fbbf24 !important;
        font-size: 12px !important;
        margin: 0 !important;
    }
    .top-header .top-email,
    .top-header .top-header-latest-posts,
    .top-header .socials {
        display: none !important;
    }
    .top-header .col-sm-6.text-right {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        float: none !important;
        width: auto !important;
        padding: 0 !important;
        margin: 0 !important;
        gap: 6px !important;
        flex: 0 0 auto !important;
    }
    .top-header .read-more,
    .top-header .text-right .read-more,
    body.municipal-lang-hi .top-header .read-more {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 3px 8px !important;
        font-size: 10px !important;
        font-weight: 600 !important;
        border-radius: 12px !important;
        line-height: 1.2 !important;
        margin: 0 !important;
        white-space: nowrap !important;
        height: auto !important;
        min-height: 0 !important;
        background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
        color: #06182c !important;
        box-shadow: 0 2px 6px rgba(245, 158, 11, 0.28) !important;
    }
    .top-header .municipal-header-lang-switch {
        display: inline-flex !important;
        margin: 0 !important;
    }
    .top-header .municipal-lang-toggle-btn {
        padding: 2.5px 7px !important;
        font-size: 10px !important;
        border-radius: 12px !important;
        gap: 3px !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
        background: rgba(255, 255, 255, 0.16) !important;
        border: 1px solid rgba(255, 255, 255, 0.38) !important;
    }
    .top-phone-alt {
        display: none !important;
    }
}

@media (max-width: 414px) {
    .top-header {
        padding: 5px 0 !important;
    }
    .top-header .container {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
    .top-header .top-phone {
        font-size: 11px !important;
        gap: 4px !important;
    }
    .top-header .read-more,
    .top-header .text-right .read-more,
    body.municipal-lang-hi .top-header .read-more {
        padding: 3.5px 8px !important;
        font-size: 10.5px !important;
    }
    .top-header .municipal-lang-toggle-btn {
        padding: 3px 7px !important;
        font-size: 10px !important;
    }
}

@media (max-width: 350px) {
    .top-header .row {
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 4px 8px !important;
    }
}

/* 3. Header Branding & Hamburger Pill on Mobile (Clean Single-Row Balance) */
@media (max-width: 767px) {
    .top-header {
        padding: 5px 0 !important;
        background: #061d31 !important;
        font-size: 11.5px !important;
    }
    .top-header .container {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
    .top-header .col-sm-6 {
        width: 100% !important;
        float: none !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        text-align: center !important;
    }
    .top-header .col-sm-6.text-right {
        margin-top: 3px !important;
        padding-top: 3px !important;
        border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    }
    .top-header .top-phone,
    .top-header .top-email {
        font-size: 11.5px !important;
        margin: 0 6px !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 4px !important;
    }
    .top-header .municipal-header-btn {
        font-size: 11px !important;
        padding: 3px 8px !important;
        margin: 0 !important;
    }
    .top-header .top-header-latest-posts {
        display: none !important;
    }
}

@media (max-width: 1023px) {
    .navbar.at-navbar {
        padding: 6px 0 !important;
        background: #ffffff !important;
        border-bottom: 2px solid #087f8f !important;
    }
    .navbar.at-navbar .container::before,
    .navbar.at-navbar .container::after,
    .navbar.at-navbar .navbar-header::before,
    .navbar.at-navbar .navbar-header::after {
        display: none !important;
        content: none !important;
    }
    .navbar.at-navbar .container {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
    .navbar.at-navbar .navbar-header {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        float: none !important;
        margin: 0 !important;
        min-height: 50px !important;
        gap: 10px !important;
    }
    .municipal-brand-wrap {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        display: flex !important;
        align-items: center !important;
        padding: 0 !important;
    }
    .municipal-emblem-link {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        text-decoration: none !important;
        min-width: 0 !important;
    }
    .municipal-emblem-img {
        width: 44px !important;
        height: 44px !important;
        flex-shrink: 0 !important;
        object-fit: contain !important;
    }
    .municipal-brand-text {
        min-width: 0 !important;
        flex: 1 1 auto !important;
    }
    .m-brand-primary {
        font-size: 15.5px !important;
        font-weight: 600 !important;
        color: #0b2f4c !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        display: block !important;
    }
    .m-brand-sub {
        font-size: 12px !important;
        color: #64748b !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        display: block !important;
        margin-top: 1px !important;
    }
    .navbar.at-navbar .navbar-toggle.municipal-hamburger-btn {
        flex-shrink: 0 !important;
        margin-left: 10px !important;
        padding: 7px 13px !important;
        gap: 8px !important;
    }
}

@media (max-width: 414px) {
    .navbar.at-navbar .container {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
    .municipal-emblem-img {
        width: 38px !important;
        height: 38px !important;
    }
    .m-brand-primary {
        font-size: 14px !important;
    }
    .m-brand-sub {
        font-size: 11px !important;
    }
    .navbar.at-navbar .navbar-toggle.municipal-hamburger-btn {
        padding: 6px 10px !important;
        gap: 6px !important;
    }
    .m-hamburger-text {
        font-size: 12px !important;
    }
}

/* 4. Hero Slider Optimization on Mobile (No Text Collision, Touch Gesture Fluidity) */
@media (max-width: 767px) {
    .municipal-slider__nav {
        display: none !important;
    }
    .municipal-slider {
        min-height: 480px !important;
        height: auto !important;
    }
    .municipal-slider__content {
        padding-top: 32px !important;
        padding-bottom: 110px !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    .municipal-slider__badge {
        font-size: 10.5px !important;
        padding: 5px 12px !important;
        margin-bottom: 14px !important;
        letter-spacing: 0.04em !important;
    }
    .municipal-slider__content h1 {
        font-size: clamp(21px, 6.2vw, 27px) !important;
        line-height: 1.22 !important;
        margin-bottom: 12px !important;
        letter-spacing: -0.01em !important;
    }
    .municipal-slider__content p {
        font-size: 13.5px !important;
        line-height: 1.55 !important;
        margin-bottom: 18px !important;
        opacity: 0.92 !important;
    }
    .municipal-slider__actions {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        width: 100% !important;
    }
    .municipal-slider__btn-primary,
    .municipal-slider__btn-secondary {
        width: 100% !important;
        justify-content: center !important;
        padding: 12px 18px !important;
        font-size: 14px !important;
    }
    .municipal-slider__controls {
        bottom: 58px !important;
        padding: 4px 12px !important;
        gap: 10px !important;
    }
    .municipal-slider__quickbar {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
    }
    .municipal-slider__quickbar::-webkit-scrollbar {
        display: none !important;
    }
    .municipal-slider__quickbar-grid {
        display: flex !important;
        flex-wrap: nowrap !important;
        min-width: 100% !important;
        width: max-content !important;
    }
    .municipal-slider__quickbar-item {
        flex: 0 0 210px !important;
        padding: 11px 14px !important;
    }
}

/* 5. Responsive Data Tables & Horizontal Carousel Smooth Scrolling */
@media (max-width: 767px) {
    .municipal-table-wrap,
    .municipal-officers-table-wrap,
    .table-responsive,
    .m-doc-summary-table-wrap {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        max-width: 100% !important;
        margin-bottom: 24px !important;
        border-radius: 12px !important;
    }
    .municipal-table,
    .m-doc-summary-table {
        min-width: 580px !important;
    }
    .municipal-table th,
    .municipal-table td {
        padding: 11px 12px !important;
        font-size: 12.5px !important;
    }
    .municipal-links-carousel-track,
    .municipal-city-carousel-track,
    .municipal-services-carousel-track,
    .municipal-gallery-carousel,
    .municipal-v-updates-track {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
        max-width: 100% !important;
    }
    .municipal-links-carousel-track::-webkit-scrollbar,
    .municipal-city-carousel-track::-webkit-scrollbar,
    .municipal-services-carousel-track::-webkit-scrollbar,
    .municipal-gallery-carousel::-webkit-scrollbar,
    .municipal-v-updates-track::-webkit-scrollbar {
        display: none !important;
    }
    .municipal-tender-card,
    .municipal-notice-card,
    .municipal-scheme-card {
        padding: 16px !important;
        border-radius: 14px !important;
    }
    .municipal-emergency-grid {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }
    .municipal-steps-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }
    .municipal-charter-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }
}

/* ==============================================================
   MUNICIPAL GOVT INITIATIVES & MISSIONS CAROUSEL (MEDIUM SIZE)
   ============================================================== */
.municipal-initiatives-carousel-section {
    background: #f8fafc;
    padding: 50px 0;
    overflow: hidden;
    position: relative;
}
.municipal-initiatives-carousel-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 26px;
    gap: 20px;
}
.m-ich-title h2 {
    font-size: 26px !important;
    font-weight: 600 !important;
    color: #092c4a !important;
    margin: 4px 0 6px 0 !important;
}
.m-ich-title p {
    color: #64748b !important;
    font-size: 14px !important;
    margin: 0 !important;
    max-width: 680px;
    line-height: 1.55;
}
.municipal-initiatives-track-wrap {
    position: relative;
    width: 100%;
}
.municipal-initiatives-track {
    display: flex !important;
    flex-direction: row !important;
    gap: 20px !important;
    overflow-x: auto !important;
    scroll-behavior: smooth;
    padding-bottom: 16px !important;
    margin-bottom: -16px;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.municipal-initiatives-track::-webkit-scrollbar {
    display: none;
}
/* Medium size initiative card */
.municipal-initiative-card {
    flex: 0 0 290px !important;
    max-width: 290px !important;
    width: 290px !important;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 4px 18px rgba(15, 44, 70, 0.05);
    display: flex;
    flex-direction: column;
    transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
    box-sizing: border-box;
}
.municipal-initiative-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 30px rgba(15, 44, 70, 0.1);
    border-color: var(--initiative-accent, #087f8f);
}
.m-initiative-card-media {
    position: relative;
    width: 100%;
    height: 165px;
    background: #f8fafc;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid #f1f5f9;
}
.m-initiative-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    padding: 10px;
    box-sizing: border-box;
    transition: transform 0.35s ease;
}
.municipal-initiative-card:hover .m-initiative-img {
    transform: scale(1.03);
}
.m-initiative-cat-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    color: #ffffff !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    padding: 3px 9px !important;
    border-radius: 20px !important;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    box-shadow: 0 2px 8px rgba(0,0,0,0.18);
    z-index: 2;
}
.m-initiative-card-body {
    padding: 18px 20px 20px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}
.m-initiative-title {
    font-size: 17px !important;
    font-weight: 600 !important;
    color: #092c4a !important;
    margin: 0 0 8px 0 !important;
    line-height: 1.35 !important;
}
.m-initiative-title a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease;
}
.m-initiative-title a:hover {
    color: var(--initiative-accent, #087f8f);
}
.m-initiative-desc {
    color: #64748b !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
    margin: 0 0 16px 0 !important;
    flex-grow: 1;
}
.m-initiative-card-foot {
    margin-top: auto;
}
.m-initiative-btn {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    padding: 9px 16px !important;
    border-radius: 8px !important;
    gap: 7px !important;
    border-color: #cbd5e1 !important;
    color: #092c4a !important;
    background: #ffffff !important;
    transition: all 0.2s ease !important;
}
.m-initiative-btn:hover {
    background: var(--initiative-accent, #087f8f) !important;
    border-color: var(--initiative-accent, #087f8f) !important;
    color: #ffffff !important;
}
.m-initiatives-nav-btn {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #092c4a;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 2px 8px rgba(15, 44, 70, 0.05);
}
.m-initiatives-nav-btn:hover {
    background: #087f8f;
    border-color: #087f8f;
    color: #ffffff;
}

/* ==============================================================
   MOBILE FULL-WIDTH RESPONSIVE SUITE & CAROUSEL EXPANSION
   ============================================================== */
@media (max-width: 768px) {
    /* 1. Page containers fill mobile screen with optimal 10px gutters */
    .municipal-container,
    .municipal-premium-home .municipal-container,
    .municipal-elementor-home .elementor-section > .elementor-container,
    .elementor-section.elementor-section-boxed > .elementor-container,
    .elementor-section > .elementor-container,
    .municipal-elementor-home .e-con-inner,
    .e-con-inner {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    .elementor-column-gap-default > .elementor-column > .elementor-element-populated,
    .elementor-column-gap-default > .elementor-column > .elementor-widget-wrap {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* 2. Events Carousel Card: Fluid Full-Width on Mobile */
    .municipal-events-track {
        gap: 12px !important;
        scroll-snap-type: x mandatory !important;
        padding: 4px 0 16px !important;
        margin: 0 !important;
        width: 100% !important;
    }
    .municipal-event-card {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
        padding: 0 !important;
        scroll-snap-align: center !important;
        box-sizing: border-box !important;
    }
    .municipal-event-card .m-event-card-body {
        padding: 18px 16px !important;
    }

    /* 3. Govt Initiatives Carousel Card: Fluid Full-Width on Mobile */
    .municipal-initiatives-track {
        gap: 12px !important;
        scroll-snap-type: x mandatory !important;
        padding: 4px 0 16px !important;
        margin: 0 !important;
        width: 100% !important;
    }
    .municipal-initiative-card {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
        scroll-snap-align: center !important;
        box-sizing: border-box !important;
    }
    .municipal-initiative-card .m-initiative-card-body {
        padding: 18px 16px !important;
    }

    /* 4. Important Links Carousel Card: Fluid Full-Width on Mobile */
    .municipal-links-carousel-track .municipal-link-item-card {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
        scroll-snap-align: center !important;
    }

    /* 5. Services & Highlights Carousel: Fluid Full-Width on Mobile */
    .municipal-services .municipal-carousel > * {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
        scroll-snap-align: center !important;
    }

    /* 6. Section Headings: Full width without cramped wrap */
    .municipal-events-carousel-head,
    .municipal-initiatives-carousel-head,
    .municipal-links-carousel-head {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
        margin-bottom: 18px !important;
    }
    .m-ech-title h2,
    .m-ich-title h2,
    .m-lch-title h2 {
        font-size: 21px !important;
        line-height: 1.3 !important;
    }
}

/* ==============================================================
   IN-WINDOW INTERACTIVE PDF POPUP MODAL (UNIVERSAL VIEWER)
   ============================================================== */
.municipal-pdf-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0.28s ease, opacity 0.28s ease;
}
.municipal-pdf-modal.is-open {
    visibility: visible;
    opacity: 1;
}
body.m-pdf-modal-open {
    overflow: hidden !important;
}
.m-pdf-modal-backdrop {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(15, 23, 42, 0.82);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.m-pdf-modal-dialog {
    position: relative;
    width: 92vw;
    max-width: 1140px;
    height: 88vh;
    max-height: 920px;
    background: #ffffff;
    border-radius: 18px;
    box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.1);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    z-index: 2;
    transform: scale(0.95) translateY(14px);
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.municipal-pdf-modal.is-open .m-pdf-modal-dialog {
    transform: scale(1) translateY(0);
}
.m-pdf-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 22px;
    background: #ffffff;
    border-bottom: 1px solid #e2e8f0;
    gap: 16px;
    flex-shrink: 0;
}
.m-pdf-modal-title-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    flex: 1;
}
.m-pdf-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    background: #fee2e2;
    color: #dc2626;
    padding: 4px 10px;
    border-radius: 999px;
    flex-shrink: 0;
}
.m-pdf-modal-title {
    font-size: 16px;
    font-weight: 700;
    color: #092c4a;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.3;
}
.m-pdf-modal-actions {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}
.m-pdf-download-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 16px;
    border-radius: 8px;
    background: #087f8f;
    color: #ffffff !important;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
    transition: all 0.2s ease;
}
.m-pdf-download-btn:hover {
    background: #066673;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(8, 127, 143, 0.25);
}
.m-pdf-external-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: #f1f5f9;
    color: #475569 !important;
    font-size: 14px;
    text-decoration: none !important;
    transition: all 0.2s ease;
}
.m-pdf-external-btn:hover {
    background: #e2e8f0;
    color: #092c4a !important;
}
.m-pdf-modal-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: none;
    background: #f1f5f9;
    color: #475569;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    transition: all 0.2s ease;
}
.m-pdf-modal-close:hover {
    background: #fee2e2;
    color: #ef4444;
    transform: rotate(90deg);
}
.m-pdf-modal-body {
    position: relative;
    flex: 1;
    width: 100%;
    height: 100%;
    background: #33373a;
    overflow: hidden;
}
.m-pdf-loading {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: #e2e8f0;
    font-size: 14px;
    background: #1e293b;
    z-index: 1;
}
.m-pdf-loading i {
    font-size: 32px;
    color: #38bdf8;
}
.m-pdf-iframe {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
    position: relative;
    z-index: 2;
    transition: opacity 0.25s ease;
}

/* ==============================================================
   YEAR-WISE BUDGET & BALANCE SHEET UPGRADES
   ============================================================== */
.m-by-doc-item {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    padding: 12px 14px !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    margin-bottom: 8px !important;
    transition: all 0.2s ease !important;
}
.m-by-doc-item:hover {
    background: #ffffff !important;
    border-color: #cbd5e1 !important;
    box-shadow: 0 4px 14px rgba(15, 44, 70, 0.05) !important;
}
.m-by-doc-info {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex: 1 !important;
    min-width: 0 !important;
}
.m-by-doc-name {
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #092c4a !important;
    line-height: 1.4 !important;
}
.m-by-doc-actions {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-shrink: 0 !important;
}
.municipal-btn-view-pdf {
    background: #087f8f !important;
    border-color: #087f8f !important;
    color: #ffffff !important;
    padding: 7px 13px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}
.municipal-btn-view-pdf:hover {
    background: #066673 !important;
    border-color: #066673 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 10px rgba(8, 127, 143, 0.2) !important;
}
.m-by-doc-download-btn {
    padding: 6px 12px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
    border: 1px solid #cbd5e1 !important;
    color: #092c4a !important;
    background: #ffffff !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}
.m-by-doc-download-btn:hover {
    background: #f1f5f9 !important;
    border-color: #94a3b8 !important;
    color: #087f8f !important;
}
.m-bs-card-foot {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    margin-top: auto !important;
    padding-top: 16px !important;
    border-top: 1px solid #f1f5f9 !important;
}

/* ==============================================================
   DECORATED FAQ ACCORDION, CATEGORY PILLS & HELPDESK BANNER
   ============================================================== */
.municipal-faq-decorated-section {
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
    padding: 60px 0;
}
.m-faq-category-pills-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 20px;
}
.m-faq-cat-pill {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 16px;
    border-radius: 999px;
    border: 1px solid #e2e8f0;
    background: #ffffff;
    color: #475569;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.22s ease;
    box-shadow: 0 2px 6px rgba(15, 44, 70, 0.03);
}
.m-faq-cat-pill i {
    color: #087f8f;
    font-size: 13px;
    transition: color 0.2s;
}
.m-faq-cat-pill:hover {
    background: #f1f5f9;
    color: #092c4a;
    border-color: #cbd5e1;
    transform: translateY(-1px);
}
.m-faq-cat-pill.is-active {
    background: #087f8f;
    color: #ffffff;
    border-color: #087f8f;
    box-shadow: 0 4px 14px rgba(8, 127, 143, 0.25);
}
.m-faq-cat-pill.is-active i {
    color: #ffffff;
}

.m-faq-clear-search {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    background: #f1f5f9;
    border: none;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    font-size: 11px;
    cursor: pointer;
    transition: all 0.2s;
}
.m-faq-clear-search:hover {
    background: #fee2e2;
    color: #ef4444;
}

.m-faq-decorated-accordion {
    max-width: 920px;
    margin: 32px auto 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.m-faq-card {
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    background: #ffffff;
    overflow: hidden;
    transition: all 0.28s ease;
    box-shadow: 0 3px 12px rgba(15, 44, 70, 0.04);
    position: relative;
}
.m-faq-card:hover {
    border-color: #cbd5e1;
    box-shadow: 0 8px 24px rgba(15, 44, 70, 0.08);
    transform: translateY(-2px);
}
.m-faq-card.is-active {
    border-color: #087f8f;
    box-shadow: 0 10px 30px rgba(8, 127, 143, 0.12);
}
.m-faq-card.is-active::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 5px;
    background: linear-gradient(180deg, #087f8f 0%, #0284c7 100%);
}
.m-faq-trigger {
    width: 100%;
    padding: 18px 24px;
    background: transparent;
    border: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    cursor: pointer;
    text-align: left;
}
.m-faq-q-left {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    min-width: 0;
}
.m-faq-q-num {
    font-size: 12px;
    font-weight: 600;
    color: #087f8f;
    background: rgba(8, 127, 143, 0.08);
    padding: 4px 9px;
    border-radius: 8px;
    flex-shrink: 0;
    letter-spacing: 0.04em;
}
.m-faq-card.is-active .m-faq-q-num {
    background: #087f8f;
    color: #ffffff;
}
.m-faq-cat-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    font-weight: 700;
    background: #f1f5f9;
    color: #475569;
    padding: 4px 10px;
    border-radius: 6px;
    flex-shrink: 0;
    letter-spacing: 0.02em;
}
.m-faq-cat-badge i {
    color: #087f8f;
}
.m-faq-question-text {
    font-size: 16px !important;
    font-weight: 600 !important;
    font-family: var(--m-font-heading) !important;
    color: #092c4a !important;
    margin: 0 !important;
    line-height: 1.4 !important;
    flex: 1;
}
.m-faq-card.is-active .m-faq-question-text {
    color: #087f8f !important;
}
.m-faq-toggle-icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #475569;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 13px;
    transition: all 0.25s ease;
}
.m-faq-card:hover .m-faq-toggle-icon {
    background: #087f8f;
    color: #ffffff;
    border-color: #087f8f;
}
.m-faq-card.is-active .m-faq-toggle-icon {
    background: #087f8f;
    color: #ffffff;
    border-color: #087f8f;
    transform: rotate(180deg);
}
.m-faq-body-inner {
    padding: 0 24px 22px 24px;
}
.m-faq-verified-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11.5px;
    font-weight: 700;
    background: #ecfdf5;
    color: #047857;
    padding: 4px 11px;
    border-radius: 6px;
    margin-bottom: 12px;
    border: 1px solid #a7f3d0;
}
.m-faq-answer-content {
    border-left: 3px solid #087f8f;
    padding-left: 14px;
}
.m-faq-answer-content p {
    margin: 0 !important;
    color: #334155 !important;
    font-size: 14.5px !important;
    line-height: 1.7 !important;
}

/* Decorated 24x7 Helpdesk Banner */
.m-faq-helpdesk-banner {
    max-width: 920px;
    margin: 40px auto 0;
    background: linear-gradient(135deg, #092c4a 0%, #0f3d65 100%);
    border-radius: 18px;
    padding: 24px 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    box-shadow: 0 14px 36px rgba(9, 44, 74, 0.16);
    color: #ffffff;
}
.m-faq-hb-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: #38bdf8;
    flex-shrink: 0;
}
.m-faq-hb-content {
    flex: 1;
}
.m-faq-hb-content h4 {
    color: #ffffff !important;
    font-size: 17.5px !important;
    font-weight: 700 !important;
    margin: 0 0 6px 0 !important;
}
.m-faq-hb-content p {
    color: #cbd5e1 !important;
    font-size: 13.5px !important;
    margin: 0 !important;
    line-height: 1.5 !important;
}
.m-faq-hb-actions {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}
.m-faq-hb-actions .municipal-btn {
    border-radius: 8px !important;
    padding: 9px 16px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
}
.m-faq-hb-actions .municipal-btn-outline {
    background: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(255, 255, 255, 0.25) !important;
    color: #ffffff !important;
}
.m-faq-hb-actions .municipal-btn-outline:hover {
    background: #ffffff !important;
    color: #092c4a !important;
}

/* Mobile Media Queries */
@media (max-width: 768px) {
    .m-pdf-modal-dialog {
        width: 96vw !important;
        height: 94vh !important;
        border-radius: 14px !important;
    }
    .m-pdf-modal-header {
        padding: 10px 14px !important;
    }
    .m-pdf-modal-title {
        font-size: 14px !important;
    }
    .m-pdf-download-btn span {
        display: none !important;
    }
    .m-pdf-download-btn {
        padding: 8px 10px !important;
    }

    .m-by-doc-item {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px !important;
    }
    .m-by-doc-actions {
        width: 100% !important;
        justify-content: flex-start !important;
    }
    .m-by-doc-actions > * {
        flex: 1 !important;
        text-align: center !important;
        justify-content: center !important;
    }

    .m-faq-trigger {
        padding: 16px 16px !important;
        gap: 10px !important;
    }
    .m-faq-q-left {
        flex-wrap: wrap !important;
        gap: 8px !important;
    }
    .m-faq-question-text {
        font-size: 15px !important;
        width: 100% !important;
    }
    .m-faq-body-inner {
        padding: 0 16px 18px 16px !important;
    }
    .m-faq-helpdesk-banner {
        flex-direction: column !important;
        align-items: flex-start !important;
        padding: 20px 18px !important;
    }
    .m-faq-hb-actions {
        width: 100% !important;
        flex-direction: column !important;
    }
    .m-faq-hb-actions .municipal-btn {
        width: 100% !important;
        justify-content: center !important;
    }
}

/* FAQ VERTICAL CAROUSEL (AFTER 5 FAQS) */
.m-faq-v-carousel-container {
    max-width: 920px;
    margin: 38px auto 0;
}
.m-faq-vertical-carousel {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 18px !important;
    padding: 20px 24px !important;
    box-shadow: 0 10px 30px rgba(15, 44, 70, 0.06) !important;
}
.m-faq-v-viewport {
    height: 310px !important;
    overflow: hidden !important;
    position: relative !important;
}
@media (max-width: 768px) {
    .m-faq-v-carousel-container {
        margin: 28px 0 0 !important;
        width: 100% !important;
    }
    .m-faq-vertical-carousel {
        padding: 16px 14px !important;
        border-radius: 14px !important;
    }
    .m-faq-v-title-text {
        font-size: 13px !important;
    }
}

/* ==============================================================
   DECORATED BUDGET SECTION & BALANCE SHEETS (BUDGET PAGE)
   ============================================================== */
.municipal-budget-page-section,
.municipal-budget-page {
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 45%, #ffffff 100%) !important;
    position: relative;
}

/* KPI Stat Cards */
.municipal-budget-stat-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
    margin-bottom: 38px !important;
}

.m-budget-stat-card {
    background: #ffffff !important;
    border: 1px solid rgba(226, 232, 240, 0.9) !important;
    border-radius: 18px !important;
    padding: 24px !important;
    box-shadow: 0 10px 25px -5px rgba(15, 44, 70, 0.06), 0 8px 10px -6px rgba(15, 44, 70, 0.04) !important;
    position: relative !important;
    overflow: hidden !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.m-budget-stat-card:nth-child(1) { border-top: 4px solid #087f8f !important; }
.m-budget-stat-card:nth-child(2) { border-top: 4px solid #0284c7 !important; }
.m-budget-stat-card:nth-child(3) { border-top: 4px solid #f59e0b !important; }
.m-budget-stat-card:nth-child(4) { border-top: 4px solid #10b981 !important; }

.m-budget-stat-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 20px 30px -10px rgba(8, 127, 143, 0.16) !important;
    border-color: #cbd5e1 !important;
}

.m-bstat-label {
    display: block !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #64748b !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    margin-bottom: 8px !important;
    font-family: var(--m-font-sans) !important;
}

.m-bstat-val {
    display: block !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #092c4a !important;
    line-height: 1.15 !important;
    margin-bottom: 8px !important;
    font-family: var(--m-font-heading) !important;
    letter-spacing: -0.02em !important;
}

.m-bstat-val.text-primary { color: #087f8f !important; }
.m-bstat-val.text-accent { color: #d97706 !important; }

.m-bstat-sub {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    color: #475569 !important;
    font-family: var(--m-font-sans) !important;
}

/* Filter Bar */
.municipal-budget-filter-bar {
    display: inline-flex !important;
    align-items: center !important;
    gap: 14px !important;
    margin-bottom: 30px !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 999px !important;
    padding: 6px 14px !important;
    box-shadow: 0 4px 14px rgba(15, 44, 70, 0.05) !important;
    flex-wrap: wrap !important;
}

.m-b-filter-title {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #092c4a !important;
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    font-family: var(--m-font-sans) !important;
}

.m-b-filter-title i {
    color: #f59e0b !important;
}

.municipal-budget-tabs {
    display: flex !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
}

.municipal-b-tab {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 999px !important;
    padding: 7px 18px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #475569 !important;
    cursor: pointer !important;
    transition: all 0.22s ease !important;
    font-family: var(--m-font-sans) !important;
}

.municipal-b-tab:hover {
    background: #f1f5f9 !important;
    color: #092c4a !important;
    border-color: #cbd5e1 !important;
}

.municipal-b-tab.is-active {
    background: linear-gradient(135deg, #087f8f 0%, #0369a1 100%) !important;
    border-color: #087f8f !important;
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(8, 127, 143, 0.25) !important;
}

/* Year-wise Budget Cards */
.municipal-budget-years-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 26px !important;
}

.municipal-budget-year-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 20px !important;
    padding: 28px 32px !important;
    box-shadow: 0 10px 30px rgba(15, 44, 70, 0.06) !important;
    position: relative !important;
    overflow: hidden !important;
    transition: all 0.28s ease !important;
}

.municipal-budget-year-card::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    width: 6px !important;
    background: linear-gradient(180deg, #087f8f 0%, #0284c7 100%) !important;
}

.municipal-budget-year-card:hover {
    border-color: #cbd5e1 !important;
    box-shadow: 0 16px 40px rgba(15, 44, 70, 0.1) !important;
    transform: translateY(-2px) !important;
}

.m-by-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 16px !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
}

.m-by-year-badge {
    background: linear-gradient(135deg, #092c4a 0%, #1e3a5f 100%) !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 6px 15px !important;
    border-radius: 10px !important;
    letter-spacing: 0.04em !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    box-shadow: 0 3px 8px rgba(9, 44, 74, 0.18) !important;
}

.m-by-status-tag {
    background: #ecfdf5 !important;
    color: #047857 !important;
    border: 1px solid #a7f3d0 !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    padding: 5px 14px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    letter-spacing: 0.03em !important;
}

.m-by-title {
    font-size: 19px !important;
    font-weight: 600 !important;
    color: #092c4a !important;
    margin: 0 0 10px 0 !important;
    line-height: 1.4 !important;
    font-family: var(--m-font-heading) !important;
}

.m-by-meta-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 16px !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
}

.m-by-outlay {
    background: linear-gradient(135deg, #f0fdfa 0%, #ecfeff 100%) !important;
    border: 1px solid #99f6e4 !important;
    padding: 10px 20px !important;
    border-radius: 12px !important;
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 8px !important;
}

.m-by-outlay-label {
    font-size: 12.5px !important;
    font-weight: 600 !important;
    color: #0d9488 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}

.m-by-outlay-val {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #0f766e !important;
    font-family: var(--m-font-heading) !important;
}

.m-by-date {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #475569 !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.m-by-summary {
    font-size: 14.5px !important;
    color: #475569 !important;
    line-height: 1.7 !important;
    margin: 0 0 22px 0 !important;
    font-family: var(--m-font-sans) !important;
}

.m-by-docs-list {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important;
    padding: 22px !important;
}

.m-by-docs-head {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #334155 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    margin-bottom: 14px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-family: var(--m-font-sans) !important;
}

.m-by-doc-item {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 14px 18px !important;
    margin-bottom: 10px !important;
    transition: all 0.25s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
}

.m-by-doc-item:last-child {
    margin-bottom: 0 !important;
}

.m-by-doc-item:hover {
    border-color: #087f8f !important;
    box-shadow: 0 6px 18px rgba(8, 127, 143, 0.1) !important;
    transform: translateY(-1px) !important;
}

.m-by-doc-name {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #092c4a !important;
    font-family: var(--m-font-sans) !important;
}

/* Balance Sheet Cards */
.municipal-balancesheet-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
}

.municipal-balancesheet-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 20px !important;
    padding: 28px 30px !important;
    box-shadow: 0 10px 30px rgba(15, 44, 70, 0.06) !important;
    border-top: 4px solid #10b981 !important;
    position: relative !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
}

.municipal-balancesheet-card:hover {
    box-shadow: 0 16px 40px rgba(16, 185, 129, 0.12) !important;
    transform: translateY(-2px) !important;
    border-color: #cbd5e1 !important;
    border-top-color: #10b981 !important;
}

.m-bs-card-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 14px !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

.m-bs-year-chip {
    background: #092c4a !important;
    color: #ffffff !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    padding: 5px 12px !important;
    border-radius: 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.m-bs-badge {
    background: #ecfdf5 !important;
    color: #047857 !important;
    border: 1px solid #a7f3d0 !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    padding: 4px 12px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
}

.m-bs-title {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #092c4a !important;
    margin: 0 0 10px 0 !important;
    line-height: 1.4 !important;
    font-family: var(--m-font-heading) !important;
}

.m-bs-audit-firm {
    font-size: 13px !important;
    color: #64748b !important;
    margin-bottom: 18px !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 7px !important;
    line-height: 1.5 !important;
}

.m-bs-figures-row {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
    margin-bottom: 18px !important;
}

.m-bs-figure-box.is-assets {
    background: linear-gradient(135deg, #f0fdf4 0%, #ecfdf5 100%) !important;
    border: 1px solid #a7f3d0 !important;
    border-radius: 12px !important;
    padding: 12px 16px !important;
}

.m-bs-figure-box.is-liabilities {
    background: linear-gradient(135deg, #fefce8 0%, #fffbeb 100%) !important;
    border: 1px solid #fde68a !important;
    border-radius: 12px !important;
    padding: 12px 16px !important;
}

.m-bs-fig-lbl {
    display: block !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    margin-bottom: 4px !important;
}

.m-bs-figure-box.is-assets .m-bs-fig-lbl { color: #15803d !important; }
.m-bs-figure-box.is-liabilities .m-bs-fig-lbl { color: #a16207 !important; }

.m-bs-fig-val {
    display: block !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    font-family: var(--m-font-heading) !important;
}

.m-bs-figure-box.is-assets .m-bs-fig-val { color: #166534 !important; }
.m-bs-figure-box.is-liabilities .m-bs-fig-val { color: #854d0e !important; }

.m-bs-summary {
    font-size: 13.5px !important;
    color: #475569 !important;
    line-height: 1.6 !important;
    margin-bottom: 20px !important;
    font-family: var(--m-font-sans) !important;
}

/* ==============================================================
   FAQ FONT CORRECTION & REFINEMENT
   ============================================================== */
.municipal-faq-section,
.municipal-faq-decorated-section,
.m-faq-accordion,
.m-faq-card,
.m-faq-trigger,
.m-faq-question-text,
.m-faq-body,
.m-faq-answer-content,
.m-faq-answer-content p,
.m-faq-q-num,
.m-faq-cat-badge,
.m-faq-cat-pill,
.m-faq-search-input,
.m-faq-verified-tag,
.m-faq-btn,
.m-faq-helpdesk-banner,
.m-faq-hb-content h4,
.m-faq-hb-content p,
.m-faq-vertical-carousel,
.m-faq-carousel-wrapper {
    font-family: var(--m-font-sans) !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: optimizeLegibility !important;
}

.m-faq-question-text {
    font-size: 16px !important;
    font-weight: 600 !important;
    font-family: var(--m-font-heading) !important;
    color: #092c4a !important;
    line-height: 1.5 !important;
    letter-spacing: -0.01em !important;
}

.m-faq-card.is-active .m-faq-question-text {
    color: #087f8f !important;
}

.m-faq-answer-content p {
    font-size: 15px !important;
    font-weight: 400 !important;
    color: #334155 !important;
    line-height: 1.75 !important;
}

.m-faq-cat-pill {
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
}

.m-faq-q-num {
    font-size: 12.5px !important;
    font-weight: 600 !important;
}

/* ==============================================================
   FAQ CAROUSEL STYLING (FOR MORE THAN 5 FAQS)
   ============================================================== */
.m-faq-carousel-wrapper {
    max-width: 920px;
    margin: 28px auto 0;
    position: relative;
}

.m-faq-carousel-nav-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 20px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    margin-bottom: 20px;
    box-shadow: 0 4px 14px rgba(15, 44, 70, 0.04);
    transition: opacity 0.25s ease;
}

.m-faq-carousel-info {
    display: flex;
    align-items: center;
    gap: 12px;
}

.m-faq-carousel-page-pill {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: #f1f5f9;
    color: #092c4a;
    font-size: 12.5px;
    font-weight: 700;
    padding: 5px 14px;
    border-radius: 999px;
    border: 1px solid #e2e8f0;
}

.m-faq-items-count {
    font-size: 13px;
    color: #64748b;
    font-weight: 600;
}

.m-faq-carousel-arrows {
    display: flex;
    align-items: center;
    gap: 8px;
}

.m-faq-nav-btn {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #092c4a;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 14px;
    transition: all 0.22s ease;
    box-shadow: 0 2px 6px rgba(15, 44, 70, 0.04);
}

.m-faq-nav-btn:hover {
    background: #087f8f;
    border-color: #087f8f;
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(8, 127, 143, 0.25);
}

.m-faq-nav-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
    transform: none;
    background: #f8fafc;
    border-color: #e2e8f0;
    color: #94a3b8;
}

.m-faq-carousel-viewport {
    overflow: hidden;
    position: relative;
    width: 100%;
}

.m-faq-carousel-track {
    width: 100%;
    position: relative;
}

.m-faq-carousel-slide {
    animation: mFaqSlideIn 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes mFaqSlideIn {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.m-faq-carousel-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 24px;
}

.m-faq-carousel-dot {
    width: 12px;
    height: 12px;
    border-radius: 999px;
    background: #cbd5e1;
    border: none;
    padding: 0;
    cursor: pointer;
    transition: all 0.25s ease;
}

.m-faq-carousel-dot.is-active {
    width: 32px;
    background: #087f8f;
    box-shadow: 0 2px 8px rgba(8, 127, 143, 0.35);
}

@media (max-width: 991px) {
    .municipal-budget-stat-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .municipal-balancesheet-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 640px) {
    .municipal-budget-stat-grid {
        grid-template-columns: 1fr !important;
    }
    .m-by-doc-item {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
    .m-by-doc-actions {
        width: 100% !important;
        justify-content: flex-end !important;
    }
}


/* Financial Transparency Section Tabs & Enhanced Card Styles */
.m-b-section-tab {
    background: transparent;
    border: 1px solid transparent;
    color: #475569;
    padding: 8px 16px !important;
    border-radius: 10px !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    cursor: pointer;
    transition: all 0.22s ease;
}

.m-b-section-tab:hover {
    background: #ffffff;
    color: #092c4a;
    box-shadow: 0 2px 8px rgba(15, 44, 70, 0.05);
}

.m-b-section-tab.is-active {
    background: #092c4a !important;
    color: #ffffff !important;
    border-color: #092c4a !important;
    box-shadow: 0 4px 12px rgba(9, 44, 74, 0.2) !important;
}

.municipal-audit-card,
.municipal-rti-card {
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.municipal-audit-card:hover,
.municipal-rti-card:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 16px 36px rgba(15, 44, 70, 0.12) !important;
}

@media (max-width: 768px) {
    .municipal-budget-section-tabs {
        flex-direction: column !important;
    }
    .m-b-section-tab {
        width: 100% !important;
        text-align: left !important;
    }
}

/* ==============================================================
   FAQ SCROLLING TYPE VIEWPORT & CIVIC SCROLLBAR
   ============================================================== */
.m-faq-scroll-viewport {
    scrollbar-width: thin;
    scrollbar-color: #087f8f #f1f5f9;
}
.m-faq-scroll-viewport::-webkit-scrollbar {
    width: 7px;
}
.m-faq-scroll-viewport::-webkit-scrollbar-track {
    background: #f1f5f9;
    border-radius: 999px;
}
.m-faq-scroll-viewport::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #087f8f 0%, #0c3866 100%);
    border-radius: 999px;
}
.m-faq-scroll-viewport::-webkit-scrollbar-thumb:hover {
    background: #0c3866;
}

/* ==============================================================
   FORMS & DOWNLOADS FULL-WIDTH THEME INTEGRATION
   ============================================================== */
.elementor-widget-municipal_forms,
.elementor-widget-municipal_forms .elementor-widget-container,
.elementor-widget-municipal_forms .municipal-forms-section {
    width: 100% !important;
}
.elementor-widget-municipal_forms .municipal-container {
    width: min(1240px, calc(100% - 32px)) !important;
    max-width: 1240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.elementor-full-width-content .elementor-section.elementor-section-boxed > .elementor-container,
.municipal-elementor-page .elementor-section.elementor-section-boxed > .elementor-container,
.municipal-elementor-canvas-wrap .elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 1240px !important;
    width: calc(100% - 32px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* ==============================================================
   CIVIC PAGE HEADER & BREADCRUMBS WIDGET (ELEMENTOR EDITABLE)
   ============================================================== */
.municipal-page-header-widget {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: linear-gradient(135deg, #071e33 0%, #0c3656 60%, #087f8f 100%);
    color: #ffffff;
    box-sizing: border-box;
}
.municipal-page-header-widget .m-header-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 1;
}
.municipal-page-header-widget .m-header-pattern {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: radial-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1px);
    background-size: 20px 20px;
    opacity: 0.6;
    pointer-events: none;
    z-index: 2;
}
.municipal-page-header-widget .m-header-inner {
    position: relative;
    z-index: 3;
    width: min(1240px, calc(100% - 40px));
    max-width: 1240px;
    margin: 0 auto;
    padding: 32px 0 36px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.municipal-page-header-widget .m-header-top-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 14px;
}
.municipal-page-header-widget .m-header-breadcrumbs {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 13px;
    color: #cbd5e1;
}
.municipal-page-header-widget .m-header-breadcrumbs.is-pill {
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.18);
    padding: 6px 14px;
    border-radius: 999px;
}
.municipal-page-header-widget .m-breadcrumb-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.municipal-page-header-widget .m-breadcrumb-item a {
    color: #93c5fd;
    text-decoration: none !important;
    transition: color 0.2s ease;
    font-weight: 500;
}
.municipal-page-header-widget .m-breadcrumb-item a:hover {
    color: #ffffff;
    text-decoration: underline !important;
}
.municipal-page-header-widget .m-breadcrumb-item.is-current {
    color: #ffffff;
    font-weight: 600;
}
.municipal-page-header-widget .m-breadcrumb-sep {
    color: rgba(255, 255, 255, 0.5);
    font-size: 11px;
    margin: 0 2px;
}
.municipal-page-header-widget .m-header-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    border-radius: 20px;
    background: rgba(8, 127, 143, 0.25);
    border: 1px solid rgba(14, 165, 233, 0.35);
    color: #7dd3fc;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}
.municipal-page-header-widget .m-header-kicker {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #f6c55a;
    margin-bottom: 8px;
}
.municipal-page-header-widget .m-header-title {
    font-size: clamp(22px, 3.2vw, 36px);
    font-weight: 700;
    font-family: var(--m-font-heading);
    line-height: 1.22;
    color: #ffffff;
    margin: 0 0 10px;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
    word-break: break-word;
}
.municipal-page-header-widget .m-header-subtitle {
    font-size: clamp(13px, 1.3vw, 16px);
    line-height: 1.6;
    color: #e2e8f0;
    margin: 0;
    max-width: 880px;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
@media (max-width: 768px) {
    .municipal-page-header-widget .m-header-inner {
        padding: 24px 0 26px;
    }
    .municipal-page-header-widget .m-header-top-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    .municipal-page-header-widget .m-header-title {
        font-size: 22px;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
    }
    .municipal-page-header-widget .m-header-subtitle {
        font-size: 13px;
        color: #e2e8f0 !important;
        -webkit-text-fill-color: #e2e8f0 !important;
    }
}

/* Global & Mobile Header Contrast & FAQ Touch Enforcement */
.m-faq-toggle-icon,
.m-faq-toggle-icon * {
    pointer-events: none !important;
}

.municipal-page-hero h1,
.municipal-page-hero h1 *,
.municipal-page-header-widget .m-header-title,
.municipal-page-header-widget .m-header-title *,
.inner-main-title .entry-title,
.inner-main-title .page-title,
.inner-main-title .page-title *,
.entry-header .page-title,
.entry-header .entry-title {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

.municipal-page-hero p,
.municipal-page-header-widget .m-header-subtitle {
    color: #d1e4e8 !important;
    -webkit-text-fill-color: #d1e4e8 !important;
}

@media (max-width: 768px) {
    .municipal-page-hero h1,
    .municipal-page-hero h1 *,
    .municipal-page-header-widget .m-header-title,
    .municipal-page-header-widget .m-header-title *,
    .inner-main-title .entry-title,
    .inner-main-title .page-title,
    .inner-main-title .page-title *,
    .entry-header .page-title,
    .entry-header .entry-title {
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
    }
    font, font * {
        color: inherit !important;
        -webkit-text-fill-color: inherit !important;
    }
}

/* ==============================================================
   ENHANCED CIVIC TYPOGRAPHY & VISITOR VIEWABILITY (v9.0.6)
   ============================================================== */
body {
    font-size: 16px !important;
    line-height: 1.68 !important;
    color: #334155 !important;
    letter-spacing: -0.01em;
}

/* Hindi Devanagari Vowel Height & Legibility */
:lang(hi), [lang="hi"], .m-lang-hi {
    line-height: 1.78 !important;
    letter-spacing: normal !important;
}

/* Card and Widget Viewability Scaling */
.municipal-service-card p,
.municipal-highlight-card p,
.municipal-city-card p,
.municipal-budget-card p,
.municipal-audit-desc,
.municipal-transparency-card p,
.municipal-contact-grid p,
.municipal-project-inner p,
.municipal-charter-trow,
.municipal-notice-card p,
.municipal-tender-card p {
    font-size: 14.5px !important;
    line-height: 1.62 !important;
    color: #334155 !important;
}

.municipal-service-card h3,
.municipal-highlight-card h3,
.municipal-city-card h3,
.municipal-transparency-card h3,
.municipal-audit-title,
.municipal-premium-service h3 {
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    color: #092c4a !important;
    font-family: var(--m-font-heading) !important;
}

/* Micro-Badges & Meta Labels Viewability */
.municipal-service-category,
.municipal-kicker,
.m-badge,
.m-pill-year,
.m-modal-kicker,
.municipal-date small,
.municipal-audit-id,
.municipal-notice-label {
    font-size: 11.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
}

/* Buttons & Navigation Touch Targets */
.municipal-btn,
.municipal-btn-sm,
.m-doc-switch-btn,
.municipal-cat-filter,
.municipal-t-filter,
.municipal-service-link,
.municipal-service-go {
    font-size: 14px !important;
    font-weight: 600 !important;
}

/* Form Inputs, Search Bars & Selects */
.municipal-service-search-field,
.municipal-tender-search-input input,
input[type="text"],
input[type="search"],
input[type="email"],
input[type="tel"],
select,
textarea {
    font-size: 15.5px !important;
    line-height: 1.5 !important;
    color: #0f172a !important;
}

/* Table Text Legibility */
.municipal-charter-thead span,
.m-doc-summary-table th {
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.municipal-charter-trow div,
.m-doc-summary-table td,
.m-audit-detail-item {
    font-size: 14px !important;
    color: #334155 !important;
}

/* ==============================================================
   PACKAGE B: ELEMENTOR CUSTOMIZATION & HEADER PRESETS (v9.0.6)
   ============================================================== */

/* 1. Header Layout Presets (Point 7) */
/* Modern Slim (Default) */
.m-header-preset-modern-slim .navbar.at-navbar {
    display: flex;
    align-items: center;
}
.m-header-preset-modern-slim .navbar-header {
    float: left;
}
.m-header-preset-modern-slim .main-navigation {
    float: right;
}

/* Classic Centered */
.m-header-preset-classic-center .navbar-header {
    float: none !important;
    text-align: center !important;
    padding: 16px 0 10px;
}
.m-header-preset-classic-center .municipal-brand-wrap {
    display: inline-flex !important;
    justify-content: center !important;
    margin: 0 auto !important;
}
.m-header-preset-classic-center .municipal-emblem-link {
    flex-direction: column !important;
    text-align: center !important;
    align-items: center !important;
    gap: 8px !important;
}
.m-header-preset-classic-center .main-navigation {
    float: none !important;
    text-align: center !important;
    border-top: 1px solid #e2e8f0;
    width: 100% !important;
}
.m-header-preset-classic-center .main-navigation ul.nav {
    display: inline-flex !important;
    float: none !important;
    margin: 0 auto !important;
    justify-content: center !important;
}

/* Government Civic Banner */
.m-header-preset-government-banner {
    background: #ffffff;
    border-bottom: 3px solid #087f8f;
}
.m-header-preset-government-banner .top-header {
    background: #092c4a !important;
    border-bottom: 2px solid #f6a51a;
}
.m-header-preset-government-banner .municipal-emblem-img {
    max-width: 68px !important;
    width: 68px !important;
}
.m-header-preset-government-banner .m-brand-primary {
    font-size: 21px !important;
    font-weight: 700 !important;
    color: #092c4a !important;
}
.m-header-preset-government-banner .m-brand-sub {
    font-size: 13.5px !important;
    color: #087f8f !important;
    font-weight: 600 !important;
}

/* Transparent Overlay Header */
.m-header-preset-transparent-overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 100 !important;
    background: linear-gradient(180deg, rgba(9, 44, 74, 0.85) 0%, rgba(9, 44, 74, 0.25) 100%) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.m-header-preset-transparent-overlay .top-header {
    background: transparent !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.m-header-preset-transparent-overlay .at-navbar {
    background: transparent !important;
}
.m-header-preset-transparent-overlay .m-brand-primary,
.m-header-preset-transparent-overlay .m-brand-sub,
.m-header-preset-transparent-overlay .main-navigation ul.nav > li > a {
    color: #ffffff !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

/* 2. Hero Slider Ambient Video Background (Point 8) */
.municipal-slider.has-video-bg .municipal-slider__slide {
    background-image: none !important;
}
.municipal-slider__video-wrap {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 1;
    pointer-events: none;
}
.municipal-slider__video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    inset: 0;
}
.municipal-slider__video-iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
    pointer-events: none;
    transform: scale(1.35);
    border: none;
}

/* 3. Breadcrumbs & Page Header Styling (Point 9) */
.m-breadcrumbs-wrap {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
    font-size: 13.5px;
    color: #cbd5e1;
}
.m-breadcrumbs-wrap a {
    color: #f6c55a;
    text-decoration: none;
    transition: color 0.2s;
}
.m-breadcrumbs-wrap a:hover {
    color: #ffffff;
    text-decoration: underline;
}
.m-bc-sep {
    color: rgba(255, 255, 255, 0.45);
    font-size: 11px;
    margin: 0 2px;
}
.m-bc-current {
    color: #ffffff;
    font-weight: 600;
}

/* 4. Municipal Footer Widget (Point 10) */
.municipal-footer-widget-wrap {
    background: linear-gradient(180deg, #092c4a 0%, #061d31 100%);
    color: #cbd5e1;
    padding: 68px 0 0;
    position: relative;
    overflow: hidden;
    font-size: 14.5px;
    line-height: 1.65;
}
.municipal-footer-widget-wrap:before {
    content: "";
    position: absolute;
    inset: auto -100px -150px auto;
    width: 400px;
    height: 400px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(8, 127, 143, 0.15), transparent 70%);
    pointer-events: none;
}
.m-footer-grid {
    display: grid;
    grid-template-columns: 1.25fr 0.9fr 1fr 1.15fr;
    gap: 36px;
    padding-bottom: 52px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.m-footer-brand-lockup {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
}
.m-footer-emblem {
    width: 58px;
    height: auto;
    flex-shrink: 0;
}
.m-footer-brand-name {
    font-size: 18px;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 4px;
    line-height: 1.3;
}
.m-footer-brand-tagline {
    font-size: 12px;
    color: #79d8d3;
    font-weight: 600;
    display: block;
}
.m-footer-brand-desc {
    font-size: 13.5px;
    color: #94a3b8;
    line-height: 1.6;
    margin: 0 0 22px;
}
.m-footer-social-row {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.m-footer-social-pill {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #ffffff;
    display: grid;
    place-items: center;
    font-size: 15px;
    transition: all 0.25s ease;
    text-decoration: none !important;
}
.m-footer-social-pill:hover {
    background: #087f8f;
    border-color: #087f8f;
    color: #ffffff;
    transform: translateY(-3px);
}
.m-footer-col-title {
    font-size: 16.5px;
    font-weight: 650;
    color: #ffffff;
    margin: 0 0 10px;
    letter-spacing: -0.01em;
}
.m-footer-title-rule {
    width: 36px;
    height: 3px;
    border-radius: 4px;
    background: linear-gradient(90deg, #087f8f, #f6a51a);
    margin-bottom: 18px;
}
.m-footer-link-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.m-footer-link-list li a {
    color: #cbd5e1;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    transition: all 0.2s ease;
}
.m-footer-link-list li a i {
    color: #087f8f;
    font-size: 13px;
    transition: transform 0.2s ease;
}
.m-footer-link-list li a:hover {
    color: #ffffff;
    transform: translateX(4px);
}
.m-footer-link-list li a:hover i {
    color: #f6a51a;
}
.m-footer-contact-block {
    display: flex;
    flex-direction: column;
    gap: 13px;
}
.m-footer-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 13.5px;
    color: #cbd5e1;
    line-height: 1.55;
}
.m-footer-contact-item i {
    color: #f6a51a;
    font-size: 15px;
    margin-top: 3px;
    flex-shrink: 0;
}
.m-footer-contact-item a {
    color: #ffffff;
    text-decoration: none;
}
.m-footer-contact-item a:hover {
    color: #79d8d3;
    text-decoration: underline;
}
.m-footer-bottom-strip {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 24px 0;
    font-size: 13px;
    color: #94a3b8;
    flex-wrap: wrap;
    gap: 14px;
}
.m-footer-copy-text {
    margin: 0;
    max-width: 820px;
    line-height: 1.5;
}
.m-footer-top-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.18);
    padding: 8px 14px;
    border-radius: 999px;
    color: #ffffff !important;
    text-decoration: none !important;
    font-weight: 600;
    font-size: 12px;
    transition: all 0.2s ease;
}
.m-footer-top-btn:hover {
    background: #087f8f;
    border-color: #087f8f;
    transform: translateY(-2px);
}

@media (max-width: 1024px) {
    .m-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 28px;
    }
}
@media (max-width: 640px) {
    .m-footer-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }
    .m-footer-bottom-strip {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* ==========================================================================
   OFFICIAL CIVIC THEME PALETTE & HOVER ENFORCEMENT (Zero Orange Artifacts)
   ========================================================================== */
.top-header {
    background: #092c4a !important;
    color: #ffffff !important;
}
.top-header a {
    color: rgba(255, 255, 255, 0.92) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}
.top-header a:hover,
.top-header a:focus,
.top-header .top-phone:hover,
.top-header .top-email:hover {
    color: #38bdf8 !important;
    text-decoration: none !important;
}
.top-header .top-phone:hover i,
.top-header .top-email:hover i {
    color: #fbbf24 !important;
}
.top-header .read-more,
.top-header .municipal-header-btn {
    background: #087f8f !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    border-radius: 20px !important;
    padding: 5px 16px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    box-shadow: 0 2px 6px rgba(8, 127, 143, 0.35) !important;
    transition: all 0.25s ease !important;
}
.top-header .read-more:hover,
.top-header .municipal-header-btn:hover {
    background: #0b93a5 !important;
    border-color: #ffffff !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(8, 127, 143, 0.5) !important;
    transform: translateY(-1px) !important;
}

/* Main Navigation Civic Styling */
.main-navigation .navbar-nav > li > a {
    color: #1e293b !important;
    font-weight: 500 !important;
    transition: color 0.2s ease !important;
}
.main-navigation .navbar-nav > li > a:hover,
.main-navigation .navbar-nav > li > a:focus,
.main-navigation .navbar-nav > li.current-menu-item > a,
.main-navigation .navbar-nav > li.current_page_item > a,
.main-navigation .navbar-nav > li.active > a {
    color: #087f8f !important;
}

/* Site Footer & Widget Styling */
.site-footer {
    background-color: #0a2e4c !important;
    color: #cbd5e1 !important;
}
.site-footer h3.widget-title,
.site-footer h2.widget-title,
.site-footer .widget-title {
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 0.4px !important;
    margin-bottom: 8px !important;
}
.site-footer h3.widget-title span,
.site-footer h2.widget-title span {
    color: #ffffff !important;
}
.site-footer .line {
    background: rgba(255, 255, 255, 0.12) !important;
    height: 2px !important;
    margin: 8px 0 16px 0 !important;
    position: relative !important;
}
.site-footer .line > span {
    background-color: #087f8f !important;
    color: #ffffff !important;
    border-radius: 50% !important;
    width: 24px !important;
    height: 24px !important;
    line-height: 24px !important;
    font-size: 11px !important;
    display: inline-block !important;
    text-align: center !important;
}
.site-footer .line > span.fa-graduation-cap::before,
.footer-sidebar .line > span::before {
    content: "\f19c" !important; /* FontAwesome fa-university */
}
.site-footer .widget ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.site-footer .widget ul li {
    padding: 6px 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
}
.site-footer .widget ul li a,
.site-footer a {
    color: #cbd5e1 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    font-size: 13.5px !important;
}
.site-footer .widget ul li a:hover,
.site-footer a:hover {
    color: #38bdf8 !important;
    padding-left: 4px !important;
    text-decoration: none !important;
}
.site-footer .copy-right {
    background-color: #061d31 !important;
    color: #94a3b8 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding: 14px 0 !important;
}
.site-footer .copy-right p {
    color: #94a3b8 !important;
    font-size: 12.5px !important;
    margin: 0 !important;
}
.site-footer .copy-right a {
    color: #38bdf8 !important;
}
.site-footer .copy-right a:hover {
    color: #ffffff !important;
    text-decoration: underline !important;
}

/* Absolute suppression of all PDF and document viewer popup modals */
#municipal-doc-viewer-modal,
#municipal-pdf-modal,
.m-pdf-modal,
.municipal-modal-overlay {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    z-index: -9999 !important;
}

/* Universal widget header suppression when toggle is off */
.m-hide-widget-header .municipal-section-heading,
.m-hide-widget-header .municipal-section-header-row,
.m-hide-widget-header .m-budget-hero-banner,
.m-hide-widget-header .m-budget-strip-header,
.m-hide-widget-header .m-tender-hero-banner,
.m-hide-widget-header .m-docs-header-wrap,
.m-hide-widget-header header.m-docs-header,
.m-hide-widget-header .municipal-premium-heading,
.m-hide-widget-header .municipal-v-carousel-header,
.m-hide-widget-header .m-pc-header,
.m-hide-widget-header .municipal-ward-header,
.m-hide-widget-header .services-section-header,
.m-hide-widget-header .schemes-section-header,
.m-hide-widget-header .m-section-header,
.m-hide-widget-header .municipal-contact-page > .municipal-container > .municipal-section-heading,
.m-hide-widget-header .municipal-contact-page .municipal-section-heading,
.municipal-contact-page.m-header-hidden > .municipal-container > .municipal-section-heading,
.municipal-contact-page.m-header-hidden .municipal-section-heading {
    display: none !important;
}

.m-hide-widget-header .municipal-contact-page,
.municipal-contact-page.m-header-hidden {
    padding-top: 10px !important;
}

/* Multi-Image Project Carousel */
.municipal-project-carousel,
.m-project-carousel {
    position: relative;
    user-select: none;
}
.municipal-project-slides,
.m-project-slides {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.municipal-project-slide,
.m-project-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease-in-out;
    z-index: 1;
}
.municipal-project-slide.is-active,
.m-project-slide.is-active {
    opacity: 1;
    visibility: visible;
    position: relative;
    z-index: 2;
}
.municipal-project-slide img,
.m-project-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Nav arrows on project carousel */
.m-proj-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    background: rgba(9, 44, 74, 0.78);
    backdrop-filter: blur(4px);
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 6;
    opacity: 0;
    transition: all 0.25s ease;
    padding: 0;
    font-size: 13px;
    line-height: 1;
}
.municipal-project-card-v2:hover .m-proj-nav,
.municipal-project-full-card:hover .m-proj-nav,
.municipal-project-carousel:hover .m-proj-nav,
.m-project-carousel:hover .m-proj-nav {
    opacity: 1;
}
.m-proj-nav:hover {
    background: #087f8f;
    border-color: #087f8f;
    transform: translateY(-50%) scale(1.1);
    color: #fff !important;
}
.m-proj-prev {
    left: 10px;
}
.m-proj-next {
    right: 10px;
}

/* Dots */
.m-proj-dots {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 6px;
    z-index: 6;
    background: rgba(9, 44, 74, 0.65);
    backdrop-filter: blur(3px);
    padding: 4px 8px;
    border-radius: 12px;
}
.m-proj-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
    border: none;
    padding: 0;
    cursor: pointer;
    transition: all 0.25s ease;
}
.m-proj-dot.is-active,
.m-proj-dot:hover {
    background: #20c997;
    width: 16px;
    border-radius: 4px;
}

/* Photo counter badge */
.m-proj-counter {
    position: absolute;
    top: 14px;
    left: 14px;
    background: rgba(9, 44, 74, 0.82);
    backdrop-filter: blur(4px);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 12px;
    z-index: 5;
    display: flex;
    align-items: center;
    gap: 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.25);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

/* Suppression of old works gallery on About page */
.municipal-about-works-gallery {
    display: none !important;
}

/* Projects Widget: Horizontal Scroll & 2-per-screen Layout */
.municipal-projects-scroll-wrapper {
    position: relative;
    width: 100%;
    margin-top: 15px;
}
.municipal-projects-scroll-nav-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
    padding: 0 4px;
}
.m-projects-scroll-hint {
    font-size: 13px;
    font-weight: 600;
    color: #64748b;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.m-projects-scroll-hint i {
    color: #087f8f;
    font-size: 14px;
}
.m-widget-scroll-buttons {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.m-widget-scroll-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #0f2c46;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.25s ease;
    font-size: 13px;
    padding: 0;
    box-shadow: 0 2px 6px rgba(15, 44, 70, 0.05);
}
.m-widget-scroll-btn:hover:not(:disabled) {
    background: #003366;
    color: #ffffff;
    border-color: #003366;
    transform: scale(1.06);
}
.m-widget-scroll-btn:disabled,
.m-widget-scroll-btn.is-disabled {
    opacity: 0.35;
    cursor: not-allowed;
    transform: none !important;
}
.municipal-projects-grid.m-projects-horizontal-scroll {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    gap: 24px !important;
    padding: 10px 4px 22px 4px !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    margin-top: 0 !important;
}
.municipal-projects-grid.m-projects-horizontal-scroll::-webkit-scrollbar {
    height: 8px;
}
.municipal-projects-grid.m-projects-horizontal-scroll::-webkit-scrollbar-track {
    background: #e2e8f0;
    border-radius: 999px;
}
.municipal-projects-grid.m-projects-horizontal-scroll::-webkit-scrollbar-thumb {
    background: #003366;
    border-radius: 999px;
}
.municipal-projects-grid.m-projects-horizontal-scroll::-webkit-scrollbar-thumb:hover {
    background: #e65100;
}
/* Exactly 2 projects visible on desktop */
.municipal-projects-grid.m-projects-horizontal-scroll .municipal-project-card-v2 {
    flex: 0 0 calc(50% - 12px) !important;
    min-width: calc(50% - 12px) !important;
    max-width: calc(50% - 12px) !important;
    box-sizing: border-box !important;
    scroll-snap-align: start;
    border-radius: 16px;
    overflow: hidden;
    padding: 0 !important;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 20px rgba(15, 44, 70, 0.05);
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.municipal-projects-grid.m-projects-horizontal-scroll .municipal-project-card-v2:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(15, 44, 70, 0.1);
}
.municipal-projects-grid.m-projects-horizontal-scroll .municipal-project-media {
    height: 260px;
    width: 100%;
    position: relative;
    overflow: hidden;
    background: #092c4a;
}
.municipal-projects-grid.m-projects-horizontal-scroll .municipal-project-body {
    padding: 20px 22px 22px !important;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}
.municipal-projects-grid.m-projects-horizontal-scroll .municipal-project-title {
    font-size: 18px;
    font-weight: 700;
    color: #0f2c46;
    margin: 0 0 16px 0;
    line-height: 1.4;
}
.municipal-project-dates {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    padding-top: 14px;
    border-top: 1px solid #edf2f7;
    margin-top: auto;
}
.m-proj-date-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
    background: #f8fafc;
    padding: 10px 14px;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
}
.m-proj-date-label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #64748b;
    display: flex;
    align-items: center;
    gap: 6px;
}
.m-proj-start-date .m-proj-date-label i {
    color: #10b981;
}
.m-proj-deadline .m-proj-date-label i {
    color: #e65100;
}
.m-proj-date-val {
    font-size: 14px;
    font-weight: 700;
    color: #0f2c46;
}
@media (max-width: 991px) {
    .municipal-projects-grid.m-projects-horizontal-scroll .municipal-project-card-v2 {
        flex: 0 0 calc(75% - 12px) !important;
        min-width: calc(75% - 12px) !important;
        max-width: calc(75% - 12px) !important;
    }
    .municipal-projects-grid.m-projects-horizontal-scroll .municipal-project-media {
        height: 230px;
    }
}
@media (max-width: 640px) {
    .municipal-projects-grid.m-projects-horizontal-scroll .municipal-project-card-v2 {
        flex: 0 0 88% !important;
        min-width: 88% !important;
        max-width: 88% !important;
    }
    .municipal-projects-grid.m-projects-horizontal-scroll .municipal-project-media {
        height: 210px;
    }
    .municipal-project-dates {
        grid-template-columns: 1fr;
    }
}


