/* Seven defaults keep the supplied grid; other counts use the same card dimensions. */
.homely-property-types__list {
    grid-template-columns: repeat(var(--homely-type-count, 7), minmax(110px, 1fr));
}

.homely-property-type-card:focus-visible {
    outline: 2px solid var(--homely-primary);
    outline-offset: -2px;
}

.homely-property-type-card__icon[data-type-media] {
    position: relative;
}

[data-type-media] [hidden] { display: none !important; }

[data-type-image] {
    position: relative;
    z-index: 1;
    display: block;
    width: 46px;
    height: 46px;
    object-fit: contain;
}

.homely-type-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
}

.homely-type-skeleton {
    position: absolute;
    inset: 1px;
    overflow: hidden;
    border-radius: 8px;
    background: #edf1f5;
    pointer-events: none;
}

.homely-type-skeleton::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .8), transparent);
    transform: translateX(-100%);
    animation: homelyTypeShimmer 1.25s linear infinite;
}

@keyframes homelyTypeShimmer {
    to { transform: translateX(100%); }
}

@media (max-width: 991.98px) {
    .homely-property-types__list {
        grid-template-columns: repeat(var(--homely-type-count, 7), 120px);
    }
}

@media (max-width: 767.98px) {
    .homely-property-types__list {
        grid-template-columns: repeat(var(--homely-type-count, 7), 108px);
    }
    [data-type-image] { width: 41px; height: 41px; }
}

@media (max-width: 399.98px) {
    .homely-property-types__list {
        grid-template-columns: repeat(var(--homely-type-count, 7), 101px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .homely-type-skeleton::after { animation: none; }
}
