/*
Theme Name: ГИПК «ГАЗ-ИНСТИТУТ»
Theme URI: https://gazinstitut.by/
Author: Gaz-Institute Dev Team
Author URI: https://gazinstitut.by/
Description: Официальная тема WordPress для ГИПК «ГАЗ-ИНСТИТУТ». Вёрстка по макетам 2026 года.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gaz-institute
Tags: education, custom-logo, custom-menu, featured-images, translation-ready
*/

/* =========================================================
   ПЕРЕМЕННЫЕ
   ========================================================= */
:root{
    --ink:#0b2b44;
    --ink-2:#1a4c7a;
    --accent:#2a7bcb;
    --accent-dark:#0f3a5f;
    --muted:#64748b;
    --line:#e9eef3;
    --soft:#f8fafc;
    --soft-2:#f0f4f8;
    --shadow-sm:0 4px 14px -8px rgba(0,20,60,.08);
    --shadow-md:0 8px 24px -12px rgba(0,20,60,.14);
    --shadow-lg:0 18px 36px -14px rgba(0,20,60,.20);
    --r-sm:14px;
    --r-md:20px;
    --r-lg:26px;
}
*{box-sizing:border-box}
html,body{overflow-x:hidden}
body.gaz-main{
    margin:0;
    background:#eef2f7;
    font-family:'Segoe UI',Roboto,system-ui,-apple-system,sans-serif;
    color:#1e293b;
    line-height:1.55;
    font-size:16px;
    position:relative;
}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
img{max-width:100%;display:block}
body.no-scroll{overflow:hidden}

/* =========================================================
   ФОН / ВОДЯНЫЕ ЗНАКИ
   ========================================================= */
body.gaz-main::before{
    content:"";
    position:fixed;
    inset:-20%;
    background-size:210px 210px;
    background-repeat:repeat;
    opacity:.024;
    transform:rotate(-12deg);
    pointer-events:none;
    z-index:1;
    filter:grayscale(.45) brightness(1.02);
    will-change:transform;
}
@media(max-width:1024px){
    body.gaz-main::before{opacity:.018;background-size:170px 170px}
}
.gaz-watermarks{position:fixed;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.gaz-watermarks .wm{
    position:absolute;
    background:center/contain no-repeat;
    filter:grayscale(.3) brightness(.98);
}
.gaz-watermarks .wm-1{top:5%;left:max(24px,calc(50vw - 640px - 140px));width:220px;height:280px;opacity:.07;transform:rotate(-10deg)}
.gaz-watermarks .wm-2{top:41%;left:max(20px,calc(50vw - 640px - 165px));width:245px;height:310px;opacity:.06;transform:rotate(-5deg)}
.gaz-watermarks .wm-3{top:84%;left:max(24px,calc(50vw - 640px - 120px));width:200px;height:255px;opacity:.075;transform:rotate(-12deg)}
.gaz-watermarks .wm-4{top:8%;right:max(24px,calc(50vw - 640px - 140px));width:220px;height:285px;opacity:.07;transform:rotate(10deg)}
.gaz-watermarks .wm-5{top:45%;right:max(20px,calc(50vw - 640px - 170px));width:250px;height:315px;opacity:.06;transform:rotate(6deg)}
.gaz-watermarks .wm-6{top:88%;right:max(24px,calc(50vw - 640px - 125px));width:205px;height:260px;opacity:.075;transform:rotate(-8deg)}
@media(max-width:1200px){
    .gaz-watermarks .wm-3,.gaz-watermarks .wm-6{display:none}
    .gaz-watermarks .wm-1,.gaz-watermarks .wm-4{width:170px;height:220px;opacity:.055}
    .gaz-watermarks .wm-2,.gaz-watermarks .wm-5{width:190px;height:245px;opacity:.05}
}
@media(max-width:1000px){.gaz-watermarks{display:none}body.gaz-main::before{opacity:.02}}

/* =========================================================
   ОБОЛОЧКА
   ========================================================= */
.gaz-shell{
    position:relative;
    z-index:2;
    max-width:1280px;
    margin:0 auto;
    padding:26px 20px 40px;
}
@media(max-width:640px){.gaz-shell{padding:18px 12px 30px}}

.gaz-quicklinks,.gaz-banners,.gaz-gov,.edu-wrapper,.vacancies-wrapper{position:relative;z-index:1}

/* =========================================================
   ШАПКА
   ========================================================= */
.gaz-header{
    position:relative;
    width:100%;
    background:linear-gradient(135deg,#0b2b44 0%,#16406b 55%,#1a4c7a 100%);
    color:#fff;
    box-shadow:0 10px 30px -14px rgba(0,20,60,.45);
    z-index:100;
    isolation:isolate;
}
.gaz-header::after{
    content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
    background:linear-gradient(90deg,rgba(125,211,252,0) 0%,rgba(125,211,252,.55) 50%,rgba(125,211,252,0) 100%);
    pointer-events:none;
}
.gaz-header .gaz-header-inner{max-width:1280px;margin:0 auto;padding:0 20px}
@media(max-width:640px){.gaz-header .gaz-header-inner{padding:0 12px}}

.gaz-topbar{
    display:flex;justify-content:space-between;align-items:center;
    gap:20px;flex-wrap:wrap;padding:14px 0 12px;
}
.gaz-topbar .tb-logo{
    display:inline-flex;align-items:center;gap:16px;flex:0 1 auto;min-width:0;
    transition:transform .25s ease;
}
.gaz-topbar .tb-logo:hover{transform:translateY(-2px)}
.gaz-topbar .tb-logo-img{flex:0 0 auto;height:60px;width:auto;max-width:200px;object-fit:contain;filter:drop-shadow(0 6px 14px rgba(0,0,0,.35))}
.gaz-topbar .tb-logo-text{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.gaz-topbar .tb-logo-name{
    font-size:1.15rem;font-weight:800;color:#fff;letter-spacing:-.02em;
    white-space:nowrap;text-shadow:0 2px 8px rgba(0,0,0,.35);
}
.gaz-topbar .tb-logo-name span{color:#7dd3fc}
.gaz-topbar .tb-logo-sub{
    font-size:.72rem;font-weight:500;color:rgba(255,255,255,.68);
    letter-spacing:.3px;margin-top:3px;white-space:nowrap;
}
.gaz-topbar .tb-right{
    display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;
}
.gaz-chip{
    display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:30px;
    background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);
    font-size:.85rem;font-weight:600;color:rgba(255,255,255,.92);
    transition:all .2s ease;cursor:pointer;text-shadow:0 1px 4px rgba(0,0,0,.25);
}
.gaz-chip:hover{
    background:#fff;color:var(--ink);border-color:#fff;
    transform:translateY(-1px);box-shadow:0 8px 18px -8px rgba(0,0,0,.45);text-shadow:none;
}
.gaz-chip i{font-size:.95rem}
.gaz-chip.lang{padding:6px 8px;background:transparent;border:none}
.gaz-chip.lang img{width:26px;height:26px;border-radius:50%;border:2px solid rgba(255,255,255,.25);transition:all .2s;cursor:pointer}
.gaz-chip.lang img:hover{border-color:#7dd3fc;transform:scale(1.08)}

/* =========================================================
   НАВИГАЦИЯ
   ========================================================= */
.gaz-nav{
    position:relative;
    border-top:1px solid rgba(255,255,255,.10);
    padding:6px 0;
    display:flex;align-items:center;gap:4px;z-index:30;
}
.nav-desktop{display:flex;align-items:center;gap:4px;flex:1;flex-wrap:wrap;min-width:0}
.nav-desktop > .gaz-menu,
.gaz-menu{
    display:flex;align-items:center;gap:4px;flex:1;
    flex-wrap:wrap;
    margin:0;padding:0;list-style:none;
    min-width:0;
}
.gaz-menu > .menu-item{position:relative;flex:0 0 auto}
.gaz-menu > .menu-item > a,
.gaz-menu > .menu-item > button{
    display:inline-flex;align-items:center;gap:8px;
    padding:10px 16px;border-radius:30px;
    font-size:.92rem;font-weight:600;color:rgba(255,255,255,.88);
    background:transparent;border:1px solid transparent;white-space:nowrap;
    transition:all .2s ease;cursor:pointer;text-shadow:0 1px 4px rgba(0,0,0,.25);
    font-family:inherit;
}
.gaz-menu > .menu-item > a:hover,
.gaz-menu > .menu-item > button:hover{
    background:rgba(255,255,255,.12);color:#fff;transform:translateY(-1px);text-shadow:none;
}
.gaz-menu > .menu-item.current-menu-item > a,
.gaz-menu > .menu-item.current-menu-ancestor > a{
    background:rgba(255,255,255,.20);color:#fff;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);text-shadow:none;
}
.gaz-menu .caret{font-size:.65rem;transition:transform .25s;opacity:.75}
.menu-item.open > a .caret,.menu-item.open > button .caret{transform:rotate(180deg);opacity:1}

/* Дропдаун */
.gaz-menu .sub-menu{
    position:absolute;
    top:calc(100% + 10px);
    left:0;
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    box-shadow:0 24px 56px -18px rgba(0,20,60,.35);
    padding:16px;
    margin:0;list-style:none;
    min-width:260px;
    max-width:640px;
    max-height:70vh;overflow:auto;
    display:grid;
    grid-template-columns:repeat(2,minmax(220px,1fr));
    gap:2px 16px;
    opacity:0;visibility:hidden;transform:translateY(8px);
    transition:opacity .22s ease,visibility .22s ease,transform .22s ease;
    z-index:100;pointer-events:none;
    color:#1e293b;
}
.gaz-menu .sub-menu.menu-single{grid-template-columns:1fr;max-width:300px}
.menu-item.open > .sub-menu{
    opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;
}
.gaz-menu .sub-menu .menu-item{list-style:none}
.gaz-menu .sub-menu a{
    display:block;padding:8px 12px;border-radius:10px;
    font-size:.88rem;font-weight:500;color:#334155;line-height:1.4;
    transition:all .15s;white-space:normal;
}
.gaz-menu .sub-menu a:hover{
    background:var(--soft-2);color:var(--accent-dark);transform:translateX(3px);
}
.gaz-menu .sub-menu .caret{display:none}
.gaz-menu .sub-menu .sub-menu{
    position:static;opacity:1;visibility:visible;transform:none;
    display:block;box-shadow:none;border:none;padding:0 0 0 12px;
    pointer-events:auto;max-height:none;margin:4px 0;
}

/* Кнопка "Меню" на мобильных */
.nav-toggle{
    display:none;align-items:center;gap:10px;
    padding:9px 16px;background:rgba(255,255,255,.14);color:#fff;
    border:1px solid rgba(255,255,255,.22);border-radius:30px;
    font-size:.9rem;font-weight:700;margin-left:auto;
    transition:all .2s;text-shadow:0 1px 4px rgba(0,0,0,.3);
}
.nav-toggle:hover{background:rgba(255,255,255,.24);transform:translateY(-1px)}
@media(max-width:1024px){
    .gaz-topbar{padding:12px 0 10px;gap:14px}
    .gaz-topbar .tb-logo-img{height:52px;max-width:170px}
    .gaz-topbar .tb-logo-name{font-size:1rem}
    .gaz-topbar .tb-logo-sub{font-size:.68rem}
    .nav-desktop{display:none}
    .nav-toggle{display:inline-flex}
    .gaz-nav{padding:8px 0}
}
@media(max-width:820px){
    .gaz-topbar{flex-direction:column;align-items:stretch;gap:10px}
    .gaz-topbar .tb-logo{justify-content:center;text-align:center}
    .gaz-topbar .tb-logo-text{align-items:center}
    .gaz-topbar .tb-right{justify-content:center}
}
@media(max-width:640px){
    .gaz-topbar{padding:10px 0;gap:8px}
    .gaz-topbar .tb-logo{gap:10px}
    .gaz-topbar .tb-logo-img{height:44px;max-width:150px}
    .gaz-topbar .tb-logo-name{font-size:.9rem}
    .gaz-topbar .tb-logo-sub{display:none}
    .gaz-chip{padding:6px 10px;font-size:.78rem}
    .gaz-chip.lang img{width:22px;height:22px}
}
@media(max-width:420px){
    .gaz-topbar .tb-logo-text{display:none}
    .gaz-topbar .tb-logo-img{height:46px}
}

/* =========================================================
   МОБИЛЬНОЕ МЕНЮ
   ========================================================= */
.nav-mobile-overlay{
    position:fixed;inset:0;background:rgba(11,43,68,.55);backdrop-filter:blur(3px);
    z-index:9998;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;
}
.nav-mobile-overlay.open{opacity:1;visibility:visible}
.nav-mobile{
    position:fixed;top:0;right:0;bottom:0;width:min(400px,92vw);
    background:#fff;z-index:9999;transform:translateX(100%);
    transition:transform .35s cubic-bezier(.4,0,.2,1);
    display:flex;flex-direction:column;
    box-shadow:-24px 0 48px -24px rgba(0,20,60,.4);
    border-left:1px solid var(--line);
}
.nav-mobile.open{transform:translateX(0)}
.nav-mobile .nm-head{
    flex:0 0 auto;padding:18px 22px;
    background:linear-gradient(135deg,#0b2b44,#1a4c7a);color:#fff;
    display:flex;align-items:center;justify-content:space-between;gap:14px;
}
.nav-mobile .nm-head .nm-title{display:flex;align-items:center;gap:12px;font-size:1.05rem;font-weight:700}
.nav-mobile .nm-head .nm-title .nm-ico{
    display:inline-flex;align-items:center;justify-content:center;
    width:40px;height:40px;border-radius:12px;
    background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.2);
}
.nav-mobile .nm-close{
    width:38px;height:38px;border-radius:12px;
    background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);
    color:#fff;font-size:1rem;display:inline-flex;align-items:center;justify-content:center;
    transition:all .2s;
}
.nav-mobile .nm-close:hover{background:rgba(255,255,255,.25);transform:rotate(90deg)}
.nav-mobile .nm-body{flex:1;overflow-y:auto;padding:14px 14px 24px;-webkit-overflow-scrolling:touch}
.nm-item{margin-bottom:4px}
.nm-link{
    display:flex;align-items:center;gap:12px;width:100%;
    padding:14px 16px;border-radius:14px;
    background:transparent;border:none;
    font-size:.96rem;font-weight:600;color:var(--ink);text-align:left;
    transition:all .2s;text-decoration:none;line-height:1.35;
}
.nm-link:hover,.nm-link.active{background:var(--soft-2);color:var(--accent-dark)}
.nm-link .nm-ic{
    flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;
    width:34px;height:34px;border-radius:10px;
    background:linear-gradient(145deg,#e6f0fa,#d4e2f0);color:var(--accent);font-size:.9rem;
}
.nm-link .nm-caret{margin-left:auto;font-size:.75rem;color:#94a3b8;transition:transform .25s}
.nm-item.open .nm-link .nm-caret{transform:rotate(180deg);color:var(--accent)}
.nm-item.current-menu-item > .nm-link{background:linear-gradient(135deg,#2a7bcb,#1a4c7a);color:#fff}
.nm-item.current-menu-item > .nm-link .nm-ic{background:rgba(255,255,255,.2);color:#fff}
.nm-sub{max-height:0;overflow:hidden;transition:max-height .35s ease;padding:0 0 0 12px}
.nm-item.open .nm-sub{max-height:3000px}
.nm-sub .nm-sub-link{
    display:block;padding:10px 14px;border-radius:10px;
    font-size:.88rem;font-weight:500;color:#334155;line-height:1.4;
    transition:all .15s;text-decoration:none;border-left:2px solid transparent;
}
.nm-sub .nm-sub-link:hover{
    background:var(--soft);color:var(--accent-dark);
    border-left-color:var(--accent);padding-left:18px;
}
.nm-logo{
    display:flex;align-items:center;justify-content:center;
    padding:14px 16px;margin:0 4px 10px;
    background:linear-gradient(135deg,#f4f8fc,#e6f0fa);
    border:1px solid var(--line);border-radius:14px;transition:all .2s;
}
.nm-logo img{height:52px;width:auto;max-width:200px;object-fit:contain}

/* =========================================================
   ФУТЕР
   ========================================================= */
.gaz-footer{
    position:relative;z-index:100;width:100%;margin:0;
    background:linear-gradient(135deg,#0b2b44 0%,#16406b 55%,#1a4c7a 100%);
    color:#cbd5e1;
    box-shadow:0 -10px 30px -14px rgba(0,20,60,.35);
    isolation:isolate;
}
.gaz-footer::before{
    content:"";position:absolute;left:0;right:0;top:0;height:1px;
    background:linear-gradient(90deg,rgba(125,211,252,0) 0%,rgba(125,211,252,.55) 50%,rgba(125,211,252,0) 100%);
    pointer-events:none;
}
.gaz-footer .gaz-footer-inner{max-width:1280px;margin:0 auto;padding:38px 20px 20px}
@media(max-width:640px){.gaz-footer .gaz-footer-inner{padding:28px 12px 16px}}
.gaz-footer .foot-top{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
    gap:30px;padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.12);
}
.gaz-footer h4{
    color:#fff;font-size:1rem;font-weight:700;margin:0 0 14px;
    letter-spacing:.2px;position:relative;padding-bottom:10px;
}
.gaz-footer h4::after{
    content:"";position:absolute;left:0;bottom:0;width:32px;height:2px;
    background:linear-gradient(90deg,#7dd3fc,#2a7bcb);border-radius:2px;
    box-shadow:0 0 10px rgba(125,211,252,.55);
}
.gaz-footer ul{list-style:none;padding:0;margin:0}
.gaz-footer li{margin-bottom:9px}
.gaz-footer a{
    color:rgba(203,213,225,.88);font-size:.9rem;transition:all .2s;
    display:inline-flex;align-items:center;gap:8px;
}
.gaz-footer a:hover{color:#fff;transform:translateX(2px)}
.gaz-footer a i{font-size:.75rem;color:#7dd3fc}
.gaz-footer .foot-bottom{
    display:flex;justify-content:space-between;align-items:center;gap:14px;
    flex-wrap:wrap;padding-top:22px;font-size:.85rem;color:rgba(148,163,184,.9);
}
.gaz-footer .foot-bottom .socials{display:flex;gap:10px}
.gaz-footer .foot-bottom .socials a{
    display:inline-flex;align-items:center;justify-content:center;
    width:38px;height:38px;border-radius:12px;
    background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);
    color:rgba(203,213,225,.95);transition:all .2s;
}
.gaz-footer .foot-bottom .socials a:hover{
    background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.35);
    color:#fff;transform:translateY(-2px);box-shadow:0 8px 18px -8px rgba(0,0,0,.45);
}
@media(max-width:640px){
    .gaz-footer .foot-top{grid-template-columns:1fr 1fr;gap:22px}
    .gaz-footer .foot-bottom{flex-direction:column;text-align:center}
}
@media(max-width:400px){.gaz-footer .foot-top{grid-template-columns:1fr}}

/* =========================================================
   БЫСТРЫЕ ССЫЛКИ (универсальные)
   ========================================================= */
.gaz-quicklinks{margin-bottom:24px}
.ql-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media(max-width:1100px){.ql-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.ql-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
@media(max-width:520px){.ql-grid{grid-template-columns:1fr;gap:12px}}
.ql-card{
    display:flex;align-items:flex-start;gap:14px;padding:18px 20px;
    background:#fff;border:1px solid var(--line);border-radius:18px;
    box-shadow:var(--shadow-sm);transition:transform .25s ease,box-shadow .3s ease,border-color .25s ease;
    position:relative;overflow:hidden;min-height:104px;
}
.ql-card::before{
    content:"";position:absolute;left:0;top:0;bottom:0;width:4px;
    background:linear-gradient(180deg,#2a7bcb,#1a4c7a);
    transform:scaleY(0);transition:transform .3s ease;
}
.ql-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:#d4e2f0}
.ql-card:hover::before{transform:scaleY(1)}
.ql-ico{
    flex-shrink:0;width:46px;height:46px;border-radius:13px;
    display:inline-flex;align-items:center;justify-content:center;
    background:linear-gradient(145deg,#e6f0fa,#d4e2f0);color:var(--accent);
    font-size:1.08rem;transition:all .25s;
}
.ql-card:hover .ql-ico{
    background:linear-gradient(135deg,#2a7bcb,#1a4c7a);color:#fff;
    transform:scale(1.06);box-shadow:0 8px 18px -8px rgba(42,123,203,.7);
}
.ql-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.ql-title{font-size:.95rem;font-weight:700;color:var(--ink);line-height:1.35;transition:color .2s}
.ql-card:hover .ql-title{color:var(--accent-dark)}
.ql-sub{font-size:.78rem;color:var(--muted);font-weight:500;line-height:1.4}
.ql-arrow{flex-shrink:0;color:#cbd5e1;font-size:.8rem;margin-top:6px;transition:all .25s}
.ql-card:hover .ql-arrow{color:var(--accent);transform:translateX(4px)}

/* =========================================================
   БАННЕРЫ (универсальные)
   ========================================================= */
.gaz-banners{
    margin:24px 0 0;padding:26px 0 22px;
    background:linear-gradient(145deg,#ffffff,#f4f8fc);
    border:1px solid var(--line);border-radius:var(--r-lg);
    box-shadow:var(--shadow-md);overflow:hidden;position:relative;
}
.gaz-banners::before,.gaz-banners::after{
    content:"";position:absolute;top:0;bottom:0;width:120px;z-index:3;pointer-events:none;
}
.gaz-banners::before{left:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,0) 100%)}
.gaz-banners::after{right:0;background:linear-gradient(270deg,#fff 0%,rgba(255,255,255,0) 100%)}
.gaz-banners .bn-head{
    display:flex;align-items:center;gap:10px;padding:0 30px 18px;
    font-size:.82rem;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);
}
.gaz-banners .bn-head i{color:var(--accent);font-size:1rem}
.gaz-banners .bn-head .bn-hint{
    margin-left:auto;font-size:.7rem;font-weight:600;color:var(--accent);
    text-transform:none;letter-spacing:0;
    display:inline-flex;align-items:center;gap:6px;
    background:#e6f0fa;padding:5px 12px;border-radius:30px;
}
.gaz-banners .bn-track{
    display:flex;gap:22px;width:max-content;padding:6px 0;
    will-change:transform;cursor:grab;user-select:none;-webkit-user-select:none;
    touch-action:pan-y;
}
.gaz-banners .bn-track:active{cursor:grabbing}
.gaz-banners .bn-track.dragging{cursor:grabbing}
.gaz-banners .bn-track.dragging .bn-item{pointer-events:none}
.gaz-banners .bn-item{
    flex:0 0 auto;display:block;width:440px;height:300px;
    border-radius:20px;overflow:hidden;background:#fff;
    border:1px solid var(--line);
    box-shadow:0 10px 28px -12px rgba(0,20,60,.20);
    transition:transform .3s ease,box-shadow .35s ease;
    position:relative;padding:10px;
}
.gaz-banners .bn-item:hover{
    transform:translateY(-6px) scale(1.03);
    box-shadow:0 24px 48px -18px rgba(0,20,60,.35);
    z-index:2;
}
.gaz-banners .bn-item img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .4s ease}
.gaz-banners .bn-item:hover img{transform:scale(1.03)}
@media(max-width:1024px){
    .gaz-banners .bn-item{width:380px;height:260px}
    .gaz-banners .bn-track{gap:18px}
}
@media(max-width:700px){
    .gaz-banners{margin-top:20px;border-radius:22px;padding:18px 0 14px}
    .gaz-banners::before,.gaz-banners::after{width:50px}
    .gaz-banners .bn-head{padding:0 20px 12px;font-size:.72rem;flex-wrap:wrap}
    .gaz-banners .bn-head .bn-hint{font-size:.62rem;padding:3px 9px}
    .gaz-banners .bn-item{width:290px;height:200px;border-radius:16px;padding:8px}
    .gaz-banners .bn-track{gap:12px}
}
@media(max-width:420px){.gaz-banners .bn-item{width:240px;height:170px}}

/* =========================================================
   ГОСУДАРСТВЕННЫЕ ССЫЛКИ (универсальные)
   ========================================================= */
.gaz-gov{
    margin:24px 0 0;padding:22px 20px;
    background:linear-gradient(145deg,#ffffff,#f4f8fc);
    border:1px solid var(--line);border-radius:var(--r-lg);
    box-shadow:var(--shadow-md);position:relative;overflow:hidden;
}
.gaz-gov .gov-track-wrap{position:relative;overflow:hidden}
.gaz-gov .gov-track{
    display:flex;gap:18px;width:max-content;
    animation:gaz-gov-scroll 65s linear infinite;
    padding:4px 0;will-change:transform;
}
.gaz-gov .gov-track-wrap:hover .gov-track{animation-play-state:paused}
@keyframes gaz-gov-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.gaz-gov .gov-item{
    flex:0 0 auto;display:flex;align-items:center;justify-content:center;
    width:170px;height:110px;padding:12px;background:#fff;
    border:1px solid var(--line);border-radius:14px;
    box-shadow:0 4px 14px -8px rgba(0,20,60,.15);
    transition:transform .25s ease,box-shadow .3s ease,border-color .25s;
    overflow:hidden;
}
.gaz-gov .gov-item:hover{
    transform:translateY(-4px);box-shadow:0 12px 24px -10px rgba(0,20,60,.28);
    border-color:#d4e2f0;
}
.gaz-gov .gov-item img{
    max-width:100%;max-height:100%;width:auto;height:auto;
    object-fit:contain;filter:grayscale(.15);transition:filter .25s;
}
.gaz-gov .gov-item:hover img{filter:grayscale(0)}
@media(max-width:700px){
    .gaz-gov{padding:16px 10px;border-radius:22px}
    .gaz-gov .gov-item{width:130px;height:88px;padding:8px}
    .gaz-gov .gov-track{gap:12px;animation-duration:48s}
}

/* =========================================================
   ПЛАВАЮЩАЯ КНОПКА «НАВЕРХ»
   ========================================================= */
.gaz-scroll-top{
    position:fixed;right:26px;bottom:26px;width:110px;height:135px;
    z-index:900;padding:0;border:none;background:transparent;cursor:pointer;display:block;
    visibility:hidden;transform:translateY(calc(100% + 40px));pointer-events:none;
    transition:transform .6s cubic-bezier(.22,1.2,.36,1),visibility 0s linear .6s;
    filter:drop-shadow(0 14px 22px rgba(0,20,60,.35));
    will-change:transform;-webkit-tap-highlight-color:transparent;
}
.gaz-scroll-top.visible{
    visibility:visible;transform:translateY(0);pointer-events:auto;
    transition:transform .6s cubic-bezier(.22,1.2,.36,1),visibility 0s linear 0s;
}
.gaz-scroll-top img{
    width:100%;height:100%;object-fit:contain;display:block;
    transition:transform .35s ease,filter .35s ease;
    filter:drop-shadow(0 6px 14px rgba(0,0,0,.25));
    pointer-events:none;user-select:none;-webkit-user-drag:none;
}
.gaz-scroll-top:hover img{transform:translateY(-8px) scale(1.05);filter:drop-shadow(0 12px 22px rgba(0,0,0,.35))}
.gaz-scroll-top:active img{transform:translateY(-2px) scale(.98)}
.gaz-scroll-top::after{
    content:"\f106";font-family:"Font Awesome 6 Free";font-weight:900;
    position:absolute;top:-8px;left:50%;transform:translateX(-50%) translateY(8px);
    width:36px;height:36px;border-radius:50%;
    background:linear-gradient(135deg,#2a7bcb,#1a4c7a);color:#fff;
    display:flex;align-items:center;justify-content:center;font-size:.9rem;
    opacity:0;transition:opacity .3s ease,transform .3s ease;
    box-shadow:0 8px 18px -6px rgba(42,123,203,.75);pointer-events:none;
}
.gaz-scroll-top:hover::after{opacity:1;transform:translateX(-50%) translateY(0)}
@media(max-width:820px){
    .gaz-scroll-top{right:16px;bottom:16px;width:82px;height:102px}
    .gaz-scroll-top::after{width:30px;height:30px;font-size:.78rem;top:-6px}
}
@media(max-width:420px){
    .gaz-scroll-top{width:68px;height:84px;right:12px;bottom:12px}
    .gaz-scroll-top::after{width:26px;height:26px;font-size:.7rem}
}

/* =========================================================
   СТРАНИЧНЫЙ ЗАГОЛОВОК (для внутренних страниц)
   ========================================================= */
.gaz-page-head{
    position:relative;z-index:50;width:100%;
    background:linear-gradient(90deg,rgba(11,43,68,.97) 0%,rgba(11,43,68,.88) 30%,rgba(11,43,68,.7) 60%,rgba(11,43,68,.55) 100%),linear-gradient(135deg,#0b2b44 0%,#16406b 55%,#1a4c7a 100%);
    color:#fff;overflow:hidden;isolation:isolate;
}
.gaz-page-head::before{
    content:"";position:absolute;inset:0;
    background-image:var(--page-head-bg, none);
    background-size:cover;background-position:center 40%;opacity:.18;
    z-index:-1;pointer-events:none;
}
.gaz-page-head::after{
    content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
    background:linear-gradient(90deg,rgba(125,211,252,0) 0%,rgba(125,211,252,.55) 50%,rgba(125,211,252,0) 100%);
    pointer-events:none;
}
.gaz-page-head .pgh-inner{
    max-width:1280px;margin:0 auto;padding:34px 20px 34px;
    display:flex;flex-direction:column;gap:14px;
}
@media(max-width:640px){.gaz-page-head .pgh-inner{padding:26px 12px 26px}}
.gaz-breadcrumbs{
    display:flex;align-items:center;gap:10px;flex-wrap:wrap;
    font-size:.85rem;color:rgba(255,255,255,.72);font-weight:500;
}
.gaz-breadcrumbs a{color:rgba(255,255,255,.85);transition:color .2s;display:inline-flex;align-items:center;gap:7px}
.gaz-breadcrumbs a:hover{color:#7dd3fc}
.gaz-breadcrumbs .sep{color:rgba(255,255,255,.35);font-size:.7rem}
.gaz-breadcrumbs .current{color:#7dd3fc;font-weight:600}
.gaz-page-title{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.gaz-page-title .pt-icon{
    flex-shrink:0;width:64px;height:64px;border-radius:18px;
    background:rgba(255,255,255,.14);border:1.5px solid rgba(255,255,255,.32);
    backdrop-filter:blur(10px);
    display:inline-flex;align-items:center;justify-content:center;
    font-size:1.7rem;color:#7dd3fc;
    box-shadow:0 14px 30px -14px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.08);
}
.gaz-page-title h1{
    margin:0;font-size:2.2rem;font-weight:800;line-height:1.15;
    letter-spacing:-.02em;text-shadow:0 4px 22px rgba(0,0,0,.55);
}
.gaz-page-title h1 span{color:#7dd3fc}
.gaz-page-title .pt-sub{
    font-size:1rem;font-weight:400;color:rgba(255,255,255,.88);
    line-height:1.5;max-width:720px;text-shadow:0 2px 12px rgba(0,0,0,.6);margin:0;
}
@media(max-width:640px){
    .gaz-page-title .pt-icon{width:52px;height:52px;font-size:1.35rem;border-radius:14px}
    .gaz-page-title h1{font-size:1.6rem}
    .gaz-page-title .pt-sub{font-size:.9rem}
}

/* =========================================================
   УТИЛИТЫ / ПАГИНАЦИЯ
   ========================================================= */
.gaz-pagination{
    display:flex;justify-content:center;gap:6px;
    margin:30px 0;flex-wrap:wrap;
}
.gaz-pagination .page-numbers{
    display:inline-flex;align-items:center;justify-content:center;
    min-width:44px;height:44px;padding:0 14px;border-radius:12px;
    background:#fff;color:var(--ink-2);border:1px solid var(--line);
    text-decoration:none;font-weight:600;transition:all .2s;
}
.gaz-pagination .page-numbers.current,
.gaz-pagination .page-numbers:hover{
    background:linear-gradient(135deg,#2a7bcb,#1a4c7a);color:#fff;
    border-color:transparent;transform:translateY(-2px);
    box-shadow:0 8px 18px -8px rgba(42,123,203,.7);
}