footer.nostock-footer {
    display: block;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--px, var(--page-padding, 80px)) 32px;
    color: #1a1a1a;
}
.nostock-family { border-top: 1px solid #d8d6d0; padding: 52px 0 54px; }
.nostock-family h2 {
    margin: 0 0 34px;
    font-size: clamp(25px, 2.6vw, 32px);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -.035em;
}
.nostock-products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
.nostock-product { display: grid; grid-template-columns: 64px minmax(0, 1fr); align-items: center; gap: 20px; color: inherit; text-decoration: none; }
.nostock-product-icon { display: block; width: 64px; height: 64px; object-fit: contain; }
.nostock-product-copy { min-width: 0; max-width: 300px; }
.nostock-product-name { display: flex; align-items: baseline; gap: 10px; font-size: 17px; font-weight: 500; line-height: 1.4; }
.nostock-product-name > span { color: #8d8a82; font-size: 16px; font-weight: 400; transition: color 160ms ease, transform 160ms ease; }
.nostock-product p { margin: 7px 0 0; color: #706d65; font-size: 14px; font-weight: 400; line-height: 1.65; }
.nostock-product:hover .nostock-product-name { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.nostock-product:hover .nostock-product-name > span { color: #1a1a1a; transform: translate(2px, -2px); }
.nostock-footer-bottom { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; border-top: 1px solid #d8d6d0; padding-top: 24px; color: #706d65; font-size: 12px; line-height: 1.6; }
.nostock-footer-bottom p { margin: 0; }
.nostock-legal { display: flex; flex-wrap: wrap; gap: 28px; }
.nostock-legal a { color: inherit; text-decoration: none; }
.nostock-legal a:hover { color: #1a1a1a; text-decoration: underline; text-underline-offset: 4px; }
.nostock-footer a:focus-visible { outline: 2px solid #1a1a1a; outline-offset: 7px; border-radius: 2px; }
@media (max-width: 700px) {
    .nostock-products { grid-template-columns: minmax(0, 1fr); gap: 28px; }
}
@media (max-width: 560px) {
    .nostock-family { padding-top: 36px; padding-bottom: 36px; }
    .nostock-family h2 { max-width: 270px; margin-bottom: 30px; }
    .nostock-product { grid-template-columns: 56px minmax(0, 1fr); gap: 16px; }
    .nostock-product-icon { width: 56px; height: 56px; }
    .nostock-product-name { font-size: 16px; }
    .nostock-product p { font-size: 13px; }
    .nostock-footer-bottom { flex-direction: column; gap: 18px; }
}
@media (prefers-reduced-motion: reduce) {
    .nostock-product-name > span { transition: none; }
}
