.occasion-section{

    background:
    linear-gradient(
        180deg,
        #ffffff,
        #faf7f0
    );

    padding:80px 0;

    position:relative;

    overflow:hidden;
}

.occasion-section .section-title,
.occasion-section .section-description{
    color:#2B0B47;
}

.cake-slider{

    width:100%;

    overflow:hidden;

    position:relative;

    margin-top:50px;
}

.cake-track{

    display:flex;

    gap:30px;

    width:max-content;

    animation:
    scrollCake 35s linear infinite;
}

.cake-slider:hover .cake-track{

    animation-play-state:paused;
}

/* CARD */

.cake-card{

    position:relative;

    width:320px;

    height:420px;

    flex-shrink:0;

    border-radius:28px;

    overflow:hidden;

    cursor:pointer;

    transition:.5s;

    border:
    1px solid rgba(255,255,255,.1);

    box-shadow:
    0 15px 40px rgba(0,0,0,.2);
}

.cake-card:hover{

    transform:
    translateY(-12px);

    box-shadow:
    0 0 25px rgba(216,178,103,.3),
    0 0 50px rgba(66,19,106,.5);
}

/* IMAGE */

.cake-card img{

    width:100%;
    height:100%;

    object-fit:cover;

    transition:.8s;
}

.cake-card:hover img{

    transform:
    scale(1.1);
}

/* OVERLAY */

.cake-card::before{

    content:"";

    position:absolute;

    inset:0;

    background:
    linear-gradient(
        to top,
        rgba(0,0,0,.85),
        rgba(0,0,0,.25),
        transparent
    );

    z-index:1;
}

/* LABEL */

.cake-label{

    position:absolute;

    left:20px;
    right:20px;
    bottom:20px;

    z-index:2;

    background:
    rgba(255,255,255,.12);

    backdrop-filter:blur(15px);

    border:
    1px solid rgba(255,255,255,.15);

    color:#fff;

    padding:16px;

    text-align:center;

    border-radius:16px;

    font-size:15px;

    font-weight:700;

    letter-spacing:1px;

    transition:.4s;
}

.cake-card:hover .cake-label{

     background:
    linear-gradient(
        135deg,
        #42136A,
        #2B0B47
    );

    color:#ffffff;

    box-shadow:
    0 0 20px rgba(216,178,103,.4);
}

/* GOLD CORNER BADGE */

.cake-card::after{

    content:"Fresh";

    position:absolute;

    top:18px;
    right:18px;

    z-index:2;

    background:
    linear-gradient(
        135deg,
        var(--primary-gold),
        #f5d48e
    );

    color:#111;

    padding:8px 15px;

    border-radius:50px;

    font-size:12px;

    font-weight:700;
}

/* AUTO SCROLL */

@keyframes scrollCake{

    from{
        transform:translateX(0);
    }

    to{
        transform:translateX(-50%);
    }
}

/* TABLET */

@media(max-width:991px){

    .occasion-section{
        padding:70px 0;
    }

    .cake-card{

        width:280px;
        height:380px;
    }
}

/* MOBILE */

@media(max-width:768px){

    .occasion-section{
        padding:60px 0;
    }

    .cake-track{
        gap:20px;
    }

    .cake-card{

        width:240px;
        height:320px;
    }

    .cake-label{

        padding:12px;

        font-size:13px;
    }
}

/* SMALL MOBILE */

@media(max-width:576px){

    .cake-card{

        width:220px;
        height:300px;
    }

    .cake-card::after{

        font-size:11px;

        padding:6px 12px;
    }

    .cake-label{

        left:12px;
        right:12px;
        bottom:12px;
    }
}