.gov-hero{ padding:60px 5% 40px; text-align:center; }
.gov-hero h1{ font-size:3.2rem; font-weight:900; color:var(--primary); margin-bottom:14px; }
.gov-hero .title-decoration{ width:80px; height:4px; background:var(--secondary); margin:0 auto; border-radius:10px; }

.gov-wrapper{ position:relative; width:100%; max-width:1200px; margin:0 auto; padding:0 5% 100px; }

.gov-grid{
    display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:26px;
    width:100%; transition:opacity .3s ease;
}

.gov-card{
    background:rgba(255,255,255,.9); backdrop-filter:blur(14px);
    height:210px; border-radius:20px; box-shadow:0 15px 35px rgba(11,94,101,.06);
    border:1px solid rgba(255,255,255,.9); position:relative; overflow:hidden; cursor:pointer;
    transition:all .4s cubic-bezier(.16,1,.3,1);
}
.gov-card-front{
    position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center;
    opacity:1; transition:all .4s ease;
}
.gov-card-icon{
    display:flex; align-items:center; justify-content:center; width:74px; height:74px; border-radius:50%;
    background:rgba(212,175,55,.12); color:var(--secondary); margin-bottom:18px;
}
.gov-card-icon .kf-icon{ width:32px; height:32px; }
.gov-card-title{ font-size:1.3rem; font-weight:800; color:var(--primary); margin:0; text-align:center; padding:0 12px; }

.gov-card-back{
    position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center;
    padding:20px; text-align:center; opacity:0; transform:translateY(20px); transition:all .4s ease;
}
.gov-card-desc{ color:#fff; font-size:1rem; margin-bottom:18px; font-weight:700; line-height:1.6; }
.gov-card-action{ background:var(--secondary); color:#fff; padding:9px 26px; border-radius:30px; font-weight:800; font-size:.95rem; box-shadow:0 4px 15px rgba(0,0,0,.2); }

.gov-card:hover{ background:var(--primary); border-color:var(--primary); transform:translateY(-5px); box-shadow:0 20px 40px rgba(11,94,101,.2); }
.gov-card:hover .gov-card-front{ opacity:0; transform:translateY(-16px); pointer-events:none; }
.gov-card:hover .gov-card-back{ opacity:1; transform:translateY(0); }
.gov-card:focus-visible{ outline:3px solid var(--secondary); outline-offset:2px; }

#gov-expanded{
    position:absolute; z-index:3000; background:rgba(253,253,253,.98); backdrop-filter:blur(20px);
    border:2px solid var(--primary-light); display:none; overflow-y:auto; overflow-x:hidden;
    box-shadow:0 25px 50px rgba(11,94,101,.18); overscroll-behavior:contain;
}
.gov-close-btn{
    position:absolute; top:20px; inset-inline-start:20px; background:#dc3545; color:#fff; border:none;
    width:42px; height:42px; border-radius:50%; font-size:18px; cursor:pointer; display:flex;
    align-items:center; justify-content:center; transition:.3s; z-index:10; box-shadow:0 5px 15px rgba(220,53,69,.3);
}
.gov-close-btn:hover{ background:#c82333; transform:scale(1.08) rotate(90deg); }
.gov-expanded-head{ padding:70px 20px 30px; }
.gov-expanded-head h2{ color:var(--primary); text-align:center; font-size:2rem; font-weight:900; position:relative; margin:0; }
.gov-expanded-head h2::after{ content:''; position:absolute; bottom:-14px; inset-inline-start:50%; transform:translateX(-50%); width:70px; height:4px; background:var(--secondary); border-radius:5px; }
#gov-expanded-body{ padding:0 5% 60px; max-width:1200px; margin:0 auto; }

.gov-year-block{ margin-bottom:40px; }
.gov-year-title{ color:var(--primary); font-size:1.4rem; font-weight:900; margin:0 0 20px; border-bottom:2px solid rgba(11,94,101,.1); padding-bottom:10px; }
.gov-files-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:22px; }
.gov-file-card{ background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 8px 22px rgba(0,0,0,.05); border:1px solid rgba(11,94,101,.06); transition:.35s; cursor:pointer; }
.gov-file-card[role=button]{ cursor:pointer; }
.gov-file-card:hover{ transform:translateY(-6px); box-shadow:0 18px 36px rgba(11,94,101,.14); }
.gov-file-card:focus-visible{ outline:3px solid var(--secondary); outline-offset:2px; }
.gov-file-cover{ width:100%; height:150px; position:relative; overflow:hidden; }
.gov-file-cover img{ width:100%; height:100%; object-fit:cover; }
.gov-file-badge{ position:absolute; top:10px; inset-inline-start:10px; display:flex; align-items:center; gap:5px; background:rgba(11,94,101,.85); color:#fff; font-size:11px; font-weight:800; padding:5px 10px; border-radius:20px; }
.gov-file-badge .kf-icon{ width:11px; height:11px; }
.gov-file-info{ padding:16px 18px; }
.gov-file-info h4{ font-size:14px; font-weight:800; color:var(--primary); margin:0 0 12px; line-height:1.5; }
.gov-file-actions{ display:flex; gap:10px; }
.gov-file-btn{ flex:1; display:flex; align-items:center; justify-content:center; gap:6px; padding:8px; border-radius:10px; font-size:12.5px; font-weight:700; text-decoration:none; border:none; font-family:inherit; cursor:pointer; }
.gov-file-view{ background:var(--primary); color:#fff; }
.gov-file-view:hover{ background:var(--primary-light); }
.gov-file-dl{ background:transparent; color:var(--primary); border:1px solid var(--secondary); }
.gov-file-dl:hover{ background:var(--secondary); color:#fff; }
.gov-file-pending{ font-size:12px; color:var(--text-muted); font-weight:700; }

.kf-spinner-lg{
    display:inline-block; width:40px; height:40px; border-radius:50%;
    border:3px solid rgba(11,94,101,.2); border-top-color:var(--primary);
    animation:gov-spin .8s linear infinite;
}
@keyframes gov-spin{ to{ transform:rotate(360deg); } }

@media (max-width:768px){
    .gov-hero h1{ font-size:2.2rem; }
    #gov-expanded-body{ padding:0 20px 40px; }
}
