/* ==========================================================
   CHOCO BONTÉ – DÁRKY, KTERÉ UDĚLAJÍ RADOST v1
   Desktop: Apple-like carousel pouze se šipkami
   Mobil: nativní swipe bez šipek
========================================================== */

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

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

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

.cb-gifts__heading{
    max-width:900px;
}

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

.cb-gifts__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='1100' height='16' viewBox='0 0 1100 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 10C66 1 126 15 190 8C254 1 317 15 381 8C445 1 508 15 572 8C636 1 699 15 763 8C827 1 890 15 954 8C1005 3 1047 11 1097 6' fill='none' stroke='%23c70342' stroke-width='5.5' stroke-linecap='round'/%3E%3C/svg%3E");
}

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

.cb-gifts__carousel{
    position:relative;
    width:100%;
}

.cb-gifts__nav{
    position:absolute;
    inset:0;
    z-index:6;
    pointer-events:none;
}

.cb-gifts__button{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:52px;
    height:52px;
    padding:0;
    border:0;
    border-radius:50%;
    background:rgba(232,232,237,.94);
    color:#56565b;
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    cursor:pointer;
    pointer-events:auto;
    transition:background .2s ease,color .2s ease,opacity .2s ease,transform .2s ease;
}

.cb-gifts__button--prev{left:28px;}
.cb-gifts__button--next{right:28px;}

.cb-gifts__button:hover:not(:disabled){
    background:#dedee3;
    color:#222;
    transform:translateY(-50%) scale(1.04);
}

.cb-gifts__button:disabled{
    opacity:0;
    pointer-events:none;
}

.cb-gifts__button svg{
    width:24px;
    height:24px;
    fill:none;
    stroke:currentColor;
    stroke-width:2.2;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.cb-gifts__viewport{
    position:relative;
    width:100%;
    overflow:hidden;
}

.cb-gifts__track{
    display:flex;
    gap:var(--cbg-gap);
    margin:0;
    padding:8px max(72px,calc((100vw - 1380px) / 2)) 34px;
    overflow-x:auto;
    overflow-y:hidden;
    list-style:none;
    scroll-snap-type:none;
    scroll-behavior:smooth;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
    touch-action:auto;
}

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

.cb-gifts__progress{
    position:relative;
    width:110px;
    height:4px;
    margin:0 auto;
    overflow:hidden;
    border-radius:999px;
    background:rgba(86,38,49,.10);
}

.cb-gifts__progress-bar{
    position:absolute;
    top:0;
    left:0;
    width:35%;
    height:100%;
    border-radius:inherit;
    background:var(--cbg-primary);
    transform:translateX(0);
    transition:transform .2s ease;
}

.cb-gifts__card{
    position:relative;
    flex:0 0 clamp(270px,22vw,330px);
    overflow:hidden;
    scroll-snap-align:start;
    border:1px solid var(--cbg-border);
    border-radius:var(--cbg-radius);
    background:var(--cbg-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-gifts__card:hover{
    transform:translateY(-5px);
    border-color:rgba(199,3,66,.20);
    box-shadow:0 18px 42px rgba(73,31,44,.12);
}

.cb-gifts__image-link{
    display:block;
    aspect-ratio:1 / 1;
    overflow:hidden;
    background:#fff;
    text-decoration:none!important;
}

.cb-gifts__image{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    padding:18px;
    box-sizing:border-box;
    user-select:none;
    -webkit-user-drag:none;
    transition:transform .6s cubic-bezier(.22,.61,.36,1);
}

.cb-gifts__card:hover .cb-gifts__image{
    transform:scale(1.035);
}

.cb-gifts__content{
    display:flex;
    flex-direction:column;
    min-height:205px;
    padding:20px 21px 22px;
}

.cb-gifts__name{
    margin:0 0 12px;
    color:var(--cbg-text);
    font-size:17px;
    line-height:1.38;
    font-weight:700;
}

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

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

.cb-gifts__price{
    margin:auto 0 18px;
    color:var(--cbg-primary);
    font-size:20px;
    line-height:1.2;
    font-weight:800;
}

.cb-gifts__cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:10px 18px;
    border:1px solid var(--cbg-primary);
    border-radius:999px;
    background:var(--cbg-primary);
    color:#fff!important;
    text-decoration:none!important;
    font-size:13px;
    font-weight:800;
    transition:
        transform .2s ease,
        background .2s ease,
        border-color .2s ease;
}

.cb-gifts__cta:hover{
    transform:translateY(-1px);
    background:var(--cbg-primary-dark);
    border-color:var(--cbg-primary-dark);
    color:#fff!important;
}

.cb-gifts__status{
    width:min(1380px,calc(100% - 96px));
    margin:0 auto;
    padding:28px;
    border-radius:20px;
    background:#fff;
    color:var(--cbg-muted);
    text-align:center;
    font-size:14px;
    font-weight:600;
}

.cb-gifts__card--loading{
    min-height:500px;
}

.cb-gifts__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:cbGiftsLoading 1.25s infinite linear;
}

.cb-gifts__skeleton-image{
    aspect-ratio:1 / 1;
}

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

.cb-gifts__skeleton-line--short{
    width:46%;
}

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

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

    .cb-gifts__track{
        padding-left:24px;
        padding-right:24px;
    }

    .cb-gifts__card{
        flex-basis:300px;
    }
}

@media(max-width:699px){
    .cb-gifts{
        padding:54px 0 46px;
    }

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

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

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

    .cb-gifts__nav,
    .cb-gifts__button{
        display:none!important;
    }

    .cb-gifts__track{
        gap:14px;
        padding:4px 16px 24px;
        scroll-padding-left:16px;
        scroll-snap-type:x mandatory;
    }

    .cb-gifts__card{
        flex:0 0 82%;
        max-width:320px;
        border-radius:22px;
        scroll-snap-align:start;
    }

    .cb-gifts__content{
        min-height:190px;
        padding:19px 18px 20px;
    }

    .cb-gifts__name{
        font-size:16px;
    }

    .cb-gifts__price{
        font-size:19px;
    }

    .cb-gifts__progress{
        width:86px;
    }

    .cb-gifts__status{
        width:calc(100% - 32px);
    }
}

@media(prefers-reduced-motion:reduce){
    .cb-gifts__track{
        scroll-behavior:auto;
    }

    .cb-gifts__card,
    .cb-gifts__image,
    .cb-gifts__button,
    .cb-gifts__cta,
    .cb-gifts__progress-bar{
        transition:none;
    }

    .cb-gifts__skeleton{
        animation:none;
    }
}
