/* ==========================================================
   CHOCO BONTÉ – BLOG / SLADKÉ ZPRÁVY v1
   Desktop: 3 magazínové karty
   Mobil: horizontální swipe
========================================================== */

:root{
    --cbl-primary:#c70342;
    --cbl-primary-dark:#a50237;
    --cbl-text:#302529;
    --cbl-muted:#75686c;
    --cbl-card:#ffffff;
    --cbl-border:rgba(199,3,66,.09);
    --cbl-radius:24px;
    --cbl-gap:22px;
}

.cb-blog{
    width:100%;
    padding:88px 0 82px;
    overflow:hidden;
    background:transparent;
    font-family:Montserrat,Arial,sans-serif;
}

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

.cb-blog__header{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:32px;
    margin-bottom:34px;
}

.cb-blog__heading{
    max-width:850px;
}

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

.cb-blog__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='1200' height='16' viewBox='0 0 1200 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 10C73 1 140 15 211 8C282 1 352 15 423 8C494 1 564 15 635 8C706 1 776 15 847 8C918 1 988 15 1059 8C1114 3 1158 11 1197 6' fill='none' stroke='%23c70342' stroke-width='5.5' stroke-linecap='round'/%3E%3C/svg%3E");
}

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

.cb-blog__all{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    flex:0 0 auto;
    min-height:46px;
    padding:11px 20px;
    border:1px solid var(--cbl-primary);
    border-radius:999px;
    background:transparent;
    color:var(--cbl-primary)!important;
    text-decoration:none!important;
    font-size:13px;
    line-height:1;
    font-weight:800;
    transition:transform .2s ease,background .2s ease,color .2s ease;
}

.cb-blog__all::after{
    content:"→";
    transition:transform .2s ease;
}

.cb-blog__all:hover{
    transform:translateY(-2px);
    background:var(--cbl-primary);
    color:#fff!important;
}

.cb-blog__all:hover::after{
    transform:translateX(4px);
}

.cb-blog__list{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:var(--cbl-gap);
    margin:0;
    padding:0;
    list-style:none;
}

.cb-blog__card{
    display:flex;
    flex-direction:column;
    min-width:0;
    overflow:hidden;
    border:1px solid var(--cbl-border);
    border-radius:var(--cbl-radius);
    background:var(--cbl-card);
    box-shadow:0 10px 30px rgba(73,31,44,.07);
    transition:
        transform .32s cubic-bezier(.22,.61,.36,1),
        box-shadow .32s ease,
        border-color .32s ease;
}

.cb-blog__card:hover{
    transform:translateY(-5px);
    border-color:rgba(199,3,66,.20);
    box-shadow:0 18px 42px rgba(73,31,44,.12);
}

.cb-blog__image-link{
    position:relative;
    display:block;
    aspect-ratio:16 / 10;
    overflow:hidden;
    background:#f4eff1;
    text-decoration:none!important;
}

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

.cb-blog__card:hover .cb-blog__image{
    transform:scale(1.04);
}

.cb-blog__date{
    position:absolute;
    left:16px;
    bottom:16px;
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:6px 10px;
    border-radius:999px;
    background:rgba(255,255,255,.94);
    color:var(--cbl-primary);
    box-shadow:0 5px 16px rgba(73,31,44,.10);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    font-size:11px;
    line-height:1;
    font-weight:800;
}

.cb-blog__content{
    display:flex;
    flex:1 1 auto;
    flex-direction:column;
    padding:24px 23px 24px;
}

.cb-blog__name{
    margin:0 0 13px;
    color:var(--cbl-text);
    font-size:21px;
    line-height:1.3;
    font-weight:800;
    letter-spacing:-.02em;
}

.cb-blog__name a{
    color:inherit!important;
    text-decoration:none!important;
}

.cb-blog__name a:hover{
    color:var(--cbl-primary)!important;
}

.cb-blog__excerpt{
    display:-webkit-box;
    overflow:hidden;
    margin:0 0 24px;
    color:var(--cbl-muted);
    font-size:14px;
    line-height:1.62;
    font-weight:500;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
}

.cb-blog__read{
    display:inline-flex;
    align-items:center;
    gap:7px;
    width:max-content;
    margin-top:auto;
    color:var(--cbl-primary)!important;
    text-decoration:none!important;
    font-size:13px;
    line-height:1;
    font-weight:800;
}

.cb-blog__read::after{
    content:"→";
    transition:transform .2s ease;
}

.cb-blog__read:hover::after{
    transform:translateX(4px);
}

.cb-blog__status{
    grid-column:1 / -1;
    padding:30px;
    border-radius:22px;
    background:#fff;
    color:var(--cbl-muted);
    text-align:center;
    font-size:14px;
    font-weight:700;
}

.cb-blog__card--loading{
    min-height:480px;
}

.cb-blog__skeleton{
    background:
        linear-gradient(
            90deg,
            rgba(86,38,49,.045) 25%,
            rgba(86,38,49,.085) 50%,
            rgba(86,38,49,.045) 75%
        );
    background-size:200% 100%;
    animation:cbBlogLoading 1.25s infinite linear;
}

.cb-blog__skeleton-image{
    aspect-ratio:16 / 10;
}

.cb-blog__skeleton-line{
    height:16px;
    margin:24px 22px 0;
    border-radius:999px;
}

.cb-blog__skeleton-line--short{
    width:55%;
}

@keyframes cbBlogLoading{
    from{background-position:200% 0}
    to{background-position:-200% 0}
}

@media(max-width:1050px){
    .cb-blog__inner{
        width:calc(100% - 48px);
    }

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

@media(max-width:799px){
    .cb-blog{
        padding:56px 0 60px;
    }

    .cb-blog__inner{
        width:100%;
    }

    .cb-blog__header{
        display:block;
        width:calc(100% - 32px);
        margin:0 auto 24px;
    }

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

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

    .cb-blog__all{
        margin-top:20px;
    }

    .cb-blog__list{
        display:flex;
        gap:14px;
        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-blog__list::-webkit-scrollbar{
        display:none;
    }

    .cb-blog__card{
        flex:0 0 84%;
        max-width:340px;
        border-radius:22px;
        scroll-snap-align:start;
    }

    .cb-blog__content{
        padding:21px 19px 22px;
    }

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

    .cb-blog__excerpt{
        font-size:13px;
    }
}

@media(prefers-reduced-motion:reduce){
    .cb-blog__card,
    .cb-blog__image,
    .cb-blog__all,
    .cb-blog__read{
        transition:none;
    }

    .cb-blog__skeleton{
        animation:none;
    }
}
