/* =====================================================
   FLAVOURS PAGE
===================================================== */

.flavours-intro {
    padding: 90px 0;
    background: #fffaf5;
}

.flavours-intro-wrapper {
    max-width: 1200px;
    margin: auto;

    display: grid;
    grid-template-columns: 1fr 1fr;

    align-items: center;

    gap: 70px;
}


/* =====================================================
   INTRO CONTENT
===================================================== */

.flavours-tag {
    display: inline-block;

    margin-bottom: 12px;

    color: #d94f4f;

    font-family: 'Nunito', sans-serif;

    font-size: 13px;
    font-weight: 900;

    letter-spacing: 3px;

    text-transform: uppercase;
}

.flavours-intro-content h2 {
    margin: 0 0 22px;

    color: #432014;

    font-family: 'Fredoka', sans-serif;

    font-size: 48px;
    font-weight: 700;

    line-height: 1.15;
}

.flavours-intro-content h2 span {
    display: block;

    color: #d94f4f;
}

.flavours-intro-content p {
    max-width: 560px;

    margin-bottom: 18px;

    color: #6f5b52;

    font-family: 'Nunito', sans-serif;

    font-size: 16px;
    font-weight: 600;

    line-height: 1.8;
}


/* =====================================================
   BUTTON
===================================================== */

.flavours-btn {
    display: inline-flex;

    align-items: center;

    gap: 10px;

    margin-top: 15px;

    padding: 14px 27px;

    border-radius: 50px;

    background: #d94f4f;

    color: #ffffff;

    font-family: 'Nunito', sans-serif;

    font-size: 15px;
    font-weight: 900;

    text-decoration: none;

    transition: .3s ease;
}

.flavours-btn:hover {
    background: #432014;

    color: #ffffff;

    transform: translateY(-3px);
}


/* =====================================================
   INTRO IMAGE
===================================================== */

.flavours-intro-image {
    position: relative;

    min-height: 500px;

    display: flex;

    align-items: center;
    justify-content: center;
}

.flavour-circle {
    position: absolute;

    width: 430px;
    height: 430px;

    border-radius: 50%;

    background: #ffe2d0;

    transform: rotate(-8deg);
}

.flavours-intro-image img {
    position: relative;

    z-index: 2;

    width: 100%;
    max-width: 560px;

    height: auto;

    object-fit: contain;
}


/* =====================================================
   FLOATING CARD
===================================================== */

.flavour-floating-card {
    position: absolute;

    right: 0;
    bottom: 35px;

    z-index: 4;

    display: flex;

    flex-direction: column;

    padding: 18px 22px;

    border-radius: 18px;

    background: #ffffff;

    box-shadow: 0 15px 40px rgba(67,32,20,.15);
}

.flavour-floating-card span {
    font-size: 28px;
}

.flavour-floating-card strong {
    margin-top: 5px;

    color: #432014;

    font-family: 'Fredoka', sans-serif;

    font-size: 16px;
}

.flavour-floating-card small {
    color: #876e63;

    font-family: 'Nunito', sans-serif;

    font-size: 12px;
}


/* =====================================================
   FLAVOURS SECTION
===================================================== */

.dolito-flavours {
    padding: 100px 0;

    background: #ffffff;
}

.flavours-section-heading {
    max-width: 700px;

    margin: 0 auto 70px;

    text-align: center;
}

.flavours-section-heading h2 {
    margin: 0 0 15px;

    color: #432014;

    font-family: 'Fredoka', sans-serif;

    font-size: 48px;
    font-weight: 700;
}

.flavours-section-heading h2 span {
    color: #b85c2e;
}

.flavours-section-heading p {
    margin: 0;

    color: #765c50;

    font-family: 'Nunito', sans-serif;

    font-size: 17px;

    line-height: 1.7;
}


/* =====================================================
   CATEGORY
===================================================== */

.flavour-category {
    margin-bottom: 110px;
}

.flavour-category:last-child {
    margin-bottom: 0;
}

.flavour-category-heading {
    display: flex;

    align-items: center;

    gap: 18px;

    margin-bottom: 35px;
}

.category-number {
    width: 55px;
    height: 55px;

    display: flex;

    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    border-radius: 50%;

    background: #f7e1d2;

    color: #a94b25;

    font-family: 'Fredoka', sans-serif;

    font-size: 18px;
    font-weight: 700;
}

.category-small {
    display: block;

    margin-bottom: 5px;

    color: #a94b25;

    font-family: 'Nunito', sans-serif;

    font-size: 12px;
    font-weight: 900;

    letter-spacing: 2px;
}

.flavour-category-heading h3 {
    margin: 0;

    color: #432014;

    font-family: 'Fredoka', sans-serif;

    font-size: 38px;
    font-weight: 700;

    line-height: 1.1;
}

.flavour-category-heading h3 span {
    color: #b85c2e;
}


/* =====================================================
   FLAVOUR CARDS
===================================================== */

.flavour-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 25px;
}

.flavour-card {
    overflow: hidden;

    border-radius: 22px;

    background: #ffffff;

    box-shadow: 0 12px 35px rgba(67,32,20,.08);

    transition: .35s ease;
}

.flavour-card:hover {
    transform: translateY(-8px);

    box-shadow: 0 20px 45px rgba(67,32,20,.14);
}


/* IMAGE */

.flavour-card-image {
    height: 230px;

    display: flex;

    align-items: center;
    justify-content: center;

    overflow: hidden;
}

.flavour-card-image img {
    width: 100%;
    height: 100%;

    object-fit: contain;

    transition: .4s ease;
}

.flavour-card:hover img {
    transform: scale(1.06);
}

.flavour-card-image.pink {
    background: #ffe4ed;
}

.flavour-card-image.yellow {
    background: #fff0c7;
}

.flavour-card-image.green {
    background: #e4f4dc;
}

.flavour-card-image.purple {
    background: #eee2f8;
}


/* CONTENT */

.flavour-card-content {
    padding: 22px;
}

.flavour-icon {
    font-size: 22px;
}

.flavour-card-content h4 {
    margin: 8px 0 8px;

    color: #432014;

    font-family: 'Fredoka', sans-serif;

    font-size: 22px;
}

.flavour-card-content p {
    margin: 0;

    color: #80685d;

    font-family: 'Nunito', sans-serif;

    font-size: 14px;

    line-height: 1.6;
}


/* =====================================================
   SCOOP FEATURE
===================================================== */

.flavour-category-alt {
    padding: 65px;

    border-radius: 30px;

    background: #fffaf5;
}

.flavour-feature-row {
    display: grid;

    grid-template-columns: 1fr 1fr;

    align-items: center;

    gap: 60px;
}

.flavour-feature-image {
    overflow: hidden;

    border-radius: 25px;

    background: #ffffff;
}

.flavour-feature-image img {
    display: block;

    width: 100%;
    height: 420px;

    object-fit: contain;
}

.feature-tag {
    color: #a94b25;

    font-family: 'Nunito', sans-serif;

    font-size: 12px;
    font-weight: 900;

    letter-spacing: 2px;
}

.flavour-feature-content h3 {
    margin: 12px 0 18px;

    color: #432014;

    font-family: 'Fredoka', sans-serif;

    font-size: 40px;

    line-height: 1.15;
}

.flavour-feature-content h3 span {
    display: block;

    color: #b85c2e;
}

.flavour-feature-content > p {
    color: #765c50;

    font-family: 'Nunito', sans-serif;

    font-size: 16px;

    line-height: 1.8;
}


/* =====================================================
   SCOOP LIST
===================================================== */

.scoop-list {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 12px;

    margin-top: 25px;
}

.scoop-list div {
    display: flex;

    align-items: center;

    gap: 10px;

    padding: 13px 15px;

    border-radius: 12px;

    background: #ffffff;

    box-shadow: 0 5px 20px rgba(67,32,20,.06);
}

.scoop-list span {
    font-size: 20px;
}

.scoop-list strong {
    color: #432014;

    font-family: 'Nunito', sans-serif;

    font-size: 14px;
}


/* =====================================================
   MILKSHAKES
===================================================== */

.milkshake-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 22px;
}

.milkshake-card {
    padding: 30px 25px;

    text-align: center;

    border-radius: 22px;

    background: #fffaf5;

    transition: .3s ease;
}

.milkshake-card:hover {
    transform: translateY(-7px);

    box-shadow: 0 15px 35px rgba(67,32,20,.10);
}

.milkshake-icon {
    width: 70px;
    height: 70px;

    margin: 0 auto 18px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #ffe5d4;

    font-size: 30px;
}

.milkshake-card h4 {
    margin: 0 0 10px;

    color: #432014;

    font-family: 'Fredoka', sans-serif;

    font-size: 20px;
}

.milkshake-card p {
    margin: 0;

    color: #80685d;

    font-family: 'Nunito', sans-serif;

    font-size: 14px;

    line-height: 1.6;
}


/* =====================================================
   CTA
===================================================== */

.flavours-cta {
    padding: 90px 0;

    background:
        linear-gradient(
            90deg,
            rgba(67,32,20,.96),
            rgba(115,51,30,.92)
        );
}

.flavours-cta-content {
    text-align: center;

    color: #ffffff;
}

.flavours-cta-content > span {
    font-family: 'Nunito', sans-serif;

    font-size: 12px;
    font-weight: 900;

    letter-spacing: 3px;
}

.flavours-cta-content h2 {
    margin: 15px 0;

    font-family: 'Fredoka', sans-serif;

    font-size: 48px;

    line-height: 1.1;
}

.flavours-cta-content h2 strong {
    color: #ffd1a8;
}

.flavours-cta-content p {
    margin-bottom: 25px;

    font-family: 'Nunito', sans-serif;

    font-size: 17px;
}

.flavours-cta-btn {
    display: inline-flex;

    align-items: center;

    gap: 10px;

    padding: 14px 28px;

    border-radius: 50px;

    background: #ffffff;

    color: #432014;

    font-family: 'Nunito', sans-serif;

    font-size: 15px;
    font-weight: 900;

    text-decoration: none;

    transition: .3s ease;
}

.flavours-cta-btn:hover {
    background: #ffd1a8;

    color: #432014;

    transform: translateY(-3px);
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 991px) {

    .flavours-intro {
        padding: 70px 20px;
    }

    .flavours-intro-wrapper {
        grid-template-columns: 1fr;

        gap: 40px;
    }

    .flavours-intro-content h2 {
        font-size: 42px;
    }

    .flavours-intro-image {
        min-height: 400px;
    }

    .flavour-grid {
        grid-template-columns: 1fr 1fr;
    }

    .milkshake-grid {
        grid-template-columns: 1fr 1fr;
    }

    .flavour-feature-row {
        grid-template-columns: 1fr;

        gap: 35px;
    }

    .flavour-category-alt {
        padding: 45px;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 767px) {

    .flavours-intro {
        padding: 55px 15px;
    }

    .flavours-intro-content h2 {
        font-size: 34px;
    }

    .flavours-intro-content p {
        font-size: 15px;
    }

    .flavours-intro-image {
        min-height: 300px;
    }

    .flavour-circle {
        width: 280px;
        height: 280px;
    }

    .flavour-floating-card {
        right: 5px;
        bottom: 10px;

        padding: 12px 15px;
    }

    .dolito-flavours {
        padding: 65px 15px;
    }

    .flavours-section-heading {
        margin-bottom: 45px;
    }

    .flavours-section-heading h2 {
        font-size: 34px;
    }

    .flavour-category {
        margin-bottom: 70px;
    }

    .flavour-category-heading h3 {
        font-size: 30px;
    }

    .flavour-grid {
        grid-template-columns: 1fr;
    }

    .flavour-card-image {
        height: 260px;
    }

    .flavour-category-alt {
        padding: 25px;

        border-radius: 22px;
    }

    .flavour-feature-content h3 {
        font-size: 32px;
    }

    .flavour-feature-image img {
        height: 300px;
    }

    .scoop-list {
        grid-template-columns: 1fr;
    }

    .milkshake-grid {
        grid-template-columns: 1fr;
    }

    .flavours-cta {
        padding: 65px 15px;
    }

    .flavours-cta-content h2 {
        font-size: 35px;
    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width: 480px) {

    .category-number {
        width: 45px;
        height: 45px;

        font-size: 15px;
    }

    .category-small {
        font-size: 10px;
    }

    .flavour-category-heading h3 {
        font-size: 27px;
    }

}