.featured-product-categories {
    padding: 34px 0;
}

.featured-product-categories__head {
    margin-bottom: 34px;
}

.featured-product-categories__head h2 {
    color: var(--web-title-text, var(--winora-ink, #0f172a));
}

.featured-product-categories__content {
    margin: -4px auto 22px;
    max-width: 800px;
    text-align: center;
}

.featured-product-categories__grid {
    display: grid;
    grid-template-columns: repeat(var(--featured-category-large-cols), minmax(0, 1fr));
    align-items: start;
    gap: 9px;
}

.featured-product-categories__item {
    position: relative;
    display: block;
    overflow: hidden;
    background: #173424;
    color: #fff;
    isolation: isolate;
    align-self: start;
    box-shadow: 0 8px 20px rgba(12, 45, 26, .16);
    transform: translateY(0);
    transition: box-shadow .3s ease, transform .3s ease;
}

.featured-product-categories__item img {
    display: block;
    width: 100%;
    transition: transform .6s cubic-bezier(.2, .7, .2, 1), filter .45s ease;
    will-change: transform;
}

.featured-product-categories__placeholder {
    display: grid;
    min-height: 260px;
    place-items: center;
    color: rgba(255, 255, 255, .65);
    font-size: 32px;
}

.featured-product-categories__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(0, 0, 0, .03) 20%, rgba(0, 0, 0, .74) 100%);
    transition: background .35s ease;
}

.featured-product-categories__body {
    position: absolute;
    z-index: 2;
    right: 12px;
    bottom: 14px;
    left: 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
    text-shadow: 0 1px 3px rgba(0, 0, 0, .7);
    transform: translateY(5px);
    transition: transform .32s ease;
}

.featured-product-categories__body strong {
    font-size: 15px;
    line-height: 1.35;
}

.featured-product-categories__body span {
    padding: 4px 10px;
    border: 1px solid rgba(255, 255, 255, .9);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    transition: background-color .25s ease, border-color .25s ease, color .25s ease, transform .25s ease;
}

.featured-product-categories__item::before {
    position: absolute;
    z-index: 3;
    top: 10px;
    right: 10px;
    bottom: 10px;
    left: 10px;
    border: 1px solid rgba(255, 255, 255, 0);
    content: '';
    pointer-events: none;
    transition: border-color .35s ease;
}

@media (hover: hover) and (pointer: fine) {
    .featured-product-categories__item:hover {
        box-shadow: 0 16px 32px rgba(12, 45, 26, .28);
        transform: translateY(-5px);
    }

    .featured-product-categories__item:hover img {
        filter: saturate(1.12);
        transform: scale(1.1);
    }

    .featured-product-categories__item:hover .featured-product-categories__overlay {
        background: linear-gradient(180deg, rgba(0, 71, 32, .05) 16%, rgba(0, 45, 18, .82) 100%);
    }

    .featured-product-categories__item:hover .featured-product-categories__body {
        transform: translateY(0);
    }

    .featured-product-categories__item:hover .featured-product-categories__body span {
        border-color: #fff;
        background: #fff;
        color: #08772e;
        transform: translateY(-1px);
    }

    .featured-product-categories__item:hover::before {
        border-color: rgba(255, 255, 255, .65);
    }
}

@media (max-width: 1199px) {
    .featured-product-categories__grid {
        grid-template-columns: repeat(var(--featured-category-desktop-cols), minmax(0, 1fr));
    }
}

@media (max-width: 991px) {
    .featured-product-categories__grid {
        grid-template-columns: repeat(var(--featured-category-tablet-cols), minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .featured-product-categories__grid {
        grid-template-columns: repeat(var(--featured-category-mobile-cols), minmax(0, 1fr));
    }

    .featured-product-categories__placeholder {
        min-height: 220px;
    }
}

@media (max-width: 374px) {
    .featured-product-categories__grid {
        grid-template-columns: repeat(var(--featured-category-xs-cols), minmax(0, 1fr));
    }
}

/* Category templates share markup, links and responsive column settings. */
:is(.featured-product-categories--clean,.featured-product-categories--round,.featured-product-categories--horizontal) .featured-product-categories__grid { gap:20px; align-items:stretch; }
:is(.featured-product-categories--clean,.featured-product-categories--round,.featured-product-categories--horizontal) .featured-product-categories__item { height:100%; box-sizing:border-box; border:1px solid #e6e9ee; border-radius:16px; background:#fff; color:var(--web-body-text,#243247); text-decoration:none; box-shadow:0 4px 16px #182b4510; }
:is(.featured-product-categories--clean,.featured-product-categories--round,.featured-product-categories--horizontal) .featured-product-categories__overlay,
:is(.featured-product-categories--clean,.featured-product-categories--round,.featured-product-categories--horizontal) .featured-product-categories__item::before { display:none; }
:is(.featured-product-categories--clean,.featured-product-categories--round,.featured-product-categories--horizontal) .featured-product-categories__item img { aspect-ratio:4/3; object-fit:contain; background:#f7f9fb; }
:is(.featured-product-categories--clean,.featured-product-categories--round,.featured-product-categories--horizontal) .featured-product-categories__placeholder { min-height:0; aspect-ratio:4/3; background:#f2f5f8; color:#94a3b8; }
:is(.featured-product-categories--clean,.featured-product-categories--round,.featured-product-categories--horizontal) .featured-product-categories__body { position:static; padding:20px; text-shadow:none; transform:none; gap:12px; }
:is(.featured-product-categories--clean,.featured-product-categories--round,.featured-product-categories--horizontal) .featured-product-categories__body strong { font-family:var(--web-card-title-font-family,inherit); font-size:var(--web-card-title-font-size,18px); color:var(--web-title-text,#243247); }
:is(.featured-product-categories--clean,.featured-product-categories--round,.featured-product-categories--horizontal) .featured-product-categories__body span { color:var(--web-main-color,#d71920); border:0; padding:0; background:transparent; font-size:11px; text-transform:none; }
.featured-product-categories--round .featured-product-categories__item { border:0; box-shadow:none; padding:18px; text-align:center; }
.featured-product-categories--round .featured-product-categories__item img,
.featured-product-categories--round .featured-product-categories__placeholder { width:76%; margin:0 auto; border-radius:50%; aspect-ratio:1; border:1px solid #e6e9ee; }
.featured-product-categories--horizontal .featured-product-categories__item { display:grid; grid-template-columns:40% minmax(0,1fr); align-items:center; }
.featured-product-categories--horizontal .featured-product-categories__item img,
.featured-product-categories--horizontal .featured-product-categories__placeholder { height:100%; min-height:160px; aspect-ratio:1; }
.featured-product-categories--horizontal .featured-product-categories__body { padding:18px; align-items:flex-start; text-align:left; }
.featured-product-categories__item:focus-visible { outline:3px solid var(--web-main-color,#d71920); outline-offset:3px; }
@media(max-width:767px){:is(.featured-product-categories--clean,.featured-product-categories--round,.featured-product-categories--horizontal) .featured-product-categories__grid{gap:12px}:is(.featured-product-categories--clean,.featured-product-categories--round,.featured-product-categories--horizontal) .featured-product-categories__body{padding:14px}.featured-product-categories--horizontal .featured-product-categories__item{grid-template-columns:1fr}.featured-product-categories--horizontal .featured-product-categories__item img{min-height:0;height:auto;aspect-ratio:4/3}:is(.featured-product-categories--clean,.featured-product-categories--round,.featured-product-categories--horizontal) .featured-product-categories__body strong{font-size:var(--web-card-title-mobile-font-size,16px)}}
@media(prefers-reduced-motion:reduce){.featured-product-categories__item,.featured-product-categories__item img,.featured-product-categories__body{transition:none;transform:none!important}}
