/* Единый контракт шапки design-25: data-menu-open управляет меню и иконкой. */
#site-header { height:48px; z-index:1100; }
#site-header *, #site-header *::before, #site-header *::after { box-sizing:border-box; }
#site-header .top-menu { display:flex; align-items:center; justify-content:center; width:100%; max-width:1200px; min-width:0; height:48px; padding:0 20px; }
#site-header .logo { display:flex; align-items:center; flex:0 0 auto; width:auto; min-width:0; height:auto; }
#site-header .logo img { display:block; width:auto; height:26px; max-width:100%; object-fit:contain; }
#site-header .nav-list { display:flex; align-items:center; gap:0; list-style:none; margin:0; padding:0; }
#site-header .nav-item { margin:0 15px; }
#site-header .nav-link { color:#fff; font-size:14px; text-decoration:none; white-space:nowrap; }
#site-header .cart-link img { display:block; width:20px; height:20px; margin:0; }
#site-header .mobile-menu-block { display:none; }
#site-header .menu-toggle { display:none; }
#site-header .menu-icon, #site-header .menu-icon::before, #site-header .menu-icon::after { box-sizing:border-box; display:block; width:20px; height:2px; padding:0; margin:0; border:0; border-radius:1px; background:#fff; transform:none; }
#site-header .menu-icon { position:relative; flex:0 0 20px; }
#site-header .menu-icon::before, #site-header .menu-icon::after { content:''; position:absolute; left:0; transform-origin:center; }
#site-header .menu-icon::before { top:-6px; }
#site-header .menu-icon::after { top:6px; }
@media(min-width:941px) and (max-width:1150px) {
 #site-header .nav-item { margin:0 8px; }
 #site-header .nav-link { font-size:12px; }
}
@media(max-width:940px) {
 #site-header .top-menu { justify-content:space-between; padding:0 16px; }
 body.site-menu-open { overflow:hidden; }
 #site-header .logo { max-width:44%; }
 #site-header .mobile-menu-block { display:flex; align-items:center; gap:12px; flex:0 0 auto; }
 #site-header .mobile-menu-block .nav-link { margin:0; padding:0; }
 #site-header .menu-toggle { display:inline-flex; position:relative; align-items:center; justify-content:center; flex:0 0 36px; width:36px; min-width:36px; height:36px; margin:0; padding:0; border:0; background:transparent; line-height:1; cursor:pointer; }
 #site-header .menu-toggle:focus-visible { outline:2px solid #79b7ff; outline-offset:2px; border-radius:4px; }
 #site-header .nav-list { display:none; position:fixed; top:48px; left:0; right:0; width:100%; max-width:100vw; height:calc(100dvh - 48px); max-height:calc(100dvh - 48px); margin:0; padding:20px; background:#161617; flex-direction:column; align-items:stretch; gap:8px; overflow-y:auto; overflow-x:hidden; opacity:1; transform:none; z-index:1101; transition:none; }
 #site-header[data-menu-open="true"] .nav-list { display:flex; opacity:1; transform:none; }
 #site-header .nav-list .nav-item { display:block; margin:0; padding:0; }
 #site-header .nav-list .cart-item { display:none; }
 #site-header .nav-list .nav-link { display:block; margin:0; padding:10px 8px; color:#fff; font-size:18px; line-height:1.4; white-space:normal; overflow-wrap:anywhere; }
 #site-header[data-menu-open="true"] .menu-icon { background:transparent; }
 #site-header[data-menu-open="true"] .menu-icon::before { top:0; transform:rotate(45deg); }
 #site-header[data-menu-open="true"] .menu-icon::after { top:0; transform:rotate(-45deg); }
}
