/* Общее меню сайта (components/SiteMenu.astro, SiteMenuButton.astro, js/site-menu.js). Самодостаточные стили. */
.sm-btn { --c: #100F0C; --b: rgba(16,15,12,.18); display: inline-flex; align-items: center; gap: 10px; height: 40px; padding: 0 16px; border: 1px solid var(--b); border-radius: 99px; background: transparent; color: var(--c); font: 700 .7rem/1 'Barlow', sans-serif; letter-spacing: .18em; text-transform: uppercase; cursor: pointer; pointer-events: all; transition: background .2s, color .2s, border-color .2s; }
.sm-btn--dark { --c: #fff; --b: rgba(255,255,255,.3); background: rgba(8,8,8,.45); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.sm-btn:hover { background: #D43C20; border-color: #D43C20; color: #fff; }
.sm-btn__lines { display: grid; gap: 4px; } .sm-btn__lines i { display: block; width: 16px; height: 2px; background: currentColor; border-radius: 1px; }
.sm-btn__lines i:last-child { width: 10px; justify-self: end; transition: width .2s; } .sm-btn:hover .sm-btn__lines i:last-child { width: 16px; }
.sm-btn--fixed { position: fixed; top: 18px; right: 18px; z-index: 900; }

.sm { position: fixed; inset: 0; z-index: 1900; font-family: 'Barlow', sans-serif; }
.sm[hidden] { display: none; }
.sm__backdrop { position: absolute; inset: 0; background: rgba(8,8,8,.55); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); animation: sm-fade .3s ease; }
.sm__panel { position: absolute; z-index: 1; top: 0; right: 0; bottom: 0; width: min(440px, 100%); background: #fff; color: #100F0C; display: flex; flex-direction: column; padding: 22px 28px 26px; overflow-y: auto; box-shadow: -30px 0 80px rgba(0,0,0,.25); animation: sm-in .4s cubic-bezier(.2,.9,.25,1); cursor: auto; }
.sm__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 26px; }
.sm__logo { font-family: 'Barlow Condensed', sans-serif; font-weight: 900; font-size: 1.25rem; letter-spacing: .05em; text-transform: uppercase; text-decoration: none; color: inherit; }
.sm__close { width: 40px; height: 40px; border-radius: 50%; border: 0; background: #F2F2F2; font-size: 1.5rem; line-height: 1; cursor: pointer; color: inherit; transition: background .2s, color .2s; }
.sm__close:hover { background: #D43C20; color: #fff; }
.sm__nav { display: flex; flex-direction: column; }
/* Переключатель языков */
.sm__langs { display: flex; gap: 6px; margin: -8px 0 18px; padding: 4px; border-radius: 99px; background: #F2F2F2; align-self: flex-start; }
.sm__lang { min-width: 46px; padding: 8px 12px; border-radius: 99px; text-align: center; font-weight: 700; font-size: .78rem; letter-spacing: .12em; color: #6E6A63; text-decoration: none; transition: background .2s, color .2s; }
.sm__lang:hover { color: #100F0C; background: #fff; }
.sm__lang.is-cur { background: #100F0C; color: #fff; }
.sm__link { display: flex; align-items: center; gap: 16px; padding: 14px 4px; border-bottom: 1px solid rgba(16,15,12,.08); text-decoration: none; color: inherit; animation: sm-item .45s cubic-bezier(.2,.9,.25,1) both; animation-delay: calc(var(--i) * 45ms + 80ms); transition: padding-left .25s; }
.sm__link:hover { padding-left: 12px; }
.sm__n { font-weight: 700; font-size: .75rem; color: #D43C20; width: 22px; }
.sm__t { display: flex; flex-direction: column; }
.sm__t b { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 1.7rem; line-height: 1.05; transition: color .2s; }
.sm__t small { font-size: .82rem; color: #6E6A63; }
.sm__link:hover b, .sm__link.is-cur b { color: #D43C20; }
.sm__link.is-cur .sm__t small::after { content: ' · ' attr(data-here); color: #D43C20; }
.sm__blog { margin-top: 24px; display: flex; flex-direction: column; gap: 8px; }
.sm__label { font-size: .64rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: #6E6A63; margin-bottom: 2px; }
.sm__blog a { font-size: .92rem; font-weight: 600; color: inherit; text-decoration: none; line-height: 1.35; }
.sm__blog a:hover { color: #D43C20; }
.sm__foot { margin-top: auto; padding-top: 26px; display: flex; flex-direction: column; gap: 10px; }
.sm__cta { display: flex; justify-content: center; padding: 15px 20px; border-radius: 8px; background: #D43C20; color: #fff; text-decoration: none; font-weight: 700; transition: background .2s; }
.sm__cta:hover { background: #100F0C; }
.sm__foot span { font-size: .78rem; color: #6E6A63; text-align: center; }
html.sm-open { overflow: hidden; }
@keyframes sm-fade { from { opacity: 0; } }
@keyframes sm-in { from { transform: translateX(100%); } }
@keyframes sm-item { from { opacity: 0; transform: translateX(24px); } }
@media (max-width: 640px) { .sm-btn { height: 38px; padding: 0 13px; } .sm-btn--fixed { top: 14px; right: 14px; } .sm__panel { padding: 18px 20px 22px; } .sm__t b { font-size: 1.5rem; } }
@media (prefers-reduced-motion: reduce) { .sm__backdrop, .sm__panel, .sm__link { animation: none; } }
.sm__legal { font-size: .78rem; color: #6E6A63; text-align: center; } .sm__legal a { color: inherit; }
