.vso-product-categories { width: 100%; padding-block: 24px 36px; }
.vso-product-categories * { box-sizing: border-box; }
.vso-product-categories__heading { display: flex; align-items: center; gap: 18px; margin: 0 0 30px; color: #005a94; font-size: 24px; font-weight: 700; line-height: 1.3; }
.vso-product-categories__heading::after { content: ""; flex: 1; height: 1px; background: #d6e0e7; }
.vso-product-categories__heading > span { flex: 0 1 auto; }
.vso-product-categories__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; margin: 0; padding: 0; list-style: none; }
.vso-product-categories__card { display: flex; flex-direction: column; align-items: center; gap: 14px; height: 100%; padding: 8px 15px 12px; color: #142234; text-align: center; text-decoration: none; border-radius: 8px; }
.vso-product-categories__visual { display: flex; align-items: center; justify-content: center; width: 100%; height: 175px; }
.vso-product-categories .vso-product-categories__image { display: block; width: 100%; max-width: 220px; height: 165px; object-fit: contain; transition: transform .2s ease; }
.vso-product-categories__name { color: #142234; font-size: 18px; line-height: 1.4; font-weight: 600; }
.vso-product-categories__card:hover { color: #005a94; }
.vso-product-categories__card:hover .vso-product-categories__image { transform: translateY(-4px); }
.vso-product-categories__card:hover .vso-product-categories__name { color: #005a94; }
.vso-product-categories__card:focus-visible { outline: 3px solid #005a94; outline-offset: 3px; }
@media (max-width: 767px) {
    .vso-product-categories__grid { gap: 16px; }
    .vso-product-categories__visual { height: 140px; }
    .vso-product-categories .vso-product-categories__image { height: 130px; }
    .vso-product-categories__card { padding-inline: 0; }
    .vso-product-categories__name { font-size: 16px; }
}
@media (max-width: 479px) {
    .vso-product-categories__grid { grid-template-columns: 1fr; gap: 24px; }
    .vso-product-categories__heading { font-size: 22px; gap: 12px; margin-bottom: 20px; }
    .vso-product-categories__visual { height: 170px; }
    .vso-product-categories .vso-product-categories__image { height: 160px; }
}
@media (prefers-reduced-motion: reduce) {
    .vso-product-categories .vso-product-categories__image { transition: none; }
}
