
.tpe-category-cards {
    width: 100%;
}
.tpe-category-cards__grid {
    display: grid;
    width: 100%;
}
.tpe-category-card {
    position: relative;
    min-width: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    color: inherit;
    text-decoration: none;
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.tpe-category-card:hover,
.tpe-category-card:focus {
    color: inherit;
    text-decoration: none;
}
.tpe-category-card__media {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.tpe-category-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-position: center;
}
.tpe-category-card__placeholder {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    color: #8b96a3;
    background: #f4f6f8;
    font-size: 36px;
}
.tpe-category-card__bottom {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 10px;
    min-width: 0;
}
.tpe-category-card__copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1 1 auto;
}
.tpe-category-card__title,
.tpe-category-card__subtitle {
    display: block;
    margin: 0;
    padding: 0;
}
.tpe-category-card__title {
    font-size: 17px;
    line-height: 1.05;
    font-weight: 800;
    text-transform: uppercase;
}
.tpe-category-card__subtitle {
    font-size: 12px;
    line-height: 1.35;
}
.tpe-category-card__arrow {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    line-height: 1;
    font-weight: 700;
    transition: background-color .2s ease, transform .2s ease;
}
.tpe-category-card:hover .tpe-category-card__arrow {
    transform: translateX(2px);
}
.tpe-category-cards__empty {
    padding: 18px;
    border: 1px dashed #cfd6df;
    border-radius: 6px;
    background: #fafbfc;
    color: #66717f;
    font-size: 14px;
}
@media (max-width: 767px) {
    .tpe-category-card__title { font-size: 15px; }
    .tpe-category-card__subtitle { font-size: 11px; }
}


/* Product Category Cards - Slider layout */
.tpe-category-cards--slider { width:100%; position:relative; }
.tpe-category-cards__slider { position:relative; width:100%; }
.tpe-category-cards__viewport { width:100%; overflow:hidden; }
.tpe-category-cards__track {
    display:flex;
    flex-wrap:nowrap;
    width:100%;
    align-items:stretch;
    will-change:transform;
    transition-property:transform;
    transition-timing-function:cubic-bezier(.22,.61,.36,1);
}
.tpe-category-cards--slider .tpe-category-card { flex:0 0 auto; max-width:none; }
.tpe-category-cards__nav {
    position:absolute;
    top:50%;
    z-index:5;
    transform:translateY(-50%);
    border:0;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    font-size:26px;
    line-height:1;
    box-shadow:0 4px 15px rgba(0,0,0,.14);
    transition:background-color .2s ease, opacity .2s ease, transform .2s ease;
}
.tpe-category-cards__nav--prev { left:-18px; }
.tpe-category-cards__nav--next { right:-18px; }
.tpe-category-cards__nav:hover { transform:translateY(-50%) scale(1.04); }
.tpe-category-cards__nav:disabled { opacity:.3; cursor:default; }
.tpe-category-cards__dots { display:flex; align-items:center; justify-content:center; gap:7px; margin-top:14px; }
.tpe-category-cards__dot { width:8px; height:8px; border:0; padding:0; border-radius:999px; cursor:pointer; transition:width .2s ease, background-color .2s ease; }
.tpe-category-cards__dot.is-active { width:22px; }
.tpe-category-cards--no-swipe .tpe-category-cards__viewport { touch-action:pan-y; }
@media (max-width:767px) {
    .tpe-category-cards__nav--prev { left:4px; }
    .tpe-category-cards__nav--next { right:4px; }
}
