<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    
    <title>Fiordelisi</title>
    <head>
    <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap" rel="stylesheet">
    <!-- Bootstrap CSS -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
    <!-- Font Awesome -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
    <!-- Select2 CSS -->
    <link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet"/>
    <link href="https://cdn.jsdelivr.net/npm/select2-bootstrap-5-theme@1.3.0/dist/select2-bootstrap-5-theme.min.css"
          rel="stylesheet"/>
    <!-- SweetAlert2 CSS -->
    <link href="https://cdn.jsdelivr.net/npm/sweetalert2@11.0.19/dist/sweetalert2.min.css" rel="stylesheet">
</head>
    <link rel="stylesheet" href="/css/website/style.css">
    <link rel="stylesheet" href="/css/website/header.css">
    <link rel="stylesheet" href="/css/website/footer.css">
    <link rel="stylesheet" href="/css/website/home-page.css">
</head>
<body>
<header class="position-sticky">
    <nav class="navbar navbar-expand-lg navbar-light bg-light" style="padding: unset">
        <div class="container" style="padding: unset">
            <a class="navbar-brand" style="padding: unset" href="/en">
                <img src="/image/image_155.png" alt="">
            </a>
            <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarWebsite"
                    aria-controls="navbarWebsite" aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse" id="navbarWebsite">
                <ul class="navbar-nav ms-auto mb-2 mb-lg-0">
                    <li class="nav-item"><a class="nav-link" href="/en">Home</a></li>
                    <li class="nav-item"><a class="nav-link" href="/en/products">Products</a></li>
                    <li class="nav-item"><a class="nav-link" href="/en/about">About</a></li>
                    <li class="nav-item"><a class="nav-link" href="/en/certification">Certification</a></li>
                    <li class="nav-item"><a class="nav-link" href="/en/support">Support</a></li>
                    <li class="nav-item"><a class="nav-link" href="/en/contact">Contact</a></li>
                    <li class="nav-item position-relative" id="cart-icon">

<!--                        <i class="fa-solid fa-cart-shopping" style="font-size:22px;cursor:pointer;color:#2C6E1F"></i>-->
                        <img src="/image/bag-2.svg">
                        <span id="cart-count">0</span>


                    </li>
                    <li class="nav-item dropdown">
                        <a class="nav-link dropdown-toggle" href="#" id="langDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
                            <span class="me-1">🌐</span>
                        </a>
                        <ul class="dropdown-menu dropdown-menu-end" aria-labelledby="langDropdown">
                            <li><a class="dropdown-item lang-switch" href="#" data-lang="en">English</a></li>
                            <li><a class="dropdown-item lang-switch" href="#" data-lang="vi">Vietnamese</a></li>
                        </ul>
                    </li>
                </ul>
            </div>
        </div>
    </nav>
</header>

<main class="site-content">
    <div>
    <section class="hero-section">
        <!-- Phần chứa các banner -->
        <div class="hero-track">

            <!-- Banner 1 -->
            <div class="hero-wrapper position-relative">
                <div class="hero-image">
                    <img src="/image/image_154.png" alt="Cà Chua Phơi Nắng">
                </div>
                <div class="hero-content position-absolute d-flex flex-column">
                    <h1 class="hero-title">Tomatoes Dried in the Sun</h1>
                    <p class="hero-description">A genuine product of Italy, known for its vibrant red color and distinctive elongated shape. <br>Its soft, delicate texture captures the true taste of the earth. No chemical additives are used in the drying process — only the sun and a touch of salt. The salt naturally preserves the tomatoes without altering their flavor, leaving just a hint of brininess thanks to an innovative salting method.</p>
                    <a href="javascript:void(0)" class="read-more-btn toggle-desc">Read more</a>
                    <div class="hero-button-wrapper d-flex">
                        <a href="#" class="hero-button">Learn More</a>
                    </div>
                </div>
            </div>

            <!-- Banner 2 -->
            <div class="hero-wrapper position-relative">
                <div class="hero-image">
                    <img src="/image/311ac65e92c70f8914e6d739a0bc9a972aa3da32.jpg">
                </div>
                <div class="hero-content position-absolute d-flex flex-column">
                    <h1 class="hero-title">100% Italian organic extra virgin olive oil.</h1>
                    <p class="hero-description">The product offers a rich aroma reminiscent of olives freshly picked at their perfect ripeness. Its flavor is refined and well-balanced, combining gentle bitterness with a mild spiciness of medium intensity. This 100% Italian organic extra virgin olive oil enhances the taste of salads, meats, and fish, while also bringing out the delicious flavors of legumes and roasted vegetables.</p>
                    <a href="javascript:void(0)" class="read-more-btn toggle-desc">Read more</a>
                    <div class="hero-button-wrapper d-flex">
                        <a href="#" class="hero-button">Learn More</a>
                    </div>
                </div>
            </div>

            <!-- Banner 3 -->
            <div class="hero-wrapper position-relative">
                <div class="hero-image">
                    <img src="/image/banner_3.jpg">
                </div>
                <div class="hero-content position-absolute d-flex flex-column">
                    <h1 class="hero-title">Apulian dishes - Ready to serve.</h1>
                    <p class="hero-description">"Ricette di Puglia" is a product line by Fiordelisi featuring pre-marinated vegetables preserved in oil. The products are made using only premium extra virgin olive oil, carefully selected ingredients, and a touch of delicate salt - ready to eat right away.</p>
                    <a href="javascript:void(0)" class="read-more-btn toggle-desc">Read more</a>
                    <div class="hero-button-wrapper d-flex">
                        <a href="#" class="hero-button">Learn More</a>
                    </div>
                </div>
            </div>

        </div> <!-- Kết thúc .hero-track -->

        <!-- Các chấm tròn điều hướng -->
        <div class="hero-indicators d-flex justify-content-center">
            <span class="dot active"></span>
            <span class="dot"></span>
            <span class="dot"></span>
        </div>
    </section>

    <section class="product-section">
        <div class="product-container container d-flex flex-column" style="gap:32px">
            <div class="product-title position-relative" data-lang="sitemap.xml">
                <div class="text-title text-center fw-bold">Hot Product</div>
                <div>
                    <div id="prev-btn" class="icon position-absolute start-0 d-flex align-items-center justify-content-center" style="cursor:pointer;">
                        <i class="fa-solid fa-arrow-left"></i>
                    </div>

                    <div id="next-btn" class="icon position-absolute end-0 d-flex align-items-center justify-content-center" style="cursor:pointer;">
                        <i class="fa-solid fa-arrow-right"></i>
                    </div>
                </div>
            </div>

            <!-- Product list từ nhánh mới (Stashed changes) -->
            <div class="product-content-row row align-items-center justify-content-center" id="product-list"
                 data-products="[ProductDto(id=69ba690074a45733a39fad19, name=Sun dried tomatoes in sunflower oil, description=&lt;p&gt;&lt;strong&gt;Thông tin sản phẩm:&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;- Thương hiệu: Fiordelisi&amp;nbsp;&lt;br&gt;- Cà chua phơi nắng trong dầu hướng dương - hộp nhựa. Hương vị miền Nam nước Ý .&lt;br&gt;- Giàu chất chống oxy hóa: Cà chua phơi nắng là nguồn cung cấp chất chống oxy hóa dồi dào, không chỉ ngon miệng, đậm đà mà còn là một thực phẩm bổ sung lành mạnh cho chế độ ăn uống của bạn.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Thành phần:&lt;/strong&gt;&amp;nbsp;&lt;br&gt;Cà chua phơi khô 57%, dầu hướng dương 47%, muối, tỏi, mùi tây, húng quế, tiêu đen, giấm rượu trắng.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Hướng dẫn bảo quản:&amp;nbsp;&lt;/strong&gt;&lt;br&gt;Bảo quản ở nơi khô ráo và thoáng mát (tránh xa nguồn nhiệt và ánh nắng trực tiếp).&amp;nbsp;&lt;br&gt;Khi đã mở nắp, hãy bảo quản trong tủ lạnh với nhiệt độ 4-7 °C&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Hạn sử dụng:&lt;/strong&gt; 21 ngày kể từ ngày mở nắp.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Giá trị dinh dưỡng (trên 100g):&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Năng lượng: 233,3 kcal / 970,9 kJ&amp;nbsp;&lt;/li&gt;&lt;li&gt;Carbohydrate: 20,28 g&amp;nbsp;&lt;/li&gt;&lt;li&gt;Protein: 3,8 g&amp;nbsp;&lt;/li&gt;&lt;li&gt;Chất béo: 13,5 g&amp;nbsp;&lt;/li&gt;&lt;li&gt;Chất xơ: 7.56 g&amp;nbsp;&lt;/li&gt;&lt;li&gt;Muối: 1,5 g&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Gợi ý sử dụng:&lt;/strong&gt;&amp;nbsp;&lt;br&gt;- Tăng hương vị cho nước sốt: thêm độ đậm đà và phong phú cho nước sốt mì Ý, món hầm và súp.&amp;nbsp;&lt;br&gt;- Lớp phủ cao cấp: hoàn hảo cho pizza, bruschetta, hoặc làm lớp phủ cho salad.&amp;nbsp;&lt;br&gt;- Món khai vị tuyệt vời: dùng chúng như một phần của đĩa antipasto với phô mai, ô liu và bánh mì giòn.&lt;/p&gt;, images=[/uploads/1775192146145_1760587985173_fe2f1d2012ad710185958bb34f9c842c247e43b8.png, /uploads/1775190077328_1760587985173_fe2f1d2012ad710185958bb34f9c842c247e43b8.png], categoryId=[690042733e8fc8c2692722d4], defaultPrice=12, variants=[Variant(id=7612295e-b65f-4d94-967e-eeab3df0ee01, productId=69ba690074a45733a39fad19, size=960, price=500000, instock=true, unit=gram)], removedImages=null, removedVariantIds=null, language=SITEMAP.XML, translations=[], hasOtherTranslations=true, inStock=true), ProductDto(id=69ba6bbf74a45733a39fad1a, name=Medium Pomodori, description=&lt;p&gt;&lt;strong&gt;Thông tin sản phẩm:&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;- Thương hiệu: Fiordelisi&lt;br&gt;- Sản xuất tại: Ý&lt;br&gt;- Cà chua ngâm trong lọ thủy tinh.&lt;br&gt;- Cà chua sạch 100% thiên nhiên, không phụ gia, còn nguyên lớp vỏ hạt, đảm bảo vệ sinh thực phẩm.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Thành phần:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Cà chua phơi khô 63%, dầu hướng dương, dầu ô liu nguyên chất 2%, muối, giấm rượu trắng, tỏi, kinh giới, tiêu đen.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Hướng dẫn bảo quản:&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;- &lt;/strong&gt;Bảo quản ở nơi khô ráo và thoáng mát. Tránh xa nguồn nhiệt và ánh nắng trực tiếp.&lt;br&gt;- Khi đã mở nắp, hãy bảo quản trong tủ lạnh với nhiệt độ 4-7 °C&lt;br&gt;&lt;br&gt;&lt;strong&gt;Hạn sử dụng:&lt;/strong&gt; 7 ngày kể từ ngày mở nắp.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Giá trị dinh dưỡng (trên 100g):&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Năng lượng: 175 kcal / 731 kJ&lt;/li&gt;&lt;li&gt;Carbohydrate: 19,8 g&lt;/li&gt;&lt;li&gt;Protein: 4,8 g&lt;/li&gt;&lt;li&gt;Chất béo: 6,3 g&lt;/li&gt;&lt;li&gt;Chất xơ: 9, g&lt;/li&gt;&lt;li&gt;Muối: 2,17 g&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Gợi ý sử dụng:&amp;nbsp;&lt;/strong&gt;&lt;br&gt;- Tăng hương vị cho nước sốt: thêm độ đậm đà và phong phú cho nước sốt mì Ý, món hầm và súp.&amp;nbsp;&lt;br&gt;- Lớp phủ cao cấp: hoàn hảo cho pizza, bruschetta, hoặc làm lớp phủ cho salad.&amp;nbsp;&lt;br&gt;- Món khai vị tuyệt vời: dùng chúng như một phần của đĩa antipasto với phô mai, ô liu và bánh mì giòn.&lt;/p&gt;, images=[/uploads/1773824959525_do.jpg], categoryId=[690042733e8fc8c2692722d4], defaultPrice=0, variants=[Variant(id=6f37ebbb-e3f7-43c5-9c50-20a69c231ada, productId=69ba6bbf74a45733a39fad1a, size=530, price=400000, instock=true, unit=gram)], removedImages=null, removedVariantIds=null, language=SITEMAP.XML, translations=[], hasOtherTranslations=true, inStock=true), ProductDto(id=69bd2ca974a45733a39fad1b, name=Bella di Cerignola Green Olives, description=&lt;p&gt;&lt;strong&gt;Thông tin sản phẩm:&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;- Thương hiệu: Fiordelisi&amp;nbsp;&lt;br&gt;- Ô liu xanh Bella di Cerignola - hộp nhựa.&amp;nbsp; Một đặc sản của miền Nam nước Ý&lt;br&gt;- Ô liu của chúng tôi được lựa chọn cẩn thận từ vùng đất màu mỡ của Cerignola, đảm bảo chỉ những quả chất lượng tốt nhất mới đến được bàn ăn của bạn.&lt;br&gt;- Chứa nhiều chất béo lành mạnh, vitamin và chất chống oxy hóa, ô liu Bella di Cerignola không chỉ ngon mà còn là một bổ sung dinh dưỡng cho chế độ ăn uống của bạn.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Thành phần:&lt;/strong&gt;&amp;nbsp;&lt;br&gt;Ô liu xanh Bella di Cerignola 6%, nước muối 38%, nước, muối, chất điều chỉnh độ axit.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Hướng dẫn bảo quản:&amp;nbsp;&lt;/strong&gt;&lt;br&gt;Bảo quản ở nơi khô ráo và thoáng mát (tránh xa nguồn nhiệt và ánh nắng trực tiếp).&amp;nbsp;&lt;br&gt;Khi đã mở nắp, hãy bảo quản trong tủ lạnh với nhiệt độ 4-7 °C&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Hạn sử dụng:&lt;/strong&gt; 14 ngày kể từ ngày mở nắp.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Giá trị dinh dưỡng (trên 100g):&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Năng lượng: 145 kcal / 600 kJ&amp;nbsp;&lt;/li&gt;&lt;li&gt;Carbohydrate: 4,5 g&amp;nbsp;&lt;/li&gt;&lt;li&gt;Protein: 1,0 g&amp;nbsp;&lt;/li&gt;&lt;li&gt;Chất béo: 13 g&amp;nbsp;&lt;/li&gt;&lt;li&gt;Chất xơ: 3,2 g&amp;nbsp;&lt;/li&gt;&lt;li&gt;Muối: 5,0 g&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Gợi ý sử dụng:&lt;/strong&gt;&amp;nbsp;&lt;br&gt;- Món khai vị: dùng kèm với bánh mì tươi, phô mai và thịt nguội cho món khai vị kiểu Ý truyền thống.&amp;nbsp;&lt;br&gt;- Salad: thêm vào các món salad Địa Trung Hải để tăng thêm hương vị và độ giòn.&amp;nbsp;&lt;br&gt;- Nấu ăn: kết hợp vào các món mì Ý, tapenade, hoặc đơn giản là thưởng thức chúng như một món ăn nhẹ lành mạnh.&lt;/p&gt;, images=[/uploads/1774005417693_oliu_1000g.png], categoryId=[690042733e8fc8c2692722d4], defaultPrice=0, variants=[Variant(id=f5ee7d56-6ea1-4272-bfac-b917595d266b, productId=69bd2ca974a45733a39fad1b, size=1000, price=500000, instock=true, unit=gram)], removedImages=null, removedVariantIds=null, language=SITEMAP.XML, translations=[], hasOtherTranslations=true, inStock=true), ProductDto(id=69bd313f74a45733a39fad1c, name=Small Pomodori, description=&lt;p&gt;&lt;strong&gt;Thông tin sản phẩm:&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;- Thương hiệu: Fiordelisi&lt;br&gt;- Sản xuất tại: Ý&lt;br&gt;- Cà chua ngâm trong lọ thủy tinh.&lt;br&gt;- Cà chua sạch 100% thiên nhiên, không phụ gia, còn nguyên lớp vỏ hạt, đảm bảo vệ sinh thực phẩm.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Thành phần:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Cà chua phơi khô 63%, dầu hướng dương, dầu ô liu nguyên chất 2%, muối, giấm rượu trắng, tỏi, kinh giới, tiêu đen.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Hướng dẫn bảo quản:&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;-&amp;nbsp;&lt;/strong&gt;Bảo quản ở nơi khô ráo và thoáng mát. Tránh xa nguồn nhiệt và ánh nắng trực tiếp.&lt;br&gt;- Khi đã mở nắp, hãy bảo quản trong tủ lạnh với nhiệt độ 4-7 °C&lt;br&gt;&lt;br&gt;&lt;strong&gt;Hạn sử dụng:&lt;/strong&gt; 7 ngày kể từ ngày mở nắp.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Giá trị dinh dưỡng (trên 100g):&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Năng lượng: 175 kcal / 731 kJ&lt;/li&gt;&lt;li&gt;Carbohydrate: 19,8 g&lt;/li&gt;&lt;li&gt;Protein: 4,8 g&lt;/li&gt;&lt;li&gt;Chất béo: 6,3 g&lt;/li&gt;&lt;li&gt;Chất xơ: 9, g&lt;/li&gt;&lt;li&gt;Muối: 2,17 g&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Gợi ý sử dụng:&amp;nbsp;&lt;/strong&gt;&lt;br&gt;- Tăng hương vị cho nước sốt: thêm độ đậm đà và phong phú cho nước sốt mì Ý, món hầm và súp.&amp;nbsp;&lt;br&gt;- Lớp phủ cao cấp: hoàn hảo cho pizza, bruschetta, hoặc làm lớp phủ cho salad.&amp;nbsp;&lt;br&gt;- Món khai vị tuyệt vời: dùng chúng như một phần của đĩa antipasto với phô mai, ô liu và bánh mì giòn.&lt;/p&gt;, images=[/uploads/1774006591942_pomo_280.png], categoryId=[690042733e8fc8c2692722d4], defaultPrice=0, variants=[Variant(id=ff420df6-56e4-4e72-a0c1-f10ad2ed160a, productId=69bd313f74a45733a39fad1c, size=280, price=250000, instock=true, unit=gram)], removedImages=null, removedVariantIds=null, language=SITEMAP.XML, translations=[], hasOtherTranslations=true, inStock=true), ProductDto(id=69c0f85d74a45733a39fad1d, name=Marinati Artichokes, description=&lt;p&gt;&lt;strong&gt;Thông tin sản phẩm:&lt;/strong&gt;&lt;br&gt;- Thương hiệu: Fiordelisi&lt;br&gt;- Atisô ngâm gia vị - Công thức vùng Puglia.&lt;br&gt;- Được trồng dưới ánh nắng mặt trời của Puglia, những miếng atisô mềm này sẽ mang lại hương vị thơm ngon cho các món ăn của bạn.&lt;br&gt;- Giàu vitamin, khoáng chất và chất chống oxy hóa, atisô là một món ăn lành mạnh và ngon miệng, có thể thêm vào bất kỳ bữa ăn nào.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Thành phần:&lt;/strong&gt;&lt;br&gt;Atisô 93%, dầu ô liu nguyên chất 34%, giấm rượu trắng, tỏi, muối, kinh giới, rau mùi tây, chất điều chỉnh độ axit: axit citric&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Hướng dẫn bảo quản:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;- Bảo quản nơi khô ráo, thoáng mát (tránh nhiệt và ánh nắng trực tiếp).&lt;br&gt;- Sau khi mở, bảo quản lạnh ở nhiệt độ 4-7°C.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Hạn sử dụng:&lt;/strong&gt; 3 ngày kể từ ngày mở bao bì.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Giá trị dinh dưỡng (trên 100g):&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Năng lượng: 263,07 kJ / 63,52 kcal&lt;/li&gt;&lt;li&gt;Chất béo: 3,6 g&lt;/li&gt;&lt;li&gt;Carbohydrate: 2,72 g&lt;/li&gt;&lt;li&gt;Chất xơ: 4,75 g&lt;/li&gt;&lt;li&gt;Protein: 2,69 g&lt;/li&gt;&lt;li&gt;Muối: 1,5 g&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Gợi ý sử dụng:&lt;/strong&gt;&lt;br&gt;- Món khai vị: Dùng kèm với bánh mì giòn và các loại phô mai Ý để có món khai vị truyền thống.&lt;br&gt;- Món chính: Thêm vào mì Ý, cơm risotto hoặc thịt nướng để tăng thêm hương vị.&lt;br&gt;- Salad: Trộn vào salad để thêm hương vị thơm ngon và bổ dưỡng.&lt;/p&gt;, images=[/uploads/1774254173697_marinatin_atiso.jpg], categoryId=[690042733e8fc8c2692722d4], defaultPrice=0, variants=[Variant(id=01e782b5-539b-4e07-a64f-5b0e567e7618, productId=69c0f85d74a45733a39fad1d, size=100, price=200000, instock=true, unit=gram)], removedImages=null, removedVariantIds=null, language=SITEMAP.XML, translations=[], hasOtherTranslations=true, inStock=true), ProductDto(id=69c1099574a45733a39fad1e, name=Grigliati Artichokes, description=&lt;p&gt;&lt;strong&gt;Thông tin sản phẩm:&lt;/strong&gt;&lt;br&gt;- Thương hiệu: Fiordelisi&lt;br&gt;- Atisô nướng - Công thức vùng Puglia.&lt;br&gt;- Được trồng dưới ánh nắng mặt trời của Puglia, hương vị từ quá trình nướng mang lại cho atisô vị đậm đà, rất thích hợp để kết hợp với các loại thảo mộc và gia vị, làm tăng thêm hương vị thơm ngon.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Thành phần:&lt;/strong&gt;&lt;br&gt;Atisô nướng 91,9%, dầu ô liu nguyên chất 3,7%, giấm rượu trắng, muối, tỏi, rau mùi tây, hương thảo, kinh giới, tiêu đen. Chất điều chỉnh độ axit: axit citric.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Hướng dẫn bảo quản:&lt;/strong&gt;&lt;br&gt;- Bảo quản nơi khô ráo, thoáng mát (tránh nhiệt và ánh nắng trực tiếp).&lt;br&gt;- Sau khi mở, bảo quản lạnh ở nhiệt độ 4-7°C.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Hạn sử dụng:&lt;/strong&gt; 3 ngày kể từ ngày mở bao bì.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Giá trị dinh dưỡng (trên 100g):&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Năng lượng: 307,47 kJ/74,21 kcal&lt;/li&gt;&lt;li&gt;Chất béo: 3,95 g&lt;/li&gt;&lt;li&gt;Carbohydrate: 3,35 g&lt;/li&gt;&lt;li&gt;Chất xơ: 5,95 g&lt;/li&gt;&lt;li&gt;Protein: 3,34 g&lt;/li&gt;&lt;li&gt;Muối: 1,5g&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Gợi ý sử dụng:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;- Món khai vị: Dùng kèm với bánh mì giòn và các loại phô mai Ý để có món khai vị truyền thống.&lt;br&gt;- Món chính: Thêm vào mì Ý, cơm risotto hoặc thịt nướng để tăng thêm hương vị.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Sốt bơ chanh: Vị béo của bơ và chua nhẹ của chanh làm nổi bật hương vị đặc trưng của bông atiso.&lt;/li&gt;&lt;li&gt;Dầu oliu và thảo mộc: Nướng cùng dầu oliu, tỏi, hoặc thảo mộc khô (như cỏ xạ hương) tạo mùi thơm hấp dẫn.&lt;/li&gt;&lt;li&gt;Sốt Mayonnaise/Sốt kem: Kết hợp khi ăn cùng salad hoặc phết lên bánh mì.&lt;/li&gt;&lt;li&gt;Món phụ: Có thể ăn kèm với khoai tây, cà rốt nướng, hoặc thịt cua.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;, images=[/uploads/1774258581968_Grigliati_atiso.jpg], categoryId=[690042733e8fc8c2692722d4], defaultPrice=0, variants=[Variant(id=34b874e2-5c98-4868-b461-b6285c14320c, productId=69c1099574a45733a39fad1e, size=100, price=200000, instock=true, unit=gram)], removedImages=null, removedVariantIds=null, language=SITEMAP.XML, translations=[], hasOtherTranslations=true, inStock=true), ProductDto(id=69c1102374a45733a39fad1f, name=Selezione di Olive, description=&lt;p&gt;&lt;strong&gt;Thông tin sản phẩm:&lt;/strong&gt;&lt;br&gt;- Thương hiệu: Fiordelisi&lt;br&gt;- Oliu - Công thức vùng Puglia.&lt;br&gt;- Leccino, Peranzana và Nocellara – ba giống ô liu đặc trưng của miền Nam nước Ý – là những loại ô liu tạo nên hỗn hợp hoàn hảo cho món khai vị.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Thành phần:&lt;/strong&gt;&lt;br&gt;Ô liu hỗn hợp không hạt (Nocellara, Peranzana, Leccino) 89,3%, dầu ô liu nguyên chất 7,4%, muối, tỏi, ớt, rau mùi tây, kinh giới, hương thảo, chất điều chỉnh độ axit: axit lactic.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Hướng dẫn bảo quản:&lt;/strong&gt;&lt;br&gt;- Bảo quản nơi khô ráo, thoáng mát (tránh nhiệt và ánh nắng trực tiếp).&lt;br&gt;- Sau khi mở, bảo quản lạnh ở nhiệt độ 4-7°C.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Hạn sử dụng:&lt;/strong&gt; 3 ngày kể từ ngày mở bao bì.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Giá trị dinh dưỡng (trên 100g):&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Năng lượng: 1057,9 kJ/257,2 kcal&lt;/li&gt;&lt;li&gt;Chất béo: 26,80 g&lt;/li&gt;&lt;li&gt;Carbohydrate: 1,15 g&lt;/li&gt;&lt;li&gt;Chất xơ: 2,86 g&lt;/li&gt;&lt;li&gt;Protein: 1,34 g&lt;/li&gt;&lt;li&gt;Muối: 2,00 g&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Gợi ý sử dụng:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;- Salad (Xà lách): Trộn với salad rau củ, dưa chuột, cà chua bi, và phô mai Feta để cân bằng vị mặn.&lt;br&gt;- Pizza &amp;amp; Sandwich: Cho oliu cắt lát lên trên pizza hoặc kẹp vào sandwich, bánh mì để tăng hương vị.&lt;br&gt;- Đĩa Cold Cut (Thịt nguội &amp;amp; Phô mai): Oliu ngâm là thành phần không thể thiếu trong các đĩa phô mai, thịt nguội xông khói, ăn kèm bánh mì giòn.&lt;br&gt;- Món chính: Xào chung với nui/mỳ Ý, cá nướng (như cá tầm, cá tuyết), hoặc làm topping cho thịt heo nướng.&lt;br&gt;- Ăn trực tiếp/Khai vị: Dùng ngay như món ăn vặt, có thể trộn với chút dầu ô liu, thảo mộc, hoặc tỏi để tăng hương vị.&lt;br&gt;- Món chay: Kho quẹt với nấm và rau cải.&amp;nbsp;&lt;/p&gt;, images=[/uploads/1774260259234_oliu_100g.jpg], categoryId=[690042733e8fc8c2692722d4], defaultPrice=0, variants=[Variant(id=2313fc88-ca5d-414a-8fc1-6c55aa535d94, productId=69c1102374a45733a39fad1f, size=100, price=200000, instock=true, unit=gram)], removedImages=null, removedVariantIds=null, language=SITEMAP.XML, translations=[], hasOtherTranslations=true, inStock=true), ProductDto(id=69c12f5574a45733a39fad20, name=Pomodori Secchi, description=&lt;p&gt;&lt;strong&gt;Thông tin sản phẩm:&amp;nbsp;&lt;/strong&gt;&lt;br&gt;- Thương hiệu: Fiordelisi&amp;nbsp;&lt;br&gt;- Cà chua sấy khô - Công thức vùng Puglia.&lt;br&gt;- Được phơi khô dưới nắng vùng Puglia theo phương pháp truyền thống, tẩm ướp với kinh giới và tỏi, tạo nên sự cân bằng hương vị hoàn hảo. Thích hợp ăn riêng hoặc dùng làm nguyên liệu cho nhiều món ngon.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Thành phần:&amp;nbsp;&lt;/strong&gt;&lt;br&gt;Cà chua phơi khô 94,3%, dầu ô liu nguyên chất 2,4%, muối, đậu phộng, kinh giới. Chất điều chỉnh độ axit: axit lactic.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Hướng dẫn bảo quản:&lt;/strong&gt;&amp;nbsp;&lt;br&gt;- Bảo quản ở nơi khô ráo và thoáng mát (tránh xa nguồn nhiệt và ánh nắng trực tiếp).&amp;nbsp;&lt;br&gt;- Khi đã mở nắp, hãy bảo quản trong tủ lạnh với nhiệt độ 4-7 °C&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Hạn sử dụng:&lt;/strong&gt; 3 ngày kể từ ngày mở bao b.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Giá trị dinh dưỡng (trên 100g):&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Năng lượng: 350 kJ/83,6 kcal&lt;/li&gt;&lt;li&gt;Chất béo: 2,58 g&lt;/li&gt;&lt;li&gt;Carbohydrate: 11,8 g&lt;/li&gt;&lt;li&gt;Chất xơ: 4,4 g&lt;/li&gt;&lt;li&gt;Protein: 1,1 g&lt;/li&gt;&lt;li&gt;Muối: 2,5 g&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Gợi ý sử dụng:&amp;nbsp;&lt;/strong&gt;&lt;br&gt;- Tăng hương vị cho nước sốt: thêm độ đậm đà và phong phú cho nước sốt mì Ý, món hầm và súp.&amp;nbsp;&lt;br&gt;- Lớp phủ cao cấp: hoàn hảo cho pizza, bruschetta, hoặc làm lớp phủ cho salad.&amp;nbsp;&lt;br&gt;- Món khai vị tuyệt vời: dùng chúng như một phần của đĩa antipasto với phô mai, ô liu và bánh mì giòn.&lt;br&gt;&amp;nbsp;&lt;/p&gt;, images=[/uploads/1774268245369_IMG_2758.jpeg], categoryId=[], defaultPrice=0, variants=[Variant(id=d983eb2b-72c3-46d7-8c84-15e6a36304fe, productId=69c12f5574a45733a39fad20, size=100, price=200000, instock=true, unit=gram)], removedImages=null, removedVariantIds=null, language=SITEMAP.XML, translations=[], hasOtherTranslations=true, inStock=true)]">
            </div>

            <nav aria-label="Page navigation" class="mt-4">
                <ul class="pagination justify-content-center" id="pagination" style="gap: 8px;"></ul>
            </nav>

        </div>
    </section>
    <section class="production-process-section">
        <div class="production-process-container container">
            <div class="production-process-content d-flex flex-column align-items-center">
                <div class="production-process-title d-flex flex-column align-items-center text-center fw-bolder">
                    <div>Production Process <br>of Concentrated Tomato Products</div>
                    <div class="line"></div>
                </div>
                <div class="production-process-detail position-relative d-flex align-items-center w-100">
                    <div class="image-content w-100">
                        <img src="/image/6f4d1574c1b8da33ab0c9054f07e42fafd367a56.png" alt="">
                    </div>
                    <div class="section-text position-absolute">
                        <div class="text-content d-flex align-items-center">
                            <div class="title-number fw-bolder">01</div>
                            <div class="detail-content d-flex flex-column">
                                <div class="fw-bolder">Receiving and Sorting</div>
                                <div class="fw-normal">Fresh tomatoes are transported to the factory and fed into the initial sorting system: defective fruits, soil, stones, and impurities are removed through inspection gates, optical scanners, conveyor belts, and manual checks</div>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="production-process-detail position-relative d-flex align-items-center w-100">
                    <div class="image-content w-100">
                        <img src="/image/3a2cdd2d7576198b2e7617c83f84a97ae6ccac9a.png" alt=""></div>
                    <div class="section-text position-absolute">
                        <div class="text-content d-flex align-items-center">
                            <div class="title-number fw-bolder">02</div>
                            <div class="detail-content d-flex flex-column">
                                <div class="fw-bolder">Washing</div>
                                <div class="fw-normal">After sorting, the tomatoes are washed with clean water to remove any remaining dirt</div>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="production-process-detail position-relative d-flex align-items-center w-100">
                    <div class="image-content w-100">
                        <img src="/image/1ee44764fd19e3eddfa06d167a7bab0fd10f969f.png" alt="">
                    </div>
                    <div class="section-text position-absolute">
                        <div class="text-content d-flex align-items-center">
                            <div class="title-number fw-bolder">03</div>
                            <div class="detail-content d-flex flex-column">
                                <div class="fw-bolder">Heat Pre-treatment and Cutting/Crushing</div>
                                <div class="fw-normal">Hot Break: crushed at 85–100 °C to produce a smooth, thick product, used for ketchup or lightly concentrated products (28–30° Brix).<br>Cold Break: crushed at 65–75 °C to preserve flavor and nutrients, used for highly concentrated products (36-38� Brix).</div>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="production-process-detail position-relative d-flex align-items-center w-100">
                    <div class="image-content w-100">
                        <img src="/image/f87d90ad85799eac87e2798c1d3a696b1b023da2.png" alt="">
                    </div>
                    <div class="section-text position-absolute">
                        <div class="text-content d-flex align-items-center">
                            <div class="title-number fw-bolder">04</div>
                            <div class="detail-content d-flex flex-column">
                                <div class="fw-bolder">Extraction and Pulp Removal</div>
                                <div class="fw-normal">After crushing, the tomatoes are fed into the &#39;passatrice&#39; and &#39;raffinatrice&#39; machines to separate the juice, remove skins and seeds, and collect the extracted liquid/pulpy juice</div>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="production-process-detail position-relative d-flex align-items-center w-100">
                    <div class="image-content w-100">
                        <img src="/image/ff38eb69534a8911fe63bfe9e2f0b2c695632f5e.png" alt="">
                    </div>
                    <div class="section-text position-absolute">
                        <div class="text-content d-flex align-items-center">
                            <div class="title-number fw-bolder">05</div>
                            <div class="detail-content d-flex flex-column">
                                <div class="fw-bolder">Concentration</div>
                                <div class="fw-normal">The juice is pumped into a multi-stage evaporator under reduced pressure to preserve flavor and nutrients. The process occurs in stages to achieve the desired concentration (e.g., 36% Brix for triple concentration).</div>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="production-process-detail position-relative d-flex align-items-center w-100">
                    <div class="image-content w-100">
                        <img src="/image/9b2744d87da0b3e1afce7464bbc252624fcde9c4.png" alt="">
                    </div>
                    <div class="section-text position-absolute">
                        <div class="text-content d-flex align-items-center">
                            <div class="title-number fw-bolder">06</div>
                            <div class="detail-content d-flex flex-column">
                                <div class="fw-bolder">Sterilization and Packaging</div>
                                <div class="fw-normal">The concentrated product is sterilized (pasteurization or aseptic) according to requirements, then packaged into cans, tins, sterile bags, or bulk containers, ensuring food hygiene and safety.</div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </section>
    <section class="our-products-section" style="margin-top: 100px">
        <div class="our-product-container container">
            <div class="text-center fw-bold" style="margin-bottom: 48px;font-weight: 600;font-size: 32px;line-height: 48px;">Our Products</div>
            <div class="d-flex justify-content-center flex-wrap" style="gap: 28px">
                <div class="d-flex flex-column" style="gap: 28px; width: 180px">
                    <div class="d-flex flex-column align-items-center" style="gap: 16px">
                        <div style="width: 100px">
                            <img src="/image/image_164.png" alt="">
                        </div>
                        <div class="text-center fw-bold" style="font-size: 20px;line-height: 24px;">Protecting Your Health</div>
                    </div>
                    <div class="text-center" style="font-weight: 400;font-size: 14px;line-height: 24px;">The cultivation methods practiced on Fiordelisi farms are modern, yet always respect the land.</div>
                </div>
                <div class="straight-line d-none d-sm-block"
                     style="border-left: 1.5px solid rgba(44, 110, 31, 1)"></div>
                <div class="d-flex flex-column" style="gap: 28px; width: 180px">
                    <div class="d-flex flex-column align-items-center" style="gap: 16px">
                        <div style="width: 100px">
                            <img src="/image/image_165.png" alt="">
                        </div>
                        <div class="text-center fw-bold" style="font-size: 20px;line-height: 24px;">Only the Salt and Sun of Puglia</div>
                    </div>
                    <div class="text-center" style="font-weight: 400;font-size: 14px;line-height: 24px;">Each type of vegetable is processed, depending on its nature, using specific procedures and preservation methods.</div>
                </div>
                <div class="straight-line d-none d-md-block"
                     style="border-left: 1.5px solid rgba(44, 110, 31, 1)"></div>
                <div class="d-flex flex-column" style="gap: 28px; width: 180px">
                    <div class="d-flex flex-column align-items-center" style="gap: 16px">
                        <div style="width: 100px">
                            <img src="/image/image_166.png" alt="">
                        </div>
                        <div class="text-center fw-bold" style="font-size: 20px;line-height: 24px;">Tradition and Innovation</div>
                    </div>
                    <div class="text-center" style="font-weight: 400;font-size: 14px;line-height: 24px;">Quality, authenticity, respect, yet also creativity, through the development of new products.</div>
                </div>
                <div class="straight-line d-none d-sm-block d-md-none d-lg-block"
                     style="border-left: 1.5px solid rgba(44, 110, 31, 1)"></div>
                <div class="d-flex flex-column" style="gap: 28px; width: 180px">
                    <div class="d-flex flex-column align-items-center" style="gap: 16px">
                        <div style="width: 100px">
                            <img src="/image/image_167.png" alt="">
                        </div>
                        <div class="text-center fw-bold" style="font-size: 20px;line-height: 24px;">From Farm to Table</div>
                    </div>
                    <div class="text-center" style="font-weight: 400;font-size: 14px;line-height: 24px;">Fiordelisi directly oversees the cultivation of tomatoes and vegetables with full control over the entire supply chain, from seed selection to the finished product.</div>
                </div>
            </div>
        </div>
    </section>
</div>
</main>

<footer class="footer d-flex flex-column" style="margin-top:100px">

    <!-- Contact Section -->
    <section class="contact text-center w-100 ps-5 pe-5 bg-transparent"
             style="padding: 60px 20px; margin-bottom:40px">

        <h1 class="mb-3">Contact Us</h1>
        <p>Always ready to support and advise you on the best products</p>
        <div class="form-group d-flex flex-wrap gap-3 align-items-center justify-content-center">
            <input type="email" placeholder="Enter your email here">
            <button type="button" class="btn btn-outline-success"
                    style="border-radius:12px;">Send</button>
        </div>
    </section>


    <section class="footer-section" style="background-color: #2C6E1F;">
        <div class="d-flex container footer-content" style="padding: 52px 0; gap:50px">
            <div class="contact-footer d-flex flex-column" style="gap: 16px">
                <div class="d-flex" style="width: 165px;height: 99px;">
                    <img src="/image/logo.png" alt="">
                </div>
                <div class="text-footer d-flex flex-column" style="gap: 10px"><div>Fiordelisi</div><div>Distributor: VITALY FOOD COMPANY LIMITED</div><div>Address: 64 Nguyen Xuan Khoat Street, An Hai Ward, Da Nang City</div><div>Contact: 085 795 8866</div><div>Email: vitaly.import@gmail.com</div></div>
            </div>
            <div class="policy-footer d-flex flex-column" style="gap: 10px">
                <div>Privacy Policy</div>
                <div>Payment Policy</div>
                <div>Return &amp; Exchange Policy</div>
            </div>
            <div class="certificate-footer d-flex flex-column" style="width: 300px; gap: 24px;">
                <div class="d-flex flex-column" style="gap: 10px"><div>Business Registration Certificate No.: 0402273550</div><div>First issued on: April 24, 2025 by the Department of Finance of Da Nang City</div></div>
                <div style="width: 185px; height: 71px">
                    <img src="/image/certifi.png" alt="">
                </div>
            </div>
        </div>
        <div style="border-top: 1px solid #FFFFFF; padding: 11px 0;" class="text-center">© Copyright belongs to Fiordelisi | Powered by VITALY VIETNAM</div>
    </section>
</footer>

<!-- Bootstrap JS -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
<script>
    document.addEventListener('DOMContentLoaded', function () {
        const links = document.querySelectorAll('.lang-switch');
        links.forEach(function (link) {
            link.addEventListener('click', function (e) {
                e.preventDefault();
                const lang = this.getAttribute('data-lang');
                const url = new URL(window.location.href);
                const segments = url.pathname.split('/').filter(Boolean);
                if (segments.length === 0) {
                    segments.unshift(lang);
                } else {
                    if (segments[0] === 'en' || segments[0] === 'vi') {
                        segments[0] = lang;
                    } else {
                        segments.unshift(lang);
                    }
                }
                url.pathname = '/' + segments.join('/');
                window.location.assign(url.toString());
            });
        });
    });
     document.addEventListener("DOMContentLoaded", function() {
      const sections = document.querySelectorAll(".hero-wrapper");

      sections.forEach(section => {
        const desc = section.querySelector(".hero-description");
        const btn = section.querySelector(".toggle-desc");

        function checkScreenSize() {
          if (window.innerWidth <= 1024) {
            btn.style.display = "inline-block";
          } else {
            btn.style.display = "none";
            desc.classList.remove("expanded");
          }
        }

        btn.addEventListener("click", function() {
          desc.classList.toggle("expanded");
          btn.textContent = desc.classList.contains("expanded")
            ? "Read less"
            : "Read more";
        });

        checkScreenSize();
        window.addEventListener("resize", checkScreenSize);
      });
    });

    function toggleDescription(btn) {
    const card = btn.closest(".product-card");
    const img = card.querySelector(".product-image");
    const desc = card.querySelector(".product-description");

    if (desc.classList.contains("active")) {

        desc.classList.remove("active");
        img.classList.remove("hidden");
        btn.textContent = "+";
    } else {

        desc.classList.add("active");
        img.classList.add("hidden");
        btn.textContent = "-";
    }
}

    document.querySelectorAll(".price-value").forEach(el => {
      const value = parseInt(el.textContent.replace(/[^\d]/g, ""));
      if (!isNaN(value)) el.textContent = value.toLocaleString("vi-VN");
    });

    document.addEventListener("DOMContentLoaded", () => {
      const select = document.getElementById("categorySelect");
      if (select) {
        select.addEventListener("change", e => {
          const url = e.target.value;
          if (url) window.location.href = url;
        });
      }
    });
    document.addEventListener("DOMContentLoaded", () => {
      const track = document.querySelector('.hero-track');
      const banners = document.querySelectorAll('.hero-wrapper');
      const dots = document.querySelectorAll('.hero-indicators .dot');
      const heroSection = document.querySelector('.hero-section');
      let current = 0;
      let interval;

      function showBanner(index) {
        track.style.transform = `translateX(-${index * 100}%)`;
        dots.forEach((d, i) => d.classList.toggle('active', i === index));
        current = index;
      }

      function nextBanner() {
        showBanner((current + 1) % banners.length);
      }

      function prevBanner() {
        showBanner((current - 1 + banners.length) % banners.length);
      }

      function startAuto() {
        interval = setInterval(nextBanner, 5000);
      }

      function stopAuto() {
        clearInterval(interval);
      }

      // Dot click
      dots.forEach((dot, i) => {
        dot.addEventListener('click', () => showBanner(i));
      });

      // Hover pause
      heroSection.addEventListener('mouseenter', stopAuto);
      heroSection.addEventListener('mouseleave', startAuto);


      let startX = 0;
      heroSection.addEventListener('mousedown', e => (startX = e.clientX));
      heroSection.addEventListener('mouseup', e => {
        const diff = e.clientX - startX;
        if (Math.abs(diff) > 50) diff < 0 ? nextBanner() : prevBanner();
      });

      showBanner(0);
      startAuto();
    });



    // Chờ DOM load
    window.addEventListener('DOMContentLoaded', () => {
        const container = document.querySelector('.product-title');
        if (!container) return;

        const lang = container.dataset.lang;
        const currentPage = parseInt(container.dataset.currentPage, 10) || 0;
        const pageSize = parseInt(container.dataset.pageSize, 10) || 32;


        const prevLink = document.querySelector('.icon.position-absolute.start-0 a');
        if (prevLink) {
            prevLink.addEventListener('click', (e) => {
                e.preventDefault();
                const newPage = currentPage - 1;
                window.location.href = `/${lang}?page=${newPage}&size=${pageSize}`;
            });
        }

        // Xử lý click next
        const nextLink = document.querySelector('.icon.position-absolute.end-0 a');
        if (nextLink) {
            nextLink.addEventListener('click', (e) => {
                e.preventDefault();
                const newPage = currentPage + 1;
                window.location.href = `/${lang}?page=${newPage}&size=${pageSize}`;
            });
        }

        const pageLinks = document.querySelectorAll('.pagination .page-link');
        pageLinks.forEach(link => {
            link.addEventListener('click', (e) => {
                e.preventDefault();
                const targetPage = parseInt(link.getAttribute('href').match(/page=(\d+)/)[1], 10);
                window.location.href = `/${lang}?page=${targetPage}&size=${pageSize}`;
            });
        });
    });

</script>


<div id="mini-cart-overlay"></div>
<div id="mini-cart">
    <div class="mini-cart-header d-flex justify-content-between align-items-center">
        <h5>Shopping Cart</h5>
        <button id="close-cart" class="btn-close"></button>
    </div>
    <div id="mini-cart-content" class="mt-3"></div>
    <div class="d-flex flex-column mini-cart-footer mt-4" style="gap:20px">
        <div class="d-flex justify-content-between mb-2">
            <span>Subtotal :</span>
            <span id="mini-cart-subtotal" style="color:#2C6E1F;font-weight: 600">0 VNĐ</span>
        </div>
        <button id="checkout-btn" class="btn btn-success w-100 rounded-pill"></button>
    </div>
</div>

<script src="/js/lang.js"></script>
<script>
    const cartIcon = document.getElementById("cart-icon");
    const miniCart = document.getElementById("mini-cart");
    const overlay = document.getElementById("mini-cart-overlay");
    const closeCartBtn = document.getElementById("close-cart");
    const cartCount = document.getElementById("cart-count");
    const miniCartContent = document.getElementById("mini-cart-content");
    const checkoutBtn = document.getElementById("checkout-btn");

    checkoutBtn.textContent = t("checkOut");
    function getLangFromURL() {
        const path = window.location.pathname.split("/").filter(Boolean);
        return path[0] === "vi" || path[0] === "en" ? path[0] : "vi";
    }
    document.addEventListener("DOMContentLoaded", () => {
        // const cartIcon = document.querySelector(".fa-cart-shopping");
        const miniCart = document.querySelector(".mini-cart");
        const overlay = document.querySelector(".overlay");

        const pathParts = window.location.pathname.split("/");
        const lastPart = pathParts[pathParts.length - 1];
        const isCartPage = lastPart === "cart" || lastPart === "cart.html";

        if (cartIcon) {
            if (isCartPage) {
                cartIcon.style.pointerEvents = "none";
                cartIcon.style.opacity = "0.6";
                cartIcon.style.cursor = "not-allowed";

            } else {
                cartIcon.addEventListener("click", () => {
                    renderMiniCart();
                    miniCart.classList.add("active");
                    overlay.classList.add("active");
                });
            }
        }
    });

    function getCart() {
        try {
            const raw = localStorage.getItem("cart");
            if (!raw || raw === "null" || raw === "undefined") return [];
            const parsed = JSON.parse(raw);
            if (!Array.isArray(parsed)) return [];
            return parsed.filter(
                (item) =>
                    item != null &&
                    typeof item === "object" &&
                    typeof item.id === "string" &&
                    typeof item.variantId === "string" &&
                    typeof item.quantity === "number"
            );
        } catch (e) {
            console.warn(e);
            return [];
        }
    }

    function saveCart(cart) {
        try {
            if (!Array.isArray(cart) || cart.length === 0) {
                localStorage.removeItem("cart");
                return;
            }
            localStorage.setItem("cart", JSON.stringify(cart));
        } catch (e) {
            console.error("❌ Không thể lưu giỏ hàng:", e);
        }
    }

    function renderMiniCart() {
        const cart = getCart();
        cartCount.textContent = cart.length; // số loại sản phẩm
        const subtotalEl = miniCart.querySelector("#mini-cart-subtotal");

        if (cart.length === 0) {
            let emptyCartText = t("cartStaus");

            miniCartContent.innerHTML = `<p>${emptyCartText}</p>`;
            if (subtotalEl) subtotalEl.textContent = "0 VNĐ";
            return;
        }
        let lang = window.location.pathname.split("/")[1] || "vi";
        let subtotal = 0;
        miniCartContent.innerHTML = cart
            .map(
                (item, index) => {
                    const itemTotal = item.price * item.quantity;
                    subtotal += itemTotal;
                    return `

                              <div class="cart-item" data-index="${index}">
                                <img src="${item.image}" alt="${item.name}">
                                <div class="info flex-grow-1">
                                <a href="/${lang}/product/${item.id}">
                                  <div class="name" style="color:#2C6E1F">${item.name}</div>
                                  </a>
                                  <div class="variant">${item.variantText}</div>
                                  <div class="d-flex align-items-center gap-2 mt-1">
                                    <button class="btn btn-sm btn-outline-secondary minus">−</button>
                                    <span class="quantity" style="text-align: center">${item.quantity}</span>
                                    <button class="btn btn-sm btn-outline-secondary plus">+</button>
                                  </div>
                                  <div class="price mt-1" style="white-space: nowrap;font-size: 22px">${itemTotal.toLocaleString("vi-VN")} VNĐ</div>
                                </div>
                                <button class="btn btn-sm btn-outline-danger delete" title="Xóa sản phẩm" style="height: 10%">
                                  <i class="fa-solid fa-trash"></i>
                                </button>
                              </div>

                        `;
                }
            )
            .join("");


        if (subtotalEl) {
            subtotalEl.textContent = subtotal.toLocaleString("vi-VN") + "Đ";
        }

        attachMiniCartEvents();
    }

    function attachMiniCartEvents() {
        miniCartContent.querySelectorAll(".minus").forEach((btn) => {
            btn.addEventListener("click", () => {
                const index = btn.closest(".cart-item").dataset.index;
                updateQuantity(index, -1);
            });
        });

        miniCartContent.querySelectorAll(".plus").forEach((btn) => {
            btn.addEventListener("click", () => {
                const index = btn.closest(".cart-item").dataset.index;
                updateQuantity(index, 1);
            });
        });

        miniCartContent.querySelectorAll(".delete").forEach((btn) => {
            btn.addEventListener("click", () => {
                const index = btn.closest(".cart-item").dataset.index;
                removeProduct(index);
            });
        });
    }

    function updateQuantity(index, delta) {
        const cart = getCart();
        if (!cart[index]) return;

        const subtotalEl = miniCart.querySelector("#mini-cart-subtotal");
        const newQuantity = Math.max(0, cart[index].quantity + delta);

        if (newQuantity === 0) {
            cart.splice(index, 1);
            saveCart(cart);
            renderMiniCart();
        } else {
            cart[index].quantity = newQuantity;
            saveCart(cart);

            const cartItem = miniCartContent.querySelector(`.cart-item[data-index="${index}"]`);
            if (cartItem) {
                const quantityEl = cartItem.querySelector(".quantity");
                const priceEl = cartItem.querySelector(".price");
                quantityEl.textContent = newQuantity;
                priceEl.textContent = (cart[index].price * newQuantity).toLocaleString("vi-VN") + "VNĐ";

                let subtotal = 0;
                cart.forEach(item => {
                    subtotal += item.price * item.quantity;
                });
                if (subtotalEl) {
                    subtotalEl.textContent = subtotal.toLocaleString("vi-VN") + "VNĐ";
                }
            }

            cartCount.textContent = cart.length;
        }
    }

    function removeProduct(index) {
        const cart = getCart();
        cart.splice(index, 1);
        saveCart(cart);
        renderMiniCart();
    }

    cartIcon.addEventListener("click", () => {
        renderMiniCart();
        miniCart.classList.add("active");
        overlay.classList.add("active");
    });

    closeCartBtn.addEventListener("click", () => {
        miniCart.classList.remove("active");
        overlay.classList.remove("active");
    });

    overlay.addEventListener("click", () => {
        miniCart.classList.remove("active");
        overlay.classList.remove("active");
    });


    checkoutBtn.addEventListener("click", () => {
        const lang = getLangFromURL();
        window.location.href = `/${lang}/cart`;
    });

    document.addEventListener("DOMContentLoaded", () => {
        const cart = getCart();
        cartCount.textContent = cart.length;
    });

    function updateCartCount() {
        const cartCount = document.getElementById("cart-count");
        if (!cartCount) return;

        const cart = getCart();
        const count = cart.length;

        if (count > 0) {
            cartCount.textContent = count;
            cartCount.style.display = "flex";
        } else {
            cartCount.style.display = "none";
        }
    }

    (function () {
        if (document.readyState === "loading") {
            document.addEventListener("DOMContentLoaded", updateCartCount);
        } else {
            updateCartCount();
        }
    })();

    document.addEventListener("DOMContentLoaded", function () {
        const currentPath = window.location.pathname; // ví dụ: /en/products
        const navItems = document.querySelectorAll("#navbarWebsite .navbar-nav .nav-item");

        navItems.forEach(item => {
            const link = item.querySelector(".nav-link");
            if (!link) return;
            const href = link.getAttribute("href");

            if (!href) return;

            if (href === "/" + currentPath.split("/")[1]) {
                if (currentPath === href || currentPath === href + "/") {
                    item.classList.add("active");
                    link.classList.add("active");
                }
            }
            else if (currentPath.startsWith(href)) {
                item.classList.add("active");
                link.classList.add("active");
            }
        });
    });

</script>


    <script>
        /*<![CDATA[*/
        var products = "[{\"id\":\"69ba690074a45733a39fad19\",\"name\":\"Sun dried tomatoes in sunflower oil\",\"description\":\"<p><strong>Th\u00F4ng tin s\u1EA3n ph\u1EA9m:\u0026nbsp;<\/strong><\/p><p>- Th\u01B0\u01A1ng hi\u1EC7u: Fiordelisi\u0026nbsp;<br>- C\u00E0 chua ph\u01A1i n\u1EAFng trong d\u1EA7u h\u01B0\u1EDBng d\u01B0\u01A1ng - h\u1ED9p nh\u1EF1a. H\u01B0\u01A1ng v\u1ECB mi\u1EC1n Nam n\u01B0\u1EDBc \u00DD .<br>- Gi\u00E0u ch\u1EA5t ch\u1ED1ng oxy h\u00F3a: C\u00E0 chua ph\u01A1i n\u1EAFng l\u00E0 ngu\u1ED3n cung c\u1EA5p ch\u1EA5t ch\u1ED1ng oxy h\u00F3a d\u1ED3i d\u00E0o, kh\u00F4ng ch\u1EC9 ngon mi\u1EC7ng, \u0111\u1EADm \u0111\u00E0 m\u00E0 c\u00F2n l\u00E0 m\u1ED9t th\u1EF1c ph\u1EA9m b\u1ED5 sung l\u00E0nh m\u1EA1nh cho ch\u1EBF \u0111\u1ED9 \u0103n u\u1ED1ng c\u1EE7a b\u1EA1n.<\/p><p><strong>Th\u00E0nh ph\u1EA7n:<\/strong>\u0026nbsp;<br>C\u00E0 chua ph\u01A1i kh\u00F4 57%, d\u1EA7u h\u01B0\u1EDBng d\u01B0\u01A1ng 47%, mu\u1ED1i, t\u1ECFi, m\u00F9i t\u00E2y, h\u00FAng qu\u1EBF, ti\u00EAu \u0111en, gi\u1EA5m r\u01B0\u1EE3u tr\u1EAFng.<\/p><p><strong>H\u01B0\u1EDBng d\u1EABn b\u1EA3o qu\u1EA3n:\u0026nbsp;<\/strong><br>B\u1EA3o qu\u1EA3n \u1EDF n\u01A1i kh\u00F4 r\u00E1o v\u00E0 tho\u00E1ng m\u00E1t (tr\u00E1nh xa ngu\u1ED3n nhi\u1EC7t v\u00E0 \u00E1nh n\u1EAFng tr\u1EF1c ti\u1EBFp).\u0026nbsp;<br>Khi \u0111\u00E3 m\u1EDF n\u1EAFp, h\u00E3y b\u1EA3o qu\u1EA3n trong t\u1EE7 l\u1EA1nh v\u1EDBi nhi\u1EC7t \u0111\u1ED9 4-7 \u00B0C<\/p><p><strong>H\u1EA1n s\u1EED d\u1EE5ng:<\/strong> 21 ng\u00E0y k\u1EC3 t\u1EEB ng\u00E0y m\u1EDF n\u1EAFp.<\/p><p><strong>Gi\u00E1 tr\u1ECB dinh d\u01B0\u1EE1ng (tr\u00EAn 100g):\u0026nbsp;<\/strong><\/p><ul><li>N\u0103ng l\u01B0\u1EE3ng: 233,3 kcal \/ 970,9 kJ\u0026nbsp;<\/li><li>Carbohydrate: 20,28 g\u0026nbsp;<\/li><li>Protein: 3,8 g\u0026nbsp;<\/li><li>Ch\u1EA5t b\u00E9o: 13,5 g\u0026nbsp;<\/li><li>Ch\u1EA5t x\u01A1: 7.56 g\u0026nbsp;<\/li><li>Mu\u1ED1i: 1,5 g\u0026nbsp;<\/li><\/ul><p><strong>G\u1EE3i \u00FD s\u1EED d\u1EE5ng:<\/strong>\u0026nbsp;<br>- T\u0103ng h\u01B0\u01A1ng v\u1ECB cho n\u01B0\u1EDBc s\u1ED1t: th\u00EAm \u0111\u1ED9 \u0111\u1EADm \u0111\u00E0 v\u00E0 phong ph\u00FA cho n\u01B0\u1EDBc s\u1ED1t m\u00EC \u00DD, m\u00F3n h\u1EA7m v\u00E0 s\u00FAp.\u0026nbsp;<br>- L\u1EDBp ph\u1EE7 cao c\u1EA5p: ho\u00E0n h\u1EA3o cho pizza, bruschetta, ho\u1EB7c l\u00E0m l\u1EDBp ph\u1EE7 cho salad.\u0026nbsp;<br>- M\u00F3n khai v\u1ECB tuy\u1EC7t v\u1EDDi: d\u00F9ng ch\u00FAng nh\u01B0 m\u1ED9t ph\u1EA7n c\u1EE7a \u0111\u0129a antipasto v\u1EDBi ph\u00F4 mai, \u00F4 liu v\u00E0 b\u00E1nh m\u00EC gi\u00F2n.<\/p>\",\"images\":[\"\/uploads\/1775192146145_1760587985173_fe2f1d2012ad710185958bb34f9c842c247e43b8.png\",\"\/uploads\/1775190077328_1760587985173_fe2f1d2012ad710185958bb34f9c842c247e43b8.png\"],\"categoryId\":[\"690042733e8fc8c2692722d4\"],\"defaultPrice\":12,\"variants\":[{\"id\":\"7612295e-b65f-4d94-967e-eeab3df0ee01\",\"productId\":\"69ba690074a45733a39fad19\",\"size\":960,\"price\":500000,\"instock\":true,\"unit\":\"gram\"}],\"removedImages\":null,\"removedVariantIds\":null,\"language\":\"SITEMAP.XML\",\"translations\":[],\"hasOtherTranslations\":true,\"inStock\":true},{\"id\":\"69ba6bbf74a45733a39fad1a\",\"name\":\"Medium Pomodori\",\"description\":\"<p><strong>Th\u00F4ng tin s\u1EA3n ph\u1EA9m:\u0026nbsp;<\/strong><\/p><p>- Th\u01B0\u01A1ng hi\u1EC7u: Fiordelisi<br>- S\u1EA3n xu\u1EA5t t\u1EA1i: \u00DD<br>- C\u00E0 chua ng\u00E2m trong l\u1ECD th\u1EE7y tinh.<br>- C\u00E0 chua s\u1EA1ch 100% thi\u00EAn nhi\u00EAn, kh\u00F4ng ph\u1EE5 gia, c\u00F2n nguy\u00EAn l\u1EDBp v\u1ECF h\u1EA1t, \u0111\u1EA3m b\u1EA3o v\u1EC7 sinh th\u1EF1c ph\u1EA9m.<\/p><p><strong>Th\u00E0nh ph\u1EA7n:<\/strong><\/p><p>C\u00E0 chua ph\u01A1i kh\u00F4 63%, d\u1EA7u h\u01B0\u1EDBng d\u01B0\u01A1ng, d\u1EA7u \u00F4 liu nguy\u00EAn ch\u1EA5t 2%, mu\u1ED1i, gi\u1EA5m r\u01B0\u1EE3u tr\u1EAFng, t\u1ECFi, kinh gi\u1EDBi, ti\u00EAu \u0111en.<\/p><p><strong>H\u01B0\u1EDBng d\u1EABn b\u1EA3o qu\u1EA3n:<\/strong><br><strong>- <\/strong>B\u1EA3o qu\u1EA3n \u1EDF n\u01A1i kh\u00F4 r\u00E1o v\u00E0 tho\u00E1ng m\u00E1t. Tr\u00E1nh xa ngu\u1ED3n nhi\u1EC7t v\u00E0 \u00E1nh n\u1EAFng tr\u1EF1c ti\u1EBFp.<br>- Khi \u0111\u00E3 m\u1EDF n\u1EAFp, h\u00E3y b\u1EA3o qu\u1EA3n trong t\u1EE7 l\u1EA1nh v\u1EDBi nhi\u1EC7t \u0111\u1ED9 4-7 \u00B0C<br><br><strong>H\u1EA1n s\u1EED d\u1EE5ng:<\/strong> 7 ng\u00E0y k\u1EC3 t\u1EEB ng\u00E0y m\u1EDF n\u1EAFp.<\/p><p><strong>Gi\u00E1 tr\u1ECB dinh d\u01B0\u1EE1ng (tr\u00EAn 100g):<\/strong><\/p><ul><li>N\u0103ng l\u01B0\u1EE3ng: 175 kcal \/ 731 kJ<\/li><li>Carbohydrate: 19,8 g<\/li><li>Protein: 4,8 g<\/li><li>Ch\u1EA5t b\u00E9o: 6,3 g<\/li><li>Ch\u1EA5t x\u01A1: 9, g<\/li><li>Mu\u1ED1i: 2,17 g<\/li><\/ul><p><strong>G\u1EE3i \u00FD s\u1EED d\u1EE5ng:\u0026nbsp;<\/strong><br>- T\u0103ng h\u01B0\u01A1ng v\u1ECB cho n\u01B0\u1EDBc s\u1ED1t: th\u00EAm \u0111\u1ED9 \u0111\u1EADm \u0111\u00E0 v\u00E0 phong ph\u00FA cho n\u01B0\u1EDBc s\u1ED1t m\u00EC \u00DD, m\u00F3n h\u1EA7m v\u00E0 s\u00FAp.\u0026nbsp;<br>- L\u1EDBp ph\u1EE7 cao c\u1EA5p: ho\u00E0n h\u1EA3o cho pizza, bruschetta, ho\u1EB7c l\u00E0m l\u1EDBp ph\u1EE7 cho salad.\u0026nbsp;<br>- M\u00F3n khai v\u1ECB tuy\u1EC7t v\u1EDDi: d\u00F9ng ch\u00FAng nh\u01B0 m\u1ED9t ph\u1EA7n c\u1EE7a \u0111\u0129a antipasto v\u1EDBi ph\u00F4 mai, \u00F4 liu v\u00E0 b\u00E1nh m\u00EC gi\u00F2n.<\/p>\",\"images\":[\"\/uploads\/1773824959525_do.jpg\"],\"categoryId\":[\"690042733e8fc8c2692722d4\"],\"defaultPrice\":0,\"variants\":[{\"id\":\"6f37ebbb-e3f7-43c5-9c50-20a69c231ada\",\"productId\":\"69ba6bbf74a45733a39fad1a\",\"size\":530,\"price\":400000,\"instock\":true,\"unit\":\"gram\"}],\"removedImages\":null,\"removedVariantIds\":null,\"language\":\"SITEMAP.XML\",\"translations\":[],\"hasOtherTranslations\":true,\"inStock\":true},{\"id\":\"69bd2ca974a45733a39fad1b\",\"name\":\"Bella di Cerignola Green Olives\",\"description\":\"<p><strong>Th\u00F4ng tin s\u1EA3n ph\u1EA9m:\u0026nbsp;<\/strong><\/p><p>- Th\u01B0\u01A1ng hi\u1EC7u: Fiordelisi\u0026nbsp;<br>- \u00D4 liu xanh Bella di Cerignola - h\u1ED9p nh\u1EF1a.\u0026nbsp; M\u1ED9t \u0111\u1EB7c s\u1EA3n c\u1EE7a mi\u1EC1n Nam n\u01B0\u1EDBc \u00DD<br>- \u00D4 liu c\u1EE7a ch\u00FAng t\u00F4i \u0111\u01B0\u1EE3c l\u1EF1a ch\u1ECDn c\u1EA9n th\u1EADn t\u1EEB v\u00F9ng \u0111\u1EA5t m\u00E0u m\u1EE1 c\u1EE7a Cerignola, \u0111\u1EA3m b\u1EA3o ch\u1EC9 nh\u1EEFng qu\u1EA3 ch\u1EA5t l\u01B0\u1EE3ng t\u1ED1t nh\u1EA5t m\u1EDBi \u0111\u1EBFn \u0111\u01B0\u1EE3c b\u00E0n \u0103n c\u1EE7a b\u1EA1n.<br>- Ch\u1EE9a nhi\u1EC1u ch\u1EA5t b\u00E9o l\u00E0nh m\u1EA1nh, vitamin v\u00E0 ch\u1EA5t ch\u1ED1ng oxy h\u00F3a, \u00F4 liu Bella di Cerignola kh\u00F4ng ch\u1EC9 ngon m\u00E0 c\u00F2n l\u00E0 m\u1ED9t b\u1ED5 sung dinh d\u01B0\u1EE1ng cho ch\u1EBF \u0111\u1ED9 \u0103n u\u1ED1ng c\u1EE7a b\u1EA1n.<\/p><p><strong>Th\u00E0nh ph\u1EA7n:<\/strong>\u0026nbsp;<br>\u00D4 liu xanh Bella di Cerignola 6%, n\u01B0\u1EDBc mu\u1ED1i 38%, n\u01B0\u1EDBc, mu\u1ED1i, ch\u1EA5t \u0111i\u1EC1u ch\u1EC9nh \u0111\u1ED9 axit.<\/p><p><strong>H\u01B0\u1EDBng d\u1EABn b\u1EA3o qu\u1EA3n:\u0026nbsp;<\/strong><br>B\u1EA3o qu\u1EA3n \u1EDF n\u01A1i kh\u00F4 r\u00E1o v\u00E0 tho\u00E1ng m\u00E1t (tr\u00E1nh xa ngu\u1ED3n nhi\u1EC7t v\u00E0 \u00E1nh n\u1EAFng tr\u1EF1c ti\u1EBFp).\u0026nbsp;<br>Khi \u0111\u00E3 m\u1EDF n\u1EAFp, h\u00E3y b\u1EA3o qu\u1EA3n trong t\u1EE7 l\u1EA1nh v\u1EDBi nhi\u1EC7t \u0111\u1ED9 4-7 \u00B0C<\/p><p><strong>H\u1EA1n s\u1EED d\u1EE5ng:<\/strong> 14 ng\u00E0y k\u1EC3 t\u1EEB ng\u00E0y m\u1EDF n\u1EAFp.<\/p><p><strong>Gi\u00E1 tr\u1ECB dinh d\u01B0\u1EE1ng (tr\u00EAn 100g):\u0026nbsp;<\/strong><\/p><ul><li>N\u0103ng l\u01B0\u1EE3ng: 145 kcal \/ 600 kJ\u0026nbsp;<\/li><li>Carbohydrate: 4,5 g\u0026nbsp;<\/li><li>Protein: 1,0 g\u0026nbsp;<\/li><li>Ch\u1EA5t b\u00E9o: 13 g\u0026nbsp;<\/li><li>Ch\u1EA5t x\u01A1: 3,2 g\u0026nbsp;<\/li><li>Mu\u1ED1i: 5,0 g\u0026nbsp;<\/li><\/ul><p><strong>G\u1EE3i \u00FD s\u1EED d\u1EE5ng:<\/strong>\u0026nbsp;<br>- M\u00F3n khai v\u1ECB: d\u00F9ng k\u00E8m v\u1EDBi b\u00E1nh m\u00EC t\u01B0\u01A1i, ph\u00F4 mai v\u00E0 th\u1ECBt ngu\u1ED9i cho m\u00F3n khai v\u1ECB ki\u1EC3u \u00DD truy\u1EC1n th\u1ED1ng.\u0026nbsp;<br>- Salad: th\u00EAm v\u00E0o c\u00E1c m\u00F3n salad \u0110\u1ECBa Trung H\u1EA3i \u0111\u1EC3 t\u0103ng th\u00EAm h\u01B0\u01A1ng v\u1ECB v\u00E0 \u0111\u1ED9 gi\u00F2n.\u0026nbsp;<br>- N\u1EA5u \u0103n: k\u1EBFt h\u1EE3p v\u00E0o c\u00E1c m\u00F3n m\u00EC \u00DD, tapenade, ho\u1EB7c \u0111\u01A1n gi\u1EA3n l\u00E0 th\u01B0\u1EDFng th\u1EE9c ch\u00FAng nh\u01B0 m\u1ED9t m\u00F3n \u0103n nh\u1EB9 l\u00E0nh m\u1EA1nh.<\/p>\",\"images\":[\"\/uploads\/1774005417693_oliu_1000g.png\"],\"categoryId\":[\"690042733e8fc8c2692722d4\"],\"defaultPrice\":0,\"variants\":[{\"id\":\"f5ee7d56-6ea1-4272-bfac-b917595d266b\",\"productId\":\"69bd2ca974a45733a39fad1b\",\"size\":1000,\"price\":500000,\"instock\":true,\"unit\":\"gram\"}],\"removedImages\":null,\"removedVariantIds\":null,\"language\":\"SITEMAP.XML\",\"translations\":[],\"hasOtherTranslations\":true,\"inStock\":true},{\"id\":\"69bd313f74a45733a39fad1c\",\"name\":\"Small Pomodori\",\"description\":\"<p><strong>Th\u00F4ng tin s\u1EA3n ph\u1EA9m:\u0026nbsp;<\/strong><\/p><p>- Th\u01B0\u01A1ng hi\u1EC7u: Fiordelisi<br>- S\u1EA3n xu\u1EA5t t\u1EA1i: \u00DD<br>- C\u00E0 chua ng\u00E2m trong l\u1ECD th\u1EE7y tinh.<br>- C\u00E0 chua s\u1EA1ch 100% thi\u00EAn nhi\u00EAn, kh\u00F4ng ph\u1EE5 gia, c\u00F2n nguy\u00EAn l\u1EDBp v\u1ECF h\u1EA1t, \u0111\u1EA3m b\u1EA3o v\u1EC7 sinh th\u1EF1c ph\u1EA9m.<\/p><p><strong>Th\u00E0nh ph\u1EA7n:<\/strong><\/p><p>C\u00E0 chua ph\u01A1i kh\u00F4 63%, d\u1EA7u h\u01B0\u1EDBng d\u01B0\u01A1ng, d\u1EA7u \u00F4 liu nguy\u00EAn ch\u1EA5t 2%, mu\u1ED1i, gi\u1EA5m r\u01B0\u1EE3u tr\u1EAFng, t\u1ECFi, kinh gi\u1EDBi, ti\u00EAu \u0111en.<\/p><p><strong>H\u01B0\u1EDBng d\u1EABn b\u1EA3o qu\u1EA3n:<\/strong><br><strong>-\u0026nbsp;<\/strong>B\u1EA3o qu\u1EA3n \u1EDF n\u01A1i kh\u00F4 r\u00E1o v\u00E0 tho\u00E1ng m\u00E1t. Tr\u00E1nh xa ngu\u1ED3n nhi\u1EC7t v\u00E0 \u00E1nh n\u1EAFng tr\u1EF1c ti\u1EBFp.<br>- Khi \u0111\u00E3 m\u1EDF n\u1EAFp, h\u00E3y b\u1EA3o qu\u1EA3n trong t\u1EE7 l\u1EA1nh v\u1EDBi nhi\u1EC7t \u0111\u1ED9 4-7 \u00B0C<br><br><strong>H\u1EA1n s\u1EED d\u1EE5ng:<\/strong> 7 ng\u00E0y k\u1EC3 t\u1EEB ng\u00E0y m\u1EDF n\u1EAFp.<\/p><p><strong>Gi\u00E1 tr\u1ECB dinh d\u01B0\u1EE1ng (tr\u00EAn 100g):<\/strong><\/p><ul><li>N\u0103ng l\u01B0\u1EE3ng: 175 kcal \/ 731 kJ<\/li><li>Carbohydrate: 19,8 g<\/li><li>Protein: 4,8 g<\/li><li>Ch\u1EA5t b\u00E9o: 6,3 g<\/li><li>Ch\u1EA5t x\u01A1: 9, g<\/li><li>Mu\u1ED1i: 2,17 g<\/li><\/ul><p><strong>G\u1EE3i \u00FD s\u1EED d\u1EE5ng:\u0026nbsp;<\/strong><br>- T\u0103ng h\u01B0\u01A1ng v\u1ECB cho n\u01B0\u1EDBc s\u1ED1t: th\u00EAm \u0111\u1ED9 \u0111\u1EADm \u0111\u00E0 v\u00E0 phong ph\u00FA cho n\u01B0\u1EDBc s\u1ED1t m\u00EC \u00DD, m\u00F3n h\u1EA7m v\u00E0 s\u00FAp.\u0026nbsp;<br>- L\u1EDBp ph\u1EE7 cao c\u1EA5p: ho\u00E0n h\u1EA3o cho pizza, bruschetta, ho\u1EB7c l\u00E0m l\u1EDBp ph\u1EE7 cho salad.\u0026nbsp;<br>- M\u00F3n khai v\u1ECB tuy\u1EC7t v\u1EDDi: d\u00F9ng ch\u00FAng nh\u01B0 m\u1ED9t ph\u1EA7n c\u1EE7a \u0111\u0129a antipasto v\u1EDBi ph\u00F4 mai, \u00F4 liu v\u00E0 b\u00E1nh m\u00EC gi\u00F2n.<\/p>\",\"images\":[\"\/uploads\/1774006591942_pomo_280.png\"],\"categoryId\":[\"690042733e8fc8c2692722d4\"],\"defaultPrice\":0,\"variants\":[{\"id\":\"ff420df6-56e4-4e72-a0c1-f10ad2ed160a\",\"productId\":\"69bd313f74a45733a39fad1c\",\"size\":280,\"price\":250000,\"instock\":true,\"unit\":\"gram\"}],\"removedImages\":null,\"removedVariantIds\":null,\"language\":\"SITEMAP.XML\",\"translations\":[],\"hasOtherTranslations\":true,\"inStock\":true},{\"id\":\"69c0f85d74a45733a39fad1d\",\"name\":\"Marinati Artichokes\",\"description\":\"<p><strong>Th\u00F4ng tin s\u1EA3n ph\u1EA9m:<\/strong><br>- Th\u01B0\u01A1ng hi\u1EC7u: Fiordelisi<br>- Atis\u00F4 ng\u00E2m gia v\u1ECB - C\u00F4ng th\u1EE9c v\u00F9ng Puglia.<br>- \u0110\u01B0\u1EE3c tr\u1ED3ng d\u01B0\u1EDBi \u00E1nh n\u1EAFng m\u1EB7t tr\u1EDDi c\u1EE7a Puglia, nh\u1EEFng mi\u1EBFng atis\u00F4 m\u1EC1m n\u00E0y s\u1EBD mang l\u1EA1i h\u01B0\u01A1ng v\u1ECB th\u01A1m ngon cho c\u00E1c m\u00F3n \u0103n c\u1EE7a b\u1EA1n.<br>- Gi\u00E0u vitamin, kho\u00E1ng ch\u1EA5t v\u00E0 ch\u1EA5t ch\u1ED1ng oxy h\u00F3a, atis\u00F4 l\u00E0 m\u1ED9t m\u00F3n \u0103n l\u00E0nh m\u1EA1nh v\u00E0 ngon mi\u1EC7ng, c\u00F3 th\u1EC3 th\u00EAm v\u00E0o b\u1EA5t k\u1EF3 b\u1EEFa \u0103n n\u00E0o.<\/p><p><strong>Th\u00E0nh ph\u1EA7n:<\/strong><br>Atis\u00F4 93%, d\u1EA7u \u00F4 liu nguy\u00EAn ch\u1EA5t 34%, gi\u1EA5m r\u01B0\u1EE3u tr\u1EAFng, t\u1ECFi, mu\u1ED1i, kinh gi\u1EDBi, rau m\u00F9i t\u00E2y, ch\u1EA5t \u0111i\u1EC1u ch\u1EC9nh \u0111\u1ED9 axit: axit citric<\/p><p><strong>H\u01B0\u1EDBng d\u1EABn b\u1EA3o qu\u1EA3n:<\/strong><\/p><p>- B\u1EA3o qu\u1EA3n n\u01A1i kh\u00F4 r\u00E1o, tho\u00E1ng m\u00E1t (tr\u00E1nh nhi\u1EC7t v\u00E0 \u00E1nh n\u1EAFng tr\u1EF1c ti\u1EBFp).<br>- Sau khi m\u1EDF, b\u1EA3o qu\u1EA3n l\u1EA1nh \u1EDF nhi\u1EC7t \u0111\u1ED9 4-7\u00B0C.<\/p><p><strong>H\u1EA1n s\u1EED d\u1EE5ng:<\/strong> 3 ng\u00E0y k\u1EC3 t\u1EEB ng\u00E0y m\u1EDF bao b\u00EC.<\/p><p><strong>Gi\u00E1 tr\u1ECB dinh d\u01B0\u1EE1ng (tr\u00EAn 100g):<\/strong><\/p><ul><li>N\u0103ng l\u01B0\u1EE3ng: 263,07 kJ \/ 63,52 kcal<\/li><li>Ch\u1EA5t b\u00E9o: 3,6 g<\/li><li>Carbohydrate: 2,72 g<\/li><li>Ch\u1EA5t x\u01A1: 4,75 g<\/li><li>Protein: 2,69 g<\/li><li>Mu\u1ED1i: 1,5 g<\/li><\/ul><p><strong>G\u1EE3i \u00FD s\u1EED d\u1EE5ng:<\/strong><br>- M\u00F3n khai v\u1ECB: D\u00F9ng k\u00E8m v\u1EDBi b\u00E1nh m\u00EC gi\u00F2n v\u00E0 c\u00E1c lo\u1EA1i ph\u00F4 mai \u00DD \u0111\u1EC3 c\u00F3 m\u00F3n khai v\u1ECB truy\u1EC1n th\u1ED1ng.<br>- M\u00F3n ch\u00EDnh: Th\u00EAm v\u00E0o m\u00EC \u00DD, c\u01A1m risotto ho\u1EB7c th\u1ECBt n\u01B0\u1EDBng \u0111\u1EC3 t\u0103ng th\u00EAm h\u01B0\u01A1ng v\u1ECB.<br>- Salad: Tr\u1ED9n v\u00E0o salad \u0111\u1EC3 th\u00EAm h\u01B0\u01A1ng v\u1ECB th\u01A1m ngon v\u00E0 b\u1ED5 d\u01B0\u1EE1ng.<\/p>\",\"images\":[\"\/uploads\/1774254173697_marinatin_atiso.jpg\"],\"categoryId\":[\"690042733e8fc8c2692722d4\"],\"defaultPrice\":0,\"variants\":[{\"id\":\"01e782b5-539b-4e07-a64f-5b0e567e7618\",\"productId\":\"69c0f85d74a45733a39fad1d\",\"size\":100,\"price\":200000,\"instock\":true,\"unit\":\"gram\"}],\"removedImages\":null,\"removedVariantIds\":null,\"language\":\"SITEMAP.XML\",\"translations\":[],\"hasOtherTranslations\":true,\"inStock\":true},{\"id\":\"69c1099574a45733a39fad1e\",\"name\":\"Grigliati Artichokes\",\"description\":\"<p><strong>Th\u00F4ng tin s\u1EA3n ph\u1EA9m:<\/strong><br>- Th\u01B0\u01A1ng hi\u1EC7u: Fiordelisi<br>- Atis\u00F4 n\u01B0\u1EDBng - C\u00F4ng th\u1EE9c v\u00F9ng Puglia.<br>- \u0110\u01B0\u1EE3c tr\u1ED3ng d\u01B0\u1EDBi \u00E1nh n\u1EAFng m\u1EB7t tr\u1EDDi c\u1EE7a Puglia, h\u01B0\u01A1ng v\u1ECB t\u1EEB qu\u00E1 tr\u00ECnh n\u01B0\u1EDBng mang l\u1EA1i cho atis\u00F4 v\u1ECB \u0111\u1EADm \u0111\u00E0, r\u1EA5t th\u00EDch h\u1EE3p \u0111\u1EC3 k\u1EBFt h\u1EE3p v\u1EDBi c\u00E1c lo\u1EA1i th\u1EA3o m\u1ED9c v\u00E0 gia v\u1ECB, l\u00E0m t\u0103ng th\u00EAm h\u01B0\u01A1ng v\u1ECB th\u01A1m ngon.<\/p><p><strong>Th\u00E0nh ph\u1EA7n:<\/strong><br>Atis\u00F4 n\u01B0\u1EDBng 91,9%, d\u1EA7u \u00F4 liu nguy\u00EAn ch\u1EA5t 3,7%, gi\u1EA5m r\u01B0\u1EE3u tr\u1EAFng, mu\u1ED1i, t\u1ECFi, rau m\u00F9i t\u00E2y, h\u01B0\u01A1ng th\u1EA3o, kinh gi\u1EDBi, ti\u00EAu \u0111en. Ch\u1EA5t \u0111i\u1EC1u ch\u1EC9nh \u0111\u1ED9 axit: axit citric.<\/p><p><strong>H\u01B0\u1EDBng d\u1EABn b\u1EA3o qu\u1EA3n:<\/strong><br>- B\u1EA3o qu\u1EA3n n\u01A1i kh\u00F4 r\u00E1o, tho\u00E1ng m\u00E1t (tr\u00E1nh nhi\u1EC7t v\u00E0 \u00E1nh n\u1EAFng tr\u1EF1c ti\u1EBFp).<br>- Sau khi m\u1EDF, b\u1EA3o qu\u1EA3n l\u1EA1nh \u1EDF nhi\u1EC7t \u0111\u1ED9 4-7\u00B0C.<\/p><p><strong>H\u1EA1n s\u1EED d\u1EE5ng:<\/strong> 3 ng\u00E0y k\u1EC3 t\u1EEB ng\u00E0y m\u1EDF bao b\u00EC.<\/p><p><strong>Gi\u00E1 tr\u1ECB dinh d\u01B0\u1EE1ng (tr\u00EAn 100g):<\/strong><\/p><ul><li>N\u0103ng l\u01B0\u1EE3ng: 307,47 kJ\/74,21 kcal<\/li><li>Ch\u1EA5t b\u00E9o: 3,95 g<\/li><li>Carbohydrate: 3,35 g<\/li><li>Ch\u1EA5t x\u01A1: 5,95 g<\/li><li>Protein: 3,34 g<\/li><li>Mu\u1ED1i: 1,5g<\/li><\/ul><p><strong>G\u1EE3i \u00FD s\u1EED d\u1EE5ng:<\/strong><\/p><p>- M\u00F3n khai v\u1ECB: D\u00F9ng k\u00E8m v\u1EDBi b\u00E1nh m\u00EC gi\u00F2n v\u00E0 c\u00E1c lo\u1EA1i ph\u00F4 mai \u00DD \u0111\u1EC3 c\u00F3 m\u00F3n khai v\u1ECB truy\u1EC1n th\u1ED1ng.<br>- M\u00F3n ch\u00EDnh: Th\u00EAm v\u00E0o m\u00EC \u00DD, c\u01A1m risotto ho\u1EB7c th\u1ECBt n\u01B0\u1EDBng \u0111\u1EC3 t\u0103ng th\u00EAm h\u01B0\u01A1ng v\u1ECB.<\/p><ul><li>S\u1ED1t b\u01A1 chanh: V\u1ECB b\u00E9o c\u1EE7a b\u01A1 v\u00E0 chua nh\u1EB9 c\u1EE7a chanh l\u00E0m n\u1ED5i b\u1EADt h\u01B0\u01A1ng v\u1ECB \u0111\u1EB7c tr\u01B0ng c\u1EE7a b\u00F4ng atiso.<\/li><li>D\u1EA7u oliu v\u00E0 th\u1EA3o m\u1ED9c: N\u01B0\u1EDBng c\u00F9ng d\u1EA7u oliu, t\u1ECFi, ho\u1EB7c th\u1EA3o m\u1ED9c kh\u00F4 (nh\u01B0 c\u1ECF x\u1EA1 h\u01B0\u01A1ng) t\u1EA1o m\u00F9i th\u01A1m h\u1EA5p d\u1EABn.<\/li><li>S\u1ED1t Mayonnaise\/S\u1ED1t kem: K\u1EBFt h\u1EE3p khi \u0103n c\u00F9ng salad ho\u1EB7c ph\u1EBFt l\u00EAn b\u00E1nh m\u00EC.<\/li><li>M\u00F3n ph\u1EE5: C\u00F3 th\u1EC3 \u0103n k\u00E8m v\u1EDBi khoai t\u00E2y, c\u00E0 r\u1ED1t n\u01B0\u1EDBng, ho\u1EB7c th\u1ECBt cua.\u0026nbsp;<\/li><\/ul>\",\"images\":[\"\/uploads\/1774258581968_Grigliati_atiso.jpg\"],\"categoryId\":[\"690042733e8fc8c2692722d4\"],\"defaultPrice\":0,\"variants\":[{\"id\":\"34b874e2-5c98-4868-b461-b6285c14320c\",\"productId\":\"69c1099574a45733a39fad1e\",\"size\":100,\"price\":200000,\"instock\":true,\"unit\":\"gram\"}],\"removedImages\":null,\"removedVariantIds\":null,\"language\":\"SITEMAP.XML\",\"translations\":[],\"hasOtherTranslations\":true,\"inStock\":true},{\"id\":\"69c1102374a45733a39fad1f\",\"name\":\"Selezione di Olive\",\"description\":\"<p><strong>Th\u00F4ng tin s\u1EA3n ph\u1EA9m:<\/strong><br>- Th\u01B0\u01A1ng hi\u1EC7u: Fiordelisi<br>- Oliu - C\u00F4ng th\u1EE9c v\u00F9ng Puglia.<br>- Leccino, Peranzana v\u00E0 Nocellara \u2013 ba gi\u1ED1ng \u00F4 liu \u0111\u1EB7c tr\u01B0ng c\u1EE7a mi\u1EC1n Nam n\u01B0\u1EDBc \u00DD \u2013 l\u00E0 nh\u1EEFng lo\u1EA1i \u00F4 liu t\u1EA1o n\u00EAn h\u1ED7n h\u1EE3p ho\u00E0n h\u1EA3o cho m\u00F3n khai v\u1ECB.<\/p><p><strong>Th\u00E0nh ph\u1EA7n:<\/strong><br>\u00D4 liu h\u1ED7n h\u1EE3p kh\u00F4ng h\u1EA1t (Nocellara, Peranzana, Leccino) 89,3%, d\u1EA7u \u00F4 liu nguy\u00EAn ch\u1EA5t 7,4%, mu\u1ED1i, t\u1ECFi, \u1EDBt, rau m\u00F9i t\u00E2y, kinh gi\u1EDBi, h\u01B0\u01A1ng th\u1EA3o, ch\u1EA5t \u0111i\u1EC1u ch\u1EC9nh \u0111\u1ED9 axit: axit lactic.<\/p><p><strong>H\u01B0\u1EDBng d\u1EABn b\u1EA3o qu\u1EA3n:<\/strong><br>- B\u1EA3o qu\u1EA3n n\u01A1i kh\u00F4 r\u00E1o, tho\u00E1ng m\u00E1t (tr\u00E1nh nhi\u1EC7t v\u00E0 \u00E1nh n\u1EAFng tr\u1EF1c ti\u1EBFp).<br>- Sau khi m\u1EDF, b\u1EA3o qu\u1EA3n l\u1EA1nh \u1EDF nhi\u1EC7t \u0111\u1ED9 4-7\u00B0C.<\/p><p><strong>H\u1EA1n s\u1EED d\u1EE5ng:<\/strong> 3 ng\u00E0y k\u1EC3 t\u1EEB ng\u00E0y m\u1EDF bao b\u00EC.<\/p><p><strong>Gi\u00E1 tr\u1ECB dinh d\u01B0\u1EE1ng (tr\u00EAn 100g):<\/strong><\/p><ul><li>N\u0103ng l\u01B0\u1EE3ng: 1057,9 kJ\/257,2 kcal<\/li><li>Ch\u1EA5t b\u00E9o: 26,80 g<\/li><li>Carbohydrate: 1,15 g<\/li><li>Ch\u1EA5t x\u01A1: 2,86 g<\/li><li>Protein: 1,34 g<\/li><li>Mu\u1ED1i: 2,00 g<\/li><\/ul><p><strong>G\u1EE3i \u00FD s\u1EED d\u1EE5ng:<\/strong><\/p><p>- Salad (X\u00E0 l\u00E1ch): Tr\u1ED9n v\u1EDBi salad rau c\u1EE7, d\u01B0a chu\u1ED9t, c\u00E0 chua bi, v\u00E0 ph\u00F4 mai Feta \u0111\u1EC3 c\u00E2n b\u1EB1ng v\u1ECB m\u1EB7n.<br>- Pizza \u0026amp; Sandwich: Cho oliu c\u1EAFt l\u00E1t l\u00EAn tr\u00EAn pizza ho\u1EB7c k\u1EB9p v\u00E0o sandwich, b\u00E1nh m\u00EC \u0111\u1EC3 t\u0103ng h\u01B0\u01A1ng v\u1ECB.<br>- \u0110\u0129a Cold Cut (Th\u1ECBt ngu\u1ED9i \u0026amp; Ph\u00F4 mai): Oliu ng\u00E2m l\u00E0 th\u00E0nh ph\u1EA7n kh\u00F4ng th\u1EC3 thi\u1EBFu trong c\u00E1c \u0111\u0129a ph\u00F4 mai, th\u1ECBt ngu\u1ED9i x\u00F4ng kh\u00F3i, \u0103n k\u00E8m b\u00E1nh m\u00EC gi\u00F2n.<br>- M\u00F3n ch\u00EDnh: X\u00E0o chung v\u1EDBi nui\/m\u1EF3 \u00DD, c\u00E1 n\u01B0\u1EDBng (nh\u01B0 c\u00E1 t\u1EA7m, c\u00E1 tuy\u1EBFt), ho\u1EB7c l\u00E0m topping cho th\u1ECBt heo n\u01B0\u1EDBng.<br>- \u0102n tr\u1EF1c ti\u1EBFp\/Khai v\u1ECB: D\u00F9ng ngay nh\u01B0 m\u00F3n \u0103n v\u1EB7t, c\u00F3 th\u1EC3 tr\u1ED9n v\u1EDBi ch\u00FAt d\u1EA7u \u00F4 liu, th\u1EA3o m\u1ED9c, ho\u1EB7c t\u1ECFi \u0111\u1EC3 t\u0103ng h\u01B0\u01A1ng v\u1ECB.<br>- M\u00F3n chay: Kho qu\u1EB9t v\u1EDBi n\u1EA5m v\u00E0 rau c\u1EA3i.\u0026nbsp;<\/p>\",\"images\":[\"\/uploads\/1774260259234_oliu_100g.jpg\"],\"categoryId\":[\"690042733e8fc8c2692722d4\"],\"defaultPrice\":0,\"variants\":[{\"id\":\"2313fc88-ca5d-414a-8fc1-6c55aa535d94\",\"productId\":\"69c1102374a45733a39fad1f\",\"size\":100,\"price\":200000,\"instock\":true,\"unit\":\"gram\"}],\"removedImages\":null,\"removedVariantIds\":null,\"language\":\"SITEMAP.XML\",\"translations\":[],\"hasOtherTranslations\":true,\"inStock\":true},{\"id\":\"69c12f5574a45733a39fad20\",\"name\":\"Pomodori Secchi\",\"description\":\"<p><strong>Th\u00F4ng tin s\u1EA3n ph\u1EA9m:\u0026nbsp;<\/strong><br>- Th\u01B0\u01A1ng hi\u1EC7u: Fiordelisi\u0026nbsp;<br>- C\u00E0 chua s\u1EA5y kh\u00F4 - C\u00F4ng th\u1EE9c v\u00F9ng Puglia.<br>- \u0110\u01B0\u1EE3c ph\u01A1i kh\u00F4 d\u01B0\u1EDBi n\u1EAFng v\u00F9ng Puglia theo ph\u01B0\u01A1ng ph\u00E1p truy\u1EC1n th\u1ED1ng, t\u1EA9m \u01B0\u1EDBp v\u1EDBi kinh gi\u1EDBi v\u00E0 t\u1ECFi, t\u1EA1o n\u00EAn s\u1EF1 c\u00E2n b\u1EB1ng h\u01B0\u01A1ng v\u1ECB ho\u00E0n h\u1EA3o. Th\u00EDch h\u1EE3p \u0103n ri\u00EAng ho\u1EB7c d\u00F9ng l\u00E0m nguy\u00EAn li\u1EC7u cho nhi\u1EC1u m\u00F3n ngon.<\/p><p><strong>Th\u00E0nh ph\u1EA7n:\u0026nbsp;<\/strong><br>C\u00E0 chua ph\u01A1i kh\u00F4 94,3%, d\u1EA7u \u00F4 liu nguy\u00EAn ch\u1EA5t 2,4%, mu\u1ED1i, \u0111\u1EADu ph\u1ED9ng, kinh gi\u1EDBi. Ch\u1EA5t \u0111i\u1EC1u ch\u1EC9nh \u0111\u1ED9 axit: axit lactic.<\/p><p><strong>H\u01B0\u1EDBng d\u1EABn b\u1EA3o qu\u1EA3n:<\/strong>\u0026nbsp;<br>- B\u1EA3o qu\u1EA3n \u1EDF n\u01A1i kh\u00F4 r\u00E1o v\u00E0 tho\u00E1ng m\u00E1t (tr\u00E1nh xa ngu\u1ED3n nhi\u1EC7t v\u00E0 \u00E1nh n\u1EAFng tr\u1EF1c ti\u1EBFp).\u0026nbsp;<br>- Khi \u0111\u00E3 m\u1EDF n\u1EAFp, h\u00E3y b\u1EA3o qu\u1EA3n trong t\u1EE7 l\u1EA1nh v\u1EDBi nhi\u1EC7t \u0111\u1ED9 4-7 \u00B0C<\/p><p><strong>H\u1EA1n s\u1EED d\u1EE5ng:<\/strong> 3 ng\u00E0y k\u1EC3 t\u1EEB ng\u00E0y m\u1EDF bao b.<\/p><p><strong>Gi\u00E1 tr\u1ECB dinh d\u01B0\u1EE1ng (tr\u00EAn 100g):\u0026nbsp;<\/strong><\/p><ul><li>N\u0103ng l\u01B0\u1EE3ng: 350 kJ\/83,6 kcal<\/li><li>Ch\u1EA5t b\u00E9o: 2,58 g<\/li><li>Carbohydrate: 11,8 g<\/li><li>Ch\u1EA5t x\u01A1: 4,4 g<\/li><li>Protein: 1,1 g<\/li><li>Mu\u1ED1i: 2,5 g<\/li><\/ul><p><strong>G\u1EE3i \u00FD s\u1EED d\u1EE5ng:\u0026nbsp;<\/strong><br>- T\u0103ng h\u01B0\u01A1ng v\u1ECB cho n\u01B0\u1EDBc s\u1ED1t: th\u00EAm \u0111\u1ED9 \u0111\u1EADm \u0111\u00E0 v\u00E0 phong ph\u00FA cho n\u01B0\u1EDBc s\u1ED1t m\u00EC \u00DD, m\u00F3n h\u1EA7m v\u00E0 s\u00FAp.\u0026nbsp;<br>- L\u1EDBp ph\u1EE7 cao c\u1EA5p: ho\u00E0n h\u1EA3o cho pizza, bruschetta, ho\u1EB7c l\u00E0m l\u1EDBp ph\u1EE7 cho salad.\u0026nbsp;<br>- M\u00F3n khai v\u1ECB tuy\u1EC7t v\u1EDDi: d\u00F9ng ch\u00FAng nh\u01B0 m\u1ED9t ph\u1EA7n c\u1EE7a \u0111\u0129a antipasto v\u1EDBi ph\u00F4 mai, \u00F4 liu v\u00E0 b\u00E1nh m\u00EC gi\u00F2n.<br>\u0026nbsp;<\/p>\",\"images\":[\"\/uploads\/1774268245369_IMG_2758.jpeg\"],\"categoryId\":[],\"defaultPrice\":0,\"variants\":[{\"id\":\"d983eb2b-72c3-46d7-8c84-15e6a36304fe\",\"productId\":\"69c12f5574a45733a39fad20\",\"size\":100,\"price\":200000,\"instock\":true,\"unit\":\"gram\"}],\"removedImages\":null,\"removedVariantIds\":null,\"language\":\"SITEMAP.XML\",\"translations\":[],\"hasOtherTranslations\":true,\"inStock\":true}]";

        if (typeof products === "string") {
            try {
                products = JSON.parse(products);
            } catch (e) {
                console.error("Không thể parse JSON:", e, products);
                products = [];
            }
        }
        /*]]>*/
    </script>

    <!-- ========== SCRIPT pagination client-side ========== -->
    <script>


        document.addEventListener("DOMContentLoaded", () => {
            const paginationContainer = document.getElementById("pagination");
            const prevBtn = document.getElementById("prev-btn");
            const nextBtn = document.getElementById("next-btn");
            const path = window.location.pathname;
            const lang = path.split("/")[1];
            const validLangs = ["vi", "en"];
            if (!validLangs.includes(lang)) {
                const newUrl = `${window.location.origin}/vi`;
                window.location.replace(newUrl);
            } else {
                console.log("🌐 Current language:", lang);
            }

            if (!Array.isArray(products)) {
                console.error("Products is not an array:", products);
                products = [];
            }

            let currentPage = 0;
            let itemsPerPage = getItemsPerPage();

            function getItemsPerPage() {
                if (window.innerWidth >= 992) return 12; // Desktop
                if (window.innerWidth >= 768) return 8;  // Tablet
                return 4;                               // Mobile
            }
            function getFirstImage(product) {
                try {
                    if (product.images && product.images.length > 0) return product.images[0];
                } catch (e) { }
                return '/image/No_image_available.svg.webp';
            }

            function getbtn(lang) {
                if (lang === "en" || lang === "EN") {
                    return "Buy"
                }
                return "Mua"

            }

            function getPrice(product) {
                try {
                    if (product.variants && product.variants.length > 0)
                        return formatPrice(product.variants[0].price);
                } catch (e) {}
                return product.defaultPrice ? formatPrice(product.defaultPrice) : "Liên hệ";
            }

            function formatPrice(price) {
                if (typeof price !== 'number') {
                    price = parseFloat(price);
                    if (isNaN(price)) return "0 VNĐ";
                }

                const formatted = price.toLocaleString('vi-VN');
                return `${formatted} VNĐ`;
            }

            function escapeHtml(str) {
                if (typeof str !== 'string') return str == null ? '' : str;
                return str
                    .replace(/&/g, '&amp;')
                    .replace(/</g, '&lt;')
                    .replace(/>/g, '&gt;')
                    .replace(/"/g, '&quot;')
                    .replace(/'/g, '&#039;');
            }

            let lastDirection = 'next';

            function renderProducts() {
                const start = currentPage * itemsPerPage;
                const end = start + itemsPerPage;
                const currentProducts = products.slice(start, end);
                const direction = lastDirection === 'next' ? -1 : 1;

                const container = document.getElementById('product-list');
                if (!container) return;

                // Đảm bảo container có position để tránh layout shift
                container.style.position = 'relative';
                container.style.overflow = 'hidden';

                container.classList.add('slide-out');
                container.style.transform = `translateX(${direction * 20}px)`; // trượt nhẹ
                container.style.opacity = '0';

                setTimeout(() => {
                    container.innerHTML = currentProducts.map(product => `
                    <div class="product-content-col col-xs-6 col-sm-6 col-md-6 col-lg-4 col-xl-3">
                        <a href="${lang}/product/${product.id}" class="product-link text-decoration-none text-dark">
                            <div class="product-content-detail">
                                <div class="image-content">
                                    <div class="image-detail d-flex flex-column">
                                        <div class="icon d-flex justify-content-end">
                                            <i class="fa-solid fa-plus"></i>
                                        </div>
                                        <div class="image d-flex align-items-center justify-content-center">
                                            <div>
                                                <img src="${escapeHtml(getFirstImage(product))}"
                                                     alt="${escapeHtml(product.name || '')}" class="h-100">
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                <div class="text-content">
                                    <div class="text-detail d-flex flex-column fw-bolder">
                                        <div class="text-title">${escapeHtml(product.name || '')}</div>
                                        <div class="detail d-flex align-items-center justify-content-between">
                                            <div class="text-price">
                                                <span class="price-value">${escapeHtml(getPrice(product))}</span>
                                            </div>
                                            <div class="buy-btn">${getbtn(lang)}</div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </a>
                    </div>
        `).join('');

                    // Reset animation rồi fade-in mượt
                    container.style.transition = 'none';
                    container.style.transform = `translateX(${direction * -20}px)`;
                    container.offsetHeight; // force reflow
                    container.style.transition = 'transform 0.4s ease, opacity 0.4s ease';
                    container.style.transform = 'translateX(0)';
                    container.style.opacity = '1';
                }, 200);
            }


            function renderPagination() {
                paginationContainer.innerHTML = '';
                const totalPages = Math.max(1, Math.ceil(products.length / itemsPerPage));

                const maxVisible = 7;
                let startPage = 0;
                let endPage = totalPages - 1;

                if (totalPages > maxVisible) {
                    const around = 2;
                    startPage = Math.max(0, currentPage - around);
                    endPage = Math.min(totalPages - 1, currentPage + around);

                    if (startPage === 0) endPage = maxVisible - 1;
                    if (endPage === totalPages - 1) startPage = totalPages - maxVisible;
                }

                if (startPage > 0) {
                    paginationContainer.appendChild(makePageItem(0));
                    if (startPage > 1) paginationContainer.appendChild(makeEllipsis());
                }

                for (let i = startPage; i <= endPage; i++) {
                    paginationContainer.appendChild(makePageItem(i));
                }

                if (endPage < totalPages - 1) {
                    if (endPage < totalPages - 2) paginationContainer.appendChild(makeEllipsis());
                    paginationContainer.appendChild(makePageItem(totalPages - 1));
                }

                updateArrowButtons(totalPages);
            }

            function makePageItem(i) {
                const li = document.createElement('li');
                li.classList.add('page-item');
                if (i === currentPage) li.classList.add('active');

                const a = document.createElement('a');
                a.classList.add('page-link');
                a.href = '#';
                a.textContent = (i + 1);
                a.addEventListener('click', (e) => {
                    e.preventDefault();
                    if (i === currentPage) return;
                    currentPage = i;
                    renderProducts();
                    renderPagination();
                    scrollStay();
                });

                li.appendChild(a);
                return li;
            }

            function makeEllipsis() {
                const li = document.createElement('li');
                li.classList.add('page-item', 'disabled');
                const span = document.createElement('span');
                span.classList.add('page-link');
                span.style.padding = "4px 8px";
                span.textContent = '...';
                li.appendChild(span);
                return li;
            }

            function updateArrowButtons(totalPages) {
                prevBtn.style.visibility = currentPage === 0 ? 'hidden' : 'visible';
                nextBtn.style.visibility = currentPage >= totalPages - 1 ? 'hidden' : 'visible';
            }

            function scrollStay() {
                const sectionTop = document.querySelector('.product-section').offsetTop;
                window.scrollTo({ top: sectionTop, behavior: 'instant' });
            }

            // Gán sự kiện cho nút trái/phải
            prevBtn.addEventListener('click', () => {
                if (currentPage > 0) {
                    lastDirection = 'prev';
                    currentPage--;
                    renderProducts();
                    renderPagination();
                    scrollStay();
                }
            });

            nextBtn.addEventListener('click', () => {
                const totalPages = Math.ceil(products.length / itemsPerPage);
                if (currentPage < totalPages - 1) {
                    lastDirection = 'next';
                    currentPage++;
                    renderProducts();
                    renderPagination();
                    scrollStay();
                }
            });

            let resizeTimer = null;
            window.addEventListener('resize', () => {
                clearTimeout(resizeTimer);
                resizeTimer = setTimeout(() => {
                    const newSize = getItemsPerPage();
                    if (newSize !== itemsPerPage) {
                        itemsPerPage = newSize;
                        currentPage = 0;
                        renderProducts();
                        renderPagination();
                    }
                }, 150);
            });

            renderProducts();
            renderPagination();
        });
    </script>

</body>
</html>

