/* GNSH V30 — public content listings */
.v30-listing-hero{
    padding:clamp(2.4rem,4vw,4.5rem) 0 clamp(2rem,3vw,3.2rem);
    background:
        radial-gradient(circle at 87% 0%,rgba(15,118,110,.09),transparent 28rem),
        radial-gradient(circle at 12% 12%,rgba(21,84,183,.08),transparent 30rem),
        linear-gradient(180deg,#f6f9fd 0%,#eef4fb 100%);
    border-bottom:1px solid #d9e4f2;
}
.v30-breadcrumb{
    margin-bottom:1.75rem;
    font-size:.88rem;
}
.v30-listing-hero__grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(420px,.75fr);
    gap:clamp(2rem,4vw,5rem);
    align-items:end;
}
.v30-listing-kicker{
    display:block;
    margin-bottom:.65rem;
    color:#d8202a;
    font-size:.76rem;
    font-weight:900;
    letter-spacing:.13em;
    text-transform:uppercase;
}
.v30-listing-hero__copy h1{
    margin:0;
    color:#062f68;
    font-size:clamp(2.5rem,5vw,4.6rem);
    line-height:.98;
    letter-spacing:-.04em;
}
.v30-listing-hero__copy>p{
    max-width:760px;
    margin:1rem 0 0;
    color:#566d8c;
    font-size:1.05rem;
    line-height:1.7;
}
.v30-listing-hero__meta{
    display:flex;
    flex-wrap:wrap;
    gap:.65rem 1.25rem;
    margin-top:1.3rem;
    color:#6a7f9b;
    font-size:.86rem;
}
.v30-listing-hero__meta strong{color:#0a448e}
.v30-public-filter{
    padding:1rem;
    border:1px solid #d5e1f0;
    border-radius:18px;
    background:rgba(255,255,255,.96);
    box-shadow:0 16px 38px rgba(9,51,110,.08);
}
.v30-search-field{
    display:flex;
    align-items:center;
    gap:.7rem;
    height:48px;
    padding:0 .95rem;
    border:1px solid #cfdeee;
    border-radius:12px;
    background:#fff;
}
.v30-search-field>span:not(.visually-hidden){color:#235d9f;font-size:1.15rem}
.v30-search-field input{
    width:100%;
    border:0;
    outline:0;
    background:transparent;
    color:#173a67;
}
.v30-public-filter__row{
    display:flex;
    align-items:center;
    gap:.65rem;
    margin-top:.75rem;
}
.v30-public-filter__row label{flex:1;min-width:0}
.v30-public-filter select{
    width:100%;
    height:42px;
    padding:0 2.1rem 0 .75rem;
    border:1px solid #cfdeee;
    border-radius:10px;
    color:#294764;
    background:#f9fbfe;
}
.v30-public-filter button,
.v30-public-filter__row>a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 1.1rem;
    border-radius:10px;
    font-weight:800;
    text-decoration:none;
    white-space:nowrap;
}
.v30-public-filter button{
    border:1px solid #1359a8;
    background:#1359a8;
    color:#fff;
}
.v30-public-filter__row>a{
    border:1px solid #d2deec;
    color:#45627f;
    background:#fff;
}

.v30-listing-section{
    padding:clamp(2rem,4vw,4rem) 0 clamp(3rem,6vw,6rem);
    background:#f7f9fc;
}
.v30-listing-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:1rem;
    color:#617895;
    font-size:.9rem;
}
.v30-listing-toolbar p{margin:0}
.v30-listing-toolbar strong{color:#0d4382}
.v30-listing-toolbar>span{
    padding:.45rem .7rem;
    border-radius:8px;
    background:#edf4fc;
    color:#4f6d90;
    font-size:.78rem;
    font-weight:700;
}
.v30-public-list{display:grid;gap:.82rem}
.v30-public-item{
    display:grid;
    grid-template-columns:92px minmax(0,1fr) auto;
    gap:1.15rem;
    align-items:center;
    min-height:126px;
    padding:1rem 1rem 1rem .9rem;
    border:1px solid #d7e2ef;
    border-radius:16px;
    background:#fff;
    box-shadow:0 7px 24px rgba(12,55,111,.045);
    transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.v30-public-item:hover{
    border-color:#bcd2ea;
    box-shadow:0 14px 32px rgba(12,55,111,.08);
    transform:translateY(-1px);
}
.v30-public-item__visual{
    display:grid;
    place-items:center;
    width:92px;
    height:92px;
    border-radius:13px;
    overflow:hidden;
    text-decoration:none;
    background:linear-gradient(145deg,#eef6ff,#e2edf9);
}
.v30-public-item__visual img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.v30-public-item__icon{
    display:grid;
    place-items:center;
    width:100%;
    height:100%;
    color:#fff;
    background:linear-gradient(145deg,#0d4d96,#157d88);
    font-size:1.15rem;
    font-weight:900;
    letter-spacing:.03em;
}
.v30-public-item__icon.is-tender{background:linear-gradient(145deg,#6d4a10,#b78216)}
.v30-public-item__icon.is-download,.v30-public-item__icon.is-publication{background:linear-gradient(145deg,#0d766e,#0c9c88)}
.v30-public-item__icon.is-event{background:linear-gradient(145deg,#6d31a6,#9a52c6)}
.v30-public-item__content{min-width:0}
.v30-public-item__meta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:.42rem;
    margin-bottom:.48rem;
    font-size:.73rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.045em;
}
.v30-public-item__meta time{color:#d5242e}
.v30-public-item__meta time span{margin-right:.15rem}
.v30-type-badge,.v30-category-badge,.v30-feature-badge,.v30-important-badge{
    padding:.24rem .48rem;
    border-radius:999px;
    line-height:1;
}
.v30-type-badge{background:#eaf2fc;color:#145197}
.v30-category-badge{background:#edf7f5;color:#0c766c}
.v30-feature-badge{background:#fff4d7;color:#8b5b00}
.v30-important-badge{background:#ffeaec;color:#b51e2b}
.v30-public-item h2{
    margin:0;
    font-size:clamp(1rem,1.45vw,1.28rem);
    line-height:1.4;
}
.v30-public-item h2 a{
    color:#0a376f;
    text-decoration:none;
}
.v30-public-item h2 a:hover{text-decoration:underline;text-underline-offset:3px}
.v30-public-item__content>p{
    max-width:1000px;
    margin:.42rem 0 0;
    color:#60738d;
    font-size:.9rem;
    line-height:1.55;
}
.v30-public-item__facts{
    display:flex;
    flex-wrap:wrap;
    gap:.35rem 1rem;
    margin-top:.65rem;
    color:#6a7e96;
    font-size:.78rem;
}
.v30-public-item__facts strong{color:#375877}
.v30-public-item__facts .is-deadline{color:#a8242e}
.v30-public-item__action{
    align-self:center;
    padding-left:.5rem;
}
.v30-public-item__action a{
    display:inline-flex;
    align-items:center;
    gap:.55rem;
    min-height:42px;
    padding:.65rem .9rem;
    border:1px solid #c8d8e9;
    border-radius:10px;
    color:#0a417f;
    background:#fff;
    font-size:.84rem;
    font-weight:900;
    text-decoration:none;
    white-space:nowrap;
}
.v30-public-item__action a:hover{
    border-color:#1559a7;
    background:#1559a7;
    color:#fff;
}
.v30-empty-state{
    padding:4rem 1.5rem;
    border:1px dashed #c6d6e6;
    border-radius:18px;
    text-align:center;
    background:#fff;
}
.v30-empty-state>span{
    display:grid;
    place-items:center;
    width:64px;height:64px;margin:0 auto 1rem;border-radius:50%;background:#edf4fc;color:#175ca6;font-size:1.8rem
}
.v30-empty-state h2{margin:0;color:#0b3b75}
.v30-empty-state p{margin:.6rem auto 1rem;color:#667b94}
.v30-empty-state a{color:#0d57a4;font-weight:800}

.v30-pagination{
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:1rem;
    margin-top:2rem;
    padding:1rem;
    border:1px solid #d6e1ee;
    border-radius:14px;
    background:#fff;
}
.v30-pagination>a,.v30-pagination>span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:0 .85rem;
    border-radius:9px;
    color:#0e4b91;
    font-size:.83rem;
    font-weight:850;
    text-decoration:none;
}
.v30-pagination>a:hover{background:#edf4fc}
.v30-pagination .is-disabled{color:#a5b2c2;background:#f5f7fa}
.v30-pagination__pages{
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:.32rem;
}
.v30-pagination__pages a,.v30-pagination__pages span{
    display:grid;
    place-items:center;
    min-width:36px;
    height:36px;
    padding:0 .45rem;
    border:1px solid transparent;
    border-radius:9px;
    color:#315879;
    text-decoration:none;
    font-size:.84rem;
    font-weight:800;
}
.v30-pagination__pages a:hover{border-color:#c8d9eb;background:#f3f8fd}
.v30-pagination__pages .is-current{background:#1459a8;color:#fff}

@media(max-width:1100px){
    .v30-listing-hero__grid{grid-template-columns:1fr;gap:1.5rem}
    .v30-public-filter{max-width:none}
    .v30-public-item{grid-template-columns:82px minmax(0,1fr)}
    .v30-public-item__visual{width:82px;height:82px}
    .v30-public-item__action{grid-column:2;padding-left:0}
}
@media(max-width:767px){
    .v30-listing-hero{padding-top:1.7rem}
    .v30-listing-hero__copy h1{font-size:2.55rem}
    .v30-public-filter__row{display:grid;grid-template-columns:1fr 1fr}
    .v30-public-filter__row button,.v30-public-filter__row>a{width:100%}
    .v30-listing-toolbar{align-items:flex-start;flex-direction:column}
    .v30-public-item{grid-template-columns:64px minmax(0,1fr);gap:.8rem;padding:.85rem;border-radius:12px}
    .v30-public-item__visual{width:64px;height:64px;border-radius:10px}
    .v30-public-item__meta{font-size:.66rem}
    .v30-public-item__content>p{font-size:.84rem}
    .v30-public-item__action{grid-column:1/-1}
    .v30-public-item__action a{width:100%}
    .v30-pagination{grid-template-columns:1fr 1fr}
    .v30-pagination__pages{grid-column:1/-1;grid-row:1}
}
@media(max-width:480px){
    .v30-public-filter__row{grid-template-columns:1fr}
    .v30-public-item{grid-template-columns:1fr}
    .v30-public-item__visual{width:100%;height:150px}
    .v30-public-item__action{grid-column:1}
    .v30-pagination>a,.v30-pagination>span{padding:0 .45rem;font-size:.75rem}
}
