/* ==========================================================
   CHOCO BONTÉ – CATEGORIES v2
   Desktop: 5 karet v jednom řádku
   Mobil: horizontální swipe
========================================================== */

:root{
    --cbc-primary:#c70342;
    --cbc-text:#562631;
    --cbc-muted:#75686c;
    --cbc-bg:#ffffff;
    --cbc-radius:24px;
    --cbc-gap:20px;
}

.cb-categories{
    width:100%;
    padding:82px 0 72px;
    background:transparent;
    font-family:Montserrat,Arial,sans-serif;
}

.cb-categories__header{
    width:min(1380px,calc(100% - 128px));
    margin:0 auto 34px;
}

.cb-categories__heading{
    max-width:760px;
}

.cb-categories__title{
    position:relative;
    display:inline-block;
    margin:0 0 22px;
    color:#302529;
    font-size:clamp(31px,3vw,48px);
    line-height:1.08;
    font-weight:800;
    letter-spacing:-.035em;
}

.cb-categories__title::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-17px;
    width:100%;
    height:14px;
    background-repeat:no-repeat;
    background-position:left center;
    background-size:100% 100%;
    background-image:url("data:image/svg+xml,%3Csvg width='900' height='16' viewBox='0 0 900 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 10C55 1 105 15 158 8C211 1 263 15 316 8C369 1 421 15 474 8C527 1 579 15 632 8C685 1 737 15 790 8C832 3 866 11 897 6' fill='none' stroke='%23c70342' stroke-width='5.5' stroke-linecap='round'/%3E%3C/svg%3E");
}

.cb-categories__subtitle{
    max-width:620px;
    margin:0;
    color:var(--cbc-muted);
    font-size:16px;
    line-height:1.6;
    font-weight:500;
}

.cb-categories__list{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:var(--cbc-gap);
    width:min(1380px,calc(100% - 128px));
    margin:0 auto;
    padding:0;
    list-style:none;
}

.cb-categories__item{
    min-width:0;
}

.cb-categories__card{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    min-height:290px;
    padding:24px 22px 26px;
    border-radius:var(--cbc-radius);
    background:var(--cbc-bg);
    box-shadow:0 10px 30px rgba(73,31,44,.08);
    color:var(--cbc-text)!important;
    text-align:center;
    text-decoration:none!important;
    transition:
        transform .32s cubic-bezier(.22,.61,.36,1),
        box-shadow .32s ease;
}

.cb-categories__card:hover{
    transform:translateY(-4px);
    box-shadow:0 18px 40px rgba(73,31,44,.13);
}

.cb-categories__image-wrap{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:190px;
    margin-bottom:14px;
    overflow:hidden;
}

.cb-categories__image{
    display:block;
    max-width:100%;
    max-height:100%;
    width:auto;
    height:auto;
    object-fit:contain;
    object-position:center;
    user-select:none;
    -webkit-user-drag:none;
    transition:transform .45s cubic-bezier(.22,.61,.36,1);
}

.cb-categories__card:hover .cb-categories__image{
    transform:scale(1.045);
}

.cb-categories__name{
    margin:auto 0 0;
    color:var(--cbc-text);
    font-size:20px;
    line-height:1.3;
    font-weight:800;
    letter-spacing:-.015em;
    transition:color .25s ease;
}

.cb-categories__card:hover .cb-categories__name{
    color:var(--cbc-primary);
}

.cb-categories__card:focus-visible{
    outline:3px solid rgba(199,3,66,.28);
    outline-offset:3px;
}

/* notebook */
@media(max-width:1199px){
    .cb-categories__header,
    .cb-categories__list{
        width:calc(100% - 64px);
    }

    .cb-categories__card{
        min-height:270px;
        padding:22px 18px 24px;
    }

    .cb-categories__image-wrap{
        height:170px;
    }

    .cb-categories__name{
        font-size:18px;
    }
}

/* mobil / tablet: horizontální swipe */
@media(max-width:799px){
    .cb-categories{
        padding:54px 0 46px;
        overflow:hidden;
    }

    .cb-categories__header{
        width:calc(100% - 32px);
        margin-bottom:24px;
    }

    .cb-categories__title{
        font-size:30px;
    }

    .cb-categories__subtitle{
        font-size:14px;
    }

    .cb-categories__list{
        display:flex;
        gap:14px;
        width:100%;
        margin:0;
        padding:4px 16px 24px;
        overflow-x:auto;
        overflow-y:hidden;
        scroll-snap-type:x mandatory;
        scroll-padding-left:16px;
        scrollbar-width:none;
        -webkit-overflow-scrolling:touch;
        overscroll-behavior-x:contain;
    }

    .cb-categories__list::-webkit-scrollbar{
        display:none;
    }

    .cb-categories__item{
        flex:0 0 72%;
        max-width:280px;
        scroll-snap-align:start;
    }

    .cb-categories__card{
        min-height:270px;
        padding:20px 18px 22px;
        border-radius:22px;
    }

    .cb-categories__image-wrap{
        height:175px;
        margin-bottom:12px;
    }

    .cb-categories__name{
        font-size:18px;
    }
}

@media(max-width:420px){
    .cb-categories__item{
        flex-basis:78%;
    }
}

@media(prefers-reduced-motion:reduce){
    .cb-categories__card,
    .cb-categories__image,
    .cb-categories__name{
        transition:none;
    }
}
