/* Readable text and an intentional contact hierarchy on the dark footer. */
.footer-brand p,.footer-links a,.footer-contact li { color:#d4e2f0; font-size:16px; line-height:1.7; }
.footer-links h4,.footer-contact h4 { font-size:18px; color:#fff; margin-bottom:18px; }
.footer-contact a { color:#fff; font-weight:600; font-size:16px; overflow-wrap:anywhere; }
.footer-contact a[href^="tel:"] { font-size:21px; letter-spacing:.01em; font-weight:700; }
.footer-contact a[href^="mailto:"] { text-decoration:underline; text-underline-offset:4px; }
.footer-contact li { align-items:flex-start; }
.footer-links a,.footer-contact a { display:inline-flex; min-height:44px; align-items:center; }
.footer-links ul,.footer-contact ul { gap:2px; }
.footer-bottom p { color:#bacde0; font-size:14px; }
.footer-bottom a,.company-identity { color:#d4e2f0; }
.footer-grid { grid-template-columns:1.45fr 1fr 1fr 1.4fr; gap:32px; }
/* Stable whole-machine covers; detail views stay in product galleries. */
.cat-product-img { aspect-ratio:1/1; background:#fff; border-bottom:1px solid #e2e8f0; }
.cat-product-img img { object-fit:contain; padding:22px; }
.cat-product-card { border:1px solid #dbe5f0; overflow:hidden; }
.product-view-label { position:absolute; left:12px; bottom:12px; z-index:1; font-size:12px; color:#334155; background:#fffffff0; border:1px solid #dbe5f0; border-radius:4px; padding:4px 8px; }
.cat-product-body h3 { line-height:1.4; }
@media(max-width:1024px) { .footer-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:600px) { .footer-grid { grid-template-columns:1fr; gap:30px; }.footer-brand p { max-width:100%; }.cat-product-img img { padding:18px; } }
