/* GNSH Government Portal V20 — single, conflict-free Swiper layer */
body.government-v20 .v20-hero-swiper{
    position:relative;
    width:100%;
    height:var(--v14-slider-height,370px);
    min-height:var(--v14-slider-height,370px);
    max-height:var(--v14-slider-height,370px);
    overflow:hidden;
    border:1px solid #b9cde4;
    border-radius:3px 3px 0 0;
    background:linear-gradient(135deg,#dfeaf5,#cbdced);
    box-shadow:0 12px 28px rgba(13,52,105,.09);
    isolation:isolate;
    --swiper-theme-color:#fff;
}

/* Minimal Swiper core fallback so the first image is always visible even if
   the remote Swiper stylesheet is delayed or unavailable. */
body.government-v20 .v20-hero-swiper.swiper{
    display:block;
}
body.government-v20 .v20-hero-swiper .swiper-wrapper{
    position:relative;
    z-index:1;
    display:flex;
    width:100%;
    height:100%;
    box-sizing:content-box;
    transition-property:transform;
    transition-timing-function:ease;
}
body.government-v20 .v20-hero-swiper .swiper-slide{
    position:relative;
    display:block;
    flex-shrink:0;
    width:100%;
    height:100%;
    overflow:hidden;
    background-color:#d8e5f2;
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
}
body.government-v20 .v20-hero-swiper:not(.swiper-initialized) .swiper-slide:not(:first-child){
    display:none;
}

body.government-v20 .v20-slide-link,
body.government-v20 .v20-hero-slide img{
    display:block;
    width:100%;
    height:100%;
}
body.government-v20 .v20-slide-link{
    color:inherit;
    text-decoration:none;
}
body.government-v20 .v20-slide-link:focus-visible{
    outline:3px solid #fff;
    outline-offset:-7px;
}
body.government-v20 .v20-hero-slide img{
    position:relative;
    z-index:1;
    object-fit:cover;
    object-position:center;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    user-select:none;
    -webkit-user-drag:none;
    backface-visibility:hidden;
}
body.government-v20 .v20-hero-slide.is-resolved::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    background:inherit;
}
body.government-v20 .v20-hero-slide--fallback img{
    object-fit:contain;
    padding:42px;
    background:linear-gradient(135deg,#eef5fb,#dce9f6);
}

body.government-v20 .v20-hero-swiper.is-preparing::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:20;
    pointer-events:none;
    background:linear-gradient(100deg,#e4edf7 18%,#f5f8fc 42%,#e4edf7 66%);
    background-size:220% 100%;
    animation:v20-shimmer 1.15s linear infinite;
}
@keyframes v20-shimmer{to{background-position:-220% 0;}}

body.government-v20 .v20-swiper-button{
    position:absolute;
    top:50%;
    z-index:15;
    display:grid;
    place-items:center;
    width:38px;
    height:56px;
    margin:0;
    padding:0;
    border:1px solid rgba(255,255,255,.58);
    border-radius:3px;
    background:rgba(8,42,82,.76);
    color:#fff;
    box-shadow:0 8px 22px rgba(0,25,55,.18);
    backdrop-filter:blur(7px);
    transform:translateY(-50%);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .18s ease,visibility .18s ease,background-color .18s ease;
}
body.government-v20 .v20-swiper-button--prev{left:12px;}
body.government-v20 .v20-swiper-button--next{right:12px;}
body.government-v20 .v20-swiper-button span{
    display:block;
    margin-top:-2px;
    font-size:2rem;
    line-height:1;
}
body.government-v20 .v20-hero-swiper:hover .v20-swiper-button,
body.government-v20 .v20-hero-swiper:focus-within .v20-swiper-button,
body.government-v20 .v20-hero-swiper.is-controls-visible .v20-swiper-button{
    opacity:.96;
    visibility:visible;
    pointer-events:auto;
}
body.government-v20 .v20-swiper-button:hover,
body.government-v20 .v20-swiper-button:focus-visible{
    background:rgba(11,70,132,.96);
    outline:none;
}
body.government-v20 .v20-hero-swiper.is-single-slide .v20-swiper-button,
body.government-v20 .v20-swiper-button.swiper-button-lock{
    display:none !important;
}

body.government-v20 .v20-slider-status{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    padding:0 !important;
    margin:-1px !important;
    overflow:hidden !important;
    clip:rect(0,0,0,0) !important;
    white-space:nowrap !important;
    border:0 !important;
}

/* Remove every legacy slider controller or progress dock if stale compiled
   markup survives one request during deployment. */
body.government-v20 .v15-slider-dots,
body.government-v20 .v16-slider-controls,
body.government-v20 .v17-slider-dock,
body.government-v20 .v18-slider-dock,
body.government-v20 .v19-slider-dock,
body.government-v20 .swiper-pagination,
body.government-v20 .swiper-scrollbar{
    display:none !important;
}

@media (max-width:1199.98px){
    body.government-v20 .v20-hero-swiper{
        height:350px;
        min-height:350px;
        max-height:350px;
    }
}
@media (max-width:767.98px){
    body.government-v20 .v20-hero-swiper{
        height:280px;
        min-height:280px;
        max-height:280px;
        border-radius:2px 2px 0 0;
    }
    body.government-v20 .v20-swiper-button{
        width:34px;
        height:48px;
    }
    body.government-v20 .v20-swiper-button--prev{left:7px;}
    body.government-v20 .v20-swiper-button--next{right:7px;}
    body.government-v20 .v20-hero-slide--fallback img{padding:26px;}
}
@media (hover:none){
    body.government-v20 .v20-swiper-button{
        opacity:0;
        visibility:hidden;
        pointer-events:none;
    }
    body.government-v20 .v20-hero-swiper.is-controls-visible .v20-swiper-button,
    body.government-v20 .v20-hero-swiper:focus-within .v20-swiper-button{
        opacity:.96;
        visibility:visible;
        pointer-events:auto;
    }
}
@media (prefers-reduced-motion:reduce){
    body.government-v20 .v20-swiper-button,
    body.government-v20 .v20-hero-swiper .swiper-wrapper{
        transition-duration:180ms !important;
    }
    body.government-v20 .v20-hero-swiper.is-preparing::before{animation:none;}
}
body.government-v20 .v20-hero-swiper.is-manual-fallback .swiper-wrapper{
    display:block;
    transform:none !important;
}
body.government-v20 .v20-hero-swiper.is-manual-fallback .swiper-slide{
    position:absolute;
    inset:0;
    display:none;
    width:100% !important;
    height:100%;
}
body.government-v20 .v20-hero-swiper.is-manual-fallback .swiper-slide.is-manual-active{
    display:block;
}
