/* Общие стили шапки/подвала сайта — victorina72. Подключается из _partials/head.php. */
@font-face { font-family:'Montserrat'; font-weight:400; font-style:normal; font-display:swap; src:url('/assets/fonts/Montserrat-Regular.ttf') format('truetype'); }
@font-face { font-family:'Montserrat'; font-weight:500; font-style:normal; font-display:swap; src:url('/assets/fonts/Montserrat-Medium.ttf') format('truetype'); }
@font-face { font-family:'Montserrat'; font-weight:700; font-style:normal; font-display:swap; src:url('/assets/fonts/Montserrat-Bold.ttf') format('truetype'); }
* { box-sizing:border-box; }
html, body { margin:0; padding:0; }
html { overflow-x:clip; }
body { font-family:'Montserrat', system-ui, sans-serif; -webkit-font-smoothing:antialiased; overflow-x:hidden; overflow-x:clip; background:#1a52c4; }
a { color:#fff; text-decoration:none; }
a:hover { text-decoration:underline; }
@keyframes drawerIn { from { opacity:0; transform:translateY(-10px); } to { opacity:1; transform:translateY(0); } }
.bg-pattern { position:fixed; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; pointer-events:none; z-index:0; }
.site-header { position:sticky; top:0; z-index:50; background:#ffffff; display:flex; align-items:center; justify-content:center; gap:16px; padding:12px clamp(16px,3vw,44px); box-shadow:0 1px 0 rgba(0,0,0,.06); }
.site-header .logo { flex:0 0 auto; display:flex; align-items:center; }
.site-header .logo img { height:clamp(48px,5vw,72px); width:auto; display:block; }
.desk-nav { flex:0 0 auto; display:flex; flex-wrap:wrap; align-items:center; gap:clamp(14px,1.8vw,34px); margin-left:clamp(16px,2.5vw,40px); }
.desk-nav a { color:#0a4ea5; font-weight:700; font-size:clamp(15px,1.15vw,20px); text-decoration:underline; text-underline-offset:3px; white-space:nowrap; }
.desk-nav a.active { color:#e51713; }
.burger { display:none; margin-left:auto; width:56px; height:44px; border:2.5px solid #0a4ea5; border-radius:12px; background:#fff; flex-direction:column; align-items:center; justify-content:center; gap:5px; cursor:pointer; }
.burger span { display:block; width:28px; height:3.5px; border-radius:3px; background:#0a4ea5; }
.drawer-nav { display:none; position:fixed; top:0; left:0; right:0; z-index:40; margin-top:69px; background:#0a4ea5; padding:8px clamp(16px,4vw,28px) 20px; flex-direction:column; gap:2px; box-shadow:0 12px 24px rgba(0,0,0,.18); animation:drawerIn .22s ease-out both; }
.drawer-nav.open { display:flex; }
.drawer-nav a { color:#fff; font-weight:700; font-size:20px; padding:12px 4px; border-bottom:1px solid rgba(255,255,255,.18); }
.bottom-nav { display:none; position:relative; z-index:1; padding:8px clamp(16px,5vw,28px) 30px; flex-direction:column; gap:6px; }
.bottom-nav a { color:#fff; font-weight:700; font-size:26px; padding:10px 0; border-bottom:1px solid rgba(255,255,255,.15); text-decoration:underline; text-underline-offset:5px; width:fit-content; }
.site-footer { position:relative; z-index:1; width:100%; max-width:1720px; margin:0 auto; padding:clamp(20px,2.2vw,32px) clamp(16px,3vw,44px) clamp(28px,3vw,44px); display:flex; flex-wrap:wrap; justify-content:center; gap:clamp(16px,2.6vw,48px); }
.site-footer a { color:#eaf0fc; font-size:clamp(15px,1.15vw,20px); }
.site-footer span { color:#8fa3d4; font-size:clamp(15px,1.15vw,20px); }
@media (max-width:899px) {
    .desk-nav { display:none; }
    .burger { display:flex; }
    .bottom-nav { display:flex; }
  }
