.announcements-section {
    position:relative;
    padding:180px 0 120px;
    overflow:hidden;
}
.announcements-header {
    max-width:760px;
    margin:0 auto 55px;
    text-align:center;
}
.section-badge {
    display:inline-flex;
    align-items:center;
    gap:9px;
    padding:8px 16px;
    border:1px solid rgba(79,140,255,.25);
    background:rgba(79,140,255,.08);
    border-radius:50px;
    color:#8db8ff;
    font-size:13px;
    font-weight:600;
    letter-spacing:.3px;
    margin-bottom:20px;
}
.section-badge i {
    font-size:13px;
}
.announcements-header h2 {
    margin:0 0 18px;
    font-size:clamp(38px,5vw,58px);
    line-height:1.1;
    font-weight:700;
    letter-spacing:-1.5px;
    background:linear-gradient( 90deg,#fff,#9fc2ff,#7c4dff );
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    background-clip:text;
}
.announcements-header p {
    margin:0 auto;
    max-width:680px;
    color:#aebdd0;
    font-size:16px;
    line-height:1.8;
}
.announcement-search {
    max-width:850px;
    margin:0 auto;
}
.search-box {
    position:relative;
    display:flex;
    align-items:center;
    width:100%;
    min-height:64px;
    padding:0 20px;
    background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.10);
    border-radius:18px;
    backdrop-filter:blur(18px);
    box-shadow:0 20px 60px rgba(0,0,0,.18);
    transition:.35s ease;
}
.search-box:focus-within {
    border-color:rgba(79,140,255,.5);
    box-shadow:0 0 0 4px rgba(79,140,255,.08),0 20px 60px rgba(0,0,0,.22);
}
.search-box > i {
    color:#6fa5ff;
    font-size:18px;
    margin-right:14px;
}
.search-box input {
    flex:1;
    width:100%;
    height:62px;
    border:none;
    outline:none;
    background:transparent;
    color:#fff;
    font-family:inherit;
    font-size:15px;
}
.search-box input::placeholder {
    color:#728198;
}
.search-box button {
    width:36px;
    height:36px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#8493a8;
    border-radius:10px;
    opacity:0;
    visibility:hidden;
    transition:.3s ease;
}
.search-box button:hover {
    color:#fff;
    background:rgba(255,255,255,.08);
}
.search-box button.show {
    opacity:1;
    visibility:visible;
}
.announcement-result-info {
    max-width:850px;
    margin:22px auto 28px;
}
.announcement-result-info span {
    color:#8190a5;
    font-size:14px;
}
.announcement-result-info strong {
    color:#dce8f8;
    font-weight:600;
}
.announcement-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}
.announcement-card {
    position:relative;
    display:flex;
    flex-direction:column;
    min-height:360px;
    padding:26px;
    background:linear-gradient( 145deg,rgba(255,255,255,.075),rgba(255,255,255,.025) );
    border:1px solid rgba(255,255,255,.09);
    border-radius:22px;
    backdrop-filter:blur(18px);
    box-shadow:0 20px 55px rgba(0,0,0,.18);
    overflow:hidden;
    transition:transform .4s ease,border-color .4s ease,box-shadow .4s ease;
}
.announcement-card::before {
    content:"";
    position:absolute;
    width:180px;
    height:180px;
    top:-100px;
    right:-80px;
    background:radial-gradient( circle,rgba(79,140,255,.16),transparent 70% );
    pointer-events:none;
    transition:.4s ease;
}
.announcement-card:hover {
    transform:translateY(-7px);
    border-color:rgba(79,140,255,.28);
    box-shadow:0 28px 70px rgba(0,0,0,.28),0 0 35px rgba(79,140,255,.06);
}
.announcement-card:hover::before {
    transform:scale(1.3);
}
.announcement-card-top {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    margin-bottom:35px;
}
.announcement-date {
    display:flex;
    flex-direction:column;
    line-height:1;
}
.announcement-date strong {
    font-size:34px;
    font-weight:700;
    letter-spacing:-1px;
    color:#fff;
}
.announcement-date span {
    margin-top:5px;
    color:#72a8ff;
    font-size:12px;
    font-weight:700;
    letter-spacing:1.5px;
}
.announcement-date small {
    margin-top:4px;
    color:#66758a;
    font-size:11px;
    font-weight:500;
}
.announcement-badge {
    display:inline-flex;
    align-items:center;
    padding:7px 12px;
    border-radius:50px;
    font-size:11px;
    font-weight:600;
    letter-spacing:.4px;
    border:1px solid rgba(255,255,255,.08);
}
.badge-exam {
    color:#8eb8ff;
    background:rgba(79,140,255,.10);
    border-color:rgba(79,140,255,.20);
}
.badge-register {
    color:#75dfb3;
    background:rgba(47,196,137,.09);
    border-color:rgba(47,196,137,.18);
}
.badge-calendar {
    color:#c4a7ff;
    background:rgba(124,77,255,.10);
    border-color:rgba(124,77,255,.20);
}
.badge-result {
    color:#ffca7a;
    background:rgba(255,174,71,.09);
    border-color:rgba(255,174,71,.18);
}
.badge-training {
    color:#71d8ff;
    background:rgba(45,184,255,.09);
    border-color:rgba(45,184,255,.18);
}
.badge-general {
    color:#b8c4d4;
    background:rgba(255,255,255,.06);
}

.announcement-empty {
    padding:70px 20px;
    text-align:center;
    border:1px solid rgba(255,255,255,.08);
    border-radius:22px;
    background:rgba(255,255,255,.035);
}
.empty-icon {
    width:58px;
    height:58px;
    margin:0 auto 18px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:16px;
    background:rgba(79,140,255,.08);
    border:1px solid rgba(79,140,255,.15);
    color:#75aaff;
    font-size:20px;
}
.announcement-empty h3 {
    margin:0 0 8px;
    color:#fff;
    font-size:20px;
}
.announcement-empty p {
    margin:0;
    color:#8190a5;
    font-size:14px;
}
.announcement-card.hidden {
    display:none;
}
@media(max-width:1100px) {
    .announcement-grid {
        grid-template-columns:repeat(2,1fr);
    }
}
@media(max-width:700px) {
    .announcements-section {
        padding:150px 0 80px;
    }
    .announcements-header {
        margin-bottom:40px;
    }
    .announcements-header h2 {
        font-size:38px;
    }
    .announcements-header p {
        font-size:14px;
        line-height:1.7;
    }
    .announcement-grid {
        grid-template-columns:1fr;
        gap:18px;
    }
    .announcement-card {
        min-height:300px;
        padding:22px;
        border-radius:19px;
    }
}
@media(max-width:480px) {
    .announcements-section {
        padding-top:135px;
    }
    .announcements-header h2 {
        font-size:34px;
    }
    .section-badge {
        font-size:12px;
    }
    .search-box {
        min-height:58px;
        padding:0 16px;
    }
    .search-box input {
        height:56px;
        font-size:14px;
    }
    .announcement-card-content h3{
        font-size:19px;
        line-height:1.45;
    }
    .announcement-card-content p{
        font-size:14px;
        line-height:1.7;
    }
}
.announcement-result-info {
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    width:100%;
}
.announcement-card-content h3 {
    margin:0 0 14px;
    font-size:20px;
    line-height:1.45;
    font-weight:700;
    letter-spacing:-.3px;
    color:#fff;
}
.announcement-card-content p {
    margin:0;
    color:#b7c4d8;
    font-size:15px;
    line-height:1.75;
    font-weight:400;
}