/* Пропорции картинок с атрибутами width/height. Файл подключён на всех
   страницах витрины, поэтому правило работает и там, где нет styles.css.
   :where() держит нулевую специфичность: намеренно заданная высота выигрывает. */
:where(img[width][height]){height:auto}

/* Подвал витрины. Раньше стили жили внутри partials/footer.js и приезжали
   только после выполнения скрипта — поисковый робот и читатель без JS видели
   страницу без подвала и без единой ссылки на разделы сайта. Теперь разметка
   статична (partials/footer.html), а стили лежат здесь отдельным файлом. */

footer.nm-footer{background:#241E17;padding:48px 0 0;margin-top:0;border-top:none;font-family:Manrope,system-ui,sans-serif;color:#F5EDE0}
footer.nm-footer .f-wrap{max-width:1200px;margin:0 auto;padding:0 28px}
footer.nm-footer .f-grid{display:grid;grid-template-columns:1.7fr 1fr 1.15fr 1fr 1fr;gap:34px}
footer.nm-footer .f-brand .f-logo{display:flex;align-items:center;gap:10px;font-family:Unbounded,sans-serif;font-weight:700;font-size:17px;margin-bottom:12px;color:#F5EDE0}
footer.nm-footer .f-brand .f-mark{width:36px;height:36px;border-radius:10px;overflow:hidden;background:linear-gradient(160deg,#FFE6C5,#F3B880);display:grid;place-items:center}
footer.nm-footer .f-brand .f-mark img{width:30px;height:30px;object-fit:contain}
footer.nm-footer .f-brand p{font-size:.88rem;color:#B8AFA3;line-height:1.6;max-width:300px;margin:0}
footer.nm-footer .f-socials{display:flex;gap:8px;margin-top:16px}
footer.nm-footer .f-socials a{width:36px;height:36px;border-radius:10px;border:1px solid rgba(245,237,224,.14);color:#B8AFA3;display:grid;place-items:center;transition:color .15s ease,border-color .15s ease,transform .2s ease}
footer.nm-footer .f-socials a:hover{color:#DF995B;border-color:rgba(223,153,91,.55);transform:translateY(-2px)}
footer.nm-footer .f-socials svg{width:17px;height:17px}
footer.nm-footer .f-col{display:flex;flex-direction:column;gap:8px}
footer.nm-footer .f-col h5{font-family:Unbounded,sans-serif;font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#F5EDE0;margin:0 0 4px}
footer.nm-footer .f-col a{font-size:.88rem;color:#B8AFA3;text-decoration:none;transition:color .15s ease}
footer.nm-footer .f-col a:hover{color:#DF995B}
footer.nm-footer .f-bottom{padding:24px 0;margin-top:40px;border-top:1px solid rgba(245,237,224,.1);font-size:.82rem;color:#8A8078}
footer.nm-footer .f-req{font-size:.8rem;color:#8A8078;line-height:1.55;margin-bottom:12px}
footer.nm-footer .f-req a{color:#B8AFA3;text-decoration:none}
footer.nm-footer .f-req a:hover{color:#DF995B}
footer.nm-footer .f-bottom-row{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
@media(max-width:1000px){
  footer.nm-footer .f-grid{grid-template-columns:1fr 1fr 1fr;gap:28px}
  footer.nm-footer .f-brand{grid-column:1/-1}
}
@media(max-width:760px){
  footer.nm-footer .f-grid{grid-template-columns:1fr 1fr;gap:28px}
  footer.nm-footer .f-brand{grid-column:1/-1}
  footer.nm-footer .f-bottom{text-align:center}
  footer.nm-footer .f-bottom-row{flex-direction:column;gap:8px;text-align:center}
}
@media(max-width:420px){footer.nm-footer .f-grid{grid-template-columns:1fr}}
