/* back-side */

@media (min-width: 991px) {
    .first-banner {
        display: flex;
        align-items: start;
        justify-content: space-between;
        margin-top: 0px;
        width: 100%;
        overflow: hidden;
    }
    /* main */
    .first-banner .main-img {
        width: 50%;
        height: 100vh;
        position: relative;
        display: flex;
    }
    .first-banner .main-img .extra-div {
        width: 50%;
        height: 100vh;
        position: relative;
    }
    .first-banner .main-img .extra-img-1 {
        width: 300px;
        position: absolute;
        top: 13%;
        left: -20%;
        rotate: 15deg;
        transition: all 500ms;
        opacity: 1
    }
    .first-banner .main-img .extra-img-1-disable {
        width: 300px;
        position: absolute;
        top: 30%;
        left: -90%;
        rotate: 15deg;
        transition: all 500ms;
        opacity: 0;
    }
    .first-banner .main-img .extra-img-2 {
        width: 500px;
        position: absolute;
        top: 280px;
        left: -70%;
        rotate: 15deg;
        transition: all 500ms;
        opacity: 1
    }
    .first-banner .main-img .extra-img-2-disable {
        width: 500px;
        position: absolute;
        top: 250px;
        left: -150%;
        rotate: 15deg;
        transition: all 500ms;
        opacity: 0;
    }
    .first-banner .main-img .extra-img-3 {
        width: 500px;
        position: absolute;
        top: 70%;
        left: -25%;
        rotate: -15deg;
        transition: all 500ms;
        opacity: 1
    }
    .first-banner .main-img .extra-img-3-disable {
        width: 500px;
        position: absolute;
        top: 50%;
        left: -75%;
        rotate: -15deg;
        transition: all 500ms;
        opacity: 0;
    }
    .first-banner .main-img .content-div {
        padding-top: 200px;
        z-index: 100000;
        position: relative;
        width: 50%;
        /* margin-right: 50%; */
        height: 100vh;
    }
    .first-banner .main-img .content-div .product-img {
        position: relative;
    }
    .first-banner .main-img .content-div .product-img .product-item {
        width: 300px;
        /* display: block; */
        position: absolute;
        left: -300px;
        transition: all 600ms;
        top: 400px;
    }
    .first-banner .main-img .content-div .product-img .product-item h6 {
        width: 100%;
        text-align: center;
        font-family: "Yekan1" !important;
        font-size: 25px;
        margin-top: -200px;
        z-index: -1;
        position: relative;
    }
    .first-banner .main-img .content-div .product-img .product-item a {
        width: 200px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 35px;
        text-decoration: none;
        color: #fff;
        height: 40px;
        font-size: 14px;
        z-index: -1;
        position: relative;
    }
    .first-banner .main-img .content-div .product-img .product-item img {
        width: 100%;
    }
    .first-banner .main-img .content-div .product-img .prev {
        width: 300px;
        /* display: block; */
        position: absolute;
        left: -300px;
        transition: all 600ms;
        top: -400px;
    }
    .first-banner .main-img .content-div .product-img .active-product {
        width: 300px;
        /* display: block; */
        position: absolute;
        left: 50px;
        transition: all 600ms;
        top: 0px;
    }
    .first-banner .main-img .content-div .product-img .active-product h6 {
        width: 100%;
        text-align: center;
        font-family: "Yekan1" !important;
        font-size: 25px;
        margin-top: 10px;
        z-index: -1;
        position: relative;
        transition: all 1500ms;
    }
    .first-banner .main-img .content-div .product-img .active-product a {
        width: 200px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 35px;
        text-decoration: none;
        color: #fff;
        height: 40px;
        font-size: 14px;
        z-index: 1;
        position: relative;
        transition: all 1500ms;
    }
    .first-banner .main-img svg {
        width: 40%;
        position: absolute;
        left: 0px;
        top: 0px;
        opacity: .5;
        rotate: 180deg;
    }
    /* carve-div */
    .first-banner .carve-div {
        position: relative;
        width: 50%;
        margin-top: 0px;
        height: 100vh;
    }
    .first-banner .carve-div svg {
        height: 100%;
        position: absolute;
        right: 0px;
        top: 0px;
        color: #00563f79;
        opacity: .8;
        transform: scaleX(-1);
    }
    .first-banner .carve-div .content-div {
        padding-top: 100px;
        z-index: 100000;
        position: relative;
        padding-right: 30px;
        background-color: transparent;
    }
    .first-banner .carve-div .content-div h1 {
        font-family: "Yekan1" !important;
        color: #fff;
        font-size: 40px;
    }
    .first-banner .carve-div .content-div p {
        color: #fff;
        text-align: justify;
        font-size: 16px;
        line-height: 35px;
        margin-top: 30px;
        width: 70%;
    }
    .slider-position {
        width: 100%;
        padding-right: 30px;
        margin-top: 50px;
        /* background-color: red; */
    }
    .slider-position .title {
        color: #fff;
        font-size: 22px;
        text-align: right;
        z-index: 10000;
        position: relative;
        padding-bottom: 10px;
    }
    .first-banner .carve-div .slider-items {
        display: flex;
        align-items: center;
        z-index: 1000;
        position: relative;
    }
    .first-banner .carve-div .slider-items .item {
        width: 80px;
        padding: 10px;
        background-color: rgba(255, 255, 255, 0.253);
        margin-left: 20px;
        border-radius: 10px;
        cursor: pointer;
        position: relative;
    }
    .first-banner .carve-div .slider-items .item h6 {
        display: none;
    }
    .first-banner .carve-div .slider-items .active-item::before {
        width: 100%;
        height: 5px;
        position: absolute;
        border-bottom: 4px solid #fff;
        content: "";
        bottom: -10px;
        right: 0px;
    }
    .first-banner .carve-div .slider-items .item img {
        width: 100%;
    }
    .first-banner .carve-div .slider-items .active-item {
        /* width: 100%;
            height: 5px;
            position: absolute; */
        border-bottom: 4px solid #fff;
        border-bottom-left-radius: 0px;
        border-bottom-right-radius: 0px;
        /* content: "";
            bottom: -10px;
            right: 0px;
            z-index: 10000; */
    }
    .first-banner .carve-div .slider-items .swiper-slide-active::before {
        width: 100%;
        height: 5px;
        position: absolute;
        border-bottom: 4px solid #fff;
        content: "";
        bottom: -10px;
        right: 0px;
    }
    .star-1-div {
        position: absolute;
        top: 350px;
        left: 70px;
        z-index: 9999999;
    }
    .first-banner .carve-div .star-1 {
        width: 100px;
        height: 100px;
    }
    .star-2-div {
        position: absolute;
        bottom: 200px;
        left: 50px;
        z-index: 9999999;
    }
    .first-banner .carve-div .star-2 {
        width: 80px;
        height: 100px;
        rotate: 35deg;
    }
    .star-3-div {
        position: absolute;
        top: 140px;
        left: 0px;
        z-index: 9999999;
        ;
    }
    .first-banner .carve-div .star-3 {
        width: 100px;
        height: 100px;
    }
    .first-banner .carve-div .star {
        fill: #000 !important;
    }
}

/* Final mobile overrides: keep legacy hero rules from hiding the cinematic stage. */
@media (max-width: 991px) {
    .cinematic-hero {
        min-height: 780px;
        padding: 0 0 28px;
        background: radial-gradient(circle at 50% 56%, #fff 0 17%, transparent 48%), linear-gradient(180deg, #eff9f3, color-mix(in srgb, var(--hero-accent) 20%, #e5f4eb));
    }
    .cinematic-hero .carve-div { padding: 82px 18px 0; background: transparent !important; }
    .cinematic-hero .carve-div::before { top: 38px; right: 50%; transform: translateX(50%); white-space: nowrap; }
    .cinematic-hero .carve-div .content-div h1 { color: #063f30; font-size: 26px; line-height: 1.55; }
    .cinematic-hero .carve-div .content-div p { display: none; }
    .cinematic-hero .slider-position { position: relative; right: auto; margin-top: 18px; }
    .cinematic-hero .itemswiper { padding-bottom: 0 !important; }
    .cinematic-hero .carve-div .slider-position .title { margin-top: 0; color: #07533e; }
    .cinematic-hero .carve-div .slider-items { margin-top: 4px; }
    .cinematic-hero .carve-div .slider-items .item { width: 72px; margin-left: 10px; padding: 8px; }
    .cinematic-hero .main-img { min-height: 390px; }
    .cinematic-hero .main-img .content-div { width: 100%; height: 390px; z-index: 4; }
    .cinematic-hero .main-img .content-div .product-img { display: block; height: 390px; }
    .cinematic-hero .main-img .content-div .product-img .product-item,
    .cinematic-hero .main-img .content-div .product-img .prev {
        display: block; width: min(255px, 64vw); left: 50%; top: 48%; opacity: 0;
        transform: translate(-50%,-40%) scale(.75); pointer-events: none;
    }
    .cinematic-hero .main-img .content-div .product-img .active-product {
        display: block; width: min(255px, 64vw); left: 50%; top: 45%; opacity: 1;
        transform: translate(-50%,-50%); pointer-events: auto;
    }
    .cinematic-hero .main-img .product-item > img {
        display: block; position: relative; left: auto; top: auto; width: 100%;
        filter: drop-shadow(0 24px 18px rgba(0,48,35,.25));
    }
    .cinematic-hero .main-img .product-item h6 { margin-top: 0; color: #064b37; text-align: center; font-size: 18px; }
    .cinematic-hero .main-img .product-item a {
        width: 170px; height: 42px; background: var(--hero-accent) !important;
        color: #fff; text-decoration: none; border-radius: 30px;
    }
    .cinematic-orbit { left: 50%; top: 8%; width: 330px; max-width: 88vw; transform: translateX(-50%); animation: none; }
    .cinematic-leaf--one { left: -8%; top: 12%; width: 92px; }
    .cinematic-leaf--two { right: -8%; top: 40%; width: 78px; }
    .cinematic-leaf--three { left: 5%; bottom: 4%; width: 105px; }
    .cinematic-hero .main-img::after { left: 22%; bottom: 12%; width: 56%; height: 35px; }
}

/* Cinematic product hero — inspired by suspended studio product photography. */
.cinematic-hero {
    --hero-accent: #00563f;
    position: relative;
    min-height: min(820px, 92vh);
    background:
        radial-gradient(circle at 72% 42%, rgba(255,255,255,.9) 0 17%, rgba(255,255,255,.28) 35%, transparent 58%),
        linear-gradient(135deg, color-mix(in srgb, var(--hero-accent) 18%, #f3fbf6), #f8fcf9 54%, color-mix(in srgb, var(--hero-accent) 28%, #e5f4eb));
    isolation: isolate;
}

.cinematic-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image: radial-gradient(rgba(0,86,63,.08) 1px, transparent 1px);
    background-size: 22px 22px;
    mask-image: linear-gradient(90deg, #000, transparent 42%, transparent 70%, #000);
    pointer-events: none;
}

.cinematic-hero .carve-div,
.cinematic-hero .main-img {
    position: relative;
    z-index: 2;
    background: transparent !important;
}

.cinematic-hero .carve-div > svg,
.cinematic-hero .main-img > svg,
.cinematic-hero .star-1-div,
.cinematic-hero .star-2-div,
.cinematic-hero .star-3-div,
.cinematic-hero .circle-sm {
    display: none !important;
}

.cinematic-hero .carve-div::before {
    content: "SHANTITO  •  COFFEE STUDIO";
    position: absolute;
    top: 8%;
    right: 30px;
    color: var(--hero-accent);
    font: 700 11px/1 sans-serif;
    letter-spacing: 4px;
    opacity: .6;
}

.cinematic-hero .carve-div .content-div h1 {
    max-width: 610px;
    color: #063f30;
    font-size: clamp(34px, 3.4vw, 58px);
    line-height: 1.35;
    text-wrap: balance;
}

.cinematic-hero .carve-div .content-div p {
    max-width: 590px;
    color: rgba(6,63,48,.72);
    line-height: 2.05;
}

.cinematic-hero .slider-position .title {
    color: #07533e;
    font-size: 14px;
}

.cinematic-hero .carve-div .slider-items .item {
    border: 1px solid rgba(0,86,63,.13);
    border-radius: 18px;
    background: rgba(255,255,255,.6);
    box-shadow: 0 12px 28px rgba(0,86,63,.08);
    backdrop-filter: blur(10px);
    transition: transform .3s ease, border-color .3s ease, background .3s ease;
}

.cinematic-hero .carve-div .slider-items .item:hover,
.cinematic-hero .carve-div .slider-items .active-item {
    border-color: var(--hero-accent);
    border-bottom: 1px solid var(--hero-accent);
    background: rgba(255,255,255,.9);
    transform: translateY(-7px);
}

.cinematic-hero .carve-div .slider-items .active-item::before,
.cinematic-hero .carve-div .slider-items .swiper-slide-active::before {
    display: none;
}

.cinematic-hero .main-img::after {
    content: "";
    position: absolute;
    left: 12%;
    bottom: 11%;
    width: 58%;
    height: 54px;
    border-radius: 50%;
    background: rgba(0,44,32,.23);
    filter: blur(22px);
    transform: rotate(-4deg);
    z-index: 0;
}

.cinematic-orbit {
    position: absolute;
    left: 5%;
    top: 14%;
    width: min(520px, 76%);
    aspect-ratio: 1;
    border: 1px solid rgba(0,86,63,.17);
    border-radius: 50%;
    box-shadow: inset 0 0 0 45px rgba(255,255,255,.12), 0 0 100px rgba(255,255,255,.58);
    animation: cinematic-orbit 20s linear infinite;
}

.cinematic-orbit::before,
.cinematic-orbit::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    background: var(--hero-accent);
}

.cinematic-orbit::before { width: 10px; height: 10px; top: 13%; left: 13%; }
.cinematic-orbit::after { width: 6px; height: 6px; right: 6%; bottom: 30%; opacity: .55; }

.cinematic-leaf {
    position: absolute;
    z-index: 6;
    width: 125px;
    filter: drop-shadow(0 18px 14px rgba(0,86,63,.2));
    pointer-events: none;
    will-change: transform;
}

.cinematic-leaf--one { left: -3%; top: 17%; animation: cinematic-leaf-one 6.5s ease-in-out infinite; }
.cinematic-leaf--two { right: 4%; top: 36%; width: 95px; animation: cinematic-leaf-two 7.5s ease-in-out infinite; }
.cinematic-leaf--three { left: 14%; bottom: 5%; width: 155px; animation: cinematic-leaf-three 8s ease-in-out infinite; }

@keyframes cinematic-orbit { to { transform: rotate(360deg); } }
@keyframes cinematic-leaf-one { 50% { transform: translate3d(15px,-18px,0) rotate(12deg); } }
@keyframes cinematic-leaf-two { 50% { transform: translate3d(-14px,20px,0) rotate(-15deg); } }
@keyframes cinematic-leaf-three { 50% { transform: translate3d(18px,-12px,0) rotate(9deg); } }

@media (min-width: 992px) {
    .cinematic-hero {
        display: grid;
        grid-template-columns: 46% 54%;
        align-items: stretch;
    }

    .cinematic-hero .carve-div,
    .cinematic-hero .main-img {
        width: 100%;
        height: min(820px, 92vh);
    }

    .cinematic-hero .carve-div { order: 1; }
    .cinematic-hero .main-img { order: 2; }

    .cinematic-hero .carve-div .content-div {
        padding: clamp(130px, 17vh, 185px) 7vw 0 24px;
    }

    .cinematic-hero .slider-position {
        margin-top: 38px;
        padding-right: 7vw;
    }

    .cinematic-hero .main-img .extra-div { display: none; }
    .cinematic-hero .main-img .content-div { width: 100%; padding-top: 13vh; z-index: 4; }
    .cinematic-hero .main-img .content-div .product-img { height: 650px; }

    .cinematic-hero .main-img .content-div .product-img .product-item,
    .cinematic-hero .main-img .content-div .product-img .prev {
        width: min(390px, 53vw);
        left: 50%;
        top: 47%;
        opacity: 0;
        transform: translate(-50%, -35%) scale(.72) rotate(8deg);
    }

    .cinematic-hero .main-img .content-div .product-img .active-product {
        width: min(390px, 53vw);
        left: 50%;
        top: 42%;
        opacity: 1;
        transform: translate(-50%, -50%) scale(1) rotate(-2deg);
    }

    .cinematic-hero.hero-3d-ready .main-img .product-item {
        transform: translate(-50%, -50%) perspective(1100px) rotateX(var(--hero-rotate-x)) rotateY(var(--hero-rotate-y)) scale(var(--product-scale));
    }

    .cinematic-hero .main-img .product-item h6 {
        margin-top: 4px;
        color: #064b37;
        font-size: 22px;
    }

    .cinematic-hero .main-img .product-item a {
        height: 48px;
        background: var(--hero-accent) !important;
        box-shadow: 0 13px 28px color-mix(in srgb, var(--hero-accent) 30%, transparent);
    }
}

@media (max-width: 991px) {
    .cinematic-hero {
        min-height: 780px;
        padding: 0 0 28px;
        background: radial-gradient(circle at 50% 56%, #fff 0 17%, transparent 48%), linear-gradient(180deg, #eff9f3, color-mix(in srgb, var(--hero-accent) 20%, #e5f4eb));
    }

    .cinematic-hero .carve-div { padding: 82px 18px 0; }
    .cinematic-hero .carve-div::before { top: 38px; right: 50%; transform: translateX(50%); white-space: nowrap; }
    .cinematic-hero .carve-div .content-div h1 { font-size: 26px; line-height: 1.55; }
    .cinematic-hero .carve-div .content-div p { display: none; }
    .cinematic-hero .slider-position { position: relative; margin-top: 18px; }
    .cinematic-hero .carve-div .slider-position .title { margin-top: 0; }
    .cinematic-hero .carve-div .slider-items { margin-top: 4px; }
    .cinematic-hero .carve-div .slider-items .item { width: 72px; margin-left: 10px; padding: 8px; }
    .cinematic-hero .main-img { min-height: 390px; }
    .cinematic-hero .main-img .content-div { height: 390px; z-index: 4; }
    .cinematic-hero .main-img .content-div .product-img { display: block; height: 390px; }
    .cinematic-hero .main-img .content-div .product-img .product-item,
    .cinematic-hero .main-img .content-div .product-img .prev {
        display: block;
        width: min(255px, 64vw);
        left: 50%;
        top: 48%;
        opacity: 0;
        transform: translate(-50%,-40%) scale(.75);
        pointer-events: none;
    }
    .cinematic-hero .main-img .content-div .product-img .active-product {
        display: block;
        width: min(255px, 64vw);
        left: 50%;
        top: 45%;
        opacity: 1;
        transform: translate(-50%,-50%);
        pointer-events: auto;
    }
    .cinematic-hero .main-img .product-item > img { display: block; position: relative; left: auto; top: auto; width: 100%; filter: drop-shadow(0 24px 18px rgba(0,48,35,.25)); }
    .cinematic-hero .main-img .product-item h6 { margin-top: 0; color: #064b37; text-align: center; font-size: 18px; }
    .cinematic-hero .main-img .product-item a { width: 170px; height: 42px; background: var(--hero-accent) !important; color: #fff; text-decoration: none; border-radius: 30px; }
    .cinematic-orbit { left: 50%; top: 8%; width: 330px; max-width: 88vw; transform: translateX(-50%); animation: none; }
    .cinematic-leaf--one { left: -8%; top: 12%; width: 92px; }
    .cinematic-leaf--two { right: -8%; top: 40%; width: 78px; }
    .cinematic-leaf--three { left: 5%; bottom: 4%; width: 105px; }
    .cinematic-hero .main-img::after { left: 22%; bottom: 12%; width: 56%; height: 35px; }
}

@media (prefers-reduced-motion: reduce) {
    .cinematic-orbit,
    .cinematic-leaf { animation: none !important; }
}

/* Hero depth system. It enhances the existing PNG artwork without a WebGL payload. */
@media (min-width: 992px) {
    .hero-3d-ready .main-img {
        --hero-rotate-x: 0deg;
        --hero-rotate-y: 0deg;
        --hero-parallax-x: 0px;
        --hero-parallax-y: 0px;
        --hero-back-x: 0px;
        --hero-back-y: 0px;
        --hero-mid-x: 0px;
        --hero-mid-y: 0px;
        --hero-front-x: 0px;
        --hero-front-y: 0px;
        perspective: 1100px;
        transform-style: preserve-3d;
        isolation: isolate;
    }

    .hero-3d-ready .main-img::before {
        content: "";
        position: absolute;
        width: 420px;
        height: 420px;
        left: 4%;
        top: 20%;
        border-radius: 50%;
        background: radial-gradient(circle, rgba(255, 255, 255, .45) 0%, rgba(255, 255, 255, .12) 42%, transparent 70%);
        filter: blur(8px);
        opacity: .72;
        transform: translate3d(var(--hero-back-x), var(--hero-back-y), -80px);
        pointer-events: none;
        transition: opacity .4s ease;
        z-index: -1;
    }

    .hero-3d-ready .main-img .extra-div {
        transform-style: preserve-3d;
    }

    .hero-3d-ready .main-img .extra-img-1 {
        transform: translate3d(var(--hero-back-x), var(--hero-back-y), -40px);
    }

    .hero-3d-ready .main-img .extra-img-2 {
        transform: translate3d(var(--hero-mid-x), var(--hero-mid-y), 25px);
    }

    .hero-3d-ready .main-img .extra-img-3 {
        transform: translate3d(var(--hero-front-x), var(--hero-front-y), 60px);
    }

    .hero-3d-ready .main-img .content-div,
    .hero-3d-ready .main-img .product-img,
    .hero-3d-ready .main-img .product-item {
        transform-style: preserve-3d;
    }

    .hero-3d-ready .main-img .product-item {
        --product-opacity: 0;
        --product-scale: .78;
        opacity: var(--product-opacity);
        transform: perspective(1100px) rotateX(var(--hero-rotate-x)) rotateY(var(--hero-rotate-y)) scale(var(--product-scale));
        transform-origin: 50% 58%;
        will-change: transform, opacity, top, left;
        pointer-events: none;
    }

    .hero-3d-ready .main-img .product-item.active-product {
        --product-opacity: 1;
        --product-scale: 1;
        pointer-events: auto;
        transition: top .72s cubic-bezier(.2, .8, .2, 1), left .72s cubic-bezier(.2, .8, .2, 1), opacity .45s ease, transform .16s ease-out;
    }

    .hero-3d-ready .main-img .product-item.prev {
        --product-opacity: 0;
        --product-scale: .82;
    }

    .hero-3d-ready .main-img .product-item > img {
        position: relative;
        z-index: 2;
        transform: translateZ(70px);
        filter: drop-shadow(0 28px 22px rgba(45, 24, 18, .25));
        animation: hero-product-float 4.8s ease-in-out infinite;
        will-change: transform;
    }

    .hero-3d-ready .main-img .product-item h6 {
        transform: translateZ(34px);
    }

    .hero-3d-ready .main-img .product-item > .d-flex {
        transform: translateZ(45px);
    }

    .hero-product-shadow {
        position: absolute;
        z-index: 0;
        width: 72%;
        height: 34px;
        left: 14%;
        top: 88%;
        border-radius: 50%;
        background: radial-gradient(ellipse, rgba(48, 24, 16, .38) 0%, rgba(48, 24, 16, .12) 48%, transparent 74%);
        filter: blur(7px);
        transform: translateZ(-15px) scaleX(1);
        animation: hero-shadow-breathe 4.8s ease-in-out infinite;
        pointer-events: none;
    }

    @keyframes hero-product-float {
        0%, 100% { transform: translate3d(0, 0, 70px) rotateZ(-.4deg); }
        50% { transform: translate3d(0, -13px, 78px) rotateZ(.6deg); }
    }

    @keyframes hero-shadow-breathe {
        0%, 100% { opacity: .72; transform: translateZ(-15px) scaleX(1); }
        50% { opacity: .45; transform: translateZ(-15px) scaleX(.82); }
    }
}

@media (prefers-reduced-motion: reduce) {
    .hero-3d-ready .main-img .product-item,
    .hero-3d-ready .main-img .product-item > img,
    .hero-product-shadow,
    .hero-3d-ready .main-img .extra-img-1,
    .hero-3d-ready .main-img .extra-img-2,
    .hero-3d-ready .main-img .extra-img-3 {
        animation: none !important;
        transition-duration: .01ms !important;
    }
}

.product-card-price {
    display: flex;
    min-width: 145px;
    flex-direction: column;
    align-items: center;
    gap: 5px;
}

.product-discount-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 12px;
}

.product-discount-badge {
    padding: 3px 7px;
    border-radius: 12px;
    color: #fff;
    background: #dc3545;
    white-space: nowrap;
}

.coffee-info .product-old-price {
    color: rgba(255, 255, 255, .65);
    font-size: 12px;
    white-space: nowrap;
}

.coffee-info .product-final-price {
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    white-space: nowrap;
}

.product-final-price img {
    width: 18px;
    height: auto;
}

@media (max-width: 991px) {
    .first-banner {
        /* display: flex;
            align-items: start;
            justify-content: space-between; */
        margin-top: 0px;
        width: 100%;
        overflow: hidden;
        /* height: 860px; */
        padding-bottom: 100px;
    }
    /* main */
    .first-banner .main-img {
        width: 100%;
        position: relative;
    }
    .first-banner .main-img .extra-div {
        width: 100%;
        position: absolute;
        top: 100px;
        /* display: none; */
        display: none;
    }
    .first-banner .main-img .extra-div svg {
        display: block !important;
        z-index: 1000001;
    }
    .first-banner .main-img .extra-img-1 {
        width: 30%;
        position: absolute;
        top: 65%;
        left: 0%;
        rotate: 15deg;
        transition: all 500ms;
        opacity: 1;
    }
    .first-banner .main-img .extra-img-1-disable {
        width: 30%;
        position: absolute;
        top: -120px;
        left: 30%;
        rotate: 15deg;
        transition: all 500ms;
        opacity: 0
    }
    .first-banner .main-img .extra-img-2 {
        width: 60%;
        position: absolute;
        top: -169px;
        right: 10%;
        rotate: 15deg;
        transition: all 500ms;
        opacity: 1;
    }
    .first-banner .main-img .extra-img-2-disable {
        width: 60%;
        position: absolute;
        top: -169px;
        right: 35%;
        rotate: 15deg;
        transition: all 500ms;
        opacity: 0;
    }
    .first-banner .main-img .extra-img-3 {
        width: 80%;
        position: absolute;
        top: 65%;
        right: -30%;
        rotate: -15deg;
        transition: all 500ms;
        opacity: 1;
    }
    .first-banner .main-img .extra-img-3-disable {
        width: 500px;
        position: absolute;
        top: 50%;
        left: -75%;
        rotate: -15deg;
        transition: all 500ms;
        opacity: 0;
    }
    .first-banner .main-img .content-div {
        z-index: 100000;
        position: relative;
        width: 100%;
        height: 40vh;
    }
    .first-banner .main-img .content-div .product-img {
        position: relative;
        display: none;
    }
    .first-banner .main-img .content-div .product-img img {
        width: 300px;
        /* display: block; */
        position: absolute;
        left: -300px;
        transition: all 600ms;
        top: 400px;
        display: none;
    }
    .first-banner .main-img .content-div .product-img .prev {
        width: 300px;
        /* display: block; */
        position: absolute;
        left: -300px;
        transition: all 600ms;
        top: -400px;
        display: none;
    }
    /* .first-banner .main-img .content-div .product-img .active-product {
            width: 200px;
            position: absolute;
            left: 50px;
            transition: all 600ms;
            top: 0px;
        } */
    .first-banner .main-img .content-div .product-img .active-product {
        width: 40%;
        position: absolute;
        transition: all 600ms;
        top: -70px;
        left: calc(50% - 20%);
        display: none;
    }
    .first-banner .main-img svg {
        width: 40%;
        position: absolute;
        left: 0px;
        top: -200px;
        opacity: .5;
        rotate: 180deg;
        display: none;
    }
    /* carve-div */
    .first-banner .carve-div {
        position: relative;
        width: 100%;
        margin-top: 0px;
        padding: 20px;
        background-color: #dc96bf;
        height: fit-content;
        padding-top: 140px;
    }
    .first-banner .carve-div .circle-sm {
        width: 100%;
        height: 300px;
        /* background-color: rgb(100, 19, 19); */
        background-color: #dc96bf;
        position: absolute;
        left: 0px;
        border-radius: 50%;
        bottom: -150px;
        /* z-index: 10000; */
    }
    .first-banner .carve-div svg {
        width: 140%;
        position: absolute;
        right: 0px;
        top: 0px;
        color: #00563f79;
        opacity: .8;
        /* transform: scaleX(-1); */
        rotate: 90deg;
    }
    .first-banner .carve-div .curve {
        width: 100%;
        position: absolute;
        right: 0px;
        bottom: 100px !important;
        top: auto;
        color: #00563f79;
        opacity: 1;
        /* transform: scaleX(-1); */
        rotate: 0deg !important;
        z-index: 100001;
    }
    .first-banner .carve-div .content-div {
        z-index: 100000;
        position: relative;
    }
    .first-banner .carve-div .content-div h1 {
        font-family: "Yekan1" !important;
        color: #fff;
        font-size: 23px;
        text-align: center;
        line-height: 40px;
    }
    .first-banner .carve-div .content-div p {
        color: #fff;
        text-align: justify;
        font-size: 16px;
        line-height: 35px;
        margin-top: 10px;
        width: 100%;
    }
    .first-banner .carve-div .slider-position {
        /* background-color: red; */
        position: absolute;
        width: 100%;
        z-index: 1000000;
        right: 0px;
    }
    .first-banner .carve-div .slider-position .title {
        color: #fff;
        font-size: 22px;
        text-align: center;
        margin-top: 20px;
    }
    .first-banner .carve-div .slider-items {
        display: flex;
        align-items: center;
        position: relative;
        margin-top: 10px;
    }
    .swiper {
        padding-bottom: 1000px !important;
    }
    .first-banner .carve-div .slider-items .item {
        width: 60px;
        padding: 10px;
        /* background-color: rgba(255, 255, 255, 0.253); */
        border-radius: 10px;
        cursor: pointer;
        position: relative;
    }
    .first-banner .carve-div .slider-items .item h6 {
        font-family: "Yekan1" !important;
        text-align: center;
        display: none;
    }
    .first-banner .carve-div .slider-items .item .d-flex {
        display: none !important;
    }
    .first-banner .carve-div .slider-items .swiper-slide-active h6 {
        display: block;
        margin-top: 20px;
    }
    .first-banner .carve-div .slider-items .swiper-slide-active .d-flex {
        display: flex !important;
    }
    .first-banner .carve-div .slider-items .swiper-slide-active .d-flex a {
        width: 200px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 35px;
        text-decoration: none;
        color: #fff;
        height: 35px;
        font-size: 12px;
        z-index: 1;
        position: relative;
        transition: all 1500ms;
    }
    .first-banner .carve-div .slider-items .active-item::before {
        content: "";
    }
    .first-banner .carve-div .slider-items .item img {
        width: 100%;
        /* transition: all 1000ms; */
    }
    .first-banner .carve-div .slider-items .swiper-slide {
        transform: scale(.7);
        transition: transform 500ms ease;
        width: 130px !important;
    }
    .first-banner .carve-div .slider-items .swiper-slide-active {
        transition: transform 1000ms ease;
        /* transform: 1 !important; */
        transform: scale(1.1);
    }
    .star-1-div {
        display: none;
    }
    .star-2-div {
        display: none;
    }
    .star-3-div {
        display: none;
    }
}

/* Redesigned special-offers world: a single green visual language. */
.special-offers-section {
    position: relative;
    padding: 28px 0 76px;
    overflow: hidden;
    background: linear-gradient(180deg, transparent 0%, rgba(0, 128, 96, .055) 48%, transparent 100%);
}

.popular-slider--redesigned {
    position: relative;
    min-height: 590px;
    margin-top: 100px !important;
    padding: 34px 34px 28px;
    overflow: hidden;
    isolation: isolate;
    border: 1px solid rgba(0, 128, 96, .35);
    border-radius: 38px;
    background:
        radial-gradient(circle at 92% 5%, rgba(0, 128, 96, .32), transparent 33%),
        linear-gradient(145deg, #08795c 0%, #006c50 45%, #00563f 100%);
    box-shadow: 0 35px 80px rgba(0, 86, 63, .2);
}

.popular-slider--redesigned::before {
    content: "";
    position: absolute;
    inset: 10px;
    z-index: -1;
    width: auto !important;
    height: auto !important;
    border: 1px solid rgba(0, 128, 96, .65);
    border-radius: 30px;
    background: transparent !important;
    pointer-events: none;
}

.special-offers-motion {
    position: absolute;
    inset: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    visibility: hidden;
    transition: opacity .35s ease;
    pointer-events: none;
}

.special-offers-section.motion-active .special-offers-motion {
    opacity: .72;
    visibility: visible;
}

.best-sellers-section {
    position: relative;
    min-height: 610px;
    padding: 70px 0 76px;
    overflow: hidden;
    isolation: isolate;
    background: linear-gradient(180deg, rgba(0, 128, 96, .025), rgba(0, 86, 63, .09), rgba(0, 128, 96, .025));
    content-visibility: auto;
    contain-intrinsic-size: 610px;
}

.best-sellers-section::before {
    content: "";
    position: absolute;
    inset: 38px 3%;
    z-index: -2;
    border: 1px solid rgba(0, 128, 96, .2);
    border-radius: 44px;
    background: rgba(226, 244, 235, .52);
}

.best-sellers-head {
    position: relative;
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
    padding: 0 22px 18px;
    border-bottom: 1px solid rgba(0, 128, 96, .2);
}

.best-sellers-title {
    gap: 6px;
}

.best-sellers-title-icon {
    width: 112px;
    height: 90px;
    margin-left: 4px;
    object-fit: contain;
}

.best-sellers-title span {
    color: #008060;
    font-size: 11px;
    font-weight: 800;
}

.best-sellers-title .section-title {
    margin: 2px 0 0 !important;
    color: #00563f;
    font-size: 28px;
}

.best-sellers-title .section-title::before {
    display: none;
}

.best-sellers-all {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 11px 17px;
    border: 1px solid rgba(0, 128, 96, .28);
    border-radius: 14px;
    background: #00563f;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    transition: background .25s ease, transform .25s ease;
}

.best-sellers-all:hover {
    background: #008060;
    color: #fff;
    transform: translateY(-3px);
}

.best-sellers-swiper {
    position: relative;
    z-index: 3;
    padding: 12px 8px 24px !important;
    contain: layout paint;
}

.best-sellers-section .chantito-product-card {
    margin-top: 8px;
    border-color: rgba(0, 128, 96, .32);
}

.about-caffe,
.articles-section,
.faq-index,
.special-offers-section {
    content-visibility: auto;
    contain-intrinsic-size: 600px;
}

.chantito-product-card {
    contain: layout paint;
}

@media (max-width: 767px) {
    .best-sellers-section {
        min-height: 0;
        padding: 32px 0 38px;
        contain-intrinsic-size: 430px;
    }

    .best-sellers-section::before {
        inset: 12px 2%;
        width: 96%;
        height: calc(100% - 24px);
        border-radius: 25px;
    }

    .best-sellers-head {
        margin-bottom: 12px;
        padding: 0 5px 11px;
    }

    .best-sellers-title {
        gap: 2px;
    }

    .best-sellers-title-icon {
        width: 62px;
        height: 55px;
    }

    .best-sellers-title span {
        font-size: 8px;
    }

    .best-sellers-title .section-title {
        font-size: 17px;
    }

    .best-sellers-all {
        gap: 5px;
        padding: 8px 10px;
        border-radius: 10px;
        font-size: 9px;
    }

    .best-sellers-swiper {
        padding: 5px 1px 12px !important;
    }
}

.popular-slider--redesigned .head-popular {
    position: relative;
    z-index: 6 !important;
    padding: 0 4px 18px !important;
    border-bottom: 1px solid rgba(0, 128, 96, .75);
}

.popular-slider--redesigned .title-popular {
    gap: 16px;
}

.popular-slider--redesigned .special-offers-badge {
    display: grid !important;
    flex: 0 0 66px;
    width: 66px !important;
    height: 66px !important;
    padding: 0 !important;
    place-items: center;
    border: 1px solid #008060;
    border-radius: 22px !important;
    background: #00563f !important;
    box-shadow: inset 0 0 0 7px rgba(0, 128, 96, .28), 0 12px 28px rgba(0, 86, 63, .32);
    color: #fff;
    font-size: 28px !important;
    font-weight: 900;
    transform: rotate(-6deg);
}

.popular-slider--redesigned .title-popular small {
    display: block;
    margin-bottom: 2px;
    color: #8ed7bd;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
}

.popular-slider--redesigned .title-popular h2 {
    margin: 0 !important;
    color: #fff;
    font-size: 30px !important;
    line-height: 1.4;
}

.popular-slider--redesigned .title-popular p {
    margin: 3px 0 0;
    color: rgba(226, 248, 239, .72);
    font-size: 12px;
}

.popular-slider--redesigned .navigate {
    gap: 9px;
}

.popular-slider--redesigned .navigate i,
.popular-slider--redesigned .navigate i:first-child {
    display: grid;
    width: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    place-items: center;
    border: 1px solid rgba(139, 220, 188, .65) !important;
    border-radius: 15px !important;
    background: rgba(0, 86, 63, .72);
    color: #fff;
    transition: background .25s ease, transform .25s ease;
}

.popular-slider--redesigned .navigate i:hover {
    background: #008060;
    transform: translateY(-3px);
}

.popular-slider--redesigned .slider-popular {
    position: relative;
    z-index: 4;
    padding: 0 !important;
}

.popular-slider--redesigned .popularswiper {
    padding: 12px 4px 22px !important;
    overflow: visible;
}

.popular-slider--redesigned .chantito-product-card {
    margin-top: 12px;
    border-color: rgba(87, 181, 139, .52);
    box-shadow: 0 20px 42px rgba(0, 52, 38, .3);
}

@media (max-width: 767px) {
    .special-offers-section {
        padding: 8px 0 42px;
    }

    .popular-slider--redesigned {
        min-height: 0;
        height: auto !important;
        margin-top: 38px !important;
        padding: 20px 12px 14px;
        border-radius: 25px;
    }

    .popular-slider--redesigned::before {
        inset: 7px;
        border-radius: 20px;
    }

    .popular-slider--redesigned .head-popular {
        padding: 0 2px 13px !important;
    }

    .popular-slider--redesigned .title-popular {
        gap: 9px;
    }

    .popular-slider--redesigned .special-offers-badge {
        flex-basis: 42px;
        width: 42px !important;
        height: 42px !important;
        border-radius: 13px !important;
        font-size: 19px !important;
    }

    .popular-slider--redesigned .title-popular small {
        font-size: 8px;
    }

    .popular-slider--redesigned .title-popular h2 {
        font-size: 18px !important;
    }

    .popular-slider--redesigned .title-popular p {
        display: none;
    }

    .popular-slider--redesigned .navigate {
        gap: 5px;
    }

    .popular-slider--redesigned .navigate i,
    .popular-slider--redesigned .navigate i:first-child {
        width: 34px !important;
        height: 34px !important;
        border-radius: 11px !important;
        font-size: 16px;
    }

    .popular-slider--redesigned .popularswiper {
        padding: 8px 1px 12px !important;
        overflow: hidden;
    }

    .popular-slider--redesigned .chantito-product-card {
        margin-top: 5px;
    }
}


/*---about us--*/

.about-container {
    margin-top: 50px;
}

.header-top {
    background: linear-gradient(180deg, #47735f 0%, var(--green-dark) 42%, #123328 72%, #091f18 100%);
    padding: 7px;
    color: #fff;
    font-weight: 600;
    font-size: 0.95rem;
    border: 1px solid #68917d;
    border-radius: 22px;
    box-shadow: inset 0 2px 1px rgba(255, 255, 255, .28), inset 0 -3px 4px rgba(0, 0, 0, .45), 0 12px 26px rgba(44, 27, 18, .2);
    position: relative;
    z-index: 3;
}

.header-top::after {
    content: "";
    position: absolute;
    right: 50%;
    bottom: -14px;
    width: 108px;
    height: 24px;
    transform: translateX(50%);
    border: 2px solid #527c68;
    border-top: 0;
    border-radius: 0 0 18px 18px;
    background: linear-gradient(180deg, #143c2e, #275b46);
    box-shadow: 0 5px 8px rgba(33, 23, 17, .28);
    display: none;
}

.border-head {
    border: 1px solid rgba(190, 229, 209, .48);
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    min-height: 68px;
    padding: 10px 24px;
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    background: repeating-linear-gradient(100deg, rgba(202, 239, 220, .035) 0, rgba(202, 239, 220, .035) 1px, transparent 1px, transparent 5px);
}

.border-head::before {
    content: "";
    position: absolute;
    top: 6px;
    right: 14px;
    left: 14px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .75), transparent);
}

.border-head::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 30%, rgba(255, 255, 255, .09), transparent 70%);
    animation: border-glow 4.5s linear infinite;
    pointer-events: none;
}

@keyframes border-glow {
    0% {
        transform: translateX(-80%);
        opacity: 0.4;
    }
    50% {
        opacity: 1;
    }
    100% {
        transform: translateX(80%);
        opacity: 0.4;
    }
}

.header-top::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: repeating-linear-gradient( 45deg, rgba(255, 255, 255, 0.03) 0, rgba(255, 255, 255, 0.03) 1px, transparent 2px, transparent 4px);
    pointer-events: none;
}

.machine-display {
    min-width: 245px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 15px;
    border: 1px solid #5d9278;
    border-radius: 10px;
    color: #f8eee0;
    background: linear-gradient(180deg, #153c2e, #0b271d);
    box-shadow: inset 0 1px 5px rgba(0, 0, 0, .7), 0 1px 0 rgba(255, 255, 255, .12);
    text-shadow: 0 1px 5px rgba(0, 0, 0, .6);
}

.machine-light {
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border-radius: 50%;
    background: #71c49c;
    box-shadow: 0 0 0 3px rgba(113, 196, 156, .12), 0 0 9px #71c49c;
    animation: machine-light-pulse 2.2s ease-in-out infinite;
}

.machine-group-head {
    position: absolute;
    right: 50%;
    top: 7px;
    transform: translateX(50%);
    width: 118px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    color: #c9bbaa;
    letter-spacing: 1.5px;
    z-index: 1;
}

.coffee-bean-mark {
    width: 34px;
    height: 34px;
    display: block;
    position: relative;
    border-radius: 58% 42% 58% 42%;
    transform: rotate(38deg);
    background: linear-gradient(145deg, #b77946, #59331e);
    box-shadow: inset 3px 3px 4px rgba(255, 255, 255, .16), 0 3px 7px rgba(0, 0, 0, .35);
}

.coffee-bean-mark::after {
    content: "";
    position: absolute;
    top: 4px;
    bottom: 4px;
    right: 15px;
    width: 3px;
    border-radius: 50%;
    background: #2f1b11;
    transform: rotate(8deg);
}

.machine-group-head small {
    font-size: 7px;
}

@keyframes machine-light-pulse {
    0%,
    100% {
        opacity: .55;
    }
    50% {
        opacity: 1;
    }
}

.left-text,
.right-text {
    position: relative;
    font-weight: 700;
    font-size: 1rem;
    letter-spacing: 0.5px;
}

.about-content {
    margin-top: 20px;
}

.side-icons {
    display: flex;
    flex-direction: column;
    justify-content: end;
    gap: 16px;
    margin-inline: 18px;
}

.icon-item {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-width: 270px;
    padding: 13px 14px;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(91, 55, 34, .12);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(248, 243, 234, .88));
    box-shadow: 0 10px 28px rgba(65, 38, 23, .08);
    isolation: isolate;
    transition: transform .4s cubic-bezier(.2, .8, .2, 1), box-shadow .4s ease, border-color .4s ease;
}

.icon-item::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(110deg, transparent 20%, rgba(255, 255, 255, .9) 48%, transparent 76%);
    transform: translateX(-120%);
    transition: transform .75s ease;
}

.icon-item::after {
    content: "";
    position: absolute;
    top: 18%;
    right: 0;
    bottom: 18%;
    width: 3px;
    border-radius: 4px 0 0 4px;
    background: linear-gradient(to bottom, var(--green-light), var(--green-dark));
    transform: scaleY(.35);
    opacity: .55;
    transition: transform .4s ease, opacity .4s ease;
}

.icon-item:hover {
    transform: translateY(-5px);
    border-color: rgba(91, 55, 34, .24);
    box-shadow: 0 16px 36px rgba(65, 38, 23, .14);
}

.icon-item:hover::before {
    transform: translateX(120%);
}

.icon-item:hover::after {
    transform: scaleY(1);
    opacity: 1;
}

.icons-ready .icon-item {
    opacity: 0;
    transform: translateX(32px) scale(.97);
}

.icons-ready .side-icons:last-child .icon-item {
    transform: translateX(-32px) scale(.97);
}

.icons-ready .icon-item.icon-visible {
    opacity: 1;
    transform: translateX(0) scale(1);
    transition: opacity .65s ease var(--icon-delay, 0ms), transform .7s cubic-bezier(.2, .8, .2, 1) var(--icon-delay, 0ms), box-shadow .4s ease, border-color .4s ease;
}

.icons-ready .icon-item.icon-visible:hover {
    transform: translateY(-5px) scale(1);
}

.hex {
    width: 64px;
    height: 64px;
    flex: 0 0 64px;
    background: linear-gradient(145deg, var(--green-light), var(--green-dark));
    color: #fff;
    clip-path: polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.4rem;
    transition: transform .45s cubic-bezier(.2, .8, .2, 1), filter .45s ease;
    margin-left: 10px;
    filter: drop-shadow(0 7px 8px rgba(24, 65, 48, .2));
}

.icon-item:hover .hex {
    transform: rotate(6deg) scale(1.08);
    filter: drop-shadow(0 10px 10px rgba(24, 65, 48, .3));
}

.hex img {
    width: 32px;
    filter: brightness(0) invert(1);
    transition: transform .45s ease;
}

.icon-item:hover .hex img {
    transform: rotate(-6deg) scale(1.08);
}

.icon-item .text h6,
.icon-item .text-2 h6 {
    font-size: 1rem;
    font-weight: 700;
    color: var(--coffee-brown);
    margin-bottom: 5px;
}

.icon-item .text p,
.icon-item .text-2 p {
    font-size: 0.8rem;
    color: #75685f;
    margin-bottom: 0;
    line-height: 1.7;
}

.icon-item .text-2 {
    text-align: left;
    width: 150px;
}

.center-coffee {
    position: relative;
    width: 280px;
    flex: 0 0 280px;
}

.coffee-nozzle {
    width: 100%;
    margin-top: -78px;
}

.coffee-machine-svg {
    display: block;
    width: 100%;
    height: auto;
    overflow: visible;
}

.coffee-stream,
.stream-halo {
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
}

.coffee-drop,
.steam {
    opacity: 0;
}

.coffee-pour {
    pointer-events: none;
}

.coffee-fill-progress .coffee-drop {
    animation: coffee-drop-pulse .85s ease-in-out infinite;
}

.steam-line {
    stroke-width: 4;
    stroke-dasharray: 18 10;
    animation: coffee-steam 2.8s ease-in-out infinite;
}

.steam-line-2 {
    animation-delay: -.9s;
}

.steam-line-3 {
    animation-delay: -1.7s;
}

@keyframes coffee-steam {
    0% {
        stroke-dashoffset: 28;
        transform: translateY(7px);
        opacity: 0;
    }
    35% {
        opacity: .75;
    }
    100% {
        stroke-dashoffset: -28;
        transform: translateY(-8px);
        opacity: 0;
    }
}

@keyframes coffee-drop-pulse {
    0%,
    100% {
        transform: scaleX(.7);
        opacity: .35;
    }
    50% {
        transform: scaleX(1.2);
        opacity: .9;
    }
}

@media (max-width: 700px) and (min-width: 600px) {
    .coffee-nozzle {
        margin-top: -60px;
    }
}

/* Tablet layout: the desktop three-column composition does not fit below 992px. */
@media (min-width: 601px) and (max-width: 991px) {
    .about-content {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        column-gap: 18px;
        row-gap: 24px;
        align-items: start;
        width: 100%;
    }
    .center-coffee {
        grid-column: 1 / -1;
        grid-row: 1;
        width: 250px;
        max-width: 42vw;
        margin: 0 auto 10px;
        justify-self: center;
    }
    .side-icons {
        width: 100%;
        min-width: 0;
        margin: 0 !important;
        padding: 0 !important;
        gap: 16px;
        align-self: stretch;
        justify-content: flex-start;
    }
    .icon-item {
        width: 100%;
        min-width: 0;
        min-height: 92px;
        margin-bottom: 0 !important;
        padding: 12px;
    }
    .icon-item .text {
        min-width: 0;
        margin-left: 6px !important;
    }
    .icon-item .text p {
        overflow-wrap: anywhere;
    }
    .hex {
        width: 58px;
        height: 58px;
        flex-basis: 58px;
    }
    .icons-ready .icon-item,
    .icons-ready .side-icons:last-child .icon-item {
        transform: translateY(24px) scale(.97);
    }
    .icons-ready .icon-item.icon-visible {
        transform: translateY(0) scale(1);
    }
    .machine-display {
        min-width: 0;
        width: calc(50% - 70px);
    }
}

@media (max-width: 600px) {
    .header-top {
        padding: 5px;
        border-radius: 16px;
    }
    .border-head {
        min-height: 62px;
        padding: 8px 7px;
        border-radius: 12px;
    }
    .machine-display {
        min-width: 0;
        width: calc(50% - 36px);
        min-height: 38px;
        gap: 5px;
        padding: 6px;
        font-size: 10px;
        line-height: 1.45;
    }
    .machine-light {
        width: 6px;
        height: 6px;
        flex-basis: 6px;
    }
    .machine-group-head {
        width: 64px;
        top: 8px;
    }
    .coffee-bean-mark {
        width: 27px;
        height: 27px;
    }
    .coffee-bean-mark::after {
        right: 12px;
    }
    .machine-group-head small {
        font-size: 5px;
    }
    .header-top::after {
        width: 82px;
        height: 18px;
        bottom: -11px;
    }
    .about-content {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr);
        gap: 15px 20px;
        align-items: start;
        justify-items: center;
    }
    .center-coffee {
        grid-column: 1 / -1;
        order: -1;
        width: 220px;
        flex-basis: 220px;
        margin-bottom: 25px;
        justify-self: center;
    }
    .side-icons {
        display: flex !important;
        flex-direction: column;
        gap: 20px;
        align-items: center;
        justify-content: flex-start;
        margin: 40px 0 0;
        align-self: stretch;
    }
    .icon-item {
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        text-align: center;
        min-width: 0;
        width: 100%;
        height: 178px;
        padding: 14px 8px;
        margin-bottom: 0 !important;
    }
    .hex {
        margin-left: 0;
        margin-bottom: 10px;
    }
    .text {
        margin-left: 0 !important;
    }
    .icon-item .text h6,
    .icon-item .text p {
        text-align: center;
    }
    .icon-item .text {
        width: 100%;
    }
    .icon-item .text h6 {
        min-height: 24px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .icon-item .text p {
        min-height: 44px;
        display: flex;
        align-items: flex-start;
        justify-content: center;
    }
    .icon-item::after {
        top: auto;
        right: 25%;
        bottom: 0;
        left: 25%;
        width: auto;
        height: 3px;
        transform: scaleX(.35);
    }
    .icon-item:hover::after {
        transform: scaleX(1);
    }
    .icons-ready .icon-item,
    .icons-ready .side-icons:last-child .icon-item {
        transform: translateY(24px) scale(.97);
    }
    .icons-ready .icon-item.icon-visible {
        transform: translateY(0) scale(1);
    }
    .left-text,
    .right-text {
        font-size: 12px;
    }
    .coffee-nozzle {
        margin-top: -61px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .steam-line,
    .coffee-fill-progress .coffee-drop {
        animation: none;
    }
    .icons-ready .icon-item,
    .icons-ready .side-icons:last-child .icon-item {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

@media (max-width: 435px) {
    .border-head {
        padding: 8px 6px;
    }
}


/*---end about us--*/


/*--card-caffe--*/

/* Shared green product card used by both home-page product sliders. */
.chantito-product-card {
    position: relative;
    display: flex !important;
    flex-direction: column;
    min-height: 470px;
    margin-top: 24px;
    padding: 14px;
    overflow: hidden;
    isolation: isolate;
    border: 1px solid rgba(185, 225, 204, .28);
    border-radius: 28px;
    background:
        radial-gradient(circle at 20% 5%, rgba(80, 181, 128, .3), transparent 36%),
        linear-gradient(155deg, #0c654b 0%, #064c39 42%, #032e24 100%);
    box-shadow: 0 18px 46px rgba(4, 54, 40, .19);
    color: #fff;
    text-align: right;
    transform: translateZ(0);
    transition: transform .45s cubic-bezier(.2, .8, .2, 1), box-shadow .45s ease, border-color .45s ease;
}

.chantito-product-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image: linear-gradient(115deg, transparent 28%, rgba(255, 255, 255, .1) 48%, transparent 68%);
    transform: translateX(115%);
    transition: transform .8s ease;
}

.chantito-product-card::after {
    content: "";
    position: absolute;
    right: -48px;
    bottom: -65px;
    z-index: -2;
    width: 190px;
    height: 190px;
    border: 1px solid rgba(177, 226, 200, .16);
    border-radius: 50%;
    box-shadow: 0 0 0 28px rgba(177, 226, 200, .045), 0 0 0 58px rgba(177, 226, 200, .025);
}

.chantito-product-card:hover {
    border-color: rgba(205, 242, 222, .55);
    box-shadow: 0 26px 62px rgba(3, 49, 36, .3);
    transform: translateY(-9px);
}

.chantito-product-card:hover::before {
    transform: translateX(-115%);
}

.chantito-product-card__glow {
    position: absolute;
    top: -80px;
    left: -60px;
    z-index: -1;
    width: 210px;
    height: 210px;
    border-radius: 50%;
    background: rgba(93, 205, 146, .2);
    filter: blur(34px);
    pointer-events: none;
}

.chantito-product-card__discount {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 8;
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border: 1px solid rgba(255, 223, 223, .85);
    border-radius: 15px;
    background: linear-gradient(145deg, #f04444, #bd1717);
    box-shadow: 0 9px 22px rgba(120, 0, 0, .3);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
}

.chantito-product-card__link {
    color: inherit;
    text-decoration: none;
}

.chantito-product-card__link:hover {
    color: inherit;
    text-decoration: none;
}

.chantito-product-card__visual {
    position: relative;
    display: grid;
    height: 226px;
    place-items: center;
    perspective: 800px;
}

.chantito-product-card__halo {
    position: absolute;
    width: 166px;
    height: 166px;
    border: 1px solid rgba(218, 245, 230, .26);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(194, 239, 214, .2), rgba(88, 171, 126, .08) 50%, transparent 72%);
    box-shadow: inset 0 0 34px rgba(255, 255, 255, .08), 0 0 0 20px rgba(255, 255, 255, .025);
    transition: transform .55s ease, opacity .55s ease;
}

.chantito-product-card__image {
    position: absolute;
    z-index: 3;
    width: auto;
    max-width: 76%;
    height: 192px;
    object-fit: contain;
    filter: drop-shadow(0 24px 18px rgba(0, 24, 17, .32));
    backface-visibility: hidden;
    transform-origin: 50% 60%;
    transition: opacity .42s ease, transform .58s cubic-bezier(.2, .75, .2, 1);
}

.chantito-product-card__image--front {
    opacity: 1;
    transform: translateY(2px) rotateY(0) scale(1);
}

.chantito-product-card__image--back {
    opacity: 0;
    transform: translateY(8px) rotateY(-22deg) scale(.9);
}

.chantito-product-card:hover .chantito-product-card__image--front {
    opacity: 0;
    transform: translateY(-8px) rotateY(22deg) scale(.92);
}

.chantito-product-card:hover .chantito-product-card__image--back {
    opacity: 1;
    transform: translateY(-7px) rotateY(0) scale(1.06);
}

.chantito-product-card:hover .chantito-product-card__halo {
    opacity: .82;
    transform: scale(1.08) rotate(8deg);
}

.chantito-product-card__shadow {
    position: absolute;
    bottom: 17px;
    width: 112px;
    height: 19px;
    border-radius: 50%;
    background: rgba(0, 26, 18, .36);
    filter: blur(8px);
    transition: opacity .4s ease, transform .4s ease;
}

.chantito-product-card:hover .chantito-product-card__shadow {
    opacity: .65;
    transform: scaleX(.82);
}

.chantito-product-card__body {
    position: relative;
    z-index: 4;
    padding: 0 7px;
}

.chantito-product-card__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #aee3c6;
    font-size: 11px;
    font-weight: 600;
}

.chantito-product-card__eyebrow::before {
    content: "";
    width: 18px;
    height: 2px;
    border-radius: 2px;
    background: #7bd3a4;
}

.chantito-product-card__body h3 {
    height: 55px;
    margin: 8px 0 3px;
    overflow: hidden;
    color: #fff;
    font-family: "Yekan1" !important;
    font-size: 19px;
    font-weight: 800;
    line-height: 27px;
}

.chantito-product-card__body p {
    height: 39px;
    margin: 0;
    overflow: hidden;
    color: rgba(231, 247, 238, .72);
    font-size: 12px;
    line-height: 20px;
}

.chantito-product-card__footer {
    position: relative;
    z-index: 5;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 10px;
    min-height: 66px;
    margin-top: auto;
    padding: 12px 7px 3px;
    border-top: 1px solid rgba(210, 241, 224, .15);
}

.chantito-product-card .product-card-price {
    min-width: 0;
    align-items: flex-start;
}

.chantito-product-card .product-discount-row {
    justify-content: flex-start;
}

.chantito-product-card .product-discount-badge {
    display: none;
}

.chantito-product-card .product-old-price {
    color: rgba(224, 242, 232, .56);
    font-size: 10px;
}

.chantito-product-card .product-final-price {
    display: flex;
    align-items: center;
    gap: 5px;
    color: #fff;
    font-size: 17px;
    font-weight: 800;
}

.chantito-product-card .product-final-price img {
    width: 18px;
}

.chantito-product-card__cart {
    display: grid;
    flex: 0 0 47px;
    width: 47px;
    height: 47px;
    place-items: center;
    border: 1px solid rgba(219, 247, 232, .72);
    border-radius: 16px;
    background: #0b7a58;
    box-shadow: 0 10px 22px rgba(0, 25, 17, .24);
    transition: background .3s ease, transform .3s ease, box-shadow .3s ease;
}

.chantito-product-card__cart img {
    width: 24px;
    height: 24px;
}

.chantito-product-card__cart:hover {
    background: #095f46;
    box-shadow: 0 13px 26px rgba(0, 25, 17, .33);
    transform: translateY(-3px) rotate(-4deg);
}

.chantito-product-card .product-contact-card {
    width: auto;
    min-height: 38px;
    padding: 7px 13px;
    border-color: rgba(223, 245, 232, .9);
    background: #f4fff8;
    color: #075c43;
    box-shadow: 0 7px 16px rgba(0, 25, 17, .17);
    font-size: 11px;
}

.chantito-product-card .product-contact-card > span {
    color: #075c43 !important;
    line-height: 1.4;
}

.chantito-product-card .product-contact-card-icon {
    color: #087456;
}

.chantito-product-card__footer--contact {
    align-items: center;
    justify-content: center;
}

@media (max-width: 767px) {
    .chantito-product-card {
        height: auto;
        min-height: 264px;
        margin-top: 8px;
        padding: 7px;
        border-radius: 18px;
    }

    .chantito-product-card__discount {
        top: 8px;
        right: 8px;
        width: 34px;
        height: 34px;
        border-radius: 10px;
        font-size: 10px;
    }

    .chantito-product-card__visual {
        height: 132px;
    }

    .chantito-product-card__halo {
        width: 102px;
        height: 102px;
    }

    .chantito-product-card__image {
        max-width: 82%;
        height: 114px;
    }

    .chantito-product-card__body {
        padding: 0 2px;
    }

    .chantito-product-card__body h3 {
        height: 38px;
        margin: 0;
        font-size: 13px;
        line-height: 19px;
    }

    .chantito-product-card__body p {
        display: none;
    }

    .chantito-product-card__footer {
        gap: 4px;
        min-height: 49px;
        margin-top: 3px;
        padding: 6px 1px 0;
    }

    .chantito-product-card .product-final-price {
        gap: 2px;
        font-size: 11px;
    }

    .chantito-product-card .product-old-price {
        font-size: 7px;
    }

    .chantito-product-card__cart {
        flex-basis: 33px;
        width: 33px;
        height: 33px;
        border-radius: 10px;
    }

    .chantito-product-card__cart img {
        width: 18px;
        height: 18px;
    }

    .chantito-product-card .product-contact-card {
        min-height: 30px;
        padding: 4px 7px;
        font-size: 8px;
    }

    .chantito-product-card .product-final-price img {
        width: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .chantito-product-card,
    .chantito-product-card::before,
    .chantito-product-card__image,
    .chantito-product-card__halo,
    .chantito-product-card__shadow {
        transition: none !important;
    }
}

.menu-section {
    display: flex;
    align-items: center;
}

.lottie-player {
    width: 200px;
}


/* .menu-section .container {
        max-width: 1100px;
    } */

.section-title {
    font-size: 1.8rem;
    font-family: "Yekan1" !important;
    letter-spacing: 0.5px;
    margin-top: 60px;
    position: relative;
}

.section-title::before {
    content: "";
    width: 114%;
    height: 2px;
    border-bottom: 1px solid rgb(219, 219, 219);
    position: absolute;
    bottom: -11px;
    right: -35px;
}

@media (max-width: 500px) {
    .lottie-player {
        width: 150px;
    }
    .section-title {
        font-size: 20px;
        font-family: "Yekan1" !important;
        letter-spacing: 0.5px;
        margin-top: 50px;
        position: relative;
    }
    .section-title::before {
        content: "";
        width: 114%;
        height: 2px;
        border-bottom: 1px solid rgb(219, 219, 219);
        position: absolute;
        bottom: -9px;
        right: -35px;
    }
}

.productswiper {
    padding-bottom: 0px !important;
}

@media (min-width: 992px) {
    .coffee-card {
        position: relative;
        background: var(--green-dark);
        backdrop-filter: blur(14px);
        border: 1px solid rgba(255, 255, 255, 0.15);
        border-radius: 18px;
        transition: all 0.4s ease;
        height: 100%;
        width: 280px;
        margin-top: 86px;
        text-decoration: none;
        padding: 10px !important;
        padding-top: 30px !important;
    }
    /*
        @media (max-width: 992px) {
            .swiper-slide-active .coffee-img {
                top: -115px;
            }
            .swiper-slide-active .coffee-img .img1 {
                display: none;
                transform: scale(1.05) translateY(-6px);
            }
            .swiper-slide-active .coffee-img .img2 {
                display: block !important;
            }
        } */
    /* .coffee-card:hover .coffee-img {
            top: -115px;
        }

        .coffee-card:hover .coffee-img .img1 {
            display: none;
            transform: scale(1.05) translateY(-6px);
        } */
    .coffee-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    }
    .rating-card {
        top: -25px;
        left: 50%;
        transform: translateX(-50%);
        width: 140px;
        height: 85px;
        background: var(--green-light);
        backdrop-filter: blur(12px);
        color: #fff;
        font-weight: 600;
        font-size: 0.9rem;
        border: 1px solid rgba(255, 255, 255, 0.25);
        z-index: 3;
    }
    .rating-card span {
        background-color: #fff;
        color: #000;
        padding: 3px;
        font-size: 11px;
        border-radius: 7px;
        position: relative;
        left: 60%;
        top: 26%;
    }
    .coffee-img {
        position: absolute;
        top: -80px;
        left: 50%;
        transform: translateX(-50%);
        z-index: 4;
    }
    /* .coffee-img img {
            filter: drop-shadow(0 8px 20px rgba(0, 0, 0, 0.45));
            transition: transform 0.4s ease;
            width: 70px;
        } */
    /* .coffee-card:hover .coffee-img img {
            transform: translateY(-6px) scale(1.05);
        }

        .coffee-img .img2 {
            display: none;
            width: 110px;
        }

        .coffee-card:hover .coffee-img {
            top: -115px;
        }

        .coffee-card:hover .coffee-img .img1 {
            display: none;
            width: 110px;
        }

        .coffee-card:hover .coffee-img .img1 {
            display: none;
            width: 110px;
        }

        .coffee-card:hover .coffee-img .img2 {
            display: block;
        } */
    .coffee-card .coffee-img img {
        width: 70px;
    }
    .coffee-card .coffee-img .img2 {
        display: none;
    }
    .coffee-card:hover .coffee-img .img2 {
        display: block;
    }
    .coffee-card:hover .coffee-img .img1 {
        display: none;
    }
    .coffee-info h5 {
        color: #fff;
        font-size: 1.25rem;
        font-weight: 700;
        min-height: 40px;
        line-height: 30px;
        height: 60px;
    }
    .coffee-info p {
        color: rgba(255, 255, 255, 0.7);
        line-height: 1.5;
        font-size: 0.9rem;
    }
    .coffee-info span {
        color: #fff;
    }
    .coffee-info .btn {
        background: rgba(255, 255, 255, 0.2);
        border: none;
        color: #fff;
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.2rem;
        transition: all 0.3s ease;
        padding: 0px;
    }
    .coffee-info button img {
        width: 60%;
    }
    .coffee-info .btn:hover {
        background: rgba(255, 255, 255, 0.35);
        transform: scale(1.1);
    }
}

@media (max-width: 992px) {
    .coffee-card {
        position: relative;
        background: var(--green-dark);
        backdrop-filter: blur(14px);
        border: 1px solid rgba(255, 255, 255, 0.15);
        border-radius: 18px;
        transition: all 0.4s ease;
        /* padding-top: 70px; */
        height: 100%;
        width: 49%;
        margin-top: 86px;
        text-decoration: none;
        padding: 5px !important;
        padding-top: 20px !important;
        padding-bottom: 10px !important;
    }
    /*
        @media (max-width: 992px) {
            .swiper-slide-active .coffee-img {
                top: -115px;
            }
            .swiper-slide-active .coffee-img .img1 {
                display: none;
                transform: scale(1.05) translateY(-6px);
            }
            .swiper-slide-active .coffee-img .img2 {
                display: block !important;
            }
        } */
    /* .coffee-card:hover .coffee-img {
            top: -115px;
        }

        .coffee-card:hover .coffee-img .img1 {
            display: none;
            transform: scale(1.05) translateY(-6px);
        } */
    .coffee-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    }
    .rating-card {
        top: -45px;
        left: 50%;
        transform: translateX(-50%);
        width: 60%;
        height: 70px;
        background: var(--green-light);
        backdrop-filter: blur(12px);
        color: #fff;
        font-weight: 600;
        font-size: 0.9rem;
        border: 1px solid rgba(255, 255, 255, 0.25);
        z-index: 3;
    }
    .rating-card span {
        background-color: #fff;
        color: #000;
        padding: 3px;
        font-size: 11px;
        border-radius: 7px;
        position: relative;
        left: 60%;
        top: 26%;
    }
    .coffee-img {
        position: absolute;
        top: -70px;
        left: 50%;
        transform: translateX(-50%);
        z-index: 4;
    }
    /* .coffee-img img {
            filter: drop-shadow(0 8px 20px rgba(0, 0, 0, 0.45));
            transition: transform 0.4s ease;
            width: 70px;
        } */
    /* .coffee-card:hover .coffee-img img {
            transform: translateY(-6px) scale(1.05);
        }

        .coffee-img .img2 {
            display: none;
            width: 110px;
        }

        .coffee-card:hover .coffee-img {
            top: -115px;
        }

        .coffee-card:hover .coffee-img .img1 {
            display: none;
            width: 110px;
        }

        .coffee-card:hover .coffee-img .img1 {
            display: none;
            width: 110px;
        }

        .coffee-card:hover .coffee-img .img2 {
            display: block;
        } */
    .coffee-card .coffee-img img {
        width: 50px;
    }
    .coffee-card .coffee-img .img2 {
        display: none;
    }
    .coffee-card:hover .coffee-img .img2 {
        display: block;
    }
    .coffee-card:hover .coffee-img .img1 {
        display: none;
    }
    .coffee-info {
        margin-top: 0px !important;
        padding-top: 0px !important;
    }
    .coffee-info h5 {
        color: #fff;
        font-size: .8rem;
        font-weight: 700;
        line-height: 22px;
        min-height: 38px;
    }
    .coffee-info p {
        color: rgba(255, 255, 255, 0.7);
        line-height: 1.5;
        font-size: 0.7rem;
        margin-top: 0px !important;
        margin-bottom: 10px !important;
        display: none;
    }
    .coffee-info span {
        color: #fff;
        font-size: 14px !important;
        margin-top: 10px;
    }
    .coffee-info span img {
        /* margin-top: 10px; */
        width: 20px;
    }
    .coffee-info .btn {
        background: rgba(255, 255, 255, 0.2);
        border: none;
        color: #fff;
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.2rem;
        transition: all 0.3s ease;
        padding: 0px;
        display: none;
    }
    .coffee-info button img {
        width: 60%;
    }
    .coffee-info .btn:hover {
        background: rgba(255, 255, 255, 0.35);
        transform: scale(1.1);
    }
}

/*--end card-caffe--*/


/* --caffe-latte--*/

.coffee-line-wrapper {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.coffee-line {
    width: 100%;
    /* max-width: 900px; */
    height: 55px;
    background: linear-gradient(90deg, #6b3e2e, #c49a6c, #6b3e2e);
    border-radius: 30px;
}

.coffee-text {
    font-size: 1.1rem;
    color: #fff;
    text-transform: uppercase;
    user-select: none;
}

.coffee-cup-center {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 135px;
    transform: translate(-50%, -50%);
    z-index: 2;
}

@media (max-width: 768px) {
    .coffee-line {
        height: 40px;
    }
    .coffee-cup-center {
        width: 115px;
    }
}

@media (max-width: 500px) {
    .coffee-line {
        max-width: 430px;
        height: 35px;
    }
    .coffee-cup-center {
        width: 100px;
    }
    .coffee-text {
        font-size: 10px;
        margin-left: -20px;
        margin-right: -20px;
    }
}


/*---article---*/

.articles-section {
    padding: 60px 0;
}

.articles-section .container {
    padding: 22px 14px;
}

.articles-section h2 {
    font-size: 25px;
    font-family: "Yekan1" !important;
}

.btn.btn-view-all {
    position: relative;
    padding: 8px 30px;
    font-size: 14px;
    font-weight: 400;
    color: #fff;
    background: linear-gradient(135deg, var(--green-dark), var(--green-light));
    border: none;
    border-radius: 20px;
    cursor: pointer;
    letter-spacing: 0.8px;
    overflow: hidden;
    transition: color 0.3s ease, background 0.3s ease;
}

.btn.btn-view-all::before {
    content: "";
    position: absolute;
    top: 0;
    left: -75%;
    width: 50%;
    height: 100%;
    background: rgba(255, 255, 255, 0.25);
    transform: skewX(-25deg);
    transition: left 0.6s ease;
}

.btn.btn-view-all:hover::before {
    left: 125%;
}

.btn.btn-view-all:hover {
    background: linear-gradient(135deg, var(--green-light), var(--green-dark));
    color: #eafff3;
}

.btn.btn-view-all:active {
    transform: scale(0.98);
}

.article-card {
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 18px 40px rgba(34, 42, 69, 0.06);
    padding: 20px 16px 18px;
    position: relative;
    overflow: visible;
    display: flex;
    flex-direction: column;
    transition: transform 0.14s ease, box-shadow 0.14s ease;
    margin-top: 30px;
}

.article-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 26px 60px rgba(34, 42, 69, 0.09);
}

.article-img {
    position: absolute !important;
    top: -28px !important;
    left: 50% !important;
    transform: translateX(-50%);
    width: 244px;
    /* height: 170px; */
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 22px rgba(34, 42, 69, 0.08);
    background: #f0f4fb;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 20px;
}

.article-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    margin-top: 0px;
}

.article-body {
    margin-top: 130px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}

.article-body h5 {
    font-size: 15px;
    font-weight: 700;
    margin: 0;
    color: #26313b;
    text-align: center;
    line-height: 1.25;
    padding-top: 15px;
}

.article-excerpt {
    margin: 0;
    font-size: 13px;
    color: #8c9aa6;
    text-align: right;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    padding: 0 6px;
}

.article-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: auto;
    border: 1px solid rgba(103, 255, 126, 0.12);
    border-radius: 12px !important;
    background: #edf4f1;
    width: 255px;
    height: 36px;
    margin-inline: auto;
}

.article-date {
    font-size: 12px;
    color: #9ea0aa;
    padding: 10px;
}

.btn-read {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: var(--green-light);
    text-decoration: none;
    font-weight: 700;
    font-size: 13px;
    padding: 0 10px;
    transition: all 0.2s ease;
}

.btn-read:hover {
    color: var(--green-dark);
}

.btn-read img {
    width: 12px;
    height: 12px;
    transform: rotate(180deg);
}

@media (max-width: 1270px) {
    .articles-section h2 {
        justify-content: center;
        text-align: center;
        width: 100%;
    }
    .article-card {
        width: min(92%, 292px);
        margin: 0 auto;
        margin-bottom: 10px;
    }
    .article-body {
        margin-top: 100px;
    }
    .btn-read {
        /* width: 100%; */
        max-width: 247px;
        box-sizing: border-box;
    }
    .article-img {
        /* height: 140px; */
        width: 244px;
    }
    /* .articles-section h2 {
            width: 40%;
        } */
    .article-body h5 {
        padding-top: 10px;
    }
}


/*---end article---*/


/*---end article---*/


/* faq-index */

@media (min-width: 991px) {
    .faq-index {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-top: 50px;
    }
    /* .faq-index .banner-div {
            width: 400px;
        }
        .faq-index .banner-div img {
            width: 100%;
            border-radius: 20px;
        } */
    .faq-index .img {
        position: relative;
        width: 464px;
        position: relative;
    }
    .faq-index .img img {
        width: 464px;
        height: 476px;
        border-radius: 16px;
        object-fit: cover;
        object-position: bottom;
    }
    .faq-index .text {
        position: absolute;
        width: 304px;
        height: 205px;
        border-radius: 16px;
        background: rgba(255, 255, 255, 0.527);
        /* رنگ سفید شفاف */
        backdrop-filter: blur(10px);
        /* مات کردن پشت */
        -webkit-backdrop-filter: blur(10px);
        /* برای مرورگرهای Webkit */
        padding: 16px;
        bottom: 40px;
        left: -65px;
    }
    .faq-index .text img {
        width: 133px;
        height: 49px;
    }
    .faq-index .text h3 {
        font-family: "Yekan1"!important;
        font-size: 20px;
        border-bottom: 1px solid #24242433;
        padding-bottom: 15px;
    }
    .faq-index .text h3 span {
        color: var(--green-light);
    }
    .faq-index .text p {
        font-size: 14px;
        color: #242424;
        line-height: 30px;
    }
    .faq-index .text p:last-child {
        font-size: 16px;
        color: #242424;
        margin-top: -10px;
    }
    .faq-index .text h6 {
        font-family: "Yekan1"!important;
        font-size: 24px;
        color: var(--green-light);
    }
    .faq-index .text-div {
        /* padding-right: 20px; */
        width: calc(100% - 650px);
    }
    .faq-index .faq-item .head {
        border: 1px dashed var(--green-light);
        padding: 10px;
        border-radius: 15px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        color: var(--green-light);
        font-size: 16px;
        cursor: pointer;
        margin-top: 20px;
    }
    .faq-index .faq-item .head h6 {
        color: var(--green-light);
        font-size: 16px;
        padding-top: 5px;
        font-weight: 900;
    }
    .faq-index .faq-item p {
        font-size: 14px;
        line-height: 30px;
        margin-top: 10px;
        display: none;
    }
    .faq-index .faq-item-active .head {
        border: 2px dashed var(--green-light);
        padding: 10px;
        border-radius: 15px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        color: var(--green-light);
        font-size: 16px;
        cursor: pointer;
        margin-top: 20px;
    }
    .faq-index .faq-item-active p {
        font-size: 14px;
        line-height: 30px;
        margin-top: 10px;
        display: block;
    }
    .faq-index .title {
        font-family: "Yekan1" !important;
        position: relative;
        margin-bottom: 20px;
        width: 180px;
    }
    .faq-index .title::before {
        width: 100%;
        content: "";
        height: 30px;
        background-color: #00806073;
        position: absolute;
        top: 0px;
        z-index: -1;
        top: 20px;
    }
}

@media (max-width: 991px) {
    .faq-index {
        display: block;
        align-items: center;
        justify-content: space-between;
        margin-top: 50px;
    }
    .faq-index .img {
        position: relative;
        /* width: 318px; */
        width: 100%;
    }
    .faq-index .img img {
        width: 80%;
        height: 327px;
        border-radius: 16px;
        object-fit: cover;
        object-position: bottom;
    }
    .faq-index .text {
        position: absolute;
        width: 209px;
        height: 137px;
        border-radius: 16px;
        background: rgba(255, 255, 255, 0.527);
        /* رنگ سفید شفاف */
        backdrop-filter: blur(10px);
        /* مات کردن پشت */
        -webkit-backdrop-filter: blur(10px);
        /* برای مرورگرهای Webkit */
        padding: 11px;
        bottom: 40px;
        /* left: -30px; */
        left: -5px;
    }
    .faq-index .text img {
        width: 91.5px;
        height: 33.5px;
    }
    .faq-index .text h3 {
        font-family: "Yekan1"!important;
        font-size: 13.7px;
        border-bottom: 1px solid #24242433;
        padding-bottom: 8px;
    }
    .faq-index .text h3 span {
        color: #07617D;
    }
    .faq-index .text p {
        font-size: 9.6px;
        color: #242424;
        line-height: 15px;
    }
    .faq-index .text p:last-child {
        font-size: 11px;
        color: #242424;
        margin-top: -10px;
    }
    .faq-index .text h6 {
        font-family: "Yekan1"!important;
        font-size: 16.5px;
        color: #07617D;
    }
    .faq-index .text-div {
        /* padding-right: 20px; */
        width: 100%;
    }
    .faq-index .faq-item .head {
        border: 1px dashed var(--green-light);
        padding: 10px;
        border-radius: 15px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        color: var(--green-light);
        font-size: 16px;
        cursor: pointer;
        margin-top: 20px;
    }
    .faq-index .faq-item .head h6 {
        color: var(--green-light);
        font-size: 16px;
        padding-top: 5px;
    }
    .faq-index .faq-item p {
        font-size: 14px;
        line-height: 30px;
        margin-top: 10px;
        display: none;
    }
    .faq-index .faq-item-active .head {
        border: 2px dashed var(--green-light);
        padding: 10px;
        border-radius: 15px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        color: var(--green-light);
        font-size: 16px;
        cursor: pointer;
        margin-top: 20px;
    }
    .faq-index .faq-item-active p {
        font-size: 14px;
        line-height: 30px;
        margin-top: 10px;
        display: block;
    }
    .faq-index .title {
        font-family: "Yekan1" !important;
        position: relative;
        margin-bottom: 20px;
        margin-top: 40px;
        width: 170px;
    }
    .faq-index .title::before {
        width: 100%;
        content: "";
        height: 30px;
        background-color: #00806073;
        position: absolute;
        top: 0px;
        z-index: -1;
        top: 10px;
    }
}


/* popular-slider */

@media (min-width: 991px) {
    .popular-slider {
        width: 100%;
        /* background-color: var(--green-light); */
        margin-top: 150px;
        /* border-radius: 20px; */
        /* padding: 30px; */
        position: relative;
    }
    .popular-slider::before {
        content: "";
        width: 100%;
        height: 80%;
        background-color: var(--green-light);
        border-radius: 20px;
        position: absolute;
        z-index: -1;
    }
    .popular-slider .head-popular {
        z-index: 2 !important;
        position: relative;
        padding: 30px 30px 0px 30px;
    }
    .popular-slider .slider-popular {
        padding-left: 30px;
        padding-right: 30px;
    }
    .popular-slider .head-popular .title-popular span {
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: rgba(255, 255, 255, 0.233);
        border-radius: 50%;
        color: #fff;
        font-size: 22px;
        padding-top: 10px;
    }
    .popular-slider .head-popular .title-popular h2 {
        font-size: 25px;
        color: #fff;
        font-weight: 900;
        margin-right: 10px;
        font-family: "Yekan1" !important;
        margin-top: 10px;
    }
    .popular-slider .head-popular .navigate i {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid #fff;
        color: #fff;
        font-size: 22px;
        cursor: pointer;
    }
    .popular-slider .head-popular .navigate i:first-child {
        margin-left: 10px;
    }
    .popular-slider .shape {
        opacity: .3;
        position: absolute;
        top: 0;
        width: 100%;
    }
    .popular-slider .shape-left {
        display: none;
    }
    /* .popular-slider .shape {
            border-radius: 50px;
            height: 100%;
            mix-blend-mode: overlay;
            opacity: .2;
            position: absolute;
            top: 0;
            width: 404px;
            z-index: 1;
        }
        .popular-slider .shape-left {
            border-radius: 50px;
            height: 100%;
            mix-blend-mode: overlay;
            opacity: .2;
            position: absolute;
            top: 0;
            width: 404px;
            z-index: 1;
            left: 0px;
        } */
}

/* Scroll-driven hero: one pinned viewport, one category per scroll chapter. */
.scroll-hero {
    --hero-accent: #00563f;
    --hero-progress: 0;
    position: relative;
    display: block !important;
    width: 100%;
    height: calc(max(1, var(--hero-slides)) * 100svh);
    min-height: 100svh;
    overflow: visible !important;
    background: #edf7f0;
    isolation: isolate;
}

.scroll-hero .carve-div { display: none !important; }

.scroll-hero .main-img {
    position: sticky !important;
    top: 0;
    display: block !important;
    width: 100% !important;
    height: 100svh !important;
    min-height: 620px;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 45%, rgba(255,255,255,.98) 0 16%, rgba(255,255,255,.54) 32%, transparent 57%),
        linear-gradient(145deg, color-mix(in srgb, var(--hero-accent) 12%, #f4faf5), color-mix(in srgb, var(--hero-accent) 25%, #e5f2e8));
    transition: background .75s ease;
}

.scroll-hero .main-img::before {
    content: "";
    position: absolute;
    inset: 8% 12%;
    border: 1px solid color-mix(in srgb, var(--hero-accent) 24%, transparent);
    border-radius: 50%;
    transform: scale(.85) rotate(calc(var(--hero-progress) * 90deg));
    opacity: .65;
    pointer-events: none;
}

.scroll-hero .main-img::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 12%;
    width: min(380px, 42vw);
    height: 42px;
    border-radius: 50%;
    background: rgba(0,42,29,.26);
    filter: blur(20px);
    transform: translateX(-50%) scaleX(.85);
    z-index: 2;
}

.scroll-hero .main-img > svg,
.scroll-hero .extra-div,
.scroll-hero .hero-product-shadow { display: none !important; }

.scroll-hero .main-img .content-div {
    position: absolute !important;
    inset: 0;
    z-index: 3;
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
}

.scroll-hero .product-img { position: absolute !important; inset: 0; height: 100%; }

.scroll-hero .product-item,
.scroll-hero .product-item.prev {
    position: absolute !important;
    inset: 0 !important;
    display: grid !important;
    width: 100% !important;
    height: 100% !important;
    place-items: center;
    opacity: 0;
    visibility: hidden;
    transform: translate3d(0, 18%, 0) scale(.78);
    transition: opacity .6s ease, transform .85s cubic-bezier(.2,.8,.2,1), visibility .6s;
    pointer-events: none;
}

.scroll-hero .product-item.active-product {
    opacity: 1;
    visibility: visible;
    transform: translate3d(0,0,0) scale(1);
    pointer-events: auto;
}

.scroll-hero .product-item.scroll-product-before { transform: translate3d(0,-18%,0) scale(.82); }
.scroll-hero .product-item.scroll-product-after { transform: translate3d(0,18%,0) scale(.78); }

.scroll-hero .product-item > img {
    position: absolute !important;
    z-index: 5;
    top: 50% !important;
    left: 50% !important;
    display: block !important;
    width: auto !important;
    height: min(62vh, 580px);
    max-width: min(44vw, 520px);
    object-fit: contain;
    transform: translate(-50%,-50%) rotate(-2deg);
    filter: drop-shadow(0 35px 26px rgba(0,54,38,.28));
    animation: scroll-hero-float 4.8s ease-in-out infinite;
}

.scroll-hero .product-item h6 {
    position: absolute !important;
    z-index: 1 !important;
    top: 50%;
    left: 50%;
    width: 100% !important;
    margin: 0 !important;
    color: color-mix(in srgb, var(--hero-accent) 88%, #001b12);
    font-family: "Yekan1" !important;
    font-size: clamp(70px, 11vw, 172px) !important;
    font-weight: 900;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    transform: translate(-50%,-50%);
    opacity: .96;
}

.scroll-hero .product-item > .d-flex {
    position: absolute;
    z-index: 7;
    left: 50%;
    bottom: 6%;
    transform: translateX(-50%);
}

.scroll-hero .product-item a {
    display: inline-flex !important;
    width: auto !important;
    min-width: 190px;
    height: 48px !important;
    padding: 0 24px;
    border: 1px solid rgba(255,255,255,.5);
    border-radius: 30px;
    background: var(--hero-accent) !important;
    box-shadow: 0 14px 30px color-mix(in srgb, var(--hero-accent) 28%, transparent);
    color: #fff !important;
    text-decoration: none;
}

.scroll-hero-kicker {
    position: absolute;
    z-index: 8;
    top: 9%;
    left: 50%;
    transform: translateX(-50%);
    color: var(--hero-accent);
    font: 700 11px/1 sans-serif;
    letter-spacing: 5px;
    white-space: nowrap;
}

.scroll-hero-progress {
    position: absolute;
    z-index: 8;
    top: 20%;
    right: 34px;
    width: 2px;
    height: 60%;
    overflow: hidden;
    border-radius: 4px;
    background: rgba(0,86,63,.15);
}

.scroll-hero-progress span {
    display: block;
    width: 100%;
    height: 100%;
    background: var(--hero-accent);
    transform: scaleY(0);
    transform-origin: top;
}

.scroll-hero-hint {
    position: absolute;
    z-index: 8;
    right: 34px;
    bottom: 6%;
    display: flex;
    align-items: center;
    gap: 9px;
    color: rgba(0,70,49,.62);
    font-size: 11px;
}

.scroll-hero-hint span {
    width: 18px;
    height: 28px;
    border: 1px solid currentColor;
    border-radius: 12px;
}

.scroll-hero-hint span::after {
    content: "";
    display: block;
    width: 3px;
    height: 6px;
    margin: 5px auto;
    border-radius: 3px;
    background: currentColor;
    animation: scroll-hint 1.7s ease-in-out infinite;
}

@keyframes scroll-hero-float {
    0%,100% { transform: translate(-50%,-50%) rotate(-2deg); }
    50% { transform: translate(-50%,calc(-50% - 13px)) rotate(1deg); }
}
@keyframes scroll-hint { 50% { transform: translateY(8px); opacity: .25; } }

@media (max-width: 767px) {
    .scroll-hero { height: calc(max(1, var(--hero-slides)) * 82svh); padding: 0; }
    .scroll-hero .main-img { min-height: 100svh; }
    .scroll-hero .main-img::before { inset: 19% -22%; }
    .scroll-hero .main-img::after { bottom: 18%; width: 58vw; height: 28px; }
    .scroll-hero .product-item > img { height: min(49vh, 430px); max-width: 74vw; }
    .scroll-hero .product-item h6 { top: 48%; font-size: clamp(48px, 17vw, 84px) !important; white-space: normal; line-height: 1.12; padding: 0 12px; }
    .scroll-hero .product-item > .d-flex { bottom: 10%; }
    .scroll-hero .product-item a { min-width: 168px; height: 44px !important; }
    .scroll-hero-kicker { top: 8%; font-size: 9px; letter-spacing: 3px; }
    .scroll-hero-progress { top: 22%; right: 15px; height: 48%; }
    .scroll-hero-hint { right: 16px; bottom: 4%; font-size: 9px; }
}

@media (prefers-reduced-motion: reduce) {
    .scroll-hero .product-item > img,
    .scroll-hero-hint span::after { animation: none !important; }
}

@media (max-width: 991px) {
    .popular-slider {
        width: 100%;
        /* background-color: var(--green-light); */
        margin-top: 50px;
        /* border-radius: 20px; */
        /* padding: 30px; */
        position: relative;
        height: 320px;
    }
    .popular-slider::before {
        content: "";
        width: 100%;
        height: 80%;
        background-color: var(--green-light);
        border-radius: 20px;
        position: absolute;
        z-index: -1;
    }
    .popular-slider .head-popular {
        z-index: 2 !important;
        position: relative;
        padding: 30px 30px 0px 30px;
    }
    .popular-slider .slider-popular {
        padding-left: 30px;
        padding-right: 30px;
    }
    .popular-slider .head-popular .title-popular span {
        width: 35px;
        height: 35px;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: rgba(255, 255, 255, 0.233);
        border-radius: 50%;
        color: #fff;
        font-size: 22px;
        padding-top: 10px;
    }
    .popular-slider .head-popular .title-popular h2 {
        font-size: 22px;
        color: #fff;
        font-weight: 900;
        margin-right: 10px;
        font-family: "Yekan1" !important;
        margin-top: 10px;
    }
    .popular-slider .head-popular .navigate i {
        width: 35px;
        height: 35px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid #fff;
        color: #fff;
        font-size: 22px;
        cursor: pointer;
    }
    .popular-slider .head-popular .navigate i:first-child {
        margin-left: 10px;
    }
    .popular-slider .shape {
        opacity: .3;
        position: absolute;
        top: 0;
        width: 100%;
    }
    /* .popular-slider .shape {
            border-radius: 50px;
            height: 100%;
            mix-blend-mode: overlay;
            opacity: .2;
            position: absolute;
            top: 0 !important;
            width: 404px;
            z-index: 1;
            right: 0;
        } */
    .popular-slider .shape-left {
        border-radius: 50px;
        height: 100%;
        mix-blend-mode: overlay;
        opacity: .2;
        position: absolute;
        top: 0;
        width: 404px;
        z-index: 1;
        left: 0px;
        display: none;
    }
}

/* Keep legacy mobile hero rules from hiding the cinematic stage. */
@media (max-width: 991px) {
    .cinematic-hero { min-height: 780px; padding: 0 0 28px; background: radial-gradient(circle at 50% 56%, #fff 0 17%, transparent 48%), linear-gradient(180deg, #eff9f3, color-mix(in srgb, var(--hero-accent) 20%, #e5f4eb)); }
    .cinematic-hero .carve-div { padding: 82px 18px 0; background: transparent !important; }
    .cinematic-hero .carve-div::before { top: 38px; right: 50%; transform: translateX(50%); white-space: nowrap; }
    .cinematic-hero .carve-div .content-div h1 { color: #063f30; font-size: 26px; line-height: 1.55; }
    .cinematic-hero .carve-div .content-div p { display: none; }
    .cinematic-hero .slider-position { position: relative; right: auto; margin-top: 18px; }
    .cinematic-hero .itemswiper { padding-bottom: 0 !important; }
    .cinematic-hero .carve-div .slider-position .title { margin-top: 0; color: #07533e; }
    .cinematic-hero .carve-div .slider-items { margin-top: 4px; }
    .cinematic-hero .carve-div .slider-items .item { width: 72px; margin-left: 10px; padding: 8px; }
    .cinematic-hero .main-img { min-height: 390px; }
    .cinematic-hero .main-img .content-div { width: 100%; height: 390px; z-index: 4; }
    .cinematic-hero .main-img .content-div .product-img { display: block; height: 390px; }
    .cinematic-hero .main-img .content-div .product-img .product-item,
    .cinematic-hero .main-img .content-div .product-img .prev { display: block; width: min(255px, 64vw); left: 50%; top: 48%; opacity: 0; transform: translate(-50%,-40%) scale(.75); pointer-events: none; }
    .cinematic-hero .main-img .content-div .product-img .active-product { display: block; width: min(255px, 64vw); left: 50%; top: 45%; opacity: 1; transform: translate(-50%,-50%); pointer-events: auto; }
    .cinematic-hero .main-img .product-item > img { display: block; position: relative; left: auto; top: auto; width: 100%; filter: drop-shadow(0 24px 18px rgba(0,48,35,.25)); }
    .cinematic-hero .main-img .product-item h6 { margin-top: 0; color: #064b37; text-align: center; font-size: 18px; }
    .cinematic-hero .main-img .product-item a { width: 170px; height: 42px; background: var(--hero-accent) !important; color: #fff; text-decoration: none; border-radius: 30px; }
    .cinematic-orbit { left: 50%; top: 8%; width: 330px; max-width: 88vw; transform: translateX(-50%); animation: none; }
    .cinematic-leaf--one { left: -8%; top: 12%; width: 92px; }
    .cinematic-leaf--two { right: -8%; top: 40%; width: 78px; }
    .cinematic-leaf--three { left: 5%; bottom: 4%; width: 105px; }
    .cinematic-hero .main-img::after { left: 22%; bottom: 12%; width: 56%; height: 35px; }
}

/* Smooth legacy hero transitions: composite opacity/transform instead of layout. */
@media (min-width: 992px) {
    .first-banner.hero-smooth-opt .main-img .content-div .product-img .product-item,
    .first-banner.hero-smooth-opt .main-img .content-div .product-img .product-item.prev {
        left: 50px !important;
        top: 0 !important;
        opacity: 0;
        visibility: hidden;
        transform: translate3d(0, 34px, 0) scale(.92);
        transition: opacity .32s ease, transform .55s cubic-bezier(.2,.8,.2,1), visibility .32s;
        pointer-events: none;
        will-change: opacity, transform;
    }

    .first-banner.hero-smooth-opt .main-img .content-div .product-img .product-item.active-product {
        opacity: 1;
        visibility: visible;
        transform: translate3d(0,0,0) scale(1);
        pointer-events: auto;
    }

    .first-banner.hero-smooth-opt .main-img .product-item > img {
        animation: none !important;
        backface-visibility: hidden;
    }

    .first-banner.hero-smooth-opt .main-img .extra-div,
    .first-banner.hero-smooth-opt .main-img > svg {
        transform: translateZ(0);
        contain: paint;
    }
}

/* FAQ redesign */
.faq-redesigned {
    position: relative;
    display: grid !important;
    grid-template-columns: minmax(320px, .82fr) minmax(0, 1.18fr);
    gap: clamp(34px, 6vw, 90px);
    align-items: center;
    margin: 70px 0 55px !important;
    padding: clamp(28px, 4vw, 58px);
    overflow: hidden;
    border: 1px solid rgba(0,128,96,.16);
    border-radius: 40px;
    background: linear-gradient(145deg, #f5fbf7, #e7f5ed);
    box-shadow: 0 30px 80px rgba(0,86,63,.09);
}

.faq-redesigned::before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    left: -170px;
    bottom: -220px;
    border: 70px solid rgba(0,128,96,.055);
    border-radius: 50%;
    pointer-events: none;
}

.faq-character {
    position: relative;
    min-height: 500px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 32px;
    background: radial-gradient(circle at 50% 43%, #fff 0 20%, rgba(255,255,255,.52) 48%, transparent 72%);
}

.faq-character > img {
    width: min(100%, 450px) !important;
    height: auto !important;
    border-radius: 0 !important;
    object-fit: contain !important;
}

.faq-character__eyebrow {
    position: absolute;
    top: 10px;
    right: 16px;
    padding: 8px 13px;
    border: 1px solid rgba(0,128,96,.25);
    border-radius: 20px;
    background: rgba(255,255,255,.7);
    color: #008060;
    font-size: 11px;
    font-weight: 800;
}

.faq-character__caption {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    margin-top: -20px;
    color: #00563f;
}

.faq-character__caption strong { font-size: 18px; }
.faq-character__caption span { color: rgba(0,86,63,.65); font-size: 12px; }

.faq-redesigned .text-div { position: relative; z-index: 2; width: 100% !important; }
.faq-heading { margin-bottom: 27px; }
.faq-heading > span { color: #008060; font-size: 12px; font-weight: 800; }
.faq-redesigned .faq-heading .title {
    width: auto;
    margin: 7px 0 9px;
    color: #064b37;
    font-size: clamp(26px, 3vw, 38px);
    font-weight: 900;
}
.faq-redesigned .faq-heading .title::before { display: none; }
.faq-heading p { margin: 0; color: rgba(5,65,47,.62); font-size: 13px; }
.faq-list { display: flex; flex-direction: column; gap: 11px; }

.faq-redesigned .faq-item,
.faq-redesigned .faq-item-active {
    overflow: hidden;
    border: 1px solid rgba(0,128,96,.15);
    border-radius: 18px;
    background: rgba(255,255,255,.72);
    box-shadow: 0 8px 25px rgba(0,86,63,.035);
    transition: border-color .25s ease, box-shadow .25s ease, background .25s ease;
}

.faq-redesigned .faq-item-active {
    border-color: rgba(0,128,96,.48);
    background: #fff;
    box-shadow: 0 14px 34px rgba(0,86,63,.09);
}

.faq-redesigned .faq-item .head,
.faq-redesigned .faq-item-active .head {
    width: 100%;
    min-height: 64px;
    margin: 0;
    padding: 10px 13px;
    display: grid;
    grid-template-columns: 38px 1fr 34px;
    gap: 11px;
    align-items: center;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #064b37;
    text-align: right;
    cursor: pointer;
}

.faq-redesigned .head h6 {
    margin: 0;
    padding: 0 !important;
    color: #064b37 !important;
    font-size: 14px !important;
    font-weight: 800;
    line-height: 1.8;
}

.faq-number {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 11px;
    background: #e4f4eb;
    color: #008060;
    direction: ltr;
    font: 800 11px/1 sans-serif;
}

.faq-toggle {
    position: relative;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #00563f;
}
.faq-toggle::before,.faq-toggle::after {
    content: "";
    position: absolute;
    top: 14px;
    left: 8px;
    width: 14px;
    height: 2px;
    border-radius: 2px;
    background: #fff;
    transition: transform .25s ease;
}
.faq-toggle::after { transform: rotate(90deg); }
.faq-item-active .faq-toggle::after { transform: rotate(0); }

.faq-redesigned .body {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows .35s ease;
}
.faq-redesigned .body > p {
    min-height: 0;
    overflow: hidden;
    display: block !important;
    margin: 0 !important;
    padding: 0 62px 0 58px;
    color: rgba(4,58,43,.7);
    font-size: 13px !important;
    line-height: 2 !important;
    opacity: 0;
    transition: opacity .25s ease, padding .35s ease;
}
.faq-redesigned .faq-item-active .body { grid-template-rows: 1fr; }
.faq-redesigned .faq-item-active .body > p { padding-top: 2px; padding-bottom: 19px; opacity: 1; }

@media (max-width: 991px) {
    .faq-redesigned { grid-template-columns: 1fr; gap: 15px; margin-top: 42px !important; padding: 22px 14px 26px; border-radius: 27px; }
    .faq-character { min-height: 300px; order: 2; }
    .faq-character > img { width: min(100%, 315px) !important; }
    .faq-character__eyebrow { top: 2px; }
    .faq-character__caption { margin-top: -15px; }
    .faq-redesigned .text-div { order: 1; }
    .faq-heading { text-align: center; margin-bottom: 20px; }
    .faq-redesigned .faq-heading .title { margin-top: 5px; font-size: 25px; }
    .faq-heading p { font-size: 11px; }
    .faq-redesigned .faq-item .head,
    .faq-redesigned .faq-item-active .head { min-height: 58px; grid-template-columns: 31px 1fr 30px; gap: 8px; padding: 8px; }
    .faq-number { width: 29px; height: 29px; border-radius: 9px; }
    .faq-toggle { width: 28px; height: 28px; }
    .faq-toggle::before,.faq-toggle::after { top: 13px; left: 7px; }
    .faq-redesigned .head h6 { font-size: 12px !important; }
    .faq-redesigned .body > p { padding-right: 47px; padding-left: 42px; font-size: 11px !important; }
}

/* Warm café palette keeps FAQ visually distinct from green product sections. */
.faq-redesigned {
    border-color: rgba(112,66,35,.15);
    border-radius: 58px 18px 58px 18px;
    background:
        linear-gradient(90deg, rgba(255,255,255,.32) 1px, transparent 1px),
        linear-gradient(#fffaf3, #f0dfca);
    background-size: 32px 32px, auto;
    box-shadow: 0 30px 80px rgba(91,50,25,.11);
}

.faq-redesigned::before {
    border-color: rgba(126,72,36,.07);
}

.faq-character {
    border: 1px solid rgba(111,64,34,.12);
    background:
        radial-gradient(circle at 50% 48%, rgba(255,255,255,.95) 0 19%, rgba(255,250,241,.65) 44%, transparent 68%),
        #e9d3b8;
    box-shadow: inset 0 0 60px rgba(119,67,32,.08);
}

.faq-character__eyebrow {
    border-color: rgba(124,70,35,.22);
    background: #fff8ed;
    color: #754222;
}

.faq-character__caption,
.faq-redesigned .faq-heading .title { color: #59331f; }
.faq-character__caption span,
.faq-heading p { color: rgba(89,51,31,.65); }
.faq-heading > span { color: #9a5b31; }

.faq-redesigned .faq-item,
.faq-redesigned .faq-item-active {
    border-color: rgba(121,71,39,.14);
    background: rgba(255,250,243,.78);
    box-shadow: 0 8px 25px rgba(92,49,24,.035);
}

.faq-redesigned .faq-item-active {
    border-color: rgba(137,76,39,.42);
    background: #fffdf9;
    box-shadow: 0 14px 34px rgba(92,49,24,.1);
}

.faq-redesigned .head h6 { color: #5b3724 !important; }
.faq-number { background: #f0ddc5; color: #8a4b28; }
.faq-toggle { background: #754222; }
.faq-redesigned .body > p { color: rgba(80,48,29,.72); }

@media (max-width: 991px) {
    .faq-redesigned { border-radius: 32px 13px 32px 13px; }
}

/* Polished mobile hero while preserving its dynamic category colour. */
@media (max-width: 0px) {
    .first-banner:not(.scroll-hero):not(.cinematic-hero) {
        position: relative;
        padding-bottom: 72px;
        background: linear-gradient(180deg, #f8fcf9, #edf6f1);
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div {
        position: relative;
        min-height: 510px;
        padding: 128px 20px 42px;
        overflow: visible;
        border-radius: 0 0 42px 42px;
        box-shadow: 0 25px 55px rgba(0,53,38,.18);
        isolation: isolate;
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: -1;
        border-radius: inherit;
        background:
            radial-gradient(circle at 14% 18%, rgba(255,255,255,.24) 0 3px, transparent 4px),
            radial-gradient(circle at 82% 29%, rgba(255,255,255,.16) 0 5px, transparent 6px),
            linear-gradient(155deg, rgba(255,255,255,.17), transparent 43%, rgba(0,35,25,.13));
        background-size: 35px 35px, 58px 58px, auto;
        pointer-events: none;
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div::after {
        content: "SHANTITO  •  COFFEE COLLECTION";
        position: absolute;
        top: 95px;
        right: 50%;
        z-index: 2;
        color: rgba(255,255,255,.62);
        font: 700 8px/1 sans-serif;
        letter-spacing: 2.5px;
        white-space: nowrap;
        transform: translateX(50%);
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div .content-div {
        padding: 0 4px;
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div .content-div h1 {
        max-width: 330px;
        margin: 0 auto;
        color: #fff;
        font-size: 25px;
        font-weight: 900;
        line-height: 1.65;
        text-shadow: 0 5px 16px rgba(0,35,25,.2);
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div .content-div p {
        display: -webkit-box;
        max-width: 350px;
        margin: 12px auto 0;
        overflow: hidden;
        color: rgba(255,255,255,.82);
        font-size: 12px;
        line-height: 2;
        text-align: center;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .slider-position {
        position: relative;
        right: auto;
        margin-top: 25px;
        padding: 0;
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div .slider-position .title {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        margin: 0 0 13px;
        color: #fff;
        font-size: 13px;
        font-weight: 800;
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .slider-position .title::before,
    .first-banner:not(.scroll-hero):not(.cinematic-hero) .slider-position .title::after {
        content: "";
        width: 25px;
        height: 1px;
        background: rgba(255,255,255,.5);
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .itemswiper {
        padding: 3px 12px 17px !important;
        overflow: visible;
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div .slider-items {
        margin: 0;
        align-items: stretch;
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div .slider-items .item {
        width: 94px;
        min-height: 114px;
        margin-left: 11px;
        padding: 9px 8px 8px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-between;
        border: 1px solid rgba(255,255,255,.28);
        border-radius: 20px;
        background: rgba(255,255,255,.14);
        box-shadow: inset 0 1px rgba(255,255,255,.24), 0 12px 26px rgba(0,35,25,.1);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        transition: transform .25s ease, background .25s ease, border-color .25s ease;
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div .slider-items .item img {
        width: 66px;
        height: 66px;
        object-fit: contain;
        filter: drop-shadow(0 8px 7px rgba(0,30,22,.18));
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div .slider-items .item h6 {
        display: block;
        margin: 5px 0 0;
        color: #fff;
        font-size: 10px;
        font-weight: 800;
        line-height: 1.5;
        text-align: center;
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div .slider-items .active-item {
        border: 1px solid rgba(255,255,255,.72);
        border-radius: 20px;
        background: rgba(255,255,255,.28);
        transform: translateY(-6px) scale(1.03);
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div .slider-items .active-item::before,
    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div .slider-items .swiper-slide-active::before {
        right: 50%;
        bottom: -10px;
        width: 24px;
        height: 4px;
        border: 0;
        border-radius: 4px;
        background: #fff;
        transform: translateX(50%);
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div .circle-sm {
        display: block !important;
        width: 112%;
        height: 155px;
        left: -6%;
        bottom: -78px;
        z-index: 0;
        border: 10px solid rgba(255,255,255,.18);
        border-radius: 48% 52% 50% 50% / 35% 38% 62% 65%;
        box-shadow: 0 20px 45px rgba(0,55,39,.12);
        transform: rotate(-2deg);
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .main-img {
        height: 45px;
        min-height: 45px;
    }
}

@media (max-width: 0px) {
    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div { min-height: 500px; padding-right: 14px; padding-left: 14px; }
    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div .slider-items .item { width: 88px; min-height: 108px; }
}

/* Alternative mobile hero: clean editorial panel with complete category cards. */
@media (max-width: 0px) {
    .first-banner:not(.scroll-hero):not(.cinematic-hero) {
        padding-bottom: 26px;
        background: #f4f7f5;
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div {
        min-height: 650px;
        padding: 112px 0 34px;
        overflow: hidden;
        border-radius: 0 0 34px 34px;
        box-shadow: 0 18px 44px rgba(0,54,39,.14);
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div::before {
        inset: auto -15% -170px;
        height: 360px;
        border-radius: 50% 50% 0 0;
        background: rgba(255,255,255,.09);
        transform: rotate(-5deg);
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div::after {
        top: 84px;
        letter-spacing: 2px;
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div .content-div {
        padding: 0 22px;
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div .content-div h1 {
        max-width: 350px;
        font-size: 24px;
        line-height: 1.7;
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div .content-div p {
        max-width: 340px;
        margin-top: 9px;
        font-size: 11px;
        line-height: 1.9;
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .slider-position {
        margin-top: 20px;
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div .slider-position .title {
        justify-content: flex-start;
        max-width: 340px;
        margin: 0 auto 11px;
        padding: 0 8px;
        font-size: 11px;
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .slider-position .title::before { width: 18px; }
    .first-banner:not(.scroll-hero):not(.cinematic-hero) .slider-position .title::after { display: none; }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .itemswiper {
        width: 100%;
        padding: 3px 0 18px !important;
        overflow: hidden;
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div .slider-items {
        align-items: center;
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div .slider-items .item {
        width: min(72vw, 275px);
        min-height: 245px;
        margin: 0 6px;
        padding: 16px 17px 15px;
        justify-content: center;
        border: 1px solid rgba(255,255,255,.68);
        border-radius: 26px;
        background: rgba(255,255,255,.9);
        box-shadow: 0 16px 34px rgba(0,38,27,.13);
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        opacity: .55;
        transform: scale(.9);
        transition: opacity .3s ease, transform .3s ease, box-shadow .3s ease;
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div .slider-items .item img {
        width: 132px;
        height: 128px;
        object-fit: contain;
        filter: drop-shadow(0 12px 9px rgba(0,37,27,.16));
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div .slider-items .item h6 {
        margin: 6px 0 9px;
        color: #164638;
        font-size: 14px;
        line-height: 1.6;
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div .slider-items .item > .d-flex {
        display: flex !important;
        width: 100%;
        margin-top: 2px;
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div .slider-items .item a {
        display: inline-flex;
        width: 100%;
        height: 40px;
        align-items: center;
        justify-content: center;
        margin: 0;
        padding: 0 14px;
        border: 0;
        border-radius: 13px;
        color: #fff;
        font-size: 11px;
        font-weight: 800;
        text-decoration: none;
        box-shadow: 0 8px 18px rgba(0,63,45,.18);
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div .slider-items .active-item,
    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div .slider-items .swiper-slide-active {
        border: 1px solid rgba(255,255,255,.85);
        border-radius: 26px;
        background: #fff;
        opacity: 1;
        transform: scale(1);
        box-shadow: 0 20px 42px rgba(0,38,27,.2);
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div .slider-items .active-item::before,
    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div .slider-items .swiper-slide-active::before {
        display: none;
    }

    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div .circle-sm { display: none !important; }
    .first-banner:not(.scroll-hero):not(.cinematic-hero) .main-img { display: none; }
}

@media (max-width: 0px) {
    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div { min-height: 630px; padding-right: 0; padding-left: 0; }
    .first-banner:not(.scroll-hero):not(.cinematic-hero) .carve-div .slider-items .item { width: 76vw; min-height: 238px; }
}

/* Home UI consistency pass */
:root {
    --home-space-desktop: 64px;
    --home-space-mobile: 36px;
    --home-radius-desktop: 34px;
    --home-radius-mobile: 24px;
    --home-ink: #103f32;
    --home-muted: #66766f;
}

@media (min-width: 992px) {
    .first-banner .carve-div .content-div {
        padding-right: max(30px, calc((100vw - 1320px) / 2));
    }

    .special-offers-section,
    .best-sellers-section,
    .about-caffe,
    .articles-section {
        scroll-margin-top: 105px;
    }

    .special-offers-section { padding-bottom: var(--home-space-desktop); }
    .about-caffe { padding-top: var(--home-space-desktop) !important; padding-bottom: var(--home-space-desktop) !important; }
    .faq-redesigned { margin-top: var(--home-space-desktop) !important; margin-bottom: var(--home-space-desktop) !important; }
}

@media (max-width: 991px) {
    .first-banner {
        padding-bottom: 26px;
        background: #f4f7f5;
    }

    .first-banner .carve-div {
        height: auto;
        min-height: 610px;
        padding: 122px 18px 34px;
        overflow: hidden;
        border-radius: 0 0 38px 38px;
        box-shadow: 0 20px 45px rgba(0,54,39,.15);
    }

    .first-banner .carve-div .content-div h1 {
        max-width: 345px;
        margin: 0 auto;
        font-size: 24px;
        line-height: 1.65;
    }

    .first-banner .carve-div .content-div p {
        display: -webkit-box;
        max-width: 345px;
        margin: 10px auto 0;
        overflow: hidden;
        font-size: 12px;
        line-height: 2;
        text-align: center;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
    }

    .first-banner .carve-div .slider-position {
        position: relative;
        right: auto;
        margin-top: 24px;
        padding: 0;
    }

    .first-banner .carve-div .slider-position .title {
        margin: 0 0 12px;
        font-size: 17px;
    }

    .first-banner .itemswiper {
        padding: 2px 4px 18px !important;
    }

    .first-banner .carve-div .slider-items {
        margin-top: 0;
        align-items: stretch;
    }

    .first-banner .carve-div .slider-items .item {
        width: 112px;
        min-height: 164px;
        margin-left: 10px;
        padding: 10px;
        display: flex;
        flex-direction: column;
        align-items: center;
        border: 1px solid rgba(255,255,255,.34);
        border-radius: 19px;
        background: rgba(255,255,255,.17);
        box-shadow: 0 10px 24px rgba(0,38,27,.1);
    }

    .first-banner .carve-div .slider-items .item img {
        width: 76px;
        height: 76px;
        object-fit: contain;
        filter: drop-shadow(0 7px 7px rgba(0,33,23,.15));
    }

    .first-banner .carve-div .slider-items .item h6 {
        display: block;
        min-height: 29px;
        margin: 4px 0 7px;
        color: #fff;
        font-size: 10px;
        font-weight: 800;
        line-height: 1.45;
        text-align: center;
    }

    .first-banner .carve-div .slider-items .item > .d-flex {
        display: flex !important;
        width: 100%;
        margin-top: auto;
    }

    .first-banner .carve-div .slider-items .item a {
        display: inline-flex;
        width: 100%;
        height: 31px;
        align-items: center;
        justify-content: center;
        padding: 0 5px;
        border: 1px solid rgba(255,255,255,.36);
        border-radius: 10px;
        background: #00563f;
        color: #fff;
        font-size: 8px;
        font-weight: 800;
        text-decoration: none;
        white-space: nowrap;
    }

    .first-banner .carve-div .slider-items .active-item,
    .first-banner .carve-div .slider-items .swiper-slide-active {
        border-bottom: 1px solid rgba(255,255,255,.72);
        border-radius: 19px;
        background: rgba(255,255,255,.28);
        transform: translateY(-3px);
    }

    .first-banner .carve-div .slider-items .active-item::before,
    .first-banner .carve-div .slider-items .swiper-slide-active::before { display: none; }

    .first-banner .carve-div .circle-sm {
        height: 120px;
        bottom: -74px;
        opacity: .75;
    }

    .first-banner .main-img {
        height: 30px;
        min-height: 30px;
    }

    .about-caffe {
        padding-top: var(--home-space-mobile) !important;
        padding-bottom: var(--home-space-mobile) !important;
    }

    .about-container { margin-top: 0; }
    .about-content { gap: 12px !important; margin-top: 14px; }
    .center-coffee { margin-bottom: 6px; }
    .side-icons { gap: 12px; margin-top: 12px !important; }
    .icon-item { height: 148px; padding: 11px 7px; }
    .icon-item .text h6 { margin-bottom: 3px; font-size: 12px; }
    .icon-item .text p { min-height: 36px; font-size: 10px; line-height: 1.7; }

    .best-sellers-section { margin-top: var(--home-space-mobile) !important; }
    .faq-redesigned { margin-top: var(--home-space-mobile) !important; margin-bottom: var(--home-space-mobile) !important; }
    .articles-section { margin-top: 0 !important; padding-top: var(--home-space-mobile) !important; }

    .articles-section h2 {
        margin-bottom: 4px;
        color: var(--home-ink);
        font-size: 22px;
        justify-content: center;
    }
}

@media (max-width: 420px) {
    .first-banner .carve-div { min-height: 595px; padding-right: 12px; padding-left: 12px; }
    .first-banner .carve-div .slider-items .item { width: 105px; }
}
